/[MITgcm]/MITgcm/pkg/generic_advdiff/gad_advection.F
ViewVC logotype

Diff of /MITgcm/pkg/generic_advdiff/gad_advection.F

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

revision 1.50 by jmc, Thu Aug 16 02:16:37 2007 UTC revision 1.51 by heimbach, Fri Oct 19 14:45:10 2007 UTC
# Line 156  c     _RS maskUp  (1-OLx:sNx+OLx,1-OLy:s Line 156  c     _RS maskUp  (1-OLx:sNx+OLx,1-OLy:s
156  CEOP  CEOP
157    
158  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
159            act0 = tracerIdentity - 1            act0 = tracerIdentity
160            max0 = maxpass            max0 = maxpass
161            act1 = bi - myBxLo(myThid)            act1 = bi - myBxLo(myThid)
162            max1 = myBxHi(myThid) - myBxLo(myThid) + 1            max1 = myBxHi(myThid) - myBxLo(myThid) + 1
# Line 165  CEOP Line 165  CEOP
165            act3 = myThid - 1            act3 = myThid - 1
166            max3 = nTx*nTy            max3 = nTx*nTy
167            act4 = ikey_dynamics - 1            act4 = ikey_dynamics - 1
168            igadkey = (act0 + 1)            igadkey = act0
169       &                      + act1*max0       &                      + act1*max0
170       &                      + act2*max0*max1       &                      + act2*max0*max1
171       &                      + act3*max0*max1*max2       &                      + act3*max0*max1*max2
# Line 713  C---+----1----+----2----+----3----+----4 Line 713  C---+----1----+----2----+----3----+----4
713  C--   Start of k loop for vertical flux  C--   Start of k loop for vertical flux
714         DO k=Nr,1,-1         DO k=Nr,1,-1
715  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
716           kkey = (igadkey-1)*Nr + k           kkey = (igadkey-1)*Nr + (Nr-k+1)
717  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
718  C--   kUp    Cycles through 1,2 to point to w-layer above  C--   kUp    Cycles through 1,2 to point to w-layer above
719  C--   kDown  Cycles through 2,1 to point to w-layer below  C--   kDown  Cycles through 2,1 to point to w-layer below
# Line 723  c       kp1=min(Nr,k+1) Line 723  c       kp1=min(Nr,k+1)
723          kp1Msk=1.          kp1Msk=1.
724          if (k.EQ.Nr) kp1Msk=0.          if (k.EQ.Nr) kp1Msk=0.
725    
726    #ifdef ALLOW_AUTODIFF_TAMC
727    CADJ STORE rtrans(:,:)  =
728    CADJ &     comlev1_bibj_k_gad, key=kkey, byte=isbyte
729    CADJ STORE wfld(:,:)  =
730    CADJ &     comlev1_bibj_k_gad, key=kkey, byte=isbyte
731    #endif
732    
733  C-- Compute Vertical transport  C-- Compute Vertical transport
734  #ifdef ALLOW_AIM  #ifdef ALLOW_AIM
735  C- a hack to prevent Water-Vapor vert.transport into the stratospheric level Nr  C- a hack to prevent Water-Vapor vert.transport into the stratospheric level Nr
# Line 734  C- a hack to prevent Water-Vapor vert.tr Line 741  C- a hack to prevent Water-Vapor vert.tr
741  #endif  #endif
742    
743  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
744  CADJ STORE rtrans(:,:)  =  cphmultiCADJ STORE wfld(:,:)  =
745  CADJ &     comlev1_bibj_k_gad, key=kkey, byte=isbyte  cphmultiCADJ &     comlev1_bibj_k_gad, key=kkey, byte=isbyte
 CADJ STORE wfld(:,:)  =  
 CADJ &     comlev1_bibj_k_gad, key=kkey, byte=isbyte  
746  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
747    
748  C- Surface interface :  C- Surface interface :
# Line 753  C- Surface interface : Line 758  C- Surface interface :
758          ELSE          ELSE
759    
760  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
761  CADJ STORE rtrans(:,:)  =  cphmultiCADJ STORE wfld(:,:)  =
762  CADJ &     comlev1_bibj_k_gad, key=kkey, byte=isbyte  cphmultiCADJ &     comlev1_bibj_k_gad, key=kkey, byte=isbyte
 CADJ STORE wfld(:,:)  =  
 CADJ &     comlev1_bibj_k_gad, key=kkey, byte=isbyte  
763  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
764    
765  C- Interior interface :  C- Interior interface :
# Line 780  C--   Residual transp = Bolus transp + E Line 783  C--   Residual transp = Bolus transp + E
783  #endif /* ALLOW_GMREDI */  #endif /* ALLOW_GMREDI */
784    
785  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
786  CADJ STORE localTijk(:,:,k)    cphmultiCADJ STORE localTijk(:,:,k)  
787  CADJ &     = comlev1_bibj_k_gad, key=kkey, byte=isbyte  cphmultiCADJ &     = comlev1_bibj_k_gad, key=kkey, byte=isbyte
788  CADJ STORE rTrans(:,:)    cphmultiCADJ STORE rTrans(:,:)  
789  CADJ &     = comlev1_bibj_k_gad, key=kkey, byte=isbyte  cphmultiCADJ &     = comlev1_bibj_k_gad, key=kkey, byte=isbyte
790  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
791    
792  C-    Compute vertical advective flux in the interior:  C-    Compute vertical advective flux in the interior:
# Line 818  C- end Surface/Interior if bloc Line 821  C- end Surface/Interior if bloc
821          ENDIF          ENDIF
822    
823  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
824  CADJ STORE rTrans(:,:)    cphmultiCADJ STORE rTrans(:,:)  
825  CADJ &     = comlev1_bibj_k_gad, key=kkey, byte=isbyte  cphmultiCADJ &     = comlev1_bibj_k_gad, key=kkey, byte=isbyte
826  CADJ STORE rTranskp1(:,:)    cphmultiCADJ STORE rTranskp1(:,:)  
827  CADJ &     = comlev1_bibj_k_gad, key=kkey, byte=isbyte  cphmultiCADJ &     = comlev1_bibj_k_gad, key=kkey, byte=isbyte
828  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
829    
830  C--   Divergence of vertical fluxes  C--   Divergence of vertical fluxes

Legend:
Removed from v.1.50  
changed lines
  Added in v.1.51

  ViewVC Help
Powered by ViewVC 1.1.22