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

Annotation 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 - (hide 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 snarayan 1.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