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

Diff of /MITgcm/pkg/gmredi/gmredi_xtransport.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 47  C     == Local variables == Line 47  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 uTrans, 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 uTrans(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 108  C--   Area integrated zonal flux Line 114  C--   Area integrated zonal flux
114    
115         DO j=jMin,jMax         DO j=jMin,jMax
116          DO i=iMin,iMax          DO i=iMin,iMax
117    C-        Vertical gradients interpolated to U points
118  C-      Vertical gradients interpolated to U points          dTdz(i,j) =  op5*(
         dTdz =  op5*(  
119       &   +op5*recip_drC(k)*       &   +op5*recip_drC(k)*
120       &       ( maskC(i-1,j,k,bi,bj)*       &       ( maskC(i-1,j,k,bi,bj)*
121       &           (Tracer(i-1,j,km1,bi,bj)-Tracer(i-1,j,k,bi,bj))       &           (Tracer(i-1,j,km1,bi,bj)-Tracer(i-1,j,k,bi,bj))
# Line 124  C-      Vertical gradients interpolated Line 129  C-      Vertical gradients interpolated
129       &           (Tracer( i ,j,k,bi,bj)-Tracer( i ,j,kp1,bi,bj))       &           (Tracer( i ,j,k,bi,bj)-Tracer( i ,j,kp1,bi,bj))
130       &       )      )             &       )      )      
131    
 C-      Off-diagonal components of horizontal flux  
           df(i,j) = df(i,j) - xA(i,j)*Kuz(i,j,k,bi,bj)*dTdz  
132    
133          ENDDO          ENDDO
134         ENDDO         ENDDO
135    #ifdef GM_AUTODIFF_EXCESSIVE_STORE
136    CADJ STORE dtdz(:,:) =
137    CADJ &     comlev1_gmredi_k_gad, key=kkey, byte=isbyte
138    #endif
139           DO j=jMin,jMax
140            DO i=iMin,iMax
141    C-        Off-diagonal components of horizontal flux
142            df(i,j) = df(i,j) - xA(i,j)*Kuz(i,j,k,bi,bj)*dTdz(i,j)
143            ENDDO
144           ENDDO
145        ENDIF        ENDIF
146  #endif /* GM_EXTRA_DIAGONAL */  #endif /* GM_EXTRA_DIAGONAL */
147    
# 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           uTrans = dyG(i,j,bi,bj)*( GM_PsiX(i,j,kp1,bi,bj)*maskp1           uTrans(i,j) = dyG(i,j,bi,bj)*( GM_PsiX(i,j,kp1,bi,bj)*maskp1
156       &                            -GM_PsiX(i,j,k,bi,bj) )       &                                 -GM_PsiX(i,j,k,bi,bj) )
157       &                          *maskW(i,j,k,bi,bj)       &                               *maskW(i,j,k,bi,bj)
158            ENDDO
159           ENDDO
160    #ifdef GM_AUTODIFF_EXCESSIVE_STORE
161    CADJ STORE utrans(:,:) =
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       &    +uTrans*op5*(Tracer(i,j,k,bi,bj)+Tracer(i-1,j,k,bi,bj))       &    +uTrans(i,j)*op5*(Tracer(i,j,k,bi,bj)+Tracer(i-1,j,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