--- MITgcm/model/inc/PARAMS.h 2004/09/07 21:32:09 1.123 +++ MITgcm/model/inc/PARAMS.h 2005/12/13 16:33:43 1.173 @@ -1,20 +1,17 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/PARAMS.h,v 1.123 2004/09/07 21:32:09 edhill Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/PARAMS.h,v 1.173 2005/12/13 16:33:43 jmc 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 @@ -52,6 +49,10 @@ C-- COMMON /PARM_C/ Character valued parameters used by the model. C checkPtSuff :: List of checkpoint file suffices +C delXFile :: File containing X-spacing grid definition (1.D array) +C delYFile :: File containing Y-spacing grid definition (1.D array) +C horizGridFile :: File containing horizontal-grid definition +C (only when using curvilinear_grid) C bathyFile :: File containing bathymetry. If not defined bathymetry C is taken from inline function. C topoFile :: File containing the topography of the surface (unit=m) @@ -71,22 +72,34 @@ 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, + & delXFile, delYFile, horizGridFile, & bathyFile, topoFile, & hydrogThetaFile, hydrogSaltFile, & zonalWindFile, meridWindFile, thetaClimFile, & saltClimFile, buoyancyRelation, - & EmPmRfile, surfQfile, surfQnetFile, surfQswFile, + & EmPmRfile, saltFluxFile, + & surfQfile, surfQnetFile, surfQswFile, + & lambdaThetaFile, lambdaSaltFile, & uVelInitFile, vVelInitFile, pSurfInitFile, & dQdTfile, ploadFile, + & eddyTauxFile, eddyTauyFile, & eosType, pickupSuff, - & mdsioLocalDir + & mdsioLocalDir, + & the_run_name CHARACTER*(5) checkPtSuff(maxNoChkptLev) + CHARACTER*(MAX_LEN_FNAM) delXFile + CHARACTER*(MAX_LEN_FNAM) delYFile + CHARACTER*(MAX_LEN_FNAM) horizGridFile CHARACTER*(MAX_LEN_FNAM) bathyFile, topoFile CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile CHARACTER*(MAX_LEN_FNAM) hydrogSaltFile @@ -98,13 +111,19 @@ 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) lambdaThetaFile + CHARACTER*(MAX_LEN_FNAM) lambdaSaltFile CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir + CHARACTER*(MAX_LEN_FNAM) the_run_name CHARACTER*(6) eosType CHARACTER*(10) pickupSuff @@ -132,11 +151,11 @@ 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 tempVertAdvScheme :: Temp. Vert. Advection scheme selector C saltAdvScheme :: Salt. Horiz.advection scheme selector C saltVertAdvScheme :: Salt. Vert. Advection scheme selector +C selectKEscheme :: Kinetic Energy scheme selector (Vector Inv.) C debugLevel :: debug level selector: higher -> more writing -C mon_iotype :: flag for monitor output (MNC vs. STDOUT) COMMON /PARM_I/ & cg2dMaxIters, @@ -150,9 +169,8 @@ & nonlinFreeSurf, select_rStar, & tempAdvScheme, tempVertAdvScheme, & saltAdvScheme, saltVertAdvScheme, - & tracerAdvScheme, - & debugLevel, - & mon_iotype + & selectKEscheme, + & debugLevel INTEGER cg2dMaxIters INTEGER cg2dChkResFreq INTEGER cg2dPreCondFreq @@ -170,9 +188,8 @@ INTEGER select_rStar INTEGER tempAdvScheme, tempVertAdvScheme INTEGER saltAdvScheme, saltVertAdvScheme - INTEGER tracerAdvScheme + INTEGER selectKEscheme INTEGER debugLevel - INTEGER mon_iotype C INTEGER debLevZero @@ -190,7 +207,6 @@ 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 C momViscosity :: Flag which turns momentum friction terms on and off. C momAdvection :: Flag which turns advection of momentum on and off. C momForcing :: Flag which turns external forcing of momentum on @@ -201,14 +217,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 @@ -216,15 +228,21 @@ C useRealFreshWaterFlux :: if True (=Natural BCS), treats P+R-E flux C as a real Fresh Water (=> changes the Sea Level) C if F, converts P+R-E to salt flux (no SL effect) +C useFullLeith :: Set to true to use full Leith viscosity(may be unstable +C on irregular grids) +C useAreaViscLength :: Set to true to use old scaling for viscous +C lengths, e.g., L2=Raz. May be preferable for cube sphere. +C useStrainTensionVisc:: Set to true to use Strain-Tension viscous terms C rigidLid :: Set to true to use rigid lid -C implicitFreeSurface :: Set to true to use implcit free surface +C implicitFreeSurface :: Set to true to use implicit free surface C exactConserv :: Set to true to conserve exactly the total Volume C uniformLin_PhiSurf :: Set to true to use a uniform Bo_surf in the C linear relation Phi_surf = Bo_surf*eta +C implicitIntGravWave :: treat Internal Gravity Wave implicitly +C staggerTimeStep :: enable a Stagger time stepping T,S Rho then U,V 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) @@ -233,7 +251,8 @@ 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 highOrderVorticity :: use 3rd/4th order interp. of vorticity (V.I., advection) +C upwindShear :: use 1rst order upwind interp. (V.I., vertical advection) C useAbsVorticity :: work with f+zeta in Coriolis terms C implicitDiffusion :: Turns implicit vertical diffusion on C implicitViscosity :: Turns implicit vertical viscosity on @@ -242,17 +261,24 @@ 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 forcing_In_AB :: if False, put forcing (Temp,Salt,Tracers) contribution +C out off Adams-Bashforth time stepping. +C doAB_onGtGs :: if the Adams-Bashforth time stepping is used, always +C apply AB on tracer tendencies (rather than on Tracer) +C startFromPickupAB2 :: with AB-3 code, start from an AB-2 pickup C doThetaClimRelax :: Set true if relaxation to temperature C climatology is required. 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 @@ -265,34 +291,54 @@ C outputs from master mpi process only. 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. +C dumpInitAndLast :: dumps model state to files at Initial (nIter0) +C & Last iteration, in addition multiple of dumpFreq iter. COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, & 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, + & useFullLeith, useStrainTensionVisc, + & useAreaViscLength, & rigidLid, implicitFreeSurface, exactConserv, uniformLin_PhiSurf, - & momStepping, tempStepping, saltStepping, tr1Stepping, + & implicitIntGravWave, staggerTimeStep, + & momStepping, tempStepping, saltStepping, & metricTerms, usingSphericalPolarMTerms, useNHMTerms, & useConstantF, useBetaPlaneF, useSphereF, & useCDscheme, & useEnergyConservingCoriolis, useJamartWetPoints, useJamartMomAdv, & SadournyCoriolis, upwindVorticity, highOrderVorticity, - & useAbsVorticity, + & useAbsVorticity, upwindShear, & implicitDiffusion, implicitViscosity, & tempImplVertAdv, saltImplVertAdv, momImplVertAdv, - & multiDimAdvection, useMultiDimAdvec, forcing_In_AB, + & multiDimAdvection, useMultiDimAdvec, + & forcing_In_AB, doAB_onGtGs, & doThetaClimRelax, doSaltClimRelax, doTr1ClimRelax, & periodicExternalForcing, + & fluidIsAir, fluidIsWater, & usingPCoords, usingZCoords, useDynP_inEos_Zc, setCenterDr, & nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO, - & allowFreezing, useOldFreezing, groundAtK1, - & usePickupBeforeC35, usePickupBeforeC54, debugMode, - & readPickupWithTracer, writePickupWithTracer + & allowFreezing, useOldFreezing, + & usePickupBeforeC35, usePickupBeforeC54, startFromPickupAB2, + & pickup_read_mdsio, pickup_write_mdsio, pickup_write_immed, + & timeave_mdsio, snapshot_mdsio, monitor_stdio, + & outputTypesInclusive, dumpInitAndLast, debugMode, + & inAdMode, inAdTrue, inAdFalse, inAdExact, + & calendarDumps + LOGICAL usingCartesianGrid LOGICAL usingSphericalPolarGrid LOGICAL usingCylindricalGrid @@ -301,28 +347,29 @@ LOGICAL useNHMTerms LOGICAL no_slip_sides LOGICAL no_slip_bottom - LOGICAL staggerTimeStep LOGICAL momViscosity LOGICAL momAdvection LOGICAL momForcing LOGICAL momPressureForcing LOGICAL useCoriolis LOGICAL vectorInvariantMomentum - LOGICAL tempDiffusion LOGICAL tempAdvection LOGICAL tempForcing - LOGICAL saltDiffusion LOGICAL saltAdvection LOGICAL saltForcing LOGICAL useRealFreshWaterFlux + LOGICAL useFullLeith + LOGICAL useStrainTensionVisc + LOGICAL useAreaViscLength LOGICAL rigidLid LOGICAL implicitFreeSurface LOGICAL exactConserv LOGICAL uniformLin_PhiSurf + LOGICAL implicitIntGravWave + LOGICAL staggerTimeStep LOGICAL momStepping LOGICAL tempStepping LOGICAL saltStepping - LOGICAL tr1Stepping LOGICAL metricTerms LOGICAL useConstantF LOGICAL useBetaPlaneF @@ -335,6 +382,7 @@ LOGICAL upwindVorticity LOGICAL highOrderVorticity LOGICAL useAbsVorticity + LOGICAL upwindShear LOGICAL implicitDiffusion LOGICAL implicitViscosity LOGICAL tempImplVertAdv @@ -343,10 +391,13 @@ LOGICAL multiDimAdvection LOGICAL useMultiDimAdvec LOGICAL forcing_In_AB + LOGICAL doAB_onGtGs LOGICAL doThetaClimRelax LOGICAL doSaltClimRelax LOGICAL doTr1ClimRelax LOGICAL periodicExternalForcing + LOGICAL fluidIsAir + LOGICAL fluidIsWater LOGICAL usingPCoords LOGICAL usingZCoords LOGICAL useDynP_inEos_Zc @@ -357,12 +408,17 @@ LOGICAL useSingleCpuIO LOGICAL allowFreezing LOGICAL useOldFreezing - LOGICAL groundAtK1 LOGICAL usePickupBeforeC35 LOGICAL usePickupBeforeC54 + LOGICAL startFromPickupAB2 + LOGICAL dumpInitAndLast 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 cg2dTargetResidual @@ -395,7 +451,12 @@ 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 startTime :: Start time for model ( s ) +C tRef :: reference vertical profile for potential temperature +C sRef :: reference vertical profile for salinity/specific humidity +C phiRef :: reference potential (pressure/rho, geopotential) profile +C dBdrRef :: vertical gradient of reference boyancy [(m/s/r)^2)]: +C :: z-coord: = N^2_ref = Brunt-Vaissala frequency [s^-2] +C :: p-coord: = -(d.alpha/dp)_ref [(m^2.s/kg)^2] C phiMin :: Latitude of southern most cell face. C thetaMin :: Longitude of western most cell face (this C is an "inert" parameter but it is included @@ -409,28 +470,54 @@ C rotationPeriod :: Rotation period (s) (= 2.pi/omega) C viscAh :: Eddy viscosity coeff. for mixing of C momentum laterally ( m^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 viscC2leith :: Leith non-dimensional viscosity factor +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 (grad(vort)) +C viscC2leithD :: Modified Leith non-dimensional visc. factor (grad(div)) +C viscC2smag :: Smagorinsky non-dimensional viscosity factor (harmonic) +C viscC4smag :: Smagorinsky non-dimensional viscosity factor (biharmonic) C viscAhMax :: Maximum eddy viscosity coeff. for mixing of -C momentum laterally ( m^2/s ) +C momentum laterally ( m^2/s ) +C viscAhReMax :: Maximum gridscale Reynolds number for eddy viscosity +C coeff. for mixing of momentum laterally (non-dim) +C viscAhGridMax:: maximum and minimum harmonic viscosity coefficients ... +C viscAhGridMin:: in terms of non-dimensional grid-size dependent visc. C viscA4Max :: Maximum biharmonic viscosity coeff. for mixing of C momentum laterally ( m^4/s ) +C viscA4ReMax :: Maximum Gridscale Reynolds number for +C biharmonic viscosity coeff. momentum laterally (non-dim) C viscAhGrid:: non-dimensional grid-size dependent viscosity C viscA4Grid:: non-dimensional grid-size dependent bi-harmonic viscosity -C viscC4leith :: Leith non-dimensional viscosity factor +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 (grad(vort)) +C viscC4leithD :: Modified Leith non-dimensional viscosity factor (grad(div)) C diffKhT :: Laplacian diffusion coeff. for mixing of C heat laterally ( m^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 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 @@ -445,11 +532,14 @@ 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 C freesurfac = 0. uses rigid lid +C abEps :: Adams-Bashforth-2 stabilizing weight +C alph_AB :: Adams-Bashforth-3 primary factor +C beta_AB :: Adams-Bashforth-3 secondary factor C implicSurfPress :: parameter of the Crank-Nickelson time stepping : C Implicit part of Surface Pressure Gradient ( 0-1 ) C implicDiv2Dflow :: parameter of the Crank-Nickelson time stepping : @@ -462,6 +552,7 @@ C hFacSup that control vanishing and creating levels C tauCD :: CD scheme coupling timescale ( 1/s ) C rCD :: CD scheme normalised coupling parameter ( 0-1 ) +C baseTime :: model base time (time origin) = time @ iteration zero C startTime :: Starting time for this integration ( s ). C endTime :: Ending time for this integration ( s ). C chkPtFreq :: Frequency of rolling check pointing ( s ). @@ -485,9 +576,7 @@ C step (of each taveFreq period) put in the time average. C (fraction for 1rst iter = 1 - tave_lastIter) C tauThetaClimRelax :: Relaxation to climatology time scale ( s ). -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) @@ -498,7 +587,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) @@ -507,40 +595,50 @@ C ( g*rho if horiz in m and vertical in Pa ). C Ro_SeaLevel :: standard position of Sea-Level in "R" coordinate, used as C starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel) +C sideDragFactor :: side-drag scaling factor (used only if no_slip_sides) +C (default=2: full drag ; =1: gives half-slip BC) C bottomDragLinear :: Drag coefficient built in to core dynamics -C --"-"-- Quadratic ( linear: 1/s, quadratic: 1/m ) +C bottomDragQuadratic ( linear: 1/s, quadratic: 1/m ) +C nh_Am2 :: scales the non-hydrostatic terms and changes internal scales +C (i.e. allows convection at different Rayleigh numbers) COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit, & cg2dpcOffDFac, cg3dTargetResidual, & delR, delRc, delX, delY, - & deltaT, deltaTmom, deltaTtracer, deltaTfreesurf, deltaTClock, - & abeps, startTime, + & deltaT, deltaTmom, dTtracerLev, deltaTfreesurf, deltaTClock, + & abEps, alph_AB, beta_AB, & phiMin, thetaMin, rSphere, recip_RSphere, f0, beta, - & fCori, fCoriG, fCoriCos, - & viscAh, viscAhMax, viscAhGrid, viscC2leith, - & viscA4, viscA4Max, viscA4Grid, viscC4leith, - & viscAr, viscAstrain, viscAtension, - & diffKhT, diffK4T, diffKrT, - & diffKhS, diffK4S, diffKrS, + & viscAh, viscAhW, viscAhMax, + & viscAhGrid, viscAhGridMax, viscAhGridMin, + & viscC2leith, viscC2leithD, + & viscC2smag, viscC4smag, + & viscAhD, viscAhZ, viscA4D, viscA4Z, + & viscA4, viscA4W, + & viscA4Max, viscA4Grid, viscA4GridMax, viscA4GridMin, + & viscAhRemax, viscA4Remax, + & viscC4leith, viscC4leithD, viscAr, + & 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, adjDumpFreq, - & diagFreq, taveFreq, tave_lastIter, monitorFreq, + & rhoConstFresh, convertEmP2rUnit, tRef, sRef, phiRef, dBdrRef, + & baseTime, startTime, endTime, + & chkPtFreq, pchkPtFreq, dumpFreq, adjDumpFreq, + & diagFreq, taveFreq, tave_lastIter, monitorFreq, adjMonitorFreq, & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom, & cosPower, cAdjFreq, omega, rotationPeriod, - & tauThetaClimRelax, lambdaThetaClimRelax, - & tauSaltClimRelax, lambdaSaltClimRelax, + & tauThetaClimRelax, + & tauSaltClimRelax, & tauTr1ClimRelax, lambdaTr1ClimRelax, latBandClimRelax, & externForcingCycle, externForcingPeriod, - & convertFW2Salt, temp_EvPrRn, salt_EvPrRn, trac_EvPrRn, + & convertFW2Salt, temp_EvPrRn, salt_EvPrRn, & hFacMinDr, hFacMinDp, & horiVertRatio, recip_horiVertRatio, & ivdc_kappa, Ro_SeaLevel, - & bottomDragLinear,bottomDragQuadratic, - & tCyl + & sideDragFactor, bottomDragLinear, bottomDragQuadratic, nh_Am2, + & tCylIn, tCylOut _RL cg2dTargetResidual _RL cg2dTargetResWunit @@ -553,9 +651,9 @@ _RL deltaT _RL deltaTClock _RL deltaTmom - _RL deltaTtracer + _RL dTtracerLev(Nr) _RL deltaTfreesurf - _RL abeps + _RL abEps, alph_AB, beta_AB _RL phiMin _RL thetaMin _RL rSphere @@ -572,21 +670,33 @@ _RL hFacSup _RL beta _RL viscAh + _RL viscAhW + _RL viscAhD + _RL viscAhZ _RL viscAhMax + _RL viscAhReMax _RL viscAhGrid + _RL viscAhGridMax + _RL viscAhGridMin _RL viscC2leith - _RL viscAstrain - _RL viscAtension + _RL viscC2leithD + _RL viscC2smag + _RL viscC4smag _RL viscAr _RL viscA4 + _RL viscA4W + _RL viscA4D + _RL viscA4Z _RL viscA4Max - _RL viscA4Grid + _RL viscA4ReMax + _RL viscA4Grid, viscA4GridMax, viscA4GridMin _RL viscC4leith + _RL viscC4leithD _RL diffKhT - _RL diffKrT + _RL diffKrNrT(Nr) _RL diffK4T _RL diffKhS - _RL diffKrS + _RL diffKrNrS(Nr) _RL diffK4S _RL diffKrBL79surf _RL diffKrBL79deep @@ -606,9 +716,9 @@ _RL convertEmP2rUnit _RL tRef(Nr) _RL sRef(Nr) - _RS fCori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) - _RS fCoriG(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) - _RS fCoriCos(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + _RL phiRef(2*Nr+1) + _RL dBdrRef(Nr) + _RL baseTime _RL startTime _RL endTime _RL chkPtFreq @@ -619,6 +729,7 @@ _RL taveFreq _RL tave_lastIter _RL monitorFreq + _RL adjMonitorFreq _RL afFacMom _RL vfFacMom _RL pfFacMom @@ -630,9 +741,7 @@ _RL omega _RL rotationPeriod _RL tauThetaClimRelax - _RL lambdaThetaClimRelax _RL tauSaltClimRelax - _RL lambdaSaltClimRelax _RL tauTr1ClimRelax _RL lambdaTr1ClimRelax _RL latBandClimRelax @@ -641,14 +750,16 @@ _RL convertFW2Salt _RL temp_EvPrRn _RL salt_EvPrRn - _RL trac_EvPrRn _RL horiVertRatio _RL recip_horiVertRatio _RL ivdc_kappa _RL Ro_SeaLevel + _RL sideDragFactor _RL bottomDragLinear _RL bottomDragQuadratic - _RL tCyl + _RL nh_Am2 + _RL tCylIn + _RL tCylOut C-- COMMON /PARM_A/ Thermodynamics constants ? COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp @@ -676,8 +787,10 @@ INTEGER integr_GeoPot, selectFindRoSurf C Logical flags for selecting packages + LOGICAL useOPPS LOGICAL usePP81 LOGICAL useMY82 + LOGICAL useGGL90 LOGICAL useKPP LOGICAL useGMRedi LOGICAL useOBCS @@ -689,6 +802,8 @@ LOGICAL useZONAL_FILT LOGICAL useFLT LOGICAL usePTRACERS + LOGICAL useGCHEM + LOGICAL useRBCS LOGICAL useSBO LOGICAL useSEAICE LOGICAL useBulkForce @@ -697,30 +812,17 @@ LOGICAL usegridalt LOGICAL usediagnostics LOGICAL useEBM + LOGICAL useMNC + LOGICAL useMATRIX + LOGICAL useRunClock COMMON /PARM_PACKAGES/ & useKPP, useGMRedi, useOBCS, useAIM, useLand, useECCO, & useSHAP_FILT, useZONAL_FILT, useGrdchk, useFLT, - & usePTRACERS, useSBO, useSEAICE, useThSIce, useBulkForce, - & usefizhi, usegridalt, usediagnostics, useEBM, - & usePP81, useMY82 - -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 - CHARACTER*(MAX_LEN_FNAM) the_run_name - COMMON /PARM_MNC/ - & useMNC, - & mnc_use_indir, mnc_use_outdir, mnc_outdir_date, - & mnc_echo_gvtypes, mnc_pickup_write, mnc_pickup_read, - & mnc_use_for_mon, - & mnc_outdir_str, mnc_indir_str, - & the_run_name - + & usePTRACERS, useGCHEM, useRBCS, + & useSBO, useSEAICE, useThSIce, useBulkForce, + & usefizhi, usegridalt, usediagnostics, useEBM, useMNC, + & usePP81, useMY82, useOPPS, useGGL90, useMATRIX, + & useRunClock CEH3 ;;; Local Variables: *** CEH3 ;;; mode:fortran ***