Difference between revisions of "cppdefs.h"

From WikiROMS
Jump to navigationJump to search
m (Text replacement - "ocean.in" to "roms.in")   (change visibility)
(31 intermediate revisions by 7 users not shown)
Line 1: Line 1:
= Vertical Mixing Turbulence Closure Options =
<div class="title">cppdefs.h</div>


Internal header file containing all the [[C-preprocessing]] [[Options | 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:


  <span class="red">#if defined ROMS_HEADER
  # include ROMS_HEADER
  #else
    CPPDEFS - Choose an appropriate ROMS application.
  #endif
</span>


== BVF_MIXING ==
Activate Brunt-Vaisala frequency mixing


===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.                                               


{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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 horizontal point Sources/Sinks
|-
| [[Q_PSOURCE]]
| use to activate vertical 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.


== MY25_MIXING ==
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
Activate Mellor/Yamada Level-2.5 closure
!width="275"|
|-
| [[TS_A4HADVECTION]]
| use if 4th-order Akima horizontal advection
|-
| [[TS_C2HADVECTION]]
| use if 2nd-order centered horizontal advection
|-
| [[TS_C4HADVECTION]]
| use if 4th-order centered horizontal advection
|-
| [[TS_MPDATA]]
| use if recursive MPDATA 3D advection
|-
| [[TS_U3HADVECTION]]
| use if 3rd-order upstream horiz. advection
|-
| [[TS_A4VADVECTION]]
| use if 4th-order Akima vertical advection
|-
| [[TS_C2VADVECTION]]
| use if 2nd-order centered vertical advection
|-
| [[TS_C4VADVECTION]]
| use if 4th-order centered vertical advection
|-
| [[TS_SVADVECTION]]
| use if splines vertical advection
|-
| [[TS_DIF2]]
| use to turn ON or OFF harmonic horizontal mixing
|-
| [[TS_DIF4]]
| use to turn ON or OFF biharmonic horizontal mixing
|-
| [[TS_FIXED]]
| use if diagnostic run, no evolution of tracers
|-
| [[T_PASSIVE]]
| use if inert passive tracers (dyes, etc)
|-
| [[SALINITY]]
| use if having salinity
|-
| [[NONLIN_EOS]]
| use if using nonlinear equation of state
|-
| [[QCORRECTION]]
| use if net heat flux correction
|-
| [[SCORRECTION]]
| use if freshwater flux correction
|-
| [[SOLAR_SOURCE]]
| use if solar radiation source term
|-
| [[SRELAXATION]]
| use if salinity relaxation as a freshwater flux
|-
| [[TS_PSOURCE]]
| use to turn ON or OFF point Sources/Sinks
|}


Wilkin: How do I make entries here for options already described under other headings, like: [[ N2S2_HORAVG ]] already described under GLS_MIXING?
===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.


{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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===
----


== GLS_MIXING ==
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[SWAN_COUPLING]]
| use if two-way coupling to SWAN                     
|-
| [[WRF_COUPLING]]
| use if two-way coupling to WRF                       
|}


Activate Generic Length-Scale mixing.
===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 [[Bibliography#FairallCW_1996a | 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).


The following options modify the configuration of the Generic Length-Scale vertical turbulence closure:
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[BULK_FLUXES]]
| use if bulk fluxes computation                       
|-
| [[COOL_SKIN]]
| use if cool skin correction                         
|-
| [[LONGWAVE]]
| use if computing net longwave radiation             
|-
| [[LONGWAVE_OUT]]
| use if computing ougoing longwave radiation         
|-
| [[EMINUSP]]
| use if computing E-P                                 
|}


=== [[CANUTO_A]] ===
===Options for wave roughness formulation in bulk fluxes===
use Canuto A-stability function formulation
----


=== CANUTO_B ===
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
use Canuto B-stability function formulation
!width="275"|
|-
| [[COARE_TAYLOR_YELLAND]]
| use Taylor and Yelland (2001) relation             
|-
| [[COARE_OOST]]
| use Oost et al (2002) relation                     
|-
| [[DEEPWATER_WAVES]]
| use Deep water waves approximation                 
|}


=== CHARNOK ===
===Options for shortwave radiation===
use Charnok surface roughness from wind stress
----
: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.


=== CRAIG_BANNER ===
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
use Craig and Banner wave breaking surface flux
!width="275"|
|-
| [[ALBEDO]]
| use if albedo equation for shortwave radiation       
|-
| [[DIURNAL_SRFLUX]]
| use to impose shortwave radiation local diurnal cycle
|}


=== KANTHA_CLAYSON ===
===Options for model configuration===
use Kantha and Clayson stability function formulation
----


=== K_C2ADVECTION ===
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
use 2nd-order centered advection. The default advection is third-order upstream bias, G-Scheme.
!width="275"|
|-
| [[SOLVE3D]]
| use if solving 3D primitive equations               
|-
| [[CURVGRID]]
| use if curvilinear coordinates grid                 
|-
| [[MASKING]]
| use if land/sea masking                             
|-
| [[BODYFORCE]]
| use if applying stresses as a body force               
|-
| [[PROFILE]]
| use if time profiling                               
|-
| [[AVERAGES]]
| use if writing out time-averaged data               
|-
| [[AVERAGES_AKV]]
| use if writing out time-averaged AKv                 
|-
| [[AVERAGES_AKT]]
| use if writing out time-averaged AKt                 
|-
| [[AVERAGES_AKS]]
| use if writing out time-averaged AKs                 
|-
| [[AVERAGES_BEDLOAD]]
| use if writing out time-averaged bed load           
|-
| [[AVERAGES_FLUXES]]
| use if writing out time-averaged fluxes             
|-
| [[AVERAGES_NEARSHORE]]
| use if writing out time-averaged nearshore stresses 
|-
| [[AVERAGES_QUADRATIC]]
| use if writing out quadratic terms                   
|-
| [[DIAGNOSTICS_BIO]]
| use if writing out biological diagnostics           
|-
| [[DIAGNOSTICS_UV]]
| use if writing out momentum diagnostics             
|-
| [[DIAGNOSTICS_TS]]
| use if writing out tracer diagnostics               
|-
| [[ICESHELF]]
| use if including ice shelf cavities                 
|-
| [[SPHERICAL]]
| use if analytical spherical grid                     
|-
| [[SPLINES]]
| use to activate parabolic splines reconstruction of vertical derivatives
|-
| [[STATIONS]]
| use if writing out station data                     
|-
| [[STATIONS_CGRID]]
| use if extracting data at native C-grid             
|}


=== K_C4ADVECTION  ===
===Options for Lagrangian drifters===
use 4th-order centered advection. The default advection is third-order upstream bias, G-Scheme.
----


=== [[N2S2_HORAVG]] === 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
activate horizontal smoothing of buoyancy/shear
!width="275"|
|-
| [[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.   


{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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                 
|}


== LMD_MIXING ==  
===Options for horizontal mixing of momentum===
Activate Large/McWilliams/Doney interior closure
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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.
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[BVF_MIXING]]
| use if Brunt-Vaisala frequency mixing               
|-
| [[GLS_MIXING]]
| use if Generic Length-Scale mixing                   
|-
| [[MY25_MIXING]]
| use if Mellor/Yamada Level-2.5 closure               
|-
| [[LMD_MIXING]]
| use if [[Bibliography#LargeWG_1994a | Large et al. (1994)]] K-profile vertical parameterization         
|}
 
===Options for the Generic Length-Scale closure===
----
:The Generic Length Scale (GLS) uses two prognostic equations for turbulent kinetic energy (TKE) and length scale (&psi;) variables. The GLS may be configured as k-kl, k-&epsilon; k-&omega; by tuning several parameters in [[roms.in]], see [[Bibliography#WarnerJC_2005a | 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.
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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 [[Bibliography#MellorGL_1982 | Mellor and Yamda (1982)]] and latter modified by [[Bibliography#GalperinG_1988a | Galperin et al. (1994)]]. The default horizontal advection is third-order upstream bias.  The default vertical advection is 4th-order centered advection.
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[N2S2_HORAVG]]
| use if horizontal smoothing of buoyancy/shear       
|-
| [[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                 
|}
 
===Options for K-profile vertical mixing parameterization===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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.
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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.
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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 open boundary conditions===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[RADIATION_2D]]
| use if tangential phase speed in radiation conditions
|-
| [[SPONGE]]
| use if enhanced viscosity/diffusion areas
|}
 
===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).
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[M2CLIMATOLOGY]]
| use if processing 2D momentum climatology           
|-
| [[M3CLIMATOLOGY]]
| use if processing 3D momentum climatology           
|-
| [[TCLIMATOLOGY]]
| use if processing tracers climatology               
|-
| [[ZCLIMATOLOGY]]
| use if processing SSH climatology                   
|}
 
===Options to nudge climatology data===
----
:These options are used primarily on sponge areas.
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[M2CLM_NUDGING]]
| use if nudging 2D momentum climatology               
|-
| [[M3CLM_NUDGING]]
| use if nudging 3D momentum climatology               
|-
| [[TCLM_NUDGING]]
| use if nudging tracers climatology                   
|-
| [[ZCLM_NUDGING]]
| use if nudging SSH climatology                       
|}
 
===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.
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[ASSIMILATION_SSH]]
| use if assimilating SSH observations                 
|-
| [[ASSIMILATION_SST]]
| use if assimilating SST observations                 
|-
| [[ASSIMILATION_T]]
| use if assimilating tracers observations             
|-
| [[ASSIMILATION_UVsur]]
| use if assimilating surface current observations     
|-
| [[ASSIMILATION_UV]]
| use if assimilating horizontal current observations 
|-
| [[UV_BAROCLINIC]]
| use if assimilating baroclinic currents only         
|-
| [[NUDGING_SSH]]
| use if nudging SSH observations                     
|-
| [[NUDGING_SST]]
| use if nudging SST observations                     
|-
| [[NUDGING_T]]
| use if nudging tracers observations                 
|-
| [[NUDGING_UVsur]]
| use if nudging surface current observations         
|-
| [[NUDGING_UV]]
| use if nudging horizontal currents observations     
|}
 
===Options for ROMS/TOMS driver===
----
:Choose only one option.
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[BIO_FASHAM]]
| use if Fasham type nitrogen-based model             
|-
| [[BIO_SEDIMENT]]
| use to restore fallen material to the nutrient pool 
|-
| [[CARBON]]
| use to add carbon constituents                       
|-
| [[DENITRIFICATION]]
| use to add denitrification processes                 
|-
| [[OXYGEN]]
| use to add oxygen dynamics                           
|-
| [[OCMIP_OXYGEN_SC]]
| use if Schmidt number from Keeling et al. (1998)     
|-
| [[RIVER_BIOLOGY]]
| use to process river biology point-sources           
|-
| [[TALK_PROGNOSTIC]]
| use if prognostic/diagnotic alkalinity               
|}
 
===Options for NPZD biological model===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[ECOSIM]]
| use if bio-optical EcoSim model                     
|}
 
===Options for sediment transport model===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[REFDIF_COUPLING]]
| use if coupling to REFDIT wave model                 
|-
| [[SWAN_COUPLING]]
| use if coupling to SWAN wave model                   
|-
| [[WRF_COUPLING]]
| use if coupling to WRF atmospheric model             
|}
 
===Options for nearshore stresses and shallow water configurations===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[WET_DRY]]
| use to activate wetting and drying                   
|-
| [[NEARSHORE_MELLOR]]
| use to activate radiation stress terms.             
|}
 
===Options for NetCDF input and output===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[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.
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[A4DVAR_TOY]]
| 4DVAR Data Assimilation Toy
|-
| [[BASIN]]
| Big Bad Basin Example
|-
| [[BENCHMARK]]
| Benchmark Tests (small, Medium, big grids)
|-
| [[BIO_TOY]]
| One-dimension (vertical) Biology Toy
|-
| [[BL_TEST]]
| Boundary Layers Test                               
|-
| [[CANYON]]
| Costal Form Stress Canyon Test                                   
|-
| [[CHANNEL_NECK]]
| Channel with a Constriction                         
|-
| [[COUPLING_TEST]]
| Two-way Atmosphere-Ocean Coupling Test             
|-
| [[DOUBLE_GYRE]]
| Idealized Double-gyre Example                       
|-
| [[ESTUARY_TEST]]
| Test Estuary for Sediment                           
|-
| [[FLT_TEST]]
| Float Tracking Example                             
|-
| [[GRAV_ADJ]]
| Graviational Adjustment Example                     
|-
| [[INLET_TEST]]
| Test Inlet Application                             
|-
| [[KELVIN]]
| Kelvin wave test                                   
|-
| [[LAB_CANYON]]
| Lab Canyon, Polar Coordinates Example               
|-
| [[LAKE_SIGNELL]]
| Lake Signell Sediment Test Case                     
|-
| [[LMD_TEST]]
| Test for LMD and KPP                               
|-
| [[OVERFLOW]]
| Graviational/Overflow Example                       
|-
| [[RIVERPLUME1]]
| River Plume Example 1                               
|-
| [[RIVERPLUME2]]
| River plume Example 2 (Hyatt and Signell)           
|-
| [[SEAMOUNT]]
| Seamount Example                                   
|-
| [[SED_TEST1]]
| Suspended Sediment Test in a Channel               
|-
| [[SED_TOY]]
| One-dimension (vertical) Sediment Toy               
|-
| [[SHOREFACE]]
| Shore Face Planar Beach Test Case                   
|-
| [[SOLITON]]
| Equatorial Rossby Wave Example                     
|-
| [[TEST_CHAN]]
| Sediment Test Channel Case                         
|-
| [[TEST_HEAD]]
| Sediment Test Headland Case                         
|-
| [[UPWELLING]]
| Upwelling Example (default)                         
|-
| [[WEDDELL]]
| Idealized Weddell Sea Shelf Application             
|-
| [[WINDBASIN]]
| Linear Wind-driven Constant Coriolis Basin         
|}
 
===Options for climatological applications===
----
:These applications require input NetCDF files which can be downloaded [http://www.myroms.org/Datasets from ROMS web site].
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[DAMEE_4]]
| North Atlantic DAMEE Application, 3/4 degree       
|}
 
===Options for selected realistic applications===
----
 
{| border="0" cellspacing="0" style="padding-left:3.5em; padding-top:10px; padding-bottom:10px;"
!width="275"|
|-
| [[ADRIA02]]
| Adriatic Sea Application                           
|-
| [[NJ_BIGHT]]
| New Jersey Bight Application                       
|}

Revision as of 15:13, 17 July 2019

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_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 horizontal point Sources/Sinks
Q_PSOURCE use to activate vertical 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.
TS_A4HADVECTION use if 4th-order Akima horizontal advection
TS_C2HADVECTION use if 2nd-order centered horizontal advection
TS_C4HADVECTION use if 4th-order centered horizontal advection
TS_MPDATA use if recursive MPDATA 3D advection
TS_U3HADVECTION use if 3rd-order upstream horiz. advection
TS_A4VADVECTION use if 4th-order Akima vertical advection
TS_C2VADVECTION use if 2nd-order centered vertical advection
TS_C4VADVECTION use if 4th-order centered vertical advection
TS_SVADVECTION use if splines vertical advection
TS_DIF2 use to turn ON or OFF harmonic horizontal mixing
TS_DIF4 use to turn ON or OFF biharmonic horizontal mixing
TS_FIXED use if diagnostic run, no evolution of tracers
T_PASSIVE use if inert passive tracers (dyes, etc)
SALINITY use if having salinity
NONLIN_EOS use if using nonlinear equation of state
QCORRECTION use if net heat flux correction
SCORRECTION use if freshwater flux correction
SOLAR_SOURCE use if solar radiation source term
SRELAXATION use if salinity relaxation as a freshwater flux
TS_PSOURCE use to turn ON or OFF point Sources/Sinks

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


SWAN_COUPLING use if two-way coupling to SWAN
WRF_COUPLING use if two-way coupling to WRF

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).
BULK_FLUXES use if bulk fluxes computation
COOL_SKIN use if cool skin correction
LONGWAVE use if computing net longwave radiation
LONGWAVE_OUT use if computing ougoing longwave radiation
EMINUSP use if computing E-P

Options for wave roughness formulation in bulk fluxes


COARE_TAYLOR_YELLAND use Taylor and Yelland (2001) relation
COARE_OOST use Oost et al (2002) relation
DEEPWATER_WAVES use Deep water waves approximation

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


SOLVE3D use if solving 3D primitive equations
CURVGRID use if curvilinear coordinates grid
MASKING use if land/sea masking
BODYFORCE use if applying stresses as a body force
PROFILE use if time profiling
AVERAGES use if writing out time-averaged data
AVERAGES_AKV use if writing out time-averaged AKv
AVERAGES_AKT use if writing out time-averaged AKt
AVERAGES_AKS use if writing out time-averaged AKs
AVERAGES_BEDLOAD use if writing out time-averaged bed load
AVERAGES_FLUXES use if writing out time-averaged fluxes
AVERAGES_NEARSHORE use if writing out time-averaged nearshore stresses
AVERAGES_QUADRATIC use if writing out quadratic terms
DIAGNOSTICS_BIO use if writing out biological diagnostics
DIAGNOSTICS_UV use if writing out momentum diagnostics
DIAGNOSTICS_TS use if writing out tracer diagnostics
ICESHELF use if including ice shelf cavities
SPHERICAL use if analytical spherical grid
SPLINES use to activate parabolic splines reconstruction of vertical derivatives
STATIONS use if writing out station data
STATIONS_CGRID use if extracting data at native C-grid

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.
BVF_MIXING use if Brunt-Vaisala frequency mixing
GLS_MIXING use if Generic Length-Scale mixing
MY25_MIXING use if Mellor/Yamada Level-2.5 closure
LMD_MIXING use if Large et al. (1994) K-profile vertical parameterization

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
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.
N2S2_HORAVG use if horizontal smoothing of buoyancy/shear
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

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 open boundary conditions


RADIATION_2D use if tangential phase speed in radiation conditions
SPONGE use if enhanced viscosity/diffusion areas

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


M2CLIMATOLOGY use if processing 2D momentum climatology
M3CLIMATOLOGY use if processing 3D momentum climatology
TCLIMATOLOGY use if processing tracers climatology
ZCLIMATOLOGY use if processing SSH climatology

Options to nudge climatology data


These options are used primarily on sponge areas.
M2CLM_NUDGING use if nudging 2D momentum climatology
M3CLM_NUDGING use if nudging 3D momentum climatology
TCLM_NUDGING use if nudging tracers climatology
ZCLM_NUDGING use if nudging SSH climatology

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.
ASSIMILATION_SSH use if assimilating SSH observations
ASSIMILATION_SST use if assimilating SST observations
ASSIMILATION_T use if assimilating tracers observations
ASSIMILATION_UVsur use if assimilating surface current observations
ASSIMILATION_UV use if assimilating horizontal current observations
UV_BAROCLINIC use if assimilating baroclinic currents only
NUDGING_SSH use if nudging SSH observations
NUDGING_SST use if nudging SST observations
NUDGING_T use if nudging tracers observations
NUDGING_UVsur use if nudging surface current observations
NUDGING_UV use if nudging horizontal currents observations

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


BIO_FASHAM use if Fasham type nitrogen-based model
BIO_SEDIMENT use to restore fallen material to the nutrient pool
CARBON use to add carbon constituents
DENITRIFICATION use to add denitrification processes
OXYGEN use to add oxygen dynamics
OCMIP_OXYGEN_SC use if Schmidt number from Keeling et al. (1998)
RIVER_BIOLOGY use to process river biology point-sources
TALK_PROGNOSTIC use if prognostic/diagnotic alkalinity

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


REFDIF_COUPLING use if coupling to REFDIT wave model
SWAN_COUPLING use if coupling to SWAN wave model
WRF_COUPLING use if coupling to WRF atmospheric model

Options for nearshore stresses and shallow water configurations


WET_DRY use to activate wetting and drying
NEARSHORE_MELLOR use to activate radiation stress terms.

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.
A4DVAR_TOY 4DVAR Data Assimilation Toy
BASIN Big Bad Basin Example
BENCHMARK Benchmark Tests (small, Medium, big grids)
BIO_TOY One-dimension (vertical) Biology Toy
BL_TEST Boundary Layers Test
CANYON Costal Form Stress Canyon Test
CHANNEL_NECK Channel with a Constriction
COUPLING_TEST Two-way Atmosphere-Ocean Coupling Test
DOUBLE_GYRE Idealized Double-gyre Example
ESTUARY_TEST Test Estuary for Sediment
FLT_TEST Float Tracking Example
GRAV_ADJ Graviational Adjustment Example
INLET_TEST Test Inlet Application
KELVIN Kelvin wave test
LAB_CANYON Lab Canyon, Polar Coordinates Example
LAKE_SIGNELL Lake Signell Sediment Test Case
LMD_TEST Test for LMD and KPP
OVERFLOW Graviational/Overflow Example
RIVERPLUME1 River Plume Example 1
RIVERPLUME2 River plume Example 2 (Hyatt and Signell)
SEAMOUNT Seamount Example
SED_TEST1 Suspended Sediment Test in a Channel
SED_TOY One-dimension (vertical) Sediment Toy
SHOREFACE Shore Face Planar Beach Test Case
SOLITON Equatorial Rossby Wave Example
TEST_CHAN Sediment Test Channel Case
TEST_HEAD Sediment Test Headland Case
UPWELLING Upwelling Example (default)
WEDDELL Idealized Weddell Sea Shelf Application
WINDBASIN Linear Wind-driven Constant Coriolis Basin

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


ADRIA02 Adriatic Sea Application
NJ_BIGHT New Jersey Bight Application