/[MITgcm]/MITgcm/model/inc/PARAMS.h
ViewVC logotype

Contents of /MITgcm/model/inc/PARAMS.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.119 - (show annotations) (download)
Fri Jul 9 22:31:16 2004 UTC (19 years, 10 months ago) by jmc
Branch: MAIN
Changes since 1.118: +6 -3 lines
File MIME type: text/plain
Only update cg2d preconditioner every "cg2dPreCondFreq" iter. (default=1)

1 C $Header: /u/gcmpack/MITgcm/model/inc/PARAMS.h,v 1.118 2004/07/07 22:22:18 jmc Exp $
2 C $Name: $
3 C
4 CBOP
5 C !ROUTINE: PARAMS.h
6 C !INTERFACE:
7 C include PARAMS.h
8 C !DESCRIPTION: \bv
9 C *==========================================================*
10 C | PARAMS.h
11 C | o Header file defining model "parameters".
12 C *==========================================================*
13 C | The values from the model standard input file are
14 C | stored into the variables held here. Notes describing
15 C | the parameters can also be found here.
16 C *==========================================================*
17 C \ev
18 CEOP
19
20 C Macros for special grid options
21 #include "PARAMS_MACROS.h"
22
23 C-- Contants
24 C Useful physical values
25 Real*8 PI
26 PARAMETER ( PI = 3.14159265358979323844D0 )
27 Real*8 deg2rad
28 PARAMETER ( deg2rad = 2.D0*PI/360.D0 )
29
30 C Symbolic values
31 C precXXXX :: Used to indicate what precision to use for
32 C dumping model state.
33 INTEGER precFloat32
34 PARAMETER ( precFloat32 = 32 )
35 INTEGER precFloat64
36 PARAMETER ( precFloat64 = 64 )
37 C UNSET_xxx :: Used to indicate variables that have not been given a value
38 Real*8 UNSET_FLOAT8
39 PARAMETER ( UNSET_FLOAT8 = 1.234567D5 )
40 Real*4 UNSET_FLOAT4
41 PARAMETER ( UNSET_FLOAT4 = 1.234567E5 )
42 _RL UNSET_RL
43 PARAMETER ( UNSET_RL = 1.234567D5 )
44 _RS UNSET_RS
45 PARAMETER ( UNSET_RS = 1.234567E5 )
46 INTEGER UNSET_I
47 PARAMETER ( UNSET_I = 123456789 )
48
49 C Checkpoint data
50 INTEGER maxNoChkptLev
51 PARAMETER ( maxNoChkptLev = 2 )
52
53 C-- COMMON /PARM_C/ Character valued parameters used by the model.
54 C checkPtSuff :: List of checkpoint file suffices
55 C bathyFile :: File containing bathymetry. If not defined bathymetry
56 C is taken from inline function.
57 C topoFile :: File containing the topography of the surface (unit=m)
58 C (mainly used for the atmosphere = ground height).
59 C hydrogThetaFile :: File containing initial hydrographic data for potential
60 C temperature.
61 C hydrogSaltFile :: File containing initial hydrographic data for salinity.
62 C zonalWindFile :: File containing zonal wind data
63 C meridWindFile :: File containing meridional wind data
64 C thetaClimFile :: File containing theta climataology used
65 C in relaxation term -lambda(theta-theta*)
66 C saltClimFile :: File containing salt climataology used
67 C in relaxation term -lambda(salt-salt*)
68 C surfQfile :: File containing surface heat flux
69 C surfQswfile :: File containing surface shortwave radiation
70 C dQdTfile :: File containing thermal relaxation coefficient
71 C EmPmRfile :: File containing surface fresh water flux
72 C pLoadFile :: File containing pressure loading
73 C buoyancyRelation :: Flag used to indicate which relation to use to
74 C get buoyancy.
75 C eosType :: choose the equation of state:
76 C LINEAR, POLY3, UNESCO, JMD95Z, JMD95P, MDJWF, IDEALGAS
77 COMMON /PARM_C/ checkPtSuff,
78 & bathyFile, topoFile,
79 & hydrogThetaFile, hydrogSaltFile,
80 & zonalWindFile, meridWindFile, thetaClimFile,
81 & saltClimFile, buoyancyRelation,
82 & EmPmRfile, surfQfile, surfQswfile,
83 & uVelInitFile, vVelInitFile, pSurfInitFile,
84 & dQdTfile, ploadFile,
85 & eosType, pickupSuff,
86 & mdsioLocalDir
87 CHARACTER*(5) checkPtSuff(maxNoChkptLev)
88 CHARACTER*(MAX_LEN_FNAM) bathyFile, topoFile
89 CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile
90 CHARACTER*(MAX_LEN_FNAM) hydrogSaltFile
91 CHARACTER*(MAX_LEN_FNAM) zonalWindFile
92 CHARACTER*(MAX_LEN_FNAM) meridWindFile
93 CHARACTER*(MAX_LEN_FNAM) thetaClimFile
94 CHARACTER*(MAX_LEN_FNAM) saltClimFile
95 CHARACTER*(MAX_LEN_FNAM) surfQfile
96 CHARACTER*(MAX_LEN_FNAM) surfQswfile
97 CHARACTER*(MAX_LEN_FNAM) EmPmRfile
98 CHARACTER*(MAX_LEN_FNAM) buoyancyRelation
99 CHARACTER*(MAX_LEN_FNAM) uVelInitFile
100 CHARACTER*(MAX_LEN_FNAM) vVelInitFile
101 CHARACTER*(MAX_LEN_FNAM) pSurfInitFile
102 CHARACTER*(MAX_LEN_FNAM) dQdTfile
103 CHARACTER*(MAX_LEN_FNAM) ploadFile
104 CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir
105 CHARACTER*(6) eosType
106 CHARACTER*(10) pickupSuff
107
108 C-- COMMON /PARM_I/ Integer valued parameters used by the model.
109 C cg2dMaxIters :: Maximum number of iterations in the
110 C two-dimensional con. grad solver.
111 C cg2dChkResFreq :: Frequency with which to check residual
112 C in con. grad solver.
113 C cg2dPreCondFreq :: Frequency for updating cg2d preconditioner
114 C (non-linear free-surf.)
115 C cg3dMaxIters :: Maximum number of iterations in the
116 C three-dimensional con. grad solver.
117 C cg3dChkResFreq :: Frequency with which to check residual
118 C in con. grad solver.
119 C nIter0 :: Start time-step number of for this run
120 C nTimeSteps :: Number of timesteps to execute
121 C numStepsPerPickup :: For offline setup. Frequency of pickup
122 C of flow fields.
123 C writeStatePrec :: Precision used for writing model state.
124 C writeBinaryPrec :: Precision used for writing binary files
125 C readBinaryPrec :: Precision used for reading binary files
126 C nCheckLev :: Holds current checkpoint level
127 C nonlinFreeSurf :: option related to non-linear free surface
128 C =0 Linear free surface ; >0 Non-linear
129 C select_rStar :: option related to r* vertical coordinate
130 C =0 (default) use r coord. ; > 0 use r*
131 C tempAdvScheme :: Temp. Horiz.Advection scheme selector
132 C tempVertAdvScheme :: Temp. Vert. Advection scheme selector
133 C saltAdvScheme :: Salt. Horiz.advection scheme selector
134 C saltVertAdvScheme :: Salt. Vert. Advection scheme selector
135 C debugLevel :: debug level selector: higher -> more writing
136
137 COMMON /PARM_I/
138 & cg2dMaxIters,
139 & cg2dChkResFreq, cg2dPreCondFreq,
140 & cg3dMaxIters,
141 & cg3dChkResFreq,
142 & nIter0, nTimeSteps, nEndIter,
143 & numStepsPerPickup,
144 & writeStatePrec, nCheckLev,
145 & writeBinaryPrec, readBinaryPrec,
146 & nonlinFreeSurf, select_rStar,
147 & tempAdvScheme, tempVertAdvScheme,
148 & saltAdvScheme, saltVertAdvScheme,
149 & tracerAdvScheme,
150 & debugLevel
151 INTEGER cg2dMaxIters
152 INTEGER cg2dChkResFreq
153 INTEGER cg2dPreCondFreq
154 INTEGER cg3dMaxIters
155 INTEGER cg3dChkResFreq
156 INTEGER nIter0
157 INTEGER nTimeSteps
158 INTEGER nEndIter
159 INTEGER numStepsPerPickup
160 INTEGER writeStatePrec
161 INTEGER writeBinaryPrec
162 INTEGER readBinaryPrec
163 INTEGER nCheckLev
164 INTEGER nonlinFreeSurf
165 INTEGER select_rStar
166 INTEGER tempAdvScheme, tempVertAdvScheme
167 INTEGER saltAdvScheme, saltVertAdvScheme
168 INTEGER tracerAdvScheme
169 INTEGER debugLevel
170
171 C
172 INTEGER debLevZero
173 PARAMETER(debLevZero=0)
174 INTEGER debLevA
175 PARAMETER(debLevA=1)
176 INTEGER debLevB
177 PARAMETER(debLevB=2)
178
179 C-- COMMON /PARM_L/ Logical valued parameters used by the model.
180 C usingCartesianGrid :: If TRUE grid generation will be in a cartesian
181 C coordinate frame.
182 C usingSphericalPolarGrid :: If TRUE grid generation will be in a
183 C spherical polar frame.
184 C usingCylindricalGrid :: If TRUE grid generation will be Cylindrical
185 C no_slip_sides :: Impose "no-slip" at lateral boundaries.
186 C no_slip_bottom :: Impose "no-slip" at bottom boundary.
187 C staggerTimeStep :: enable a Stagger time stepping T,S Rho then U,V
188 C momViscosity :: Flag which turns momentum friction terms on and off.
189 C momAdvection :: Flag which turns advection of momentum on and off.
190 C momForcing :: Flag which turns external forcing of momentum on
191 C and off.
192 C momPressureForcing :: Flag which turns pressure term in momentum equation
193 C on and off.
194 C metricTerms :: Flag which turns metric terms on or off.
195 C usingSphericalPolarMTerms :: If TRUE use spherical polar metric terms.
196 C useNHMTerms :: If TRUE use non-hydrostatic metric terms.
197 C useCoriolis :: Flag which turns the coriolis terms on and off.
198 C tempDiffusion :: Flag which turns diffusion of temperature on
199 C and off.
200 C tempAdvection :: Flag which turns advection of temperature on
201 C and off.
202 C tempForcing :: Flag which turns external forcing of temperature on
203 C and off.
204 C saltDiffusion :: Flag which turns diffusion of salinity on
205 C and off.
206 C saltAdvection :: Flag which turns advection of salinity on
207 C and off.
208 C saltForcing :: Flag which turns external forcing of salinity on
209 C and off.
210 C useRealFreshWaterFlux :: if True (=Natural BCS), treats P+R-E flux
211 C as a real Fresh Water (=> changes the Sea Level)
212 C if F, converts P+R-E to salt flux (no SL effect)
213 C rigidLid :: Set to true to use rigid lid
214 C implicitFreeSurface :: Set to true to use implcit free surface
215 C exactConserv :: Set to true to conserve exactly the total Volume
216 C uniformLin_PhiSurf :: Set to true to use a uniform Bo_surf in the
217 C linear relation Phi_surf = Bo_surf*eta
218 C momStepping :: Turns momentum equation time-stepping off
219 C tempStepping :: Turns temperature equation time-stepping off
220 C saltStepping :: Turns salinity equation time-stepping off
221 C tr1Stepping :: Turns passive tracer 1 time-stepping on/off
222 C useConstantF :: Coriolis parameter set to f0
223 C useBetaPlaneF :: Coriolis parameter set to f0 + beta.y
224 C useSphereF :: Coriolis parameter set to 2.omega.sin(phi)
225 C useCDscheme :: use CD-scheme to calculate Coriolis terms.
226 C useJamartWetPoints :: Use wet-point method for Coriolis (Jamart and Ozer, 1986)
227 C useJamartMomAdv :: Use wet-point method for V.I. non-linear term
228 C SadournyCoriolis :: use the enstrophy conserving scheme by Sadourny
229 C upwindVorticity :: bias interpolation of vorticity in the Coriolis term
230 C highOrderVorticity :: use 3rd/4th order interp. of vorticity in Coriolis
231 C useAbsVorticity :: work with f+zeta in Coriolis terms
232 C implicitDiffusion :: Turns implicit vertical diffusion on
233 C implicitViscosity :: Turns implicit vertical viscosity on
234 C tempImplVertAdv :: Turns on implicit vertical advection for Temperature
235 C saltImplVertAdv :: Turns on implicit vertical advection for Salinity
236 C momImplVertAdv :: Turns on implicit vertical advection for Momentum
237 C multiDimAdvection :: Flag that enable multi-dimension advection
238 C useMultiDimAdvec :: True if multi-dim advection is used at least once
239 C forcing_In_AB :: if False, put forcing (Temp,Salt,Tracers) contribution
240 C out off Adams-Bashforth time stepping.
241 C doThetaClimRelax :: Set true if relaxation to temperature
242 C climatology is required.
243 C doSaltClimRelax :: Set true if relaxation to salinity
244 C climatology is required.
245 C periodicExternalForcing :: Set true if forcing is time-dependant
246 C usingPCoords :: Set to indicate that we are working in pressure
247 C coords. (jmc: is it still used ?)
248 C usingZCoords :: Set to indicate that we are working in height
249 C coords. (jmc: is it still used ?)
250 C useDynP_inEos_Zc :: use the dynamical pressure in EOS (with Z-coord.)
251 C this requires specific code for restart & exchange
252 C setCenterDr :: set cell Center depth and put Interface at the middle
253 C nonHydrostatic :: Using non-hydrostatic terms
254 C quasiHydrostatic :: Using non-hydrostatic terms in hydrostatic algorithm
255 C globalFiles :: Selects between "global" and "tiled" files
256 C useSingleCpuIO :: On SGI platforms, option globalFiles is either
257 C slow (f77) or does not work (f90). When
258 C useSingleCpuIO is set, mdsio_writefield.F
259 C outputs from master mpi process only.
260 C allowFreezing :: Allows surface water to freeze and form ice
261 C useOldFreezing :: use the old version (before checkpoint52a_pre, 2003-11-12)
262 C groundAtK1 :: put the surface(k=1) at the Lower Boundary (=ground)
263 COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,
264 & usingCurvilinearGrid, usingCylindricalGrid,
265 & no_slip_sides,no_slip_bottom,
266 & staggerTimeStep,
267 & momViscosity, momAdvection, momForcing, useCoriolis,
268 & momPressureForcing, vectorInvariantMomentum,
269 & tempDiffusion, tempAdvection, tempForcing,
270 & saltDiffusion, saltAdvection, saltForcing,
271 & useRealFreshWaterFlux,
272 & rigidLid, implicitFreeSurface, exactConserv, uniformLin_PhiSurf,
273 & momStepping, tempStepping, saltStepping, tr1Stepping,
274 & metricTerms, usingSphericalPolarMTerms, useNHMTerms,
275 & useConstantF, useBetaPlaneF, useSphereF,
276 & useCDscheme,
277 & useEnergyConservingCoriolis, useJamartWetPoints, useJamartMomAdv,
278 & SadournyCoriolis, upwindVorticity, highOrderVorticity,
279 & useAbsVorticity,
280 & implicitDiffusion, implicitViscosity,
281 & tempImplVertAdv, saltImplVertAdv, momImplVertAdv,
282 & multiDimAdvection, useMultiDimAdvec, forcing_In_AB,
283 & doThetaClimRelax, doSaltClimRelax, doTr1ClimRelax,
284 & periodicExternalForcing,
285 & usingPCoords, usingZCoords, useDynP_inEos_Zc, setCenterDr,
286 & nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO,
287 & allowFreezing, useOldFreezing, groundAtK1,
288 & usePickupBeforeC35, usePickupBeforeC54, debugMode,
289 & readPickupWithTracer, writePickupWithTracer
290 LOGICAL usingCartesianGrid
291 LOGICAL usingSphericalPolarGrid
292 LOGICAL usingCylindricalGrid
293 LOGICAL usingCurvilinearGrid
294 LOGICAL usingSphericalPolarMTerms
295 LOGICAL useNHMTerms
296 LOGICAL no_slip_sides
297 LOGICAL no_slip_bottom
298 LOGICAL staggerTimeStep
299 LOGICAL momViscosity
300 LOGICAL momAdvection
301 LOGICAL momForcing
302 LOGICAL momPressureForcing
303 LOGICAL useCoriolis
304 LOGICAL vectorInvariantMomentum
305 LOGICAL tempDiffusion
306 LOGICAL tempAdvection
307 LOGICAL tempForcing
308 LOGICAL saltDiffusion
309 LOGICAL saltAdvection
310 LOGICAL saltForcing
311 LOGICAL useRealFreshWaterFlux
312 LOGICAL rigidLid
313 LOGICAL implicitFreeSurface
314 LOGICAL exactConserv
315 LOGICAL uniformLin_PhiSurf
316 LOGICAL momStepping
317 LOGICAL tempStepping
318 LOGICAL saltStepping
319 LOGICAL tr1Stepping
320 LOGICAL metricTerms
321 LOGICAL useConstantF
322 LOGICAL useBetaPlaneF
323 LOGICAL useSphereF
324 LOGICAL useCDscheme
325 LOGICAL useEnergyConservingCoriolis
326 LOGICAL useJamartWetPoints
327 LOGICAL useJamartMomAdv
328 LOGICAL SadournyCoriolis
329 LOGICAL upwindVorticity
330 LOGICAL highOrderVorticity
331 LOGICAL useAbsVorticity
332 LOGICAL implicitDiffusion
333 LOGICAL implicitViscosity
334 LOGICAL tempImplVertAdv
335 LOGICAL saltImplVertAdv
336 LOGICAL momImplVertAdv
337 LOGICAL multiDimAdvection
338 LOGICAL useMultiDimAdvec
339 LOGICAL forcing_In_AB
340 LOGICAL doThetaClimRelax
341 LOGICAL doSaltClimRelax
342 LOGICAL doTr1ClimRelax
343 LOGICAL periodicExternalForcing
344 LOGICAL usingPCoords
345 LOGICAL usingZCoords
346 LOGICAL useDynP_inEos_Zc
347 LOGICAL setCenterDr
348 LOGICAL nonHydrostatic
349 LOGICAL quasiHydrostatic
350 LOGICAL globalFiles
351 LOGICAL useSingleCpuIO
352 LOGICAL allowFreezing
353 LOGICAL useOldFreezing
354 LOGICAL groundAtK1
355 LOGICAL usePickupBeforeC35
356 LOGICAL usePickupBeforeC54
357 LOGICAL debugMode
358 LOGICAL readPickupWithTracer
359 LOGICAL writePickupWithTracer
360
361 C-- COMMON /PARM_R/ "Real" valued parameters used by the model.
362 C cg2dTargetResidual
363 C :: Target residual for cg2d solver; no unit (RHS normalisation)
364 C cg2dTargetResWunit
365 C :: Target residual for cg2d solver; W unit (No RHS normalisation)
366 C cg3dTargetResidual
367 C :: Target residual for cg3d solver.
368 C cg2dpcOffDFac :: Averaging weight for preconditioner off-diagonal.
369 C Note. 20th May 1998
370 C I made a weird discovery! In the model paper we argue
371 C for the form of the preconditioner used here ( see
372 C A Finite-volume, Incompressible Navier-Stokes Model
373 C ...., Marshall et. al ). The algebra gives a simple
374 C 0.5 factor for the averaging of ac and aCw to get a
375 C symmettric pre-conditioner. By using a factor of 0.51
376 C i.e. scaling the off-diagonal terms in the
377 C preconditioner down slightly I managed to get the
378 C number of iterations for convergence in a test case to
379 C drop form 192 -> 134! Need to investigate this further!
380 C For now I have introduced a parameter cg2dpcOffDFac which
381 C defaults to 0.51 but can be set at runtime.
382 C delR :: Vertical grid spacing ( units of r ).
383 C delRc :: Vertical grid spacing between cell centers (r unit).
384 C delX :: Separation between cell faces (m) or (deg), depending
385 C delY on input flags.
386 C gravity :: Accel. due to gravity ( m/s^2 )
387 C recip_gravity and its inverse
388 C gBaro :: Accel. due to gravity used in barotropic equation ( m/s^2 )
389 C rhoNil :: Reference density for the linear equation of state
390 C rhoConst :: Vertically constant reference density
391 C rhoConstFresh :: Constant reference density for fresh water (rain)
392 C startTime :: Start time for model ( s )
393 C phiMin :: Latitude of southern most cell face.
394 C thetaMin :: Longitude of western most cell face (this
395 C is an "inert" parameter but it is included
396 C to make geographical references simple.)
397 C rSphere :: Radius of sphere for a spherical polar grid ( m ).
398 C recip_RSphere :: Reciprocal radius of sphere ( m ).
399 C f0 :: Reference coriolis parameter ( 1/s )
400 C ( Southern edge f for beta plane )
401 C beta :: df/dy ( s^-1.m^-1 )
402 C omega :: Angular velocity ( rad/s )
403 C rotationPeriod :: Rotation period (s) (= 2.pi/omega)
404 C viscAh :: Eddy viscosity coeff. for mixing of
405 C momentum laterally ( m^2/s )
406 C viscAr :: Eddy viscosity coeff. for mixing of
407 C momentum vertically ( units of r^2/s )
408 C viscA4 :: Biharmonic viscosity coeff. for mixing of
409 C momentum laterally ( m^4/s )
410 C viscC2leith :: Leith non-dimensional viscosity factor
411 C viscAhMax :: Maximum eddy viscosity coeff. for mixing of
412 C momentum laterally ( m^2/s )
413 C viscA4Max :: Maximum biharmonic viscosity coeff. for mixing of
414 C momentum laterally ( m^4/s )
415 C viscAhGrid:: non-dimensional grid-size dependent viscosity
416 C viscA4Grid:: non-dimensional grid-size dependent bi-harmonic viscosity
417 C viscC4leith :: Leith non-dimensional viscosity factor
418 C diffKhT :: Laplacian diffusion coeff. for mixing of
419 C heat laterally ( m^2/s )
420 C diffKrT :: Laplacian diffusion coeff. for mixing of
421 C heat vertically ( units of r^2/s )
422 C diffK4T :: Biharmonic diffusion coeff. for mixing of
423 C heat laterally ( m^4/s )
424 C diffKhS :: Laplacian diffusion coeff. for mixing of
425 C salt laterally ( m^2/s )
426 C diffKrS :: Laplacian diffusion coeff. for mixing of
427 C salt vertically ( units of r^2/s )
428 C diffK4S :: Biharmonic diffusion coeff. for mixing of
429 C salt laterally ( m^4/s )
430 C diffKrBL79surf :: T/S surface diffusivity (m^2/s) Bryan and Lewis, 1979
431 C diffKrBL79deep :: T/S deep diffusivity (m^2/s) Bryan and Lewis, 1979
432 C diffKrBL79scl :: depth scale for arctan fn (m) Bryan and Lewis, 1979
433 C diffKrBL79Ho :: depth offset for arctan fn (m) Bryan and Lewis, 1979
434 C deltaT :: Default timestep ( s )
435 C deltaTClock :: Timestep used as model "clock". This determines the
436 C IO frequencies and is used in tagging output. It can
437 C be totally different to the dynamical time. Typically
438 C it will be the deep-water timestep for accelerated runs.
439 C Frequency of checkpointing and dumping of the model state
440 C are referenced to this clock. ( s )
441 C deltaTMom :: Timestep for momemtum equations ( s )
442 C deltaTtracer :: Timestep for tracer equations ( s )
443 C deltaTfreesurf :: Timestep for free-surface equation ( s )
444 C freesurfFac :: Parameter to turn implicit free surface term on or off
445 C freesurfac = 1. uses implicit free surface
446 C freesurfac = 0. uses rigid lid
447 C implicSurfPress :: parameter of the Crank-Nickelson time stepping :
448 C Implicit part of Surface Pressure Gradient ( 0-1 )
449 C implicDiv2Dflow :: parameter of the Crank-Nickelson time stepping :
450 C Implicit part of barotropic flow Divergence ( 0-1 )
451 C hFacMin :: Minimum fraction size of a cell (affects hFacC etc...)
452 C hFacMinDz :: Minimum dimesional size of a cell (affects hFacC etc..., m)
453 C hFacMinDp :: Minimum dimesional size of a cell (affects hFacC etc..., Pa)
454 C hFacMinDr :: Minimum dimesional size of a cell (affects hFacC etc..., units of r)
455 C hFacInf :: Threshold (inf and sup) for fraction size of surface cell
456 C hFacSup that control vanishing and creating levels
457 C tauCD :: CD scheme coupling timescale ( 1/s )
458 C rCD :: CD scheme normalised coupling parameter ( 0-1 )
459 C startTime :: Starting time for this integration ( s ).
460 C endTime :: Ending time for this integration ( s ).
461 C chkPtFreq :: Frequency of rolling check pointing ( s ).
462 C pChkPtFreq :: Frequency of permanent check pointing ( s ).
463 C dumpFreq :: Frequency with which model state is written to
464 C post-processing files ( s ).
465 C diagFreq :: Frequency with which model writes diagnostic output
466 C of intermediate quantities.
467 C afFacMom :: Advection of momentum term tracer parameter
468 C vfFacMom :: Momentum viscosity tracer parameter
469 C pfFacMom :: Momentum pressure forcing tracer parameter
470 C cfFacMom :: Coriolis term tracer parameter
471 C foFacMom :: Momentum forcing tracer parameter
472 C mtFacMom :: Metric terms tracer parameter
473 C cosPower :: Power of cosine of latitude to multiply viscosity
474 C cAdjFreq :: Frequency of convective adjustment
475 C
476 C taveFreq :: Frequency with which time-averaged model state
477 C is written to post-processing files ( s ).
478 C tave_lastIter :: (for state variable only) fraction of the last time
479 C step (of each taveFreq period) put in the time average.
480 C (fraction for 1rst iter = 1 - tave_lastIter)
481 C tauThetaClimRelax :: Relaxation to climatology time scale ( s ).
482 C lambdaThetaClimRelax :: Inverse time scale for relaxation ( 1/s ).
483 C tauSaltClimRelax :: Relaxation to climatology time scale ( s ).
484 C lambdaSaltClimRelax :: Inverse time scale for relaxation ( 1/s ).
485 C latBandClimRelax :: latitude band where Relaxation to Clim. is applied,
486 C i.e. where |yC| <= latBandClimRelax
487 C externForcingPeriod :: Is the period of which forcing varies (eg. 1 month)
488 C externForcingCycle :: Is the repeat time of the forcing (eg. 1 year)
489 C (note: externForcingCycle must be an integer
490 C number times externForcingPeriod)
491 C convertFW2Salt :: salinity, used to convert Fresh-Water Flux to Salt Flux
492 C (use model surface (local) value if set to -1)
493 C temp_EvPrRn :: temperature of Rain & Evap.
494 C salt_EvPrRn :: salinity of Rain & Evap.
495 C trac_EvPrRn :: tracer concentration in Rain & Evap.
496 C (notes: a) tracer content of Rain/Evap only used if both
497 C NonLin_FrSurf & useRealFreshWater are set.
498 C b) use model surface (local) value if set to UNSET_RL)
499 C horiVertRatio :: Ratio on units in vertical to units in horizontal.
500 C recip_horiVertRatio ( 1 if horiz in m and vertical in m ).
501 C ( g*rho if horiz in m and vertical in Pa ).
502 C Ro_SeaLevel :: standard position of Sea-Level in "R" coordinate, used as
503 C starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel)
504 C bottomDragLinear :: Drag coefficient built in to core dynamics
505 C --"-"-- Quadratic ( linear: 1/s, quadratic: 1/m )
506 COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit,
507 & cg2dpcOffDFac, cg3dTargetResidual,
508 & delR, delRc, delX, delY,
509 & deltaT, deltaTmom, deltaTtracer, deltaTfreesurf, deltaTClock,
510 & abeps, startTime,
511 & phiMin, thetaMin, rSphere, recip_RSphere, f0, beta,
512 & fCori, fCoriG, fCoriCos,
513 & viscAh, viscAhMax, viscAhGrid, viscC2leith,
514 & viscA4, viscA4Max, viscA4Grid, viscC4leith,
515 & viscAr, viscAstrain, viscAtension,
516 & diffKhT, diffK4T, diffKrT,
517 & diffKhS, diffK4S, diffKrS,
518 & diffKrBL79surf, diffKrBL79deep, diffKrBL79scl, diffKrBL79Ho,
519 & delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow,
520 & hFacMin, hFacMinDz, hFacInf, hFacSup,
521 & gravity, recip_Gravity, gBaro, rhonil, recip_rhonil,
522 & recip_rhoConst, rhoConst,
523 & rhoConstFresh, convertEmP2rUnit, tRef, sRef,
524 & endTime, chkPtFreq, pchkPtFreq, dumpFreq, adjDumpFreq,
525 & diagFreq, taveFreq, tave_lastIter, monitorFreq,
526 & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,
527 & cosPower, cAdjFreq, omega, rotationPeriod,
528 & tauThetaClimRelax, lambdaThetaClimRelax,
529 & tauSaltClimRelax, lambdaSaltClimRelax,
530 & tauTr1ClimRelax, lambdaTr1ClimRelax, latBandClimRelax,
531 & externForcingCycle, externForcingPeriod,
532 & convertFW2Salt, temp_EvPrRn, salt_EvPrRn, trac_EvPrRn,
533 & hFacMinDr, hFacMinDp,
534 & horiVertRatio, recip_horiVertRatio,
535 & ivdc_kappa, Ro_SeaLevel,
536 & bottomDragLinear,bottomDragQuadratic,
537 & tCyl
538
539 _RL cg2dTargetResidual
540 _RL cg2dTargetResWunit
541 _RL cg3dTargetResidual
542 _RL cg2dpcOffDFac
543 _RL delR(Nr)
544 _RL delRc(Nr+1)
545 _RL delX(Nx)
546 _RL delY(Ny)
547 _RL deltaT
548 _RL deltaTClock
549 _RL deltaTmom
550 _RL deltaTtracer
551 _RL deltaTfreesurf
552 _RL abeps
553 _RL phiMin
554 _RL thetaMin
555 _RL rSphere
556 _RL recip_RSphere
557 _RL f0
558 _RL freeSurfFac
559 _RL implicSurfPress
560 _RL implicDiv2Dflow
561 _RL hFacMin
562 _RL hFacMinDz
563 _RL hFacMinDp
564 _RL hFacMinDr
565 _RL hFacInf
566 _RL hFacSup
567 _RL beta
568 _RL viscAh
569 _RL viscAhMax
570 _RL viscAhGrid
571 _RL viscC2leith
572 _RL viscAstrain
573 _RL viscAtension
574 _RL viscAr
575 _RL viscA4
576 _RL viscA4Max
577 _RL viscA4Grid
578 _RL viscC4leith
579 _RL diffKhT
580 _RL diffKrT
581 _RL diffK4T
582 _RL diffKhS
583 _RL diffKrS
584 _RL diffK4S
585 _RL diffKrBL79surf
586 _RL diffKrBL79deep
587 _RL diffKrBL79scl
588 _RL diffKrBL79Ho
589 _RL delt
590 _RL tauCD
591 _RL rCD
592 _RL gravity
593 _RL recip_gravity
594 _RL gBaro
595 _RL rhonil
596 _RL recip_rhonil
597 _RL rhoConst
598 _RL recip_rhoConst
599 _RL rhoConstFresh
600 _RL convertEmP2rUnit
601 _RL tRef(Nr)
602 _RL sRef(Nr)
603 _RS fCori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
604 _RS fCoriG(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
605 _RS fCoriCos(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
606 _RL startTime
607 _RL endTime
608 _RL chkPtFreq
609 _RL pChkPtFreq
610 _RL dumpFreq
611 _RL adjDumpFreq
612 _RL diagFreq
613 _RL taveFreq
614 _RL tave_lastIter
615 _RL monitorFreq
616 _RL afFacMom
617 _RL vfFacMom
618 _RL pfFacMom
619 _RL cfFacMom
620 _RL foFacMom
621 _RL mTFacMom
622 _RL cosPower
623 _RL cAdjFreq
624 _RL omega
625 _RL rotationPeriod
626 _RL tauThetaClimRelax
627 _RL lambdaThetaClimRelax
628 _RL tauSaltClimRelax
629 _RL lambdaSaltClimRelax
630 _RL tauTr1ClimRelax
631 _RL lambdaTr1ClimRelax
632 _RL latBandClimRelax
633 _RL externForcingCycle
634 _RL externForcingPeriod
635 _RL convertFW2Salt
636 _RL temp_EvPrRn
637 _RL salt_EvPrRn
638 _RL trac_EvPrRn
639 _RL horiVertRatio
640 _RL recip_horiVertRatio
641 _RL ivdc_kappa
642 _RL Ro_SeaLevel
643 _RL bottomDragLinear
644 _RL bottomDragQuadratic
645 _RL tCyl
646
647 C-- COMMON /PARM_A/ Thermodynamics constants ?
648 COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp
649 _RL HeatCapacity_Cp
650 _RL recip_Cp
651
652 C-- COMMON /PARM_ATM/ Atmospheric physical parameters (Ideal Gas EOS, ...)
653 C celsius2K :: convert centigrade (Celsius) degree to Kelvin
654 C atm_Po :: standard reference pressure
655 C atm_Cp :: specific heat (Cp) of the (dry) air at constant pressure
656 C atm_Rd :: gas constant for dry air
657 C atm_kappa :: kappa = R/Cp (R: constant of Ideal Gas EOS)
658 C atm_Rq :: water vapour specific volume anomaly relative to dry air
659 C (e.g. typical value = (29/18 -1) 10^-3 with q [g/kg])
660 C integr_GeoPot :: option to select the way we integrate the geopotential
661 C (still a subject of discussions ...)
662 C selectFindRoSurf :: select the way surf. ref. pressure (=Ro_surf) is
663 C derived from the orography. Implemented: 0,1 (see INI_P_GROUND)
664 COMMON /PARM_ATM/
665 & celsius2K,
666 & atm_Cp, atm_Rd, atm_kappa, atm_Rq, atm_Po,
667 & integr_GeoPot, selectFindRoSurf
668 _RL celsius2K
669 _RL atm_Po, atm_Cp, atm_Rd, atm_kappa, atm_Rq
670 INTEGER integr_GeoPot, selectFindRoSurf
671
672 C Logical flags for selecting packages
673 LOGICAL useKPP
674 LOGICAL useGMRedi
675 LOGICAL useOBCS
676 LOGICAL useAIM
677 LOGICAL useLand
678 LOGICAL useGrdchk
679 LOGICAL useECCO
680 LOGICAL useSHAP_FILT
681 LOGICAL useZONAL_FILT
682 LOGICAL useFLT
683 LOGICAL usePTRACERS
684 LOGICAL useSBO
685 LOGICAL useSEAICE
686 LOGICAL useBulkForce
687 LOGICAL useThSIce
688 LOGICAL usefizhi
689 LOGICAL usegridalt
690 LOGICAL usediagnostics
691 LOGICAL useEBM
692 COMMON /PARM_PACKAGES/
693 & useKPP, useGMRedi, useOBCS, useAIM, useLand, useECCO,
694 & useSHAP_FILT, useZONAL_FILT, useGrdchk, useFLT,
695 & usePTRACERS, useSBO, useSEAICE, useThSIce, useBulkForce,
696 & usefizhi, usegridalt, usediagnostics, useEBM
697
698 C Run-time flags for early-initialization of MNC
699 LOGICAL
700 & useMNC,
701 & mnc_use_indir, mnc_use_outdir, mnc_outdir_date,
702 & mnc_echo_gvtypes, mnc_pickup_write, mnc_pickup_read,
703 & mnc_use_for_mon
704 CHARACTER*(MAX_LEN_FNAM) mnc_outdir_str
705 CHARACTER*(MAX_LEN_FNAM) mnc_indir_str
706 COMMON /PARM_MNC/
707 & useMNC,
708 & mnc_use_indir, mnc_use_outdir, mnc_outdir_date,
709 & mnc_echo_gvtypes, mnc_pickup_write, mnc_pickup_read,
710 & mnc_outdir_str, mnc_indir_str,
711 & mnc_use_for_mon
712
713
714 CEH3 ;;; Local Variables: ***
715 CEH3 ;;; mode:fortran ***
716 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22