MOM6
|
Interface to CVMix double diffusion scheme.
Data Types | |
type | cvmix_ddiff_cs |
Control structure including parameters for CVMix double diffusion. More... | |
character(len=40) | mdl = "MOM_CVMix_ddiff" |
This module's name. More... | |
logical function, public | cvmix_ddiff_init (Time, G, GV, US, param_file, diag, CS) |
Initialized the CVMix double diffusion module. More... | |
subroutine, public | compute_ddiff_coeffs (h, tv, G, GV, US, j, Kd_T, Kd_S, CS) |
Subroutine for computing vertical diffusion coefficients for the double diffusion mixing parameterization. More... | |
logical function, public | cvmix_ddiff_is_used (param_file) |
Reads the parameter "USE_CVMIX_DDIFF" 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, public | cvmix_ddiff_end (CS) |
Clear pointers and dealocate memory. More... | |
subroutine, public mom_cvmix_ddiff::compute_ddiff_coeffs | ( | real, dimension( g %isd: g %ied, g %jsd: g %jed, g %ke), intent(in) | h, |
type(thermo_var_ptrs), intent(in) | tv, | ||
type(ocean_grid_type), intent(in) | G, | ||
type(verticalgrid_type), intent(in) | GV, | ||
type(unit_scale_type), intent(in) | US, | ||
integer, intent(in) | j, | ||
real, dimension( g %isd: g %ied, g %jsd: g %jed, g %ke+1), intent(out) | Kd_T, | ||
real, dimension( g %isd: g %ied, g %jsd: g %jed, g %ke+1), intent(out) | Kd_S, | ||
type(cvmix_ddiff_cs), pointer | CS | ||
) |
Subroutine for computing vertical diffusion coefficients for the double diffusion mixing parameterization.
[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. |
[out] | kd_t | Interface double diffusion diapycnal diffusivity for temp [Z2 T-1 ~> m2 s-1]. |
[out] | kd_s | Interface double diffusion diapycnal diffusivity for salt [Z2 T-1 ~> m2 s-1]. |
cs | The control structure returned by a previous call to CVMix_ddiff_init. | |
[in] | j | Meridional grid indice. |
Definition at line 169 of file MOM_CVMix_ddiff.F90.
Referenced by mom_set_diffusivity::set_diffusivity().
subroutine, public mom_cvmix_ddiff::cvmix_ddiff_end | ( | type(cvmix_ddiff_cs), pointer | CS | ) |
Clear pointers and dealocate memory.
cs | Control structure for this module that will be deallocated in this subroutine |
Definition at line 307 of file MOM_CVMix_ddiff.F90.
logical function, public mom_cvmix_ddiff::cvmix_ddiff_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(cvmix_ddiff_cs), pointer | CS | ||
) |
Initialized the CVMix double diffusion module.
[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 62 of file MOM_CVMix_ddiff.F90.
References mdl, and mom_error_handler::mom_error().
logical function, public mom_cvmix_ddiff::cvmix_ddiff_is_used | ( | type(param_file_type), intent(in) | param_file | ) |
Reads the parameter "USE_CVMIX_DDIFF" 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 299 of file MOM_CVMix_ddiff.F90.
References mdl.
Referenced by mom_diabatic_driver::diabatic_driver_init(), and mom_set_visc::set_visc_init().
character(len=40) mom_cvmix_ddiff::mdl = "MOM_CVMix_ddiff" |
This module's name.
Definition at line 56 of file MOM_CVMix_ddiff.F90.
Referenced by cvmix_ddiff_init(), and cvmix_ddiff_is_used().