/[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.40 by baylor, Thu Sep 29 16:47:16 2005 UTC revision 1.41 by jmc, Fri Sep 30 00:22:37 2005 UTC
# Line 56  C     == Local variables == Line 56  C     == Local variables ==
56        _RL phxFac,phyFac, psFac        _RL phxFac,phyFac, psFac
57        _RL     gUtmp(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL     gUtmp(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
58        _RL     gVtmp(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL     gVtmp(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
59    #ifdef ALLOW_DIAGNOSTICS
60  C    Allow diagnosis of external forcing  C    Allow diagnosis of external forcing
61          LOGICAL externForcDiagIsOn
62          LOGICAL  DIAGNOSTICS_IS_ON
63          EXTERNAL DIAGNOSTICS_IS_ON
64        _RL     gUext(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL     gUext(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
65        _RL     gVext(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL     gVext(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
66    #endif
67  #ifdef ALLOW_CD_CODE  #ifdef ALLOW_CD_CODE
68        _RL     guCor(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL     guCor(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
69        _RL     gvCor(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL     gvCor(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
# Line 86  C-- including or excluding momentum forc Line 91  C-- including or excluding momentum forc
91        momForcing_In_AB = .TRUE.        momForcing_In_AB = .TRUE.
92        momDissip_In_AB  = .TRUE.        momDissip_In_AB  = .TRUE.
93    
94    #ifdef ALLOW_DIAGNOSTICS
95          externForcDiagIsOn = useDiagnostics .AND. momForcing
96          IF ( externForcDiagIsOn ) THEN
97            externForcDiagIsOn = DIAGNOSTICS_IS_ON('Um_Ext  ',myThid)
98         &                  .OR. DIAGNOSTICS_IS_ON('Vm_Ext  ',myThid)
99          ENDIF
100    #endif /* ALLOW_DIAGNOSTICS */
101    
102  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
103    
104  C-    Initialize local arrays (not really necessary but safer)  C-    Initialize local arrays (not really necessary but safer)
# Line 93  C-    Initialize local arrays (not reall Line 106  C-    Initialize local arrays (not reall
106         DO i=1-Olx,sNx+Olx         DO i=1-Olx,sNx+Olx
107          gUtmp(i,j) = 0. _d 0          gUtmp(i,j) = 0. _d 0
108          gVtmp(i,j) = 0. _d 0          gVtmp(i,j) = 0. _d 0
         gUext(i,j) = 0. _d 0  
         gVext(i,j) = 0. _d 0  
109  #ifdef ALLOW_CD_CODE  #ifdef ALLOW_CD_CODE
110          guCor(i,j) = 0. _d 0          guCor(i,j) = 0. _d 0
111          gvCor(i,j) = 0. _d 0          gvCor(i,j) = 0. _d 0
# Line 129  C--   Dissipation term inside the Adams- Line 140  C--   Dissipation term inside the Adams-
140  C--   Forcing term inside the Adams-Bashforth:  C--   Forcing term inside the Adams-Bashforth:
141        IF (momForcing .AND. momForcing_In_AB) THEN        IF (momForcing .AND. momForcing_In_AB) THEN
142  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
143          IF ( useDiagnostics ) THEN          IF ( useDiagnostics .AND. externForcDiagIsOn ) THEN
144           DO j=jMin,jMax           DO j=1,sNy+1
145            DO i=iMin,iMax            DO i=1,sNx+1
146             gUext(i,j) = gU(i,j,k,bi,bj)             gUext(i,j) = gU(i,j,k,bi,bj)
147             gVext(i,j) = gV(i,j,k,bi,bj)             gVext(i,j) = gV(i,j,k,bi,bj)
148            ENDDO            ENDDO
# Line 147  C--   Forcing term inside the Adams-Bash Line 158  C--   Forcing term inside the Adams-Bash
158       I     myTime,myThid)       I     myTime,myThid)
159    
160  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
161          IF ( useDiagnostics ) THEN          IF ( useDiagnostics .AND. externForcDiagIsOn ) THEN
162           DO j=jMin,jMax           DO j=1,sNy+1
163            DO i=iMin,iMax            DO i=1,sNx+1
164             gUext(i,j) = gU(i,j,k,bi,bj)-gUext(i,j)             gUext(i,j) = gU(i,j,k,bi,bj)-gUext(i,j)
165             gVext(i,j) = gV(i,j,k,bi,bj)-gVext(i,j)             gVext(i,j) = gV(i,j,k,bi,bj)-gVext(i,j)
166            ENDDO            ENDDO
# Line 202  C     (not recommended with CD-scheme ON Line 213  C     (not recommended with CD-scheme ON
213          ENDDO          ENDDO
214         ENDIF         ENDIF
215  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
216         IF ( useDiagnostics ) THEN         IF ( useDiagnostics .AND. externForcDiagIsOn ) THEN
217          DO j=jMin,jMax          DO j=1,sNy+1
218           DO i=iMin,iMax           DO i=1,sNx+1
219            gUext(i,j) = gU(i,j,k,bi,bj)            gUext(i,j) = gU(i,j,k,bi,bj)
220            gVext(i,j) = gV(i,j,k,bi,bj)            gVext(i,j) = gV(i,j,k,bi,bj)
221           ENDDO           ENDDO
# Line 220  C     (not recommended with CD-scheme ON Line 231  C     (not recommended with CD-scheme ON
231       I     myTime,myThid)       I     myTime,myThid)
232    
233  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
234         IF ( useDiagnostics ) THEN         IF ( useDiagnostics .AND. externForcDiagIsOn ) THEN
235          DO j=jMin,jMax          DO j=1,sNy+1
236           DO i=iMin,iMax           DO i=1,sNx+1
237            gUext(i,j) = gU(i,j,k,bi,bj)-gUext(i,j)            gUext(i,j) = gU(i,j,k,bi,bj)-gUext(i,j)
238            gVext(i,j) = gV(i,j,k,bi,bj)-gVext(i,j)            gVext(i,j) = gV(i,j,k,bi,bj)-gVext(i,j)
239           ENDDO           ENDDO
# Line 230  C     (not recommended with CD-scheme ON Line 241  C     (not recommended with CD-scheme ON
241         ENDIF         ENDIF
242  #endif /* ALLOW_DIAGNOSTICS */  #endif /* ALLOW_DIAGNOSTICS */
243    
 #ifdef ALLOW_DIAGNOSTICS  
        IF ( useDiagnostics ) THEN  
          CALL DIAGNOSTICS_FILL(gUext,'Um_Ext  ',k,1,2,bi,bj,myThid)  
          CALL DIAGNOSTICS_FILL(gVext,'Vm_Ext  ',k,1,2,bi,bj,myThid)  
        ENDIF  
 #endif /* ALLOW_DIAGNOSTICS */  
   
244  C-     for CD-scheme, compute gU,Vtmp = gU,V^n + forcing  C-     for CD-scheme, compute gU,Vtmp = gU,V^n + forcing
245         IF (useCDscheme) THEN         IF (useCDscheme) THEN
246          DO j=jMin,jMax          DO j=jMin,jMax
# Line 340  C     Step forward meridional velocity ( Line 344  C     Step forward meridional velocity (
344        ENDDO        ENDDO
345    
346  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
347          IF ( useDiagnostics .AND. externForcDiagIsOn ) THEN
348              CALL DIAGNOSTICS_FILL(gUext,'Um_Ext  ',k,1,2,bi,bj,myThid)
349              CALL DIAGNOSTICS_FILL(gVext,'Vm_Ext  ',k,1,2,bi,bj,myThid)
350          ENDIF
351  #ifdef ALLOW_CD_CODE  #ifdef ALLOW_CD_CODE
352        IF ( useCDscheme .AND. useDiagnostics ) THEN        IF ( useCDscheme .AND. useDiagnostics ) THEN
353            CALL DIAGNOSTICS_FILL(guCor,'Um_Cori ',k,1,2,bi,bj,myThid)            CALL DIAGNOSTICS_FILL(guCor,'Um_Cori ',k,1,2,bi,bj,myThid)

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

  ViewVC Help
Powered by ViewVC 1.1.22