/[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.18 - (show annotations) (download)
Mon Jun 15 05:13:55 1998 UTC (25 years, 11 months ago) by cnh
Branch: MAIN
CVS Tags: checkpoint7
Branch point for: checkpoint7-4degree-ref
Changes since 1.17: +26 -4 lines
File MIME type: text/plain
Fairly coplete 4 degree global intercomparison
setup.
 Includes changes to make convective adjustment and hydrostatic
pressure correct as well as IO for climatological datasets

1 C $Header: /u/gcmpack/models/MITgcmUV/model/inc/PARAMS.h,v 1.17 1998/06/10 16:05:39 adcroft 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 COMMON /PARM_C/ checkPtSuff,
48 & bathyFile, hydrogThetaFile, hydrogSaltFile,
49 & zonalWindFile, meridWindFile, thetaClimFile,
50 & saltClimFile
51 CHARACTER*(5) checkPtSuff(maxNoChkptLev)
52 CHARACTER*(MAX_LEN_FNAM) bathyFile
53 CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile
54 CHARACTER*(MAX_LEN_FNAM) hydrogSaltFile
55 CHARACTER*(MAX_LEN_FNAM) zonalWindFile
56 CHARACTER*(MAX_LEN_FNAM) meridWindFile
57 CHARACTER*(MAX_LEN_FNAM) thetaClimFile
58 CHARACTER*(MAX_LEN_FNAM) saltClimFile
59
60 C-- COMMON /PARM_I/ Integer valued parameters used by the model.
61 C cg2dMaxIters - Maximum number of iterations in the
62 C two-dimensional con. grad solver.
63 C cg2dChkResFreq - Frequency with which to check residual
64 C in con. grad solver.
65 C nIter0 - Start time-step number of for this run
66 C nTimeSteps - Number of timesteps to execute
67 C numStepsPerPickup - For offline setup. Frequency of pickup
68 C of flow fields.
69 C writeStatePrec - Precision used for writing model state.
70 C writeBinaryPrec - Precision used for writing binary files
71 C readBinaryPrec - Precision used for reading binary files
72 C nCheckLev - Holds current checkpoint level
73 COMMON /PARM_I/
74 & cg2dMaxIters,
75 & cg2dChkResFreq,
76 & nIter0, nTimeSteps,
77 & numStepsPerPickup,
78 & writeStatePrec, nCheckLev,
79 & writeBinaryPrec, readBinaryPrec
80 INTEGER cg2dMaxIters
81 INTEGER cg2dChkResFreq
82 INTEGER nIter0
83 INTEGER nTimeSteps
84 INTEGER numStepsPerPickup
85 INTEGER writeStatePrec
86 INTEGER writeBinaryPrec
87 INTEGER readBinaryPrec
88 INTEGER nCheckLev
89
90 C-- COMMON /PARM_L/ Logical valued parameters used by the model.
91 C usingCartesianGrid - If TRUE grid generation will be in a cartesian
92 C coordinate frame.
93 C usingSphericalPolarGrid - If TRUE grid generation will be in a
94 C spherical polar frame.
95 C momViscosity - Flag which turns momentum friction terms on and off.
96 C momAdvection - Flag which turns advection of momentum on and off.
97 C momForcing - Flag which turns external forcing of momentum on
98 C and off.
99 C momPressureForcing - Flag which turns pressure term in momentum equation
100 C on and off.
101 C metricTerms - Flag which turns metric terms on or off.
102 C usingSphericalPolarMTerms - If TRUE use spherical polar metric terms.
103 C useCoriolis - Flag which turns the coriolis terms on and off.
104 C tempDiffusion - Flag which turns diffusion of temperature on
105 C and off.
106 C tempAdvection - Flag which turns advection of temperature on
107 C and off.
108 C tempForcing - Flag which turns external forcing of temperature on
109 C and off.
110 C saltDiffusion - Flag which turns diffusion of salinit on
111 C and off.
112 C saltAdvection - Flag which turns advection of salinit on
113 C and off.
114 C saltForcing - Flag which turns external forcing of salinit on
115 C and off.
116 C implicitFreeSurface - Set to true to use implcit free surface
117 C rigidLid - Set to true to use rigid lid
118 C momStepping - Turns momentum equation time-stepping off
119 C tempStepping - Turns temperature equation time-stepping off
120 C saltStepping - Turns salinity equation time-stepping off
121 C useConstantF - Coriolis parameter set to f0
122 C useBetaPlaneF - Coriolis parameter set to f0 + beta.y
123 C useSphereF - Coriolis parameter set to 2.omega.sin(phi)
124 C implicitDiffusion - Turns implicit vertical diffusion on
125 C doThetaClimRelax - Set true if relaxation to temperature
126 C climatology is required.
127 C doSaltClimRelax - Set true if relaxation to salinity
128 C climatology is required.
129 COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,
130 & momViscosity, momAdvection, momForcing, useCoriolis, momPressureForcing,
131 & tempDiffusion, tempAdvection, tempForcing,
132 & saltDiffusion, saltAdvection, saltForcing,
133 & implicitFreeSurface, rigidLid,
134 & momStepping, tempStepping, saltStepping,
135 & metricTerms, usingSphericalPolarMTerms,
136 & useConstantF, useBetaPlaneF, useSphereF,
137 & implicitDiffusion, doThetaClimRelax, doSaltClimRelax
138 LOGICAL usingCartesianGrid
139 LOGICAL usingSphericalPolarGrid
140 LOGICAL usingSphericalPolarMTerms
141 LOGICAL momViscosity
142 LOGICAL momAdvection
143 LOGICAL momForcing
144 LOGICAL momPressureForcing
145 LOGICAL useCoriolis
146 LOGICAL tempDiffusion
147 LOGICAL tempAdvection
148 LOGICAL tempForcing
149 LOGICAL saltDiffusion
150 LOGICAL saltAdvection
151 LOGICAL saltForcing
152 LOGICAL implicitFreeSurface
153 LOGICAL rigidLid
154 LOGICAL momStepping
155 LOGICAL tempStepping
156 LOGICAL saltStepping
157 LOGICAL metricTerms
158 LOGICAL useConstantF
159 LOGICAL useBetaPlaneF
160 LOGICAL useSphereF
161 LOGICAL implicitDiffusion
162 LOGICAL doThetaClimRelax
163 LOGICAL doSaltClimRelax
164
165 C-- COMMON /PARM_R/ "Real" valued parameters used by the model.
166 C cg2dTargetResidual
167 C - Target residual for cg2d solver.
168 C cg2dpcOffDFac - Averaging weight for preconditioner off-diagonal.
169 C Note. 20th May 1998
170 C I made a weird discovery! In the model paper we argue
171 C for the form of the preconditioner used here ( see
172 C A Finite-volume, Incompressible Navier-Stokes Model
173 C ...., Marshall et. al ). The algebra gives a simple
174 C 0.5 factor for the averaging of ac and aCw to get a
175 C symmettric pre-conditioner. By using a factor of 0.51
176 C i.e. scaling the off-diagonal terms in the
177 C preconditioner down slightly I managed to get the
178 C number of iterations for convergence in a test case to
179 C drop form 192 -> 134! Need to investigate this further!
180 C For now I have introduced a parameter cg2dpcOffDFac which
181 C defaults to 0.51 but can be set at runtime.
182 C delZ - Vertical grid spacing ( m ) - delZ is the distance
183 C between "w" surfaces.
184 C delX - Separation between cell faces (m) or (deg), depending
185 C delY on input flags.
186 C gravity - Accel. due to gravity ( m/s^2 )
187 C gBaro - Accel. due to gravity used in barotropic equation ( m/s^2 )
188 C ronil - Reference density
189 C startTime - Start time for model ( s )
190 C phiMin - Latitude of southern most cell face.
191 C thetaMin - Longitude of western most cell face (this
192 C is an "inert" parameter but it is included
193 C to make geographical references simple.)
194 C rSphere - Radius of sphere for a spherical polar grid ( m ).
195 C rRSphere - Reciprocal radius of sphere for a spherical polar grid ( m ).
196 C f0 - Reference coriolis parameter ( 1/s )
197 C ( Southern edge f for beta plane )
198 C beta - df/dy ( s^-1.m^-1 )
199 C omega - Angular velocity ( rad/s )
200 C viscAh - Eddy viscosity coeff. for mixing of
201 C momentum laterally ( m^2/s )
202 C viscAz - Eddy viscosity coeff. for mixing of
203 C momentum vertically ( m^2/s )
204 C viscA4 - Biharmonic viscosity coeff. for mixing of
205 C momentum laterally ( m^4/s )
206 C diffKhT - Laplacian diffusion coeff. for mixing of
207 C heat laterally ( m^2/s )
208 C diffKzT - Laplacian diffusion coeff. for mixing of
209 C heat vertically ( m^2/s )
210 C diffK4T - Biharmonic diffusion coeff. for mixing of
211 C heat laterally ( m^4/s )
212 C diffKhS - Laplacian diffusion coeff. for mixing of
213 C salt laterally ( m^2/s )
214 C diffKzS - Laplacian diffusion coeff. for mixing of
215 C salt vertically ( m^2/s )
216 C diffK4S - Biharmonic diffusion coeff. for mixing of
217 C salt laterally ( m^4/s )
218 C deltaT - Default timestep ( s )
219 C deltaTClock - Timestep used as model "clock". This determines the
220 C IO frequencies and is used in tagging output. It can
221 C be totally different to the dynamical time. Typically
222 C it will be the deep-water timestep for accelerated runs.
223 C Frequency of checkpointing and dumping of the model state
224 C are referenced to this clock. ( s )
225 C deltaTMom - Timestep for momemtum equations ( s )
226 C deltaTtracer - Timestep for tracer equations ( s )
227 C freesurfFac - Parameter to turn implicit free surface term on or off
228 C freesurfac = 1. uses implicit free surface
229 C freesurfac = 0. uses rigid lid
230 C tauCD - CD scheme coupling timescale ( 1/s )
231 C rCD - CD scheme normalised coupling parameter ( 0-1 )
232 C GMmaxslope - max. slope allowed in GM/Redi tensor
233 C GMlength - Length to use in Visbeck et al. formula for K (m)
234 C GMalpha - alpha to use in Visbeck et al. formula for K
235 C GMdepth - Depth over which to integrate Richardson # (Visbeck et al.)
236 C GMkbackground - background value of GM/Redi coefficient
237 C startTime - Starting time for this integration ( s ).
238 C endTime - Ending time for this integration ( s ).
239 C chkPtFreq - Frequency of rolling check pointing ( s ).
240 C pChkPtFreq - Frequency of permanent check pointing ( s ).
241 C dumpFreq - Frequency with which model state is written to
242 C post-processing files ( s ).
243 C afFacMom - Advection of momentum term scaling parameter
244 C vfFacMom - Momentum viscosity scaling parameter
245 C pfFacMom - Momentum pressure forcing parameter
246 C cfFacMom - Coriolis term scaling parameter
247 C foFacMom - Momentum forcing scaling parameter
248 C mtFacMom - Metric terms scaling parameter
249 C cAdjFreq - Frequency of convective adjustment
250 C tauThetaClimRelax - Relaxation to climatology time scale ( s ).
251 C lambdaThetaClimRelax - Inverse time scale for relaxation ( 1/s ).
252 C tauSaltClimRelax - Relaxation to climatology time scale ( s ).
253 C lambdaSaltClimRelax - Inverse time scale for relaxation ( 1/s ).
254 COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac, delZ, delX, delY,
255 & deltaT,deltaTmom, deltaTtracer, deltaTClock,abeps, startTime, phiMin,
256 & thetaMin, rSphere, rRSphere, f0, fCori, beta, viscAh, viscAz, viscA4,
257 & diffKhT, diffKzT, diffK4T, diffKhS, diffKzS, diffK4S, delT,
258 & tauCD, rCD, freeSurfFac,
259 & GMmaxslope,GMlength,GMalpha,GMdepth,GMkbackground,
260 & gravity, gBaro, rhonil, tRef, sRef,
261 & endTime, chkPtFreq, pchkPtFreq, dumpFreq,
262 & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,
263 & cAdjFreq, omega, tauThetaClimRelax, lambdaThetaClimRelax,
264 & tauSaltClimRelax, lambdaSaltClimRelax
265 _RL cg2dTargetResidual
266 _RL cg2dpcOffDFac
267 _RL delZ(Nz)
268 _RL delX(Nx)
269 _RL delY(Ny)
270 _RL deltaT
271 _RL deltaTClock
272 _RL deltaTmom
273 _RL deltaTtracer
274 _RL abeps
275 _RL phiMin
276 _RL thetaMin
277 _RL rSphere
278 _RL rRSphere
279 _RL f0
280 _RL freeSurfFac
281 _RL beta
282 _RL viscAh
283 _RL viscAz
284 _RL viscA4
285 _RL diffKhT
286 _RL diffKzT
287 _RL diffK4T
288 _RL diffKhS
289 _RL diffKzS
290 _RL diffK4S
291 _RL delt
292 _RL tauCD
293 _RL rCD
294 _RL GMmaxslope
295 _RL GMlength
296 _RL GMalpha
297 _RL GMdepth
298 _RL GMkbackground
299 _RL gravity
300 _RL gBaro
301 _RL rhonil
302 _RL tRef(Nz)
303 _RL sRef(Nz)
304 _RS Fcori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
305 _RL startTime
306 _RL endTime
307 _RL chkPtFreq
308 _RL pChkPtFreq
309 _RL dumpFreq
310 _RL afFacMom
311 _RL vfFacMom
312 _RL pfFacMom
313 _RL cfFacMom
314 _RL foFacMom
315 _RL mTFacMom
316 _RL cAdjFreq
317 _RL omega
318 _RL tauThetaClimRelax
319 _RL lambdaThetaClimRelax
320 _RL tauSaltClimRelax
321 _RL lambdaSaltClimRelax
322
323 COMMON /PARM_A/ HeatCapacity_Cp,
324 & Lamba_theta
325 _RL HeatCapacity_Cp
326 _RL Lamba_theta
327
328 C Equation of State (polynomial coeffients)
329 COMMON /PARM_EOS_NL/ eosC,eosSig0,eosRefT,eosRefS
330 _RL eosC(9,Nz+1),eosSig0(Nz+1),eosRefT(Nz+1),eosRefS(Nz+1)
331 C Linear equation of state
332 C tAlpha - Linear EOS thermal expansion coefficient ( 1/degree ).
333 C sBeta - Linear EOS haline contraction coefficient.
334 COMMON /PARM_EOS_LIN/ tAlpha,sBeta,eosType
335 _RL tAlpha
336 _RL sBeta
337 character*(6) eosType
338

  ViewVC Help
Powered by ViewVC 1.1.22