152 |
C three-dimensional con. grad solver. |
C three-dimensional con. grad solver. |
153 |
C cg3dChkResFreq :: Frequency with which to check residual |
C cg3dChkResFreq :: Frequency with which to check residual |
154 |
C in con. grad solver. |
C in con. grad solver. |
155 |
|
C printResidualFreq :: Frequency for printing residual in CG iterations |
156 |
C nIter0 :: Start time-step number of for this run |
C nIter0 :: Start time-step number of for this run |
157 |
C nTimeSteps :: Number of timesteps to execute |
C nTimeSteps :: Number of timesteps to execute |
158 |
C writeStatePrec :: Precision used for writing model state. |
C writeStatePrec :: Precision used for writing model state. |
189 |
C and statistics ; higher -> more writing |
C and statistics ; higher -> more writing |
190 |
|
|
191 |
COMMON /PARM_I/ |
COMMON /PARM_I/ |
192 |
& cg2dMaxIters, |
& cg2dMaxIters, cg2dChkResFreq, cg2dPreCondFreq, |
193 |
& cg2dChkResFreq, cg2dPreCondFreq, |
& cg3dMaxIters, cg3dChkResFreq, |
194 |
& cg3dMaxIters, |
& printResidualFreq, |
|
& cg3dChkResFreq, |
|
195 |
& nIter0, nTimeSteps, nEndIter, |
& nIter0, nTimeSteps, nEndIter, |
196 |
& writeStatePrec, |
& writeStatePrec, |
197 |
& writeBinaryPrec, readBinaryPrec, |
& writeBinaryPrec, readBinaryPrec, |
210 |
INTEGER cg2dPreCondFreq |
INTEGER cg2dPreCondFreq |
211 |
INTEGER cg3dMaxIters |
INTEGER cg3dMaxIters |
212 |
INTEGER cg3dChkResFreq |
INTEGER cg3dChkResFreq |
213 |
|
INTEGER printResidualFreq |
214 |
INTEGER nIter0 |
INTEGER nIter0 |
215 |
INTEGER nTimeSteps |
INTEGER nTimeSteps |
216 |
INTEGER nEndIter |
INTEGER nEndIter |
282 |
C useAbsVorticity :: work with f+zeta in Coriolis terms |
C useAbsVorticity :: work with f+zeta in Coriolis terms |
283 |
C upwindShear :: use 1rst order upwind interp. (V.I., vertical advection) |
C upwindShear :: use 1rst order upwind interp. (V.I., vertical advection) |
284 |
C momStepping :: Turns momentum equation time-stepping off |
C momStepping :: Turns momentum equation time-stepping off |
285 |
|
C calc_wVelocity :: Turns of vertical velocity calculation off |
286 |
C- Temp. & Salt params: |
C- Temp. & Salt params: |
287 |
C tempStepping :: Turns temperature equation time-stepping off |
C tempStepping :: Turns temperature equation time-stepping off |
288 |
C saltStepping :: Turns salinity equation time-stepping off |
C saltStepping :: Turns salinity equation time-stepping off |
318 |
C use3Dsolver :: set to true to use 3-D pressure solver |
C use3Dsolver :: set to true to use 3-D pressure solver |
319 |
C implicitIntGravWave :: treat Internal Gravity Wave implicitly |
C implicitIntGravWave :: treat Internal Gravity Wave implicitly |
320 |
C staggerTimeStep :: enable a Stagger time stepping U,V (& W) then T,S |
C staggerTimeStep :: enable a Stagger time stepping U,V (& W) then T,S |
321 |
|
C doResetHFactors :: Do reset thickness factors @ beginning of each time-step |
322 |
C implicitDiffusion :: Turns implicit vertical diffusion on |
C implicitDiffusion :: Turns implicit vertical diffusion on |
323 |
C implicitViscosity :: Turns implicit vertical viscosity on |
C implicitViscosity :: Turns implicit vertical viscosity on |
324 |
C tempImplVertAdv :: Turns on implicit vertical advection for Temperature |
C tempImplVertAdv :: Turns on implicit vertical advection for Temperature |
359 |
C monitor_stdio :: use stdio for monitor output |
C monitor_stdio :: use stdio for monitor output |
360 |
C dumpInitAndLast :: dumps model state to files at Initial (nIter0) |
C dumpInitAndLast :: dumps model state to files at Initial (nIter0) |
361 |
C & Last iteration, in addition multiple of dumpFreq iter. |
C & Last iteration, in addition multiple of dumpFreq iter. |
|
C debugMode :: controls printing of debug msg (sequence of S/R calls). |
|
362 |
C printDomain :: controls printing of domain fields (bathy, hFac ...). |
C printDomain :: controls printing of domain fields (bathy, hFac ...). |
363 |
|
|
364 |
COMMON /PARM_L/ |
COMMON /PARM_L/ |
376 |
& useEnergyConservingCoriolis, useJamartWetPoints, useJamartMomAdv, |
& useEnergyConservingCoriolis, useJamartWetPoints, useJamartMomAdv, |
377 |
& upwindVorticity, highOrderVorticity, |
& upwindVorticity, highOrderVorticity, |
378 |
& useAbsVorticity, upwindShear, |
& useAbsVorticity, upwindShear, |
379 |
& momStepping, tempStepping, saltStepping, |
& momStepping, calc_wVelocity, tempStepping, saltStepping, |
380 |
& tempAdvection, tempIsActiveTr, tempForcing, |
& tempAdvection, tempIsActiveTr, tempForcing, |
381 |
& saltAdvection, saltIsActiveTr, saltForcing, |
& saltAdvection, saltIsActiveTr, saltForcing, |
382 |
& maskIniTemp, maskIniSalt, checkIniTemp, checkIniSalt, |
& maskIniTemp, maskIniSalt, checkIniTemp, checkIniSalt, |
383 |
& useRealFreshWaterFlux, useSRCGSolver, |
& useRealFreshWaterFlux, useSRCGSolver, |
384 |
& rigidLid, implicitFreeSurface, exactConserv, linFSConserveTr, |
& rigidLid, implicitFreeSurface, exactConserv, linFSConserveTr, |
385 |
& uniformLin_PhiSurf, |
& uniformLin_PhiSurf, |
386 |
& quasiHydrostatic, nonHydrostatic, |
& quasiHydrostatic, nonHydrostatic, use3Dsolver, |
387 |
& use3Dsolver, implicitIntGravWave, staggerTimeStep, |
& implicitIntGravWave, staggerTimeStep, doResetHFactors, |
388 |
& implicitDiffusion, implicitViscosity, |
& implicitDiffusion, implicitViscosity, |
389 |
& tempImplVertAdv, saltImplVertAdv, momImplVertAdv, |
& tempImplVertAdv, saltImplVertAdv, momImplVertAdv, |
390 |
& multiDimAdvection, useMultiDimAdvec, |
& multiDimAdvection, useMultiDimAdvec, |
399 |
& writePickupAtEnd, |
& writePickupAtEnd, |
400 |
& timeave_mdsio, snapshot_mdsio, monitor_stdio, |
& timeave_mdsio, snapshot_mdsio, monitor_stdio, |
401 |
& outputTypesInclusive, dumpInitAndLast, |
& outputTypesInclusive, dumpInitAndLast, |
402 |
& debugMode, printDomain, |
& printDomain, |
403 |
& inAdMode, inAdTrue, inAdFalse, inAdExact |
& inAdMode, inAdTrue, inAdFalse, inAdExact |
404 |
|
|
405 |
LOGICAL fluidIsAir |
LOGICAL fluidIsAir |
448 |
LOGICAL use3Dsolver |
LOGICAL use3Dsolver |
449 |
LOGICAL implicitIntGravWave |
LOGICAL implicitIntGravWave |
450 |
LOGICAL staggerTimeStep |
LOGICAL staggerTimeStep |
451 |
|
LOGICAL doResetHFactors |
452 |
LOGICAL momStepping |
LOGICAL momStepping |
453 |
|
LOGICAL calc_wVelocity |
454 |
LOGICAL tempStepping |
LOGICAL tempStepping |
455 |
LOGICAL saltStepping |
LOGICAL saltStepping |
456 |
LOGICAL metricTerms |
LOGICAL metricTerms |
489 |
LOGICAL timeave_mdsio, snapshot_mdsio, monitor_stdio |
LOGICAL timeave_mdsio, snapshot_mdsio, monitor_stdio |
490 |
LOGICAL outputTypesInclusive |
LOGICAL outputTypesInclusive |
491 |
LOGICAL dumpInitAndLast |
LOGICAL dumpInitAndLast |
492 |
LOGICAL debugMode, printDomain |
LOGICAL printDomain |
493 |
LOGICAL inAdMode, inAdTrue, inAdFalse, inAdExact |
LOGICAL inAdMode, inAdTrue, inAdFalse, inAdExact |
494 |
|
|
495 |
C-- COMMON /PARM_R/ "Real" valued parameters used by the model. |
C-- COMMON /PARM_R/ "Real" valued parameters used by the model. |
516 |
C delR :: Vertical grid spacing ( units of r ). |
C delR :: Vertical grid spacing ( units of r ). |
517 |
C delRc :: Vertical grid spacing between cell centers (r unit). |
C delRc :: Vertical grid spacing between cell centers (r unit). |
518 |
C delX :: Separation between cell faces (m) or (deg), depending |
C delX :: Separation between cell faces (m) or (deg), depending |
519 |
C delY on input flags. |
C delY on input flags. Note: moved to header file SET_GRID.h |
520 |
C xgOrigin :: Origin of the X-axis (Cartesian Grid) / Longitude of Western |
C xgOrigin :: Origin of the X-axis (Cartesian Grid) / Longitude of Western |
521 |
C :: most cell face (Lat-Lon grid) (Note: this is an "inert" |
C :: most cell face (Lat-Lon grid) (Note: this is an "inert" |
522 |
C :: parameter but it makes geographical references simple.) |
C :: parameter but it makes geographical references simple.) |
526 |
C recip_gravity and its inverse |
C recip_gravity and its inverse |
527 |
C gBaro :: Accel. due to gravity used in barotropic equation ( m/s^2 ) |
C gBaro :: Accel. due to gravity used in barotropic equation ( m/s^2 ) |
528 |
C rhoNil :: Reference density for the linear equation of state |
C rhoNil :: Reference density for the linear equation of state |
529 |
C rhoConst :: Vertically constant reference density |
C rhoConst :: Vertically constant reference density (Boussinesq) |
530 |
C rhoFacC :: normalized (by rhoConst) reference density at cell-Center |
C rhoFacC :: normalized (by rhoConst) reference density at cell-Center |
531 |
C rhoFacF :: normalized (by rhoConst) reference density at cell-interFace |
C rhoFacF :: normalized (by rhoConst) reference density at cell-interFace |
532 |
C rhoConstFresh :: Constant reference density for fresh water (rain) |
C rhoConstFresh :: Constant reference density for fresh water (rain) |
534 |
C tRef :: reference vertical profile for potential temperature |
C tRef :: reference vertical profile for potential temperature |
535 |
C sRef :: reference vertical profile for salinity/specific humidity |
C sRef :: reference vertical profile for salinity/specific humidity |
536 |
C phiRef :: reference potential (pressure/rho, geopotential) profile |
C phiRef :: reference potential (pressure/rho, geopotential) profile |
537 |
C dBdrRef :: vertical gradient of reference boyancy [(m/s/r)^2)]: |
C dBdrRef :: vertical gradient of reference buoyancy [(m/s/r)^2]: |
538 |
C :: z-coord: = N^2_ref = Brunt-Vaissala frequency [s^-2] |
C :: z-coord: = N^2_ref = Brunt-Vaissala frequency [s^-2] |
539 |
C :: p-coord: = -(d.alpha/dp)_ref [(m^2.s/kg)^2] |
C :: p-coord: = -(d.alpha/dp)_ref [(m^2.s/kg)^2] |
540 |
C rVel2wUnit :: units conversion factor (Non-Hydrostatic code), |
C rVel2wUnit :: units conversion factor (Non-Hydrostatic code), |
718 |
C psiEuler :: Euler angle, rotation about new z-axis |
C psiEuler :: Euler angle, rotation about new z-axis |
719 |
COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit, |
COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit, |
720 |
& cg2dpcOffDFac, cg3dTargetResidual, |
& cg2dpcOffDFac, cg3dTargetResidual, |
721 |
& delR, delRc, delX, delY, xgOrigin, ygOrigin, |
& delR, delRc, xgOrigin, ygOrigin, |
722 |
& deltaT, deltaTmom, dTtracerLev, deltaTfreesurf, deltaTClock, |
& deltaT, deltaTmom, dTtracerLev, deltaTfreesurf, deltaTClock, |
723 |
& abEps, alph_AB, beta_AB, |
& abEps, alph_AB, beta_AB, |
724 |
& rSphere, recip_rSphere, radius_fromHorizGrid, |
& rSphere, recip_rSphere, radius_fromHorizGrid, |
741 |
& freeSurfFac, implicSurfPress, implicDiv2Dflow, implicitNHPress, |
& freeSurfFac, implicSurfPress, implicDiv2Dflow, implicitNHPress, |
742 |
& hFacMin, hFacMinDz, hFacInf, hFacSup, |
& hFacMin, hFacMinDz, hFacInf, hFacSup, |
743 |
& gravity, recip_gravity, gBaro, |
& gravity, recip_gravity, gBaro, |
744 |
& rhonil, recip_rhonil, rhoConst, recip_rhoConst, |
& rhoNil, rhoConst, recip_rhoConst, |
745 |
& rhoFacC, recip_rhoFacC, rhoFacF, recip_rhoFacF, |
& rhoFacC, recip_rhoFacC, rhoFacF, recip_rhoFacF, |
746 |
& rhoConstFresh, rho1Ref, tRef, sRef, phiRef, dBdrRef, |
& rhoConstFresh, rho1Ref, tRef, sRef, phiRef, dBdrRef, |
747 |
& rVel2wUnit, wUnit2rVel, mass2rUnit, rUnit2mass, |
& rVel2wUnit, wUnit2rVel, mass2rUnit, rUnit2mass, |
767 |
_RL cg2dpcOffDFac |
_RL cg2dpcOffDFac |
768 |
_RL delR(Nr) |
_RL delR(Nr) |
769 |
_RL delRc(Nr+1) |
_RL delRc(Nr+1) |
|
_RL delX(Nx) |
|
|
_RL delY(Ny) |
|
770 |
_RL xgOrigin |
_RL xgOrigin |
771 |
_RL ygOrigin |
_RL ygOrigin |
772 |
_RL deltaT |
_RL deltaT |
834 |
_RL gravity |
_RL gravity |
835 |
_RL recip_gravity |
_RL recip_gravity |
836 |
_RL gBaro |
_RL gBaro |
837 |
_RL rhonil, recip_rhonil |
_RL rhoNil |
838 |
_RL rhoConst, recip_rhoConst |
_RL rhoConst, recip_rhoConst |
839 |
_RL rhoFacC(Nr), recip_rhoFacC(Nr) |
_RL rhoFacC(Nr), recip_rhoFacC(Nr) |
840 |
_RL rhoFacF(Nr+1), recip_rhoFacF(Nr+1) |
_RL rhoFacF(Nr+1), recip_rhoFacF(Nr+1) |
928 |
LOGICAL useKPP |
LOGICAL useKPP |
929 |
LOGICAL useGMRedi |
LOGICAL useGMRedi |
930 |
LOGICAL useDOWN_SLOPE |
LOGICAL useDOWN_SLOPE |
931 |
|
LOGICAL useBBL |
932 |
LOGICAL useCAL |
LOGICAL useCAL |
933 |
LOGICAL useEXF |
LOGICAL useEXF |
934 |
LOGICAL useBulkForce |
LOGICAL useBulkForce |
944 |
LOGICAL useRBCS |
LOGICAL useRBCS |
945 |
LOGICAL useOffLine |
LOGICAL useOffLine |
946 |
LOGICAL useMATRIX |
LOGICAL useMATRIX |
947 |
|
LOGICAL useFRAZIL |
948 |
LOGICAL useSEAICE |
LOGICAL useSEAICE |
949 |
LOGICAL useSALT_PLUME |
LOGICAL useSALT_PLUME |
950 |
LOGICAL useShelfIce |
LOGICAL useShelfIce |
951 |
|
LOGICAL useStreamIce |
952 |
LOGICAL useICEFRONT |
LOGICAL useICEFRONT |
953 |
LOGICAL useThSIce |
LOGICAL useThSIce |
954 |
LOGICAL useATM2d |
LOGICAL useATM2d |
966 |
COMMON /PARM_PACKAGES/ |
COMMON /PARM_PACKAGES/ |
967 |
& useGAD, useOBCS, useSHAP_FILT, useZONAL_FILT, |
& useGAD, useOBCS, useSHAP_FILT, useZONAL_FILT, |
968 |
& useOPPS, usePP81, useMY82, useGGL90, useKPP, |
& useOPPS, usePP81, useMY82, useGGL90, useKPP, |
969 |
& useGMRedi, useDOWN_SLOPE, |
& useGMRedi, useBBL, useDOWN_SLOPE, |
970 |
& useCAL, useEXF, useBulkForce, useEBM, useCheapAML, |
& useCAL, useEXF, useBulkForce, useEBM, useCheapAML, |
971 |
& useGrdchk, useSMOOTH, useECCO, useSBO, useFLT, |
& useGrdchk, useSMOOTH, useECCO, useSBO, useFLT, |
972 |
& usePTRACERS, useGCHEM, useRBCS, useOffLine, useMATRIX, |
& usePTRACERS, useGCHEM, useRBCS, useOffLine, useMATRIX, |
973 |
& useSEAICE, useSALT_PLUME, useShelfIce, |
& useFRAZIL, useSEAICE, useSALT_PLUME, useShelfIce, |
974 |
& useICEFRONT, useThSIce, |
& useStreamIce, useICEFRONT, useThSIce, |
975 |
& useATM2D, useAIM, useLand, useFizhi, useGridAlt, |
& useATM2D, useAIM, useLand, useFizhi, useGridAlt, |
976 |
& useDiagnostics, useREGRID, useLayers, useMNC, |
& useDiagnostics, useREGRID, useLayers, useMNC, |
977 |
& useRunClock, useEMBED_FILES, |
& useRunClock, useEMBED_FILES, |
978 |
& useMYPACKAGE |
& useMYPACKAGE |
979 |
|
|
980 |
|
C Logical flags for turning off parts of the code in adjoint mode |
981 |
|
LOGICAL useKPPinAdMode, useKPPinFwdMode |
982 |
|
LOGICAL useGMrediInAdMode, useGMrediInFwdMode |
983 |
|
LOGICAL useSEAICEinAdMode, useSEAICEinFwdMode |
984 |
|
COMMON /PARM_PACKAGES_ADJ/ |
985 |
|
& useKPPinAdMode, useKPPinFwdMode, |
986 |
|
& useGMrediInAdMode, useGMrediInFwdMode, |
987 |
|
& useSEAICEinAdMode, useSEAICEinFwdMode |
988 |
|
|
989 |
CEH3 ;;; Local Variables: *** |
CEH3 ;;; Local Variables: *** |
990 |
CEH3 ;;; mode:fortran *** |
CEH3 ;;; mode:fortran *** |
991 |
CEH3 ;;; End: *** |
CEH3 ;;; End: *** |