CAM
mono_flux_limiter Module Reference

Functions/Subroutines

subroutine, public monotonic_turbulent_flux_limit (solve_type, dt, xm_old, xp2, wm_zt, xm_forcing, rho_ds_zm, rho_ds_zt, invrs_rho_ds_zm, invrs_rho_ds_zt, xp2_threshold, l_implemented, low_lev_effect, high_lev_effect, xm, xm_tol, wpxp, err_code)
 
subroutine, private mfl_xm_lhs (dt, wm_zt, l_implemented, lhs)
 
subroutine, private mfl_xm_rhs (dt, xm_old, wpxp, xm_forcing, rho_ds_zm, invrs_rho_ds_zt, rhs)
 
subroutine, private mfl_xm_solve (solve_type, lhs, rhs, xm, err_code)
 
subroutine, public calc_turb_adv_range (dt, w_1_zm, w_2_zm, varnce_w_1_zm, varnce_w_2_zm, mixt_frac_zm, low_lev_effect, high_lev_effect)
 
subroutine, private mean_vert_vel_up_down (w_1_zm, w_2_zm, varnce_w_1_zm, varnce_w_2_zm, mixt_frac_zm, w_ref, mean_w_down, mean_w_up)
 

Variables

integer, parameter, private mono_flux_thlm = 1
 
integer, parameter, private mono_flux_rtm = 2
 

Function/Subroutine Documentation

◆ calc_turb_adv_range()

subroutine, public mono_flux_limiter::calc_turb_adv_range ( real( kind = core_rknd ), intent(in)  dt,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  w_1_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  w_2_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  varnce_w_1_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  varnce_w_2_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  mixt_frac_zm,
integer, dimension(gr%nz), intent(out)  low_lev_effect,
integer, dimension(gr%nz), intent(out)  high_lev_effect 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mean_vert_vel_up_down()

subroutine, private mono_flux_limiter::mean_vert_vel_up_down ( real( kind = core_rknd ), dimension(gr%nz), intent(in)  w_1_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  w_2_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  varnce_w_1_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  varnce_w_2_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  mixt_frac_zm,
real( kind = core_rknd ), intent(in)  w_ref,
real( kind = core_rknd ), dimension(gr%nz), intent(out)  mean_w_down,
real( kind = core_rknd ), dimension(gr%nz), intent(out)  mean_w_up 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mfl_xm_lhs()

subroutine, private mono_flux_limiter::mfl_xm_lhs ( real( kind = core_rknd ), intent(in)  dt,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  wm_zt,
logical, intent(in)  l_implemented,
real( kind = core_rknd ), dimension(3,gr%nz), intent(out)  lhs 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mfl_xm_rhs()

subroutine, private mono_flux_limiter::mfl_xm_rhs ( real( kind = core_rknd ), intent(in)  dt,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  xm_old,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  wpxp,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  xm_forcing,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rho_ds_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  invrs_rho_ds_zt,
real( kind = core_rknd ), dimension(gr%nz), intent(out)  rhs 
)
private
Here is the caller graph for this function:

◆ mfl_xm_solve()

subroutine, private mono_flux_limiter::mfl_xm_solve ( integer, intent(in)  solve_type,
real( kind = core_rknd ), dimension(3,gr%nz), intent(inout)  lhs,
real( kind = core_rknd ), dimension(gr%nz), intent(inout)  rhs,
real( kind = core_rknd ), dimension(gr%nz), intent(inout)  xm,
integer, intent(out)  err_code 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ monotonic_turbulent_flux_limit()

subroutine, public mono_flux_limiter::monotonic_turbulent_flux_limit ( integer, intent(in)  solve_type,
real( kind = core_rknd ), intent(in)  dt,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  xm_old,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  xp2,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  wm_zt,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  xm_forcing,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rho_ds_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rho_ds_zt,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  invrs_rho_ds_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  invrs_rho_ds_zt,
real( kind = core_rknd ), intent(in)  xp2_threshold,
logical, intent(in)  l_implemented,
integer, dimension(gr%nz), intent(in)  low_lev_effect,
integer, dimension(gr%nz), intent(in)  high_lev_effect,
real( kind = core_rknd ), dimension(gr%nz), intent(inout)  xm,
real( kind = core_rknd ), intent(in)  xm_tol,
real( kind = core_rknd ), dimension(gr%nz), intent(inout)  wpxp,
integer, intent(out)  err_code 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ mono_flux_rtm

integer, parameter, private mono_flux_limiter::mono_flux_rtm = 2
private

◆ mono_flux_thlm

integer, parameter, private mono_flux_limiter::mono_flux_thlm = 1
private