3D model options

This page lists all available options for the 3D model.

See also Turbulence model options and Equation of State options.

CommonModelOptions.atmospheric_pressure : FiredrakeCoefficient

Atmospheric pressure at free surface, in pascals

Default:

Function

CommonModelOptions.cfl_2d : PositiveFloat

Factor to scale the 2d time step OBSOLETE

Default:

1.0

CommonModelOptions.cfl_3d : PositiveFloat

Factor to scale the 2d time step OBSOLETE

Default:

1.0

CommonModelOptions.check_volume_conservation_2d : Bool

Compute volume of the 2D mode at every export

2D volume is defined as the integral of the water elevation field. Prints deviation from the initial volume to stdout.

Default:

False

CommonModelOptions.coriolis_frequency : FiredrakeCoefficient

2D Coriolis parameter

Default:

Function

CommonModelOptions.element_family : ‘dg-dg’|’rt-dg’|’dg-cg’

Finite element family

2D solver supports ‘dg-dg’, ‘rt-dg’, or ‘dg-cg’ velocity-pressure pairs. 3D solver supports ‘dg-dg’, or ‘rt-dg’ velocity-pressure pairs.

Default:

‘dg-dg’

CommonModelOptions.export_diagnostics : Bool

Store diagnostic variables to disk in HDF5 format

Default:

True

CommonModelOptions.fields_to_export : List

Fields to export in VTK format

Default:

[‘elev_2d’, ‘uv_2d’, ‘uv_3d’, ‘w_3d’]

CommonModelOptions.fields_to_export_hdf5 : List

Fields to export in HDF5 format

Default:

[]

CommonModelOptions.horizontal_velocity_scale : FiredrakeConstant

Maximum horizontal velocity magnitude

Used to compute max stable advection time step.

Default:

Constant(0.1)

CommonModelOptions.horizontal_viscosity : FiredrakeCoefficient

Horizontal viscosity

Default:

Function

CommonModelOptions.horizontal_viscosity_scale : FiredrakeConstant

Maximum horizontal viscosity

Used to compute max stable diffusion time step.

Default:

Constant(1.0)

CommonModelOptions.lax_friedrichs_velocity_scaling_factor : FiredrakeConstant

Scaling factor for Lax Friedrichs stabilisation term in horiozonal momentum advection.

Default:

Constant(1.0)

CommonModelOptions.linear_drag_coefficient : FiredrakeCoefficient

2D linear drag parameter \(L\)

Bottom stress is \(\tau_b/\rho_0 = -L \mathbf{u} H\)

Default:

Function

CommonModelOptions.log_output : Bool

Redirect all output to log file in output directory

Default:

True

CommonModelOptions.manning_drag_coefficient : FiredrakeCoefficient

Manning-Strickler 2D quadratic drag parameter \(\mu\)

Bottom stress is \(\tau_b/\rho_0 = -g \mu^2 |\mathbf{u}|\mathbf{u}/H^{1/3}\)

Default:

Function

CommonModelOptions.momentum_source_2d : FiredrakeCoefficient

Source term for 2D momentum equation

Default:

Function

CommonModelOptions.no_exports : Bool

Do not store any outputs to disk

Disables VTK and HDF5 field outputs. and HDF5 diagnostic outputs. Used in CI test suite.

Default:

False

CommonModelOptions.output_directory : Unicode

Directory where model output files are stored

Default:

‘outputs’

CommonModelOptions.polynomial_degree : NonNegativeInteger

Polynomial degree of elements

Default:

1

CommonModelOptions.quadratic_drag_coefficient : FiredrakeCoefficient

Dimensionless 2D quadratic drag parameter \(C_D\)

Bottom stress is \(\tau_b/\rho_0 = -C_D |\mathbf{u}|\mathbf{u}\)

Default:

Function

CommonModelOptions.simulation_end_time : PositiveFloat

Simulation duration in seconds

Default:

1000.0

CommonModelOptions.simulation_export_time : PositiveFloat

Export interval in seconds

All fields in fields_to_export list will be stored to disk and diagnostics will be computed

Default:

100.0

CommonModelOptions.timestep : PositiveFloat

Time step

Default:

10.0

CommonModelOptions.use_grad_depth_viscosity_term : Bool

Include \(\nabla H\) term in the depth-averaged viscosity

See shallowwater_eq.HorizontalViscosityTerm for details.

Default:

True

CommonModelOptions.use_grad_div_viscosity_term : Bool

Include \(\nabla (\nu_h \nabla \cdot \bar{\textbf{u}})\) term in the depth-averaged viscosity

See shallowwater_eq.HorizontalViscosityTerm for details.

Default:

False

CommonModelOptions.use_lax_friedrichs_velocity : Bool

use Lax Friedrichs stabilisation in horizontal momentum advection.

Default:

True

CommonModelOptions.use_nonlinear_equations : Bool

Use nonlinear shallow water equations

Default:

True

CommonModelOptions.verbose : Int

Verbosity level

Default:

0

CommonModelOptions.volume_source_2d : FiredrakeCoefficient

Source term for 2D continuity equation

Default:

Function

CommonModelOptions.wind_stress : FiredrakeCoefficient

Stress at free surface (2D vector function)

Default:

Function

ModelOptions3d.check_salinity_conservation : Bool

Compute total salinity mass at every export

Prints deviation from the initial mass to stdout.

Default:

False

ModelOptions3d.check_salinity_overshoot : Bool

Compute salinity overshoots at every export

Prints overshoot values that exceed the initial range to stdout.

Default:

False

ModelOptions3d.check_temperature_conservation : Bool

Compute total temperature mass at every export

Prints deviation from the initial mass to stdout.

Default:

False

ModelOptions3d.check_temperature_overshoot : Bool

Compute temperature overshoots at every export

Prints overshoot values that exceed the initial range to stdout.

Default:

False

ModelOptions3d.check_volume_conservation_3d : Bool

Compute volume of the 3D domain at every export

Prints deviation from the initial volume to stdout.

Default:

False

ModelOptions3d.constant_salinity : FiredrakeConstant

Constant salinity if salinity is not solved

Default:

Constant(0.0)

ModelOptions3d.constant_temperature : FiredrakeConstant

Constant temperature if temperature is not solved

Default:

Constant(10.0)

ModelOptions3d.equation_of_state_type : ‘full’|’linear’

Type of equation of state

Default:

‘full’

Setting value implies configuration of sub-tree ModelOptions3d.equation_of_state_options:

‘full’:

‘linear’:

ModelOptions3d.equation_of_state_options.alpha : Float

Thermal expansion coefficient of ocean water

Default:

0.2

ModelOptions3d.equation_of_state_options.beta : Float

Saline contraction coefficient of ocean water

Default:

0.77

ModelOptions3d.equation_of_state_options.rho_ref : NonNegativeFloat

Reference water density

Default:

1000.0

ModelOptions3d.equation_of_state_options.s_ref : NonNegativeFloat

Reference water salinity

Default:

35.0

ModelOptions3d.equation_of_state_options.th_ref : Float

Reference water temperature

Default:

15.0

ModelOptions3d.horizontal_diffusivity : FiredrakeCoefficient

Horizontal diffusivity for tracers

Default:

Function

ModelOptions3d.lax_friedrichs_tracer_scaling_factor : FiredrakeConstant

Scaling factor for tracer Lax Friedrichs stability term.

Default:

Constant(1.0)

ModelOptions3d.momentum_source_3d : FiredrakeCoefficient

Source term for 3D momentum equation

Default:

Function

ModelOptions3d.salinity_source_3d : FiredrakeCoefficient

Source term for salinity equation

Default:

Function

ModelOptions3d.smagorinsky_coefficient : FiredrakeConstant

Smagorinsky viscosity coefficient \(C_S\)

See SmagorinskyViscosity.

Default:

Constant(0.1)

ModelOptions3d.solve_salinity : Bool

Solve salinity transport

Default:

True

ModelOptions3d.solve_temperature : Bool

Solve temperature transport

Default:

True

ModelOptions3d.temperature_source_3d : FiredrakeCoefficient

Source term for temperature equation

Default:

Function

ModelOptions3d.timestep_2d : PositiveFloat

Time step of the 2d mode

This option is only used in the 3d solver, if 2d mode is solved explicitly.

Default:

10.0

ModelOptions3d.timestepper_type : ‘SSPRK33’|’LeapFrog’|’SSPRK22’|’IMEXALE’|’ERKALE’

Name of the time integrator

Default:

‘SSPRK22’

Setting value implies configuration of sub-tree ModelOptions3d.timestepper_options:

‘SSPRK33’:

ModelOptions3d.timestepper_options.implicitness_theta_2d : BoundedFloat

implicitness parameter theta for 2D solver. Value 1.0 implies fully implicit formulation.

Default:

0.5

‘ERKALE’:

ModelOptions3d.timestepper_options.solver_parameters_2d_swe : PETScSolverParameters

No description

Default:

{‘pc_type’: ‘fieldsplit’, ‘pc_fieldsplit_type’: ‘multiplicative’, ‘ksp_type’: ‘gmres’}

ModelOptions3d.timestepper_options.solver_parameters_momentum_explicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘sub_pc_type’: ‘ilu’, ‘ksp_type’: ‘cg’}

ModelOptions3d.timestepper_options.solver_parameters_momentum_implicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘sub_pc_type’: ‘ilu’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘snes_monitor’: False, ‘ksp_type’: ‘preonly’}

ModelOptions3d.timestepper_options.solver_parameters_tracer_explicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘sub_pc_type’: ‘ilu’, ‘ksp_type’: ‘cg’}

ModelOptions3d.timestepper_options.solver_parameters_tracer_implicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘sub_pc_type’: ‘ilu’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘snes_monitor’: False, ‘ksp_type’: ‘preonly’}

‘IMEXALE’:

ModelOptions3d.timestepper_options.solver_parameters_2d_swe : PETScSolverParameters

No description

Default:

{‘pc_type’: ‘fieldsplit’, ‘pc_fieldsplit_type’: ‘multiplicative’, ‘ksp_type’: ‘gmres’}

ModelOptions3d.timestepper_options.solver_parameters_momentum_explicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘sub_pc_type’: ‘ilu’, ‘ksp_type’: ‘cg’}

ModelOptions3d.timestepper_options.solver_parameters_momentum_implicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘sub_pc_type’: ‘ilu’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘snes_monitor’: False, ‘ksp_type’: ‘preonly’}

ModelOptions3d.timestepper_options.solver_parameters_tracer_explicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘sub_pc_type’: ‘ilu’, ‘ksp_type’: ‘cg’}

ModelOptions3d.timestepper_options.solver_parameters_tracer_implicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘sub_pc_type’: ‘ilu’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘snes_monitor’: False, ‘ksp_type’: ‘preonly’}

‘SSPRK22’:

ModelOptions3d.timestepper_options.solver_parameters_2d_swe : PETScSolverParameters

No description

Default:

{‘pc_type’: ‘fieldsplit’, ‘pc_fieldsplit_type’: ‘multiplicative’, ‘ksp_type’: ‘gmres’}

ModelOptions3d.timestepper_options.solver_parameters_momentum_explicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘sub_pc_type’: ‘ilu’, ‘ksp_type’: ‘cg’}

ModelOptions3d.timestepper_options.solver_parameters_momentum_implicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘sub_pc_type’: ‘ilu’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘snes_monitor’: False, ‘ksp_type’: ‘preonly’}

ModelOptions3d.timestepper_options.solver_parameters_tracer_explicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘sub_pc_type’: ‘ilu’, ‘ksp_type’: ‘cg’}

ModelOptions3d.timestepper_options.solver_parameters_tracer_implicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘sub_pc_type’: ‘ilu’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘snes_monitor’: False, ‘ksp_type’: ‘preonly’}

‘LeapFrog’:

ModelOptions3d.timestepper_options.solver_parameters_2d_swe : PETScSolverParameters

No description

Default:

{‘pc_type’: ‘fieldsplit’, ‘pc_fieldsplit_type’: ‘multiplicative’, ‘ksp_type’: ‘gmres’}

ModelOptions3d.timestepper_options.solver_parameters_momentum_explicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘sub_pc_type’: ‘ilu’, ‘ksp_type’: ‘cg’}

ModelOptions3d.timestepper_options.solver_parameters_momentum_implicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘sub_pc_type’: ‘ilu’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘snes_monitor’: False, ‘ksp_type’: ‘preonly’}

ModelOptions3d.timestepper_options.solver_parameters_tracer_explicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘sub_pc_type’: ‘ilu’, ‘ksp_type’: ‘cg’}

ModelOptions3d.timestepper_options.solver_parameters_tracer_implicit : PETScSolverParameters

No description

Default:

{‘snes_type’: ‘ksponly’, ‘sub_pc_type’: ‘ilu’, ‘pc_type’: ‘bjacobi’, ‘sub_ksp_type’: ‘preonly’, ‘snes_monitor’: False, ‘ksp_type’: ‘preonly’}

ModelOptions3d.turbulence_model_type : ‘gls’

Type of vertical turbulence model

Default:

‘gls’

Setting value implies configuration of sub-tree ModelOptions3d.gls_options:

‘gls’:

ModelOptions3d.gls_options.c1 : Float

float: c1 parameter for Psi equations

Default:

1.44

ModelOptions3d.gls_options.c2 : Float

float: c2 parameter for Psi equations

Default:

1.92

ModelOptions3d.gls_options.c3_minus : Float

float: c3 parameter for Psi equations, stable stratification

If compute_c3_minus is True this value will be overriden

Default:

-0.52

ModelOptions3d.gls_options.c3_plus : Float

float: c3 parameter for Psi equations, unstable stratification

Default:

1.0

ModelOptions3d.gls_options.closure_name : ‘k-epsilon’|’k-omega’|’Generic Lenght Scale’

Name of two-equation closure

Default:

‘k-epsilon’

ModelOptions3d.gls_options.cmu0 : PositiveFloat

float: cmu0 parameter

Default:

0.5477

ModelOptions3d.gls_options.compute_c3_minus : Bool

bool: compute c3_minus from ri_st

Default:

True

ModelOptions3d.gls_options.compute_cmu0 : Bool

bool: compute cmu0 from stability function parameters

If compute_cmu0 is True, this value will be overriden

Default:

True

ModelOptions3d.gls_options.compute_kappa : Bool

bool: compute von Karman constant from schmidt_nb_psi

Default:

True

ModelOptions3d.gls_options.compute_len_min : Bool

bool: compute min_len from k_min and psi_min

Default:

True

ModelOptions3d.gls_options.compute_psi_min : Bool

bool: compute psi_len from k_min and eps_min

Default:

True

ModelOptions3d.gls_options.diff_min : PositiveFloat

float: minimum value for eddy diffusivity

Default:

1e-08

ModelOptions3d.gls_options.eps_min : PositiveFloat

float: minimum value for epsilon

Default:

1e-10

ModelOptions3d.gls_options.f_wall : Float

float: wall function parameter

Default:

1.0

ModelOptions3d.gls_options.galperin_lim : PositiveFloat

float: Galperin lenght scale limitation parameter

Default:

0.56

ModelOptions3d.gls_options.k_min : PositiveFloat

float: minimum value for turbulent kinetic energy

Default:

3.7e-08

ModelOptions3d.gls_options.kappa : Float

float: von Karman constant

If compute_kappa is True this value will be overriden

Default:

0.4

ModelOptions3d.gls_options.len_min : PositiveFloat

float: minimum value for turbulent lenght scale

Default:

1e-10

ModelOptions3d.gls_options.limit_eps : Bool

bool: apply Galperin lenght scale limit on epsilon

Default:

False

ModelOptions3d.gls_options.limit_len : Bool

bool: apply Galperin lenght scale limit

Default:

False

ModelOptions3d.gls_options.limit_len_min : Bool

bool: limit minimum turbulent length scale to len_min

Default:

True

ModelOptions3d.gls_options.limit_psi : Bool

bool: apply Galperin lenght scale limit on psi

Default:

False

ModelOptions3d.gls_options.m : Float

float: parameter m for the definition of psi

Default:

1.5

ModelOptions3d.gls_options.n : Float

float: parameter n for the definition of psi

Default:

-1.0

ModelOptions3d.gls_options.p : Float

float: parameter p for the definition of psi

Default:

3.0

ModelOptions3d.gls_options.psi_min : PositiveFloat

float: minimum value for psi

Default:

1e-10

ModelOptions3d.gls_options.ri_st : Float

steady state gradient Richardson number

Default:

0.25

ModelOptions3d.gls_options.schmidt_nb_psi : PositiveFloat

float: psi Schmidt number

Default:

1.3

ModelOptions3d.gls_options.schmidt_nb_tke : PositiveFloat

float: turbulent kinetic energy Schmidt number

Default:

1.0

ModelOptions3d.gls_options.stability_function_name : ‘Canuto A’|’Canuto B’|’Kantha-Clayson’|’Cheng’

Name of stability function family

Default:

‘Canuto A’

ModelOptions3d.gls_options.visc_min : PositiveFloat

float: minimum value for eddy viscosity

Default:

1e-08

ModelOptions3d.use_ale_moving_mesh : Bool

Use ALE formulation where 3D mesh tracks free surface

Default:

True

ModelOptions3d.use_baroclinic_formulation : Bool

Compute internal pressure gradient in momentum equation

Default:

False

ModelOptions3d.use_bottom_friction : Bool

Apply log layer bottom stress in the 3D model

Default:

True

ModelOptions3d.use_implicit_vertical_diffusion : Bool

Solve vertical diffusion and viscosity implicitly

Default:

True

ModelOptions3d.use_lax_friedrichs_tracer : Bool

Use Lax Friedrichs stabilisation in tracer advection.

Default:

True

ModelOptions3d.use_limiter_for_tracers : Bool

Apply P1DG limiter for tracer fields

Default:

False

ModelOptions3d.use_parabolic_viscosity : Bool

Use idealized parabolic eddy viscosity

See ParabolicViscosity

Default:

False

ModelOptions3d.use_quadratic_density : Bool

Water density is projected to P2DGxP2 space.

This reduces pressure gradient errors associated with nonlinear equation of state. If False, density is computed point-wise in the tracer space.

Default:

False

ModelOptions3d.use_quadratic_pressure : Bool

Use P2DGxP2 space for baroclinic head.

If element_family=’dg-dg’, P2DGxP1DG space is also used for the internal pressure gradient.

This is useful to alleviate bathymetry-induced pressure gradient errors. If False, the baroclinic head is in the tracer space, and internal pressure gradient is in the velocity space.

Default:

False

ModelOptions3d.use_smagorinsky_viscosity : Bool

Use Smagorinsky horisontal viscosity parametrization

Default:

False

ModelOptions3d.use_smooth_eddy_viscosity : Bool

Cast eddy viscosity to p1 space instead of p0

Default:

False

ModelOptions3d.use_turbulence : Bool

Activate turbulence model in the 3D model

Default:

False

ModelOptions3d.use_turbulence_advection : Bool

Advect TKE and Psi in the GLS turbulence model

Default:

False

ModelOptions3d.vertical_diffusivity : FiredrakeCoefficient

Vertical diffusivity for tracers

Default:

Function

ModelOptions3d.vertical_velocity_scale : FiredrakeConstant

Maximum vertical velocity magnitude

Used to compute max stable advection time step.

Default:

Constant(0.0001)

ModelOptions3d.vertical_viscosity : FiredrakeCoefficient

Vertical viscosity

Default:

Function