/[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.19 - (hide annotations) (download)
Wed Jun 17 21:07:01 1998 UTC (25 years, 11 months ago) by adcroft
Branch: MAIN
Changes since 1.18: +13 -3 lines
File MIME type: text/plain
Introduced time-dependant forcing, loaded and interpolated in
load_external_fields.F in a subroutine load_interpolate_forcing().
Control is by one logical and two real variables in PARAMS.h:
periodicExternalForcing, externForcingCycle and externForcingPeriod.
The code in load_external_fields.F is "customized" so needs to
be edited for non-global type runs. We'll tidy it up later.

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

  ViewVC Help
Powered by ViewVC 1.1.22