/[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.110 by jmc, Wed Nov 10 03:02:00 2004 UTC revision 1.121 by jmc, Sat Jul 30 22:09:38 2005 UTC
# Line 108  C      |-- IMPLDIFF Line 108  C      |-- IMPLDIFF
108  C      |  C      |
109  C      |-- OBCS_APPLY_UV  C      |-- OBCS_APPLY_UV
110  C      |  C      |
 C      |-- CALL TIMEAVE_CUMUL_1T  
111  C      |-- CALL DEBUG_STATS_RL  C      |-- CALL DEBUG_STATS_RL
112    
113  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
# Line 122  C     myThid - Thread number for this in Line 121  C     myThid - Thread number for this in
121    
122  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
123  C     == Local variables  C     == Local variables
124  C     fVer[STUV]               o fVer: Vertical flux term - note fVer  C     fVer[UV]               o fVer: Vertical flux term - note fVer
125  C                                      is "pipelined" in the vertical  C                                    is "pipelined" in the vertical
126  C                                      so we need an fVer for each  C                                    so we need an fVer for each
127  C                                      variable.  C                                    variable.
128  C     phiHydC    :: hydrostatic potential anomaly at cell center  C     phiHydC    :: hydrostatic potential anomaly at cell center
129  C                   In z coords phiHyd is the hydrostatic potential  C                   In z coords phiHyd is the hydrostatic potential
130  C                      (=pressure/rho0) anomaly  C                      (=pressure/rho0) anomaly
# Line 161  C                      index into fVerTe Line 160  C                      index into fVerTe
160        INTEGER i, j        INTEGER i, j
161        INTEGER k, km1, kp1, kup, kDown        INTEGER k, km1, kp1, kup, kDown
162    
163        LOGICAL  DIFFERENT_MULTIPLE  #ifdef ALLOW_DIAGNOSTICS
164        EXTERNAL DIFFERENT_MULTIPLE        _RL tmpFac
165    #endif /* ALLOW_DIAGNOSTICS */
166    
167    
168  C---    The algorithm...  C---    The algorithm...
169  C  C
# Line 260  C     uninitialised but inert locations. Line 261  C     uninitialised but inert locations.
261  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
262  cph(  cph(
263  c--   need some re-initialisation here to break dependencies  c--   need some re-initialisation here to break dependencies
 c--   totphihyd is assumed zero from ini_pressure, i.e.  
 c--   avoiding iterate pressure p = integral of (g*rho(p)*dz)  
264  cph)  cph)
            totPhiHyd(i,j,k,bi,bj) = 0. _d 0  
265             gu(i,j,k,bi,bj) = 0. _d 0             gu(i,j,k,bi,bj) = 0. _d 0
266             gv(i,j,k,bi,bj) = 0. _d 0             gv(i,j,k,bi,bj) = 0. _d 0
267  #endif  #endif
# Line 372  C        and step forward storing the re Line 370  C        and step forward storing the re
370  #ifdef ALLOW_MOM_FLUXFORM  #ifdef ALLOW_MOM_FLUXFORM
371             IF (.NOT. vectorInvariantMomentum) CALL MOM_FLUXFORM(             IF (.NOT. vectorInvariantMomentum) CALL MOM_FLUXFORM(
372       I         bi,bj,iMin,iMax,jMin,jMax,k,kup,kDown,       I         bi,bj,iMin,iMax,jMin,jMax,k,kup,kDown,
373       I         dPhiHydX,dPhiHydY,KappaRU,KappaRV,       I         KappaRU, KappaRV,
374       U         fVerU, fVerV,       U         fVerU, fVerV,
375         O         guDissip, gvDissip,
376       I         myTime, myIter, myThid)       I         myTime, myIter, myThid)
377  #endif  #endif
378  #ifdef ALLOW_MOM_VECINV  #ifdef ALLOW_MOM_VECINV
379             IF (vectorInvariantMomentum) CALL MOM_VECINV(             IF (vectorInvariantMomentum) CALL MOM_VECINV(
380       I         bi,bj,iMin,iMax,jMin,jMax,k,kup,kDown,       I         bi,bj,iMin,iMax,jMin,jMax,k,kup,kDown,
381       I         dPhiHydX,dPhiHydY,KappaRU,KappaRV,       I         KappaRU, KappaRV,
382       U         fVerU, fVerV,       U         fVerU, fVerV,
383       O         guDissip, gvDissip,       O         guDissip, gvDissip,
384       I         myTime, myIter, myThid)       I         myTime, myIter, myThid)
# Line 420  CADJ STORE gU(:,:,:,bi,bj) = comlev1_bib Line 419  CADJ STORE gU(:,:,:,bi,bj) = comlev1_bib
419  #endif    /* ALLOW_AUTODIFF_TAMC */  #endif    /* ALLOW_AUTODIFF_TAMC */
420            CALL IMPLDIFF(            CALL IMPLDIFF(
421       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
422       I         deltaTmom, KappaRU,recip_HFacW,       I         0, KappaRU,recip_HFacW,
423       U         gU,       U         gU,
424       I         myThid )       I         myThid )
425  #ifdef    ALLOW_AUTODIFF_TAMC  #ifdef    ALLOW_AUTODIFF_TAMC
# Line 429  CADJ STORE gV(:,:,:,bi,bj) = comlev1_bib Line 428  CADJ STORE gV(:,:,:,bi,bj) = comlev1_bib
428  #endif    /* ALLOW_AUTODIFF_TAMC */  #endif    /* ALLOW_AUTODIFF_TAMC */
429            CALL IMPLDIFF(            CALL IMPLDIFF(
430       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
431       I         deltaTmom, KappaRV,recip_HFacS,       I         0, KappaRV,recip_HFacS,
432       U         gV,       U         gV,
433       I         myThid )       I         myThid )
434          ENDIF          ENDIF
# Line 450  CADJ STORE vVelD(:,:,:,bi,bj) = comlev1_ Line 449  CADJ STORE vVelD(:,:,:,bi,bj) = comlev1_
449  #endif    /* ALLOW_AUTODIFF_TAMC */  #endif    /* ALLOW_AUTODIFF_TAMC */
450            CALL IMPLDIFF(            CALL IMPLDIFF(
451       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
452       I         deltaTmom, KappaRU,recip_HFacW,       I         0, KappaRU,recip_HFacW,
453       U         vVelD,       U         vVelD,
454       I         myThid )       I         myThid )
455  #ifdef    ALLOW_AUTODIFF_TAMC  #ifdef    ALLOW_AUTODIFF_TAMC
# Line 458  CADJ STORE uVelD(:,:,:,bi,bj) = comlev1_ Line 457  CADJ STORE uVelD(:,:,:,bi,bj) = comlev1_
457  #endif    /* ALLOW_AUTODIFF_TAMC */  #endif    /* ALLOW_AUTODIFF_TAMC */
458            CALL IMPLDIFF(            CALL IMPLDIFF(
459       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
460       I         deltaTmom, KappaRV,recip_HFacS,       I         0, KappaRV,recip_HFacS,
461       U         uVelD,       U         uVelD,
462       I         myThid )       I         myThid )
463          ENDIF          ENDIF
# Line 474  C--     End implicit Vertical advection Line 473  C--     End implicit Vertical advection
473        ENDIF        ENDIF
474  #endif  #endif
475    
476    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
477    
478  Cml(  Cml(
479  C     In order to compare the variance of phiHydLow of a p/z-coordinate  C     In order to compare the variance of phiHydLow of a p/z-coordinate
480  C     run with etaH of a z/p-coordinate run the drift of phiHydLow  C     run with etaH of a z/p-coordinate run the drift of phiHydLow
# Line 482  C      CALL REMOVE_MEAN_RL( 1, phiHydLow Line 483  C      CALL REMOVE_MEAN_RL( 1, phiHydLow
483  C     &                'phiHydLow', myThid )  C     &                'phiHydLow', myThid )
484  Cml)  Cml)
485    
486    #ifdef ALLOW_DIAGNOSTICS
487          IF ( usediagnostics ) THEN
488    
489           CALL DIAGNOSTICS_FILL(totPhihyd,'PHIHYD  ',0,Nr,0,1,1,myThid)
490           CALL DIAGNOSTICS_FILL(phiHydLow,'PHIBOT  ',0, 1,0,1,1,myThid)
491    
492           tmpFac = 1. _d 0
493           CALL DIAGNOSTICS_SCALE_FILL(totPhihyd,tmpFac,2,
494         &                                 'PHIHYDSQ',0,Nr,0,1,1,myThid)
495    
496           CALL DIAGNOSTICS_SCALE_FILL(phiHydLow,tmpFac,2,
497         &                                 'PHIBOTSQ',0, 1,0,1,1,myThid)
498    
499          ENDIF
500    #endif /* ALLOW_DIAGNOSTICS */
501          
502  #ifdef ALLOW_DEBUG  #ifdef ALLOW_DEBUG
503        If ( debugLevel .GE. debLevB ) THEN        If ( debugLevel .GE. debLevB ) THEN
504         CALL DEBUG_STATS_RL(1,EtaN,'EtaN (DYNAMICS)',myThid)         CALL DEBUG_STATS_RL(1,EtaN,'EtaN (DYNAMICS)',myThid)
# Line 490  Cml) Line 507  Cml)
507         CALL DEBUG_STATS_RL(Nr,wVel,'Wvel (DYNAMICS)',myThid)         CALL DEBUG_STATS_RL(Nr,wVel,'Wvel (DYNAMICS)',myThid)
508         CALL DEBUG_STATS_RL(Nr,theta,'Theta (DYNAMICS)',myThid)         CALL DEBUG_STATS_RL(Nr,theta,'Theta (DYNAMICS)',myThid)
509         CALL DEBUG_STATS_RL(Nr,salt,'Salt (DYNAMICS)',myThid)         CALL DEBUG_STATS_RL(Nr,salt,'Salt (DYNAMICS)',myThid)
510         CALL DEBUG_STATS_RL(Nr,Gu,'Gu (DYNAMICS)',myThid)         CALL DEBUG_STATS_RL(Nr,gU,'Gu (DYNAMICS)',myThid)
511         CALL DEBUG_STATS_RL(Nr,Gv,'Gv (DYNAMICS)',myThid)         CALL DEBUG_STATS_RL(Nr,gV,'Gv (DYNAMICS)',myThid)
512         CALL DEBUG_STATS_RL(Nr,Gt,'Gt (DYNAMICS)',myThid)         CALL DEBUG_STATS_RL(Nr,gT,'Gt (DYNAMICS)',myThid)
513         CALL DEBUG_STATS_RL(Nr,Gs,'Gs (DYNAMICS)',myThid)         CALL DEBUG_STATS_RL(Nr,gS,'Gs (DYNAMICS)',myThid)
514         CALL DEBUG_STATS_RL(Nr,GuNm1,'GuNm1 (DYNAMICS)',myThid)  #ifndef ALLOW_ADAMSBASHFORTH_3
515         CALL DEBUG_STATS_RL(Nr,GvNm1,'GvNm1 (DYNAMICS)',myThid)         CALL DEBUG_STATS_RL(Nr,guNm1,'GuNm1 (DYNAMICS)',myThid)
516         CALL DEBUG_STATS_RL(Nr,GtNm1,'GtNm1 (DYNAMICS)',myThid)         CALL DEBUG_STATS_RL(Nr,gvNm1,'GvNm1 (DYNAMICS)',myThid)
517         CALL DEBUG_STATS_RL(Nr,GsNm1,'GsNm1 (DYNAMICS)',myThid)         CALL DEBUG_STATS_RL(Nr,gtNm1,'GtNm1 (DYNAMICS)',myThid)
518           CALL DEBUG_STATS_RL(Nr,gsNm1,'GsNm1 (DYNAMICS)',myThid)
519    #endif
520        ENDIF        ENDIF
521  #endif  #endif
522    

Legend:
Removed from v.1.110  
changed lines
  Added in v.1.121

  ViewVC Help
Powered by ViewVC 1.1.22