/[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.110 - (show annotations) (download)
Wed May 26 14:50:09 2004 UTC (19 years, 11 months ago) by adcroft
Branch: MAIN
Changes since 1.109: +7 -3 lines
File MIME type: text/plain
Added variable viscosity for the vector invariant equations
based on Leith, 1968, Phys. Fluids (10) 1409-1416
 - the use of the variable viscosty in the no-slip boundary conditions
   has not been implemented (but should be)
 - new parameters viscC2leith and viscC4leith are non-dimensional
 - I decided to modulate the variable viscosuty with the same viscAhMax
   and viscA4max; ideally we should have another maximum based on dx^2/dt etc.

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

  ViewVC Help
Powered by ViewVC 1.1.22