/[MITgcm]/MITgcm/pkg/gmredi/gmredi_ytransport.F
ViewVC logotype

Diff of /MITgcm/pkg/gmredi/gmredi_ytransport.F

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

revision 1.11 by jmc, Sun Jan 12 21:13:36 2003 UTC revision 1.12 by heimbach, Tue Jan 21 19:34:13 2003 UTC
# Line 46  C     df               - Diffusive flux Line 46  C     df               - Diffusive flux
46  C     == Local variables ==  C     == Local variables ==
47  C     I, J - Loop counters  C     I, J - Loop counters
48        INTEGER I, J        INTEGER I, J
49        INTEGER km1,kp1        INTEGER km1,kp1
50        _RL vTrans, maskp1, dTdz        _RL maskp1
51    #ifdef GM_EXTRA_DIAGONAL
52          _RL dTdz(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
53    #endif
54    #ifdef GM_BOLUS_ADVEC
55          _RL vTrans(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
56    #endif
57    
58  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
59            act0 = tracerIdentity - 1            act0 = tracerIdentity - 1
# Line 110  C--   Area integrated meridional flux Line 116  C--   Area integrated meridional flux
116          DO i=iMin,iMax          DO i=iMin,iMax
117    
118  C-      Vertical gradients interpolated to V points  C-      Vertical gradients interpolated to V points
119          dTdz =  op5*(          dTdz(i,j) =  op5*(
120       &   +op5*recip_drC(k)*       &   +op5*recip_drC(k)*
121       &       ( maskC(i,j-1,k,bi,bj)*       &       ( maskC(i,j-1,k,bi,bj)*
122       &           (Tracer(i,j-1,km1,bi,bj)-Tracer(i,j-1,k,bi,bj))       &           (Tracer(i,j-1,km1,bi,bj)-Tracer(i,j-1,k,bi,bj))
# Line 123  C-      Vertical gradients interpolated Line 129  C-      Vertical gradients interpolated
129       &        +maskC(i, j ,kp1,bi,bj)*       &        +maskC(i, j ,kp1,bi,bj)*
130       &           (Tracer(i, j ,k,bi,bj)-Tracer(i, j ,kp1,bi,bj))       &           (Tracer(i, j ,k,bi,bj)-Tracer(i, j ,kp1,bi,bj))
131       &       )      )       &       )      )
132            ENDDO
133           ENDDO
134    #ifdef GM_AUTODIFF_EXCESSIVE_STORE
135    CADJ STORE dtdz(:,:) =
136    CADJ &     comlev1_gmredi_k_gad, key=kkey, byte=isbyte
137    #endif
138           DO j=jMin,jMax
139            DO i=iMin,iMax
140  C-      Off-diagonal components of horizontal flux  C-      Off-diagonal components of horizontal flux
141            df(i,j) = df(i,j) - yA(i,j)*Kvz(i,j,k,bi,bj)*dTdz                          df(i,j) = df(i,j) - yA(i,j)*Kvz(i,j,k,bi,bj)*dTdz(i,j)
142    
143          ENDDO          ENDDO
144         ENDDO         ENDDO
# Line 139  C-      Off-diagonal components of horiz Line 152  C-      Off-diagonal components of horiz
152         IF (k.GE.Nr) maskp1 = 0.         IF (k.GE.Nr) maskp1 = 0.
153         DO j=jMin,jMax         DO j=jMin,jMax
154          DO i=iMin,iMax          DO i=iMin,iMax
155           vTrans = dxG(i,j,bi,bj)*( GM_PsiY(i,j,kp1,bi,bj)*maskp1           vTrans(i,j) = dxG(i,j,bi,bj)*( GM_PsiY(i,j,kp1,bi,bj)*maskp1
156       &                            -GM_PsiY(i,j,k,bi,bj) )       &                                 -GM_PsiY(i,j,k,bi,bj) )
157       &                          *maskS(i,j,k,bi,bj)       &                               *maskS(i,j,k,bi,bj)
158            ENDDO
159           ENDDO
160    #ifdef GM_AUTODIFF_EXCESSIVE_STORE
161    CADJ STORE vtrans(:,:) =
162    CADJ &     comlev1_gmredi_k_gad, key=kkey, byte=isbyte
163    #endif
164           DO j=jMin,jMax
165            DO i=iMin,iMax
166           df(i,j) = df(i,j)           df(i,j) = df(i,j)
167       &    +vTrans*op5*(Tracer(i,j,k,bi,bj)+Tracer(i,j-1,k,bi,bj))       &    +vTrans(i,j)*op5*(Tracer(i,j,k,bi,bj)+Tracer(i,j-1,k,bi,bj))
168          ENDDO          ENDDO
169         ENDDO         ENDDO
170        ENDIF        ENDIF

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12

  ViewVC Help
Powered by ViewVC 1.1.22