CAM
numerical_check Module Reference

Data Types

interface  check_nan
 
interface  check_negative
 

Functions/Subroutines

subroutine, public length_check (Lscale, Lscale_up, Lscale_down, err_code)
 
subroutine, public pdf_closure_check (wp4, wprtp2, wp2rtp, wpthlp2, wp2thlp, cloud_frac, rcm, wpthvp, wp2thvp, rtpthvp, thlpthvp, wprcp, wp2rcp, rtprcp, thlprcp, rcp2, wprtpthlp, crt_1, crt_2, cthl_1, cthl_2, pdf_params, sclrpthvp, sclrprcp, wpsclrp2, wpsclrprtp, wpsclrpthlp, wp2sclrp, err_code)
 
subroutine, public parameterization_check (thlm_forcing, rtm_forcing, um_forcing, vm_forcing, wm_zm, wm_zt, p_in_Pa, rho_zm, rho, exner, rho_ds_zm, rho_ds_zt, invrs_rho_ds_zm, invrs_rho_ds_zt, thv_ds_zm, thv_ds_zt, wpthlp_sfc, wprtp_sfc, upwp_sfc, vpwp_sfc, um, upwp, vm, vpwp, up2, vp2, rtm, wprtp, thlm, wpthlp, wp2, wp3, rtp2, thlp2, rtpthlp, prefix, wpsclrp_sfc, wpedsclrp_sfc, sclrm, wpsclrp, sclrp2, sclrprtp, sclrpthlp, sclrm_forcing, edsclrm, edsclrm_forcing, err_code)
 
subroutine, public surface_varnce_check (wp2_sfc, up2_sfc, vp2_sfc, thlp2_sfc, rtp2_sfc, rtpthlp_sfc, sclrp2_sfc, sclrprtp_sfc, sclrpthlp_sfc, err_code)
 
subroutine, public rad_check (thlm, rcm, rtm, rim, cloud_frac, p_in_Pa, exner, rho_zm)
 
logical function, public invalid_model_arrays ()
 
logical function, public is_nan_sclr (xarg)
 
logical function, public is_nan_2d (x2d)
 
subroutine check_negative_total (var, varname, operation, err_code)
 
subroutine check_negative_index (var, ndim, varname, operation, err_code)
 
subroutine check_nan_2d (var, varname, operation, err_code)
 
subroutine check_nan_sclr (var, varname, operation, err_code)
 
pure real(kind=core_rknd) function, public calculate_spurious_source (integral_after, integral_before, flux_top, flux_sfc, integral_forcing, dt)
 

Function/Subroutine Documentation

◆ calculate_spurious_source()

pure real( kind = core_rknd ) function, public numerical_check::calculate_spurious_source ( real( kind = core_rknd ), intent(in)  integral_after,
real( kind = core_rknd ), intent(in)  integral_before,
real( kind = core_rknd ), intent(in)  flux_top,
real( kind = core_rknd ), intent(in)  flux_sfc,
real( kind = core_rknd ), intent(in)  integral_forcing,
real( kind = core_rknd ), intent(in)  dt 
)
Here is the caller graph for this function:

◆ check_nan_2d()

subroutine numerical_check::check_nan_2d ( real( kind = core_rknd ), dimension(:), intent(in)  var,
character(len=*), intent(in)  varname,
character(len=*), intent(in)  operation,
integer, intent(inout), optional  err_code 
)
Here is the call graph for this function:

◆ check_nan_sclr()

subroutine numerical_check::check_nan_sclr ( real( kind = core_rknd ), intent(in)  var,
character(len=*), intent(in)  varname,
character(len=*), intent(in)  operation,
integer, intent(inout), optional  err_code 
)
Here is the call graph for this function:

◆ check_negative_index()

subroutine numerical_check::check_negative_index ( real( kind = core_rknd ), dimension(ndim), intent(in)  var,
integer, intent(in)  ndim,
character(len=*), intent(in)  varname,
character(len=*), intent(in)  operation,
integer, intent(inout), optional  err_code 
)

◆ check_negative_total()

subroutine numerical_check::check_negative_total ( real( kind = core_rknd ), dimension(:), intent(in)  var,
character(len=*), intent(in)  varname,
character(len=*), intent(in)  operation,
integer, intent(inout), optional  err_code 
)

◆ invalid_model_arrays()

logical function, public numerical_check::invalid_model_arrays ( )
Here is the call graph for this function:

◆ is_nan_2d()

logical function, public numerical_check::is_nan_2d ( real( kind = core_rknd ), dimension(:), intent(in)  x2d)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_nan_sclr()

logical function, public numerical_check::is_nan_sclr ( real( kind = core_rknd ), intent(in)  xarg)
Here is the caller graph for this function:

◆ length_check()

subroutine, public numerical_check::length_check ( real( kind = core_rknd ), dimension(gr%nz), intent(in)  Lscale,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  Lscale_up,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  Lscale_down,
integer, intent(inout)  err_code 
)
Here is the caller graph for this function:

◆ parameterization_check()

subroutine, public numerical_check::parameterization_check ( real( kind = core_rknd ), dimension(gr%nz), intent(in)  thlm_forcing,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rtm_forcing,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  um_forcing,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  vm_forcing,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  wm_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  wm_zt,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  p_in_Pa,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rho_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rho,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  exner,
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 ), dimension(gr%nz), intent(in)  thv_ds_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  thv_ds_zt,
real( kind = core_rknd ), intent(in)  wpthlp_sfc,
real( kind = core_rknd ), intent(in)  wprtp_sfc,
real( kind = core_rknd ), intent(in)  upwp_sfc,
real( kind = core_rknd ), intent(in)  vpwp_sfc,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  um,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  upwp,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  vm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  vpwp,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  up2,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  vp2,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rtm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  wprtp,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  thlm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  wpthlp,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  wp2,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  wp3,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rtp2,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  thlp2,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rtpthlp,
character(len=*), intent(in)  prefix,
real( kind = core_rknd ), dimension(sclr_dim), intent(in)  wpsclrp_sfc,
real( kind = core_rknd ), dimension(edsclr_dim), intent(in)  wpedsclrp_sfc,
real( kind = core_rknd ), dimension(gr%nz,sclr_dim), intent(in)  sclrm,
real( kind = core_rknd ), dimension(gr%nz,sclr_dim), intent(in)  wpsclrp,
real( kind = core_rknd ), dimension(gr%nz,sclr_dim), intent(in)  sclrp2,
real( kind = core_rknd ), dimension(gr%nz,sclr_dim), intent(in)  sclrprtp,
real( kind = core_rknd ), dimension(gr%nz,sclr_dim), intent(in)  sclrpthlp,
real( kind = core_rknd ), dimension(gr%nz,sclr_dim), intent(in)  sclrm_forcing,
real( kind = core_rknd ), dimension(gr%nz,edsclr_dim), intent(in)  edsclrm,
real( kind = core_rknd ), dimension(gr%nz,edsclr_dim), intent(in)  edsclrm_forcing,
integer, intent(inout)  err_code 
)
Here is the caller graph for this function:

◆ pdf_closure_check()

subroutine, public numerical_check::pdf_closure_check ( real( kind = core_rknd ), intent(in)  wp4,
real( kind = core_rknd ), intent(in)  wprtp2,
real( kind = core_rknd ), intent(in)  wp2rtp,
real( kind = core_rknd ), intent(in)  wpthlp2,
real( kind = core_rknd ), intent(in)  wp2thlp,
real( kind = core_rknd ), intent(in)  cloud_frac,
real( kind = core_rknd ), intent(in)  rcm,
real( kind = core_rknd ), intent(in)  wpthvp,
real( kind = core_rknd ), intent(in)  wp2thvp,
real( kind = core_rknd ), intent(in)  rtpthvp,
real( kind = core_rknd ), intent(in)  thlpthvp,
real( kind = core_rknd ), intent(in)  wprcp,
real( kind = core_rknd ), intent(in)  wp2rcp,
real( kind = core_rknd ), intent(in)  rtprcp,
real( kind = core_rknd ), intent(in)  thlprcp,
real( kind = core_rknd ), intent(in)  rcp2,
real( kind = core_rknd ), intent(in)  wprtpthlp,
real( kind = core_rknd ), intent(in)  crt_1,
real( kind = core_rknd ), intent(in)  crt_2,
real( kind = core_rknd ), intent(in)  cthl_1,
real( kind = core_rknd ), intent(in)  cthl_2,
type(pdf_parameter), intent(in)  pdf_params,
real( kind = core_rknd ), dimension(sclr_dim), intent(in)  sclrpthvp,
real( kind = core_rknd ), dimension(sclr_dim), intent(in)  sclrprcp,
real( kind = core_rknd ), dimension(sclr_dim), intent(in)  wpsclrp2,
real( kind = core_rknd ), dimension(sclr_dim), intent(in)  wpsclrprtp,
real( kind = core_rknd ), dimension(sclr_dim), intent(in)  wpsclrpthlp,
real( kind = core_rknd ), dimension(sclr_dim), intent(in)  wp2sclrp,
integer, intent(inout)  err_code 
)
Here is the caller graph for this function:

◆ rad_check()

subroutine, public numerical_check::rad_check ( real( kind = core_rknd ), dimension(gr%nz), intent(in)  thlm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rcm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rtm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rim,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  cloud_frac,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  p_in_Pa,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  exner,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rho_zm 
)

◆ surface_varnce_check()

subroutine, public numerical_check::surface_varnce_check ( real( kind = core_rknd ), intent(in)  wp2_sfc,
real( kind = core_rknd ), intent(in)  up2_sfc,
real( kind = core_rknd ), intent(in)  vp2_sfc,
real( kind = core_rknd ), intent(in)  thlp2_sfc,
real( kind = core_rknd ), intent(in)  rtp2_sfc,
real( kind = core_rknd ), intent(in)  rtpthlp_sfc,
real( kind = core_rknd ), dimension(sclr_dim), intent(in)  sclrp2_sfc,
real( kind = core_rknd ), dimension(sclr_dim), intent(in)  sclrprtp_sfc,
real( kind = core_rknd ), dimension(sclr_dim), intent(in)  sclrpthlp_sfc,
integer, intent(inout)  err_code 
)
Here is the caller graph for this function: