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

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

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


Revision 1.250 - (hide annotations) (download)
Wed Apr 20 13:45:13 2011 UTC (13 years, 1 month ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint62w, checkpoint62y, checkpoint62x
Changes since 1.249: +4 -2 lines
File MIME type: text/plain
Add allowInteriorFreezing option to check for water below freezing point
at depth and bring the negative heat anomaly to the surface level.
Modified Files: doc/tag-index, model/inc/PARAMS.h,
 model/src/do_oceanic_phys.F, ini_parms.F, set_defaults.F, thermodynamics.F
Added File: model/src/freeze_interior.F

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

  ViewVC Help
Powered by ViewVC 1.1.22