/[MITgcm]/MITgcm/model/src/timestep.F
ViewVC logotype

Diff of /MITgcm/model/src/timestep.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.9 by cnh, Mon Jun 8 21:43:02 1998 UTC revision 1.17 by adcroft, Mon Aug 30 18:25:33 1999 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2    
3  #include "CPP_EEOPTIONS.h"  #include "CPP_OPTIONS.h"
4    
5  C     /==========================================================\  C     /==========================================================\
6  C     | S/R TIMESTEP                                             |  C     | S/R TIMESTEP                                             |
# Line 8  C     | o Step model fields forward in t Line 8  C     | o Step model fields forward in t
8  C     \==========================================================/  C     \==========================================================/
9        SUBROUTINE TIMESTEP( bi, bj, iMin, iMax, jMin, jMax,        SUBROUTINE TIMESTEP( bi, bj, iMin, iMax, jMin, jMax,
10       I                     K,       I                     K,
11       I                     myThid )       I                     myIter, myThid )
12        implicit none        implicit none
13  ! Common  ! Common
14  #include "SIZE.h"  #include "SIZE.h"
15  #include "DYNVARS.h"  #include "DYNVARS.h"
16    #include "EEPARAMS.h"
17  #include "PARAMS.h"  #include "PARAMS.h"
18  #include "GRID.h"  #include "GRID.h"
19  C     == Routine Arguments ==  C     == Routine Arguments ==
20        INTEGER bi,bj,iMin,iMax,jMin,jMax        INTEGER bi,bj,iMin,iMax,jMin,jMax
21        INTEGER K        INTEGER K
22        INTEGER myThid        INTEGER myIter, myThid
23  C     == Local variables ==  C     == Local variables ==
24        INTEGER i,j        INTEGER i,j
25        _RL ab15,ab05        _RL ab15,ab05
26    
27  C     Adams-Bashforth timestepping weights  C     Adams-Bashforth timestepping weights
28        ab15=1.5+abeps  Caja  IF (myIter .EQ. 0) THEN
29        ab05=-0.5-abeps  Caja   ab15=1.0
30    Caja   ab05=0.0
31    Caja  ELSE
32           ab15=1.5+abeps
33           ab05=-0.5-abeps
34    Caja  ENDIF
35    
36  C     Step forward zonal velocity (store in Gu)  C     Step forward zonal velocity (store in Gu)
37         DO j=jMin,jMax         DO j=jMin,jMax
38          DO i=iMin,iMax          DO i=iMin,iMax
39           gUNm1(i,j,k,bi,bj)=uVel(i,j,k,bi,bj)           gUNm1(i,j,k,bi,bj)=uVel(i,j,k,bi,bj)
40       &    +deltaTmom*(ab15*gU(i,j,k,bi,bj)+ab05*gUNm1(i,j,k,bi,bj)       &    +deltaTmom*(ab15*gU(i,j,k,bi,bj)+ab05*gUNm1(i,j,k,bi,bj)
41  #ifdef ALLOW_CD  #ifdef INCLUDE_CD_CODE
42       &    +guCD(i,j,k,bi,bj)       &    +guCD(i,j,k,bi,bj)
43  #endif  #endif
44       &        )*_maskW(i,j,k,bi,bj)       &        )*_maskW(i,j,k,bi,bj)
45          ENDDO          ENDDO
46         ENDDO         ENDDO
47    
48  C     Step forward meridional velocity (store in Gv)  C     Step forward meridional velocity (store in Gv)
49         DO j=jMin,jMax         DO j=jMin,jMax
50          DO i=iMin,iMax          DO i=iMin,iMax
51           gVNm1(i,j,k,bi,bj)=vVel(i,j,k,bi,bj)           gVNm1(i,j,k,bi,bj)=vVel(i,j,k,bi,bj)
52       &    +deltaTmom*(ab15*gV(i,j,k,bi,bj)+ab05*gVNm1(i,j,k,bi,bj)       &    +deltaTmom*(ab15*gV(i,j,k,bi,bj)+ab05*gVNm1(i,j,k,bi,bj)
53  #ifdef ALLOW_CD  #ifdef INCLUDE_CD_CODE
54       &    +gvCD(i,j,k,bi,bj)       &    +gvCD(i,j,k,bi,bj)
55  #endif  #endif
56       &        )*_maskS(i,j,k,bi,bj)       &        )*_maskS(i,j,k,bi,bj)
57          ENDDO          ENDDO
58         ENDDO         ENDDO
59    
60  C     Step forward temperature  C     Step forward temperature
61          IF (tempStepping) THEN
62         DO j=jMin,jMax         DO j=jMin,jMax
63          DO i=iMin,iMax          DO i=iMin,iMax
64           theta(i,j,k,bi,bj)=theta(i,j,k,bi,bj)           gTNm1(i,j,k,bi,bj)=theta(i,j,k,bi,bj)
65       &    +deltaTtracer*(ab15*gT(i,j,k,bi,bj)+ab05*gTNm1(i,j,k,bi,bj))       &    +deltaTtracer*(ab15*gT(i,j,k,bi,bj)+ab05*gTNm1(i,j,k,bi,bj))
          gTNm1(i,j,k,bi,bj)=gT(i,j,k,bi,bj)  
66          ENDDO          ENDDO
67         ENDDO         ENDDO
68          ENDIF
69    
70    C     Step forward salt
71          IF (saltStepping) THEN
72           DO j=jMin,jMax
73            DO i=iMin,iMax
74             gSNm1(i,j,k,bi,bj)=salt(i,j,k,bi,bj)
75         &    +deltaTtracer*(ab15*gS(i,j,k,bi,bj)+ab05*gSNm1(i,j,k,bi,bj))
76            ENDDO
77           ENDDO
78          ENDIF
79    
80        RETURN        RETURN
81        END        END

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.17

  ViewVC Help
Powered by ViewVC 1.1.22