CAM
setup_clubb_pdf_params Module Reference

Functions/Subroutines

subroutine, public setup_pdf_parameters (nz, d_variables, dt, rho, Nc_in_cloud, rcm, cloud_frac, ice_supersat_frac, hydromet, wphydrometp, corr_array_cloud, corr_array_below, pdf_params, l_stats_samp, hydrometp2, mu_x_1_n, mu_x_2_n, sigma_x_1_n, sigma_x_2_n, corr_array_1_n, corr_array_2_n, corr_cholesky_mtx_1, corr_cholesky_mtx_2, hydromet_pdf_params)
 
subroutine, private component_means_hydromet_orig (nz, hydromet, rho, rc_1, rc_2, mixt_frac, l_stats_samp, hm1, hm2)
 
subroutine, private component_means_hydromet_corr (nz, hydromet, wphydrometp_zt, hydrometp2_zt, wp2_zt, mixt_frac, l_stats_samp, hm_1, hm_2)
 
subroutine, private precip_fraction (nz, hydromet, hm1, hm2, cloud_frac, cloud_frac_1, mixt_frac, ice_supersat_frac, precip_frac, precip_frac_1, precip_frac_2)
 
subroutine, public compute_mean_stdev (Ncnm, rc_1, rc_2, cloud_frac_1, cloud_frac_2, hm1, hm2, precip_frac_1, precip_frac_2, sigma2_on_mu2_ip_array_cloud, sigma2_on_mu2_ip_array_below, pdf_params, d_variables, mu_x_1, mu_x_2, sigma_x_1, sigma_x_2)
 
subroutine, public compute_corr (wm_zt, rc_1, rc_2, cloud_frac_1, cloud_frac_2, wpchip, wpNcnp, stdev_w, mixt_frac, precip_frac_1, precip_frac_2, wphydrometp_zt, mu_x_1, mu_x_2, sigma_x_1, sigma_x_2, corr_array_cloud, corr_array_below, pdf_params, d_variables, corr_array_1, corr_array_2)
 
real(kind=core_rknd) function, private component_mean_hm_ip (hmi, precip_frac_i, hydromet_tol)
 
real(kind=core_rknd) function, private component_stdev_hm_ip (mu_hm_i, rci, cloud_fraci, hm_sigma2_on_mu2_cloud, hm_sigma2_on_mu2_below)
 
real(kind=core_rknd) function, private component_corr_w_x (corr_w_x, rc_i, cloud_frac_i, corr_w_x_NN_cloud, corr_w_x_NN_below)
 
real(kind=core_rknd) function, private component_corr_chi_eta (pdf_corr_chi_eta_i, rc_i, cloud_frac_i, corr_chi_eta_NN_cloud, corr_chi_eta_NN_below, l_limit_corr_chi_eta)
 
real(kind=core_rknd) function, private component_corr_w_hm_ip (corr_w_hm_i_in, rc_i, cloud_frac_i, corr_w_hm_NL_cloud, corr_w_hm_NL_below)
 
real(kind=core_rknd) function, private component_corr_x_hm_ip (rc_i, cloud_frac_i, corr_x_hm_NL_cloud, corr_x_hm_NL_below)
 
real(kind=core_rknd) function, private component_corr_hmx_hmy_ip (rc_i, cloud_frac_i, corr_hmx_hmy_LL_cloud, corr_hmx_hmy_LL_below)
 
pure real(kind=core_rknd) function component_corr_eta_hm_ip (corr_chi_eta_i, corr_chi_hm_i)
 
subroutine, public normalize_mean_stdev (hm1, hm2, Ncnm, d_variables, mu_x_1, mu_x_2, sigma_x_1, sigma_x_2, sigma2_on_mu2_ip_1, sigma2_on_mu2_ip_2, mu_x_1_n, mu_x_2_n, sigma_x_1_n, sigma_x_2_n)
 
subroutine, public normalize_corr (d_variables, sigma_x_1_n, sigma_x_2_n, sigma2_on_mu2_ip_1, sigma2_on_mu2_ip_2, corr_array_1, corr_array_2, corr_array_1_n, corr_array_2_n)
 
subroutine, private calc_corr_w_hm (wm, wphydrometp, mu_w_1, mu_w_2, mu_hm_1, mu_hm_2, sigma_w_1, sigma_w_2, sigma_hm_1, sigma_hm_2, mixt_frac, precip_frac_1, precip_frac_2, corr_w_hm_1, corr_w_hm_2, hm_tol)
 
subroutine, private pdf_param_hm_stats (d_variables, level, mu_x_1, mu_x_2, sigma_x_1, sigma_x_2, corr_array_1, corr_array_2, l_stats_samp)
 
subroutine, private pdf_param_ln_hm_stats (d_variables, level, mu_x_1_n, mu_x_2_n, sigma_x_1_n, sigma_x_2_n, corr_array_1_n, corr_array_2_n, l_stats_samp)
 
subroutine, private pack_pdf_params (hm1, hm2, d_variables, mu_x_1, mu_x_2, sigma_x_1, sigma_x_2, corr_array_1, corr_array_2, precip_frac, precip_frac_1, precip_frac_2, hydromet_pdf_params)
 
elemental real(kind=core_rknd) function compute_rtp2_from_chi (pdf_params, corr_chi_eta_1, corr_chi_eta_2)
 

Variables

logical, parameter, private l_interp_prescribed_params = .false.
 

Function/Subroutine Documentation

◆ calc_corr_w_hm()

subroutine, private setup_clubb_pdf_params::calc_corr_w_hm ( real( kind = core_rknd ), intent(in)  wm,
real( kind = core_rknd ), intent(in)  wphydrometp,
real( kind = core_rknd ), intent(in)  mu_w_1,
real( kind = core_rknd ), intent(in)  mu_w_2,
real( kind = core_rknd ), intent(in)  mu_hm_1,
real( kind = core_rknd ), intent(in)  mu_hm_2,
real( kind = core_rknd ), intent(in)  sigma_w_1,
real( kind = core_rknd ), intent(in)  sigma_w_2,
real( kind = core_rknd ), intent(in)  sigma_hm_1,
real( kind = core_rknd ), intent(in)  sigma_hm_2,
real( kind = core_rknd ), intent(in)  mixt_frac,
real( kind = core_rknd ), intent(in)  precip_frac_1,
real( kind = core_rknd ), intent(in)  precip_frac_2,
real( kind = core_rknd ), intent(out)  corr_w_hm_1,
real( kind = core_rknd ), intent(out)  corr_w_hm_2,
real( kind = core_rknd ), intent(in)  hm_tol 
)
private
Here is the caller graph for this function:

◆ component_corr_chi_eta()

real( kind = core_rknd ) function, private setup_clubb_pdf_params::component_corr_chi_eta ( real( kind = core_rknd ), intent(in)  pdf_corr_chi_eta_i,
real( kind = core_rknd ), intent(in)  rc_i,
real( kind = core_rknd ), intent(in)  cloud_frac_i,
real( kind = core_rknd ), intent(in)  corr_chi_eta_NN_cloud,
real( kind = core_rknd ), intent(in)  corr_chi_eta_NN_below,
logical, intent(in)  l_limit_corr_chi_eta 
)
private
Here is the caller graph for this function:

◆ component_corr_eta_hm_ip()

pure real( kind = core_rknd ) function setup_clubb_pdf_params::component_corr_eta_hm_ip ( real( kind = core_rknd ), intent(in)  corr_chi_eta_i,
real( kind = core_rknd ), intent(in)  corr_chi_hm_i 
)
Here is the caller graph for this function:

◆ component_corr_hmx_hmy_ip()

real( kind = core_rknd ) function, private setup_clubb_pdf_params::component_corr_hmx_hmy_ip ( real( kind = core_rknd ), intent(in)  rc_i,
real( kind = core_rknd ), intent(in)  cloud_frac_i,
real( kind = core_rknd ), intent(in)  corr_hmx_hmy_LL_cloud,
real( kind = core_rknd ), intent(in)  corr_hmx_hmy_LL_below 
)
private
Here is the caller graph for this function:

◆ component_corr_w_hm_ip()

real( kind = core_rknd ) function, private setup_clubb_pdf_params::component_corr_w_hm_ip ( real( kind = core_rknd ), intent(in)  corr_w_hm_i_in,
real( kind = core_rknd ), intent(in)  rc_i,
real( kind = core_rknd ), intent(in)  cloud_frac_i,
real( kind = core_rknd ), intent(in)  corr_w_hm_NL_cloud,
real( kind = core_rknd ), intent(in)  corr_w_hm_NL_below 
)
private
Here is the caller graph for this function:

◆ component_corr_w_x()

real( kind = core_rknd ) function, private setup_clubb_pdf_params::component_corr_w_x ( real( kind = core_rknd ), intent(in)  corr_w_x,
real( kind = core_rknd ), intent(in)  rc_i,
real( kind = core_rknd ), intent(in)  cloud_frac_i,
real( kind = core_rknd ), intent(in)  corr_w_x_NN_cloud,
real( kind = core_rknd ), intent(in)  corr_w_x_NN_below 
)
private
Here is the caller graph for this function:

◆ component_corr_x_hm_ip()

real( kind = core_rknd ) function, private setup_clubb_pdf_params::component_corr_x_hm_ip ( real( kind = core_rknd ), intent(in)  rc_i,
real( kind = core_rknd ), intent(in)  cloud_frac_i,
real( kind = core_rknd ), intent(in)  corr_x_hm_NL_cloud,
real( kind = core_rknd ), intent(in)  corr_x_hm_NL_below 
)
private
Here is the caller graph for this function:

◆ component_mean_hm_ip()

real( kind = core_rknd ) function, private setup_clubb_pdf_params::component_mean_hm_ip ( real( kind = core_rknd ), intent(in)  hmi,
real( kind = core_rknd ), intent(in)  precip_frac_i,
real( kind = core_rknd ), intent(in)  hydromet_tol 
)
private
Here is the caller graph for this function:

◆ component_means_hydromet_corr()

subroutine, private setup_clubb_pdf_params::component_means_hydromet_corr ( integer, intent(in)  nz,
real( kind = core_rknd ), dimension(nz,hydromet_dim), intent(in)  hydromet,
real( kind = core_rknd ), dimension(nz,hydromet_dim), intent(in)  wphydrometp_zt,
real( kind = core_rknd ), dimension(nz,hydromet_dim), intent(in)  hydrometp2_zt,
real( kind = core_rknd ), dimension(nz), intent(in)  wp2_zt,
real( kind = core_rknd ), dimension(nz), intent(in)  mixt_frac,
logical, intent(in)  l_stats_samp,
real( kind = core_rknd ), dimension(nz,hydromet_dim), intent(out)  hm_1,
real( kind = core_rknd ), dimension(nz,hydromet_dim), intent(out)  hm_2 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ component_means_hydromet_orig()

subroutine, private setup_clubb_pdf_params::component_means_hydromet_orig ( integer, intent(in)  nz,
real( kind = core_rknd ), dimension(nz,hydromet_dim), intent(in)  hydromet,
real( kind = core_rknd ), dimension(nz), intent(in)  rho,
real( kind = core_rknd ), dimension(nz), intent(in)  rc_1,
real( kind = core_rknd ), dimension(nz), intent(in)  rc_2,
real( kind = core_rknd ), dimension(nz), intent(in)  mixt_frac,
logical, intent(in)  l_stats_samp,
real( kind = core_rknd ), dimension(nz,hydromet_dim), intent(out)  hm1,
real( kind = core_rknd ), dimension(nz,hydromet_dim), intent(out)  hm2 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ component_stdev_hm_ip()

real( kind = core_rknd ) function, private setup_clubb_pdf_params::component_stdev_hm_ip ( real( kind = core_rknd ), intent(in)  mu_hm_i,
real( kind = core_rknd ), intent(in)  rci,
real( kind = core_rknd ), intent(in)  cloud_fraci,
real( kind = core_rknd ), intent(in)  hm_sigma2_on_mu2_cloud,
real( kind = core_rknd ), intent(in)  hm_sigma2_on_mu2_below 
)
private
Here is the caller graph for this function:

◆ compute_corr()

subroutine, public setup_clubb_pdf_params::compute_corr ( real( kind = core_rknd ), intent(in)  wm_zt,
real( kind = core_rknd ), intent(in)  rc_1,
real( kind = core_rknd ), intent(in)  rc_2,
real( kind = core_rknd ), intent(in)  cloud_frac_1,
real( kind = core_rknd ), intent(in)  cloud_frac_2,
real( kind = core_rknd ), intent(in)  wpchip,
real( kind = core_rknd ), intent(in)  wpNcnp,
real( kind = core_rknd ), intent(in)  stdev_w,
real( kind = core_rknd ), intent(in)  mixt_frac,
real( kind = core_rknd ), intent(in)  precip_frac_1,
real( kind = core_rknd ), intent(in)  precip_frac_2,
real( kind = core_rknd ), dimension(hydromet_dim), intent(in)  wphydrometp_zt,
real( kind = core_rknd ), dimension(d_variables), intent(in)  mu_x_1,
real( kind = core_rknd ), dimension(d_variables), intent(in)  mu_x_2,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma_x_1,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma_x_2,
real( kind = core_rknd ), dimension(d_variables, d_variables), intent(in)  corr_array_cloud,
real( kind = core_rknd ), dimension(d_variables, d_variables), intent(in)  corr_array_below,
type(pdf_parameter), intent(in)  pdf_params,
integer, intent(in)  d_variables,
real( kind = core_rknd ), dimension(d_variables, d_variables), intent(out)  corr_array_1,
real( kind = core_rknd ), dimension(d_variables, d_variables), intent(out)  corr_array_2 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_mean_stdev()

subroutine, public setup_clubb_pdf_params::compute_mean_stdev ( real( kind = core_rknd ), intent(in)  Ncnm,
real( kind = core_rknd ), intent(in)  rc_1,
real( kind = core_rknd ), intent(in)  rc_2,
real( kind = core_rknd ), intent(in)  cloud_frac_1,
real( kind = core_rknd ), intent(in)  cloud_frac_2,
real( kind = core_rknd ), dimension(hydromet_dim), intent(in)  hm1,
real( kind = core_rknd ), dimension(hydromet_dim), intent(in)  hm2,
real( kind = core_rknd ), intent(in)  precip_frac_1,
real( kind = core_rknd ), intent(in)  precip_frac_2,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma2_on_mu2_ip_array_cloud,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma2_on_mu2_ip_array_below,
type(pdf_parameter), intent(in)  pdf_params,
integer, intent(in)  d_variables,
real( kind = core_rknd ), dimension(d_variables), intent(out)  mu_x_1,
real( kind = core_rknd ), dimension(d_variables), intent(out)  mu_x_2,
real( kind = core_rknd ), dimension(d_variables), intent(out)  sigma_x_1,
real( kind = core_rknd ), dimension(d_variables), intent(out)  sigma_x_2 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_rtp2_from_chi()

elemental real( kind = core_rknd ) function setup_clubb_pdf_params::compute_rtp2_from_chi ( type(pdf_parameter), intent(in)  pdf_params,
real( kind = core_rknd ), intent(in)  corr_chi_eta_1,
real( kind = core_rknd ), intent(in)  corr_chi_eta_2 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ normalize_corr()

subroutine, public setup_clubb_pdf_params::normalize_corr ( integer, intent(in)  d_variables,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma_x_1_n,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma_x_2_n,
real ( kind = core_rknd ), dimension(d_variables), intent(in)  sigma2_on_mu2_ip_1,
real ( kind = core_rknd ), dimension(d_variables), intent(in)  sigma2_on_mu2_ip_2,
real( kind = core_rknd ), dimension(d_variables, d_variables), intent(in)  corr_array_1,
real( kind = core_rknd ), dimension(d_variables, d_variables), intent(in)  corr_array_2,
real( kind = core_rknd ), dimension(d_variables, d_variables), intent(out)  corr_array_1_n,
real( kind = core_rknd ), dimension(d_variables, d_variables), intent(out)  corr_array_2_n 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ normalize_mean_stdev()

subroutine, public setup_clubb_pdf_params::normalize_mean_stdev ( real( kind = core_rknd ), dimension(hydromet_dim), intent(in)  hm1,
real( kind = core_rknd ), dimension(hydromet_dim), intent(in)  hm2,
real( kind = core_rknd ), intent(in)  Ncnm,
integer, intent(in)  d_variables,
real( kind = core_rknd ), dimension(d_variables), intent(in)  mu_x_1,
real( kind = core_rknd ), dimension(d_variables), intent(in)  mu_x_2,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma_x_1,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma_x_2,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma2_on_mu2_ip_1,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma2_on_mu2_ip_2,
real( kind = core_rknd ), dimension(d_variables), intent(out)  mu_x_1_n,
real( kind = core_rknd ), dimension(d_variables), intent(out)  mu_x_2_n,
real( kind = core_rknd ), dimension(d_variables), intent(out)  sigma_x_1_n,
real( kind = core_rknd ), dimension(d_variables), intent(out)  sigma_x_2_n 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pack_pdf_params()

subroutine, private setup_clubb_pdf_params::pack_pdf_params ( real( kind = core_rknd ), dimension(hydromet_dim), intent(in)  hm1,
real( kind = core_rknd ), dimension(hydromet_dim), intent(in)  hm2,
integer, intent(in)  d_variables,
real( kind = core_rknd ), dimension(d_variables), intent(in)  mu_x_1,
real( kind = core_rknd ), dimension(d_variables), intent(in)  mu_x_2,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma_x_1,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma_x_2,
real( kind = core_rknd ), dimension(d_variables,d_variables), intent(in)  corr_array_1,
real( kind = core_rknd ), dimension(d_variables,d_variables), intent(in)  corr_array_2,
real( kind = core_rknd ), intent(in)  precip_frac,
real( kind = core_rknd ), intent(in)  precip_frac_1,
real( kind = core_rknd ), intent(in)  precip_frac_2,
type(hydromet_pdf_parameter), intent(out)  hydromet_pdf_params 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdf_param_hm_stats()

subroutine, private setup_clubb_pdf_params::pdf_param_hm_stats ( integer, intent(in)  d_variables,
integer, intent(in)  level,
real( kind = core_rknd ), dimension(d_variables), intent(in)  mu_x_1,
real( kind = core_rknd ), dimension(d_variables), intent(in)  mu_x_2,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma_x_1,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma_x_2,
real( kind = core_rknd ), dimension(d_variables, d_variables), intent(in)  corr_array_1,
real( kind = core_rknd ), dimension(d_variables, d_variables), intent(in)  corr_array_2,
logical, intent(in)  l_stats_samp 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pdf_param_ln_hm_stats()

subroutine, private setup_clubb_pdf_params::pdf_param_ln_hm_stats ( integer, intent(in)  d_variables,
integer, intent(in)  level,
real( kind = core_rknd ), dimension(d_variables), intent(in)  mu_x_1_n,
real( kind = core_rknd ), dimension(d_variables), intent(in)  mu_x_2_n,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma_x_1_n,
real( kind = core_rknd ), dimension(d_variables), intent(in)  sigma_x_2_n,
real( kind = core_rknd ), dimension(d_variables, d_variables), intent(in)  corr_array_1_n,
real( kind = core_rknd ), dimension(d_variables, d_variables), intent(in)  corr_array_2_n,
logical, intent(in)  l_stats_samp 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ precip_fraction()

subroutine, private setup_clubb_pdf_params::precip_fraction ( integer, intent(in)  nz,
real( kind = core_rknd ), dimension(nz,hydromet_dim), intent(in)  hydromet,
real( kind = core_rknd ), dimension(nz,hydromet_dim), intent(in)  hm1,
real( kind = core_rknd ), dimension(nz,hydromet_dim), intent(in)  hm2,
real( kind = core_rknd ), dimension(nz), intent(in)  cloud_frac,
real( kind = core_rknd ), dimension(nz), intent(in)  cloud_frac_1,
real( kind = core_rknd ), dimension(nz), intent(in)  mixt_frac,
real( kind = core_rknd ), dimension(nz), intent(in)  ice_supersat_frac,
real( kind = core_rknd ), dimension(nz), intent(out)  precip_frac,
real( kind = core_rknd ), dimension(nz), intent(out)  precip_frac_1,
real( kind = core_rknd ), dimension(nz), intent(out)  precip_frac_2 
)
private
Here is the caller graph for this function:

◆ setup_pdf_parameters()

subroutine, public setup_clubb_pdf_params::setup_pdf_parameters ( integer, intent(in)  nz,
integer, intent(in)  d_variables,
real( kind = core_rknd ), intent(in)  dt,
real( kind = core_rknd ), dimension(nz), intent(in)  rho,
real( kind = core_rknd ), dimension(nz), intent(in)  Nc_in_cloud,
real( kind = core_rknd ), dimension(nz), intent(in)  rcm,
real( kind = core_rknd ), dimension(nz), intent(in)  cloud_frac,
real( kind = core_rknd ), dimension(nz), intent(in)  ice_supersat_frac,
real( kind = core_rknd ), dimension(nz,hydromet_dim), intent(in)  hydromet,
real( kind = core_rknd ), dimension(nz,hydromet_dim), intent(in)  wphydrometp,
real( kind = core_rknd ), dimension(d_variables,d_variables), intent(in)  corr_array_cloud,
real( kind = core_rknd ), dimension(d_variables,d_variables), intent(in)  corr_array_below,
type(pdf_parameter), dimension(nz), intent(in)  pdf_params,
logical, intent(in)  l_stats_samp,
real( kind = core_rknd ), dimension(nz,hydromet_dim), intent(inout)  hydrometp2,
real( kind = core_rknd ), dimension(d_variables, nz), intent(out)  mu_x_1_n,
real( kind = core_rknd ), dimension(d_variables, nz), intent(out)  mu_x_2_n,
real( kind = core_rknd ), dimension(d_variables, nz), intent(out)  sigma_x_1_n,
real( kind = core_rknd ), dimension(d_variables, nz), intent(out)  sigma_x_2_n,
real( kind = core_rknd ), dimension(d_variables,d_variables,nz), intent(out)  corr_array_1_n,
real( kind = core_rknd ), dimension(d_variables,d_variables,nz), intent(out)  corr_array_2_n,
real( kind = core_rknd ), dimension(d_variables,d_variables,nz), intent(out)  corr_cholesky_mtx_1,
real( kind = core_rknd ), dimension(d_variables,d_variables,nz), intent(out)  corr_cholesky_mtx_2,
type(hydromet_pdf_parameter), dimension(nz), intent(out)  hydromet_pdf_params 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ l_interp_prescribed_params

logical, parameter, private setup_clubb_pdf_params::l_interp_prescribed_params = .false.
private