MOM6
|
The control structure with parameters and memory for the MOM_vert_friction module.
Definition at line 39 of file MOM_vert_friction.F90.
Public variables and constants | |
real | hmix |
The mixed layer thickness in thickness units [H ~> m or kg m-2]. More... | |
real | hmix_stress |
The mixed layer thickness over which the wind stress is applied with direct_stress [H ~> m or kg m-2]. More... | |
real | kvml |
The mixed layer vertical viscosity [Z2 T-1 ~> m2 s-1]. More... | |
real | kv |
The interior vertical viscosity [Z2 T-1 ~> m2 s-1]. More... | |
real | hbbl |
The static bottom boundary layer thickness [H ~> m or kg m-2]. More... | |
real | kvbbl |
The vertical viscosity in the bottom boundary layer [Z2 T-1 ~> m2 s-1]. More... | |
real | maxvel |
Velocity components greater than maxvel are truncated [L T-1 ~> m s-1]. More... | |
real | vel_underflow |
Velocity components smaller than vel_underflow are set to 0 [L T-1 ~> m s-1]. More... | |
logical | cfl_based_trunc |
If true, base truncations on CFL numbers, not absolute velocities. More... | |
real | cfl_trunc |
Velocity components will be truncated when they are large enough that the corresponding CFL number exceeds this value, nondim. More... | |
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. More... | |
real | truncramptime |
The time-scale over which to ramp up the value of CFL_trunc from CFL_truncS to CFL_truncE. More... | |
real | cfl_truncs |
The start value of CFL_trunc. More... | |
real | cfl_trunce |
The end/target value of CFL_trunc. More... | |
logical | cflrampingisactivated = .false. |
True if the ramping has been initialized. More... | |
type(time_type) | rampstarttime |
The time at which the ramping of CFL_trunc starts. More... | |
real, dimension(:, :, :), allocatable | a_u |
The u-drag coefficient across an interface [Z T-1 ~> m s-1]. More... | |
real, dimension(:, :, :), allocatable | h_u |
The effective layer thickness at u-points [H ~> m or kg m-2]. More... | |
real, dimension(:, :, :), allocatable | a_v |
The v-drag coefficient across an interface [Z T-1 ~> m s-1]. More... | |
real, dimension(:, :, :), allocatable | h_v |
The effective layer thickness at v-points [H ~> m or kg m-2]. More... | |
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. More... | |
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. More... | |
logical | split |
If true, use the split time stepping scheme. More... | |
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. More... | |
logical | channel_drag |
If true, the drag is exerted directly on each layer according to what fraction of the bottom they overlie. More... | |
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. More... | |
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. More... | |
logical | direct_stress |
If true, the wind stress is distributed over the topmost Hmix_stress of fluid and KVML may be very small. More... | |
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. More... | |
logical | answers_2018 |
If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use expressions that do not use an arbitary and hard-coded maximum viscous coupling coefficient between layers. More... | |
logical | debug |
If true, write verbose checksums for debugging purposes. More... | |
integer | nkml |
The number of layers in the mixed layer. More... | |
integer, pointer | ntrunc |
The number of times the velocity has been truncated since the last call to write_energy. More... | |
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. More... | |
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. More... | |
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. More... | |
type(diag_ctrl), pointer | diag |
A structure that is used to regulate the timing of diagnostic output. More... | |
type(pointaccel_cs), pointer | pointaccel_csp => NULL() |
A pointer to the control structure for recording accelerations leading to velocity truncations. More... | |
integer | id_du_dt_visc = -1 |
Diagnostic identifiers. More... | |
integer | id_dv_dt_visc = -1 |
Diagnostic identifiers. More... | |
integer | id_au_vv = -1 |
Diagnostic identifiers. More... | |
integer | id_av_vv = -1 |
Diagnostic identifiers. More... | |
integer | id_h_u = -1 |
Diagnostic identifiers. More... | |
integer | id_h_v = -1 |
Diagnostic identifiers. More... | |
integer | id_hml_u = -1 |
Diagnostic identifiers. More... | |
integer | id_hml_v = -1 |
Diagnostic identifiers. More... | |
integer | id_ray_u = -1 |
Diagnostic identifiers. More... | |
integer | id_ray_v = -1 |
Diagnostic identifiers. More... | |
integer | id_taux_bot = -1 |
Diagnostic identifiers. More... | |
integer | id_tauy_bot = -1 |
Diagnostic identifiers. More... | |
integer | id_kv_slow = -1 |
Diagnostic identifiers. More... | |
integer | id_kv_u = -1 |
Diagnostic identifiers. More... | |
integer | id_kv_v = -1 |
Diagnostic identifiers. More... | |
real, dimension(:,:), pointer mom_vert_friction::vertvisc_cs::a1_shelf_u => NULL() |
The u-momentum coupling coefficient under ice shelves [Z T-1 ~> m s-1]. Retained to determine stress under shelves.
Definition at line 75 of file MOM_vert_friction.F90.
real, dimension(:,:), pointer mom_vert_friction::vertvisc_cs::a1_shelf_v => NULL() |
The v-momentum coupling coefficient under ice shelves [Z T-1 ~> m s-1]. Retained to determine stress under shelves.
Definition at line 77 of file MOM_vert_friction.F90.
real, dimension( : , : , : ), allocatable mom_vert_friction::vertvisc_cs::a_u |
The u-drag coefficient across an interface [Z T-1 ~> m s-1].
Definition at line 67 of file MOM_vert_friction.F90.
real, dimension( : , : , : ), allocatable mom_vert_friction::vertvisc_cs::a_v |
The v-drag coefficient across an interface [Z T-1 ~> m s-1].
Definition at line 71 of file MOM_vert_friction.F90.
logical mom_vert_friction::vertvisc_cs::answers_2018 |
If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use expressions that do not use an arbitary and hard-coded maximum viscous coupling coefficient between layers.
Definition at line 103 of file MOM_vert_friction.F90.
logical mom_vert_friction::vertvisc_cs::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.
Definition at line 81 of file MOM_vert_friction.F90.
logical mom_vert_friction::vertvisc_cs::cfl_based_trunc |
If true, base truncations on CFL numbers, not absolute velocities.
Definition at line 52 of file MOM_vert_friction.F90.
real mom_vert_friction::vertvisc_cs::cfl_report |
The value of the CFL number that will cause the accelerations to be reported, nondim. CFL_report will often equal CFL_trunc.
Definition at line 57 of file MOM_vert_friction.F90.
real mom_vert_friction::vertvisc_cs::cfl_trunc |
Velocity components will be truncated when they are large enough that the corresponding CFL number exceeds this value, nondim.
Definition at line 54 of file MOM_vert_friction.F90.
real mom_vert_friction::vertvisc_cs::cfl_trunce |
The end/target value of CFL_trunc.
Definition at line 63 of file MOM_vert_friction.F90.
real mom_vert_friction::vertvisc_cs::cfl_truncs |
The start value of CFL_trunc.
Definition at line 62 of file MOM_vert_friction.F90.
logical mom_vert_friction::vertvisc_cs::cflrampingisactivated = .false. |
True if the ramping has been initialized.
Definition at line 64 of file MOM_vert_friction.F90.
logical mom_vert_friction::vertvisc_cs::channel_drag |
If true, the drag is exerted directly on each layer according to what fraction of the bottom they overlie.
Definition at line 86 of file MOM_vert_friction.F90.
logical mom_vert_friction::vertvisc_cs::debug |
If true, write verbose checksums for debugging purposes.
Definition at line 107 of file MOM_vert_friction.F90.
type(diag_ctrl), pointer mom_vert_friction::vertvisc_cs::diag |
A structure that is used to regulate the timing of diagnostic output.
Definition at line 119 of file MOM_vert_friction.F90.
logical mom_vert_friction::vertvisc_cs::direct_stress |
If true, the wind stress is distributed over the topmost Hmix_stress of fluid and KVML may be very small.
Definition at line 97 of file MOM_vert_friction.F90.
logical mom_vert_friction::vertvisc_cs::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.
Definition at line 99 of file MOM_vert_friction.F90.
real, dimension( : , : , : ), allocatable mom_vert_friction::vertvisc_cs::h_u |
The effective layer thickness at u-points [H ~> m or kg m-2].
Definition at line 69 of file MOM_vert_friction.F90.
real, dimension( : , : , : ), allocatable mom_vert_friction::vertvisc_cs::h_v |
The effective layer thickness at v-points [H ~> m or kg m-2].
Definition at line 73 of file MOM_vert_friction.F90.
real mom_vert_friction::vertvisc_cs::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.
Definition at line 93 of file MOM_vert_friction.F90.
logical mom_vert_friction::vertvisc_cs::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.
Definition at line 89 of file MOM_vert_friction.F90.
real mom_vert_friction::vertvisc_cs::hbbl |
The static bottom boundary layer thickness [H ~> m or kg m-2].
Definition at line 45 of file MOM_vert_friction.F90.
real mom_vert_friction::vertvisc_cs::hmix |
The mixed layer thickness in thickness units [H ~> m or kg m-2].
Definition at line 40 of file MOM_vert_friction.F90.
real mom_vert_friction::vertvisc_cs::hmix_stress |
The mixed layer thickness over which the wind stress is applied with direct_stress [H ~> m or kg m-2].
Definition at line 41 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::id_au_vv = -1 |
Diagnostic identifiers.
Definition at line 123 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::id_av_vv = -1 |
Diagnostic identifiers.
Definition at line 123 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::id_du_dt_visc = -1 |
Diagnostic identifiers.
Definition at line 123 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::id_dv_dt_visc = -1 |
Diagnostic identifiers.
Definition at line 123 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::id_h_u = -1 |
Diagnostic identifiers.
Definition at line 124 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::id_h_v = -1 |
Diagnostic identifiers.
Definition at line 124 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::id_hml_u = -1 |
Diagnostic identifiers.
Definition at line 124 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::id_hml_v = -1 |
Diagnostic identifiers.
Definition at line 124 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::id_kv_slow = -1 |
Diagnostic identifiers.
Definition at line 126 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::id_kv_u = -1 |
Diagnostic identifiers.
Definition at line 126 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::id_kv_v = -1 |
Diagnostic identifiers.
Definition at line 126 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::id_ray_u = -1 |
Diagnostic identifiers.
Definition at line 125 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::id_ray_v = -1 |
Diagnostic identifiers.
Definition at line 125 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::id_taux_bot = -1 |
Diagnostic identifiers.
Definition at line 125 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::id_tauy_bot = -1 |
Diagnostic identifiers.
Definition at line 125 of file MOM_vert_friction.F90.
real mom_vert_friction::vertvisc_cs::kv |
The interior vertical viscosity [Z2 T-1 ~> m2 s-1].
Definition at line 44 of file MOM_vert_friction.F90.
real mom_vert_friction::vertvisc_cs::kvbbl |
The vertical viscosity in the bottom boundary layer [Z2 T-1 ~> m2 s-1].
Definition at line 46 of file MOM_vert_friction.F90.
real mom_vert_friction::vertvisc_cs::kvml |
The mixed layer vertical viscosity [Z2 T-1 ~> m2 s-1].
Definition at line 43 of file MOM_vert_friction.F90.
real mom_vert_friction::vertvisc_cs::maxvel |
Velocity components greater than maxvel are truncated [L T-1 ~> m s-1].
Definition at line 49 of file MOM_vert_friction.F90.
integer mom_vert_friction::vertvisc_cs::nkml |
The number of layers in the mixed layer.
Definition at line 108 of file MOM_vert_friction.F90.
integer, pointer mom_vert_friction::vertvisc_cs::ntrunc |
The number of times the velocity has been truncated since the last call to write_energy.
Definition at line 109 of file MOM_vert_friction.F90.
type(pointaccel_cs), pointer mom_vert_friction::vertvisc_cs::pointaccel_csp => NULL() |
A pointer to the control structure for recording accelerations leading to velocity truncations.
Definition at line 129 of file MOM_vert_friction.F90.
type(time_type) mom_vert_friction::vertvisc_cs::rampstarttime |
The time at which the ramping of CFL_trunc starts.
Definition at line 65 of file MOM_vert_friction.F90.
logical mom_vert_friction::vertvisc_cs::split |
If true, use the split time stepping scheme.
Definition at line 80 of file MOM_vert_friction.F90.
logical mom_vert_friction::vertvisc_cs::stokesmixing |
If true, do Stokes drift mixing via the Lagrangian current (Eulerian plus Stokes drift). False by default and set via STOKES_MIXING_COMBINED.
Definition at line 115 of file MOM_vert_friction.F90.
real mom_vert_friction::vertvisc_cs::truncramptime |
The time-scale over which to ramp up the value of CFL_trunc from CFL_truncS to CFL_truncE.
Definition at line 60 of file MOM_vert_friction.F90.
character(len=200) mom_vert_friction::vertvisc_cs::u_trunc_file |
The complete path to a file in which a column of u-accelerations are written if velocity truncations occur.
Definition at line 111 of file MOM_vert_friction.F90.
character(len=200) mom_vert_friction::vertvisc_cs::v_trunc_file |
The complete path to a file in which a column of v-accelerations are written if velocity truncations occur.
Definition at line 113 of file MOM_vert_friction.F90.
real mom_vert_friction::vertvisc_cs::vel_underflow |
Velocity components smaller than vel_underflow are set to 0 [L T-1 ~> m s-1].
Definition at line 50 of file MOM_vert_friction.F90.