mom_cvmix_conv module reference

Interface to CVMix convection scheme.

More…

Data Types

cvmix_conv_cs

Control structure including parameters for CVMix convection.

Functions/Subroutines

cvmix_conv_init()

Initialized the CVMix convection mixing routine.

calculate_cvmix_conv()

Subroutine for calculating enhanced diffusivity/viscosity due to convection via CVMix.

cvmix_conv_is_used()

Reads the parameter “USE_CVMix_CONVECTION” and returns state.

cvmix_conv_end()

Clear pointers and dealocate memory.

Detailed Description

Interface to CVMix convection scheme.

Type Documentation

type mom_cvmix_conv/cvmix_conv_cs

Control structure including parameters for CVMix convection.

Type fields
  • % id_n2 [integer] :: Diagnostics handles.

  • % id_kd_conv [integer] :: Diagnostics handles.

  • % id_kv_conv [integer] :: Diagnostics handles.

  • % kd_conv_const [real] :: diffusivity constant used in convective regime [m2 s-1]

  • % kv_conv_const [real] :: viscosity constant used in convective regime [m2 s-1]

  • % bv_sqr_conv [real] :: Threshold for squared buoyancy frequency needed to trigger Brunt-Vaisala parameterization [s-2].

  • % min_thickness [real] :: Minimum thickness allowed [m].

  • % debug [logical] :: If true, turn on debugging.

  • % diag [type(diag_ctrl),pointer] :: Pointer to diagnostics control structure.

Function/Subroutine Documentation

function mom_cvmix_conv/cvmix_conv_init(Time, G, GV, US, param_file, diag, CS) [logical]

Initialized the CVMix convection mixing routine.

Parameters
  • time :: [in] The current time.

  • g :: [in] Grid structure.

  • gv :: [in] Vertical grid structure.

  • us :: [in] A dimensional unit scaling type

  • param_file :: [in] Run-time parameter file handle

  • diag :: [inout] Diagnostics control structure.

  • cs :: This module’s control structure.

Call to

mdl mom_error_handler::mom_error

subroutine mom_cvmix_conv/calculate_cvmix_conv(h, tv, G, GV, US, CS, hbl, Kd, Kv, Kd_aux)

Subroutine for calculating enhanced diffusivity/viscosity due to convection via CVMix.

Parameters
  • g :: [in] Grid structure.

  • gv :: [in] Vertical grid structure.

  • us :: [in] A dimensional unit scaling type

  • h :: [in] Layer thickness [H ~> m or kg m-2].

  • tv :: [in] Thermodynamics structure.

  • cs :: The control structure returned by a previous call to CVMix_conv_init.

  • hbl :: [in] Depth of ocean boundary layer [Z ~> m]

  • kd :: [inout] Diapycnal diffusivity at each interface that

  • kv :: [inout] Viscosity at each interface that will be

  • kd_aux :: [inout] A second diapycnal diffusivity at each

Called from

mom_diabatic_driver::diabatic_ale mom_diabatic_driver::diabatic_ale_legacy mom_diabatic_driver::layered_diabatic

function mom_cvmix_conv/cvmix_conv_is_used(param_file) [logical]

Reads the parameter “USE_CVMix_CONVECTION” and returns state. This function allows other modules to know whether this parameterization will be used without needing to duplicate the log entry.

Parameters

param_file :: [in] A structure to parse for run-time parameters

Call to

mdl

Called from

mom_set_visc::set_visc_register_restarts

subroutine mom_cvmix_conv/cvmix_conv_end(CS)

Clear pointers and dealocate memory.

Parameters

cs :: Control structure for this module that will be deallocated in this subroutine