MOM6
|
Interface to background mixing schemes, including the Bryan and Lewis (1979) which is applied via CVMix.
Data Types | |
type | bkgnd_mixing_cs |
Control structure including parameters for this module. More... | |
Functions/Subroutines | |
subroutine, public | bkgnd_mixing_init (Time, G, GV, US, param_file, diag, CS) |
Initialize the background mixing routine. More... | |
subroutine, public | sfc_bkgnd_mixing (G, US, CS) |
Get surface vertical background diffusivities/viscosities. More... | |
subroutine, public | calculate_bkgnd_mixing (h, tv, N2_lay, Kd_lay, Kv, j, G, GV, US, CS) |
Calculates the vertical background diffusivities/viscosities. More... | |
logical function | cvmix_bkgnd_is_used (param_file) |
Reads the parameter "USE_CVMix_BACKGROUND" and returns state. This function allows other modules to know whether this parameterization will be used without needing to duplicate the log entry. More... | |
subroutine | check_bkgnd_scheme (CS, str) |
Sets CSbkgnd_scheme_str to check whether multiple background diffusivity schemes are activated. The string is also for error/log messages. More... | |
subroutine, public | bkgnd_mixing_end (CS) |
Clear pointers and dealocate memory. More... | |
Variables | |
character(len=40) | mdl = "MOM_bkgnd_mixing" |
This module's name. More... | |
subroutine, public mom_bkgnd_mixing::bkgnd_mixing_end | ( | type(bkgnd_mixing_cs), pointer | CS | ) |
Clear pointers and dealocate memory.
cs | Control structure for this module that will be deallocated in this subroutine |
Definition at line 576 of file MOM_bkgnd_mixing.F90.
Referenced by mom_set_diffusivity::set_diffusivity_end().
subroutine, public mom_bkgnd_mixing::bkgnd_mixing_init | ( | type(time_type), intent(in) | Time, |
type(ocean_grid_type), intent(in) | G, | ||
type(verticalgrid_type), intent(in) | GV, | ||
type(unit_scale_type), intent(in) | US, | ||
type(param_file_type), intent(in) | param_file, | ||
type(diag_ctrl), intent(inout), target | diag, | ||
type(bkgnd_mixing_cs), pointer | CS | ||
) |
Initialize the background mixing routine.
[in] | time | The current time. |
[in] | g | Grid structure. |
[in] | gv | Vertical grid structure. |
[in] | us | A dimensional unit scaling type |
[in] | param_file | Run-time parameter file handle |
[in,out] | diag | Diagnostics control structure. |
cs | This module's control structure. |
Definition at line 119 of file MOM_bkgnd_mixing.F90.
References check_bkgnd_scheme(), mdl, and mom_error_handler::mom_error().
subroutine, public mom_bkgnd_mixing::calculate_bkgnd_mixing | ( | real, dimension( g %isd: g %ied, g %jsd: g %jed, g %ke), intent(in) | h, |
type(thermo_var_ptrs), intent(in) | tv, | ||
real, dimension( g %isd: g %ied, g %ke), intent(in) | N2_lay, | ||
real, dimension( g %isd: g %ied, g %jsd: g %jed, g %ke), intent(inout) | Kd_lay, | ||
real, dimension(:,:,:), pointer | Kv, | ||
integer, intent(in) | j, | ||
type(ocean_grid_type), intent(in) | G, | ||
type(verticalgrid_type), intent(in) | GV, | ||
type(unit_scale_type), intent(in) | US, | ||
type(bkgnd_mixing_cs), pointer | CS | ||
) |
Calculates the vertical background diffusivities/viscosities.
[in] | g | Grid structure. |
[in] | gv | Vertical grid structure. |
[in] | us | A dimensional unit scaling type |
[in] | h | Layer thickness [H ~> m or kg m-2]. |
[in] | tv | Thermodynamics structure. |
[in] | n2_lay | squared buoyancy frequency associated with layers [T-2 ~> s-2] |
[in,out] | kd_lay | Diapycnal diffusivity of each layer [Z2 T-1 ~> m2 s-1]. |
kv | The "slow" vertical viscosity at each interface (not layer!) [Z2 T-1 ~> m2 s-1] | |
[in] | j | Meridional grid index |
cs | The control structure returned by a previous call to bkgnd_mixing_init. |
Definition at line 376 of file MOM_bkgnd_mixing.F90.
References mom_intrinsic_functions::invcosh().
|
private |
Sets CSbkgnd_scheme_str to check whether multiple background diffusivity schemes are activated. The string is also for error/log messages.
cs | Control structure | |
[in] | str | Background scheme identifier deducted from MOM_input parameters |
Definition at line 561 of file MOM_bkgnd_mixing.F90.
References mom_error_handler::mom_error().
Referenced by bkgnd_mixing_init().
|
private |
Reads the parameter "USE_CVMix_BACKGROUND" and returns state. This function allows other modules to know whether this parameterization will be used without needing to duplicate the log entry.
[in] | param_file | A structure to parse for run-time parameters |
Definition at line 552 of file MOM_bkgnd_mixing.F90.
References mdl.
subroutine, public mom_bkgnd_mixing::sfc_bkgnd_mixing | ( | type(ocean_grid_type), intent(in) | G, |
type(unit_scale_type), intent(in) | US, | ||
type(bkgnd_mixing_cs), intent(inout), pointer | CS | ||
) |
Get surface vertical background diffusivities/viscosities.
[in] | g | Grid structure. |
[in] | us | A dimensional unit scaling type |
[in,out] | cs | The control structure returned by a previous call to bkgnd_mixing_init. |
Definition at line 322 of file MOM_bkgnd_mixing.F90.
References mom_intrinsic_functions::invcosh().
Referenced by mom_set_diffusivity::set_diffusivity().
character(len=40) mom_bkgnd_mixing::mdl = "MOM_bkgnd_mixing" |
This module's name.
Definition at line 113 of file MOM_bkgnd_mixing.F90.
Referenced by bkgnd_mixing_init(), and cvmix_bkgnd_is_used().