--- MITgcm/model/inc/PARAMS.h 2003/02/18 15:12:17 1.87 +++ MITgcm/model/inc/PARAMS.h 2005/02/28 17:35:38 1.145 @@ -1,20 +1,17 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/PARAMS.h,v 1.87 2003/02/18 15:12:17 jmc Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/PARAMS.h,v 1.145 2005/02/28 17:35:38 heimbach Exp $ C $Name: $ C + CBOP -C !ROUTINE: PARAMS.h -C !INTERFACE: -C include PARAMS.h -C !DESCRIPTION: \bv -C *==========================================================* -C | PARAMS.h -C | o Header file defining model "parameters". -C *==========================================================* -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 +C !ROUTINE: PARAMS.h +C !INTERFACE: +C #include PARAMS.h + +C !DESCRIPTION: +C Header file defining model "parameters". The values from the +C model standard input file are stored into the variables held +C here. Notes describing the parameters can also be found here. + CEOP C Macros for special grid options @@ -65,24 +62,34 @@ C in relaxation term -lambda(theta-theta*) C saltClimFile :: File containing salt climataology used C in relaxation term -lambda(salt-salt*) -C surfQfile :: File containing surface heat flux -C surfQswfile :: File containing surface shortwave radiation +C surfQfile :: File containing surface heat flux, excluding SW +C (old version, kept for backward compatibility) +C surfQnetFile :: File containing surface net heat flux +C surfQswFile :: File containing surface shortwave radiation C dQdTfile :: File containing thermal relaxation coefficient C EmPmRfile :: File containing surface fresh water flux +C saltFluxFile :: File containing surface salt flux C pLoadFile :: File containing pressure loading +C eddyTauxFile :: File containing zonal Eddy stress data +C eddyTauyFile :: File containing meridional Eddy stress data C buoyancyRelation :: Flag used to indicate which relation to use to C get buoyancy. C eosType :: choose the equation of state: C LINEAR, POLY3, UNESCO, JMD95Z, JMD95P, MDJWF, IDEALGAS +C the_run_name :: string identifying the name of the model "run" COMMON /PARM_C/ checkPtSuff, & bathyFile, topoFile, & hydrogThetaFile, hydrogSaltFile, & zonalWindFile, meridWindFile, thetaClimFile, & saltClimFile, buoyancyRelation, - & EmPmRfile, surfQfile, surfQswfile, + & EmPmRfile, saltFluxFile, + & surfQfile, surfQnetFile, surfQswFile, & uVelInitFile, vVelInitFile, pSurfInitFile, & dQdTfile, ploadFile, - & eosType + & eddyTauxFile, eddyTauyFile, + & eosType, pickupSuff, + & mdsioLocalDir, + & the_run_name CHARACTER*(5) checkPtSuff(maxNoChkptLev) CHARACTER*(MAX_LEN_FNAM) bathyFile, topoFile CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile @@ -92,21 +99,30 @@ CHARACTER*(MAX_LEN_FNAM) thetaClimFile CHARACTER*(MAX_LEN_FNAM) saltClimFile CHARACTER*(MAX_LEN_FNAM) surfQfile - CHARACTER*(MAX_LEN_FNAM) surfQswfile + CHARACTER*(MAX_LEN_FNAM) surfQnetFile + CHARACTER*(MAX_LEN_FNAM) surfQswFile CHARACTER*(MAX_LEN_FNAM) EmPmRfile + CHARACTER*(MAX_LEN_FNAM) saltFluxFile CHARACTER*(MAX_LEN_FNAM) buoyancyRelation CHARACTER*(MAX_LEN_FNAM) uVelInitFile CHARACTER*(MAX_LEN_FNAM) vVelInitFile CHARACTER*(MAX_LEN_FNAM) pSurfInitFile CHARACTER*(MAX_LEN_FNAM) dQdTfile CHARACTER*(MAX_LEN_FNAM) ploadFile + CHARACTER*(MAX_LEN_FNAM) eddyTauxFile + CHARACTER*(MAX_LEN_FNAM) eddyTauyFile + CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir + CHARACTER*(MAX_LEN_FNAM) the_run_name CHARACTER*(6) eosType + CHARACTER*(10) pickupSuff C-- COMMON /PARM_I/ Integer valued parameters used by the model. C cg2dMaxIters :: Maximum number of iterations in the C two-dimensional con. grad solver. C cg2dChkResFreq :: Frequency with which to check residual C in con. grad solver. +C cg2dPreCondFreq :: Frequency for updating cg2d preconditioner +C (non-linear free-surf.) C cg3dMaxIters :: Maximum number of iterations in the C three-dimensional con. grad solver. C cg3dChkResFreq :: Frequency with which to check residual @@ -123,10 +139,15 @@ C =0 Linear free surface ; >0 Non-linear C select_rStar :: option related to r* vertical coordinate C =0 (default) use r coord. ; > 0 use r* +C tempAdvScheme :: Temp. Horiz.Advection scheme selector +C tempVertAdvScheme :: Temp. Vert. Advection scheme selector +C saltAdvScheme :: Salt. Horiz.advection scheme selector +C saltVertAdvScheme :: Salt. Vert. Advection scheme selector +C debugLevel :: debug level selector: higher -> more writing COMMON /PARM_I/ & cg2dMaxIters, - & cg2dChkResFreq, + & cg2dChkResFreq, cg2dPreCondFreq, & cg3dMaxIters, & cg3dChkResFreq, & nIter0, nTimeSteps, nEndIter, @@ -134,9 +155,12 @@ & writeStatePrec, nCheckLev, & writeBinaryPrec, readBinaryPrec, & nonlinFreeSurf, select_rStar, - & tempAdvScheme, saltAdvScheme, tracerAdvScheme + & tempAdvScheme, tempVertAdvScheme, + & saltAdvScheme, saltVertAdvScheme, + & debugLevel INTEGER cg2dMaxIters INTEGER cg2dChkResFreq + INTEGER cg2dPreCondFreq INTEGER cg3dMaxIters INTEGER cg3dChkResFreq INTEGER nIter0 @@ -149,15 +173,24 @@ INTEGER nCheckLev INTEGER nonlinFreeSurf INTEGER select_rStar - INTEGER tempAdvScheme - INTEGER saltAdvScheme - INTEGER tracerAdvScheme + INTEGER tempAdvScheme, tempVertAdvScheme + INTEGER saltAdvScheme, saltVertAdvScheme + INTEGER debugLevel + +C + INTEGER debLevZero + PARAMETER(debLevZero=0) + INTEGER debLevA + PARAMETER(debLevA=1) + INTEGER debLevB + PARAMETER(debLevB=2) C-- COMMON /PARM_L/ Logical valued parameters used by the model. C usingCartesianGrid :: If TRUE grid generation will be in a cartesian C coordinate frame. C usingSphericalPolarGrid :: If TRUE grid generation will be in a C spherical polar frame. +C usingCylindricalGrid :: If TRUE grid generation will be Cylindrical C no_slip_sides :: Impose "no-slip" at lateral boundaries. C no_slip_bottom :: Impose "no-slip" at bottom boundary. C staggerTimeStep :: enable a Stagger time stepping T,S Rho then U,V @@ -171,14 +204,10 @@ C usingSphericalPolarMTerms :: If TRUE use spherical polar metric terms. C useNHMTerms :: If TRUE use non-hydrostatic metric terms. C useCoriolis :: Flag which turns the coriolis terms on and off. -C tempDiffusion :: Flag which turns diffusion of temperature on -C and off. C tempAdvection :: Flag which turns advection of temperature on C and off. C tempForcing :: Flag which turns external forcing of temperature on C and off. -C saltDiffusion :: Flag which turns diffusion of salinity on -C and off. C saltAdvection :: Flag which turns advection of salinity on C and off. C saltForcing :: Flag which turns external forcing of salinity on @@ -194,14 +223,23 @@ C momStepping :: Turns momentum equation time-stepping off C tempStepping :: Turns temperature equation time-stepping off C saltStepping :: Turns salinity equation time-stepping off -C tr1Stepping :: Turns passive tracer 1 time-stepping on/off C useConstantF :: Coriolis parameter set to f0 C useBetaPlaneF :: Coriolis parameter set to f0 + beta.y C useSphereF :: Coriolis parameter set to 2.omega.sin(phi) +C useCDscheme :: use CD-scheme to calculate Coriolis terms. C useJamartWetPoints :: Use wet-point method for Coriolis (Jamart and Ozer, 1986) +C useJamartMomAdv :: Use wet-point method for V.I. non-linear term +C SadournyCoriolis :: use the enstrophy conserving scheme by Sadourny +C upwindVorticity :: bias interpolation of vorticity in the Coriolis term +C highOrderVorticity :: use 3rd/4th order interp. of vorticity in Coriolis +C useAbsVorticity :: work with f+zeta in Coriolis terms C implicitDiffusion :: Turns implicit vertical diffusion on C implicitViscosity :: Turns implicit vertical viscosity on +C tempImplVertAdv :: Turns on implicit vertical advection for Temperature +C saltImplVertAdv :: Turns on implicit vertical advection for Salinity +C momImplVertAdv :: Turns on implicit vertical advection for Momentum C multiDimAdvection :: Flag that enable multi-dimension advection +C useMultiDimAdvec :: True if multi-dim advection is used at least once C forcing_In_AB :: if False, put forcing (Temp,Salt,Tracers) contribution C out off Adams-Bashforth time stepping. C doThetaClimRelax :: Set true if relaxation to temperature @@ -209,10 +247,14 @@ C doSaltClimRelax :: Set true if relaxation to salinity C climatology is required. C periodicExternalForcing :: Set true if forcing is time-dependant -C usingPCoords :: Set to indicate that we are working in pressure -C coords. (jmc: is it still used ?) -C usingZCoords :: Set to indicate that we are working in height -C coords. (jmc: is it still used ?) +C usingPCoords :: Set to indicate that we are working in a pressure +C type coordinate (p or p*). +C usingZCoords :: Set to indicate that we are working in a height +C type coordinate (z or z*) +C fluidIsAir :: Set to indicate that the fluid major constituent +C is air +C fluidIsWater :: Set to indicate that the fluid major constituent +C is water C useDynP_inEos_Zc :: use the dynamical pressure in EOS (with Z-coord.) C this requires specific code for restart & exchange C setCenterDr :: set cell Center depth and put Interface at the middle @@ -223,33 +265,56 @@ C slow (f77) or does not work (f90). When C useSingleCpuIO is set, mdsio_writefield.F C outputs from master mpi process only. -C allowFreezing :: Allows water to freeze and form ice +C allowFreezing :: Allows surface water to freeze and form ice +C useOldFreezing :: use the old version (before checkpoint52a_pre, 2003-11-12) C groundAtK1 :: put the surface(k=1) at the Lower Boundary (=ground) +C pickup_write_mdsio :: use mdsio to write pickups +C pickup_read_mdsio :: use mdsio to read pickups +C pickup_write_immed :: echo the pickup immediately (for conversion) +C timeave_mdsio :: use mdsio for timeave output +C snapshot_mdsio :: use mdsio for "snapshot" (dumpfreq/diagfreq) output +C monitor_stdio :: use stdio for monitor output +C calendarDumps :: When set, approximate months (30-31 days) and years (360-372 days) +C for parameters chkPtFreq, pChkPtFreq, taveFreq, SEAICE_taveFreq, +C KPP_taveFreq, and freq in pkg/diagnostics are converted to exact +C calendar months and years. Requires pkg/cal. COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, - & usingCurvilinearGrid, + & usingCurvilinearGrid, usingCylindricalGrid, & no_slip_sides,no_slip_bottom, & staggerTimeStep, & momViscosity, momAdvection, momForcing, useCoriolis, & momPressureForcing, vectorInvariantMomentum, - & tempDiffusion, tempAdvection, tempForcing, - & saltDiffusion, saltAdvection, saltForcing, + & tempAdvection, tempForcing, + & saltAdvection, saltForcing, & useRealFreshWaterFlux, & rigidLid, implicitFreeSurface, exactConserv, uniformLin_PhiSurf, - & momStepping, tempStepping, saltStepping, tr1Stepping, + & momStepping, tempStepping, saltStepping, & metricTerms, usingSphericalPolarMTerms, useNHMTerms, & useConstantF, useBetaPlaneF, useSphereF, - & useEnergyConservingCoriolis, useJamartWetPoints, + & useCDscheme, + & useEnergyConservingCoriolis, useJamartWetPoints, useJamartMomAdv, + & SadournyCoriolis, upwindVorticity, highOrderVorticity, + & useAbsVorticity, & implicitDiffusion, implicitViscosity, - & multiDimAdvection, forcing_In_AB, + & tempImplVertAdv, saltImplVertAdv, momImplVertAdv, + & multiDimAdvection, useMultiDimAdvec, forcing_In_AB, & doThetaClimRelax, doSaltClimRelax, doTr1ClimRelax, & periodicExternalForcing, + & fluidIsAir, fluidIsWater, & usingPCoords, usingZCoords, useDynP_inEos_Zc, setCenterDr, & nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO, - & allowFreezing, groundAtK1, - & usePickupBeforeC35, debugMode, - & readPickupWithTracer, writePickupWithTracer + & allowFreezing, useOldFreezing, groundAtK1, + & usePickupBeforeC35, usePickupBeforeC54, debugMode, + & readPickupWithTracer, writePickupWithTracer, + & pickup_read_mdsio, pickup_write_mdsio, pickup_write_immed, + & timeave_mdsio, snapshot_mdsio, monitor_stdio, + & outputTypesInclusive, + & inAdMode, inAdTrue, inAdFalse, inAdExact, + & calendarDumps + LOGICAL usingCartesianGrid LOGICAL usingSphericalPolarGrid + LOGICAL usingCylindricalGrid LOGICAL usingCurvilinearGrid LOGICAL usingSphericalPolarMTerms LOGICAL useNHMTerms @@ -262,10 +327,8 @@ LOGICAL momPressureForcing LOGICAL useCoriolis LOGICAL vectorInvariantMomentum - LOGICAL tempDiffusion LOGICAL tempAdvection LOGICAL tempForcing - LOGICAL saltDiffusion LOGICAL saltAdvection LOGICAL saltForcing LOGICAL useRealFreshWaterFlux @@ -276,21 +339,32 @@ LOGICAL momStepping LOGICAL tempStepping LOGICAL saltStepping - LOGICAL tr1Stepping LOGICAL metricTerms LOGICAL useConstantF LOGICAL useBetaPlaneF LOGICAL useSphereF + LOGICAL useCDscheme LOGICAL useEnergyConservingCoriolis LOGICAL useJamartWetPoints + LOGICAL useJamartMomAdv + LOGICAL SadournyCoriolis + LOGICAL upwindVorticity + LOGICAL highOrderVorticity + LOGICAL useAbsVorticity LOGICAL implicitDiffusion LOGICAL implicitViscosity + LOGICAL tempImplVertAdv + LOGICAL saltImplVertAdv + LOGICAL momImplVertAdv LOGICAL multiDimAdvection + LOGICAL useMultiDimAdvec LOGICAL forcing_In_AB LOGICAL doThetaClimRelax LOGICAL doSaltClimRelax LOGICAL doTr1ClimRelax LOGICAL periodicExternalForcing + LOGICAL fluidIsAir + LOGICAL fluidIsWater LOGICAL usingPCoords LOGICAL usingZCoords LOGICAL useDynP_inEos_Zc @@ -300,14 +374,22 @@ LOGICAL globalFiles LOGICAL useSingleCpuIO LOGICAL allowFreezing + LOGICAL useOldFreezing LOGICAL groundAtK1 LOGICAL usePickupBeforeC35 + LOGICAL usePickupBeforeC54 LOGICAL debugMode LOGICAL readPickupWithTracer LOGICAL writePickupWithTracer + LOGICAL pickup_read_mdsio, pickup_write_mdsio + LOGICAL pickup_write_immed + LOGICAL timeave_mdsio, snapshot_mdsio, monitor_stdio + LOGICAL outputTypesInclusive + LOGICAL inAdMode, inAdTrue, inAdFalse, inAdExact + LOGICAL calendarDumps C-- COMMON /PARM_R/ "Real" valued parameters used by the model. -C gg2dTargetResidual +C cg2dTargetResidual C :: Target residual for cg2d solver; no unit (RHS normalisation) C cg2dTargetResWunit C :: Target residual for cg2d solver; W unit (No RHS normalisation) @@ -327,8 +409,6 @@ C drop form 192 -> 134! Need to investigate this further! C For now I have introduced a parameter cg2dpcOffDFac which C defaults to 0.51 but can be set at runtime. -C delP :: Vertical grid spacing ( Pa ). -C delZ :: Vertical grid spacing ( m ). C delR :: Vertical grid spacing ( units of r ). C delRc :: Vertical grid spacing between cell centers (r unit). C delX :: Separation between cell faces (m) or (deg), depending @@ -339,6 +419,8 @@ C rhoNil :: Reference density for the linear equation of state C rhoConst :: Vertically constant reference density C rhoConstFresh :: Constant reference density for fresh water (rain) +C tRef :: reference vertical profile for potential temperature +C sRef :: reference vertical profile for salinity/specific humidity C startTime :: Start time for model ( s ) C phiMin :: Latitude of southern most cell face. C thetaMin :: Longitude of western most cell face (this @@ -350,36 +432,53 @@ C ( Southern edge f for beta plane ) C beta :: df/dy ( s^-1.m^-1 ) C omega :: Angular velocity ( rad/s ) +C rotationPeriod :: Rotation period (s) (= 2.pi/omega) C viscAh :: Eddy viscosity coeff. for mixing of C momentum laterally ( m^2/s ) -C viscAz :: Eddy viscosity coeff. for mixing of -C momentum vertically ( m^2/s ) -C viscAp :: Eddy viscosity coeff. for mixing of -C momentum vertically ( Pa^2/s ) +C viscAhW :: Eddy viscosity coeff. for mixing of vertical +C momentum laterally, no effect for hydrostatic +C model, defaults to viscAh if unset ( m^2/s ) C viscAr :: Eddy viscosity coeff. for mixing of C momentum vertically ( units of r^2/s ) C viscA4 :: Biharmonic viscosity coeff. for mixing of C momentum laterally ( m^4/s ) +C viscA4W :: Biharmonic viscosity coeff. for mixing of vertical +C momentum laterally, no effect for hydrostatic +C model, defaults to viscA4 if unset ( m^2/s ) +C viscAhD :: Eddy viscosity coeff. for mixing of momentum laterally +C (act on Divergence part) ( m^2/s ) +C viscAhZ :: Eddy viscosity coeff. for mixing of momentum laterally +C (act on Vorticity part) ( m^2/s ) +C viscA4D :: Biharmonic viscosity coeff. for mixing of momentum laterally +C (act on Divergence part) ( m^4/s ) +C viscA4Z :: Biharmonic viscosity coeff. for mixing of momentum laterally +C (act on Vorticity part) ( m^4/s ) +C viscC2leith :: Leith non-dimensional viscosity factor +C viscAhMax :: Maximum eddy viscosity coeff. for mixing of +C momentum laterally ( m^2/s ) +C viscA4Max :: Maximum biharmonic viscosity coeff. for mixing of +C momentum laterally ( m^4/s ) +C viscAhGrid:: non-dimensional grid-size dependent viscosity +C viscA4Grid:: non-dimensional grid-size dependent bi-harmonic viscosity +C viscA4GridMax:: maximum and minimum biharmonic viscosity coefficients ... +C viscA4GridMin:: in terms of non-dimensional grid-size dependent viscosity +C viscC4leith :: Leith non-dimensional viscosity factor C diffKhT :: Laplacian diffusion coeff. for mixing of C heat laterally ( m^2/s ) -C diffKzT :: Laplacian diffusion coeff. for mixing of -C heat vertically ( m^2/s ) -C diffKpT :: Laplacian diffusion coeff. for mixing of -C heat vertically ( Pa^2/s ) -C diffKrT :: Laplacian diffusion coeff. for mixing of -C heat vertically ( units of r^2/s ) +C diffKrNrT :: vertical profile of Laplacian diffusion coeff. +C for mixing of heat vertically ( units of r^2/s ) C diffK4T :: Biharmonic diffusion coeff. for mixing of C heat laterally ( m^4/s ) C diffKhS :: Laplacian diffusion coeff. for mixing of C salt laterally ( m^2/s ) -C diffKzS :: Laplacian diffusion coeff. for mixing of -C salt vertically ( m^2/s ) -C diffKpS :: Laplacian diffusion coeff. for mixing of -C salt vertically ( Pa^2/s ) -C diffKrS :: Laplacian diffusion coeff. for mixing of -C salt vertically ( units of r^2/s ) +C diffKrNrS :: vertical profile of Laplacian diffusion coeff. +C for mixing of salt vertically ( units of r^2/s ), C diffK4S :: Biharmonic diffusion coeff. for mixing of C salt laterally ( m^4/s ) +C diffKrBL79surf :: T/S surface diffusivity (m^2/s) Bryan and Lewis, 1979 +C diffKrBL79deep :: T/S deep diffusivity (m^2/s) Bryan and Lewis, 1979 +C diffKrBL79scl :: depth scale for arctan fn (m) Bryan and Lewis, 1979 +C diffKrBL79Ho :: depth offset for arctan fn (m) Bryan and Lewis, 1979 C deltaT :: Default timestep ( s ) C deltaTClock :: Timestep used as model "clock". This determines the C IO frequencies and is used in tagging output. It can @@ -388,7 +487,7 @@ C Frequency of checkpointing and dumping of the model state C are referenced to this clock. ( s ) C deltaTMom :: Timestep for momemtum equations ( s ) -C deltaTtracer :: Timestep for tracer equations ( s ) +C dTtracerLev :: Timestep for tracer equations ( s ), function of level k C deltaTfreesurf :: Timestep for free-surface equation ( s ) C freesurfFac :: Parameter to turn implicit free surface term on or off C freesurfac = 1. uses implicit free surface @@ -431,6 +530,8 @@ C lambdaThetaClimRelax :: Inverse time scale for relaxation ( 1/s ). C tauSaltClimRelax :: Relaxation to climatology time scale ( s ). C lambdaSaltClimRelax :: Inverse time scale for relaxation ( 1/s ). +C latBandClimRelax :: latitude band where Relaxation to Clim. is applied, +C i.e. where |yC| <= latBandClimRelax C externForcingPeriod :: Is the period of which forcing varies (eg. 1 month) C externForcingCycle :: Is the repeat time of the forcing (eg. 1 year) C (note: externForcingCycle must be an integer @@ -439,7 +540,6 @@ C (use model surface (local) value if set to -1) C temp_EvPrRn :: temperature of Rain & Evap. C salt_EvPrRn :: salinity of Rain & Evap. -C trac_EvPrRn :: tracer concentration in Rain & Evap. C (notes: a) tracer content of Rain/Evap only used if both C NonLin_FrSurf & useRealFreshWater are set. C b) use model surface (local) value if set to UNSET_RL) @@ -452,39 +552,43 @@ C --"-"-- Quadratic ( linear: 1/s, quadratic: 1/m ) COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit, & cg2dpcOffDFac, cg3dTargetResidual, - & delP, delZ, delR, delRc, delX, delY, - & deltaT, deltaTmom, deltaTtracer, deltaTfreesurf, deltaTClock, + & delR, delRc, delX, delY, + & deltaT, deltaTmom, dTtracerLev, deltaTfreesurf, deltaTClock, & abeps, startTime, & phiMin, thetaMin, rSphere, recip_RSphere, f0, beta, & fCori, fCoriG, fCoriCos, - & viscAh, viscAz, viscA4, viscAr, viscAstrain, viscAtension, - & diffKhT, diffKzT, diffK4T, diffKrT, - & diffKhS, diffKzS, diffK4S, diffKrS, + & viscAh, viscAhW, viscAhMax, viscAhGrid, viscC2leith, + & viscAhD, viscAhZ, viscA4D, viscA4Z, + & viscA4, viscA4W, + & viscA4Max, viscA4Grid, viscA4GridMax, viscA4GridMin, + & viscC4leith, viscAr, viscAstrain, viscAtension, + & diffKhT, diffK4T, diffKrNrT, + & diffKhS, diffK4S, diffKrNrS, + & diffKrBL79surf, diffKrBL79deep, diffKrBL79scl, diffKrBL79Ho, & delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow, & hFacMin, hFacMinDz, hFacInf, hFacSup, & gravity, recip_Gravity, gBaro, rhonil, recip_rhonil, & recip_rhoConst, rhoConst, & rhoConstFresh, convertEmP2rUnit, tRef, sRef, - & endTime, chkPtFreq, pchkPtFreq, dumpFreq, - & diagFreq, taveFreq, tave_lastIter, monitorFreq, + & endTime, chkPtFreq, pchkPtFreq, dumpFreq, adjDumpFreq, + & diagFreq, taveFreq, tave_lastIter, monitorFreq, adjMonitorFreq, & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom, - & cosPower, cAdjFreq, omega, + & cosPower, cAdjFreq, omega, rotationPeriod, & tauThetaClimRelax, lambdaThetaClimRelax, & tauSaltClimRelax, lambdaSaltClimRelax, - & tauTr1ClimRelax, lambdaTr1ClimRelax, + & tauTr1ClimRelax, lambdaTr1ClimRelax, latBandClimRelax, & externForcingCycle, externForcingPeriod, - & convertFW2Salt, temp_EvPrRn, salt_EvPrRn, trac_EvPrRn, - & viscAp, diffKpT, diffKpS, hFacMinDr, hFacMinDp, + & convertFW2Salt, temp_EvPrRn, salt_EvPrRn, + & hFacMinDr, hFacMinDp, & horiVertRatio, recip_horiVertRatio, & ivdc_kappa, Ro_SeaLevel, - & bottomDragLinear,bottomDragQuadratic + & bottomDragLinear,bottomDragQuadratic, + & tCylIn, tCylOut _RL cg2dTargetResidual _RL cg2dTargetResWunit _RL cg3dTargetResidual _RL cg2dpcOffDFac - _RL delZ(Nr) - _RL delP(Nr) _RL delR(Nr) _RL delRc(Nr+1) _RL delX(Nx) @@ -492,7 +596,7 @@ _RL deltaT _RL deltaTClock _RL deltaTmom - _RL deltaTtracer + _RL dTtracerLev(Nr) _RL deltaTfreesurf _RL abeps _RL phiMin @@ -511,22 +615,32 @@ _RL hFacSup _RL beta _RL viscAh + _RL viscAhW + _RL viscAhD + _RL viscAhZ + _RL viscAhMax + _RL viscAhGrid + _RL viscC2leith _RL viscAstrain _RL viscAtension - _RL viscAz - _RL viscAp _RL viscAr _RL viscA4 + _RL viscA4W + _RL viscA4D + _RL viscA4Z + _RL viscA4Max + _RL viscA4Grid, viscA4GridMax, viscA4GridMin + _RL viscC4leith _RL diffKhT - _RL diffKrT - _RL diffKzT - _RL diffKpT + _RL diffKrNrT(Nr) _RL diffK4T _RL diffKhS - _RL diffKrS - _RL diffKzS - _RL diffKpS + _RL diffKrNrS(Nr) _RL diffK4S + _RL diffKrBL79surf + _RL diffKrBL79deep + _RL diffKrBL79scl + _RL diffKrBL79Ho _RL delt _RL tauCD _RL rCD @@ -549,10 +663,12 @@ _RL chkPtFreq _RL pChkPtFreq _RL dumpFreq + _RL adjDumpFreq _RL diagFreq _RL taveFreq _RL tave_lastIter _RL monitorFreq + _RL adjMonitorFreq _RL afFacMom _RL vfFacMom _RL pfFacMom @@ -562,66 +678,87 @@ _RL cosPower _RL cAdjFreq _RL omega + _RL rotationPeriod _RL tauThetaClimRelax _RL lambdaThetaClimRelax _RL tauSaltClimRelax _RL lambdaSaltClimRelax _RL tauTr1ClimRelax _RL lambdaTr1ClimRelax + _RL latBandClimRelax _RL externForcingCycle _RL externForcingPeriod _RL convertFW2Salt _RL temp_EvPrRn _RL salt_EvPrRn - _RL trac_EvPrRn _RL horiVertRatio _RL recip_horiVertRatio _RL ivdc_kappa _RL Ro_SeaLevel _RL bottomDragLinear _RL bottomDragQuadratic + _RL tCylIn + _RL tCylOut - COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp, - & Lamba_theta +C-- COMMON /PARM_A/ Thermodynamics constants ? + COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp _RL HeatCapacity_Cp - _RL Lamba_theta _RL recip_Cp -C Atmospheric physical parameters (Ideal Gas EOS, ...) +C-- COMMON /PARM_ATM/ Atmospheric physical parameters (Ideal Gas EOS, ...) +C celsius2K :: convert centigrade (Celsius) degree to Kelvin C atm_Po :: standard reference pressure C atm_Cp :: specific heat (Cp) of the (dry) air at constant pressure C atm_Rd :: gas constant for dry air C atm_kappa :: kappa = R/Cp (R: constant of Ideal Gas EOS) +C atm_Rq :: water vapour specific volume anomaly relative to dry air +C (e.g. typical value = (29/18 -1) 10^-3 with q [g/kg]) C integr_GeoPot :: option to select the way we integrate the geopotential C (still a subject of discussions ...) C selectFindRoSurf :: select the way surf. ref. pressure (=Ro_surf) is C derived from the orography. Implemented: 0,1 (see INI_P_GROUND) - COMMON /PARM_ATM/ atm_Cp, atm_Rd, atm_kappa, atm_Po, - & integr_GeoPot, selectFindRoSurf - _RL atm_Po, atm_Cp, atm_Rd, atm_kappa + COMMON /PARM_ATM/ + & celsius2K, + & atm_Cp, atm_Rd, atm_kappa, atm_Rq, atm_Po, + & integr_GeoPot, selectFindRoSurf + _RL celsius2K + _RL atm_Po, atm_Cp, atm_Rd, atm_kappa, atm_Rq INTEGER integr_GeoPot, selectFindRoSurf C Logical flags for selecting packages + LOGICAL useOPPS + LOGICAL usePP81 + LOGICAL useMY82 + LOGICAL useGGL90 LOGICAL useKPP LOGICAL useGMRedi LOGICAL useOBCS LOGICAL useAIM + LOGICAL useLand LOGICAL useGrdchk LOGICAL useECCO LOGICAL useSHAP_FILT LOGICAL useZONAL_FILT LOGICAL useFLT LOGICAL usePTRACERS + LOGICAL useGCHEM LOGICAL useSBO LOGICAL useSEAICE -cswdblk -- add --- - LOGICAL useBulkforce - LOGICAL useThermSEAICE -cswdblk --- end add --- + LOGICAL useBulkForce + LOGICAL useThSIce + LOGICAL usefizhi + LOGICAL usegridalt + LOGICAL usediagnostics + LOGICAL useEBM + LOGICAL useMNC COMMON /PARM_PACKAGES/ - & useKPP, useGMRedi, useOBCS, useAIM, useECCO, + & useKPP, useGMRedi, useOBCS, useAIM, useLand, useECCO, & useSHAP_FILT, useZONAL_FILT, useGrdchk, useFLT, - & usePTRACERS, useSBO, useSEAICE, -cswdblk -- add --- - & useThermSEAICE, useBulkforce -cswdblk --- end add --- + & usePTRACERS, useGCHEM, + & useSBO, useSEAICE, useThSIce, useBulkForce, + & usefizhi, usegridalt, usediagnostics, useEBM, useMNC, + & usePP81, useMY82, useOPPS, useGGL90 + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: ***