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

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

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


Revision 1.27 - (show annotations) (download)
Mon Aug 24 02:25:01 1998 UTC (25 years, 8 months ago) by cnh
Branch: MAIN
Changes since 1.26: +23 -10 lines
File MIME type: text/plain
Consistent isomorphism changes

1 C $Header: /u/gcmpack/models/MITgcmUV/model/inc/PARAMS.h,v 1.26 1998/08/23 15:34:39 cnh Exp $
2 C
3 C /==========================================================\
4 C | PARAMS.h |
5 C | o Header file defining model "parameters". |
6 C |==========================================================|
7 C | The values from the model's standard input file are |
8 C | stored into the variables held here. Notes describing |
9 C | the parameters can also be found here. |
10 C \==========================================================/
11
12 C Macros for special grid options
13 #include "PARAMS_MACROS.h"
14
15 C-- Contants
16 C Useful physical values
17 Real*8 PI
18 PARAMETER ( PI = 3.14159265358979323844D0 )
19 Real*8 deg2rad
20 PARAMETER ( deg2rad = 2.D0*PI/360.D0 )
21
22 C Symbolic values
23 C precXXXX - Used to indicate what precision to use for
24 C dumping model state.
25 INTEGER precFloat32
26 PARAMETER ( precFloat32 = 0 )
27 INTEGER precFloat64
28 PARAMETER ( precFloat64 = 1 )
29
30 C Checkpoint data
31 INTEGER maxNoChkptLev
32 PARAMETER ( maxNoChkptLev = 2 )
33
34 C-- COMMON /PARM_C/ Character valued parameters used by the model.
35 C checkPtSuff - List of checkpoint file suffices
36 C bathyFile - File containing bathymetry. If not defined bathymetry
37 C is taken from inline function.
38 C hydrogThetaFile - File containing initial hydrographic data for potential
39 C temperature.
40 C hydrogSaltFile - File containing initial hydrographic data for salinity.
41 C zonalWindFile - File containing zonal wind data
42 C meridWindFile - File containing meridional wind data
43 C thetaClimFile - File containing theta climataology used
44 C in relaxation term -lambda(theta-theta*)
45 C saltClimFile - File containing salt climataology used
46 C in relaxation term -lambda(salt-salt*)
47 C buoyancyRelation - Flag used to indicate which relation to use to
48 C get buoyancy.
49 COMMON /PARM_C/ checkPtSuff,
50 & bathyFile, hydrogThetaFile, hydrogSaltFile,
51 & zonalWindFile, meridWindFile, thetaClimFile,
52 & saltClimFile, buoyancyRelation
53 CHARACTER*(5) checkPtSuff(maxNoChkptLev)
54 CHARACTER*(MAX_LEN_FNAM) bathyFile
55 CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile
56 CHARACTER*(MAX_LEN_FNAM) hydrogSaltFile
57 CHARACTER*(MAX_LEN_FNAM) zonalWindFile
58 CHARACTER*(MAX_LEN_FNAM) meridWindFile
59 CHARACTER*(MAX_LEN_FNAM) thetaClimFile
60 CHARACTER*(MAX_LEN_FNAM) saltClimFile
61 CHARACTER*(MAX_LEN_FNAM) buoyancyRelation
62
63 C-- COMMON /PARM_I/ Integer valued parameters used by the model.
64 C cg2dMaxIters - Maximum number of iterations in the
65 C two-dimensional con. grad solver.
66 C cg2dChkResFreq - Frequency with which to check residual
67 C in con. grad solver.
68 C nIter0 - Start time-step number of for this run
69 C nTimeSteps - Number of timesteps to execute
70 C numStepsPerPickup - For offline setup. Frequency of pickup
71 C of flow fields.
72 C writeStatePrec - Precision used for writing model state.
73 C writeBinaryPrec - Precision used for writing binary files
74 C readBinaryPrec - Precision used for reading binary files
75 C nCheckLev - Holds current checkpoint level
76 COMMON /PARM_I/
77 & cg2dMaxIters,
78 & cg2dChkResFreq,
79 & nIter0, nTimeSteps,
80 & numStepsPerPickup,
81 & writeStatePrec, nCheckLev,
82 & writeBinaryPrec, readBinaryPrec
83 INTEGER cg2dMaxIters
84 INTEGER cg2dChkResFreq
85 INTEGER nIter0
86 INTEGER nTimeSteps
87 INTEGER numStepsPerPickup
88 INTEGER writeStatePrec
89 INTEGER writeBinaryPrec
90 INTEGER readBinaryPrec
91 INTEGER nCheckLev
92
93 C-- COMMON /PARM_L/ Logical valued parameters used by the model.
94 C usingCartesianGrid - If TRUE grid generation will be in a cartesian
95 C coordinate frame.
96 C usingSphericalPolarGrid - If TRUE grid generation will be in a
97 C spherical polar frame.
98 C momViscosity - Flag which turns momentum friction terms on and off.
99 C momAdvection - Flag which turns advection of momentum on and off.
100 C momForcing - Flag which turns external forcing of momentum on
101 C and off.
102 C momPressureForcing - Flag which turns pressure term in momentum equation
103 C on and off.
104 C metricTerms - Flag which turns metric terms on or off.
105 C usingSphericalPolarMTerms - If TRUE use spherical polar metric terms.
106 C useCoriolis - Flag which turns the coriolis terms on and off.
107 C tempDiffusion - Flag which turns diffusion of temperature on
108 C and off.
109 C tempAdvection - Flag which turns advection of temperature on
110 C and off.
111 C tempForcing - Flag which turns external forcing of temperature on
112 C and off.
113 C saltDiffusion - Flag which turns diffusion of salinit on
114 C and off.
115 C saltAdvection - Flag which turns advection of salinit on
116 C and off.
117 C saltForcing - Flag which turns external forcing of salinit on
118 C and off.
119 C implicitFreeSurface - Set to true to use implcit free surface
120 C rigidLid - Set to true to use rigid lid
121 C momStepping - Turns momentum equation time-stepping off
122 C tempStepping - Turns temperature equation time-stepping off
123 C saltStepping - Turns salinity equation time-stepping off
124 C useConstantF - Coriolis parameter set to f0
125 C useBetaPlaneF - Coriolis parameter set to f0 + beta.y
126 C useSphereF - Coriolis parameter set to 2.omega.sin(phi)
127 C implicitDiffusion - Turns implicit vertical diffusion on
128 C doThetaClimRelax - Set true if relaxation to temperature
129 C climatology is required.
130 C doSaltClimRelax - Set true if relaxation to salinity
131 C climatology is required.
132 C periodicExternalForcing - Set true if forcing is time-dependant
133 COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,
134 & momViscosity, momAdvection, momForcing, useCoriolis, momPressureForcing,
135 & tempDiffusion, tempAdvection, tempForcing,
136 & saltDiffusion, saltAdvection, saltForcing,
137 & implicitFreeSurface, rigidLid,
138 & momStepping, tempStepping, saltStepping,
139 & metricTerms, usingSphericalPolarMTerms,
140 & useConstantF, useBetaPlaneF, useSphereF,
141 & implicitDiffusion, doThetaClimRelax, doSaltClimRelax,
142 & periodicExternalForcing
143 LOGICAL usingCartesianGrid
144 LOGICAL usingSphericalPolarGrid
145 LOGICAL usingSphericalPolarMTerms
146 LOGICAL momViscosity
147 LOGICAL momAdvection
148 LOGICAL momForcing
149 LOGICAL momPressureForcing
150 LOGICAL useCoriolis
151 LOGICAL tempDiffusion
152 LOGICAL tempAdvection
153 LOGICAL tempForcing
154 LOGICAL saltDiffusion
155 LOGICAL saltAdvection
156 LOGICAL saltForcing
157 LOGICAL implicitFreeSurface
158 LOGICAL rigidLid
159 LOGICAL momStepping
160 LOGICAL tempStepping
161 LOGICAL saltStepping
162 LOGICAL metricTerms
163 LOGICAL useConstantF
164 LOGICAL useBetaPlaneF
165 LOGICAL useSphereF
166 LOGICAL implicitDiffusion
167 LOGICAL doThetaClimRelax
168 LOGICAL doSaltClimRelax
169 LOGICAL periodicExternalForcing
170
171 C-- COMMON /PARM_R/ "Real" valued parameters used by the model.
172 C cg2dTargetResidual
173 C - Target residual for cg2d solver.
174 C cg2dpcOffDFac - Averaging weight for preconditioner off-diagonal.
175 C Note. 20th May 1998
176 C I made a weird discovery! In the model paper we argue
177 C for the form of the preconditioner used here ( see
178 C A Finite-volume, Incompressible Navier-Stokes Model
179 C ...., Marshall et. al ). The algebra gives a simple
180 C 0.5 factor for the averaging of ac and aCw to get a
181 C symmettric pre-conditioner. By using a factor of 0.51
182 C i.e. scaling the off-diagonal terms in the
183 C preconditioner down slightly I managed to get the
184 C number of iterations for convergence in a test case to
185 C drop form 192 -> 134! Need to investigate this further!
186 C For now I have introduced a parameter cg2dpcOffDFac which
187 C defaults to 0.51 but can be set at runtime.
188 C delP - Vertical grid spacing ( Pa ).
189 C delZ - Vertical grid spacing ( m ).
190 C delR - Vertical grid spacing ( units of r ).
191 C delX - Separation between cell faces (m) or (deg), depending
192 C delY on input flags.
193 C gravity - Accel. due to gravity ( m/s^2 )
194 C gBaro - Accel. due to gravity used in barotropic equation ( m/s^2 )
195 C ronil - Reference density
196 C rhoConst - Vertically constant reference density
197 C startTime - Start time for model ( s )
198 C phiMin - Latitude of southern most cell face.
199 C thetaMin - Longitude of western most cell face (this
200 C is an "inert" parameter but it is included
201 C to make geographical references simple.)
202 C rSphere - Radius of sphere for a spherical polar grid ( m ).
203 C recip_RSphere - Reciprocal radius of sphere ( m ).
204 C f0 - Reference coriolis parameter ( 1/s )
205 C ( Southern edge f for beta plane )
206 C beta - df/dy ( s^-1.m^-1 )
207 C omega - Angular velocity ( rad/s )
208 C viscAh - Eddy viscosity coeff. for mixing of
209 C momentum laterally ( m^2/s )
210 C viscAz - Eddy viscosity coeff. for mixing of
211 C momentum vertically ( m^2/s )
212 C viscAp - Eddy viscosity coeff. for mixing of
213 C momentum vertically ( Pa^2/s )
214 C viscAr - Eddy viscosity coeff. for mixing of
215 C momentum vertically ( units of r^2/s )
216 C viscA4 - Biharmonic viscosity coeff. for mixing of
217 C momentum laterally ( m^4/s )
218 C diffKhT - Laplacian diffusion coeff. for mixing of
219 C heat laterally ( m^2/s )
220 C diffKzT - Laplacian diffusion coeff. for mixing of
221 C heat vertically ( m^2/s )
222 C diffKpT - Laplacian diffusion coeff. for mixing of
223 C heat vertically ( Pa^2/s )
224 C diffKrT - Laplacian diffusion coeff. for mixing of
225 C heat vertically ( units of r^2/s )
226 C diffK4T - Biharmonic diffusion coeff. for mixing of
227 C heat laterally ( m^4/s )
228 C diffKhS - Laplacian diffusion coeff. for mixing of
229 C salt laterally ( m^2/s )
230 C diffKzS - Laplacian diffusion coeff. for mixing of
231 C salt vertically ( m^2/s )
232 C diffKpS - Laplacian diffusion coeff. for mixing of
233 C salt vertically ( Pa^2/s )
234 C diffKrS - Laplacian diffusion coeff. for mixing of
235 C salt vertically ( units of r^2/s )
236 C diffK4S - Biharmonic diffusion coeff. for mixing of
237 C salt laterally ( m^4/s )
238 C deltaT - Default timestep ( s )
239 C deltaTClock - Timestep used as model "clock". This determines the
240 C IO frequencies and is used in tagging output. It can
241 C be totally different to the dynamical time. Typically
242 C it will be the deep-water timestep for accelerated runs.
243 C Frequency of checkpointing and dumping of the model state
244 C are referenced to this clock. ( s )
245 C deltaTMom - Timestep for momemtum equations ( s )
246 C deltaTtracer - Timestep for tracer equations ( s )
247 C freesurfFac - Parameter to turn implicit free surface term on or off
248 C freesurfac = 1. uses implicit free surface
249 C freesurfac = 0. uses rigid lid
250 C hFacMin - Minimum fraction size of a cell (affects hFacC etc...)
251 C hFacMinDz - Minimum dimesional size of a cell (affects hFacC etc..., m)
252 C hFacMinDr - Minimum dimesional size of a cell (affects hFacC etc..., units of r)
253 C tauCD - CD scheme coupling timescale ( 1/s )
254 C rCD - CD scheme normalised coupling parameter ( 0-1 )
255 C GMmaxslope - max. slope allowed in GM/Redi tensor
256 C GMlength - Length to use in Visbeck et al. formula for K (m)
257 C GMalpha - alpha to use in Visbeck et al. formula for K
258 C GMdepth - Depth over which to integrate Richardson # (Visbeck et al.)
259 C GMkbackground - background value of GM/Redi diffusion coefficient ( m^2/s )
260 C GMmaxval - max. value of KapGM allowed in GM/Redi scheme ( m^2/s )
261 C startTime - Starting time for this integration ( s ).
262 C endTime - Ending time for this integration ( s ).
263 C chkPtFreq - Frequency of rolling check pointing ( s ).
264 C pChkPtFreq - Frequency of permanent check pointing ( s ).
265 C dumpFreq - Frequency with which model state is written to
266 C post-processing files ( s ).
267 C afFacMom - Advection of momentum term tracer parameter
268 C vfFacMom - Momentum viscosity tracer parameter
269 C pfFacMom - Momentum pressure forcing tracer parameter
270 C cfFacMom - Coriolis term tracer parameter
271 C foFacMom - Momentum forcing tracer parameter
272 C mtFacMom - Metric terms tracer parameter
273 C cAdjFreq - Frequency of convective adjustment
274 C
275 C taveFreq - Frequency with which time-averaged model state is written to
276 C post-processing files ( s ).
277 C tauThetaClimRelax - Relaxation to climatology time scale ( s ).
278 C lambdaThetaClimRelax - Inverse time scale for relaxation ( 1/s ).
279 C tauSaltClimRelax - Relaxation to climatology time scale ( s ).
280 C lambdaSaltClimRelax - Inverse time scale for relaxation ( 1/s ).
281 C externForcingPeriod - Is the period of which forcing varies (eg. 1 month)
282 C externForcingCycle - Is the repeat time of the forcing (eg. 1 year)
283 C (note: externForcingCycle must be an integer
284 C number times externForcingPeriod)
285 COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac,
286 & delP, delZ, delR, delX, delY,
287 & deltaT,deltaTmom, deltaTtracer, deltaTClock,abeps, startTime, phiMin,
288 & thetaMin, rSphere, recip_RSphere, f0, fCori, beta,
289 & viscAh, viscAz, viscA4, viscAr,
290 & diffKhT, diffKzT, diffK4T, diffKrT,
291 & diffKhS, diffKzS, diffK4S, diffKrS,
292 & delT, tauCD, rCD, freeSurfFac, hFacMin, hFacMinDz,
293 & GMmaxslope,GMlength,GMalpha,GMdepth,GMkbackground,GMmaxval,
294 & gravity, gBaro, rhonil, recip_rhonil,
295 & recip_rhoConst, rhoConst, tRef, sRef,
296 & endTime, chkPtFreq, pchkPtFreq, dumpFreq, taveFreq,
297 & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,
298 & cAdjFreq, omega, tauThetaClimRelax, lambdaThetaClimRelax,
299 & tauSaltClimRelax, lambdaSaltClimRelax,
300 & externForcingCycle, externForcingPeriod,
301 & viscAp, diffKpT, diffKpS, hFacMinDr,
302 & theta_S, specVol_S
303
304 _RL cg2dTargetResidual
305 _RL cg2dpcOffDFac
306 _RL delZ(Nr)
307 _RL delP(Nr)
308 _RL delR(Nr)
309 _RL delX(Nx)
310 _RL delY(Ny)
311 _RL deltaT
312 _RL deltaTClock
313 _RL deltaTmom
314 _RL deltaTtracer
315 _RL abeps
316 _RL phiMin
317 _RL thetaMin
318 _RL rSphere
319 _RL recip_RSphere
320 _RL f0
321 _RL freeSurfFac
322 _RL hFacMin
323 _RL hFacMinDz
324 _RL hFacMinDr
325 _RL beta
326 _RL viscAh
327 _RL viscAz
328 _RL viscAp
329 _RL viscAr
330 _RL viscA4
331 _RL diffKhT
332 _RL diffKrT
333 _RL diffKzT
334 _RL diffKpT
335 _RL diffK4T
336 _RL diffKhS
337 _RL diffKrS
338 _RL diffKzS
339 _RL diffKpS
340 _RL diffK4S
341 _RL delt
342 _RL tauCD
343 _RL rCD
344 _RL GMmaxslope
345 _RL GMlength
346 _RL GMalpha
347 _RL GMdepth
348 _RL GMkbackground
349 _RL GMmaxval
350 _RL gravity
351 _RL gBaro
352 _RL rhonil
353 _RL recip_rhonil
354 _RL rhoConst
355 _RL recip_rhoConst
356 _RL specVol_S(Nr)
357 _RL tRef(Nr)
358 _RL theta_S(Nr)
359 _RL sRef(Nr)
360 _RS Fcori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
361 _RL startTime
362 _RL endTime
363 _RL chkPtFreq
364 _RL pChkPtFreq
365 _RL dumpFreq
366 _RL taveFreq
367 _RL afFacMom
368 _RL vfFacMom
369 _RL pfFacMom
370 _RL cfFacMom
371 _RL foFacMom
372 _RL mTFacMom
373 _RL cAdjFreq
374 _RL omega
375 _RL tauThetaClimRelax
376 _RL lambdaThetaClimRelax
377 _RL tauSaltClimRelax
378 _RL lambdaSaltClimRelax
379 _RL externForcingCycle
380 _RL externForcingPeriod
381
382 COMMON /PARM_A/ HeatCapacity_Cp,
383 & Lamba_theta
384 _RL HeatCapacity_Cp
385 _RL Lamba_theta
386
387 C Equation of State (polynomial coeffients)
388 COMMON /PARM_EOS_NL/ eosC,eosSig0,eosRefT,eosRefS
389 _RL eosC(9,Nr+1),eosSig0(Nr+1),eosRefT(Nr+1),eosRefS(Nr+1)
390 C Linear equation of state
391 C tAlpha - Linear EOS thermal expansion coefficient ( 1/degree ).
392 C sBeta - Linear EOS haline contraction coefficient.
393 COMMON /PARM_EOS_LIN/ tAlpha,sBeta,eosType
394 _RL tAlpha
395 _RL sBeta
396 character*(6) eosType
397

  ViewVC Help
Powered by ViewVC 1.1.22