/[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.51 by heimbach, Fri Oct 19 14:45:10 2007 UTC revision 1.54 by mlosch, Thu Feb 7 08:52:12 2008 UTC
# Line 265  C--   Make local copy of tracer array an Line 265  C--   Make local copy of tracer array an
265        DO j=1-OLy,sNy+OLy        DO j=1-OLy,sNy+OLy
266         DO i=1-OLx,sNx+OLx         DO i=1-OLx,sNx+OLx
267           localTij(i,j)=tracer(i,j,k,bi,bj)           localTij(i,j)=tracer(i,j,k,bi,bj)
268           maskLocW(i,j)=maskW(i,j,k,bi,bj)           maskLocW(i,j)=_maskW(i,j,k,bi,bj)
269           maskLocS(i,j)=maskS(i,j,k,bi,bj)           maskLocS(i,j)=_maskS(i,j,k,bi,bj)
270         ENDDO         ENDDO
271        ENDDO        ENDDO
272    
# Line 282  C--   Multiple passes for different dire Line 282  C--   Multiple passes for different dire
282  C--   For cube need one pass for each of red, green and blue axes.  C--   For cube need one pass for each of red, green and blue axes.
283        DO ipass=1,nipass        DO ipass=1,nipass
284  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
285           passkey = ipass + (k-1)      *maxcube           passkey = ipass
286       &                   + (igadkey-1)*maxcube*Nr       &                   + (k-1)      *maxpass
287         &                   + (igadkey-1)*maxpass*Nr
288           IF (nipass .GT. maxpass) THEN           IF (nipass .GT. maxpass) THEN
289            STOP 'GAD_ADVECTION: nipass > maxcube. check tamc.h'            STOP 'GAD_ADVECTION: nipass > maxcube. check tamc.h'
290           ENDIF           ENDIF
# Line 726  c       kp1=min(Nr,k+1) Line 727  c       kp1=min(Nr,k+1)
727  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
728  CADJ STORE rtrans(:,:)  =  CADJ STORE rtrans(:,:)  =
729  CADJ &     comlev1_bibj_k_gad, key=kkey, byte=isbyte  CADJ &     comlev1_bibj_k_gad, key=kkey, byte=isbyte
730  CADJ STORE wfld(:,:)  =  cphCADJ STORE wfld(:,:)  =
731  CADJ &     comlev1_bibj_k_gad, key=kkey, byte=isbyte  cphCADJ &     comlev1_bibj_k_gad, key=kkey, byte=isbyte
732  #endif  #endif
733    
734  C-- Compute Vertical transport  C-- Compute Vertical transport
# Line 825  cphmultiCADJ STORE rTrans(:,:) Line 826  cphmultiCADJ STORE rTrans(:,:)
826  cphmultiCADJ &     = comlev1_bibj_k_gad, key=kkey, byte=isbyte  cphmultiCADJ &     = comlev1_bibj_k_gad, key=kkey, byte=isbyte
827  cphmultiCADJ STORE rTranskp1(:,:)    cphmultiCADJ STORE rTranskp1(:,:)  
828  cphmultiCADJ &     = comlev1_bibj_k_gad, key=kkey, byte=isbyte  cphmultiCADJ &     = comlev1_bibj_k_gad, key=kkey, byte=isbyte
829    cph --- following storing of fVerT is critical for correct
830    cph --- gradient with multiDimAdvection
831    cph --- Without it, kDown component is not properly recomputed
832    cph --- This is a TAF bug (and no warning available)
833    CADJ STORE fVerT(:,:,:)  
834    CADJ &     = comlev1_bibj_k_gad, key=kkey, byte=isbyte
835  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
836    
837  C--   Divergence of vertical fluxes  C--   Divergence of vertical fluxes

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

  ViewVC Help
Powered by ViewVC 1.1.22