--- MITgcm/model/src/dynamics.F 2004/11/10 03:02:00 1.110 +++ MITgcm/model/src/dynamics.F 2005/04/06 18:29:53 1.114 @@ -1,4 +1,4 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/dynamics.F,v 1.110 2004/11/10 03:02:00 jmc Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/dynamics.F,v 1.114 2005/04/06 18:29:53 jmc Exp $ C $Name: $ #include "PACKAGES_CONFIG.h" @@ -108,7 +108,6 @@ C | C |-- OBCS_APPLY_UV C | -C |-- CALL TIMEAVE_CUMUL_1T C |-- CALL DEBUG_STATS_RL C !INPUT/OUTPUT PARAMETERS: @@ -122,10 +121,10 @@ C !LOCAL VARIABLES: C == Local variables -C fVer[STUV] o fVer: Vertical flux term - note fVer -C is "pipelined" in the vertical -C so we need an fVer for each -C variable. +C fVer[UV] o fVer: Vertical flux term - note fVer +C is "pipelined" in the vertical +C so we need an fVer for each +C variable. C phiHydC :: hydrostatic potential anomaly at cell center C In z coords phiHyd is the hydrostatic potential C (=pressure/rho0) anomaly @@ -161,8 +160,12 @@ INTEGER i, j INTEGER k, km1, kp1, kup, kDown - LOGICAL DIFFERENT_MULTIPLE - EXTERNAL DIFFERENT_MULTIPLE +#ifdef ALLOW_DIAGNOSTICS + _RL tmpFld (1-OLx:sNx+OLx,1-OLy:sNy+OLy) + LOGICAL DIAGNOSTICS_IS_ON + EXTERNAL DIAGNOSTICS_IS_ON +#endif /* ALLOW_DIAGNOSTICS */ + C--- The algorithm... C @@ -260,10 +263,7 @@ #ifdef ALLOW_AUTODIFF_TAMC cph( 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) cph) - totPhiHyd(i,j,k,bi,bj) = 0. _d 0 gu(i,j,k,bi,bj) = 0. _d 0 gv(i,j,k,bi,bj) = 0. _d 0 #endif @@ -420,7 +420,7 @@ #endif /* ALLOW_AUTODIFF_TAMC */ CALL IMPLDIFF( I bi, bj, iMin, iMax, jMin, jMax, - I deltaTmom, KappaRU,recip_HFacW, + I 0, KappaRU,recip_HFacW, U gU, I myThid ) #ifdef ALLOW_AUTODIFF_TAMC @@ -429,7 +429,7 @@ #endif /* ALLOW_AUTODIFF_TAMC */ CALL IMPLDIFF( I bi, bj, iMin, iMax, jMin, jMax, - I deltaTmom, KappaRV,recip_HFacS, + I 0, KappaRV,recip_HFacS, U gV, I myThid ) ENDIF @@ -450,7 +450,7 @@ #endif /* ALLOW_AUTODIFF_TAMC */ CALL IMPLDIFF( I bi, bj, iMin, iMax, jMin, jMax, - I deltaTmom, KappaRU,recip_HFacW, + I 0, KappaRU,recip_HFacW, U vVelD, I myThid ) #ifdef ALLOW_AUTODIFF_TAMC @@ -458,7 +458,7 @@ #endif /* ALLOW_AUTODIFF_TAMC */ CALL IMPLDIFF( I bi, bj, iMin, iMax, jMin, jMax, - I deltaTmom, KappaRV,recip_HFacS, + I 0, KappaRV,recip_HFacS, U uVelD, I myThid ) ENDIF @@ -474,6 +474,8 @@ ENDIF #endif +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + Cml( C In order to compare the variance of phiHydLow of a p/z-coordinate C run with etaH of a z/p-coordinate run the drift of phiHydLow @@ -482,6 +484,28 @@ C & 'phiHydLow', myThid ) Cml) +#ifdef ALLOW_DIAGNOSTICS + IF ( usediagnostics ) THEN + + CALL DIAGNOSTICS_FILL(totPhihyd,'PHIHYD ',0,Nr,0,1,1,myThid) + CALL DIAGNOSTICS_FILL(phiHydLow,'PHIBOT ',0,1,0,1,1,myThid) + + IF ( DIAGNOSTICS_IS_ON('PHIBOTSQ',myThid) ) THEN + DO bj = myByLo(myThid), myByHi(myThid) + DO bi = myBxLo(myThid), myBxHi(myThid) + DO j = 1,sNy + DO i = 1,sNx + tmpFld(i,j) = phiHydLow(i,j,bi,bj)*phiHydLow(i,j,bi,bj) + ENDDO + ENDDO + CALL DIAGNOSTICS_FILL(tmpFld,'PHIBOTSQ',0,1,2,bi,bj,myThid) + ENDDO + ENDDO + ENDIF + + ENDIF +#endif /* ALLOW_DIAGNOSTICS */ + #ifdef ALLOW_DEBUG If ( debugLevel .GE. debLevB ) THEN CALL DEBUG_STATS_RL(1,EtaN,'EtaN (DYNAMICS)',myThid)