MOM6
mom_coriolisadv::coriolisadv_cs Type Reference

Detailed Description

Control structure for mom_coriolisadv.

Definition at line 27 of file MOM_CoriolisAdv.F90.

Collaboration diagram for mom_coriolisadv::coriolisadv_cs:
[legend]

Public variables and constants

integer coriolis_scheme
 Selects the discretization for the Coriolis terms. Valid values are: More...
 
integer ke_scheme
 KE_SCHEME selects the discretization for the kinetic energy. Valid values are: KE_ARAKAWA, KE_SIMPLE_GUDONOV, KE_GUDONOV.
 
integer pv_adv_scheme
 PV_ADV_SCHEME selects the discretization for PV advection Valid values are: More...
 
real f_eff_max_blend
 The factor by which the maximum effective Coriolis acceleration from any point can be increased when blending different discretizations with the ARAKAWA_LAMB_BLEND Coriolis scheme. This must be greater than 2.0, and is 4.0 by default.
 
real wt_lin_blend
 A weighting value beyond which the blending between Sadourny and Arakawa & Hsu goes linearly to 0. This must be between 1 and 1e-15, often 1/8.
 
logical no_slip
 If true, no slip boundary conditions are used. Otherwise free slip boundary conditions are assumed. The implementation of the free slip boundary conditions on a C-grid is much cleaner than the no slip boundary conditions. The use of free slip b.c.s is strongly encouraged. The no slip b.c.s are not implemented with the biharmonic viscosity.
 
logical bound_coriolis
 If true, the Coriolis terms at u points are bounded by the four estimates of (f+rv)v from the four neighboring v points, and similarly at v points. This option would have no effect on the SADOURNY75_ENERGY scheme if it were possible to use centered difference thickness fluxes.
 
logical coriolis_en_dis
 If CORIOLIS_EN_DIS is defined, two estimates of the thickness fluxes are used to estimate the Coriolis term, and the one that dissipates energy relative to the other one is used. This is only available at present if Coriolis scheme is SADOURNY75_ENERGY.
 
type(time_type), pointer time
 A pointer to the ocean model's clock.
 
type(diag_ctrl), pointer diag
 A structure that is used to regulate the timing of diagnostic output.
 
integer id_rv = -1
 Diagnostic IDs.
 
integer id_pv = -1
 Diagnostic IDs.
 
integer id_gkeu = -1
 Diagnostic IDs.
 
integer id_gkev = -1
 Diagnostic IDs.
 
integer id_rvxu = -1
 Diagnostic IDs.
 
integer id_rvxv = -1
 Diagnostic IDs.
 

Variables and constants

◆ coriolis_scheme

integer mom_coriolisadv::coriolisadv_cs::coriolis_scheme

Selects the discretization for the Coriolis terms. Valid values are:

  • SADOURNY75_ENERGY - Sadourny, 1975
  • ARAKAWA_HSU90 - Arakawa & Hsu, 1990, Energy & non-div. Enstrophy
  • ROBUST_ENSTRO - Pseudo-enstrophy scheme
  • SADOURNY75_ENSTRO - Sadourny, JAS 1975, Enstrophy
  • ARAKAWA_LAMB81 - Arakawa & Lamb, MWR 1981, Energy & Enstrophy
  • ARAKAWA_LAMB_BLEND - A blend of Arakawa & Lamb with Arakawa & Hsu and Sadourny energy. The default, SADOURNY75_ENERGY, is the safest choice then the deformation radius is poorly resolved.

Definition at line 28 of file MOM_CoriolisAdv.F90.

28  integer :: Coriolis_Scheme !< Selects the discretization for the Coriolis terms.

◆ pv_adv_scheme

integer mom_coriolisadv::coriolisadv_cs::pv_adv_scheme

PV_ADV_SCHEME selects the discretization for PV advection Valid values are:

  • PV_ADV_CENTERED - centered (aka Sadourny, 75)
  • PV_ADV_UPWIND1 - upwind, first order

Definition at line 41 of file MOM_CoriolisAdv.F90.

41  integer :: PV_Adv_Scheme !< PV_ADV_SCHEME selects the discretization for PV advection

The documentation for this type was generated from the following file: