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) |
88 |
C pLoadFile :: File containing pressure loading |
C pLoadFile :: File containing pressure loading |
89 |
C eddyTauxFile :: File containing zonal Eddy stress data |
C eddyTauxFile :: File containing zonal Eddy stress data |
90 |
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 |
|
91 |
C the_run_name :: string identifying the name of the model "run" |
C the_run_name :: string identifying the name of the model "run" |
92 |
COMMON /PARM_C/ checkPtSuff, |
COMMON /PARM_C/ |
93 |
|
& buoyancyRelation, eosType, |
94 |
|
& pickupSuff, mdsioLocalDir, |
95 |
& tRefFile, sRefFile, rhoRefFile, |
& tRefFile, sRefFile, rhoRefFile, |
96 |
& delRFile, delRcFile, |
& delRFile, delRcFile, |
97 |
& delXFile, delYFile, horizGridFile, |
& delXFile, delYFile, horizGridFile, |
98 |
& bathyFile, topoFile, shelfIceFile, |
& bathyFile, topoFile, shelfIceFile, |
99 |
& hydrogThetaFile, hydrogSaltFile, diffKrFile, |
& hydrogThetaFile, hydrogSaltFile, diffKrFile, |
100 |
& zonalWindFile, meridWindFile, thetaClimFile, |
& zonalWindFile, meridWindFile, thetaClimFile, |
101 |
& saltClimFile, buoyancyRelation, |
& saltClimFile, |
102 |
& EmPmRfile, saltFluxFile, |
& EmPmRfile, saltFluxFile, |
103 |
& surfQfile, surfQnetFile, surfQswFile, |
& surfQfile, surfQnetFile, surfQswFile, |
104 |
& lambdaThetaFile, lambdaSaltFile, |
& lambdaThetaFile, lambdaSaltFile, |
105 |
& uVelInitFile, vVelInitFile, pSurfInitFile, |
& uVelInitFile, vVelInitFile, pSurfInitFile, |
106 |
& dQdTfile, ploadFile, |
& dQdTfile, ploadFile, |
107 |
& eddyTauxFile, eddyTauyFile, |
& eddyTauxFile, eddyTauyFile, |
|
& eosType, pickupSuff, |
|
|
& mdsioLocalDir, |
|
108 |
& the_run_name |
& the_run_name |
109 |
CHARACTER*(5) checkPtSuff(maxNoChkptLev) |
CHARACTER*(MAX_LEN_FNAM) buoyancyRelation |
110 |
|
CHARACTER*(6) eosType |
111 |
|
CHARACTER*(10) pickupSuff |
112 |
|
CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir |
113 |
CHARACTER*(MAX_LEN_FNAM) tRefFile |
CHARACTER*(MAX_LEN_FNAM) tRefFile |
114 |
CHARACTER*(MAX_LEN_FNAM) sRefFile |
CHARACTER*(MAX_LEN_FNAM) sRefFile |
115 |
CHARACTER*(MAX_LEN_FNAM) rhoRefFile |
CHARACTER*(MAX_LEN_FNAM) rhoRefFile |
130 |
CHARACTER*(MAX_LEN_FNAM) surfQswFile |
CHARACTER*(MAX_LEN_FNAM) surfQswFile |
131 |
CHARACTER*(MAX_LEN_FNAM) EmPmRfile |
CHARACTER*(MAX_LEN_FNAM) EmPmRfile |
132 |
CHARACTER*(MAX_LEN_FNAM) saltFluxFile |
CHARACTER*(MAX_LEN_FNAM) saltFluxFile |
|
CHARACTER*(MAX_LEN_FNAM) buoyancyRelation |
|
133 |
CHARACTER*(MAX_LEN_FNAM) uVelInitFile |
CHARACTER*(MAX_LEN_FNAM) uVelInitFile |
134 |
CHARACTER*(MAX_LEN_FNAM) vVelInitFile |
CHARACTER*(MAX_LEN_FNAM) vVelInitFile |
135 |
CHARACTER*(MAX_LEN_FNAM) pSurfInitFile |
CHARACTER*(MAX_LEN_FNAM) pSurfInitFile |
139 |
CHARACTER*(MAX_LEN_FNAM) eddyTauyFile |
CHARACTER*(MAX_LEN_FNAM) eddyTauyFile |
140 |
CHARACTER*(MAX_LEN_FNAM) lambdaThetaFile |
CHARACTER*(MAX_LEN_FNAM) lambdaThetaFile |
141 |
CHARACTER*(MAX_LEN_FNAM) lambdaSaltFile |
CHARACTER*(MAX_LEN_FNAM) lambdaSaltFile |
|
CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir |
|
142 |
CHARACTER*(MAX_LEN_PREC/2) the_run_name |
CHARACTER*(MAX_LEN_PREC/2) the_run_name |
|
CHARACTER*(6) eosType |
|
|
CHARACTER*(10) pickupSuff |
|
143 |
|
|
144 |
C-- COMMON /PARM_I/ Integer valued parameters used by the model. |
C-- COMMON /PARM_I/ Integer valued parameters used by the model. |
145 |
C cg2dMaxIters :: Maximum number of iterations in the |
C cg2dMaxIters :: Maximum number of iterations in the |
154 |
C in con. grad solver. |
C in con. grad solver. |
155 |
C nIter0 :: Start time-step number of for this run |
C nIter0 :: Start time-step number of for this run |
156 |
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. |
|
157 |
C writeStatePrec :: Precision used for writing model state. |
C writeStatePrec :: Precision used for writing model state. |
158 |
C writeBinaryPrec :: Precision used for writing binary files |
C writeBinaryPrec :: Precision used for writing binary files |
159 |
C readBinaryPrec :: Precision used for reading binary files |
C readBinaryPrec :: Precision used for reading binary files |
|
C nCheckLev :: Holds current checkpoint level |
|
160 |
C nonlinFreeSurf :: option related to non-linear free surface |
C nonlinFreeSurf :: option related to non-linear free surface |
161 |
C =0 Linear free surface ; >0 Non-linear |
C =0 Linear free surface ; >0 Non-linear |
162 |
C select_rStar :: option related to r* vertical coordinate |
C select_rStar :: option related to r* vertical coordinate |
178 |
& cg3dMaxIters, |
& cg3dMaxIters, |
179 |
& cg3dChkResFreq, |
& cg3dChkResFreq, |
180 |
& nIter0, nTimeSteps, nEndIter, |
& nIter0, nTimeSteps, nEndIter, |
181 |
& numStepsPerPickup, |
& writeStatePrec, |
|
& writeStatePrec, nCheckLev, |
|
182 |
& writeBinaryPrec, readBinaryPrec, |
& writeBinaryPrec, readBinaryPrec, |
183 |
& nonlinFreeSurf, select_rStar, |
& nonlinFreeSurf, select_rStar, |
184 |
& momForcingOutAB, tracForcingOutAB, |
& momForcingOutAB, tracForcingOutAB, |
194 |
INTEGER nIter0 |
INTEGER nIter0 |
195 |
INTEGER nTimeSteps |
INTEGER nTimeSteps |
196 |
INTEGER nEndIter |
INTEGER nEndIter |
|
INTEGER numStepsPerPickup |
|
197 |
INTEGER writeStatePrec |
INTEGER writeStatePrec |
198 |
INTEGER writeBinaryPrec |
INTEGER writeBinaryPrec |
199 |
INTEGER readBinaryPrec |
INTEGER readBinaryPrec |
|
INTEGER nCheckLev |
|
200 |
INTEGER nonlinFreeSurf |
INTEGER nonlinFreeSurf |
201 |
INTEGER select_rStar |
INTEGER select_rStar |
202 |
INTEGER momForcingOutAB, tracForcingOutAB |
INTEGER momForcingOutAB, tracForcingOutAB |
216 |
C-- COMMON /PARM_L/ Logical valued parameters used by the model. |
C-- COMMON /PARM_L/ Logical valued parameters used by the model. |
217 |
C usingCartesianGrid :: If TRUE grid generation will be in a cartesian |
C usingCartesianGrid :: If TRUE grid generation will be in a cartesian |
218 |
C coordinate frame. |
C coordinate frame. |
219 |
C usingSphericalPolarGrid :: If TRUE grid generation will be in a |
C usingSphericalPolarGrid :: If TRUE grid generation will be in a |
220 |
C spherical polar frame. |
C spherical polar frame. |
221 |
C usingCylindricalGrid :: If TRUE grid generation will be Cylindrical |
C usingCylindricalGrid :: If TRUE grid generation will be Cylindrical |
222 |
C usingCurvilinearGrid :: If TRUE, use a curvilinear grid (to be provided) |
C usingCurvilinearGrid :: If TRUE, use a curvilinear grid (to be provided) |
236 |
C and off. |
C and off. |
237 |
C tempForcing :: Flag which turns external forcing of temperature on |
C tempForcing :: Flag which turns external forcing of temperature on |
238 |
C and off. |
C and off. |
239 |
C saltAdvection :: Flag which turns advection of salinity on |
C saltAdvection :: Flag which turns advection of salinity on |
240 |
C and off. |
C and off. |
241 |
C saltForcing :: Flag which turns external forcing of salinity on |
C saltForcing :: Flag which turns external forcing of salinity on |
242 |
C and off. |
C and off. |
243 |
C useRealFreshWaterFlux :: if True (=Natural BCS), treats P+R-E flux |
C useRealFreshWaterFlux :: if True (=Natural BCS), treats P+R-E flux |
244 |
C as a real Fresh Water (=> changes the Sea Level) |
C as a real Fresh Water (=> changes the Sea Level) |
245 |
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) |
246 |
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 |
252 |
C implicitFreeSurface :: Set to true to use implicit free surface |
C implicitFreeSurface :: Set to true to use implicit free surface |
253 |
C exactConserv :: Set to true to conserve exactly the total Volume |
C exactConserv :: Set to true to conserve exactly the total Volume |
254 |
C linFSConserveTr :: Set to true to correct source/sink of tracer |
C linFSConserveTr :: Set to true to correct source/sink of tracer |
255 |
C at the surface due to Linear Free Surface |
C at the surface due to Linear Free Surface |
256 |
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 |
257 |
C linear relation Phi_surf = Bo_surf*eta |
C linear relation Phi_surf = Bo_surf*eta |
258 |
C use3Dsolver :: set to true to use 3-D pressure solver |
C use3Dsolver :: set to true to use 3-D pressure solver |
284 |
C out off Adams-Bashforth time stepping. |
C out off Adams-Bashforth time stepping. |
285 |
C doAB_onGtGs :: if the Adams-Bashforth time stepping is used, always |
C doAB_onGtGs :: if the Adams-Bashforth time stepping is used, always |
286 |
C apply AB on tracer tendencies (rather than on Tracer) |
C apply AB on tracer tendencies (rather than on Tracer) |
287 |
|
C pickupStrictlyMatch :: check and stop if pickup-file do not stricly match |
288 |
C startFromPickupAB2 :: with AB-3 code, start from an AB-2 pickup |
C startFromPickupAB2 :: with AB-3 code, start from an AB-2 pickup |
289 |
C usePickupBeforeC54 :: start from old-pickup files, generated with code from |
C usePickupBeforeC54 :: start from old-pickup files, generated with code from |
290 |
C before checkpoint-54a, Jul 06, 2004. |
C before checkpoint-54a, Jul 06, 2004. |
320 |
C timeave_mdsio :: use mdsio for timeave output |
C timeave_mdsio :: use mdsio for timeave output |
321 |
C snapshot_mdsio :: use mdsio for "snapshot" (dumpfreq/diagfreq) output |
C snapshot_mdsio :: use mdsio for "snapshot" (dumpfreq/diagfreq) output |
322 |
C monitor_stdio :: use stdio for monitor output |
C monitor_stdio :: use stdio for monitor output |
323 |
C dumpInitAndLast :: dumps model state to files at Initial (nIter0) |
C dumpInitAndLast :: dumps model state to files at Initial (nIter0) |
324 |
C & Last iteration, in addition multiple of dumpFreq iter. |
C & Last iteration, in addition multiple of dumpFreq iter. |
325 |
C balanceEmPmR :: substract global mean of EmPmR at every time step |
C balanceEmPmR :: substract global mean of EmPmR at every time step |
326 |
C balanceQnet :: substract global mean of Qnet at every time step |
C balanceQnet :: substract global mean of Qnet at every time step |
357 |
& usingPCoords, usingZCoords, useDynP_inEos_Zc, |
& usingPCoords, usingZCoords, useDynP_inEos_Zc, |
358 |
& nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO, |
& nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO, |
359 |
& allowFreezing, useOldFreezing, |
& allowFreezing, useOldFreezing, |
360 |
& usePickupBeforeC54, startFromPickupAB2, |
& pickupStrictlyMatch, usePickupBeforeC54, startFromPickupAB2, |
361 |
& pickup_read_mdsio, pickup_write_mdsio, pickup_write_immed, |
& pickup_read_mdsio, pickup_write_mdsio, pickup_write_immed, |
362 |
& timeave_mdsio, snapshot_mdsio, monitor_stdio, |
& timeave_mdsio, snapshot_mdsio, monitor_stdio, |
363 |
& outputTypesInclusive, dumpInitAndLast, debugMode, |
& outputTypesInclusive, dumpInitAndLast, debugMode, |
437 |
LOGICAL useSingleCpuIO |
LOGICAL useSingleCpuIO |
438 |
LOGICAL allowFreezing |
LOGICAL allowFreezing |
439 |
LOGICAL useOldFreezing |
LOGICAL useOldFreezing |
440 |
|
LOGICAL pickupStrictlyMatch |
441 |
LOGICAL usePickupBeforeC54 |
LOGICAL usePickupBeforeC54 |
442 |
LOGICAL startFromPickupAB2 |
LOGICAL startFromPickupAB2 |
443 |
LOGICAL dumpInitAndLast |
LOGICAL dumpInitAndLast |
892 |
LOGICAL useRunClock |
LOGICAL useRunClock |
893 |
LOGICAL useEMBED_FILES |
LOGICAL useEMBED_FILES |
894 |
LOGICAL useMYPACKAGE |
LOGICAL useMYPACKAGE |
895 |
|
LOGICAL useSALT_PLUME |
896 |
COMMON /PARM_PACKAGES/ |
COMMON /PARM_PACKAGES/ |
897 |
& useOPPS, usePP81, useMY82, useGGL90, useKPP, |
& useOPPS, usePP81, useMY82, useGGL90, useKPP, |
898 |
& useGAD, useGMRedi, useOBCS, useAIM, useLand, |
& useGAD, useGMRedi, useOBCS, useAIM, useLand, |
902 |
& useSBO, useSEAICE, useShelfIce, |
& useSBO, useSEAICE, useShelfIce, |
903 |
& useThSIce, useATM2D, useBulkForce, |
& useThSIce, useATM2D, useBulkForce, |
904 |
& usefizhi, usegridalt, useDiagnostics, useMNC, useREGRID, |
& usefizhi, usegridalt, useDiagnostics, useMNC, useREGRID, |
905 |
& useRunClock, useEMBED_FILES, useMYPACKAGE |
& useRunClock, useEMBED_FILES, useMYPACKAGE, useSALT_PLUME |
906 |
|
|
907 |
CEH3 ;;; Local Variables: *** |
CEH3 ;;; Local Variables: *** |
908 |
CEH3 ;;; mode:fortran *** |
CEH3 ;;; mode:fortran *** |