--- MITgcm/model/inc/PARAMS.h 2001/07/13 14:15:29 1.56 +++ MITgcm/model/inc/PARAMS.h 2002/07/31 16:38:30 1.73 @@ -1,14 +1,21 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/PARAMS.h,v 1.56 2001/07/13 14:15:29 heimbach Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/PARAMS.h,v 1.73 2002/07/31 16:38:30 mlosch Exp $ C $Name: $ C -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 \==========================================================/ +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 +CEOP C Macros for special grid options #include "PARAMS_MACROS.h" @@ -21,13 +28,13 @@ PARAMETER ( deg2rad = 2.D0*PI/360.D0 ) C Symbolic values -C precXXXX - Used to indicate what precision to use for +C precXXXX :: Used to indicate what precision to use for C dumping model state. INTEGER precFloat32 PARAMETER ( precFloat32 = 32 ) INTEGER precFloat64 PARAMETER ( precFloat64 = 64 ) -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 Real*8 UNSET_FLOAT8 PARAMETER ( UNSET_FLOAT8 = 1.234567D5 ) Real*4 UNSET_FLOAT4 @@ -44,25 +51,26 @@ PARAMETER ( maxNoChkptLev = 2 ) C-- COMMON /PARM_C/ Character valued parameters used by the model. -C checkPtSuff - List of checkpoint file suffices -C bathyFile - File containing bathymetry. If not defined bathymetry +C checkPtSuff :: List of checkpoint file suffices +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) +C topoFile :: File containing the topography of the surface (unit=m) C (mainly used for the atmosphere = ground height). -C hydrogThetaFile - File containing initial hydrographic data for potential +C hydrogThetaFile :: File containing initial hydrographic data for potential C temperature. -C hydrogSaltFile - File containing initial hydrographic data for salinity. -C zonalWindFile - File containing zonal wind data -C meridWindFile - File containing meridional wind data -C thetaClimFile - File containing theta climataology used +C hydrogSaltFile :: File containing initial hydrographic data for salinity. +C zonalWindFile :: File containing zonal wind data +C meridWindFile :: File containing meridional wind data +C thetaClimFile :: File containing theta climataology used C in relaxation term -lambda(theta-theta*) -C saltClimFile - File containing salt climataology used +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 dQdTfile - File containing thermal relaxation coefficient -C EmPmRfile - File containing surface fresh water flux -C buoyancyRelation - Flag used to indicate which relation to use to +C surfQfile :: File containing surface 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 pLoadFile :: File containing pressure loading +C buoyancyRelation :: Flag used to indicate which relation to use to C get buoyancy. COMMON /PARM_C/ checkPtSuff, & bathyFile, topoFile, @@ -71,7 +79,7 @@ & saltClimFile, buoyancyRelation, & EmPmRfile, surfQfile, surfQswfile, & uVelInitFile, vVelInitFile, pSurfInitFile, - & dQdTfile + & dQdTfile, ploadFile CHARACTER*(5) checkPtSuff(maxNoChkptLev) CHARACTER*(MAX_LEN_FNAM) bathyFile, topoFile CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile @@ -88,25 +96,26 @@ CHARACTER*(MAX_LEN_FNAM) vVelInitFile CHARACTER*(MAX_LEN_FNAM) pSurfInitFile CHARACTER*(MAX_LEN_FNAM) dQdTfile + CHARACTER*(MAX_LEN_FNAM) ploadFile C-- COMMON /PARM_I/ Integer valued parameters used by the model. -C cg2dMaxIters - Maximum number of iterations in the +C cg2dMaxIters :: Maximum number of iterations in the C two-dimensional con. grad solver. -C cg2dChkResFreq - Frequency with which to check residual +C cg2dChkResFreq :: Frequency with which to check residual C in con. grad solver. -C cg3dMaxIters - Maximum number of iterations in the +C cg3dMaxIters :: Maximum number of iterations in the C three-dimensional con. grad solver. -C cg3dChkResFreq - Frequency with which to check residual +C cg3dChkResFreq :: Frequency with which to check residual C in con. grad solver. -C nIter0 - Start time-step number of for this run -C nTimeSteps - Number of timesteps to execute -C numStepsPerPickup - For offline setup. Frequency of pickup +C nIter0 :: Start time-step number of for this run +C nTimeSteps :: Number of timesteps to execute +C numStepsPerPickup :: For offline setup. Frequency of pickup C of flow fields. -C writeStatePrec - Precision used for writing model state. -C writeBinaryPrec - Precision used for writing binary files -C readBinaryPrec - Precision used for reading binary files -C nCheckLev - Holds current checkpoint level -C nonlinFreeSurf - option related to non-linear free surface +C writeStatePrec :: Precision used for writing model state. +C writeBinaryPrec :: Precision used for writing binary files +C readBinaryPrec :: Precision used for reading binary files +C nCheckLev :: Holds current checkpoint level +C nonlinFreeSurf :: option related to non-linear free surface C =0 Linear free surface ; >0 Non-linear COMMON /PARM_I/ @@ -119,7 +128,7 @@ & writeStatePrec, nCheckLev, & writeBinaryPrec, readBinaryPrec, & nonlinFreeSurf, - & zonal_filt_sinpow, zonal_filt_cospow + & tempAdvScheme, saltAdvScheme, tracerAdvScheme INTEGER cg2dMaxIters INTEGER cg2dChkResFreq INTEGER cg3dMaxIters @@ -133,79 +142,93 @@ INTEGER readBinaryPrec INTEGER nCheckLev INTEGER nonlinFreeSurf - INTEGER zonal_filt_sinpow - INTEGER zonal_filt_cospow + INTEGER tempAdvScheme + INTEGER saltAdvScheme + INTEGER tracerAdvScheme C-- COMMON /PARM_L/ Logical valued parameters used by the model. -C usingCartesianGrid - If TRUE grid generation will be in a cartesian +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 usingSphericalPolarGrid :: If TRUE grid generation will be in a C spherical polar frame. -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 +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 C and off. -C momPressureForcing - Flag which turns pressure term in momentum equation +C momPressureForcing :: Flag which turns pressure term in momentum equation C on and off. -C metricTerms - Flag which turns metric terms on or off. -C usingSphericalPolarMTerms - If TRUE use spherical polar metric terms. -C useCoriolis - Flag which turns the coriolis terms on and off. -C tempDiffusion - Flag which turns diffusion of temperature on +C metricTerms :: Flag which turns metric terms on or off. +C usingSphericalPolarMTerms :: If TRUE use spherical polar 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 tempAdvection :: Flag which turns advection of temperature on C and off. -C tempForcing - Flag which turns external forcing of temperature on +C tempForcing :: Flag which turns external forcing of temperature on C and off. -C saltDiffusion - Flag which turns diffusion of salinit on +C saltDiffusion :: Flag which turns diffusion of salinity on C and off. -C saltAdvection - Flag which turns advection of salinit on +C saltAdvection :: Flag which turns advection of salinity on C and off. -C saltForcing - Flag which turns external forcing of salinit on +C saltForcing :: Flag which turns external forcing of salinity on C and off. -C rigidLid - Set to true to use rigid lid -C implicitFreeSurface - Set to true to use implcit 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 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 rigidLid :: Set to true to use rigid lid +C implicitFreeSurface :: Set to true to use implcit 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 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 implicitDiffusion - Turns implicit vertical diffusion on -C implicitViscosity - Turns implicit vertical viscosity on -C doThetaClimRelax - Set true if relaxation to temperature +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 useJamartWetPoints :: Use wet-point method for Coriolis (Jamart and Ozer, 1986) +C implicitDiffusion :: Turns implicit vertical diffusion on +C implicitViscosity :: Turns implicit vertical viscosity on +C multiDimAdvection :: Flag that enable multi-dimension advection +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 C climatology is required. -C doSaltClimRelax - Set true if relaxation to salinity +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 periodicExternalForcing :: Set true if forcing is time-dependant +C usingPCoords :: Set to indicate that we are working in pressure C coords. -C usingZCoords - Set to indicate that we are working in height +C usingZCoords :: Set to indicate that we are working in height C coords. -C nonHydrostatic - Using non-hydrostatic terms -C globalFiles - Selects between "global" and "tiled" files -C allowFreezing - Allows water to freeze and form ice -C groundAtK1 - put the surface(k=1) at the Lower Boundary (=ground) +C setCenterDr :: set cell Center depth and put Interface at the middle +C nonHydrostatic :: Using non-hydrostatic terms +C globalFiles :: Selects between "global" and "tiled" files +C allowFreezing :: Allows water to freeze and form ice +C groundAtK1 :: put the surface(k=1) at the Lower Boundary (=ground) COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, & usingCurvilinearGrid, & no_slip_sides,no_slip_bottom, & staggerTimeStep, & momViscosity, momAdvection, momForcing, useCoriolis, - & momPressureForcing,tempDiffusion, tempAdvection, tempForcing, + & momPressureForcing, vectorInvariantMomentum, + & tempDiffusion, tempAdvection, tempForcing, & saltDiffusion, saltAdvection, saltForcing, + & useRealFreshWaterFlux, & rigidLid, implicitFreeSurface, exactConserv, uniformLin_PhiSurf, & momStepping, tempStepping, saltStepping, tr1Stepping, & metricTerms, usingSphericalPolarMTerms, & useConstantF, useBetaPlaneF, useSphereF, + & useEnergyConservingCoriolis, useJamartWetPoints, & implicitDiffusion, implicitViscosity, + & multiDimAdvection, forcing_In_AB, & doThetaClimRelax, doSaltClimRelax, doTr1ClimRelax, - & periodicExternalForcing, usingPCoords, usingZCoords, + & periodicExternalForcing, + & usingPCoords, usingZCoords, setCenterDr, & nonHydrostatic, globalFiles, & allowFreezing, groundAtK1, & usePickupBeforeC35, debugMode, @@ -222,12 +245,14 @@ LOGICAL momForcing LOGICAL momPressureForcing LOGICAL useCoriolis + LOGICAL vectorInvariantMomentum LOGICAL tempDiffusion LOGICAL tempAdvection LOGICAL tempForcing LOGICAL saltDiffusion LOGICAL saltAdvection LOGICAL saltForcing + LOGICAL useRealFreshWaterFlux LOGICAL rigidLid LOGICAL implicitFreeSurface LOGICAL exactConserv @@ -240,14 +265,19 @@ LOGICAL useConstantF LOGICAL useBetaPlaneF LOGICAL useSphereF + LOGICAL useEnergyConservingCoriolis + LOGICAL useJamartWetPoints LOGICAL implicitDiffusion LOGICAL implicitViscosity + LOGICAL multiDimAdvection + LOGICAL forcing_In_AB LOGICAL doThetaClimRelax LOGICAL doSaltClimRelax LOGICAL doTr1ClimRelax LOGICAL periodicExternalForcing LOGICAL usingPCoords LOGICAL usingZCoords + LOGICAL setCenterDr LOGICAL nonHydrostatic LOGICAL globalFiles LOGICAL allowFreezing @@ -259,12 +289,12 @@ C-- COMMON /PARM_R/ "Real" valued parameters used by the model. C gg2dTargetResidual -C - Target residual for cg2d solver; no unit (RHS normalisation) +C :: Target residual for cg2d solver; no unit (RHS normalisation) C cg2dTargetResWunit -C - Target residual for cg2d solver; W unit (No RHS normalisation) +C :: Target residual for cg2d solver; W unit (No RHS normalisation) C cg3dTargetResidual -C - Target residual for cg3d solver. -C cg2dpcOffDFac - Averaging weight for preconditioner off-diagonal. +C :: Target residual for cg3d solver. +C cg2dpcOffDFac :: Averaging weight for preconditioner off-diagonal. C Note. 20th May 1998 C I made a weird discovery! In the model paper we argue C for the form of the preconditioner used here ( see @@ -278,138 +308,151 @@ 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 delX - Separation between cell faces (m) or (deg), depending +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 C delY on input flags. -C gravity - Accel. due to gravity ( m/s^2 ) +C gravity :: Accel. due to gravity ( m/s^2 ) C recip_gravity and its inverse -C gBaro - Accel. due to gravity used in barotropic equation ( m/s^2 ) -C ronil - Reference density -C rhoConst - Vertically constant reference density -C startTime - Start time for model ( s ) -C phiMin - Latitude of southern most cell face. -C thetaMin - Longitude of western most cell face (this +C gBaro :: Accel. due to gravity used in barotropic equation ( m/s^2 ) +C ronil :: Reference density +C rhoConst :: Vertically constant reference density +C startTime :: Start time for model ( s ) +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 C to make geographical references simple.) -C rSphere - Radius of sphere for a spherical polar grid ( m ). -C recip_RSphere - Reciprocal radius of sphere ( m ). -C f0 - Reference coriolis parameter ( 1/s ) +C rSphere :: Radius of sphere for a spherical polar grid ( m ). +C recip_RSphere :: Reciprocal radius of sphere ( m ). +C f0 :: Reference coriolis parameter ( 1/s ) C ( Southern edge f for beta plane ) -C beta - df/dy ( s^-1.m^-1 ) -C omega - Angular velocity ( rad/s ) -C viscAh - Eddy viscosity coeff. for mixing of +C beta :: df/dy ( s^-1.m^-1 ) +C omega :: Angular velocity ( rad/s ) +C viscAh :: Eddy viscosity coeff. for mixing of C momentum laterally ( m^2/s ) -C viscAz - Eddy viscosity coeff. for mixing of +C viscAz :: Eddy viscosity coeff. for mixing of C momentum vertically ( m^2/s ) -C viscAp - Eddy viscosity coeff. for mixing of +C viscAp :: Eddy viscosity coeff. for mixing of C momentum vertically ( Pa^2/s ) -C viscAr - Eddy viscosity coeff. for mixing of +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 viscA4 :: Biharmonic viscosity coeff. for mixing of C momentum laterally ( m^4/s ) -C diffKhT - Laplacian diffusion coeff. for mixing of +C diffKhT :: Laplacian diffusion coeff. for mixing of C heat laterally ( m^2/s ) -C diffKzT - Laplacian diffusion coeff. for mixing of +C diffKzT :: Laplacian diffusion coeff. for mixing of C heat vertically ( m^2/s ) -C diffKpT - Laplacian diffusion coeff. for mixing of +C diffKpT :: Laplacian diffusion coeff. for mixing of C heat vertically ( Pa^2/s ) -C diffKrT - Laplacian diffusion coeff. for mixing of +C diffKrT :: Laplacian diffusion coeff. for mixing of C heat vertically ( units of r^2/s ) -C diffK4T - Biharmonic diffusion coeff. for mixing of +C diffK4T :: Biharmonic diffusion coeff. for mixing of C heat laterally ( m^4/s ) -C diffKhS - Laplacian diffusion coeff. for mixing of +C diffKhS :: Laplacian diffusion coeff. for mixing of C salt laterally ( m^2/s ) -C diffKzS - Laplacian diffusion coeff. for mixing of +C diffKzS :: Laplacian diffusion coeff. for mixing of C salt vertically ( m^2/s ) -C diffKpS - Laplacian diffusion coeff. for mixing of +C diffKpS :: Laplacian diffusion coeff. for mixing of C salt vertically ( Pa^2/s ) -C diffKrS - Laplacian diffusion coeff. for mixing of +C diffKrS :: Laplacian diffusion coeff. for mixing of C salt vertically ( units of r^2/s ) -C diffK4S - Biharmonic diffusion coeff. for mixing of +C diffK4S :: Biharmonic diffusion coeff. for mixing of C salt laterally ( m^4/s ) -C deltaT - Default timestep ( s ) -C deltaTClock - Timestep used as model "clock". This determines the +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 C be totally different to the dynamical time. Typically C it will be the deep-water timestep for accelerated runs. 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 freesurfFac - Parameter to turn implicit free surface term on or off +C deltaTMom :: Timestep for momemtum equations ( s ) +C deltaTtracer :: Timestep for tracer equations ( s ) +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 implicSurfPress - parameter of the Crank-Nickelson time stepping : +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 : +C implicDiv2Dflow :: parameter of the Crank-Nickelson time stepping : C Implicit part of barotropic flow Divergence ( 0-1 ) -C hFacMin - Minimum fraction size of a cell (affects hFacC etc...) -C hFacMinDz - Minimum dimesional size of a cell (affects hFacC etc..., m) -C hFacMinDp - Minimum dimesional size of a cell (affects hFacC etc..., Pa) -C hFacMinDr - Minimum dimesional size of a cell (affects hFacC etc..., units of r) -C hFacInf - Threshold (inf and sup) for fraction size of surface cell +C hFacMin :: Minimum fraction size of a cell (affects hFacC etc...) +C hFacMinDz :: Minimum dimesional size of a cell (affects hFacC etc..., m) +C hFacMinDp :: Minimum dimesional size of a cell (affects hFacC etc..., Pa) +C hFacMinDr :: Minimum dimesional size of a cell (affects hFacC etc..., units of r) +C hFacInf :: Threshold (inf and sup) for fraction size of surface cell 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 startTime - Starting time for this integration ( s ). -C endTime - Ending time for this integration ( s ). -C chkPtFreq - Frequency of rolling check pointing ( s ). -C pChkPtFreq - Frequency of permanent check pointing ( s ). -C dumpFreq - Frequency with which model state is written to +C tauCD :: CD scheme coupling timescale ( 1/s ) +C rCD :: CD scheme normalised coupling parameter ( 0-1 ) +C startTime :: Starting time for this integration ( s ). +C endTime :: Ending time for this integration ( s ). +C chkPtFreq :: Frequency of rolling check pointing ( s ). +C pChkPtFreq :: Frequency of permanent check pointing ( s ). +C dumpFreq :: Frequency with which model state is written to C post-processing files ( s ). -C afFacMom - Advection of momentum term tracer parameter -C vfFacMom - Momentum viscosity tracer parameter -C pfFacMom - Momentum pressure forcing tracer parameter -C cfFacMom - Coriolis term tracer parameter -C foFacMom - Momentum forcing tracer parameter -C mtFacMom - Metric terms tracer parameter -C cosPower - Power of cosine of latitude to multiply viscosity -C cAdjFreq - Frequency of convective adjustment +C diagFreq :: Frequency with which model writes diagnostic output +C of intermediate quantities. +C afFacMom :: Advection of momentum term tracer parameter +C vfFacMom :: Momentum viscosity tracer parameter +C pfFacMom :: Momentum pressure forcing tracer parameter +C cfFacMom :: Coriolis term tracer parameter +C foFacMom :: Momentum forcing tracer parameter +C mtFacMom :: Metric terms tracer parameter +C cosPower :: Power of cosine of latitude to multiply viscosity +C cAdjFreq :: Frequency of convective adjustment C -C taveFreq - Frequency with which time-averaged model state is written to +C taveFreq :: Frequency with which time-averaged model state is written to C post-processing files ( s ). -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 externForcingPeriod - Is the period of which forcing varies (eg. 1 month) -C externForcingCycle - Is the repeat time of the forcing (eg. 1 year) +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 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 C number times externForcingPeriod) -C horiVertRatio - Ratio on units in vertical to units in horizontal. +C convertFW2Salt :: salinity, used to convert Fresh-Water Flux to Salt Flux +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) +C horiVertRatio :: Ratio on units in vertical to units in horizontal. C recip_horiVertRatio ( 1 if horiz in m and vertical in m ). C ( g*rho if horiz in m and vertical in Pa ). -C latFFTFiltLo - Low latitude for FFT filtering of latitude -C circles ( see filter*.F ) -C Ro_SeaLevel - standard position of Sea-Level in "R" coordinate, used as +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 bottomDragLinear - Drag coefficient built in to core dynamics -C " Quadratic ( linear: 1/s, quadratic: 1/m ) +C bottomDragLinear :: Drag coefficient built in to core dynamics +C --"-"-- Quadratic ( linear: 1/s, quadratic: 1/m ) COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit, & cg2dpcOffDFac, cg3dTargetResidual, - & delP, delZ, delR, delX, delY, - & deltaT,deltaTmom, deltaTtracer, deltaTClock,abeps, startTime, + & delP, delZ, delR, delRc, delX, delY, + & deltaT, deltaTmom, deltaTtracer, deltaTfreesurf, deltaTClock, + & abeps, startTime, & phiMin, thetaMin, rSphere, recip_RSphere, f0, beta, & fCori, fCoriG, - & viscAh, viscAz, viscA4, viscAr, + & viscAh, viscAz, viscA4, viscAr, viscAstrain, viscAtension, & diffKhT, diffKzT, diffK4T, diffKrT, & diffKhS, diffKzS, diffK4S, diffKrS, & delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow, & hFacMin, hFacMinDz, hFacInf, hFacSup, & gravity, recip_Gravity, gBaro, rhonil, recip_rhonil, & recip_rhoConst, rhoConst, tRef, sRef, - & endTime, chkPtFreq, pchkPtFreq, dumpFreq, taveFreq, monitorFreq, + & endTime, chkPtFreq, pchkPtFreq, dumpFreq, + & diagFreq, taveFreq, monitorFreq, & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom, & cosPower, cAdjFreq, omega, & tauThetaClimRelax, lambdaThetaClimRelax, & tauSaltClimRelax, lambdaSaltClimRelax, & tauTr1ClimRelax, lambdaTr1ClimRelax, & externForcingCycle, externForcingPeriod, + & convertFW2Salt, temp_EvPrRn, salt_EvPrRn, trac_EvPrRn, & viscAp, diffKpT, diffKpS, hFacMinDr, hFacMinDp, - & theta_S, specVol_S, horiVertRatio, recip_horiVertRatio, - & latFFTFiltLo, ivdc_kappa, Ro_SeaLevel, zonal_filt_lat, + & horiVertRatio, recip_horiVertRatio, + & ivdc_kappa, Ro_SeaLevel, & bottomDragLinear,bottomDragQuadratic _RL cg2dTargetResidual @@ -419,12 +462,14 @@ _RL delZ(Nr) _RL delP(Nr) _RL delR(Nr) + _RL delRc(Nr+1) _RL delX(Nx) _RL delY(Ny) _RL deltaT _RL deltaTClock _RL deltaTmom _RL deltaTtracer + _RL deltaTfreesurf _RL abeps _RL phiMin _RL thetaMin @@ -442,6 +487,8 @@ _RL hFacSup _RL beta _RL viscAh + _RL viscAstrain + _RL viscAtension _RL viscAz _RL viscAp _RL viscAr @@ -466,9 +513,7 @@ _RL recip_rhonil _RL rhoConst _RL recip_rhoConst - _RL specVol_S(Nr) _RL tRef(Nr) - _RL theta_S(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) @@ -477,6 +522,7 @@ _RL chkPtFreq _RL pChkPtFreq _RL dumpFreq + _RL diagFreq _RL taveFreq _RL monitorFreq _RL afFacMom @@ -496,12 +542,14 @@ _RL lambdaTr1ClimRelax _RL externForcingCycle _RL externForcingPeriod + _RL convertFW2Salt + _RL temp_EvPrRn + _RL salt_EvPrRn + _RL trac_EvPrRn _RL horiVertRatio _RL recip_horiVertRatio - _RL latFFTFiltLo _RL ivdc_kappa _RL Ro_SeaLevel - _RL zonal_filt_lat _RL bottomDragLinear _RL bottomDragQuadratic @@ -515,18 +563,18 @@ COMMON /PARM_EOS_NL/ eosC,eosSig0,eosRefT,eosRefS _RL eosC(9,Nr+1),eosSig0(Nr+1),eosRefT(Nr+1),eosRefS(Nr+1) C Linear equation of state -C tAlpha - Linear EOS thermal expansion coefficient ( 1/degree ). -C sBeta - Linear EOS haline contraction coefficient. +C tAlpha :: Linear EOS thermal expansion coefficient ( 1/degree ). +C sBeta :: Linear EOS haline contraction coefficient. COMMON /PARM_EOS_LIN/ tAlpha,sBeta,eosType _RL tAlpha _RL sBeta character*(6) eosType C Atmospheric physical parameters (Ideal Gas EOS, ...) -C atm_po - standard reference pressure -C atm_cp - specific heat (Cp) of the (dry) air at constant pressure -C atm_kappa - kappa = R/Cp (R: constant of Ideal Gas EOS) -C Integr_GeoPot - option to select the way we integrate the geopotential +C atm_po :: standard reference pressure +C atm_cp :: specific heat (Cp) of the (dry) air at constant pressure +C atm_kappa :: kappa = R/Cp (R: constant of Ideal Gas EOS) +C Integr_GeoPot :: option to select the way we integrate the geopotential C (still a subject of discussions ...) COMMON /PARM_ATM/ atm_cp, atm_kappa, atm_po, & Integr_GeoPot @@ -541,7 +589,11 @@ LOGICAL useGrdchk LOGICAL useECCO LOGICAL useSHAP_FILT + LOGICAL useZONAL_FILT + LOGICAL useFLT + LOGICAL usePTRACERS COMMON /PARM_PACKAGES/ & useKPP, useGMRedi, useOBCS, useAIM, useECCO, - & useSHAP_FILT, useGrdchk + & useSHAP_FILT, useZONAL_FILT, useGrdchk, useFLT, + & usePTRACERS