/[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.32 by cnh, Wed Sep 9 15:19:07 1998 UTC revision 1.42 by adcroft, Mon Aug 30 18:29:21 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  C     UNSET_xxx - Used to indicate variables that have not been given a value
30        Real*8 UNSET_FLOAT8        Real*8 UNSET_FLOAT8
31        PARAMETER ( UNSET_FLOAT8 = 1.234567D5 )        PARAMETER ( UNSET_FLOAT8 = 1.234567D5 )
# Line 55  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         &                uVelInitFile, vVelInitFile
68        CHARACTER*(5) checkPtSuff(maxNoChkptLev)        CHARACTER*(5) checkPtSuff(maxNoChkptLev)
69        CHARACTER*(MAX_LEN_FNAM) bathyFile        CHARACTER*(MAX_LEN_FNAM) bathyFile
70        CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile        CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile
# Line 69  C                        get buoyancy. Line 73  C                        get buoyancy.
73        CHARACTER*(MAX_LEN_FNAM) meridWindFile        CHARACTER*(MAX_LEN_FNAM) meridWindFile
74        CHARACTER*(MAX_LEN_FNAM) thetaClimFile        CHARACTER*(MAX_LEN_FNAM) thetaClimFile
75        CHARACTER*(MAX_LEN_FNAM) saltClimFile        CHARACTER*(MAX_LEN_FNAM) saltClimFile
76          CHARACTER*(MAX_LEN_FNAM) surfQfile
77          CHARACTER*(MAX_LEN_FNAM) EmPmRfile
78        CHARACTER*(MAX_LEN_FNAM) buoyancyRelation        CHARACTER*(MAX_LEN_FNAM) buoyancyRelation
79          CHARACTER*(MAX_LEN_FNAM) uVelInitFile
80          CHARACTER*(MAX_LEN_FNAM) vVelInitFile
81    
82  C--   COMMON /PARM_I/ Integer valued parameters used by the model.  C--   COMMON /PARM_I/ Integer valued parameters used by the model.
83  C     cg2dMaxIters        - Maximum number of iterations in the  C     cg2dMaxIters        - Maximum number of iterations in the
84  C                           two-dimensional con. grad solver.  C                           two-dimensional con. grad solver.
85  C     cg2dChkResFreq      - Frequency with which to check residual  C     cg2dChkResFreq      - Frequency with which to check residual
86  C                           in con. grad solver.  C                           in con. grad solver.
87    C     cg3dMaxIters        - Maximum number of iterations in the
88    C                           three-dimensional con. grad solver.
89    C     cg3dChkResFreq      - Frequency with which to check residual
90    C                           in con. grad solver.
91  C     nIter0              - Start time-step number of for this run  C     nIter0              - Start time-step number of for this run
92  C     nTimeSteps          - Number of timesteps to execute  C     nTimeSteps          - Number of timesteps to execute
93  C     numStepsPerPickup   - For offline setup. Frequency of pickup  C     numStepsPerPickup   - For offline setup. Frequency of pickup
# Line 84  C     writeStatePrec      - Precision us Line 96  C     writeStatePrec      - Precision us
96  C     writeBinaryPrec     - Precision used for writing binary files  C     writeBinaryPrec     - Precision used for writing binary files
97  C     readBinaryPrec      - Precision used for reading binary files  C     readBinaryPrec      - Precision used for reading binary files
98  C     nCheckLev           - Holds current checkpoint level  C     nCheckLev           - Holds current checkpoint level
99    C     nShap               - "Order" of shapiro filter to apply to
100    C                           model prognositic fields.
101    C                           nShap == 1 => del2
102    C                           nShap == 2 => del4
103    C                           nShap == 3 => del6
104    C                           etc...
105    
106        COMMON /PARM_I/        COMMON /PARM_I/
107       &        cg2dMaxIters,       &        cg2dMaxIters,
108       &        cg2dChkResFreq,       &        cg2dChkResFreq,
109       &        nIter0, nTimeSteps,       &        cg3dMaxIters,
110         &        cg3dChkResFreq,
111         &        nIter0, nTimeSteps, nEndIter,
112       &        numStepsPerPickup,       &        numStepsPerPickup,
113       &        writeStatePrec, nCheckLev,       &        writeStatePrec, nCheckLev,
114       &        writeBinaryPrec, readBinaryPrec       &        writeBinaryPrec, readBinaryPrec,
115         &        nShap
116        INTEGER cg2dMaxIters        INTEGER cg2dMaxIters
117        INTEGER cg2dChkResFreq        INTEGER cg2dChkResFreq
118          INTEGER cg3dMaxIters
119          INTEGER cg3dChkResFreq
120        INTEGER nIter0        INTEGER nIter0
121        INTEGER nTimeSteps        INTEGER nTimeSteps
122          INTEGER nEndIter
123        INTEGER numStepsPerPickup        INTEGER numStepsPerPickup
124        INTEGER writeStatePrec        INTEGER writeStatePrec
125        INTEGER writeBinaryPrec        INTEGER writeBinaryPrec
126        INTEGER readBinaryPrec        INTEGER readBinaryPrec
127        INTEGER nCheckLev        INTEGER nCheckLev
128          INTEGER nShap
129    
130  C--   COMMON /PARM_L/ Logical valued parameters used by the model.  C--   COMMON /PARM_L/ Logical valued parameters used by the model.
131  C     usingCartesianGrid - If TRUE grid generation will be in a cartesian  C     usingCartesianGrid - If TRUE grid generation will be in a cartesian
132  C                          coordinate frame.  C                          coordinate frame.
133  C     usingSphericalPolarGrid - If TRUE grid generation will be in a  C     usingSphericalPolarGrid - If TRUE grid generation will be in a
134  C                               spherical polar frame.  C                               spherical polar frame.
135    C     no_slip_sides - Impose "no-slip" at lateral boundaries.
136    C     no_slip_bottom- Impose "no-slip" at bottom boundary.
137  C     momViscosity  - Flag which turns momentum friction terms on and off.  C     momViscosity  - Flag which turns momentum friction terms on and off.
138  C     momAdvection  - Flag which turns advection of momentum on and off.  C     momAdvection  - Flag which turns advection of momentum on and off.
139  C     momForcing    - Flag which turns external forcing of momentum on  C     momForcing    - Flag which turns external forcing of momentum on
# Line 136  C     useConstantF  - Coriolis parameter Line 164  C     useConstantF  - Coriolis parameter
164  C     useBetaPlaneF - Coriolis parameter set to f0 + beta.y  C     useBetaPlaneF - Coriolis parameter set to f0 + beta.y
165  C     useSphereF    - Coriolis parameter set to 2.omega.sin(phi)  C     useSphereF    - Coriolis parameter set to 2.omega.sin(phi)
166  C     implicitDiffusion - Turns implicit vertical diffusion on  C     implicitDiffusion - Turns implicit vertical diffusion on
167    C     implicitViscosity - Turns implicit vertical viscosity on
168  C     doThetaClimRelax - Set true if relaxation to temperature  C     doThetaClimRelax - Set true if relaxation to temperature
169  C                        climatology is required.  C                        climatology is required.
170  C     doSaltClimRelax  - Set true if relaxation to salinity  C     doSaltClimRelax  - Set true if relaxation to salinity
# Line 145  C     usingPCoords     - Set to indicate Line 174  C     usingPCoords     - Set to indicate
174  C                        coords.  C                        coords.
175  C     usingZCoords     - Set to indicate that we are working in height  C     usingZCoords     - Set to indicate that we are working in height
176  C                        coords.  C                        coords.
177    C     openBoundaries - Using open-boundaries
178    C     nonHydrostatic - Using non-hydrostatic terms
179    C     globalFiles    - Selects between "global" and "tiled" files
180    C     allowFreezing  - Allows water to freeze and form ice
181        COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,        COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,
182       & momViscosity, momAdvection, momForcing, useCoriolis, momPressureForcing,       & no_slip_sides,no_slip_bottom,
183       & tempDiffusion, tempAdvection, tempForcing,       & momViscosity, momAdvection, momForcing, useCoriolis,
184         & momPressureForcing,tempDiffusion, tempAdvection, tempForcing,
185       & saltDiffusion, saltAdvection, saltForcing,       & saltDiffusion, saltAdvection, saltForcing,
186       & implicitFreeSurface, rigidLid,       & implicitFreeSurface, rigidLid,
187       & momStepping, tempStepping, saltStepping,       & momStepping, tempStepping, saltStepping,
188       & metricTerms, usingSphericalPolarMTerms,       & metricTerms, usingSphericalPolarMTerms,
189       & useConstantF, useBetaPlaneF, useSphereF,       & useConstantF, useBetaPlaneF, useSphereF,
190       & implicitDiffusion, doThetaClimRelax, doSaltClimRelax,       & implicitDiffusion, implicitViscosity,
191       & periodicExternalForcing, usingPCoords, usingZCoords       & doThetaClimRelax, doSaltClimRelax,
192         & periodicExternalForcing, usingPCoords, usingZCoords,
193         & openBoundaries, nonHydrostatic, globalFiles,
194         & allowFreezing
195        LOGICAL usingCartesianGrid        LOGICAL usingCartesianGrid
196        LOGICAL usingSphericalPolarGrid        LOGICAL usingSphericalPolarGrid
197        LOGICAL usingSphericalPolarMTerms        LOGICAL usingSphericalPolarMTerms
198          LOGICAL no_slip_sides
199          LOGICAL no_slip_bottom
200        LOGICAL momViscosity        LOGICAL momViscosity
201        LOGICAL momAdvection        LOGICAL momAdvection
202        LOGICAL momForcing        LOGICAL momForcing
# Line 179  C                        coords. Line 218  C                        coords.
218        LOGICAL useBetaPlaneF        LOGICAL useBetaPlaneF
219        LOGICAL useSphereF        LOGICAL useSphereF
220        LOGICAL implicitDiffusion        LOGICAL implicitDiffusion
221          LOGICAL implicitViscosity
222        LOGICAL doThetaClimRelax        LOGICAL doThetaClimRelax
223        LOGICAL doSaltClimRelax        LOGICAL doSaltClimRelax
224        LOGICAL periodicExternalForcing        LOGICAL periodicExternalForcing
225        LOGICAL usingPCoords        LOGICAL usingPCoords
226        LOGICAL usingZCoords        LOGICAL usingZCoords
227          LOGICAL openBoundaries
228          LOGICAL nonHydrostatic
229          LOGICAL globalFiles
230          LOGICAL allowFreezing
231    
232  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.
233  C     cg2dTargetResidual  C     cg2dTargetResidual
234  C               - Target residual for cg2d solver.  C               - Target residual for cg2d solver.
235    C     cg3dTargetResidual
236    C               - Target residual for cg3d solver.
237  C     cg2dpcOffDFac - Averaging weight for preconditioner off-diagonal.  C     cg2dpcOffDFac - Averaging weight for preconditioner off-diagonal.
238  C     Note. 20th May 1998  C     Note. 20th May 1998
239  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 289  C     pfFacMom      - Momentum pressure Line 335  C     pfFacMom      - Momentum pressure
335  C     cfFacMom      - Coriolis term tracer parameter  C     cfFacMom      - Coriolis term tracer parameter
336  C     foFacMom      - Momentum forcing tracer parameter  C     foFacMom      - Momentum forcing tracer parameter
337  C     mtFacMom      - Metric terms tracer parameter  C     mtFacMom      - Metric terms tracer parameter
338    C     cosPower      - Power of cosine of latitude to multiply viscosity
339  C     cAdjFreq      - Frequency of convective adjustment  C     cAdjFreq      - Frequency of convective adjustment
340  C  C
341  C     taveFreq      - Frequency with which time-averaged model state is written to  C     taveFreq      - Frequency with which time-averaged model state is written to
# Line 304  C                           number times Line 351  C                           number times
351  C     horiVertRatio      - Ratio on units in vertical to units in horizontal.  C     horiVertRatio      - Ratio on units in vertical to units in horizontal.
352  C     recip_horiVertRatio  ( 1 if horiz in m and vertical in m ).  C     recip_horiVertRatio  ( 1 if horiz in m and vertical in m ).
353  C                          ( g*rho if horiz in m and vertical in Pa ).  C                          ( g*rho if horiz in m and vertical in Pa ).
354    C     latFFTFiltLo       - Low latitude for FFT filtering of latitude
355    C                          circles ( see filter*.F )
356        COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac,        COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac,
357         & cg3dTargetResidual,
358       & delP, delZ, delR, delX, delY,       & delP, delZ, delR, delX, delY,
359       & deltaT,deltaTmom, deltaTtracer, deltaTClock,abeps, startTime, phiMin,       & deltaT,deltaTmom, deltaTtracer, deltaTClock,abeps, startTime,
360       & thetaMin, rSphere, recip_RSphere, f0, fCori, beta,       & phiMin, thetaMin, rSphere, recip_RSphere, f0, fCori, beta,
361       & viscAh,  viscAz,  viscA4,  viscAr,       & viscAh,  viscAz,  viscA4,  viscAr,
362       & diffKhT, diffKzT, diffK4T, diffKrT,       & diffKhT, diffKzT, diffK4T, diffKrT,
363       & diffKhS, diffKzS, diffK4S, diffKrS,       & diffKhS, diffKzS, diffK4S, diffKrS,
# Line 317  C                          ( g*rho if ho Line 367  C                          ( g*rho if ho
367       & recip_rhoConst, rhoConst, tRef, sRef,       & recip_rhoConst, rhoConst, tRef, sRef,
368       & endTime, chkPtFreq, pchkPtFreq, dumpFreq, taveFreq,       & endTime, chkPtFreq, pchkPtFreq, dumpFreq, taveFreq,
369       & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,       & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,
370         & cosPower,
371       & cAdjFreq, omega, tauThetaClimRelax, lambdaThetaClimRelax,       & cAdjFreq, omega, tauThetaClimRelax, lambdaThetaClimRelax,
372       & tauSaltClimRelax, lambdaSaltClimRelax,       & tauSaltClimRelax, lambdaSaltClimRelax,
373       & externForcingCycle, externForcingPeriod,       & externForcingCycle, externForcingPeriod,
374       & viscAp, diffKpT, diffKpS, hFacMinDr, hFacMinDp,       & viscAp, diffKpT, diffKpS, hFacMinDr, hFacMinDp,
375       & theta_S, specVol_S, horiVertRatio, recip_horiVertRatio       & theta_S, specVol_S, horiVertRatio, recip_horiVertRatio,
376         & latFFTFiltLo, ivdc_kappa
377    
378        _RL cg2dTargetResidual        _RL cg2dTargetResidual
379          _RL cg3dTargetResidual
380        _RL cg2dpcOffDFac        _RL cg2dpcOffDFac
381        _RL delZ(Nr)        _RL delZ(Nr)
382        _RL delP(Nr)        _RL delP(Nr)
# Line 394  C                          ( g*rho if ho Line 447  C                          ( g*rho if ho
447        _RL cfFacMom        _RL cfFacMom
448        _RL foFacMom        _RL foFacMom
449        _RL mTFacMom        _RL mTFacMom
450          _RL cosPower
451        _RL cAdjFreq        _RL cAdjFreq
452        _RL omega        _RL omega
453        _RL tauThetaClimRelax        _RL tauThetaClimRelax
# Line 404  C                          ( g*rho if ho Line 458  C                          ( g*rho if ho
458        _RL externForcingPeriod        _RL externForcingPeriod
459        _RL horiVertRatio        _RL horiVertRatio
460        _RL recip_horiVertRatio        _RL recip_horiVertRatio
461          _RL latFFTFiltLo
462          _RL ivdc_kappa
463    
464        COMMON /PARM_A/ HeatCapacity_Cp,        COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp,
465       &                Lamba_theta       &                Lamba_theta
466        _RL HeatCapacity_Cp        _RL HeatCapacity_Cp
467        _RL Lamba_theta        _RL Lamba_theta
468          _RL recip_Cp
469    
470  C Equation of State (polynomial coeffients)  C Equation of State (polynomial coeffients)
471        COMMON /PARM_EOS_NL/ eosC,eosSig0,eosRefT,eosRefS        COMMON /PARM_EOS_NL/ eosC,eosSig0,eosRefT,eosRefS
# Line 421  C     sBeta     - Linear EOS haline cont Line 478  C     sBeta     - Linear EOS haline cont
478        _RL sBeta        _RL sBeta
479        character*(6) eosType        character*(6) eosType
480    
481    C These are input arrays (of integers) that contain the *absolute*
482    C computational index of an open-boundary (OB) point.
483    C A zero (0) element means there is no corresponding OB in that column/row.
484    C The computational coordinate refers to "tracer" cells.
485    C For a northern/southern OB, the OB V point is to the south/north.
486    C For an eastern/western OB, the OB U point is to the west/east.
487    C eg.
488    C     OB_Jnorth(3)=34  means that:
489    C          T( 3 ,34) is a an OB point
490    C          U(3:4,34) is a an OB point
491    C          V( 4 ,34) is a an OB point
492    C while
493    C     OB_Jsouth(3)=1  means that:
494    C          T( 3 ,1) is a an OB point
495    C          U(3:4,1) is a an OB point
496    C          V( 4 ,2) is a an OB point
497    C
498    C For convenience, negative values for Jnorth/Ieast refer to
499    C points relative to the Northern/Eastern edges of the model
500    C eg. OB_Jnorth(3)=-1  means that the point (3,Ny-1) is a northern O-B.
501    C
502          COMMON /PARM_OB/
503         & OB_Jnorth,OB_Jsouth,OB_Ieast,OB_Iwest
504          INTEGER OB_Jnorth(Nx)
505          INTEGER OB_Jsouth(Nx)
506          INTEGER OB_Ieast(Ny)
507          INTEGER OB_Iwest(Ny)

Legend:
Removed from v.1.32  
changed lines
  Added in v.1.42

  ViewVC Help
Powered by ViewVC 1.1.22