/[MITgcm]/MITgcm_contrib/snarayan/divided_adjoint/model/inc/PARAMS.h
ViewVC logotype

Contents of /MITgcm_contrib/snarayan/divided_adjoint/model/inc/PARAMS.h

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


Revision 1.1 - (show annotations) (download)
Tue May 19 21:32:23 2015 UTC (10 years, 2 months ago) by snarayan
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
Divided adjoints

Files for the implementing divided adjoints using OpenAD

1 C $Header: /u/gcmpack/MITgcm/model/inc/PARAMS.h,v 1.279 2015/03/23 21:00:27 gforget Exp $
2 C $Name: $
3 C
4
5 CBOP
6 C !ROUTINE: PARAMS.h
7 C !INTERFACE:
8 C #include PARAMS.h
9
10 C !DESCRIPTION:
11 C Header file defining model "parameters". The values from the
12 C model standard input file are stored into the variables held
13 C here. Notes describing the parameters can also be found here.
14
15 CEOP
16
17 C-- Contants
18 C Useful physical values
19 Real*8 PI
20 PARAMETER ( PI = 3.14159265358979323844D0 )
21 Real*8 deg2rad
22 PARAMETER ( deg2rad = 2.D0*PI/360.D0 )
23
24 C-- COMMON /PARM_C/ Character valued parameters used by the model.
25 C buoyancyRelation :: Flag used to indicate which relation to use to
26 C get buoyancy.
27 C eosType :: choose the equation of state:
28 C LINEAR, POLY3, UNESCO, JMD95Z, JMD95P, MDJWF, IDEALGAS
29 C pickupSuff :: force to start from pickup files (even if nIter0=0)
30 C and read pickup files with this suffix (max 10 Char.)
31 C mdsioLocalDir :: read-write tiled file from/to this directory name
32 C (+ 4 digits Processor-Rank) instead of current dir.
33 C adTapeDir :: read-write checkpointing tape files from/to this
34 C directory name instead of current dir. Conflicts
35 C mdsioLocalDir, so only one of the two can be set.
36 C In contrast to mdsioLocalDir, if specified adTapeDir
37 C must exist before the model starts.
38 C tRefFile :: File containing reference Potential Temperat. tRef (1.D)
39 C sRefFile :: File containing reference salinity/spec.humid. sRef (1.D)
40 C rhoRefFile :: File containing reference density profile rhoRef (1.D)
41 C delRFile :: File containing vertical grid spacing delR (1.D array)
42 C delRcFile :: File containing vertical grid spacing delRc (1.D array)
43 C hybSigmFile :: File containing hybrid-sigma vertical coord. coeff. (2x 1.D)
44 C delXFile :: File containing X-spacing grid definition (1.D array)
45 C delYFile :: File containing Y-spacing grid definition (1.D array)
46 C horizGridFile :: File containing horizontal-grid definition
47 C (only when using curvilinear_grid)
48 C bathyFile :: File containing bathymetry. If not defined bathymetry
49 C is taken from inline function.
50 C topoFile :: File containing the topography of the surface (unit=m)
51 C (mainly used for the atmosphere = ground height).
52 C addWwallFile :: File containing 2-D additional Western cell-edge wall
53 C addSwallFile :: File containing 2-D additional Southern cell-edge wall
54 C (e.g., to add "thin-wall" where it is =1)
55 C hydrogThetaFile :: File containing initial hydrographic data (3-D)
56 C for potential temperature.
57 C hydrogSaltFile :: File containing initial hydrographic data (3-D)
58 C for salinity.
59 C diffKrFile :: File containing 3D specification of vertical diffusivity
60 C viscAhDfile :: File containing 3D specification of horizontal viscosity
61 C viscAhZfile :: File containing 3D specification of horizontal viscosity
62 C viscA4Dfile :: File containing 3D specification of horizontal viscosity
63 C viscA4Zfile :: File containing 3D specification of horizontal viscosity
64 C zonalWindFile :: File containing zonal wind data
65 C meridWindFile :: File containing meridional wind data
66 C thetaClimFile :: File containing surface theta climataology used
67 C in relaxation term -lambda(theta-theta*)
68 C saltClimFile :: File containing surface salt climataology used
69 C in relaxation term -lambda(salt-salt*)
70 C surfQfile :: File containing surface heat flux, excluding SW
71 C (old version, kept for backward compatibility)
72 C surfQnetFile :: File containing surface net heat flux
73 C surfQswFile :: File containing surface shortwave radiation
74 C EmPmRfile :: File containing surface fresh water flux
75 C NOTE: for backward compatibility EmPmRfile is specified in
76 C m/s when using external_fields_load.F. It is converted
77 C to kg/m2/s by multiplying by rhoConstFresh.
78 C saltFluxFile :: File containing surface salt flux
79 C pLoadFile :: File containing pressure loading
80 C addMassFile :: File containing source/sink of fluid in the interior
81 C eddyPsiXFile :: File containing zonal Eddy streamfunction data
82 C eddyPsiYFile :: File containing meridional Eddy streamfunction data
83 C the_run_name :: string identifying the name of the model "run"
84 COMMON /PARM_C/
85 & buoyancyRelation, eosType,
86 & pickupSuff, mdsioLocalDir, adTapeDir,
87 & tRefFile, sRefFile, rhoRefFile,
88 & delRFile, delRcFile, hybSigmFile,
89 & delXFile, delYFile, horizGridFile,
90 & bathyFile, topoFile, addWwallFile, addSwallFile,
91 & viscAhDfile, viscAhZfile,
92 & viscA4Dfile, viscA4Zfile,
93 & hydrogThetaFile, hydrogSaltFile, diffKrFile,
94 & zonalWindFile, meridWindFile, thetaClimFile,
95 & saltClimFile,
96 & EmPmRfile, saltFluxFile,
97 & surfQfile, surfQnetFile, surfQswFile,
98 & lambdaThetaFile, lambdaSaltFile,
99 & uVelInitFile, vVelInitFile, pSurfInitFile,
100 & pLoadFile, addMassFile,
101 & eddyPsiXFile, eddyPsiYFile, geothermalFile,
102 & the_run_name
103 CHARACTER*(MAX_LEN_FNAM) buoyancyRelation
104 CHARACTER*(6) eosType
105 CHARACTER*(10) pickupSuff
106 CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir
107 CHARACTER*(MAX_LEN_FNAM) adTapeDir
108 CHARACTER*(MAX_LEN_FNAM) tRefFile
109 CHARACTER*(MAX_LEN_FNAM) sRefFile
110 CHARACTER*(MAX_LEN_FNAM) rhoRefFile
111 CHARACTER*(MAX_LEN_FNAM) delRFile
112 CHARACTER*(MAX_LEN_FNAM) delRcFile
113 CHARACTER*(MAX_LEN_FNAM) hybSigmFile
114 CHARACTER*(MAX_LEN_FNAM) delXFile
115 CHARACTER*(MAX_LEN_FNAM) delYFile
116 CHARACTER*(MAX_LEN_FNAM) horizGridFile
117 CHARACTER*(MAX_LEN_FNAM) bathyFile, topoFile
118 CHARACTER*(MAX_LEN_FNAM) addWwallFile, addSwallFile
119 CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile, hydrogSaltFile
120 CHARACTER*(MAX_LEN_FNAM) diffKrFile
121 CHARACTER*(MAX_LEN_FNAM) viscAhDfile
122 CHARACTER*(MAX_LEN_FNAM) viscAhZfile
123 CHARACTER*(MAX_LEN_FNAM) viscA4Dfile
124 CHARACTER*(MAX_LEN_FNAM) viscA4Zfile
125 CHARACTER*(MAX_LEN_FNAM) zonalWindFile
126 CHARACTER*(MAX_LEN_FNAM) meridWindFile
127 CHARACTER*(MAX_LEN_FNAM) thetaClimFile
128 CHARACTER*(MAX_LEN_FNAM) saltClimFile
129 CHARACTER*(MAX_LEN_FNAM) surfQfile
130 CHARACTER*(MAX_LEN_FNAM) surfQnetFile
131 CHARACTER*(MAX_LEN_FNAM) surfQswFile
132 CHARACTER*(MAX_LEN_FNAM) EmPmRfile
133 CHARACTER*(MAX_LEN_FNAM) saltFluxFile
134 CHARACTER*(MAX_LEN_FNAM) uVelInitFile
135 CHARACTER*(MAX_LEN_FNAM) vVelInitFile
136 CHARACTER*(MAX_LEN_FNAM) pSurfInitFile
137 CHARACTER*(MAX_LEN_FNAM) pLoadFile
138 CHARACTER*(MAX_LEN_FNAM) addMassFile
139 CHARACTER*(MAX_LEN_FNAM) eddyPsiXFile
140 CHARACTER*(MAX_LEN_FNAM) eddyPsiYFile
141 CHARACTER*(MAX_LEN_FNAM) geothermalFile
142 CHARACTER*(MAX_LEN_FNAM) lambdaThetaFile
143 CHARACTER*(MAX_LEN_FNAM) lambdaSaltFile
144 CHARACTER*(MAX_LEN_PREC/2) the_run_name
145
146 C-- COMMON /PARM_I/ Integer valued parameters used by the model.
147 C cg2dMaxIters :: Maximum number of iterations in the
148 C two-dimensional con. grad solver.
149 C cg2dChkResFreq :: Frequency with which to check residual
150 C in con. grad solver.
151 C cg2dPreCondFreq :: Frequency for updating cg2d preconditioner
152 C (non-linear free-surf.)
153 C cg2dUseMinResSol :: =0 : use last-iteration/converged solution
154 C =1 : use solver minimum-residual solution
155 C cg3dMaxIters :: Maximum number of iterations in the
156 C three-dimensional con. grad solver.
157 C cg3dChkResFreq :: Frequency with which to check residual
158 C in con. grad solver.
159 C printResidualFreq :: Frequency for printing residual in CG iterations
160 C nIter0 :: Start time-step number of for this run
161 C nTimeSteps :: Number of timesteps to execute
162 C nTimeSteps_l2 :: Number of inner timesteps to execute per timestep
163 C writeStatePrec :: Precision used for writing model state.
164 C writeBinaryPrec :: Precision used for writing binary files
165 C readBinaryPrec :: Precision used for reading binary files
166 C selectCoriMap :: select setting of Coriolis parameter map:
167 C =0 f-Plane (Constant Coriolis, = f0)
168 C =1 Beta-Plane Coriolis (= f0 + beta.y)
169 C =2 Spherical Coriolis (= 2.omega.sin(phi))
170 C =3 Read Coriolis 2-d fields from files.
171 C selectSigmaCoord :: option related to sigma vertical coordinate
172 C nonlinFreeSurf :: option related to non-linear free surface
173 C =0 Linear free surface ; >0 Non-linear
174 C select_rStar :: option related to r* vertical coordinate
175 C =0 (default) use r coord. ; > 0 use r*
176 C selectNHfreeSurf :: option for Non-Hydrostatic (free-)Surface formulation:
177 C =0 (default) hydrostatic surf. ; > 0 add NH effects.
178 C selectAddFluid :: option to add mass source/sink of fluid in the interior
179 C (3-D generalisation of oceanic real-fresh water flux)
180 C =0 off ; =1 add fluid ; =-1 virtual flux (no mass added)
181 C momForcingOutAB :: =1: take momentum forcing contribution
182 C out of (=0: in) Adams-Bashforth time stepping.
183 C tracForcingOutAB :: =1: take tracer (Temp,Salt,pTracers) forcing contribution
184 C out of (=0: in) Adams-Bashforth time stepping.
185 C tempAdvScheme :: Temp. Horiz.Advection scheme selector
186 C tempVertAdvScheme :: Temp. Vert. Advection scheme selector
187 C saltAdvScheme :: Salt. Horiz.advection scheme selector
188 C saltVertAdvScheme :: Salt. Vert. Advection scheme selector
189 C selectKEscheme :: Kinetic Energy scheme selector (Vector Inv.)
190 C selectVortScheme :: Scheme selector for Vorticity term (Vector Inv.)
191 C selectBotDragQuadr :: quadratic bottom drag discretisation option:
192 C =0: average KE from grid center to U & V location
193 C =1: use local velocity norm @ U & V location
194 C =2: same with wet-point averaging of other component
195 C monitorSelect :: select group of variables to monitor
196 C =1 : dynvars ; =2 : + vort ; =3 : + surface
197 C- debugLevel :: controls printing of algorithm intermediate results
198 C and statistics ; higher -> more writing
199
200 COMMON /PARM_I/
201 & cg2dMaxIters, cg2dChkResFreq,
202 & cg2dPreCondFreq, cg2dUseMinResSol,
203 & cg3dMaxIters, cg3dChkResFreq,
204 & printResidualFreq,
205 & nIter0, nTimeSteps, nTimeSteps_l2, nEndIter,
206 & writeStatePrec,
207 & writeBinaryPrec, readBinaryPrec,
208 & selectCoriMap,
209 & selectSigmaCoord,
210 & nonlinFreeSurf, select_rStar,
211 & selectNHfreeSurf,
212 & selectAddFluid,
213 & momForcingOutAB, tracForcingOutAB,
214 & tempAdvScheme, tempVertAdvScheme,
215 & saltAdvScheme, saltVertAdvScheme,
216 & selectKEscheme, selectVortScheme,
217 & selectBotDragQuadr,
218 & monitorSelect, debugLevel
219 INTEGER cg2dMaxIters
220 INTEGER cg2dChkResFreq
221 INTEGER cg2dPreCondFreq
222 INTEGER cg2dUseMinResSol
223 INTEGER cg3dMaxIters
224 INTEGER cg3dChkResFreq
225 INTEGER printResidualFreq
226 INTEGER nIter0
227 INTEGER nTimeSteps
228 INTEGER nTimeSteps_l2
229 INTEGER nEndIter
230 INTEGER writeStatePrec
231 INTEGER writeBinaryPrec
232 INTEGER readBinaryPrec
233 INTEGER selectCoriMap
234 INTEGER selectSigmaCoord
235 INTEGER nonlinFreeSurf
236 INTEGER select_rStar
237 INTEGER selectNHfreeSurf
238 INTEGER selectAddFluid
239 INTEGER momForcingOutAB, tracForcingOutAB
240 INTEGER tempAdvScheme, tempVertAdvScheme
241 INTEGER saltAdvScheme, saltVertAdvScheme
242 INTEGER selectKEscheme
243 INTEGER selectVortScheme
244 INTEGER selectBotDragQuadr
245 INTEGER monitorSelect
246 INTEGER debugLevel
247
248 C-- COMMON /PARM_L/ Logical valued parameters used by the model.
249 C- Coordinate + Grid params:
250 C fluidIsAir :: Set to indicate that the fluid major constituent
251 C is air
252 C fluidIsWater :: Set to indicate that the fluid major constituent
253 C is water
254 C usingPCoords :: Set to indicate that we are working in a pressure
255 C type coordinate (p or p*).
256 C usingZCoords :: Set to indicate that we are working in a height
257 C type coordinate (z or z*)
258 C useDynP_inEos_Zc :: use the dynamical pressure in EOS (with Z-coord.)
259 C this requires specific code for restart & exchange
260 C usingCartesianGrid :: If TRUE grid generation will be in a cartesian
261 C coordinate frame.
262 C usingSphericalPolarGrid :: If TRUE grid generation will be in a
263 C spherical polar frame.
264 C rotateGrid :: rotate grid coordinates to geographical coordinates
265 C according to Euler angles phiEuler, thetaEuler, psiEuler
266 C usingCylindricalGrid :: If TRUE grid generation will be Cylindrical
267 C usingCurvilinearGrid :: If TRUE, use a curvilinear grid (to be provided)
268 C hasWetCSCorners :: domain contains CS-type corners where dynamics is solved
269 C deepAtmosphere :: deep model (drop the shallow-atmosphere approximation)
270 C setInterFDr :: set Interface depth (put cell-Center at the middle)
271 C setCenterDr :: set cell-Center depth (put Interface at the middle)
272 C- Momentum params:
273 C no_slip_sides :: Impose "no-slip" at lateral boundaries.
274 C no_slip_bottom :: Impose "no-slip" at bottom boundary.
275 C bottomVisc_pCell :: account for partial-cell in bottom visc. (no-slip BC)
276 C useSmag3D :: Use isotropic 3-D Smagorinsky
277 C useFullLeith :: Set to true to use full Leith viscosity(may be unstable
278 C on irregular grids)
279 C useStrainTensionVisc:: Set to true to use Strain-Tension viscous terms
280 C useAreaViscLength :: Set to true to use old scaling for viscous lengths,
281 C e.g., L2=Raz. May be preferable for cube sphere.
282 C momViscosity :: Flag which turns momentum friction terms on and off.
283 C momAdvection :: Flag which turns advection of momentum on and off.
284 C momForcing :: Flag which turns external forcing of momentum on
285 C and off.
286 C momPressureForcing :: Flag which turns pressure term in momentum equation
287 C on and off.
288 C metricTerms :: Flag which turns metric terms on or off.
289 C useNHMTerms :: If TRUE use non-hydrostatic metric terms.
290 C useCoriolis :: Flag which turns the coriolis terms on and off.
291 C use3dCoriolis :: Turns the 3-D coriolis terms (in Omega.cos Phi) on - off
292 C useCDscheme :: use CD-scheme to calculate Coriolis terms.
293 C vectorInvariantMomentum :: use Vector-Invariant form (mom_vecinv package)
294 C (default = F = use mom_fluxform package)
295 C useJamartWetPoints :: Use wet-point method for Coriolis (Jamart & Ozer 1986)
296 C useJamartMomAdv :: Use wet-point method for V.I. non-linear term
297 C upwindVorticity :: bias interpolation of vorticity in the Coriolis term
298 C highOrderVorticity :: use 3rd/4th order interp. of vorticity (V.I., advection)
299 C useAbsVorticity :: work with f+zeta in Coriolis terms
300 C upwindShear :: use 1rst order upwind interp. (V.I., vertical advection)
301 C momStepping :: Turns momentum equation time-stepping off
302 C calc_wVelocity :: Turns of vertical velocity calculation off
303 C- Temp. & Salt params:
304 C tempStepping :: Turns temperature equation time-stepping on/off
305 C saltStepping :: Turns salinity equation time-stepping on/off
306 C addFrictionHeating :: account for frictional heating
307 C tempAdvection :: Flag which turns advection of temperature on and off.
308 C tempVertDiff4 :: use vertical bi-harmonic diffusion for temperature
309 C tempIsActiveTr :: Pot.Temp. is a dynamically active tracer
310 C tempForcing :: Flag which turns external forcing of temperature on/off
311 C saltAdvection :: Flag which turns advection of salinity on and off.
312 C saltVertDiff4 :: use vertical bi-harmonic diffusion for salinity
313 C saltIsActiveTr :: Salinity is a dynamically active tracer
314 C saltForcing :: Flag which turns external forcing of salinity on/off
315 C maskIniTemp :: apply mask to initial Pot.Temp.
316 C maskIniSalt :: apply mask to initial salinity
317 C checkIniTemp :: check for points with identically zero initial Pot.Temp.
318 C checkIniSalt :: check for points with identically zero initial salinity
319 C- Pressure solver related parameters (PARM02)
320 C useSRCGSolver :: Set to true to use conjugate gradient
321 C solver with single reduction (only one call of
322 C s/r mpi_allreduce), default is false
323 C- Time-stepping & free-surface params:
324 C rigidLid :: Set to true to use rigid lid
325 C implicitFreeSurface :: Set to true to use implicit free surface
326 C uniformLin_PhiSurf :: Set to true to use a uniform Bo_surf in the
327 C linear relation Phi_surf = Bo_surf*eta
328 C uniformFreeSurfLev :: TRUE if free-surface level-index is uniform (=1)
329 C exactConserv :: Set to true to conserve exactly the total Volume
330 C linFSConserveTr :: Set to true to correct source/sink of tracer
331 C at the surface due to Linear Free Surface
332 C useRealFreshWaterFlux :: if True (=Natural BCS), treats P+R-E flux
333 C as a real Fresh Water (=> changes the Sea Level)
334 C if F, converts P+R-E to salt flux (no SL effect)
335 C quasiHydrostatic :: Using non-hydrostatic terms in hydrostatic algorithm
336 C nonHydrostatic :: Using non-hydrostatic algorithm
337 C use3Dsolver :: set to true to use 3-D pressure solver
338 C implicitIntGravWave :: treat Internal Gravity Wave implicitly
339 C staggerTimeStep :: enable a Stagger time stepping U,V (& W) then T,S
340 C doResetHFactors :: Do reset thickness factors @ beginning of each time-step
341 C implicitDiffusion :: Turns implicit vertical diffusion on
342 C implicitViscosity :: Turns implicit vertical viscosity on
343 C implBottomFriction :: Turns on implicit bottom friction (drag & no-slip BC)
344 C tempImplVertAdv :: Turns on implicit vertical advection for Temperature
345 C saltImplVertAdv :: Turns on implicit vertical advection for Salinity
346 C momImplVertAdv :: Turns on implicit vertical advection for Momentum
347 C multiDimAdvection :: Flag that enable multi-dimension advection
348 C useMultiDimAdvec :: True if multi-dim advection is used at least once
349 C momDissip_In_AB :: if False, put Dissipation tendency contribution
350 C out off Adams-Bashforth time stepping.
351 C doAB_onGtGs :: if the Adams-Bashforth time stepping is used, always
352 C apply AB on tracer tendencies (rather than on Tracer)
353 C- Other forcing params -
354 C balanceEmPmR :: substract global mean of EmPmR at every time step
355 C balanceQnet :: substract global mean of Qnet at every time step
356 C balancePrintMean:: print substracted global means to STDOUT
357 C doThetaClimRelax :: Set true if relaxation to temperature
358 C climatology is required.
359 C doSaltClimRelax :: Set true if relaxation to salinity
360 C climatology is required.
361 C balanceThetaClimRelax :: substract global mean effect at every time step
362 C balanceSaltClimRelax :: substract global mean effect at every time step
363 C allowFreezing :: Allows surface water to freeze and form ice
364 C periodicExternalForcing :: Set true if forcing is time-dependant
365 C- I/O parameters -
366 C globalFiles :: Selects between "global" and "tiled" files.
367 C On some platforms with MPI, option globalFiles is either
368 C slow or does not work. Use useSingleCpuIO instead.
369 C useSingleCpuIO :: moved to EEPARAMS.h
370 C pickupStrictlyMatch :: check and stop if pickup-file do not stricly match
371 C startFromPickupAB2 :: with AB-3 code, start from an AB-2 pickup
372 C usePickupBeforeC54 :: start from old-pickup files, generated with code from
373 C before checkpoint-54a, Jul 06, 2004.
374 C pickup_write_mdsio :: use mdsio to write pickups
375 C pickup_read_mdsio :: use mdsio to read pickups
376 C pickup_write_immed :: echo the pickup immediately (for conversion)
377 C writePickupAtEnd :: write pickup at the last timestep
378 C timeave_mdsio :: use mdsio for timeave output
379 C snapshot_mdsio :: use mdsio for "snapshot" (dumpfreq/diagfreq) output
380 C monitor_stdio :: use stdio for monitor output
381 C dumpInitAndLast :: dumps model state to files at Initial (nIter0)
382 C & Last iteration, in addition multiple of dumpFreq iter.
383 C printDomain :: controls printing of domain fields (bathy, hFac ...).
384
385 COMMON /PARM_L/
386 & fluidIsAir, fluidIsWater,
387 & usingPCoords, usingZCoords, useDynP_inEos_Zc,
388 & usingCartesianGrid, usingSphericalPolarGrid, rotateGrid,
389 & usingCylindricalGrid, usingCurvilinearGrid, hasWetCSCorners,
390 & deepAtmosphere, setInterFDr, setCenterDr,
391 & no_slip_sides, no_slip_bottom, bottomVisc_pCell, useSmag3D,
392 & useFullLeith, useStrainTensionVisc, useAreaViscLength,
393 & momViscosity, momAdvection, momForcing,
394 & momPressureForcing, metricTerms, useNHMTerms,
395 & useCoriolis, use3dCoriolis,
396 & useCDscheme, vectorInvariantMomentum,
397 & useEnergyConservingCoriolis, useJamartWetPoints, useJamartMomAdv,
398 & upwindVorticity, highOrderVorticity,
399 & useAbsVorticity, upwindShear,
400 & momStepping, calc_wVelocity, tempStepping, saltStepping,
401 & addFrictionHeating,
402 & tempAdvection, tempVertDiff4, tempIsActiveTr, tempForcing,
403 & saltAdvection, saltVertDiff4, saltIsActiveTr, saltForcing,
404 & maskIniTemp, maskIniSalt, checkIniTemp, checkIniSalt,
405 & useSRCGSolver,
406 & rigidLid, implicitFreeSurface,
407 & uniformLin_PhiSurf, uniformFreeSurfLev,
408 & exactConserv, linFSConserveTr, useRealFreshWaterFlux,
409 & quasiHydrostatic, nonHydrostatic, use3Dsolver,
410 & implicitIntGravWave, staggerTimeStep, doResetHFactors,
411 & implicitDiffusion, implicitViscosity, implBottomFriction,
412 & tempImplVertAdv, saltImplVertAdv, momImplVertAdv,
413 & multiDimAdvection, useMultiDimAdvec,
414 & momDissip_In_AB, doAB_onGtGs,
415 & balanceEmPmR, balanceQnet, balancePrintMean,
416 & balanceThetaClimRelax, balanceSaltClimRelax,
417 & doThetaClimRelax, doSaltClimRelax,
418 & allowFreezing,
419 & periodicExternalForcing,
420 & globalFiles,
421 & pickupStrictlyMatch, usePickupBeforeC54, startFromPickupAB2,
422 & pickup_read_mdsio, pickup_write_mdsio, pickup_write_immed,
423 & writePickupAtEnd,
424 & timeave_mdsio, snapshot_mdsio, monitor_stdio,
425 & outputTypesInclusive, dumpInitAndLast,
426 & printDomain
427
428 LOGICAL fluidIsAir
429 LOGICAL fluidIsWater
430 LOGICAL usingPCoords
431 LOGICAL usingZCoords
432 LOGICAL useDynP_inEos_Zc
433 LOGICAL usingCartesianGrid
434 LOGICAL usingSphericalPolarGrid, rotateGrid
435 LOGICAL usingCylindricalGrid
436 LOGICAL usingCurvilinearGrid, hasWetCSCorners
437 LOGICAL deepAtmosphere
438 LOGICAL setInterFDr
439 LOGICAL setCenterDr
440
441 LOGICAL no_slip_sides
442 LOGICAL no_slip_bottom
443 LOGICAL bottomVisc_pCell
444 LOGICAL useSmag3D
445 LOGICAL useFullLeith
446 LOGICAL useStrainTensionVisc
447 LOGICAL useAreaViscLength
448 LOGICAL momViscosity
449 LOGICAL momAdvection
450 LOGICAL momForcing
451 LOGICAL momPressureForcing
452 LOGICAL metricTerms
453 LOGICAL useNHMTerms
454
455 LOGICAL useCoriolis
456 LOGICAL use3dCoriolis
457 LOGICAL useCDscheme
458 LOGICAL vectorInvariantMomentum
459 LOGICAL useEnergyConservingCoriolis
460 LOGICAL useJamartWetPoints
461 LOGICAL useJamartMomAdv
462 LOGICAL upwindVorticity
463 LOGICAL highOrderVorticity
464 LOGICAL useAbsVorticity
465 LOGICAL upwindShear
466 LOGICAL momStepping
467 LOGICAL calc_wVelocity
468 LOGICAL tempStepping
469 LOGICAL saltStepping
470 LOGICAL addFrictionHeating
471 LOGICAL tempAdvection
472 LOGICAL tempVertDiff4
473 LOGICAL tempIsActiveTr
474 LOGICAL tempForcing
475 LOGICAL saltAdvection
476 LOGICAL saltVertDiff4
477 LOGICAL saltIsActiveTr
478 LOGICAL saltForcing
479 LOGICAL maskIniTemp
480 LOGICAL maskIniSalt
481 LOGICAL checkIniTemp
482 LOGICAL checkIniSalt
483 LOGICAL useSRCGSolver
484 LOGICAL rigidLid
485 LOGICAL implicitFreeSurface
486 LOGICAL uniformLin_PhiSurf
487 LOGICAL uniformFreeSurfLev
488 LOGICAL exactConserv
489 LOGICAL linFSConserveTr
490 LOGICAL useRealFreshWaterFlux
491 LOGICAL quasiHydrostatic
492 LOGICAL nonHydrostatic
493 LOGICAL use3Dsolver
494 LOGICAL implicitIntGravWave
495 LOGICAL staggerTimeStep
496 LOGICAL doResetHFactors
497 LOGICAL implicitDiffusion
498 LOGICAL implicitViscosity
499 LOGICAL implBottomFriction
500 LOGICAL tempImplVertAdv
501 LOGICAL saltImplVertAdv
502 LOGICAL momImplVertAdv
503 LOGICAL multiDimAdvection
504 LOGICAL useMultiDimAdvec
505 LOGICAL momDissip_In_AB
506 LOGICAL doAB_onGtGs
507 LOGICAL balanceEmPmR
508 LOGICAL balanceQnet
509 LOGICAL balancePrintMean
510 LOGICAL doThetaClimRelax
511 LOGICAL doSaltClimRelax
512 LOGICAL balanceThetaClimRelax
513 LOGICAL balanceSaltClimRelax
514 LOGICAL allowFreezing
515 LOGICAL periodicExternalForcing
516 LOGICAL globalFiles
517 LOGICAL pickupStrictlyMatch
518 LOGICAL usePickupBeforeC54
519 LOGICAL startFromPickupAB2
520 LOGICAL pickup_read_mdsio, pickup_write_mdsio
521 LOGICAL pickup_write_immed, writePickupAtEnd
522 LOGICAL timeave_mdsio, snapshot_mdsio, monitor_stdio
523 LOGICAL outputTypesInclusive
524 LOGICAL dumpInitAndLast
525 LOGICAL printDomain
526
527 C-- COMMON /PARM_R/ "Real" valued parameters used by the model.
528 C cg2dTargetResidual
529 C :: Target residual for cg2d solver; no unit (RHS normalisation)
530 C cg2dTargetResWunit
531 C :: Target residual for cg2d solver; W unit (No RHS normalisation)
532 C cg3dTargetResidual
533 C :: Target residual for cg3d solver.
534 C cg2dpcOffDFac :: Averaging weight for preconditioner off-diagonal.
535 C Note. 20th May 1998
536 C I made a weird discovery! In the model paper we argue
537 C for the form of the preconditioner used here ( see
538 C A Finite-volume, Incompressible Navier-Stokes Model
539 C ...., Marshall et. al ). The algebra gives a simple
540 C 0.5 factor for the averaging of ac and aCw to get a
541 C symmettric pre-conditioner. By using a factor of 0.51
542 C i.e. scaling the off-diagonal terms in the
543 C preconditioner down slightly I managed to get the
544 C number of iterations for convergence in a test case to
545 C drop form 192 -> 134! Need to investigate this further!
546 C For now I have introduced a parameter cg2dpcOffDFac which
547 C defaults to 0.51 but can be set at runtime.
548 C delR :: Vertical grid spacing ( units of r ).
549 C delRc :: Vertical grid spacing between cell centers (r unit).
550 C delX :: Separation between cell faces (m) or (deg), depending
551 C delY on input flags. Note: moved to header file SET_GRID.h
552 C xgOrigin :: Origin of the X-axis (Cartesian Grid) / Longitude of Western
553 C :: most cell face (Lat-Lon grid) (Note: this is an "inert"
554 C :: parameter but it makes geographical references simple.)
555 C ygOrigin :: Origin of the Y-axis (Cartesian Grid) / Latitude of Southern
556 C :: most face (Lat-Lon grid).
557 C gravity :: Accel. due to gravity ( m/s^2 )
558 C recip_gravity and its inverse
559 C gBaro :: Accel. due to gravity used in barotropic equation ( m/s^2 )
560 C rhoNil :: Reference density for the linear equation of state
561 C rhoConst :: Vertically constant reference density (Boussinesq)
562 C thetaConst :: Constant reference for potential temperature
563 C rhoFacC :: normalized (by rhoConst) reference density at cell-Center
564 C rhoFacF :: normalized (by rhoConst) reference density at cell-interFace
565 C rhoConstFresh :: Constant reference density for fresh water (rain)
566 C rho1Ref :: reference vertical profile for density
567 C tRef :: reference vertical profile for potential temperature
568 C sRef :: reference vertical profile for salinity/specific humidity
569 C phiRef :: reference potential (pressure/rho, geopotential) profile
570 C dBdrRef :: vertical gradient of reference buoyancy [(m/s/r)^2]:
571 C :: z-coord: = N^2_ref = Brunt-Vaissala frequency [s^-2]
572 C :: p-coord: = -(d.alpha/dp)_ref [(m^2.s/kg)^2]
573 C rVel2wUnit :: units conversion factor (Non-Hydrostatic code),
574 C :: from r-coordinate vertical velocity to vertical velocity [m/s].
575 C :: z-coord: = 1 ; p-coord: wSpeed [m/s] = rVel [Pa/s] * rVel2wUnit
576 C wUnit2rVel :: units conversion factor (Non-Hydrostatic code),
577 C :: from vertical velocity [m/s] to r-coordinate vertical velocity.
578 C :: z-coord: = 1 ; p-coord: rVel [Pa/s] = wSpeed [m/s] * wUnit2rVel
579 C mass2rUnit :: units conversion factor (surface forcing),
580 C :: from mass per unit area [kg/m2] to vertical r-coordinate unit.
581 C :: z-coord: = 1/rhoConst ( [kg/m2] / rho = [m] ) ;
582 C :: p-coord: = gravity ( [kg/m2] * g = [Pa] ) ;
583 C rUnit2mass :: units conversion factor (surface forcing),
584 C :: from vertical r-coordinate unit to mass per unit area [kg/m2].
585 C :: z-coord: = rhoConst ( [m] * rho = [kg/m2] ) ;
586 C :: p-coord: = 1/gravity ( [Pa] / g = [kg/m2] ) ;
587 C rSphere :: Radius of sphere for a spherical polar grid ( m ).
588 C recip_rSphere :: Reciprocal radius of sphere ( m ).
589 C radius_fromHorizGrid :: sphere Radius of input horiz. grid (Curvilinear Grid)
590 C f0 :: Reference coriolis parameter ( 1/s )
591 C ( Southern edge f for beta plane )
592 C beta :: df/dy ( s^-1.m^-1 )
593 C fPrime :: Second Coriolis parameter ( 1/s ), related to Y-component
594 C of rotation (reference value = 2.Omega.Cos(Phi))
595 C omega :: Angular velocity ( rad/s )
596 C rotationPeriod :: Rotation period (s) (= 2.pi/omega)
597 C viscArNr :: vertical profile of Eddy viscosity coeff.
598 C for vertical mixing of momentum ( units of r^2/s )
599 C viscAh :: Eddy viscosity coeff. for mixing of
600 C momentum laterally ( m^2/s )
601 C viscAhW :: Eddy viscosity coeff. for mixing of vertical
602 C momentum laterally, no effect for hydrostatic
603 C model, defaults to viscAhD if unset ( m^2/s )
604 C Not used if variable horiz. viscosity is used.
605 C viscA4 :: Biharmonic viscosity coeff. for mixing of
606 C momentum laterally ( m^4/s )
607 C viscA4W :: Biharmonic viscosity coeff. for mixing of vertical
608 C momentum laterally, no effect for hydrostatic
609 C model, defaults to viscA4D if unset ( m^2/s )
610 C Not used if variable horiz. viscosity is used.
611 C viscAhD :: Eddy viscosity coeff. for mixing of momentum laterally
612 C (act on Divergence part) ( m^2/s )
613 C viscAhZ :: Eddy viscosity coeff. for mixing of momentum laterally
614 C (act on Vorticity part) ( m^2/s )
615 C viscA4D :: Biharmonic viscosity coeff. for mixing of momentum laterally
616 C (act on Divergence part) ( m^4/s )
617 C viscA4Z :: Biharmonic viscosity coeff. for mixing of momentum laterally
618 C (act on Vorticity part) ( m^4/s )
619 C smag3D_coeff :: Isotropic 3-D Smagorinsky coefficient (-)
620 C viscC2leith :: Leith non-dimensional viscosity factor (grad(vort))
621 C viscC2leithD :: Modified Leith non-dimensional visc. factor (grad(div))
622 C viscC4leith :: Leith non-dimensional viscosity factor (grad(vort))
623 C viscC4leithD :: Modified Leith non-dimensional viscosity factor (grad(div))
624 C viscC2smag :: Smagorinsky non-dimensional viscosity factor (harmonic)
625 C viscC4smag :: Smagorinsky non-dimensional viscosity factor (biharmonic)
626 C viscAhMax :: Maximum eddy viscosity coeff. for mixing of
627 C momentum laterally ( m^2/s )
628 C viscAhReMax :: Maximum gridscale Reynolds number for eddy viscosity
629 C coeff. for mixing of momentum laterally (non-dim)
630 C viscAhGrid :: non-dimensional grid-size dependent viscosity
631 C viscAhGridMax:: maximum and minimum harmonic viscosity coefficients ...
632 C viscAhGridMin:: in terms of non-dimensional grid-size dependent visc.
633 C viscA4Max :: Maximum biharmonic viscosity coeff. for mixing of
634 C momentum laterally ( m^4/s )
635 C viscA4ReMax :: Maximum Gridscale Reynolds number for
636 C biharmonic viscosity coeff. momentum laterally (non-dim)
637 C viscA4Grid :: non-dimensional grid-size dependent bi-harmonic viscosity
638 C viscA4GridMax:: maximum and minimum biharmonic viscosity coefficients ...
639 C viscA4GridMin:: in terms of non-dimensional grid-size dependent viscosity
640 C diffKhT :: Laplacian diffusion coeff. for mixing of
641 C heat laterally ( m^2/s )
642 C diffK4T :: Biharmonic diffusion coeff. for mixing of
643 C heat laterally ( m^4/s )
644 C diffKrNrT :: vertical profile of Laplacian diffusion coeff.
645 C for mixing of heat vertically ( units of r^2/s )
646 C diffKr4T :: vertical profile of Biharmonic diffusion coeff.
647 C for mixing of heat vertically ( units of r^4/s )
648 C diffKhS :: Laplacian diffusion coeff. for mixing of
649 C salt laterally ( m^2/s )
650 C diffK4S :: Biharmonic diffusion coeff. for mixing of
651 C salt laterally ( m^4/s )
652 C diffKrNrS :: vertical profile of Laplacian diffusion coeff.
653 C for mixing of salt vertically ( units of r^2/s ),
654 C diffKr4S :: vertical profile of Biharmonic diffusion coeff.
655 C for mixing of salt vertically ( units of r^4/s )
656 C diffKrBL79surf :: T/S surface diffusivity (m^2/s) Bryan and Lewis, 1979
657 C diffKrBL79deep :: T/S deep diffusivity (m^2/s) Bryan and Lewis, 1979
658 C diffKrBL79scl :: depth scale for arctan fn (m) Bryan and Lewis, 1979
659 C diffKrBL79Ho :: depth offset for arctan fn (m) Bryan and Lewis, 1979
660 C BL79LatVary :: polarwise of this latitude diffKrBL79 is applied with
661 C gradual transition to diffKrBLEQ towards Equator
662 C diffKrBLEQsurf :: same as diffKrBL79surf but at Equator
663 C diffKrBLEQdeep :: same as diffKrBL79deep but at Equator
664 C diffKrBLEQscl :: same as diffKrBL79scl but at Equator
665 C diffKrBLEQHo :: same as diffKrBL79Ho but at Equator
666 C deltaT :: Default timestep ( s )
667 C deltaTClock :: Timestep used as model "clock". This determines the
668 C IO frequencies and is used in tagging output. It can
669 C be totally different to the dynamical time. Typically
670 C it will be the deep-water timestep for accelerated runs.
671 C Frequency of checkpointing and dumping of the model state
672 C are referenced to this clock. ( s )
673 C deltaTMom :: Timestep for momemtum equations ( s )
674 C dTtracerLev :: Timestep for tracer equations ( s ), function of level k
675 C deltaTFreeSurf :: Timestep for free-surface equation ( s )
676 C freeSurfFac :: Parameter to turn implicit free surface term on or off
677 C freeSurFac = 1. uses implicit free surface
678 C freeSurFac = 0. uses rigid lid
679 C abEps :: Adams-Bashforth-2 stabilizing weight
680 C alph_AB :: Adams-Bashforth-3 primary factor
681 C beta_AB :: Adams-Bashforth-3 secondary factor
682 C implicSurfPress :: parameter of the Crank-Nickelson time stepping :
683 C Implicit part of Surface Pressure Gradient ( 0-1 )
684 C implicDiv2Dflow :: parameter of the Crank-Nickelson time stepping :
685 C Implicit part of barotropic flow Divergence ( 0-1 )
686 C implicitNHPress :: parameter of the Crank-Nickelson time stepping :
687 C Implicit part of Non-Hydrostatic Pressure Gradient ( 0-1 )
688 C hFacMin :: Minimum fraction size of a cell (affects hFacC etc...)
689 C hFacMinDz :: Minimum dimensional size of a cell (affects hFacC etc..., m)
690 C hFacMinDp :: Minimum dimensional size of a cell (affects hFacC etc..., Pa)
691 C hFacMinDr :: Minimum dimensional size of a cell (-> hFacC etc..., r units)
692 C hFacInf :: Threshold (inf and sup) for fraction size of surface cell
693 C hFacSup that control vanishing and creating levels
694 C tauCD :: CD scheme coupling timescale ( s )
695 C rCD :: CD scheme normalised coupling parameter (= 1 - deltaT/tauCD)
696 C epsAB_CD :: Adams-Bashforth-2 stabilizing weight used in CD scheme
697 C baseTime :: model base time (time origin) = time @ iteration zero
698 C startTime :: Starting time for this integration ( s ).
699 C endTime :: Ending time for this integration ( s ).
700 C chkPtFreq :: Frequency of rolling check pointing ( s ).
701 C pChkPtFreq :: Frequency of permanent check pointing ( s ).
702 C dumpFreq :: Frequency with which model state is written to
703 C post-processing files ( s ).
704 C diagFreq :: Frequency with which model writes diagnostic output
705 C of intermediate quantities.
706 C afFacMom :: Advection of momentum term tracer parameter
707 C vfFacMom :: Momentum viscosity tracer parameter
708 C pfFacMom :: Momentum pressure forcing tracer parameter
709 C cfFacMom :: Coriolis term tracer parameter
710 C foFacMom :: Momentum forcing tracer parameter
711 C mtFacMom :: Metric terms tracer parameter
712 C cosPower :: Power of cosine of latitude to multiply viscosity
713 C cAdjFreq :: Frequency of convective adjustment
714 C
715 C taveFreq :: Frequency with which time-averaged model state
716 C is written to post-processing files ( s ).
717 C tave_lastIter :: (for state variable only) fraction of the last time
718 C step (of each taveFreq period) put in the time average.
719 C (fraction for 1rst iter = 1 - tave_lastIter)
720 C tauThetaClimRelax :: Relaxation to climatology time scale ( s ).
721 C tauSaltClimRelax :: Relaxation to climatology time scale ( s ).
722 C latBandClimRelax :: latitude band where Relaxation to Clim. is applied,
723 C i.e. where |yC| <= latBandClimRelax
724 C externForcingPeriod :: Is the period of which forcing varies (eg. 1 month)
725 C externForcingCycle :: Is the repeat time of the forcing (eg. 1 year)
726 C (note: externForcingCycle must be an integer
727 C number times externForcingPeriod)
728 C convertFW2Salt :: salinity, used to convert Fresh-Water Flux to Salt Flux
729 C (use model surface (local) value if set to -1)
730 C temp_EvPrRn :: temperature of Rain & Evap.
731 C salt_EvPrRn :: salinity of Rain & Evap.
732 C temp_addMass :: temperature of addMass array
733 C salt_addMass :: salinity of addMass array
734 C (notes: a) tracer content of Rain/Evap only used if both
735 C NonLin_FrSurf & useRealFreshWater are set.
736 C b) use model surface (local) value if set to UNSET_RL)
737 C hMixCriteria:: criteria for mixed-layer diagnostic
738 C dRhoSmall :: parameter for mixed-layer diagnostic
739 C hMixSmooth :: Smoothing parameter for mixed-layer diag (default=0=no smoothing)
740 C ivdc_kappa :: implicit vertical diffusivity for convection [m^2/s]
741 C Ro_SeaLevel :: standard position of Sea-Level in "R" coordinate, used as
742 C starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel)
743 C rSigmaBnd :: vertical position (in r-unit) of r/sigma transition (Hybrid-Sigma)
744 C sideDragFactor :: side-drag scaling factor (used only if no_slip_sides)
745 C (default=2: full drag ; =1: gives half-slip BC)
746 C bottomDragLinear :: Linear bottom-drag coefficient (units of [r]/s)
747 C bottomDragQuadratic :: Quadratic bottom-drag coefficient (units of [r]/m)
748 C (if using zcoordinate, units becomes linear: m/s, quadratic: [-])
749 C smoothAbsFuncRange :: 1/2 of interval around zero, for which FORTRAN ABS
750 C is to be replace by a smoother function
751 C (affects myabs, mymin, mymax)
752 C nh_Am2 :: scales the non-hydrostatic terms and changes internal scales
753 C (i.e. allows convection at different Rayleigh numbers)
754 C tCylIn :: Temperature of the cylinder inner boundary
755 C tCylOut :: Temperature of the cylinder outer boundary
756 C phiEuler :: Euler angle, rotation about original z-axis
757 C thetaEuler :: Euler angle, rotation about new x-axis
758 C psiEuler :: Euler angle, rotation about new z-axis
759 COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit,
760 & cg2dpcOffDFac, cg3dTargetResidual,
761 & delR, delRc, xgOrigin, ygOrigin,
762 & deltaT, deltaTMom, dTtracerLev, deltaTFreeSurf, deltaTClock,
763 & abEps, alph_AB, beta_AB,
764 & rSphere, recip_rSphere, radius_fromHorizGrid,
765 & f0, beta, fPrime, omega, rotationPeriod,
766 & viscFacAdj, viscAh, viscAhW, smag3D_coeff,
767 & viscAhMax, viscAhGrid, viscAhGridMax, viscAhGridMin,
768 & viscC2leith, viscC2leithD,
769 & viscC2smag, viscC4smag,
770 & viscAhD, viscAhZ, viscA4D, viscA4Z,
771 & viscA4, viscA4W, viscA4Max,
772 & viscA4Grid, viscA4GridMax, viscA4GridMin,
773 & viscAhReMax, viscA4ReMax,
774 & viscC4leith, viscC4leithD, viscArNr,
775 & diffKhT, diffK4T, diffKrNrT, diffKr4T,
776 & diffKhS, diffK4S, diffKrNrS, diffKr4S,
777 & diffKrBL79surf, diffKrBL79deep, diffKrBL79scl, diffKrBL79Ho,
778 & BL79LatVary,
779 & diffKrBLEQsurf, diffKrBLEQdeep, diffKrBLEQscl, diffKrBLEQHo,
780 & tauCD, rCD, epsAB_CD,
781 & freeSurfFac, implicSurfPress, implicDiv2Dflow, implicitNHPress,
782 & hFacMin, hFacMinDz, hFacInf, hFacSup,
783 & gravity, recip_gravity, gBaro,
784 & rhoNil, rhoConst, recip_rhoConst, thetaConst,
785 & rhoFacC, recip_rhoFacC, rhoFacF, recip_rhoFacF,
786 & rhoConstFresh, rho1Ref, tRef, sRef, phiRef, dBdrRef,
787 & rVel2wUnit, wUnit2rVel, mass2rUnit, rUnit2mass,
788 & baseTime, startTime, endTime,
789 & chkPtFreq, pChkPtFreq, dumpFreq, adjDumpFreq,
790 & diagFreq, taveFreq, tave_lastIter, monitorFreq, adjMonitorFreq,
791 & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,
792 & cosPower, cAdjFreq,
793 & tauThetaClimRelax, tauSaltClimRelax, latBandClimRelax,
794 & externForcingCycle, externForcingPeriod,
795 & convertFW2Salt, temp_EvPrRn, salt_EvPrRn,
796 & temp_addMass, salt_addMass, hFacMinDr, hFacMinDp,
797 & ivdc_kappa, hMixCriteria, dRhoSmall, hMixSmooth,
798 & Ro_SeaLevel, rSigmaBnd,
799 & sideDragFactor, bottomDragLinear, bottomDragQuadratic, nh_Am2,
800 & smoothAbsFuncRange,
801 & tCylIn, tCylOut,
802 & phiEuler, thetaEuler, psiEuler
803
804 _RL cg2dTargetResidual
805 _RL cg2dTargetResWunit
806 _RL cg3dTargetResidual
807 _RL cg2dpcOffDFac
808 _RL delR(Nr)
809 _RL delRc(Nr+1)
810 _RL xgOrigin
811 _RL ygOrigin
812 _RL deltaT
813 _RL deltaTClock
814 _RL deltaTMom
815 _RL dTtracerLev(Nr)
816 _RL deltaTFreeSurf
817 _RL abEps, alph_AB, beta_AB
818 _RL rSphere
819 _RL recip_rSphere
820 _RL radius_fromHorizGrid
821 _RL f0
822 _RL beta
823 _RL fPrime
824 _RL omega
825 _RL rotationPeriod
826 _RL freeSurfFac
827 _RL implicSurfPress
828 _RL implicDiv2Dflow
829 _RL implicitNHPress
830 _RL hFacMin
831 _RL hFacMinDz
832 _RL hFacMinDp
833 _RL hFacMinDr
834 _RL hFacInf
835 _RL hFacSup
836 _RL viscArNr(Nr)
837 _RL viscFacAdj
838 _RL viscAh
839 _RL viscAhW
840 _RL viscAhD
841 _RL viscAhZ
842 _RL smag3D_coeff
843 _RL viscAhMax
844 _RL viscAhReMax
845 _RL viscAhGrid, viscAhGridMax, viscAhGridMin
846 _RL viscC2leith
847 _RL viscC2leithD
848 _RL viscC2smag
849 _RL viscA4
850 _RL viscA4W
851 _RL viscA4D
852 _RL viscA4Z
853 _RL viscA4Max
854 _RL viscA4ReMax
855 _RL viscA4Grid, viscA4GridMax, viscA4GridMin
856 _RL viscC4leith
857 _RL viscC4leithD
858 _RL viscC4smag
859 _RL diffKhT
860 _RL diffK4T
861 _RL diffKrNrT(Nr)
862 _RL diffKr4T(Nr)
863 _RL diffKhS
864 _RL diffK4S
865 _RL diffKrNrS(Nr)
866 _RL diffKr4S(Nr)
867 _RL diffKrBL79surf
868 _RL diffKrBL79deep
869 _RL diffKrBL79scl
870 _RL diffKrBL79Ho
871 _RL BL79LatVary
872 _RL diffKrBLEQsurf
873 _RL diffKrBLEQdeep
874 _RL diffKrBLEQscl
875 _RL diffKrBLEQHo
876 _RL tauCD, rCD, epsAB_CD
877 _RL gravity
878 _RL recip_gravity
879 _RL gBaro
880 _RL rhoNil
881 _RL rhoConst, recip_rhoConst
882 _RL thetaConst
883 _RL rhoFacC(Nr), recip_rhoFacC(Nr)
884 _RL rhoFacF(Nr+1), recip_rhoFacF(Nr+1)
885 _RL rhoConstFresh
886 _RL rho1Ref(Nr)
887 _RL tRef(Nr)
888 _RL sRef(Nr)
889 _RL phiRef(2*Nr+1)
890 _RL dBdrRef(Nr)
891 _RL rVel2wUnit(Nr+1), wUnit2rVel(Nr+1)
892 _RL mass2rUnit, rUnit2mass
893 _RL baseTime
894 _RL startTime
895 _RL endTime
896 _RL chkPtFreq
897 _RL pChkPtFreq
898 _RL dumpFreq
899 _RL adjDumpFreq
900 _RL diagFreq
901 _RL taveFreq
902 _RL tave_lastIter
903 _RL monitorFreq
904 _RL adjMonitorFreq
905 _RL afFacMom
906 _RL vfFacMom
907 _RL pfFacMom
908 _RL cfFacMom
909 _RL foFacMom
910 _RL mtFacMom
911 _RL cosPower
912 _RL cAdjFreq
913 _RL tauThetaClimRelax
914 _RL tauSaltClimRelax
915 _RL latBandClimRelax
916 _RL externForcingCycle
917 _RL externForcingPeriod
918 _RL convertFW2Salt
919 _RL temp_EvPrRn
920 _RL salt_EvPrRn
921 _RL temp_addMass
922 _RL salt_addMass
923 _RL ivdc_kappa
924 _RL hMixCriteria
925 _RL dRhoSmall
926 _RL hMixSmooth
927 _RL Ro_SeaLevel
928 _RL rSigmaBnd
929 _RL sideDragFactor
930 _RL bottomDragLinear
931 _RL bottomDragQuadratic
932 _RL smoothAbsFuncRange
933 _RL nh_Am2
934 _RL tCylIn, tCylOut
935 _RL phiEuler, thetaEuler, psiEuler
936
937 C-- COMMON /PARM_A/ Thermodynamics constants ?
938 COMMON /PARM_A/ HeatCapacity_Cp
939 _RL HeatCapacity_Cp
940
941 C-- COMMON /PARM_ATM/ Atmospheric physical parameters (Ideal Gas EOS, ...)
942 C celsius2K :: convert centigrade (Celsius) degree to Kelvin
943 C atm_Po :: standard reference pressure
944 C atm_Cp :: specific heat (Cp) of the (dry) air at constant pressure
945 C atm_Rd :: gas constant for dry air
946 C atm_kappa :: kappa = R/Cp (R: constant of Ideal Gas EOS)
947 C atm_Rq :: water vapour specific volume anomaly relative to dry air
948 C (e.g. typical value = (29/18 -1) 10^-3 with q [g/kg])
949 C integr_GeoPot :: option to select the way we integrate the geopotential
950 C (still a subject of discussions ...)
951 C selectFindRoSurf :: select the way surf. ref. pressure (=Ro_surf) is
952 C derived from the orography. Implemented: 0,1 (see INI_P_GROUND)
953 COMMON /PARM_ATM/
954 & celsius2K,
955 & atm_Cp, atm_Rd, atm_kappa, atm_Rq, atm_Po,
956 & integr_GeoPot, selectFindRoSurf
957 _RL celsius2K
958 _RL atm_Po, atm_Cp, atm_Rd, atm_kappa, atm_Rq
959 INTEGER integr_GeoPot, selectFindRoSurf
960
961 C Logical flags for selecting packages
962 LOGICAL useGAD
963 LOGICAL useOBCS
964 LOGICAL useSHAP_FILT
965 LOGICAL useZONAL_FILT
966 LOGICAL useOPPS
967 LOGICAL usePP81
968 LOGICAL useKL10
969 LOGICAL useMY82
970 LOGICAL useGGL90
971 LOGICAL useKPP
972 LOGICAL useGMRedi
973 LOGICAL useDOWN_SLOPE
974 LOGICAL useBBL
975 LOGICAL useCAL
976 LOGICAL useEXF
977 LOGICAL useBulkForce
978 LOGICAL useEBM
979 LOGICAL useCheapAML
980 LOGICAL useAUTODIFF
981 LOGICAL useGrdchk
982 LOGICAL useSMOOTH
983 LOGICAL usePROFILES
984 LOGICAL useECCO
985 LOGICAL useCTRL
986 LOGICAL useSBO
987 LOGICAL useFLT
988 LOGICAL usePTRACERS
989 LOGICAL useGCHEM
990 LOGICAL useRBCS
991 LOGICAL useOffLine
992 LOGICAL useMATRIX
993 LOGICAL useFRAZIL
994 LOGICAL useSEAICE
995 LOGICAL useSALT_PLUME
996 LOGICAL useShelfIce
997 LOGICAL useStreamIce
998 LOGICAL useICEFRONT
999 LOGICAL useThSIce
1000 LOGICAL useLand
1001 LOGICAL useATM2d
1002 LOGICAL useAIM
1003 LOGICAL useAtm_Phys
1004 LOGICAL useFizhi
1005 LOGICAL useGridAlt
1006 LOGICAL useDiagnostics
1007 LOGICAL useREGRID
1008 LOGICAL useLayers
1009 LOGICAL useMNC
1010 LOGICAL useRunClock
1011 LOGICAL useEMBED_FILES
1012 LOGICAL useMYPACKAGE
1013 COMMON /PARM_PACKAGES/
1014 & useGAD, useOBCS, useSHAP_FILT, useZONAL_FILT,
1015 & useOPPS, usePP81, useKL10, useMY82, useGGL90, useKPP,
1016 & useGMRedi, useBBL, useDOWN_SLOPE,
1017 & useCAL, useEXF, useBulkForce, useEBM, useCheapAML,
1018 & useGrdchk, useSMOOTH, usePROFILES, useECCO, useCTRL,
1019 & useSBO, useFLT, useAUTODIFF,
1020 & usePTRACERS, useGCHEM, useRBCS, useOffLine, useMATRIX,
1021 & useFRAZIL, useSEAICE, useSALT_PLUME, useShelfIce,
1022 & useStreamIce, useICEFRONT, useThSIce, useLand,
1023 & useATM2D, useAIM, useAtm_Phys, useFizhi, useGridAlt,
1024 & useDiagnostics, useREGRID, useLayers, useMNC,
1025 & useRunClock, useEMBED_FILES,
1026 & useMYPACKAGE
1027
1028 CEH3 ;;; Local Variables: ***
1029 CEH3 ;;; mode:fortran ***
1030 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22