/[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.41 by jmc, Fri Sep 30 00:22:37 2005 UTC revision 1.42 by jmc, Sun Nov 6 22:19:08 2005 UTC
# Line 51  C     !LOCAL VARIABLES: Line 51  C     !LOCAL VARIABLES:
51  C     == Local variables ==  C     == Local variables ==
52        LOGICAL momForcing_In_AB        LOGICAL momForcing_In_AB
53        LOGICAL momDissip_In_AB        LOGICAL momDissip_In_AB
54          LOGICAL momStartAB
55        INTEGER i,j        INTEGER i,j
56        _RL ab15,ab05        _RL ab15,ab05
57        _RL phxFac,phyFac, psFac        _RL phxFac,phyFac, psFac
# Line 71  C    Allow diagnosis of external forcing Line 72  C    Allow diagnosis of external forcing
72  CEOP  CEOP
73    
74  C     Adams-Bashforth timestepping weights  C     Adams-Bashforth timestepping weights
75          momStartAB = nIter0.EQ.0
76        IF (myIter .EQ. 0) THEN        IF (myIter .EQ. 0) THEN
77         ab15=1.0         ab15=1.0
78         ab05=0.0         ab05=0.0
# Line 170  C--   Forcing term inside the Adams-Bash Line 172  C--   Forcing term inside the Adams-Bash
172        ENDIF        ENDIF
173    
174        IF (useCDscheme) THEN        IF (useCDscheme) THEN
175  C-     for CD-scheme, store gU,Vtmp = gU,V^n + forcing  C-     for CD-scheme, store gU,Vtmp = gU,V^n + dissip. + forcing
176          DO j=jMin,jMax          IF ( momViscosity .AND. .NOT.momDissip_In_AB ) THEN
177           DO i=iMin,iMax            DO j=jMin,jMax
178            gUtmp(i,j) = gU(i,j,k,bi,bj)             DO i=iMin,iMax
179            gVtmp(i,j) = gV(i,j,k,bi,bj)              gUtmp(i,j) = gU(i,j,k,bi,bj) + guDissip(i,j)
180           ENDDO              gVtmp(i,j) = gV(i,j,k,bi,bj) + gvDissip(i,j)
181          ENDDO             ENDDO
182              ENDDO
183            ELSE
184              DO j=jMin,jMax
185               DO i=iMin,iMax
186                gUtmp(i,j) = gU(i,j,k,bi,bj)
187                gVtmp(i,j) = gV(i,j,k,bi,bj)
188               ENDDO
189              ENDDO
190            ENDIF
191        ENDIF        ENDIF
192    
193  C-    Compute effective gU,gV_[n+1/2] terms (including Adams-Bashforth weights)  C-    Compute effective gU,gV_[n+1/2] terms (including Adams-Bashforth weights)
# Line 185  C     and save gU,gV_[n] into guNm1,gvNm Line 196  C     and save gU,gV_[n] into guNm1,gvNm
196        CALL ADAMS_BASHFORTH3(        CALL ADAMS_BASHFORTH3(
197       I                        bi, bj, k,       I                        bi, bj, k,
198       U                        gU, guNm,       U                        gU, guNm,
199       I                        myIter, myThid )       I                        momStartAB, myIter, myThid )
200        CALL ADAMS_BASHFORTH3(        CALL ADAMS_BASHFORTH3(
201       I                        bi, bj, k,       I                        bi, bj, k,
202       U                        gV, gvNm,       U                        gV, gvNm,
203       I                        myIter, myThid )       I                        momStartAB, myIter, myThid )
204  #else /* ALLOW_ADAMSBASHFORTH_3 */  #else /* ALLOW_ADAMSBASHFORTH_3 */
205        CALL ADAMS_BASHFORTH2(        CALL ADAMS_BASHFORTH2(
206       I                        bi, bj, k,       I                        bi, bj, k,

Legend:
Removed from v.1.41  
changed lines
  Added in v.1.42

  ViewVC Help
Powered by ViewVC 1.1.22