/[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.90 by mlosch, Wed Sep 18 16:38:01 2002 UTC revision 1.91 by heimbach, Fri Nov 15 03:01:21 2002 UTC
# Line 80  C     == Global variables === Line 80  C     == Global variables ===
80  # include "tamc.h"  # include "tamc.h"
81  # include "tamc_keys.h"  # include "tamc_keys.h"
82  # include "FFIELDS.h"  # include "FFIELDS.h"
83    # include "EOS.h"
84  # ifdef ALLOW_KPP  # ifdef ALLOW_KPP
85  #  include "KPP.h"  #  include "KPP.h"
86  # endif  # endif
# Line 256  CHPF$&                  ) Line 257  CHPF$&                  )
257            act3 = myThid - 1            act3 = myThid - 1
258            max3 = nTx*nTy            max3 = nTx*nTy
259            act4 = ikey_dynamics - 1            act4 = ikey_dynamics - 1
260            ikey = (act1 + 1) + act2*max1            idynkey = (act1 + 1) + act2*max1
261       &                      + act3*max1*max2       &                      + act3*max1*max2
262       &                      + act4*max1*max2*max3       &                      + act4*max1*max2*max3
263  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
# Line 283  C--     Start computation of dynamics Line 284  C--     Start computation of dynamics
284          jMax = sNy+OLy-1          jMax = sNy+OLy-1
285    
286  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
287  CADJ STORE wvel (:,:,:,bi,bj) = comlev1_bibj, key = ikey, byte = isbyte  CADJ STORE wvel (:,:,:,bi,bj) =
288    CADJ &     comlev1_bibj, key = idynkey, byte = isbyte
289  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
290    
291  C--     Explicit part of the Surface Potentiel Gradient (add in TIMESTEP)  C--     Explicit part of the Surface Potentiel Gradient (add in TIMESTEP)
# Line 297  C       (note: this loop will be replace Line 299  C       (note: this loop will be replace
299          ENDIF          ENDIF
300    
301  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
302  CADJ STORE uvel (:,:,:,bi,bj) = comlev1_bibj, key=ikey, byte=isbyte  CADJ STORE uvel (:,:,:,bi,bj) = comlev1_bibj, key=idynkey, byte=isbyte
303  CADJ STORE vvel (:,:,:,bi,bj) = comlev1_bibj, key=ikey, byte=isbyte  CADJ STORE vvel (:,:,:,bi,bj) = comlev1_bibj, key=idynkey, byte=isbyte
304  #ifdef ALLOW_KPP  #ifdef ALLOW_KPP
305  CADJ STORE KPPviscAz (:,:,:,bi,bj)  CADJ STORE KPPviscAz (:,:,:,bi,bj)
306  CADJ &                 = comlev1_bibj, key=ikey, byte=isbyte  CADJ &                 = comlev1_bibj, key=idynkey, byte=isbyte
307  #endif /* ALLOW_KPP */  #endif /* ALLOW_KPP */
308  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
309    
# Line 328  C--       kDown  Cycles through 2,1 to p Line 330  C--       kDown  Cycles through 2,1 to p
330            kDown= 1+MOD(k,2)            kDown= 1+MOD(k,2)
331    
332  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
333           kkey = (ikey-1)*Nr + k           kkey = (idynkey-1)*Nr + k
334    CADJ STORE pressure(:,:,k,bi,bj) = comlev1_bibj_k ,
335    CADJ &     key=kkey , byte=isbyte
336  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
337    
338  C--      Integrate hydrostatic balance for phiHyd with BC of  C--      Integrate hydrostatic balance for phiHyd with BC of
# Line 352  C        calculate pressure from phiHyd Line 356  C        calculate pressure from phiHyd
356  C        variable pressure  C        variable pressure
357           CALL STORE_PRESSURE( bi, bj, k, phiHyd, myThid )           CALL STORE_PRESSURE( bi, bj, k, phiHyd, myThid )
358    
   
359  C--      Calculate accelerations in the momentum equations (gU, gV, ...)  C--      Calculate accelerations in the momentum equations (gU, gV, ...)
360  C        and step forward storing the result in gUnm1, gVnm1, etc...  C        and step forward storing the result in gUnm1, gVnm1, etc...
361           IF ( momStepping ) THEN           IF ( momStepping ) THEN
# Line 402  C--     end of dynamics k loop (1:Nr) Line 405  C--     end of dynamics k loop (1:Nr)
405  C--     Implicit viscosity  C--     Implicit viscosity
406          IF (implicitViscosity.AND.momStepping) THEN          IF (implicitViscosity.AND.momStepping) THEN
407  #ifdef    ALLOW_AUTODIFF_TAMC  #ifdef    ALLOW_AUTODIFF_TAMC
408  CADJ STORE gUNm1(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte  CADJ STORE gUNm1(:,:,:,bi,bj) = comlev1_bibj , key=idynkey, byte=isbyte
409  #endif    /* ALLOW_AUTODIFF_TAMC */  #endif    /* ALLOW_AUTODIFF_TAMC */
410            CALL IMPLDIFF(            CALL IMPLDIFF(
411       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
# Line 410  CADJ STORE gUNm1(:,:,:,bi,bj) = comlev1_ Line 413  CADJ STORE gUNm1(:,:,:,bi,bj) = comlev1_
413       U         gUNm1,       U         gUNm1,
414       I         myThid )       I         myThid )
415  #ifdef    ALLOW_AUTODIFF_TAMC  #ifdef    ALLOW_AUTODIFF_TAMC
416  CADJ STORE gVNm1(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte  CADJ STORE gVNm1(:,:,:,bi,bj) = comlev1_bibj , key=idynkey, byte=isbyte
417  #endif    /* ALLOW_AUTODIFF_TAMC */  #endif    /* ALLOW_AUTODIFF_TAMC */
418            CALL IMPLDIFF(            CALL IMPLDIFF(
419       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
# Line 429  C--      Apply open boundary conditions Line 432  C--      Apply open boundary conditions
432    
433  #ifdef    INCLUDE_CD_CODE  #ifdef    INCLUDE_CD_CODE
434  #ifdef    ALLOW_AUTODIFF_TAMC  #ifdef    ALLOW_AUTODIFF_TAMC
435  CADJ STORE vVelD(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte  CADJ STORE vVelD(:,:,:,bi,bj) = comlev1_bibj , key=idynkey, byte=isbyte
436  #endif    /* ALLOW_AUTODIFF_TAMC */  #endif    /* ALLOW_AUTODIFF_TAMC */
437            CALL IMPLDIFF(            CALL IMPLDIFF(
438       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
# Line 437  CADJ STORE vVelD(:,:,:,bi,bj) = comlev1_ Line 440  CADJ STORE vVelD(:,:,:,bi,bj) = comlev1_
440       U         vVelD,       U         vVelD,
441       I         myThid )       I         myThid )
442  #ifdef    ALLOW_AUTODIFF_TAMC  #ifdef    ALLOW_AUTODIFF_TAMC
443  CADJ STORE uVelD(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte  CADJ STORE uVelD(:,:,:,bi,bj) = comlev1_bibj , key=idynkey, byte=isbyte
444  #endif    /* ALLOW_AUTODIFF_TAMC */  #endif    /* ALLOW_AUTODIFF_TAMC */
445            CALL IMPLDIFF(            CALL IMPLDIFF(
446       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,

Legend:
Removed from v.1.90  
changed lines
  Added in v.1.91

  ViewVC Help
Powered by ViewVC 1.1.22