The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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. The application CPP option is specified in the makefile definition ROMS_APPLICATION. The application header file is determined during compilation as the lowercase value of ROMS_APPLICATION with the .h extension and loaded into the ROMS_HEADER definition. Then, during C-preprocessing the application header file is included in cppdefs.h using the following directive:
#if defined ROMS_HEADER
# include ROMS_HEADER
#else
CPPDEFS - Choose an appropriate ROMS application.
#endif
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_U3ADV_SPLIT
|
use if 3rd-order upstream split momentum advection
|
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_SMAGORINSKY
|
use to turn ON or OFF Smagorinsky-like viscosity
|
UV_DRAG_GRID
|
use if spatially varying bottom friction parameters
|
UV_LOGDRAG
|
use to activate logarithmic bottom friction
|
UV_LDRAG
|
use to activate linear bottom friction
|
UV_QDRAG
|
use to activate quadratic bottom friction
|
SPLINES_VVISC
|
use if splines reconstruction of vertical viscosity
|
Option to limit bottom stress
- Do not allow the bottom stress components to change the direction of bottom momentum (change sign of velocity components).
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.
|
TS_DIF2
|
use to turn ON or OFF harmonic horizontal mixing
|
TS_DIF4
|
use to turn ON or OFF biharmonic horizontal mixing
|
TS_SMAGORINSKY
|
use to turn ON or OFF Smagorinsky-like diffusion
|
TS_FIXED
|
use if diagnostic run, no evolution of tracers
|
T_PASSIVE
|
use if inert passive tracers (dyes, etc)
|
AGE_MEAN
|
use if computing Mean Age of inert passive tracers
|
NONLIN_EOS
|
use if using nonlinear equation of state
|
QCORRECTION
|
use if net heat flux correction
|
SALINITY
|
use if having salinity
|
SCORRECTION
|
use if freshwater flux correction
|
SOLAR_SOURCE
|
use if solar radiation source term
|
SPLINES_VDIFF
|
use if splines reconstruction of vertical diffusion
|
SRELAXATION
|
use if salinity relaxation as a freshwater flux
|
WTYPE_GRID
|
use to turn ON spatially varying Jerlov water type
|
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
|
PRESS_COMPENSATE
|
use to compensate for boundary without ATM pressure
|
Options for atmospheric boundary layer surface fluxes
- 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 coupling
Options for model configuration
Options for Lagrangian drifters
|
FLOATS
|
use to activate simulated Lagrangian drifters
|
FLOAT_OYSTER
|
use to activate oyster model behavior in floats
|
FLOAT_STICKY
|
ues to reflect/stick floats that hit surface/bottom
|
FLOAT_VWALK
|
use if vertical random walk
|
VWALK_FORWARD
|
use if forward time stepping 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_DQDSST
|
use if analytical surface heat flux sensitivity to SST
|
ANA_DRAG
|
use if analytical spatially varying drag parameters
|
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_NUDGCOEF
|
use if analytical climatology nudging coefficients
|
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_SPONGE
|
use if analytical enhanced viscosity/diffusion sponge
|
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
|
TS_MIX_CLIMA
|
use if diffusion of tracer perturbation (t-tclm)
|
TS_MIX_MAX_SLOPE
|
use if maximum slope in epineutral diffusion
|
TS_MIX_MIN_STRAT
|
use if minimum stratification in epineutral diffusion
|
TS_MIX_STABILITY
|
use if weighting diffusion between two time levels
|
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 roms.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
|
RI_SPLINES
|
use if splines reconstruction for vertical sheer
|
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
|
RI_SPLINES
|
use if splines reconstruction for vertical sheer
|
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 RI_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 for lateral boundary conditions
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 ROMS/TOMS driver
- Choose only one option.
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
|
INLINE_2DIO
|
use if processing 3D IO level by level
|
NO_WRITE_GRID
|
use if not writing grid arrays
|
PERFECT_RESTART
|
use to include perfect restart variables
|
READ_WATER
|
use if only reading water points data
|
WRITE_WATER
|
use if only writing water points data
|
RST_SINGLE
|
use if writing single precision restart fields
|
OUT_DOUBLE
|
use if writing double precision output fields
|
HDF5
|
use if writing data in netCDF-4/HDF5 format
|
DEFLATE
|
use to compress netCDF-4 output files; requires HDF5; compression parameters set in *.in file
|
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