/[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.116 by afe, Fri Jul 2 15:09:46 2004 UTC revision 1.129 by edhill, Sun Oct 10 06:08:47 2004 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3  C  C
4    
5  CBOP  CBOP
6  C    !ROUTINE: PARAMS.h  C     !ROUTINE: PARAMS.h
7  C    !INTERFACE:  C     !INTERFACE:
8  C    include PARAMS.h  C     #include PARAMS.h
9  C    !DESCRIPTION: \bv  
10  C     *==========================================================*  C     !DESCRIPTION:
11  C     | PARAMS.h                                                    C     Header file defining model "parameters".  The values from the
12  C     | o Header file defining model "parameters".                  C     model standard input file are stored into the variables held
13  C     *==========================================================*  C     here. Notes describing the parameters can also be found here.
14  C     | The values from the model standard input file are          
 C     | stored into the variables held here. Notes describing      
 C     | the parameters can also be found here.                      
 C     *==========================================================*  
 C     \ev  
15  CEOP  CEOP
16    
17  C     Macros for special grid options  C     Macros for special grid options
# Line 65  C     thetaClimFile   :: File containing Line 62  C     thetaClimFile   :: File containing
62  C                       in relaxation term -lambda(theta-theta*)  C                       in relaxation term -lambda(theta-theta*)
63  C     saltClimFile    :: File containing salt climataology used  C     saltClimFile    :: File containing salt climataology used
64  C                       in relaxation term -lambda(salt-salt*)  C                       in relaxation term -lambda(salt-salt*)
65  C     surfQfile       :: File containing surface heat flux  C     surfQfile       :: File containing surface heat flux, excluding SW
66  C     surfQswfile     :: File containing surface shortwave radiation  C                        (old version, kept for backward compatibility)
67    C     surfQnetFile    :: File containing surface net heat flux
68    C     surfQswFile     :: File containing surface shortwave radiation
69  C     dQdTfile        :: File containing thermal relaxation coefficient  C     dQdTfile        :: File containing thermal relaxation coefficient
70  C     EmPmRfile       :: File containing surface fresh water flux  C     EmPmRfile       :: File containing surface fresh water flux
71  C     pLoadFile       :: File containing pressure loading  C     pLoadFile       :: File containing pressure loading
# Line 74  C     buoyancyRelation :: Flag used to i Line 73  C     buoyancyRelation :: Flag used to i
73  C                        get buoyancy.  C                        get buoyancy.
74  C     eosType         :: choose the equation of state:  C     eosType         :: choose the equation of state:
75  C                        LINEAR, POLY3, UNESCO, JMD95Z, JMD95P, MDJWF, IDEALGAS  C                        LINEAR, POLY3, UNESCO, JMD95Z, JMD95P, MDJWF, IDEALGAS
76    C     the_run_name    :: string identifying the name of the model "run"
77        COMMON /PARM_C/ checkPtSuff,        COMMON /PARM_C/ checkPtSuff,
78       &                bathyFile, topoFile,       &                bathyFile, topoFile,
79       &                hydrogThetaFile, hydrogSaltFile,       &                hydrogThetaFile, hydrogSaltFile,
80       &                zonalWindFile, meridWindFile, thetaClimFile,       &                zonalWindFile, meridWindFile, thetaClimFile,
81       &                saltClimFile, buoyancyRelation,       &                saltClimFile, buoyancyRelation,
82       &                EmPmRfile, surfQfile, surfQswfile,       &                EmPmRfile, surfQfile, surfQnetFile, surfQswFile,
83       &                uVelInitFile, vVelInitFile, pSurfInitFile,       &                uVelInitFile, vVelInitFile, pSurfInitFile,
84       &                dQdTfile, ploadFile,       &                dQdTfile, ploadFile,
85       &                eosType, pickupSuff,       &                eosType, pickupSuff,
86       &                mdsioLocalDir       &                mdsioLocalDir,
87         &                the_run_name
88        CHARACTER*(5) checkPtSuff(maxNoChkptLev)        CHARACTER*(5) checkPtSuff(maxNoChkptLev)
89        CHARACTER*(MAX_LEN_FNAM) bathyFile, topoFile        CHARACTER*(MAX_LEN_FNAM) bathyFile, topoFile
90        CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile        CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile
# Line 93  C                        LINEAR, POLY3, Line 94  C                        LINEAR, POLY3,
94        CHARACTER*(MAX_LEN_FNAM) thetaClimFile        CHARACTER*(MAX_LEN_FNAM) thetaClimFile
95        CHARACTER*(MAX_LEN_FNAM) saltClimFile        CHARACTER*(MAX_LEN_FNAM) saltClimFile
96        CHARACTER*(MAX_LEN_FNAM) surfQfile        CHARACTER*(MAX_LEN_FNAM) surfQfile
97        CHARACTER*(MAX_LEN_FNAM) surfQswfile        CHARACTER*(MAX_LEN_FNAM) surfQnetFile
98          CHARACTER*(MAX_LEN_FNAM) surfQswFile
99        CHARACTER*(MAX_LEN_FNAM) EmPmRfile        CHARACTER*(MAX_LEN_FNAM) EmPmRfile
100        CHARACTER*(MAX_LEN_FNAM) buoyancyRelation        CHARACTER*(MAX_LEN_FNAM) buoyancyRelation
101        CHARACTER*(MAX_LEN_FNAM) uVelInitFile        CHARACTER*(MAX_LEN_FNAM) uVelInitFile
# Line 102  C                        LINEAR, POLY3, Line 104  C                        LINEAR, POLY3,
104        CHARACTER*(MAX_LEN_FNAM) dQdTfile        CHARACTER*(MAX_LEN_FNAM) dQdTfile
105        CHARACTER*(MAX_LEN_FNAM) ploadFile        CHARACTER*(MAX_LEN_FNAM) ploadFile
106        CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir        CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir
107          CHARACTER*(MAX_LEN_FNAM) the_run_name
108        CHARACTER*(6) eosType        CHARACTER*(6) eosType
109        CHARACTER*(10) pickupSuff        CHARACTER*(10) pickupSuff
110    
# Line 110  C     cg2dMaxIters        :: Maximum num Line 113  C     cg2dMaxIters        :: Maximum num
113  C                           two-dimensional con. grad solver.  C                           two-dimensional con. grad solver.
114  C     cg2dChkResFreq      :: Frequency with which to check residual  C     cg2dChkResFreq      :: Frequency with which to check residual
115  C                           in con. grad solver.  C                           in con. grad solver.
116    C     cg2dPreCondFreq     :: Frequency for updating cg2d preconditioner
117    C                            (non-linear free-surf.)
118  C     cg3dMaxIters        :: Maximum number of iterations in the  C     cg3dMaxIters        :: Maximum number of iterations in the
119  C                           three-dimensional con. grad solver.  C                           three-dimensional con. grad solver.
120  C     cg3dChkResFreq      :: Frequency with which to check residual  C     cg3dChkResFreq      :: Frequency with which to check residual
# Line 134  C     debugLevel          :: debug level Line 139  C     debugLevel          :: debug level
139    
140        COMMON /PARM_I/        COMMON /PARM_I/
141       &        cg2dMaxIters,       &        cg2dMaxIters,
142       &        cg2dChkResFreq,       &        cg2dChkResFreq, cg2dPreCondFreq,
143       &        cg3dMaxIters,       &        cg3dMaxIters,
144       &        cg3dChkResFreq,       &        cg3dChkResFreq,
145       &        nIter0, nTimeSteps, nEndIter,       &        nIter0, nTimeSteps, nEndIter,
# Line 148  C     debugLevel          :: debug level Line 153  C     debugLevel          :: debug level
153       &        debugLevel       &        debugLevel
154        INTEGER cg2dMaxIters        INTEGER cg2dMaxIters
155        INTEGER cg2dChkResFreq        INTEGER cg2dChkResFreq
156          INTEGER cg2dPreCondFreq
157        INTEGER cg3dMaxIters        INTEGER cg3dMaxIters
158        INTEGER cg3dChkResFreq        INTEGER cg3dChkResFreq
159        INTEGER nIter0        INTEGER nIter0
# Line 215  C                           linear relat Line 221  C                           linear relat
221  C     momStepping   :: Turns momentum equation time-stepping off  C     momStepping   :: Turns momentum equation time-stepping off
222  C     tempStepping  :: Turns temperature equation time-stepping off  C     tempStepping  :: Turns temperature equation time-stepping off
223  C     saltStepping  :: Turns salinity equation time-stepping off  C     saltStepping  :: Turns salinity equation time-stepping off
 C     tr1Stepping   :: Turns passive tracer 1 time-stepping on/off  
224  C     useConstantF  :: Coriolis parameter set to f0  C     useConstantF  :: Coriolis parameter set to f0
225  C     useBetaPlaneF :: Coriolis parameter set to f0 + beta.y  C     useBetaPlaneF :: Coriolis parameter set to f0 + beta.y
226  C     useSphereF    :: Coriolis parameter set to 2.omega.sin(phi)  C     useSphereF    :: Coriolis parameter set to 2.omega.sin(phi)
# Line 232  C     tempImplVertAdv :: Turns on implic Line 237  C     tempImplVertAdv :: Turns on implic
237  C     saltImplVertAdv :: Turns on implicit vertical advection for Salinity  C     saltImplVertAdv :: Turns on implicit vertical advection for Salinity
238  C     momImplVertAdv  :: Turns on implicit vertical advection for Momentum  C     momImplVertAdv  :: Turns on implicit vertical advection for Momentum
239  C     multiDimAdvection :: Flag that enable multi-dimension advection  C     multiDimAdvection :: Flag that enable multi-dimension advection
240    C     useMultiDimAdvec  :: True if multi-dim advection is used at least once
241  C     forcing_In_AB :: if False, put forcing (Temp,Salt,Tracers) contribution  C     forcing_In_AB :: if False, put forcing (Temp,Salt,Tracers) contribution
242  C                      out off Adams-Bashforth time stepping.  C                      out off Adams-Bashforth time stepping.
243  C     doThetaClimRelax :: Set true if relaxation to temperature  C     doThetaClimRelax :: Set true if relaxation to temperature
# Line 256  C                       outputs from mas Line 262  C                       outputs from mas
262  C     allowFreezing  :: Allows surface water to freeze and form ice  C     allowFreezing  :: Allows surface water to freeze and form ice
263  C     useOldFreezing :: use the old version (before checkpoint52a_pre, 2003-11-12)  C     useOldFreezing :: use the old version (before checkpoint52a_pre, 2003-11-12)
264  C     groundAtK1  :: put the surface(k=1) at the Lower Boundary (=ground)  C     groundAtK1  :: put the surface(k=1) at the Lower Boundary (=ground)
265    C     pickup_write_mdsio :: use mdsio to write pickups
266    C     pickup_read_mdsio  :: use mdsio to read  pickups
267    C     pickup_write_immed :: echo the pickup immediately (for conversion)
268    C     timeave_mdsio      :: use mdsio for timeave output
269    C     snapshot_mdsio     :: use mdsio for "snapshot" (dumpfreq/diagfreq) output
270    C     monitor_stdio      :: use stdio for monitor output
271    C     useMNC           :: overall package run-time flag
272    C     mnc_use_indir    :: use "mnc_indir_str" as input filename prefix
273    C     mnc_use_outdir   :: use "mnc_outdir_str" as output filename prefix
274    C     mnc_outdir_date  :: use a date string within the output dir name
275    C     mnc_echo_gvtypes :: echo type names (fails on many platforms)
276    C     pickup_write_mnc :: use mnc to write pickups
277    C     pickup_read_mnc  :: use mnc to read  pickups
278    C     mon_write_mnc    :: use mnc to write monitor output
279        COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,        COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,
280       & usingCurvilinearGrid, usingCylindricalGrid,       & usingCurvilinearGrid, usingCylindricalGrid,
281       & no_slip_sides,no_slip_bottom,       & no_slip_sides,no_slip_bottom,
# Line 266  C     groundAtK1  :: put the surface(k=1 Line 286  C     groundAtK1  :: put the surface(k=1
286       & saltDiffusion, saltAdvection, saltForcing,       & saltDiffusion, saltAdvection, saltForcing,
287       & useRealFreshWaterFlux,       & useRealFreshWaterFlux,
288       & rigidLid, implicitFreeSurface, exactConserv, uniformLin_PhiSurf,       & rigidLid, implicitFreeSurface, exactConserv, uniformLin_PhiSurf,
289       & momStepping, tempStepping, saltStepping, tr1Stepping,       & momStepping, tempStepping, saltStepping,
290       & metricTerms, usingSphericalPolarMTerms, useNHMTerms,       & metricTerms, usingSphericalPolarMTerms, useNHMTerms,
291       & useConstantF, useBetaPlaneF, useSphereF,       & useConstantF, useBetaPlaneF, useSphereF,
292       & useCDscheme,       & useCDscheme,
# Line 275  C     groundAtK1  :: put the surface(k=1 Line 295  C     groundAtK1  :: put the surface(k=1
295       & useAbsVorticity,       & useAbsVorticity,
296       & implicitDiffusion, implicitViscosity,       & implicitDiffusion, implicitViscosity,
297       & tempImplVertAdv, saltImplVertAdv, momImplVertAdv,       & tempImplVertAdv, saltImplVertAdv, momImplVertAdv,
298       & multiDimAdvection, forcing_In_AB,       & multiDimAdvection, useMultiDimAdvec, forcing_In_AB,
299       & doThetaClimRelax, doSaltClimRelax, doTr1ClimRelax,       & doThetaClimRelax, doSaltClimRelax, doTr1ClimRelax,
300       & periodicExternalForcing,       & periodicExternalForcing,
301       & usingPCoords, usingZCoords, useDynP_inEos_Zc, setCenterDr,       & usingPCoords, usingZCoords, useDynP_inEos_Zc, setCenterDr,
302       & nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO,       & nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO,
303       & allowFreezing, useOldFreezing, groundAtK1,       & allowFreezing, useOldFreezing, groundAtK1,
304       & usePickupBeforeC35, debugMode,       & usePickupBeforeC35, usePickupBeforeC54, debugMode,
305       & readPickupWithTracer, writePickupWithTracer       & readPickupWithTracer, writePickupWithTracer,
306         &     useMNC,
307         &     mnc_use_indir, mnc_use_outdir, mnc_outdir_date,
308         &     mnc_echo_gvtypes,
309         &     pickup_write_mnc, pickup_read_mnc,
310         &     timeave_mnc, snapshot_mnc, monitor_mnc, autodiff_mnc,
311         & pickup_read_mdsio, pickup_write_mdsio, pickup_write_immed,
312         & timeave_mdsio, snapshot_mdsio, monitor_stdio
313        LOGICAL usingCartesianGrid        LOGICAL usingCartesianGrid
314        LOGICAL usingSphericalPolarGrid        LOGICAL usingSphericalPolarGrid
315        LOGICAL usingCylindricalGrid        LOGICAL usingCylindricalGrid
# Line 312  C     groundAtK1  :: put the surface(k=1 Line 339  C     groundAtK1  :: put the surface(k=1
339        LOGICAL momStepping        LOGICAL momStepping
340        LOGICAL tempStepping        LOGICAL tempStepping
341        LOGICAL saltStepping        LOGICAL saltStepping
       LOGICAL tr1Stepping  
342        LOGICAL metricTerms        LOGICAL metricTerms
343        LOGICAL useConstantF        LOGICAL useConstantF
344        LOGICAL useBetaPlaneF        LOGICAL useBetaPlaneF
# Line 331  C     groundAtK1  :: put the surface(k=1 Line 357  C     groundAtK1  :: put the surface(k=1
357        LOGICAL saltImplVertAdv        LOGICAL saltImplVertAdv
358        LOGICAL momImplVertAdv        LOGICAL momImplVertAdv
359        LOGICAL multiDimAdvection        LOGICAL multiDimAdvection
360          LOGICAL useMultiDimAdvec
361        LOGICAL forcing_In_AB        LOGICAL forcing_In_AB
362        LOGICAL doThetaClimRelax        LOGICAL doThetaClimRelax
363        LOGICAL doSaltClimRelax        LOGICAL doSaltClimRelax
# Line 348  C     groundAtK1  :: put the surface(k=1 Line 375  C     groundAtK1  :: put the surface(k=1
375        LOGICAL useOldFreezing        LOGICAL useOldFreezing
376        LOGICAL groundAtK1        LOGICAL groundAtK1
377        LOGICAL usePickupBeforeC35        LOGICAL usePickupBeforeC35
378          LOGICAL usePickupBeforeC54
379        LOGICAL debugMode        LOGICAL debugMode
380        LOGICAL readPickupWithTracer        LOGICAL readPickupWithTracer
381        LOGICAL writePickupWithTracer        LOGICAL writePickupWithTracer
382          LOGICAL
383         &     useMNC,
384         &     mnc_use_indir, mnc_use_outdir, mnc_outdir_date,
385         &     mnc_echo_gvtypes,
386         &     pickup_write_mnc, pickup_read_mnc,
387         &     timeave_mnc, snapshot_mnc, monitor_mnc, autodiff_mnc
388          LOGICAL pickup_read_mdsio, pickup_write_mdsio
389          LOGICAL pickup_write_immed
390          LOGICAL timeave_mdsio, snapshot_mdsio, monitor_stdio
391    
392  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.
393  C     gg2dTargetResidual  C     cg2dTargetResidual
394  C          :: Target residual for cg2d solver; no unit (RHS normalisation)  C          :: Target residual for cg2d solver; no unit (RHS normalisation)
395  C     cg2dTargetResWunit  C     cg2dTargetResWunit
396  C          :: Target residual for cg2d solver; W unit (No RHS normalisation)  C          :: Target residual for cg2d solver; W unit (No RHS normalisation)
# Line 397  C     omega     :: Angular velocity ( ra Line 434  C     omega     :: Angular velocity ( ra
434  C     rotationPeriod :: Rotation period (s) (= 2.pi/omega)  C     rotationPeriod :: Rotation period (s) (= 2.pi/omega)
435  C     viscAh    :: Eddy viscosity coeff. for mixing of  C     viscAh    :: Eddy viscosity coeff. for mixing of
436  C                 momentum laterally ( m^2/s )  C                 momentum laterally ( m^2/s )
437    C     viscAhW   :: Eddy viscosity coeff. for mixing of vertical
438    C                 momentum laterally, no effect for hydrostatic
439    C                 model, defaults to viscAh if unset ( m^2/s )
440  C     viscAr    :: Eddy viscosity coeff. for mixing of  C     viscAr    :: Eddy viscosity coeff. for mixing of
441  C                 momentum vertically ( units of r^2/s )  C                 momentum vertically ( units of r^2/s )
442  C     viscA4    :: Biharmonic viscosity coeff. for mixing of  C     viscA4    :: Biharmonic viscosity coeff. for mixing of
# Line 504  C      --"-"--  Quadratic  ( linear: 1/s Line 544  C      --"-"--  Quadratic  ( linear: 1/s
544       & abeps, startTime,       & abeps, startTime,
545       & phiMin, thetaMin, rSphere, recip_RSphere, f0, beta,       & phiMin, thetaMin, rSphere, recip_RSphere, f0, beta,
546       & fCori, fCoriG, fCoriCos,       & fCori, fCoriG, fCoriCos,
547       & viscAh,  viscAhMax, viscAhGrid, viscC2leith,       & viscAh, viscAhW, viscAhMax, viscAhGrid, viscC2leith,
548       & viscA4,  viscA4Max, viscA4Grid, viscC4leith,       & viscA4,  viscA4Max, viscA4Grid, viscC4leith,
549       & viscAr, viscAstrain, viscAtension,       & viscAr, viscAstrain, viscAtension,
550       & diffKhT, diffK4T, diffKrT,       & diffKhT, diffK4T, diffKrT,
# Line 560  C      --"-"--  Quadratic  ( linear: 1/s Line 600  C      --"-"--  Quadratic  ( linear: 1/s
600        _RL hFacSup        _RL hFacSup
601        _RL beta        _RL beta
602        _RL viscAh        _RL viscAh
603          _RL viscAhW
604        _RL viscAhMax        _RL viscAhMax
605        _RL viscAhGrid        _RL viscAhGrid
606        _RL viscC2leith        _RL viscC2leith
# Line 664  C             derived from the orography Line 705  C             derived from the orography
705        INTEGER integr_GeoPot, selectFindRoSurf        INTEGER integr_GeoPot, selectFindRoSurf
706    
707  C Logical flags for selecting packages  C Logical flags for selecting packages
708          LOGICAL useOPPS
709          LOGICAL usePP81
710          LOGICAL useMY82
711          LOGICAL useGGL90
712        LOGICAL useKPP        LOGICAL useKPP
713        LOGICAL useGMRedi        LOGICAL useGMRedi
714        LOGICAL useOBCS        LOGICAL useOBCS
# Line 687  C Logical flags for selecting packages Line 732  C Logical flags for selecting packages
732       &        useKPP, useGMRedi, useOBCS, useAIM, useLand, useECCO,       &        useKPP, useGMRedi, useOBCS, useAIM, useLand, useECCO,
733       &        useSHAP_FILT, useZONAL_FILT, useGrdchk, useFLT,       &        useSHAP_FILT, useZONAL_FILT, useGrdchk, useFLT,
734       &        usePTRACERS,  useSBO, useSEAICE, useThSIce, useBulkForce,       &        usePTRACERS,  useSBO, useSEAICE, useThSIce, useBulkForce,
735       &        usefizhi,  usegridalt, usediagnostics, useEBM       &        usefizhi,  usegridalt, usediagnostics, useEBM,
736         &        usePP81, useMY82, useOPPS, useGGL90
 C     Run-time flags for early-initialization of MNC  
       LOGICAL  
      &     useMNC,  
      &     mnc_use_indir, mnc_use_outdir, mnc_outdir_date,  
      &     mnc_echo_gvtypes, mnc_pickup_write, mnc_pickup_read,  
      &     mnc_use_for_mon  
       CHARACTER*(MAX_LEN_FNAM) mnc_outdir_str  
       CHARACTER*(MAX_LEN_FNAM) mnc_indir_str  
       COMMON /PARM_MNC/  
      &     useMNC,  
      &     mnc_use_indir, mnc_use_outdir, mnc_outdir_date,  
      &     mnc_echo_gvtypes, mnc_pickup_write, mnc_pickup_read,  
      &     mnc_outdir_str, mnc_indir_str,  
      &     mnc_use_for_mon  
   
737    
738  CEH3 ;;; Local Variables: ***  CEH3 ;;; Local Variables: ***
739  CEH3 ;;; mode:fortran ***  CEH3 ;;; mode:fortran ***

Legend:
Removed from v.1.116  
changed lines
  Added in v.1.129

  ViewVC Help
Powered by ViewVC 1.1.22