cppdefs.h
Internal header file containing all the C-preprocessing options that defines a particular application. It is included at the top of every ROMS source file.
Options associated with momentum equations
- The default horizontal and vertical advection is 4th-order centered. Use the splines vertical advection option is shallow, high vertical resolution applications.
|
UV_ADV
|
use to activate advection terms
|
UV_COR
|
use to activate Coriolis term
|
UV_C2ADVECTION
|
use to activate 2nd-order centered advection
|
UV_C4ADVECTION
|
use to activate 4th-order centered advection
|
UV_SADVECTION
|
use to activate splines vertical advection
|
UV_VIS2
|
use to activate harmonic horizontal mixing
|
UV_VIS4
|
use to activate biharmonic horizontal mixing
|
UV_LOGDRAG
|
use to activate logarithmic bottom friction
|
UV_LDRAG
|
use to activate linear bottom friction
|
UV_QDRAG
|
use to activate quadratic bottom friction
|
UV_PSOURCE
|
use to activate point Sources/Sinks
|
Options associated with tracers equations
- The default horizontal and vertical advection is 4th-order centered. Use the splines vertical advection option is shallow, high vertical resolution applications.
Options for pressure gradient algorithm
- If no option is selected, the pressure gradient term is computed using standard density Jacobian algorithm. Notice that there are two quartic pressure Jacobian options. They differ on how the WENO reconciliation step is done and in the monotonicity constraining algorithms.
|
DJ_GRADPS
|
use if splines density Jacobian (Shchepetkin, 2000)
|
PJ_GRADP
|
use if finite volume Pressure Jacobian (Lin,1997)
|
PJ_GRADPQ2
|
use if quartic 2 Pressure Jacobian (Shchepetkin,2000)
|
PJ_GRADPQ4
|
use if quartic 4 Pressure Jacobian (Shchepetkin,2000)
|
WJ_GRADP
|
use if weighted density Jacobian (Song,1998)
|
ATM_PRESS
|
use to impose atmospheric pressure onto sea surface
|
Options for model coupling
Options for atmospheric boundary layer
- It is possible to compute surface wind stress and surface net heat and freshwater fluxes form atmospheric fields using the bulk flux parameterization of Fairall et al. (1996). There are three ways to provide longwave radiation in the atmospheric boundary layer: (i) compute the net longwave radiation internally using the Berliand (1952) equation (LONGWAVE) as function of air temperature, sea surface temperature, relative humidity, and cloud fraction; (ii) provide (read) longwave downwelling radiation only and then add outgoing longwave radiation (LONGWAVE_OUT) as a function of the model sea surface temperature; and (iii) provide net longwave radiation (default).
Options for wave roughness formulation in bulk fluxes
Options for shortwave radiation
- The shortwave radiation can be computed using the global albedo equation with a cloud correction. Alternatively, input shortwave radiation data computed from averaged data (with snapshots greater or equal than 24 hours) can be modulated by the local diurnal cycle which is a function longitude, latitude and year day.
|
ALBEDO
|
use if albedo equation for shortwave radiation
|
DIURNAL_SRFLUX
|
use to impose shortwave radiation local diurnal cycle
|
Options for model configuration
Options for Lagrangian drifters
|
FLOATS
|
use to activate simulated Lagrangian drifters
|
FLOAT_VWALK
|
use if vertical random walk
|
Options for analytical fields configuration
- The model may be configured, initialized, and forced with analytical expressions. These analytical expressions are coded in several header files which are included in analytical.F. The analytical header files in the ROMS/Functionals sub-directory correspond to all the distributed idealized test cases. Another set of analytical header files templates are provided in the User/Functionals sub-directory.
|
ANA_BIOLOGY
|
use if analytical biology initial conditions
|
ANA_BPFLUX
|
use if analytical bottom passive tracers fluxes
|
ANA_BSFLUX
|
use if analytical bottom salinity flux
|
ANA_BTFLUX
|
use if analytical bottom temperature flux
|
ANA_CLOUD
|
use if analytical cloud fraction
|
ANA_DIAG
|
use if customized diagnostics
|
ANA_FSOBC
|
use if analytical free-surface boundary conditions
|
ANA_GRID
|
use if analytical model grid set-up
|
ANA_HUMIDITY
|
use if analytical surface air humidity
|
ANA_INITIAL
|
use if analytical initial conditions
|
ANA_M2CLIMA
|
use if analytical 2D momentum climatology
|
ANA_M2OBC
|
use if analytical 2D momentum boundary conditions
|
ANA_M3CLIMA
|
use if analytical 3D momentum climatology
|
ANA_M3OBC
|
use if analytical 3D momentum boundary conditions
|
ANA_MASK
|
use if analytical Land/Sea masking
|
ANA_PAIR
|
use if analytical surface air pressure
|
ANA_PASSIVE
|
use if analytical initial conditions for inert tracers
|
ANA_PERTURB
|
use if analytical perturbation of initial conditions
|
ANA_PSOURCE
|
use if analytical point Sources/Sinks
|
ANA_RAIN
|
use if analytical rain fall rate
|
ANA_SEDIMENT
|
use if analytical sediment initial fields
|
ANA_SMFLUX
|
use if analytical surface momentum stress
|
ANA_SPFLUX
|
use if analytical surface passive tracers fluxes
|
ANA_SPINNING
|
use if analytical time-varying rotation force
|
ANA_SRFLUX
|
use if analytical surface shortwave radiation flux
|
ANA_SSFLUX
|
use if analytical surface salinity flux
|
ANA_SSH
|
use if analytical sea surface height
|
ANA_SSS
|
use if analytical sea surface salinity
|
ANA_SST
|
use if analytical SST and dQdSST
|
ANA_STFLUX
|
use if analytical surface temperature flux
|
ANA_TAIR
|
use if analytical surface air temperature
|
ANA_TCLIMA
|
use if analytical tracers climatology
|
ANA_TOBC
|
use if analytical tracers boundary conditions
|
ANA_VMIX
|
use if analytical vertical mixing coefficients
|
ANA_WINDS
|
use if analytical surface winds
|
ANA_WWAVE
|
use if analytical wind induced waves
|
Options for horizontal mixing of momentum
|
VISC_GRID
|
use to scale viscosity coefficient by grid size
|
MIX_S_UV
|
use if mixing along constant S-surfaces
|
MIX_GEO_UV
|
use if mixing along geopotential (constant Z) surfaces
|
Options for horizontal mixing of tracers
|
DIFF_GRID
|
use to scale diffusion coefficients by grid size
|
MIX_S_TS
|
use if mixing along constant S-surfaces
|
MIX_GEO_TS
|
use if mixing along geopotential (constant depth) surfaces
|
MIX_ISO_TS
|
use if mixing along epineutral (constant density) surfaces
|
Options for vertical mixing of momentum and tracers
- There are several vertical mixing parameterizations in ROMS. Activate only one closure.
Options for the Generic Length-Scale closure
- The Generic Length Scale (GLS) uses two prognostic equations for turbulent kinetic energy (TKE) and length scale (ψ) variables. The GLS may be configured as k-kl, k-ε k-ω by tuning several parameters in ocean.in, see Warner et al., 2005 for more details. The default horizontal advection is third-order upstream bias. The default vertical advection is 4th-order centered advection.
|
CANUTO_A
|
use if Canuto A-stability function formulation
|
CANUTO_B
|
use if Canuto B-stability function formulation
|
CHARNOK
|
use if Charnok surface roughness from wind stress
|
CRAIG_BANNER
|
use if Craig and Banner wave breaking surface flux
|
KANTHA_CLAYSON
|
use if Kantha and Clayson stability function
|
K_C2ADVECTION
|
use if 2nd-order centered advection
|
K_C4ADVECTION
|
use if 4th-order centered advection
|
N2S2_HORAVG
|
use if horizontal smoothing of buoyancy/shear
|
ZOS_HSIG
|
use if surface roughness from wave amplitude
|
TKE_WAVEDISS
|
use if wave breaking surface flux from wave amplitude
|
Options for the Mellor/Yamada level 2.5 closure
- This is the original closure proposed by Mellor and Yamda (1982) and latter modified by Galperin et al. (1994). The default horizontal advection is third-order upstream bias. The default vertical advection is 4th-order centered advection.
Options for K-profile vertical mixing parameterization
|
LMD_BKPP
|
use if bottom boundary layer KPP mixing
|
LMD_CONVEC
|
use to add convective mixing due to shear instability
|
LMD_DDMIX
|
use to add double-diffusive mixing
|
LMD_NONLOCAL
|
use if nonlocal transport
|
LMD_RIMIX
|
use to add diffusivity due to shear instability
|
LMD_SHAPIRO
|
use if Shapiro filtering boundary layer depth
|
LMD_SKPP
|
use if surface boundary layer KPP mixing
|
Options for Richardson number smoothing
- Mostly all vertical mixing parameterization are based on the Richardson Number (buoyancy/shear ratio). This computation is usually noisy and requires some smoothing. Use the options below if SPLINES is not activated.
|
RI_HORAVG
|
use if horizontal Richardson number smoothing
|
RI_VERAVG
|
use if vertical Richardson number smoothing
|
Options for Meinte Blass bottom boundary layer closure
- The Options MB_Z0BL and MB_Z0RIP should be activated concurrently.
|
MB_BBL
|
use if Meinte Blaas BBL closure
|
MB_CALC_ZNOT
|
use if computing bottom roughness internally
|
MB_CALC_UB
|
use if computing bottom orbital velocity internally
|
MB_Z0BIO
|
use if biogenic bedform roughness for ripples
|
MB_Z0BL
|
use if bedload roughness for ripples
|
MB_Z0RIP
|
use if bedform roughness for ripples
|
Options for Styles and Glenn (2000) bottom boundary layer closure
|
SG_BBL
|
use if Styles and Glenn (2000) BBL closure
|
SG_CALC_ZNOT
|
use if computing bottom roughness internally
|
SG_CALC_UB
|
use if computing bottom orbital velocity internally
|
SG_LOGINT
|
use if logarithmic interpolation of (Ur,Vr)
|
Options for the Sherwood/Signell/Warner bottom boundary layer closure
|
SSW_BBL
|
use if Sherwood et al. BBL closure
|
SSW_CALC_ZNOT
|
use if computing bottom roughness internally
|
SSW_LOGINT
|
use if logarithmic interpolation of (Ur,Vr)
|
SSW_CALC_UB
|
use if computing bottom orbital velocity internally
|
SSW_FORM_DRAG_COR
|
use to activate form drag coefficient
|
SSW_Z0BIO
|
use if biogenic bedform roughness from ripples
|
SSW_Z0BL
|
use if bedload roughness for ripples
|
SSW_Z0RIP
|
use if bedform roughness from ripples
|
Options to impose mass conservation at the open boundary
|
EAST_VOLCONS
|
use if Eastern edge mass conservation enforcement
|
WEST_VOLCONS
|
use if Western edge mass conservation enforcement
|
NORTH_VOLCONS
|
use if Northern edge mass conservation enforcement
|
SOUTH_VOLCONS
|
use if Southern edge mass conservation enforcement
|
Options for periodic boundary conditions
Options for closed boundary conditions
Options for open boundary conditions
|
RADIATION_2D
|
use if tangential phase speed in radiation conditions
|
SPONGE
|
use if enhanced viscosity/diffusion areas
|
Options for eastern edge open boundary conditions
- Select only one option for free-surface, 2D momentum, 3D momentum, and tracers. The turbulent kinetic energy (TKE) conditions are only activated for the Generic length scale or Mellor-Yamada 2.5 vertical mixing closures. If open boundary radiation conditions, an additional option can be activated at each boundary edge to include a passive (active) nudging term with weak (strong) values for outflow (inflow).
Options for western edge open boundary conditions
- Select only one option for free-surface, 2D momentum, 3D momentum, and tracers. The turbulent kinetic energy (TKE) conditions are only activated for the Generic length scale or Mellor-Yamada 2.5 vertical mixing closures. If open boundary radiation conditions, an additional option can be activated at each boundary edge to include a passive (active) nudging term with weak (strong) values for outflow (inflow).
Options for northern edge open boundary conditions
- Select only one option for free-surface, 2D momentum, 3D momentum, and tracers. The turbulent kinetic energy (TKE) conditions are only activated for the Generic length scale or Mellor-Yamada 2.5 vertical mixing closures. If open boundary radiation conditions, an additional option can be activated at each boundary edge to include a passive (active) nudging term with weak (strong) values for outflow (inflow).
Options for southern edge open boundary conditions
- Select only one option for free-surface, 2D momentum, 3D momentum, and tracers. The turbulent kinetic energy (TKE) conditions are only activated for the Generic length scale or Mellor-Yamada 2.5 vertical mixing closures. If open boundary radiation conditions, an additional option can be activated at each boundary edge to include a passive (active) nudging term with weak (strong) values for outflow (inflow).
Options for tidal forcing at open boundaries
- The tidal data is processed in terms of tidal components, classified by period. The tidal forcing is computed for the full horizontal grid. If requested, the tidal forcing is added to the processed open boundary data. Both tidal elevation and tidal currents are required to force the model properly. However, if only the tidal elevation is available, the tidal
currents at the open boundary can be estimated using reduced physics equations. Only the pressure gradient, Coriolis, and surface and bottom stresses terms are considered at the open boundary. See u2dbc_im.F or v2dbc_im.F for details. Notice that there is an additional option (FSOBC_REDUCED) for the computation of the pressure gradient term in both Flather or reduced physics conditions (*_M2FLATHER, *_M2REDUCED).
|
SSH_TIDES
|
use if imposing tidal elevation
|
UV_TIDES
|
use if imposing tidal currents
|
RAMP_TIDES
|
use if ramping (over one day) tidal forcing
|
FSOBC_REDUCED
|
use if SSH data and reduced physics conditions
|
ADD_FSOBC
|
use to add tidal elevation to processed open boundary conditions data
|
ADD_M2OBC
|
use to add tidal currents to processed open boundary conditions data
|
Options for reading and processing of climatological fields
Options to nudge climatology data
- These options are used primarily on sponge areas.
Options for Optimal Interpolation or nudging data assimilation
- The Optimal Interpolation (OI) assimilation is intermittent whereas nudging is continuous (observations are time interpolated). If applicable, choose only one option for each field to update: either OI assimilation or nudging.
Options for ROMS/TOMS driver
- Choose only one option.
|
ADM_DRIVER
|
use if generic adjoint model driver
|
AD_SENSITIVITY
|
use if adjoint sensitivity driver
|
AFT_EIGENMODES
|
use if adjoint finite time eingenmodes driver
|
CONVOLUTION
|
use if adjoint convolution driver
|
CORRELATION
|
use if background-error correlation model driver
|
ENSEMBLE
|
use if ensemble prediction driver
|
FORCING_SV
|
use if forcing singular vectors driver
|
FT_EIGENMODES
|
use if finite time eingenmodes driver: normal modes
|
GRADIENT_CHECK
|
use if tangent linear and adjoint codes gradient test
|
INNER_PRODUCT
|
use if tangent linear and adjoint inner product check
|
IS4DVAR
|
use if incremental 4DVar data assimilation
|
IS4DVAR_OLD
|
use if old incremental 4DVar data assimilation
|
OPT_OBSERVATIONS
|
use if optimal observations driver
|
OPT_PERTURBATION
|
use if optimal perturbations driver, singular vectors
|
PICARD_TEST
|
use if representer tangent linear model test
|
PSEUDOSPECTRA
|
use if pseudospectra of tangent linear resolvant
|
R_SYMMETRY
|
use if representer matrix symmetry test
|
RPM_DRIVER
|
use if generic representers model driver
|
SANITY_CHECK
|
use if tangent linear and adjoint codes sanity check
|
SO_SEMI
|
use if stochastic optimals driver, semi-norm
|
SO_TRACE
|
use if stochastic optimals, randomized trace
|
STOCHASTIC_OPT
|
use if stochastic optimals
|
S4DVAR
|
use if Strong constraint 4DVar data assimilation
|
TLM_CHECK
|
use if tangent linear model linearization check
|
TLM_DRIVER
|
use if generic tangent linear model driver
|
W4DPSAS
|
use if weak constraint 4D-PSAS data assimilation
|
W4DVAR
|
use if Weak constraint 4DVar data assimilation
|
Options associated with tangent linear, representer and adjoint models
|
ADJUST_STFLUX
|
use if including surface tracer flux in 4DVar state
|
ADJUST_WSTRESS
|
use if including wind-stress in 4DVar state
|
**
|
use if error covariance multivariate balance term
|
CELERITY_WRITE
|
use if writing radiation celerity in forward file
|
CONVOLVE
|
use if convolving solution with diffusion operators
|
ENERGY1_NORM
|
use if cost function scaled with the energy norm, 1
|
ENERGY2_NORM
|
use if cost function scaled with the energy norm, 2
|
ENERGY3_NORM
|
use if cost function scaled with the energy norm, 3
|
FORWARD_MIXING
|
use if processing forward vertical mixing coefficient
|
FORWARD_WRITE
|
use if writing out forward solution, basic state
|
FORWARD_READ
|
use if reading in forward solution, basic state
|
FORWARD_RHS
|
use if processing forward right-hand-side terms
|
FULL_GRID
|
use to consider both interior and boundary points
|
IMPLICIT_VCONV
|
use if implicit vertical convolution algorithm
|
IMPULSE
|
use if processing adjoint impulse forcing
|
IOM
|
use to activate IOM multiple executables
|
LANCZOS
|
use to activate Lanczos conjugate gradient algorithm
|
MULTIPLE_TLM
|
use if multiple TLM history files in 4DVAR
|
N2NORM_PROFILE
|
use if N2(z) profile for energy normalization
|
NLM_OUTER
|
use if nonlinear model as basic state in outer loop
|
RPM_RELAXATION
|
use if Picard iterations, Diffusive Relaxation of RPM
|
SO_SEMI_WHITE
|
use to activate white/red noise processes
|
VCONVOLUTION
|
use to add vertical correlation to 3D convolution
|
VERIFICATION
|
use if writing out solution at observation locations
|
Options for Fasham-type biological model
Options for NPZD biological model
|
NPZD_FRANKS
|
use if NPZD Biology model, Franks et al. (1986)
|
NPZD_POWELL
|
use if NPZD Biology model, Powell et al. (2006)
|
Options for bio-optical EcoSim model
|
ECOSIM
|
use if bio-optical EcoSim model
|
Options for sediment transport model
|
SEDIMENT
|
use to activate sediment transport model
|
BEDLOAD_MPM
|
use to activate Meyer-Peter-Mueller bed load
|
BEDLOAD_SOULSBY
|
use to activate Soulsby wave/current bed load
|
RIVER_SEDIMENT
|
use to process river sediment point-sources
|
SED_DENS
|
use to activate sediment to affect equation of state
|
SED_MORPH
|
use to allow bottom model elevation to evolve
|
SUSPLOAD
|
use to activate suspended load transport
|
Options for two-way coupling to other models
Options for nearshore stresses and shallow water configurations
Options for NetCDF input and output
Options for idealized test problems
- These tests are defined using analytical expressions. Choose only one configuration.
Options for climatological applications
- These applications require input NetCDF files which can be downloaded from ROMS web site.
|
DAMEE_4
|
North Atlantic DAMEE Application, 3/4 degree
|
Options for selected realistic applications