MOM6
|
Does full convective adjustment of unstable regions via a strong diffusivity.
Functions/Subroutines | |
subroutine, public | full_convection (G, GV, h, tv, T_adj, S_adj, p_surf, Kddt_smooth, Kddt_convect, halo) |
Calculate new temperatures and salinities that have been subject to full convective mixing. More... | |
logical function | is_unstable (dRho_dT, dRho_dS, h_a, h_b, mix_A, mix_B, T_a, T_b, S_a, S_b, Te_aa, Te_bb, Se_aa, Se_bb, d_A, d_B) |
This function returns True if the profiles around the given interface will be statically unstable after mixing above below. The arguments are the ocean state above and below, including partial calculations from a tridiagonal solver. More... | |
subroutine | smoothed_drdt_drds (h, tv, Kddt, dR_dT, dR_dS, G, GV, j, p_surf, halo) |
Returns the partial derivatives of locally referenced potential density with temperature and salinity after the properties have been smoothed with a small constant diffusivity. More... | |
subroutine, public mom_full_convection::full_convection | ( | type(ocean_grid_type), intent(in) | G, |
type(verticalgrid_type), intent(in) | GV, | ||
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 %jsd: g %jed, g %ke), intent(out) | T_adj, | ||
real, dimension( g %isd: g %ied, g %jsd: g %jed, g %ke), intent(out) | S_adj, | ||
real, dimension(:,:), pointer | p_surf, | ||
real, intent(in) | Kddt_smooth, | ||
real, intent(in), optional | Kddt_convect, | ||
integer, intent(in), optional | halo | ||
) |
Calculate new temperatures and salinities that have been subject to full convective mixing.
[in] | g | The ocean's grid structure |
[in] | gv | The ocean's vertical grid structure |
[in] | h | Layer thicknesses [H ~> m or kg m-2] |
[in] | tv | A structure pointing to various thermodynamic variables |
[out] | t_adj | Adjusted potential temperature [degC]. |
[out] | s_adj | Adjusted salinity [ppt]. |
p_surf | The pressure at the ocean surface [Pa] (or NULL). | |
[in] | kddt_smooth | A smoothing vertical diffusivity times a timestep [H2 ~> m2 or kg2 m-4]. |
[in] | kddt_convect | A large convecting vertical diffusivity times a timestep [H2 ~> m2 or kg2 m-4]. |
[in] | halo | Halo width over which to compute |
Definition at line 22 of file MOM_full_convection.F90.
References is_unstable(), and smoothed_drdt_drds().
Referenced by mom_set_diffusivity::set_diffusivity().
|
private |
This function returns True if the profiles around the given interface will be statically unstable after mixing above below. The arguments are the ocean state above and below, including partial calculations from a tridiagonal solver.
[in] | drho_dt | The derivative of in situ density with temperature [kg m-3 degC-1] |
[in] | drho_ds | The derivative of in situ density with salinity [kg m-3 ppt-1] |
[in] | h_a | The thickness of the layer above [H ~> m or kg m-2] |
[in] | h_b | The thickness of the layer below [H ~> m or kg m-2] |
[in] | mix_a | The time integrated mixing rate of the interface above [H ~> m or kg m-2] |
[in] | mix_b | The time integrated mixing rate of the interface below [H ~> m or kg m-2] |
[in] | t_a | The initial temperature of the layer above [degC] |
[in] | t_b | The initial temperature of the layer below [degC] |
[in] | s_a | The initial salinity of the layer below [ppt] |
[in] | s_b | The initial salinity of the layer below [ppt] |
[in] | te_aa | The estimated temperature two layers above rescaled by d_A [degC] |
[in] | te_bb | The estimated temperature two layers below rescaled by d_B [degC] |
[in] | se_aa | The estimated salinity two layers above rescaled by d_A [ppt] |
[in] | se_bb | The estimated salinity two layers below rescaled by d_B [ppt] |
[in] | d_a | The rescaling dependency across the interface above, nondim. |
[in] | d_b | The rescaling dependency across the interface below, nondim. |
Definition at line 284 of file MOM_full_convection.F90.
Referenced by full_convection().
|
private |
Returns the partial derivatives of locally referenced potential density with temperature and salinity after the properties have been smoothed with a small constant diffusivity.
[in] | g | The ocean's grid structure |
[in] | gv | The ocean's vertical grid structure |
[in] | h | Layer thicknesses [H ~> m or kg m-2] |
[in] | tv | A structure pointing to various thermodynamic variables |
[in] | kddt | A diffusivity times a time increment [H2 ~> m2 or kg2 m-4]. |
[out] | dr_dt | Derivative of locally referenced |
[out] | dr_ds | Derivative of locally referenced |
[in] | j | The j-point to work on. |
p_surf | The pressure at the ocean surface [Pa]. | |
[in] | halo | Halo width over which to compute |
Definition at line 321 of file MOM_full_convection.F90.
Referenced by full_convection().