33 |
C and read pickup files with this suffix (max 10 Char.) |
C and read pickup files with this suffix (max 10 Char.) |
34 |
C mdsioLocalDir :: read-write tiled file from/to this directory name |
C mdsioLocalDir :: read-write tiled file from/to this directory name |
35 |
C (+ 4 digits Processor-Rank) instead of current dir. |
C (+ 4 digits Processor-Rank) instead of current dir. |
36 |
|
C adTapeDir :: read-write checkpointing tape files from/to this |
37 |
|
C directory name instead of current dir. Conflicts |
38 |
|
C mdsioLocalDir, so only one of the two can be set. |
39 |
|
C In contrast to mdsioLocalDir, if specified adTapeDir |
40 |
|
C must exist before the model starts. |
41 |
C tRefFile :: File containing reference Potential Temperat. tRef (1.D) |
C tRefFile :: File containing reference Potential Temperat. tRef (1.D) |
42 |
C sRefFile :: File containing reference salinity/spec.humid. sRef (1.D) |
C sRefFile :: File containing reference salinity/spec.humid. sRef (1.D) |
43 |
C rhoRefFile :: File containing reference density profile rhoRef (1.D) |
C rhoRefFile :: File containing reference density profile rhoRef (1.D) |
83 |
C the_run_name :: string identifying the name of the model "run" |
C the_run_name :: string identifying the name of the model "run" |
84 |
COMMON /PARM_C/ |
COMMON /PARM_C/ |
85 |
& buoyancyRelation, eosType, |
& buoyancyRelation, eosType, |
86 |
& pickupSuff, mdsioLocalDir, |
& pickupSuff, mdsioLocalDir, adTapeDir, |
87 |
& tRefFile, sRefFile, rhoRefFile, |
& tRefFile, sRefFile, rhoRefFile, |
88 |
& delRFile, delRcFile, hybSigmFile, |
& delRFile, delRcFile, hybSigmFile, |
89 |
& delXFile, delYFile, horizGridFile, |
& delXFile, delYFile, horizGridFile, |
104 |
CHARACTER*(6) eosType |
CHARACTER*(6) eosType |
105 |
CHARACTER*(10) pickupSuff |
CHARACTER*(10) pickupSuff |
106 |
CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir |
CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir |
107 |
|
CHARACTER*(MAX_LEN_FNAM) adTapeDir |
108 |
CHARACTER*(MAX_LEN_FNAM) tRefFile |
CHARACTER*(MAX_LEN_FNAM) tRefFile |
109 |
CHARACTER*(MAX_LEN_FNAM) sRefFile |
CHARACTER*(MAX_LEN_FNAM) sRefFile |
110 |
CHARACTER*(MAX_LEN_FNAM) rhoRefFile |
CHARACTER*(MAX_LEN_FNAM) rhoRefFile |
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 |
337 |
C doSaltClimRelax :: Set true if relaxation to salinity |
C doSaltClimRelax :: Set true if relaxation to salinity |
338 |
C climatology is required. |
C climatology is required. |
339 |
C allowFreezing :: Allows surface water to freeze and form ice |
C allowFreezing :: Allows surface water to freeze and form ice |
340 |
|
C allowInteriorFreezing :: Allow water at depth to freeze and rise to the surface |
341 |
C useOldFreezing :: use the old version (before checkpoint52a_pre, 2003-11-12) |
C useOldFreezing :: use the old version (before checkpoint52a_pre, 2003-11-12) |
342 |
C periodicExternalForcing :: Set true if forcing is time-dependant |
C periodicExternalForcing :: Set true if forcing is time-dependant |
343 |
C- I/O parameters - |
C- I/O parameters - |
358 |
C monitor_stdio :: use stdio for monitor output |
C monitor_stdio :: use stdio for monitor output |
359 |
C dumpInitAndLast :: dumps model state to files at Initial (nIter0) |
C dumpInitAndLast :: dumps model state to files at Initial (nIter0) |
360 |
C & Last iteration, in addition multiple of dumpFreq iter. |
C & Last iteration, in addition multiple of dumpFreq iter. |
361 |
C debugMode :: controls printing of debug msg (sequence of S/R calls). |
C printDomain :: controls printing of domain fields (bathy, hFac ...). |
362 |
|
|
363 |
COMMON /PARM_L/ |
COMMON /PARM_L/ |
364 |
& fluidIsAir, fluidIsWater, |
& fluidIsAir, fluidIsWater, |
379 |
& tempAdvection, tempIsActiveTr, tempForcing, |
& tempAdvection, tempIsActiveTr, tempForcing, |
380 |
& saltAdvection, saltIsActiveTr, saltForcing, |
& saltAdvection, saltIsActiveTr, saltForcing, |
381 |
& maskIniTemp, maskIniSalt, checkIniTemp, checkIniSalt, |
& maskIniTemp, maskIniSalt, checkIniTemp, checkIniSalt, |
382 |
& useRealFreshWaterFlux, |
& useRealFreshWaterFlux, useSRCGSolver, |
383 |
& rigidLid, implicitFreeSurface, exactConserv, linFSConserveTr, |
& rigidLid, implicitFreeSurface, exactConserv, linFSConserveTr, |
384 |
& uniformLin_PhiSurf, |
& uniformLin_PhiSurf, |
385 |
& quasiHydrostatic, nonHydrostatic, |
& quasiHydrostatic, nonHydrostatic, |
390 |
& momDissip_In_AB, doAB_onGtGs, |
& momDissip_In_AB, doAB_onGtGs, |
391 |
& balanceEmPmR, balanceQnet, balancePrintMean, |
& balanceEmPmR, balanceQnet, balancePrintMean, |
392 |
& doThetaClimRelax, doSaltClimRelax, |
& doThetaClimRelax, doSaltClimRelax, |
393 |
& allowFreezing, useOldFreezing, |
& allowFreezing, allowInteriorFreezing, useOldFreezing, |
394 |
& periodicExternalForcing, |
& periodicExternalForcing, |
395 |
& globalFiles, |
& globalFiles, |
396 |
& pickupStrictlyMatch, usePickupBeforeC54, startFromPickupAB2, |
& pickupStrictlyMatch, usePickupBeforeC54, startFromPickupAB2, |
397 |
& pickup_read_mdsio, pickup_write_mdsio, pickup_write_immed, |
& pickup_read_mdsio, pickup_write_mdsio, pickup_write_immed, |
398 |
& writePickupAtEnd, |
& writePickupAtEnd, |
399 |
& timeave_mdsio, snapshot_mdsio, monitor_stdio, |
& timeave_mdsio, snapshot_mdsio, monitor_stdio, |
400 |
& outputTypesInclusive, dumpInitAndLast, debugMode, |
& outputTypesInclusive, dumpInitAndLast, |
401 |
& inAdMode, inAdTrue, inAdFalse, inAdExact, |
& printDomain, |
402 |
& useSRCGSolver |
& inAdMode, inAdTrue, inAdFalse, inAdExact |
403 |
|
|
404 |
LOGICAL fluidIsAir |
LOGICAL fluidIsAir |
405 |
LOGICAL fluidIsWater |
LOGICAL fluidIsWater |
416 |
LOGICAL useNHMTerms |
LOGICAL useNHMTerms |
417 |
LOGICAL no_slip_sides |
LOGICAL no_slip_sides |
418 |
LOGICAL no_slip_bottom |
LOGICAL no_slip_bottom |
419 |
|
LOGICAL useFullLeith |
420 |
|
LOGICAL useStrainTensionVisc |
421 |
|
LOGICAL useAreaViscLength |
422 |
LOGICAL momViscosity |
LOGICAL momViscosity |
423 |
LOGICAL momAdvection |
LOGICAL momAdvection |
424 |
LOGICAL momForcing |
LOGICAL momForcing |
436 |
LOGICAL checkIniTemp |
LOGICAL checkIniTemp |
437 |
LOGICAL checkIniSalt |
LOGICAL checkIniSalt |
438 |
LOGICAL useRealFreshWaterFlux |
LOGICAL useRealFreshWaterFlux |
439 |
LOGICAL useFullLeith |
LOGICAL useSRCGSolver |
|
LOGICAL useStrainTensionVisc |
|
|
LOGICAL useAreaViscLength |
|
440 |
LOGICAL rigidLid |
LOGICAL rigidLid |
441 |
LOGICAL implicitFreeSurface |
LOGICAL implicitFreeSurface |
442 |
LOGICAL exactConserv |
LOGICAL exactConserv |
475 |
LOGICAL doThetaClimRelax |
LOGICAL doThetaClimRelax |
476 |
LOGICAL doSaltClimRelax |
LOGICAL doSaltClimRelax |
477 |
LOGICAL allowFreezing |
LOGICAL allowFreezing |
478 |
|
LOGICAL allowInteriorFreezing |
479 |
LOGICAL useOldFreezing |
LOGICAL useOldFreezing |
480 |
LOGICAL periodicExternalForcing |
LOGICAL periodicExternalForcing |
481 |
LOGICAL globalFiles |
LOGICAL globalFiles |
487 |
LOGICAL timeave_mdsio, snapshot_mdsio, monitor_stdio |
LOGICAL timeave_mdsio, snapshot_mdsio, monitor_stdio |
488 |
LOGICAL outputTypesInclusive |
LOGICAL outputTypesInclusive |
489 |
LOGICAL dumpInitAndLast |
LOGICAL dumpInitAndLast |
490 |
LOGICAL debugMode |
LOGICAL printDomain |
491 |
LOGICAL inAdMode, inAdTrue, inAdFalse, inAdExact |
LOGICAL inAdMode, inAdTrue, inAdFalse, inAdExact |
|
LOGICAL useSRCGSolver |
|
492 |
|
|
493 |
C-- COMMON /PARM_R/ "Real" valued parameters used by the model. |
C-- COMMON /PARM_R/ "Real" valued parameters used by the model. |
494 |
C cg2dTargetResidual |
C cg2dTargetResidual |
515 |
C delRc :: Vertical grid spacing between cell centers (r unit). |
C delRc :: Vertical grid spacing between cell centers (r unit). |
516 |
C delX :: Separation between cell faces (m) or (deg), depending |
C delX :: Separation between cell faces (m) or (deg), depending |
517 |
C delY on input flags. |
C delY on input flags. |
518 |
|
C xgOrigin :: Origin of the X-axis (Cartesian Grid) / Longitude of Western |
519 |
|
C :: most cell face (Lat-Lon grid) (Note: this is an "inert" |
520 |
|
C :: parameter but it makes geographical references simple.) |
521 |
|
C ygOrigin :: Origin of the Y-axis (Cartesian Grid) / Latitude of Southern |
522 |
|
C :: most face (Lat-Lon grid). |
523 |
C gravity :: Accel. due to gravity ( m/s^2 ) |
C gravity :: Accel. due to gravity ( m/s^2 ) |
524 |
C recip_gravity and its inverse |
C recip_gravity and its inverse |
525 |
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 ) |
532 |
C tRef :: reference vertical profile for potential temperature |
C tRef :: reference vertical profile for potential temperature |
533 |
C sRef :: reference vertical profile for salinity/specific humidity |
C sRef :: reference vertical profile for salinity/specific humidity |
534 |
C phiRef :: reference potential (pressure/rho, geopotential) profile |
C phiRef :: reference potential (pressure/rho, geopotential) profile |
535 |
C dBdrRef :: vertical gradient of reference boyancy [(m/s/r)^2)]: |
C dBdrRef :: vertical gradient of reference buoyancy [(m/s/r)^2]: |
536 |
C :: z-coord: = N^2_ref = Brunt-Vaissala frequency [s^-2] |
C :: z-coord: = N^2_ref = Brunt-Vaissala frequency [s^-2] |
537 |
C :: p-coord: = -(d.alpha/dp)_ref [(m^2.s/kg)^2] |
C :: p-coord: = -(d.alpha/dp)_ref [(m^2.s/kg)^2] |
538 |
C rVel2wUnit :: units conversion factor (Non-Hydrostatic code), |
C rVel2wUnit :: units conversion factor (Non-Hydrostatic code), |
549 |
C :: from vertical r-coordinate unit to mass per unit area [kg/m2]. |
C :: from vertical r-coordinate unit to mass per unit area [kg/m2]. |
550 |
C :: z-coord: = rhoConst ( [m] * rho = [kg/m2] ) ; |
C :: z-coord: = rhoConst ( [m] * rho = [kg/m2] ) ; |
551 |
C :: p-coord: = 1/gravity ( [Pa] / g = [kg/m2] ) ; |
C :: p-coord: = 1/gravity ( [Pa] / g = [kg/m2] ) ; |
|
C xgOrigin :: Origin of the X-axis (Cartesian Grid) / Longitude of Western |
|
|
C :: most cell face (Lat-Lon grid) (Note: this is an "inert" |
|
|
C :: parameter but it makes geographical references simple.) |
|
|
C ygOrigin :: Origin of the Y-axis (Cartesian Grid) / Latitude of Southern |
|
|
C :: most face (Lat-Lon grid). |
|
552 |
C rSphere :: Radius of sphere for a spherical polar grid ( m ). |
C rSphere :: Radius of sphere for a spherical polar grid ( m ). |
553 |
C recip_rSphere :: Reciprocal radius of sphere ( m ). |
C recip_rSphere :: Reciprocal radius of sphere ( m ). |
554 |
|
C radius_fromHorizGrid :: sphere Radius of input horiz. grid (Curvilinear Grid) |
555 |
C f0 :: Reference coriolis parameter ( 1/s ) |
C f0 :: Reference coriolis parameter ( 1/s ) |
556 |
C ( Southern edge f for beta plane ) |
C ( Southern edge f for beta plane ) |
557 |
C beta :: df/dy ( s^-1.m^-1 ) |
C beta :: df/dy ( s^-1.m^-1 ) |
716 |
C psiEuler :: Euler angle, rotation about new z-axis |
C psiEuler :: Euler angle, rotation about new z-axis |
717 |
COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit, |
COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit, |
718 |
& cg2dpcOffDFac, cg3dTargetResidual, |
& cg2dpcOffDFac, cg3dTargetResidual, |
719 |
& delR, delRc, delX, delY, |
& delR, delRc, delX, delY, xgOrigin, ygOrigin, |
720 |
& deltaT, deltaTmom, dTtracerLev, deltaTfreesurf, deltaTClock, |
& deltaT, deltaTmom, dTtracerLev, deltaTfreesurf, deltaTClock, |
721 |
& abEps, alph_AB, beta_AB, |
& abEps, alph_AB, beta_AB, |
722 |
& xgOrigin, ygOrigin, rSphere, recip_rSphere, |
& rSphere, recip_rSphere, radius_fromHorizGrid, |
723 |
& f0, beta, fPrime, omega, rotationPeriod, |
& f0, beta, fPrime, omega, rotationPeriod, |
724 |
& viscFacAdj, viscAh, viscAhW, viscAhMax, |
& viscFacAdj, viscAh, viscAhW, viscAhMax, |
725 |
& viscAhGrid, viscAhGridMax, viscAhGridMin, |
& viscAhGrid, viscAhGridMax, viscAhGridMin, |
767 |
_RL delRc(Nr+1) |
_RL delRc(Nr+1) |
768 |
_RL delX(Nx) |
_RL delX(Nx) |
769 |
_RL delY(Ny) |
_RL delY(Ny) |
770 |
|
_RL xgOrigin |
771 |
|
_RL ygOrigin |
772 |
_RL deltaT |
_RL deltaT |
773 |
_RL deltaTClock |
_RL deltaTClock |
774 |
_RL deltaTmom |
_RL deltaTmom |
775 |
_RL dTtracerLev(Nr) |
_RL dTtracerLev(Nr) |
776 |
_RL deltaTfreesurf |
_RL deltaTfreesurf |
777 |
_RL abEps, alph_AB, beta_AB |
_RL abEps, alph_AB, beta_AB |
|
_RL xgOrigin |
|
|
_RL ygOrigin |
|
778 |
_RL rSphere |
_RL rSphere |
779 |
_RL recip_rSphere |
_RL recip_rSphere |
780 |
|
_RL radius_fromHorizGrid |
781 |
_RL f0 |
_RL f0 |
782 |
_RL beta |
_RL beta |
783 |
_RL fPrime |
_RL fPrime |
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 |
964 |
COMMON /PARM_PACKAGES/ |
COMMON /PARM_PACKAGES/ |
965 |
& useGAD, useOBCS, useSHAP_FILT, useZONAL_FILT, |
& useGAD, useOBCS, useSHAP_FILT, useZONAL_FILT, |
966 |
& useOPPS, usePP81, useMY82, useGGL90, useKPP, |
& useOPPS, usePP81, useMY82, useGGL90, useKPP, |
967 |
& useGMRedi, useDOWN_SLOPE, |
& useGMRedi, useBBL, useDOWN_SLOPE, |
968 |
& useCAL, useEXF, useBulkForce, useEBM, useCheapAML, |
& useCAL, useEXF, useBulkForce, useEBM, useCheapAML, |
969 |
& useGrdchk, useSMOOTH, useECCO, useSBO, useFLT, |
& useGrdchk, useSMOOTH, useECCO, useSBO, useFLT, |
970 |
& usePTRACERS, useGCHEM, useRBCS, useOffLine, useMATRIX, |
& usePTRACERS, useGCHEM, useRBCS, useOffLine, useMATRIX, |
974 |
& useDiagnostics, useREGRID, useLayers, useMNC, |
& useDiagnostics, useREGRID, useLayers, useMNC, |
975 |
& useRunClock, useEMBED_FILES, |
& useRunClock, useEMBED_FILES, |
976 |
& useMYPACKAGE |
& useMYPACKAGE |
977 |
|
|
978 |
|
C Logical flags for turning off parts of the code in adjoint mode |
979 |
|
LOGICAL useKPPinAdMode, useKPPinFwdMode |
980 |
|
LOGICAL useGMrediInAdMode, useGMrediInFwdMode |
981 |
|
LOGICAL useSEAICEinAdMode, useSEAICEinFwdMode |
982 |
|
COMMON /PARM_PACKAGES_ADJ/ |
983 |
|
& useKPPinAdMode, useKPPinFwdMode, |
984 |
|
& useGMrediInAdMode, useGMrediInFwdMode, |
985 |
|
& useSEAICEinAdMode, useSEAICEinFwdMode |
986 |
|
|
987 |
CEH3 ;;; Local Variables: *** |
CEH3 ;;; Local Variables: *** |
988 |
CEH3 ;;; mode:fortran *** |
CEH3 ;;; mode:fortran *** |
989 |
CEH3 ;;; End: *** |
CEH3 ;;; End: *** |