/[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.27 by cnh, Mon Aug 24 02:25:01 1998 UTC revision 1.38 by adcroft, Wed May 5 18:32:34 1999 UTC
# Line 4  C     /================================= Line 4  C     /=================================
4  C     | PARAMS.h                                                 |  C     | PARAMS.h                                                 |
5  C     | o Header file defining model "parameters".               |  C     | o Header file defining model "parameters".               |
6  C     |==========================================================|  C     |==========================================================|
7  C     | The values from the model's standard input file are      |  C     | The values from the model standard input file are        |
8  C     | stored into the variables held here. Notes describing    |  C     | stored into the variables held here. Notes describing    |
9  C     | the parameters can also be found here.                   |  C     | the parameters can also be found here.                   |
10  C     \==========================================================/  C     \==========================================================/
# Line 23  C     Symbolic values Line 23  C     Symbolic values
23  C     precXXXX - Used to indicate what precision to use for  C     precXXXX - Used to indicate what precision to use for
24  C                dumping model state.  C                dumping model state.
25        INTEGER precFloat32        INTEGER precFloat32
26        PARAMETER ( precFloat32 = 0 )        PARAMETER ( precFloat32 = 32 )
27        INTEGER precFloat64        INTEGER precFloat64
28        PARAMETER ( precFloat64 = 1 )        PARAMETER ( precFloat64 = 64 )
29    C     UNSET_xxx - Used to indicate variables that have not been given a value
30          Real*8 UNSET_FLOAT8
31          PARAMETER ( UNSET_FLOAT8 = 1.234567D5 )
32          Real*4 UNSET_FLOAT4
33          PARAMETER ( UNSET_FLOAT4 = 1.234567E5 )
34          _RL    UNSET_RL    
35          PARAMETER ( UNSET_RL     = 1.234567D5 )
36          _RS    UNSET_RS    
37          PARAMETER ( UNSET_RS     = 1.234567E5 )
38          INTEGER UNSET_I
39          PARAMETER ( UNSET_I      = 123456789  )
40    
41  C     Checkpoint data  C     Checkpoint data
42        INTEGER maxNoChkptLev        INTEGER maxNoChkptLev
# Line 44  C     thetaClimFile   - File containing Line 55  C     thetaClimFile   - File containing
55  C                       in relaxation term -lambda(theta-theta*)  C                       in relaxation term -lambda(theta-theta*)
56  C     saltClimFile    - File containing salt climataology used  C     saltClimFile    - File containing salt climataology used
57  C                       in relaxation term -lambda(salt-salt*)  C                       in relaxation term -lambda(salt-salt*)
58    C     surfQfile       - File containing surface heat flux
59    C     EmPmRfile       - File containing surface fresh water flux
60  C     buoyancyRelation - Flag used to indicate which relation to use to  C     buoyancyRelation - Flag used to indicate which relation to use to
61  C                        get buoyancy.  C                        get buoyancy.
62        COMMON /PARM_C/ checkPtSuff,        COMMON /PARM_C/ checkPtSuff,
63       &                bathyFile, hydrogThetaFile, hydrogSaltFile,       &                bathyFile, hydrogThetaFile, hydrogSaltFile,
64       &                zonalWindFile, meridWindFile, thetaClimFile,       &                zonalWindFile, meridWindFile, thetaClimFile,
65       &                saltClimFile, buoyancyRelation       &                saltClimFile, buoyancyRelation,
66         &                EmPmRfile,surfQfile
67        CHARACTER*(5) checkPtSuff(maxNoChkptLev)        CHARACTER*(5) checkPtSuff(maxNoChkptLev)
68        CHARACTER*(MAX_LEN_FNAM) bathyFile        CHARACTER*(MAX_LEN_FNAM) bathyFile
69        CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile        CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile
# Line 58  C                        get buoyancy. Line 72  C                        get buoyancy.
72        CHARACTER*(MAX_LEN_FNAM) meridWindFile        CHARACTER*(MAX_LEN_FNAM) meridWindFile
73        CHARACTER*(MAX_LEN_FNAM) thetaClimFile        CHARACTER*(MAX_LEN_FNAM) thetaClimFile
74        CHARACTER*(MAX_LEN_FNAM) saltClimFile        CHARACTER*(MAX_LEN_FNAM) saltClimFile
75          CHARACTER*(MAX_LEN_FNAM) surfQfile
76          CHARACTER*(MAX_LEN_FNAM) EmPmRfile
77        CHARACTER*(MAX_LEN_FNAM) buoyancyRelation        CHARACTER*(MAX_LEN_FNAM) buoyancyRelation
78    
79  C--   COMMON /PARM_I/ Integer valued parameters used by the model.  C--   COMMON /PARM_I/ Integer valued parameters used by the model.
# Line 65  C     cg2dMaxIters        - Maximum numb Line 81  C     cg2dMaxIters        - Maximum numb
81  C                           two-dimensional con. grad solver.  C                           two-dimensional con. grad solver.
82  C     cg2dChkResFreq      - Frequency with which to check residual  C     cg2dChkResFreq      - Frequency with which to check residual
83  C                           in con. grad solver.  C                           in con. grad solver.
84    C     cg3dMaxIters        - Maximum number of iterations in the
85    C                           three-dimensional con. grad solver.
86    C     cg3dChkResFreq      - Frequency with which to check residual
87    C                           in con. grad solver.
88  C     nIter0              - Start time-step number of for this run  C     nIter0              - Start time-step number of for this run
89  C     nTimeSteps          - Number of timesteps to execute  C     nTimeSteps          - Number of timesteps to execute
90  C     numStepsPerPickup   - For offline setup. Frequency of pickup  C     numStepsPerPickup   - For offline setup. Frequency of pickup
# Line 73  C     writeStatePrec      - Precision us Line 93  C     writeStatePrec      - Precision us
93  C     writeBinaryPrec     - Precision used for writing binary files  C     writeBinaryPrec     - Precision used for writing binary files
94  C     readBinaryPrec      - Precision used for reading binary files  C     readBinaryPrec      - Precision used for reading binary files
95  C     nCheckLev           - Holds current checkpoint level  C     nCheckLev           - Holds current checkpoint level
96    C     nShap               - "Order" of shapiro filter to apply to
97    C                           model prognositic fields.
98    C                           nShap == 1 => del2
99    C                           nShap == 2 => del4
100    C                           nShap == 3 => del6
101    C                           etc...
102    
103        COMMON /PARM_I/        COMMON /PARM_I/
104       &        cg2dMaxIters,       &        cg2dMaxIters,
105       &        cg2dChkResFreq,       &        cg2dChkResFreq,
106         &        cg3dMaxIters,
107         &        cg3dChkResFreq,
108       &        nIter0, nTimeSteps,       &        nIter0, nTimeSteps,
109       &        numStepsPerPickup,       &        numStepsPerPickup,
110       &        writeStatePrec, nCheckLev,       &        writeStatePrec, nCheckLev,
111       &        writeBinaryPrec, readBinaryPrec       &        writeBinaryPrec, readBinaryPrec,
112         &        nShap
113        INTEGER cg2dMaxIters        INTEGER cg2dMaxIters
114        INTEGER cg2dChkResFreq        INTEGER cg2dChkResFreq
115          INTEGER cg3dMaxIters
116          INTEGER cg3dChkResFreq
117        INTEGER nIter0        INTEGER nIter0
118        INTEGER nTimeSteps        INTEGER nTimeSteps
119        INTEGER numStepsPerPickup        INTEGER numStepsPerPickup
# Line 89  C     nCheckLev           - Holds curren Line 121  C     nCheckLev           - Holds curren
121        INTEGER writeBinaryPrec        INTEGER writeBinaryPrec
122        INTEGER readBinaryPrec        INTEGER readBinaryPrec
123        INTEGER nCheckLev        INTEGER nCheckLev
124          INTEGER nShap
125    
126  C--   COMMON /PARM_L/ Logical valued parameters used by the model.  C--   COMMON /PARM_L/ Logical valued parameters used by the model.
127  C     usingCartesianGrid - If TRUE grid generation will be in a cartesian  C     usingCartesianGrid - If TRUE grid generation will be in a cartesian
128  C                          coordinate frame.  C                          coordinate frame.
129  C     usingSphericalPolarGrid - If TRUE grid generation will be in a  C     usingSphericalPolarGrid - If TRUE grid generation will be in a
130  C                               spherical polar frame.  C                               spherical polar frame.
131    C     no_slip_sides - Impose "no-slip" at lateral boundaries.
132    C     no_slip_bottom- Impose "no-slip" at bottom boundary.
133  C     momViscosity  - Flag which turns momentum friction terms on and off.  C     momViscosity  - Flag which turns momentum friction terms on and off.
134  C     momAdvection  - Flag which turns advection of momentum on and off.  C     momAdvection  - Flag which turns advection of momentum on and off.
135  C     momForcing    - Flag which turns external forcing of momentum on  C     momForcing    - Flag which turns external forcing of momentum on
# Line 130  C                        climatology is Line 165  C                        climatology is
165  C     doSaltClimRelax  - Set true if relaxation to salinity  C     doSaltClimRelax  - Set true if relaxation to salinity
166  C                        climatology is required.  C                        climatology is required.
167  C     periodicExternalForcing - Set true if forcing is time-dependant  C     periodicExternalForcing - Set true if forcing is time-dependant
168    C     usingPCoords     - Set to indicate that we are working in pressure
169    C                        coords.
170    C     usingZCoords     - Set to indicate that we are working in height
171    C                        coords.
172    C     openBoundaries - Using open-boundaries
173    C     nonHydrostatic - Using non-hydrostatic terms
174    C     globalFiles    - Selects between "global" and "tiled" files
175    C     allowFreezing  - Allows water to freeze and form ice
176        COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,        COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,
177       & momViscosity, momAdvection, momForcing, useCoriolis, momPressureForcing,       & no_slip_sides,no_slip_bottom,
178       & tempDiffusion, tempAdvection, tempForcing,       & momViscosity, momAdvection, momForcing, useCoriolis,
179         & momPressureForcing,tempDiffusion, tempAdvection, tempForcing,
180       & saltDiffusion, saltAdvection, saltForcing,       & saltDiffusion, saltAdvection, saltForcing,
181       & implicitFreeSurface, rigidLid,       & implicitFreeSurface, rigidLid,
182       & momStepping, tempStepping, saltStepping,       & momStepping, tempStepping, saltStepping,
183       & metricTerms, usingSphericalPolarMTerms,       & metricTerms, usingSphericalPolarMTerms,
184       & useConstantF, useBetaPlaneF, useSphereF,       & useConstantF, useBetaPlaneF, useSphereF,
185       & implicitDiffusion, doThetaClimRelax, doSaltClimRelax,       & implicitDiffusion, doThetaClimRelax, doSaltClimRelax,
186       & periodicExternalForcing       & periodicExternalForcing, usingPCoords, usingZCoords,
187         & openBoundaries, nonHydrostatic, globalFiles,
188         & allowFreezing
189        LOGICAL usingCartesianGrid        LOGICAL usingCartesianGrid
190        LOGICAL usingSphericalPolarGrid        LOGICAL usingSphericalPolarGrid
191        LOGICAL usingSphericalPolarMTerms        LOGICAL usingSphericalPolarMTerms
192          LOGICAL no_slip_sides
193          LOGICAL no_slip_bottom
194        LOGICAL momViscosity        LOGICAL momViscosity
195        LOGICAL momAdvection        LOGICAL momAdvection
196        LOGICAL momForcing        LOGICAL momForcing
# Line 167  C     periodicExternalForcing - Set true Line 215  C     periodicExternalForcing - Set true
215        LOGICAL doThetaClimRelax        LOGICAL doThetaClimRelax
216        LOGICAL doSaltClimRelax        LOGICAL doSaltClimRelax
217        LOGICAL periodicExternalForcing        LOGICAL periodicExternalForcing
218          LOGICAL usingPCoords
219          LOGICAL usingZCoords
220          LOGICAL openBoundaries
221          LOGICAL nonHydrostatic
222          LOGICAL globalFiles
223          LOGICAL allowFreezing
224    
225  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.
226  C     cg2dTargetResidual  C     cg2dTargetResidual
227  C               - Target residual for cg2d solver.  C               - Target residual for cg2d solver.
228    C     cg3dTargetResidual
229    C               - Target residual for cg3d solver.
230  C     cg2dpcOffDFac - Averaging weight for preconditioner off-diagonal.  C     cg2dpcOffDFac - Averaging weight for preconditioner off-diagonal.
231  C     Note. 20th May 1998  C     Note. 20th May 1998
232  C           I made a weird discovery! In the model paper we argue  C           I made a weird discovery! In the model paper we argue
# Line 191  C     delR      - Vertical grid spacing Line 247  C     delR      - Vertical grid spacing
247  C     delX      - Separation between cell faces (m) or (deg), depending  C     delX      - Separation between cell faces (m) or (deg), depending
248  C     delY        on input flags.  C     delY        on input flags.
249  C     gravity   - Accel. due to gravity ( m/s^2 )  C     gravity   - Accel. due to gravity ( m/s^2 )
250    C     recip_gravity and its inverse
251  C     gBaro     - Accel. due to gravity used in barotropic equation ( m/s^2 )  C     gBaro     - Accel. due to gravity used in barotropic equation ( m/s^2 )
252  C     ronil     - Reference density  C     ronil     - Reference density
253  C     rhoConst  - Vertically constant reference density  C     rhoConst  - Vertically constant reference density
# Line 249  C                    freesurfac = 1. use Line 306  C                    freesurfac = 1. use
306  C                    freesurfac = 0. uses rigid lid  C                    freesurfac = 0. uses rigid lid
307  C     hFacMin      - Minimum fraction size of a cell (affects hFacC etc...)  C     hFacMin      - Minimum fraction size of a cell (affects hFacC etc...)
308  C     hFacMinDz    - Minimum dimesional size of a cell (affects hFacC etc..., m)  C     hFacMinDz    - Minimum dimesional size of a cell (affects hFacC etc..., m)
309    C     hFacMinDp    - Minimum dimesional size of a cell (affects hFacC etc..., Pa)
310  C     hFacMinDr    - Minimum dimesional size of a cell (affects hFacC etc..., units of r)  C     hFacMinDr    - Minimum dimesional size of a cell (affects hFacC etc..., units of r)
311  C     tauCD        - CD scheme coupling timescale ( 1/s )  C     tauCD        - CD scheme coupling timescale ( 1/s )
312  C     rCD          - CD scheme normalised coupling parameter ( 0-1 )  C     rCD          - CD scheme normalised coupling parameter ( 0-1 )
# Line 282  C     externForcingPeriod - Is the perio Line 340  C     externForcingPeriod - Is the perio
340  C     externForcingCycle - Is the repeat time of the forcing (eg. 1 year)  C     externForcingCycle - Is the repeat time of the forcing (eg. 1 year)
341  C                          (note: externForcingCycle must be an integer  C                          (note: externForcingCycle must be an integer
342  C                           number times externForcingPeriod)  C                           number times externForcingPeriod)
343    C     horiVertRatio      - Ratio on units in vertical to units in horizontal.
344    C     recip_horiVertRatio  ( 1 if horiz in m and vertical in m ).
345    C                          ( g*rho if horiz in m and vertical in Pa ).
346    C     latFFTFiltLo       - Low latitude for FFT filtering of latitude
347    C                          circles ( see filter*.F )
348        COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac,        COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac,
349         & cg3dTargetResidual,
350       & delP, delZ, delR, delX, delY,       & delP, delZ, delR, delX, delY,
351       & deltaT,deltaTmom, deltaTtracer, deltaTClock,abeps, startTime, phiMin,       & deltaT,deltaTmom, deltaTtracer, deltaTClock,abeps, startTime,
352       & thetaMin, rSphere, recip_RSphere, f0, fCori, beta,       & phiMin, thetaMin, rSphere, recip_RSphere, f0, fCori, beta,
353       & viscAh,  viscAz,  viscA4,  viscAr,       & viscAh,  viscAz,  viscA4,  viscAr,
354       & diffKhT, diffKzT, diffK4T, diffKrT,       & diffKhT, diffKzT, diffK4T, diffKrT,
355       & diffKhS, diffKzS, diffK4S, diffKrS,       & diffKhS, diffKzS, diffK4S, diffKrS,
356       & delT, tauCD, rCD, freeSurfFac, hFacMin, hFacMinDz,       & delT, tauCD, rCD, freeSurfFac, hFacMin, hFacMinDz,
357       & GMmaxslope,GMlength,GMalpha,GMdepth,GMkbackground,GMmaxval,       & GMmaxslope,GMlength,GMalpha,GMdepth,GMkbackground,GMmaxval,
358       & gravity, gBaro, rhonil, recip_rhonil,       & gravity, recip_Gravity, gBaro, rhonil, recip_rhonil,
359       & recip_rhoConst, rhoConst, tRef, sRef,       & recip_rhoConst, rhoConst, tRef, sRef,
360       & endTime, chkPtFreq, pchkPtFreq, dumpFreq, taveFreq,       & endTime, chkPtFreq, pchkPtFreq, dumpFreq, taveFreq,
361       & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,       & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,
362       & cAdjFreq, omega, tauThetaClimRelax, lambdaThetaClimRelax,       & cAdjFreq, omega, tauThetaClimRelax, lambdaThetaClimRelax,
363       & tauSaltClimRelax, lambdaSaltClimRelax,       & tauSaltClimRelax, lambdaSaltClimRelax,
364       & externForcingCycle, externForcingPeriod,       & externForcingCycle, externForcingPeriod,
365       & viscAp, diffKpT, diffKpS, hFacMinDr,       & viscAp, diffKpT, diffKpS, hFacMinDr, hFacMinDp,
366       & theta_S, specVol_S       & theta_S, specVol_S, horiVertRatio, recip_horiVertRatio,
367         & latFFTFiltLo
368    
369        _RL cg2dTargetResidual        _RL cg2dTargetResidual
370          _RL cg3dTargetResidual
371        _RL cg2dpcOffDFac        _RL cg2dpcOffDFac
372        _RL delZ(Nr)        _RL delZ(Nr)
373        _RL delP(Nr)        _RL delP(Nr)
# Line 321  C                           number times Line 387  C                           number times
387        _RL freeSurfFac        _RL freeSurfFac
388        _RL hFacMin        _RL hFacMin
389        _RL hFacMinDz        _RL hFacMinDz
390          _RL hFacMinDp
391        _RL hFacMinDr        _RL hFacMinDr
392        _RL beta        _RL beta
393        _RL viscAh        _RL viscAh
# Line 348  C                           number times Line 415  C                           number times
415        _RL GMkbackground        _RL GMkbackground
416        _RL GMmaxval        _RL GMmaxval
417        _RL gravity        _RL gravity
418          _RL recip_gravity
419        _RL gBaro        _RL gBaro
420        _RL rhonil        _RL rhonil
421        _RL recip_rhonil        _RL recip_rhonil
# Line 378  C                           number times Line 446  C                           number times
446        _RL lambdaSaltClimRelax        _RL lambdaSaltClimRelax
447        _RL externForcingCycle        _RL externForcingCycle
448        _RL externForcingPeriod        _RL externForcingPeriod
449          _RL horiVertRatio
450          _RL recip_horiVertRatio
451          _RL latFFTFiltLo
452    
453        COMMON /PARM_A/ HeatCapacity_Cp,        COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp,
454       &                Lamba_theta       &                Lamba_theta
455        _RL HeatCapacity_Cp        _RL HeatCapacity_Cp
456        _RL Lamba_theta        _RL Lamba_theta
457          _RL recip_Cp
458    
459  C Equation of State (polynomial coeffients)  C Equation of State (polynomial coeffients)
460        COMMON /PARM_EOS_NL/ eosC,eosSig0,eosRefT,eosRefS        COMMON /PARM_EOS_NL/ eosC,eosSig0,eosRefT,eosRefS
# Line 395  C     sBeta     - Linear EOS haline cont Line 467  C     sBeta     - Linear EOS haline cont
467        _RL sBeta        _RL sBeta
468        character*(6) eosType        character*(6) eosType
469    
470    C These are input arrays (of integers) that contain the *absolute*
471    C computational index of an open-boundary (OB) point.
472    C A zero (0) element means there is no corresponding OB in that column/row.
473    C The computational coordinate refers to "tracer" cells.
474    C For a northern/southern OB, the OB V point is to the south/north.
475    C For an eastern/western OB, the OB U point is to the west/east.
476    C eg.
477    C     OB_Jnorth(3)=34  means that:
478    C          T( 3 ,34) is a an OB point
479    C          U(3:4,34) is a an OB point
480    C          V( 4 ,34) is a an OB point
481    C while
482    C     OB_Jsouth(3)=1  means that:
483    C          T( 3 ,1) is a an OB point
484    C          U(3:4,1) is a an OB point
485    C          V( 4 ,2) is a an OB point
486    C
487    C For convenience, negative values for Jnorth/Ieast refer to
488    C points relative to the Northern/Eastern edges of the model
489    C eg. OB_Jnorth(3)=-1  means that the point (3,Ny-1) is a northern O-B.
490    C
491          COMMON /PARM_OB/
492         & OB_Jnorth,OB_Jsouth,OB_Ieast,OB_Iwest
493          INTEGER OB_Jnorth(Nx)
494          INTEGER OB_Jsouth(Nx)
495          INTEGER OB_Ieast(Ny)
496          INTEGER OB_Iwest(Ny)

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.38

  ViewVC Help
Powered by ViewVC 1.1.22