/[MITgcm]/MITgcm/model/src/dynamics.F
ViewVC logotype

Diff of /MITgcm/model/src/dynamics.F

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

revision 1.161 by jmc, Mon Mar 5 18:21:12 2012 UTC revision 1.163 by dimitri, Thu Nov 15 15:55:42 2012 UTC
# Line 96  C     == Global variables === Line 96  C     == Global variables ===
96  #  include "PTRACERS_FIELDS.h"  #  include "PTRACERS_FIELDS.h"
97  # endif  # endif
98  # ifdef ALLOW_OBCS  # ifdef ALLOW_OBCS
99    #include "OBCS_PARAMS.h"
100  #  include "OBCS_FIELDS.h"  #  include "OBCS_FIELDS.h"
101  #  ifdef ALLOW_PTRACERS  #  ifdef ALLOW_PTRACERS
102  #   include "OBCS_PTRACERS.h"  #   include "OBCS_PTRACERS.h"
# Line 168  C     guDissip   :: dissipation tendency Line 169  C     guDissip   :: dissipation tendency
169  C     gvDissip   :: dissipation tendency (all explicit terms), v component  C     gvDissip   :: dissipation tendency (all explicit terms), v component
170  C     KappaRU    :: vertical viscosity  C     KappaRU    :: vertical viscosity
171  C     KappaRV    :: vertical viscosity  C     KappaRV    :: vertical viscosity
172  C     iMin, iMax     - Ranges and sub-block indices on which calculations  C     iMin, iMax :: Ranges and sub-block indices on which calculations
173  C     jMin, jMax       are applied.  C     jMin, jMax    are applied.
174  C     bi, bj  C     bi, bj     :: tile indices
175  C     k, kup,        - Index for layer above and below. kup and kDown  C     k          :: current level index
176  C     kDown, km1       are switched with layer to be the appropriate  C     km1, kp1   :: index of level above (k-1) and below (k+1)
177  C                      index into fVerTerm.  C     kUp, kDown :: Index for interface above and below. kUp and kDown are
178    C                   are switched with k to be the appropriate index into fVerU,V
179        _RL fVerU   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,2)        _RL fVerU   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,2)
180        _RL fVerV   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,2)        _RL fVerV   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,2)
181        _RL phiHydF (1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL phiHydF (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
# Line 191  C                      index into fVerTe Line 193  C                      index into fVerTe
193        INTEGER jMin, jMax        INTEGER jMin, jMax
194        INTEGER bi, bj        INTEGER bi, bj
195        INTEGER i, j        INTEGER i, j
196        INTEGER k, km1, kp1, kup, kDown        INTEGER k, km1, kp1, kUp, kDown
197    
198  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
199        LOGICAL dPhiHydDiagIsOn        LOGICAL dPhiHydDiagIsOn
# Line 521  C--      Calculate accelerations in the Line 523  C--      Calculate accelerations in the
523  C        and step forward storing the result in gU, gV, etc...  C        and step forward storing the result in gU, gV, etc...
524           IF ( momStepping ) THEN           IF ( momStepping ) THEN
525  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
526  # if (defined NONLIN_FRSURF) && (defined ALLOW_MOM_FLUXFORM)  # ifdef NONLIN_FRSURF
527  #  ifndef DISABLE_RSTAR_CODE  #  if (defined ALLOW_MOM_FLUXFORM) && !(defined DISABLE_RSTAR_CODE)
528  CADJ STORE dWtransC(:,:,bi,bj)  CADJ STORE dWtransC(:,:,bi,bj)
529  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
530  CADJ STORE dWtransU(:,:,bi,bj)  CADJ STORE dWtransU(:,:,bi,bj)
# Line 530  CADJ &     = comlev1_bibj_k, key=kkey, b Line 532  CADJ &     = comlev1_bibj_k, key=kkey, b
532  CADJ STORE dWtransV(:,:,bi,bj)  CADJ STORE dWtransV(:,:,bi,bj)
533  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
534  #  endif  #  endif
535  # endif  CADJ STORE fVerU(:,:,:)
536  #endif  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
537    CADJ STORE fVerV(:,:,:)
538    CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
539    # endif /* NONLIN_FRSURF */
540    #endif /* ALLOW_AUTODIFF_TAMC */
541             IF (.NOT. vectorInvariantMomentum) THEN             IF (.NOT. vectorInvariantMomentum) THEN
542  #ifdef ALLOW_MOM_FLUXFORM  #ifdef ALLOW_MOM_FLUXFORM
 C  
543                CALL MOM_FLUXFORM(                CALL MOM_FLUXFORM(
544       I         bi,bj,iMin,iMax,jMin,jMax,k,kup,kDown,       I         bi,bj,k,iMin,iMax,jMin,jMax,
545       I         KappaRU, KappaRV,       I         KappaRU, KappaRV,
546       U         fVerU, fVerV,       U         fVerU(1-OLx,1-OLy,kUp),   fVerV(1-OLx,1-OLy,kUp),
547         O         fVerU(1-OLx,1-OLy,kDown), fVerV(1-OLx,1-OLy,kDown),
548       O         guDissip, gvDissip,       O         guDissip, gvDissip,
549       I         myTime, myIter, myThid)       I         myTime, myIter, myThid)
550  #endif  #endif
551             ELSE             ELSE
552  #ifdef ALLOW_MOM_VECINV  #ifdef ALLOW_MOM_VECINV
 C  
 # ifdef ALLOW_AUTODIFF_TAMC  
 #  ifdef NONLIN_FRSURF  
 CADJ STORE fVerU(:,:,:)  
 CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  
 CADJ STORE fVerV(:,:,:)  
 CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  
 #  endif  
 # endif /* ALLOW_AUTODIFF_TAMC */  
 C  
553               CALL MOM_VECINV(               CALL MOM_VECINV(
554       I         bi,bj,iMin,iMax,jMin,jMax,k,kup,kDown,       I         bi,bj,k,iMin,iMax,jMin,jMax,
555       I         KappaRU, KappaRV,       I         KappaRU, KappaRV,
556       U         fVerU, fVerV,       I         fVerU(1-OLx,1-OLy,kUp),   fVerV(1-OLx,1-OLy,kUp),
557         O         fVerU(1-OLx,1-OLy,kDown), fVerV(1-OLx,1-OLy,kDown),
558       O         guDissip, gvDissip,       O         guDissip, gvDissip,
559       I         myTime, myIter, myThid)       I         myTime, myIter, myThid)
560  #endif  #endif

Legend:
Removed from v.1.161  
changed lines
  Added in v.1.163

  ViewVC Help
Powered by ViewVC 1.1.22