43 |
INTEGER UNSET_I |
INTEGER UNSET_I |
44 |
PARAMETER ( UNSET_I = 123456789 ) |
PARAMETER ( UNSET_I = 123456789 ) |
45 |
|
|
|
C Checkpoint data |
|
|
INTEGER maxNoChkptLev |
|
|
PARAMETER ( maxNoChkptLev = 2 ) |
|
|
|
|
46 |
C-- COMMON /PARM_C/ Character valued parameters used by the model. |
C-- COMMON /PARM_C/ Character valued parameters used by the model. |
47 |
C checkPtSuff :: List of checkpoint file suffices |
C buoyancyRelation :: Flag used to indicate which relation to use to |
48 |
|
C get buoyancy. |
49 |
|
C eosType :: choose the equation of state: |
50 |
|
C LINEAR, POLY3, UNESCO, JMD95Z, JMD95P, MDJWF, IDEALGAS |
51 |
|
C pickupSuff :: force to start from pickup files (even if nIter0=0) |
52 |
|
C and read pickup files with this suffix (max 10 Char.) |
53 |
|
C mdsioLocalDir :: read-write tiled file from/to this directory name |
54 |
|
C (+ 4 digits Processor-Rank) instead of current dir. |
55 |
C tRefFile :: File containing reference Potential Temperat. tRef (1.D) |
C tRefFile :: File containing reference Potential Temperat. tRef (1.D) |
56 |
C sRefFile :: File containing reference salinity/spec.humid. sRef (1.D) |
C sRefFile :: File containing reference salinity/spec.humid. sRef (1.D) |
57 |
C rhoRefFile :: File containing reference density profile rhoRef (1.D) |
C rhoRefFile :: File containing reference density profile rhoRef (1.D) |
61 |
C delYFile :: File containing Y-spacing grid definition (1.D array) |
C delYFile :: File containing Y-spacing grid definition (1.D array) |
62 |
C horizGridFile :: File containing horizontal-grid definition |
C horizGridFile :: File containing horizontal-grid definition |
63 |
C (only when using curvilinear_grid) |
C (only when using curvilinear_grid) |
64 |
C bathyFile :: File containing bathymetry. If not defined bathymetry |
C bathyFile :: File containing bathymetry. If not defined bathymetry |
65 |
C is taken from inline function. |
C is taken from inline function. |
66 |
C topoFile :: File containing the topography of the surface (unit=m) |
C topoFile :: File containing the topography of the surface (unit=m) |
67 |
C (mainly used for the atmosphere = ground height). |
C (mainly used for the atmosphere = ground height). |
68 |
C shelfIceFile:: File containing the topography of the shelfice draught |
C shelfIceFile :: File containing the topography of the shelfice draught |
69 |
C (unit=m) |
C (unit=m) |
70 |
C hydrogThetaFile :: File containing initial hydrographic data for potential |
C hydrogThetaFile :: File containing initial hydrographic data (3-D) |
71 |
C temperature. |
C for potential temperature. |
72 |
C hydrogSaltFile :: File containing initial hydrographic data for salinity. |
C hydrogSaltFile :: File containing initial hydrographic data (3-D) |
73 |
|
C for salinity. |
74 |
C diffKrFile :: File containing 3D specification of vertical diffusivity |
C diffKrFile :: File containing 3D specification of vertical diffusivity |
75 |
C zonalWindFile :: File containing zonal wind data |
C zonalWindFile :: File containing zonal wind data |
76 |
C meridWindFile :: File containing meridional wind data |
C meridWindFile :: File containing meridional wind data |
77 |
C thetaClimFile :: File containing theta climataology used |
C thetaClimFile :: File containing surface theta climataology used |
78 |
C in relaxation term -lambda(theta-theta*) |
C in relaxation term -lambda(theta-theta*) |
79 |
C saltClimFile :: File containing salt climataology used |
C saltClimFile :: File containing surface salt climataology used |
80 |
C in relaxation term -lambda(salt-salt*) |
C in relaxation term -lambda(salt-salt*) |
81 |
C surfQfile :: File containing surface heat flux, excluding SW |
C surfQfile :: File containing surface heat flux, excluding SW |
82 |
C (old version, kept for backward compatibility) |
C (old version, kept for backward compatibility) |
84 |
C surfQswFile :: File containing surface shortwave radiation |
C surfQswFile :: File containing surface shortwave radiation |
85 |
C dQdTfile :: File containing thermal relaxation coefficient |
C dQdTfile :: File containing thermal relaxation coefficient |
86 |
C EmPmRfile :: File containing surface fresh water flux |
C EmPmRfile :: File containing surface fresh water flux |
87 |
|
C NOTE: for backward compatibility EmPmRfile is specified in |
88 |
|
C m/s when using external_fields_load.F. It is converted |
89 |
|
C to kg/m2/s by multiplying by rhoConstFresh. |
90 |
C saltFluxFile :: File containing surface salt flux |
C saltFluxFile :: File containing surface salt flux |
91 |
C pLoadFile :: File containing pressure loading |
C pLoadFile :: File containing pressure loading |
92 |
C eddyTauxFile :: File containing zonal Eddy stress data |
C eddyTauxFile :: File containing zonal Eddy stress data |
93 |
C eddyTauyFile :: File containing meridional Eddy stress data |
C eddyTauyFile :: File containing meridional Eddy stress data |
|
C buoyancyRelation :: Flag used to indicate which relation to use to |
|
|
C get buoyancy. |
|
|
C eosType :: choose the equation of state: |
|
|
C LINEAR, POLY3, UNESCO, JMD95Z, JMD95P, MDJWF, IDEALGAS |
|
94 |
C the_run_name :: string identifying the name of the model "run" |
C the_run_name :: string identifying the name of the model "run" |
95 |
COMMON /PARM_C/ checkPtSuff, |
COMMON /PARM_C/ |
96 |
|
& buoyancyRelation, eosType, |
97 |
|
& pickupSuff, mdsioLocalDir, |
98 |
& tRefFile, sRefFile, rhoRefFile, |
& tRefFile, sRefFile, rhoRefFile, |
99 |
& delRFile, delRcFile, |
& delRFile, delRcFile, |
100 |
& delXFile, delYFile, horizGridFile, |
& delXFile, delYFile, horizGridFile, |
101 |
& bathyFile, topoFile, shelfIceFile, |
& bathyFile, topoFile, shelfIceFile, |
102 |
& hydrogThetaFile, hydrogSaltFile, diffKrFile, |
& hydrogThetaFile, hydrogSaltFile, diffKrFile, |
103 |
& zonalWindFile, meridWindFile, thetaClimFile, |
& zonalWindFile, meridWindFile, thetaClimFile, |
104 |
& saltClimFile, buoyancyRelation, |
& saltClimFile, |
105 |
& EmPmRfile, saltFluxFile, |
& EmPmRfile, saltFluxFile, |
106 |
& surfQfile, surfQnetFile, surfQswFile, |
& surfQfile, surfQnetFile, surfQswFile, |
107 |
& lambdaThetaFile, lambdaSaltFile, |
& lambdaThetaFile, lambdaSaltFile, |
108 |
& uVelInitFile, vVelInitFile, pSurfInitFile, |
& uVelInitFile, vVelInitFile, pSurfInitFile, |
109 |
& dQdTfile, ploadFile, |
& dQdTfile, ploadFile, |
110 |
& eddyTauxFile, eddyTauyFile, |
& eddyTauxFile, eddyTauyFile, |
|
& eosType, pickupSuff, |
|
|
& mdsioLocalDir, |
|
111 |
& the_run_name |
& the_run_name |
112 |
CHARACTER*(5) checkPtSuff(maxNoChkptLev) |
CHARACTER*(MAX_LEN_FNAM) buoyancyRelation |
113 |
|
CHARACTER*(6) eosType |
114 |
|
CHARACTER*(10) pickupSuff |
115 |
|
CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir |
116 |
CHARACTER*(MAX_LEN_FNAM) tRefFile |
CHARACTER*(MAX_LEN_FNAM) tRefFile |
117 |
CHARACTER*(MAX_LEN_FNAM) sRefFile |
CHARACTER*(MAX_LEN_FNAM) sRefFile |
118 |
CHARACTER*(MAX_LEN_FNAM) rhoRefFile |
CHARACTER*(MAX_LEN_FNAM) rhoRefFile |
133 |
CHARACTER*(MAX_LEN_FNAM) surfQswFile |
CHARACTER*(MAX_LEN_FNAM) surfQswFile |
134 |
CHARACTER*(MAX_LEN_FNAM) EmPmRfile |
CHARACTER*(MAX_LEN_FNAM) EmPmRfile |
135 |
CHARACTER*(MAX_LEN_FNAM) saltFluxFile |
CHARACTER*(MAX_LEN_FNAM) saltFluxFile |
|
CHARACTER*(MAX_LEN_FNAM) buoyancyRelation |
|
136 |
CHARACTER*(MAX_LEN_FNAM) uVelInitFile |
CHARACTER*(MAX_LEN_FNAM) uVelInitFile |
137 |
CHARACTER*(MAX_LEN_FNAM) vVelInitFile |
CHARACTER*(MAX_LEN_FNAM) vVelInitFile |
138 |
CHARACTER*(MAX_LEN_FNAM) pSurfInitFile |
CHARACTER*(MAX_LEN_FNAM) pSurfInitFile |
142 |
CHARACTER*(MAX_LEN_FNAM) eddyTauyFile |
CHARACTER*(MAX_LEN_FNAM) eddyTauyFile |
143 |
CHARACTER*(MAX_LEN_FNAM) lambdaThetaFile |
CHARACTER*(MAX_LEN_FNAM) lambdaThetaFile |
144 |
CHARACTER*(MAX_LEN_FNAM) lambdaSaltFile |
CHARACTER*(MAX_LEN_FNAM) lambdaSaltFile |
|
CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir |
|
145 |
CHARACTER*(MAX_LEN_PREC/2) the_run_name |
CHARACTER*(MAX_LEN_PREC/2) the_run_name |
|
CHARACTER*(6) eosType |
|
|
CHARACTER*(10) pickupSuff |
|
146 |
|
|
147 |
C-- COMMON /PARM_I/ Integer valued parameters used by the model. |
C-- COMMON /PARM_I/ Integer valued parameters used by the model. |
148 |
C cg2dMaxIters :: Maximum number of iterations in the |
C cg2dMaxIters :: Maximum number of iterations in the |
157 |
C in con. grad solver. |
C in con. grad solver. |
158 |
C nIter0 :: Start time-step number of for this run |
C nIter0 :: Start time-step number of for this run |
159 |
C nTimeSteps :: Number of timesteps to execute |
C nTimeSteps :: Number of timesteps to execute |
|
C numStepsPerPickup :: For offline setup. Frequency of pickup |
|
|
C of flow fields. |
|
160 |
C writeStatePrec :: Precision used for writing model state. |
C writeStatePrec :: Precision used for writing model state. |
161 |
C writeBinaryPrec :: Precision used for writing binary files |
C writeBinaryPrec :: Precision used for writing binary files |
162 |
C readBinaryPrec :: Precision used for reading binary files |
C readBinaryPrec :: Precision used for reading binary files |
|
C nCheckLev :: Holds current checkpoint level |
|
163 |
C nonlinFreeSurf :: option related to non-linear free surface |
C nonlinFreeSurf :: option related to non-linear free surface |
164 |
C =0 Linear free surface ; >0 Non-linear |
C =0 Linear free surface ; >0 Non-linear |
165 |
C select_rStar :: option related to r* vertical coordinate |
C select_rStar :: option related to r* vertical coordinate |
181 |
& cg3dMaxIters, |
& cg3dMaxIters, |
182 |
& cg3dChkResFreq, |
& cg3dChkResFreq, |
183 |
& nIter0, nTimeSteps, nEndIter, |
& nIter0, nTimeSteps, nEndIter, |
184 |
& numStepsPerPickup, |
& writeStatePrec, |
|
& writeStatePrec, nCheckLev, |
|
185 |
& writeBinaryPrec, readBinaryPrec, |
& writeBinaryPrec, readBinaryPrec, |
186 |
& nonlinFreeSurf, select_rStar, |
& nonlinFreeSurf, select_rStar, |
187 |
& momForcingOutAB, tracForcingOutAB, |
& momForcingOutAB, tracForcingOutAB, |
197 |
INTEGER nIter0 |
INTEGER nIter0 |
198 |
INTEGER nTimeSteps |
INTEGER nTimeSteps |
199 |
INTEGER nEndIter |
INTEGER nEndIter |
|
INTEGER numStepsPerPickup |
|
200 |
INTEGER writeStatePrec |
INTEGER writeStatePrec |
201 |
INTEGER writeBinaryPrec |
INTEGER writeBinaryPrec |
202 |
INTEGER readBinaryPrec |
INTEGER readBinaryPrec |
|
INTEGER nCheckLev |
|
203 |
INTEGER nonlinFreeSurf |
INTEGER nonlinFreeSurf |
204 |
INTEGER select_rStar |
INTEGER select_rStar |
205 |
INTEGER momForcingOutAB, tracForcingOutAB |
INTEGER momForcingOutAB, tracForcingOutAB |
219 |
C-- COMMON /PARM_L/ Logical valued parameters used by the model. |
C-- COMMON /PARM_L/ Logical valued parameters used by the model. |
220 |
C usingCartesianGrid :: If TRUE grid generation will be in a cartesian |
C usingCartesianGrid :: If TRUE grid generation will be in a cartesian |
221 |
C coordinate frame. |
C coordinate frame. |
222 |
C usingSphericalPolarGrid :: If TRUE grid generation will be in a |
C usingSphericalPolarGrid :: If TRUE grid generation will be in a |
223 |
C spherical polar frame. |
C spherical polar frame. |
224 |
C usingCylindricalGrid :: If TRUE grid generation will be Cylindrical |
C usingCylindricalGrid :: If TRUE grid generation will be Cylindrical |
225 |
C usingCurvilinearGrid :: If TRUE, use a curvilinear grid (to be provided) |
C usingCurvilinearGrid :: If TRUE, use a curvilinear grid (to be provided) |
239 |
C and off. |
C and off. |
240 |
C tempForcing :: Flag which turns external forcing of temperature on |
C tempForcing :: Flag which turns external forcing of temperature on |
241 |
C and off. |
C and off. |
242 |
C saltAdvection :: Flag which turns advection of salinity on |
C saltAdvection :: Flag which turns advection of salinity on |
243 |
C and off. |
C and off. |
244 |
C saltForcing :: Flag which turns external forcing of salinity on |
C saltForcing :: Flag which turns external forcing of salinity on |
245 |
C and off. |
C and off. |
246 |
C useRealFreshWaterFlux :: if True (=Natural BCS), treats P+R-E flux |
C useRealFreshWaterFlux :: if True (=Natural BCS), treats P+R-E flux |
247 |
C as a real Fresh Water (=> changes the Sea Level) |
C as a real Fresh Water (=> changes the Sea Level) |
248 |
C if F, converts P+R-E to salt flux (no SL effect) |
C if F, converts P+R-E to salt flux (no SL effect) |
249 |
C useFullLeith :: Set to true to use full Leith viscosity(may be unstable |
C useFullLeith :: Set to true to use full Leith viscosity(may be unstable |
255 |
C implicitFreeSurface :: Set to true to use implicit free surface |
C implicitFreeSurface :: Set to true to use implicit free surface |
256 |
C exactConserv :: Set to true to conserve exactly the total Volume |
C exactConserv :: Set to true to conserve exactly the total Volume |
257 |
C linFSConserveTr :: Set to true to correct source/sink of tracer |
C linFSConserveTr :: Set to true to correct source/sink of tracer |
258 |
C at the surface due to Linear Free Surface |
C at the surface due to Linear Free Surface |
259 |
C uniformLin_PhiSurf :: Set to true to use a uniform Bo_surf in the |
C uniformLin_PhiSurf :: Set to true to use a uniform Bo_surf in the |
260 |
C linear relation Phi_surf = Bo_surf*eta |
C linear relation Phi_surf = Bo_surf*eta |
261 |
C use3Dsolver :: set to true to use 3-D pressure solver |
C use3Dsolver :: set to true to use 3-D pressure solver |
287 |
C out off Adams-Bashforth time stepping. |
C out off Adams-Bashforth time stepping. |
288 |
C doAB_onGtGs :: if the Adams-Bashforth time stepping is used, always |
C doAB_onGtGs :: if the Adams-Bashforth time stepping is used, always |
289 |
C apply AB on tracer tendencies (rather than on Tracer) |
C apply AB on tracer tendencies (rather than on Tracer) |
290 |
|
C pickupStrictlyMatch :: check and stop if pickup-file do not stricly match |
291 |
C startFromPickupAB2 :: with AB-3 code, start from an AB-2 pickup |
C startFromPickupAB2 :: with AB-3 code, start from an AB-2 pickup |
292 |
C usePickupBeforeC54 :: start from old-pickup files, generated with code from |
C usePickupBeforeC54 :: start from old-pickup files, generated with code from |
293 |
C before checkpoint-54a, Jul 06, 2004. |
C before checkpoint-54a, Jul 06, 2004. |
323 |
C timeave_mdsio :: use mdsio for timeave output |
C timeave_mdsio :: use mdsio for timeave output |
324 |
C snapshot_mdsio :: use mdsio for "snapshot" (dumpfreq/diagfreq) output |
C snapshot_mdsio :: use mdsio for "snapshot" (dumpfreq/diagfreq) output |
325 |
C monitor_stdio :: use stdio for monitor output |
C monitor_stdio :: use stdio for monitor output |
326 |
C dumpInitAndLast :: dumps model state to files at Initial (nIter0) |
C dumpInitAndLast :: dumps model state to files at Initial (nIter0) |
327 |
C & Last iteration, in addition multiple of dumpFreq iter. |
C & Last iteration, in addition multiple of dumpFreq iter. |
328 |
C balanceEmPmR :: substract global mean of EmPmR at every time step |
C balanceEmPmR :: substract global mean of EmPmR at every time step |
329 |
C balanceQnet :: substract global mean of Qnet at every time step |
C balanceQnet :: substract global mean of Qnet at every time step |
360 |
& usingPCoords, usingZCoords, useDynP_inEos_Zc, |
& usingPCoords, usingZCoords, useDynP_inEos_Zc, |
361 |
& nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO, |
& nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO, |
362 |
& allowFreezing, useOldFreezing, |
& allowFreezing, useOldFreezing, |
363 |
& usePickupBeforeC54, startFromPickupAB2, |
& pickupStrictlyMatch, usePickupBeforeC54, startFromPickupAB2, |
364 |
& pickup_read_mdsio, pickup_write_mdsio, pickup_write_immed, |
& pickup_read_mdsio, pickup_write_mdsio, pickup_write_immed, |
365 |
& timeave_mdsio, snapshot_mdsio, monitor_stdio, |
& timeave_mdsio, snapshot_mdsio, monitor_stdio, |
366 |
& outputTypesInclusive, dumpInitAndLast, debugMode, |
& outputTypesInclusive, dumpInitAndLast, debugMode, |
440 |
LOGICAL useSingleCpuIO |
LOGICAL useSingleCpuIO |
441 |
LOGICAL allowFreezing |
LOGICAL allowFreezing |
442 |
LOGICAL useOldFreezing |
LOGICAL useOldFreezing |
443 |
|
LOGICAL pickupStrictlyMatch |
444 |
LOGICAL usePickupBeforeC54 |
LOGICAL usePickupBeforeC54 |
445 |
LOGICAL startFromPickupAB2 |
LOGICAL startFromPickupAB2 |
446 |
LOGICAL dumpInitAndLast |
LOGICAL dumpInitAndLast |
688 |
& gravity, recip_gravity, gBaro, |
& gravity, recip_gravity, gBaro, |
689 |
& rhonil, recip_rhonil, rhoConst, recip_rhoConst, |
& rhonil, recip_rhonil, rhoConst, recip_rhoConst, |
690 |
& rhoFacC, recip_rhoFacC, rhoFacF, recip_rhoFacF, |
& rhoFacC, recip_rhoFacC, rhoFacF, recip_rhoFacF, |
691 |
& rhoConstFresh, convertEmP2rUnit, tRef, sRef, phiRef, dBdrRef, |
& rhoConstFresh, tRef, sRef, phiRef, dBdrRef, |
692 |
& rVel2wUnit, wUnit2rVel, mass2rUnit, rUnit2mass, |
& rVel2wUnit, wUnit2rVel, mass2rUnit, rUnit2mass, |
693 |
& baseTime, startTime, endTime, |
& baseTime, startTime, endTime, |
694 |
& chkPtFreq, pChkPtFreq, dumpFreq, adjDumpFreq, |
& chkPtFreq, pChkPtFreq, dumpFreq, adjDumpFreq, |
783 |
_RL rhoFacC(Nr), recip_rhoFacC(Nr) |
_RL rhoFacC(Nr), recip_rhoFacC(Nr) |
784 |
_RL rhoFacF(Nr+1), recip_rhoFacF(Nr+1) |
_RL rhoFacF(Nr+1), recip_rhoFacF(Nr+1) |
785 |
_RL rhoConstFresh |
_RL rhoConstFresh |
|
_RL convertEmP2rUnit |
|
786 |
_RL tRef(Nr) |
_RL tRef(Nr) |
787 |
_RL sRef(Nr) |
_RL sRef(Nr) |
788 |
_RL phiRef(2*Nr+1) |
_RL phiRef(2*Nr+1) |
895 |
LOGICAL useRunClock |
LOGICAL useRunClock |
896 |
LOGICAL useEMBED_FILES |
LOGICAL useEMBED_FILES |
897 |
LOGICAL useMYPACKAGE |
LOGICAL useMYPACKAGE |
898 |
|
LOGICAL useSALT_PLUME |
899 |
COMMON /PARM_PACKAGES/ |
COMMON /PARM_PACKAGES/ |
900 |
& useOPPS, usePP81, useMY82, useGGL90, useKPP, |
& useOPPS, usePP81, useMY82, useGGL90, useKPP, |
901 |
& useGAD, useGMRedi, useOBCS, useAIM, useLand, |
& useGAD, useGMRedi, useOBCS, useAIM, useLand, |
905 |
& useSBO, useSEAICE, useShelfIce, |
& useSBO, useSEAICE, useShelfIce, |
906 |
& useThSIce, useATM2D, useBulkForce, |
& useThSIce, useATM2D, useBulkForce, |
907 |
& usefizhi, usegridalt, useDiagnostics, useMNC, useREGRID, |
& usefizhi, usegridalt, useDiagnostics, useMNC, useREGRID, |
908 |
& useRunClock, useEMBED_FILES, useMYPACKAGE |
& useRunClock, useEMBED_FILES, useMYPACKAGE, useSALT_PLUME |
909 |
|
|
910 |
CEH3 ;;; Local Variables: *** |
CEH3 ;;; Local Variables: *** |
911 |
CEH3 ;;; mode:fortran *** |
CEH3 ;;; mode:fortran *** |