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

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

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

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

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.16

  ViewVC Help
Powered by ViewVC 1.1.22