/[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.175 by jmc, Tue Sep 9 22:32:09 2014 UTC revision 1.176 by jmc, Wed Dec 24 19:09:33 2014 UTC
# Line 131  C     phiSurfX,  ::  gradient of Surface Line 131  C     phiSurfX,  ::  gradient of Surface
131  C     phiSurfY             or geopotential (atmos) in X and Y direction  C     phiSurfY             or geopotential (atmos) in X and Y direction
132  C     guDissip   :: dissipation tendency (all explicit terms), u component  C     guDissip   :: dissipation tendency (all explicit terms), u component
133  C     gvDissip   :: dissipation tendency (all explicit terms), v component  C     gvDissip   :: dissipation tendency (all explicit terms), v component
134  C     KappaRU    :: vertical viscosity for velocity U-component  C     kappaRU    :: vertical viscosity for velocity U-component
135  C     KappaRV    :: vertical viscosity for velocity V-component  C     kappaRV    :: vertical viscosity for velocity V-component
136  C     iMin, iMax :: Ranges and sub-block indices on which calculations  C     iMin, iMax :: Ranges and sub-block indices on which calculations
137  C     jMin, jMax    are applied.  C     jMin, jMax    are applied.
138  C     bi, bj     :: tile indices  C     bi, bj     :: tile indices
# Line 150  C                   are switched with k Line 150  C                   are switched with k
150        _RL phiSurfY(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL phiSurfY(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
151        _RL guDissip(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL guDissip(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
152        _RL gvDissip(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL gvDissip(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
153        _RL KappaRU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL kappaRU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1)
154        _RL KappaRV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL kappaRV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1)
155  #ifdef ALLOW_SMAG_3D  #ifdef ALLOW_SMAG_3D
156  C     str11       :: strain component Vxx @ grid-cell center  C     str11       :: strain component Vxx @ grid-cell center
157  C     str22       :: strain component Vyy @ grid-cell center  C     str22       :: strain component Vyy @ grid-cell center
# Line 272  CHPF$ INDEPENDENT Line 272  CHPF$ INDEPENDENT
272  C--    HPF directive to help TAMC  C--    HPF directive to help TAMC
273  CHPF$  INDEPENDENT, NEW (fVerU,fVerV  CHPF$  INDEPENDENT, NEW (fVerU,fVerV
274  CHPF$&                  ,phiHydF  CHPF$&                  ,phiHydF
275  CHPF$&                  ,KappaRU,KappaRV  CHPF$&                  ,kappaRU,kappaRV
276  CHPF$&                  )  CHPF$&                  )
277  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
278    
# Line 366  CADJ &                 = comlev1_bibj, k Line 366  CADJ &                 = comlev1_bibj, k
366  #ifndef ALLOW_AUTODIFF  #ifndef ALLOW_AUTODIFF
367          IF ( .NOT.momViscosity ) THEN          IF ( .NOT.momViscosity ) THEN
368  #endif  #endif
369            DO k=1,Nr            DO k=1,Nr+1
370             DO j=1-OLy,sNy+OLy             DO j=1-OLy,sNy+OLy
371              DO i=1-OLx,sNx+OLx              DO i=1-OLx,sNx+OLx
372               KappaRU(i,j,k) = 0. _d 0               kappaRU(i,j,k) = 0. _d 0
373               KappaRV(i,j,k) = 0. _d 0               kappaRV(i,j,k) = 0. _d 0
374              ENDDO              ENDDO
375             ENDDO             ENDDO
376            ENDDO            ENDDO
# Line 382  C--     Calculate the total vertical vis Line 382  C--     Calculate the total vertical vis
382          IF ( momViscosity ) THEN          IF ( momViscosity ) THEN
383            CALL CALC_VISCOSITY(            CALL CALC_VISCOSITY(
384       I            bi,bj, iMin,iMax,jMin,jMax,       I            bi,bj, iMin,iMax,jMin,jMax,
385       O            KappaRU, KappaRV,       O            kappaRU, kappaRV,
386       I            myThid )       I            myThid )
387          ENDIF          ENDIF
388  #endif /* INCLUDE_CALC_DIFFUSIVITY_CALL */  #endif /* INCLUDE_CALC_DIFFUSIVITY_CALL */
# Line 396  C--     Calculate the total vertical vis Line 396  C--     Calculate the total vertical vis
396  #endif /* ALLOW_SMAG_3D */  #endif /* ALLOW_SMAG_3D */
397    
398  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
399  CADJ STORE KappaRU(:,:,:)  CADJ STORE kappaRU(:,:,:)
400  CADJ &     = comlev1_bibj, key=idynkey, byte=isbyte  CADJ &     = comlev1_bibj, key=idynkey, byte=isbyte
401  CADJ STORE KappaRV(:,:,:)  CADJ STORE kappaRV(:,:,:)
402  CADJ &     = comlev1_bibj, key=idynkey, byte=isbyte  CADJ &     = comlev1_bibj, key=idynkey, byte=isbyte
403  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
404    
# Line 525  CADJ STORE fVerV(:,:,:) = comlev1_bibj_k Line 525  CADJ STORE fVerV(:,:,:) = comlev1_bibj_k
525  #ifdef ALLOW_MOM_FLUXFORM  #ifdef ALLOW_MOM_FLUXFORM
526                CALL MOM_FLUXFORM(                CALL MOM_FLUXFORM(
527       I         bi,bj,k,iMin,iMax,jMin,jMax,       I         bi,bj,k,iMin,iMax,jMin,jMax,
528       I         KappaRU, KappaRV,       I         kappaRU, kappaRV,
529       U         fVerU(1-OLx,1-OLy,kUp),   fVerV(1-OLx,1-OLy,kUp),       U         fVerU(1-OLx,1-OLy,kUp),   fVerV(1-OLx,1-OLy,kUp),
530       O         fVerU(1-OLx,1-OLy,kDown), fVerV(1-OLx,1-OLy,kDown),       O         fVerU(1-OLx,1-OLy,kDown), fVerV(1-OLx,1-OLy,kDown),
531       O         guDissip, gvDissip,       O         guDissip, gvDissip,
# Line 535  CADJ STORE fVerV(:,:,:) = comlev1_bibj_k Line 535  CADJ STORE fVerV(:,:,:) = comlev1_bibj_k
535  #ifdef ALLOW_MOM_VECINV  #ifdef ALLOW_MOM_VECINV
536               CALL MOM_VECINV(               CALL MOM_VECINV(
537       I         bi,bj,k,iMin,iMax,jMin,jMax,       I         bi,bj,k,iMin,iMax,jMin,jMax,
538       I         KappaRU, KappaRV,       I         kappaRU, kappaRV,
539       I         fVerU(1-OLx,1-OLy,kUp),   fVerV(1-OLx,1-OLy,kUp),       I         fVerU(1-OLx,1-OLy,kUp),   fVerV(1-OLx,1-OLy,kUp),
540       O         fVerU(1-OLx,1-OLy,kDown), fVerV(1-OLx,1-OLy,kDown),       O         fVerU(1-OLx,1-OLy,kDown), fVerV(1-OLx,1-OLy,kDown),
541       O         guDissip, gvDissip,       O         guDissip, gvDissip,
# Line 592  CADJ STORE gU(:,:,:,bi,bj) = comlev1_bib Line 592  CADJ STORE gU(:,:,:,bi,bj) = comlev1_bib
592  #endif    /* ALLOW_AUTODIFF_TAMC */  #endif    /* ALLOW_AUTODIFF_TAMC */
593            CALL IMPLDIFF(            CALL IMPLDIFF(
594       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
595       I         -1, KappaRU, recip_hFacW(1-OLx,1-OLy,1,bi,bj),       I         -1, kappaRU, recip_hFacW(1-OLx,1-OLy,1,bi,bj),
596       U         gU(1-OLx,1-OLy,1,bi,bj),       U         gU(1-OLx,1-OLy,1,bi,bj),
597       I         myThid )       I         myThid )
598  #ifdef    ALLOW_AUTODIFF_TAMC  #ifdef    ALLOW_AUTODIFF_TAMC
# Line 600  CADJ STORE gV(:,:,:,bi,bj) = comlev1_bib Line 600  CADJ STORE gV(:,:,:,bi,bj) = comlev1_bib
600  #endif    /* ALLOW_AUTODIFF_TAMC */  #endif    /* ALLOW_AUTODIFF_TAMC */
601            CALL IMPLDIFF(            CALL IMPLDIFF(
602       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
603       I         -2, KappaRV, recip_hFacS(1-OLx,1-OLy,1,bi,bj),       I         -2, kappaRV, recip_hFacS(1-OLx,1-OLy,1,bi,bj),
604       U         gV(1-OLx,1-OLy,1,bi,bj),       U         gV(1-OLx,1-OLy,1,bi,bj),
605       I         myThid )       I         myThid )
606          ENDIF          ENDIF
# Line 624  CADJ STORE vVelD(:,:,:,bi,bj) = comlev1_ Line 624  CADJ STORE vVelD(:,:,:,bi,bj) = comlev1_
624  #endif    /* ALLOW_AUTODIFF_TAMC */  #endif    /* ALLOW_AUTODIFF_TAMC */
625            CALL IMPLDIFF(            CALL IMPLDIFF(
626       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
627       I         0, KappaRU, recip_hFacW(1-OLx,1-OLy,1,bi,bj),       I         0, kappaRU, recip_hFacW(1-OLx,1-OLy,1,bi,bj),
628       U         vVelD(1-OLx,1-OLy,1,bi,bj),       U         vVelD(1-OLx,1-OLy,1,bi,bj),
629       I         myThid )       I         myThid )
630  #ifdef    ALLOW_AUTODIFF_TAMC  #ifdef    ALLOW_AUTODIFF_TAMC
# Line 632  CADJ STORE uVelD(:,:,:,bi,bj) = comlev1_ Line 632  CADJ STORE uVelD(:,:,:,bi,bj) = comlev1_
632  #endif    /* ALLOW_AUTODIFF_TAMC */  #endif    /* ALLOW_AUTODIFF_TAMC */
633            CALL IMPLDIFF(            CALL IMPLDIFF(
634       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
635       I         0, KappaRV, recip_hFacS(1-OLx,1-OLy,1,bi,bj),       I         0, kappaRV, recip_hFacS(1-OLx,1-OLy,1,bi,bj),
636       U         uVelD(1-OLx,1-OLy,1,bi,bj),       U         uVelD(1-OLx,1-OLy,1,bi,bj),
637       I         myThid )       I         myThid )
638          ENDIF          ENDIF
# Line 649  C--   Step forward W field in N-H algori Line 649  C--   Step forward W field in N-H algori
649  #endif  #endif
650           CALL TIMER_START('CALC_GW          [DYNAMICS]',myThid)           CALL TIMER_START('CALC_GW          [DYNAMICS]',myThid)
651           CALL CALC_GW(           CALL CALC_GW(
652       I                 bi,bj, KappaRU, KappaRV,       I                 bi,bj, kappaRU, kappaRV,
653       I                 str13, str23, str33,       I                 str13, str23, str33,
654       I                 viscAh3d_00, viscAh3d_13, viscAh3d_23,       I                 viscAh3d_00, viscAh3d_13, viscAh3d_23,
655       I                 myTime, myIter, myThid )       I                 myTime, myIter, myThid )

Legend:
Removed from v.1.175  
changed lines
  Added in v.1.176

  ViewVC Help
Powered by ViewVC 1.1.22