MOM6
mom_vert_friction::vertvisc_cs Type Reference

Detailed Description

The control structure with parameters and memory for the MOM_vert_friction module.

Definition at line 39 of file MOM_vert_friction.F90.

Collaboration diagram for mom_vert_friction::vertvisc_cs:
[legend]

Public variables and constants

real hmix
 The mixed layer thickness in thickness units [H ~> m or kg m-2].
 
real hmix_stress
 The mixed layer thickness over which the wind stress is applied with direct_stress [H ~> m or kg m-2].
 
real kvml
 The mixed layer vertical viscosity [Z2 T-1 ~> m2 s-1].
 
real kv
 The interior vertical viscosity [Z2 T-1 ~> m2 s-1].
 
real hbbl
 The static bottom boundary layer thickness [H ~> m or kg m-2].
 
real kvbbl
 The vertical viscosity in the bottom boundary layer [Z2 T-1 ~> m2 s-1].
 
real maxvel
 Velocity components greater than maxvel are truncated [m s-1].
 
real vel_underflow
 Velocity components smaller than vel_underflow are set to 0 [m s-1].
 
logical cfl_based_trunc
 If true, base truncations on CFL numbers, not absolute velocities.
 
real cfl_trunc
 Velocity components will be truncated when they are large enough that the corresponding CFL number exceeds this value, nondim.
 
real cfl_report
 The value of the CFL number that will cause the accelerations to be reported, nondim. CFL_report will often equal CFL_trunc.
 
real truncramptime
 The time-scale over which to ramp up the value of CFL_trunc from CFL_truncS to CFL_truncE.
 
real cfl_truncs
 The start value of CFL_trunc.
 
real cfl_trunce
 The end/target value of CFL_trunc.
 
logical cflrampingisactivated = .false.
 True if the ramping has been initialized.
 
type(time_type) rampstarttime
 The time at which the ramping of CFL_trunc starts.
 
real, dimension(:, :, :), allocatable a_u
 The u-drag coefficient across an interface [Z T-1 ~> m s-1].
 
real, dimension(:, :, :), allocatable h_u
 The effective layer thickness at u-points [H ~> m or kg m-2].
 
real, dimension(:, :, :), allocatable a_v
 The v-drag coefficient across an interface [Z T-1 ~> m s-1].
 
real, dimension(:, :, :), allocatable h_v
 The effective layer thickness at v-points [H ~> m or kg m-2].
 
real, dimension(:,:), pointer a1_shelf_u => NULL()
 The u-momentum coupling coefficient under ice shelves [Z T-1 ~> m s-1]. Retained to determine stress under shelves.
 
real, dimension(:,:), pointer a1_shelf_v => NULL()
 The v-momentum coupling coefficient under ice shelves [Z T-1 ~> m s-1]. Retained to determine stress under shelves.
 
logical split
 If true, use the split time stepping scheme.
 
logical bottomdraglaw
 If true, the bottom stress is calculated with a drag law c_drag*|u|*u. The velocity magnitude may be an assumed value or it may be based on the actual velocity in the bottommost HBBL, depending on whether linear_drag is true.
 
logical channel_drag
 If true, the drag is exerted directly on each layer according to what fraction of the bottom they overlie.
 
logical harmonic_visc
 If true, the harmonic mean thicknesses are used to calculate the viscous coupling between layers except near the bottom. Otherwise the arithmetic mean thickness is used except near the bottom.
 
real harm_bl_val
 A scale to determine when water is in the boundary layers based solely on harmonic mean thicknesses for the purpose of determining the extent to which the thicknesses used in the viscosities are upwinded.
 
logical direct_stress
 If true, the wind stress is distributed over the topmost Hmix_stress of fluid and KVML may be very small.
 
logical dynamic_viscous_ml
 If true, use the results from a dynamic calculation, perhaps based on a bulk Richardson number criterion, to determine the mixed layer thickness for viscosity.
 
logical debug
 If true, write verbose checksums for debugging purposes.
 
integer nkml
 The number of layers in the mixed layer.
 
integer, pointer ntrunc
 The number of times the velocity has been truncated since the last call to write_energy.
 
character(len=200) u_trunc_file
 The complete path to a file in which a column of u-accelerations are written if velocity truncations occur.
 
character(len=200) v_trunc_file
 The complete path to a file in which a column of v-accelerations are written if velocity truncations occur.
 
logical stokesmixing
 If true, do Stokes drift mixing via the Lagrangian current (Eulerian plus Stokes drift). False by default and set via STOKES_MIXING_COMBINED.
 
type(diag_ctrl), pointer diag
 A structure that is used to regulate the timing of diagnostic output.
 
type(pointaccel_cs), pointer pointaccel_csp => NULL()
 A pointer to the control structure for recording accelerations leading to velocity truncations.
 
integer id_du_dt_visc = -1
 Diagnostic identifiers.
 
integer id_dv_dt_visc = -1
 Diagnostic identifiers.
 
integer id_au_vv = -1
 Diagnostic identifiers.
 
integer id_av_vv = -1
 Diagnostic identifiers.
 
integer id_h_u = -1
 Diagnostic identifiers.
 
integer id_h_v = -1
 Diagnostic identifiers.
 
integer id_hml_u = -1
 Diagnostic identifiers.
 
integer id_hml_v = -1
 Diagnostic identifiers.
 
integer id_ray_u = -1
 Diagnostic identifiers.
 
integer id_ray_v = -1
 Diagnostic identifiers.
 
integer id_taux_bot = -1
 Diagnostic identifiers.
 
integer id_tauy_bot = -1
 Diagnostic identifiers.
 
integer id_kv_slow = -1
 Diagnostic identifiers.
 
integer id_kv_u = -1
 Diagnostic identifiers.
 
integer id_kv_v = -1
 Diagnostic identifiers.
 

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