CAM
unicon_utils Module Reference

Functions/Subroutines

subroutine, public unicon_utils_init (xlv_in, cp_in, xlf_in, zvir_in, r_in, g_in, droprad_liq_in, droprad_ice_in, density_liq_in, density_ice_in, mclimit_in)
 
real(r8) function, public exnf (pressure)
 
subroutine, public conden (p, thl, qt, th, qv, ql, qi, rvls, id_check)
 
real(r8) function, dimension(mkx), public slope (mkx, field, p0)
 
real(r8) function, public area_overlap (x1, y1, a1, x2, y2, a2, cn)
 
subroutine, public envcon_flux (ki, mkx, umi, dmi, a0, ssa0, ps0, au, ad)
 
subroutine, public prod_prep_up (z_b, z_t, p_b, p_t, exn_t, exn_m, w_b, w_t, thl_in, qt_in, ql_in, qi_in, tr_in, S_b_ql_in, S_b_qi_in, iprd_prep, ql_b, qi_b, epsb, thl_m, ssthl_m, thl_b, qt_m, ssqt_m, qt_b, ncnst, ixcldliq, ixcldice, ixnumliq, ixnumice, ii, kk, lchnk, flxrain, flxsnow, a_p, a_u, a_pu, caer, criqc, c0_ac, exql, exqi, extr, S_t_ql, S_t_qi, evpR, evpS, evpRStr)
 
subroutine, public evap_prep_dn (z_b, z_t, p_b, p_t, w_dt, bogtop, th_in, qv_in, ql_in, qi_in, tr_in, qmin, S_t_qvR_in, S_t_qvS_in, ievp_prep, flxrain_bot_upeesm, flxsnow_bot_upeesm, flxtrrs_bot_upeesm, a_p_msfc, ncnst, ixcldliq, ixcldice, ixnumliq, ixnumice, ndb_evp, cmfdb_evp, ii, kk, ks, lchnk, rho, thv_mean_b, cmf_db, eps_dn, del_dn, kevp_rain_dn, kevp_snow_dn, eta2, rbuoy_dn, rdrag, rjet, nonzero, wdmin, evp_qvR, evp_qvS, evp_tr, S_b_qvR, S_b_qvS, w_db)
 
subroutine, public progup_thlqt (eps_mix, eps_dia, qsrcg, pb, pt, qmid, gamq, qub, qut)
 
subroutine, public progup_uv (eps, PGFuv, pb, pt, qmid, gamq, gamqPGF, qub, qut)
 
subroutine, public progup_wu2 (eps, rho, pb, pt, bogbot, bogtop, wwub, wwe, wwut)
 
real(r8) function, public compute_dp (eps, rho, pb, pt, bogbot, bogtop, wwub, wwe)
 
subroutine, public buosort_downdraft (cuL, cuU, enL, xdown_min, xdown_max)
 
subroutine, public compute_pdf (PDFtype, zLL, zUU, zbar, zmass, zmass_L)
 
subroutine, public compute_epsdelnod (PDFtype, xc, epsnod, delnod)
 
subroutine, public buosorts_uw (rbuoy, p, w_cu, thl_cu, qt_cu, w_eg, thl_eg, qt_eg, thv_en, cridis, xc, xs, thv_cu, thv_eg, thvxs)
 
subroutine, public positive_moisture (cp, xlv, xls, pcols, ncol, mkx, dt, qvmin, qlmin, qimin, dp, qv, ql, qi, t, s, qvten, qlten, qiten, sten)
 
subroutine, public positive_tracer (pcols, ncol, mkx, dt, trmin, dp, tr, trten)
 
subroutine, public findsp_single (q, t, p, tsp, qsp, i_in, k_in, lchnk)
 
subroutine roots (a, b, c, r1, r2, status)
 

Variables

real(r8), parameter alpha_max = 2._r8
 
real(r8), parameter nonzero = 1.e-20_r8
 
real(r8), parameter tmax_fice = 263.15_r8
 
real(r8), parameter tmin_fice = 233.15_r8
 
real(r8) xlv
 
real(r8) xlf
 
real(r8) xls
 
real(r8) cp
 
real(r8) zvir
 
real(r8) r
 
real(r8) g
 
real(r8) p00
 
real(r8) rovcp
 
real(r8) droprad_liq
 
real(r8) droprad_ice
 
real(r8) density_liq
 
real(r8) density_ice
 
integer mclimit
 

Function/Subroutine Documentation

◆ area_overlap()

real(r8) function, public unicon_utils::area_overlap ( real(r8), intent(in)  x1,
real(r8), intent(in)  y1,
real(r8), intent(in)  a1,
real(r8), intent(in)  x2,
real(r8), intent(in)  y2,
real(r8), intent(in)  a2,
real(r8), intent(in)  cn 
)
Here is the caller graph for this function:

◆ buosort_downdraft()

subroutine, public unicon_utils::buosort_downdraft ( real(r8), intent(in)  cuL,
real(r8), intent(in)  cuU,
real(r8), intent(in)  enL,
real(r8), intent(out)  xdown_min,
real(r8), intent(out)  xdown_max 
)
Here is the caller graph for this function:

◆ buosorts_uw()

subroutine, public unicon_utils::buosorts_uw ( real(r8), intent(in)  rbuoy,
real(r8), intent(in)  p,
real(r8), intent(in)  w_cu,
real(r8), intent(in)  thl_cu,
real(r8), intent(in)  qt_cu,
real(r8), intent(in)  w_eg,
real(r8), intent(in)  thl_eg,
real(r8), intent(in)  qt_eg,
real(r8), intent(in)  thv_en,
real(r8), intent(in)  cridis,
real(r8), intent(out)  xc,
real(r8), intent(out)  xs,
real(r8), intent(out)  thv_cu,
real(r8), intent(out)  thv_eg,
real(r8), intent(out)  thvxs 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_dp()

real(r8) function, public unicon_utils::compute_dp ( real(r8), intent(in)  eps,
real(r8), intent(in)  rho,
real(r8), intent(in)  pb,
real(r8), intent(in)  pt,
real(r8), intent(in)  bogbot,
real(r8), intent(in)  bogtop,
real(r8), intent(in)  wwub,
real(r8), intent(in)  wwe 
)
Here is the caller graph for this function:

◆ compute_epsdelnod()

subroutine, public unicon_utils::compute_epsdelnod ( character(len=6), intent(in)  PDFtype,
real(r8), intent(in)  xc,
real(r8), intent(out)  epsnod,
real(r8), intent(out)  delnod 
)
Here is the caller graph for this function:

◆ compute_pdf()

subroutine, public unicon_utils::compute_pdf ( character(len=6), intent(in)  PDFtype,
real(r8), intent(in)  zLL,
real(r8), intent(in)  zUU,
real(r8), intent(out)  zbar,
real(r8), intent(out)  zmass,
real(r8), intent(out)  zmass_L 
)
Here is the caller graph for this function:

◆ conden()

subroutine, public unicon_utils::conden ( real(r8), intent(in)  p,
real(r8), intent(in)  thl,
real(r8), intent(in)  qt,
real(r8), intent(out)  th,
real(r8), intent(out)  qv,
real(r8), intent(out)  ql,
real(r8), intent(out)  qi,
real(r8), intent(out)  rvls,
integer, intent(out)  id_check 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ envcon_flux()

subroutine, public unicon_utils::envcon_flux ( integer, intent(in)  ki,
integer, intent(in)  mkx,
real(r8), intent(in)  umi,
real(r8), intent(in)  dmi,
real(r8), dimension(mkx), intent(in)  a0,
real(r8), dimension(mkx), intent(in)  ssa0,
real(r8), dimension(0:mkx), intent(in)  ps0,
real(r8), intent(out)  au,
real(r8), intent(out)  ad 
)
Here is the caller graph for this function:

◆ evap_prep_dn()

subroutine, public unicon_utils::evap_prep_dn ( real(r8), intent(in)  z_b,
real(r8), intent(in)  z_t,
real(r8), intent(in)  p_b,
real(r8), intent(in)  p_t,
real(r8), intent(in)  w_dt,
real(r8), intent(in)  bogtop,
real(r8), intent(in)  th_in,
real(r8), intent(in)  qv_in,
real(r8), intent(in)  ql_in,
real(r8), intent(in)  qi_in,
real(r8), dimension(ncnst), intent(in)  tr_in,
real(r8), dimension(ncnst), intent(in)  qmin,
real(r8), intent(in)  S_t_qvR_in,
real(r8), intent(in)  S_t_qvS_in,
integer, intent(in)  ievp_prep,
real(r8), intent(in)  flxrain_bot_upeesm,
real(r8), intent(in)  flxsnow_bot_upeesm,
real(r8), dimension(ncnst), intent(in)  flxtrrs_bot_upeesm,
real(r8), intent(in)  a_p_msfc,
integer, intent(in)  ncnst,
integer, intent(in)  ixcldliq,
integer, intent(in)  ixcldice,
integer, intent(in)  ixnumliq,
integer, intent(in)  ixnumice,
integer, intent(in)  ndb_evp,
real(r8), intent(in)  cmfdb_evp,
integer, intent(in)  ii,
integer, intent(in)  kk,
integer, intent(in)  ks,
integer, intent(in)  lchnk,
real(r8), intent(in)  rho,
real(r8), intent(in)  thv_mean_b,
real(r8), intent(in)  cmf_db,
real(r8), intent(in)  eps_dn,
real(r8), intent(in)  del_dn,
real(r8), intent(in)  kevp_rain_dn,
real(r8), intent(in)  kevp_snow_dn,
real(r8), intent(in)  eta2,
real(r8), intent(in)  rbuoy_dn,
real(r8), intent(in)  rdrag,
real(r8), intent(in)  rjet,
real(r8), intent(in)  nonzero,
real(r8), intent(in)  wdmin,
real(r8), intent(out)  evp_qvR,
real(r8), intent(out)  evp_qvS,
real(r8), dimension(ncnst), intent(out)  evp_tr,
real(r8), intent(out)  S_b_qvR,
real(r8), intent(out)  S_b_qvS,
real(r8), intent(out)  w_db 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ exnf()

real(r8) function, public unicon_utils::exnf ( real(r8), intent(in)  pressure)
Here is the caller graph for this function:

◆ findsp_single()

subroutine, public unicon_utils::findsp_single ( real(r8), intent(in)  q,
real(r8), intent(in)  t,
real(r8), intent(in)  p,
real(r8), intent(out)  tsp,
real(r8), intent(out)  qsp,
integer, intent(in)  i_in,
integer, intent(in)  k_in,
integer, intent(in)  lchnk 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ positive_moisture()

subroutine, public unicon_utils::positive_moisture ( real(r8), intent(in)  cp,
real(r8), intent(in)  xlv,
real(r8), intent(in)  xls,
integer, intent(in)  pcols,
integer, intent(in)  ncol,
integer, intent(in)  mkx,
real(r8), intent(in)  dt,
real(r8), intent(in)  qvmin,
real(r8), intent(in)  qlmin,
real(r8), intent(in)  qimin,
real(r8), dimension(pcols,mkx), intent(in)  dp,
real(r8), dimension(pcols,mkx), intent(inout)  qv,
real(r8), dimension(pcols,mkx), intent(inout)  ql,
real(r8), dimension(pcols,mkx), intent(inout)  qi,
real(r8), dimension(pcols,mkx), intent(inout)  t,
real(r8), dimension(pcols,mkx), intent(inout)  s,
real(r8), dimension(pcols,mkx), intent(inout)  qvten,
real(r8), dimension(pcols,mkx), intent(inout)  qlten,
real(r8), dimension(pcols,mkx), intent(inout)  qiten,
real(r8), dimension(pcols,mkx), intent(inout)  sten 
)
Here is the caller graph for this function:

◆ positive_tracer()

subroutine, public unicon_utils::positive_tracer ( integer, intent(in)  pcols,
integer, intent(in)  ncol,
integer, intent(in)  mkx,
real(r8), intent(in)  dt,
real(r8), intent(in)  trmin,
real(r8), dimension(pcols,mkx), intent(in)  dp,
real(r8), dimension(pcols,mkx), intent(inout)  tr,
real(r8), dimension(pcols,mkx), intent(inout)  trten 
)
Here is the caller graph for this function:

◆ prod_prep_up()

subroutine, public unicon_utils::prod_prep_up ( real(r8), intent(in)  z_b,
real(r8), intent(in)  z_t,
real(r8), intent(in)  p_b,
real(r8), intent(in)  p_t,
real(r8), intent(in)  exn_t,
real(r8), intent(in)  exn_m,
real(r8), intent(in)  w_b,
real(r8), intent(in)  w_t,
real(r8), intent(in)  thl_in,
real(r8), intent(in)  qt_in,
real(r8), intent(in)  ql_in,
real(r8), intent(in)  qi_in,
real(r8), dimension(ncnst), intent(in)  tr_in,
real(r8), intent(in)  S_b_ql_in,
real(r8), intent(in)  S_b_qi_in,
integer, intent(in)  iprd_prep,
real(r8), intent(in)  ql_b,
real(r8), intent(in)  qi_b,
real(r8), intent(in)  epsb,
real(r8), intent(in)  thl_m,
real(r8), intent(in)  ssthl_m,
real(r8), intent(in)  thl_b,
real(r8), intent(in)  qt_m,
real(r8), intent(in)  ssqt_m,
real(r8), intent(in)  qt_b,
integer, intent(in)  ncnst,
integer, intent(in)  ixcldliq,
integer, intent(in)  ixcldice,
integer, intent(in)  ixnumliq,
integer, intent(in)  ixnumice,
integer, intent(in)  ii,
integer, intent(in)  kk,
integer, intent(in)  lchnk,
real(r8), intent(in)  flxrain,
real(r8), intent(in)  flxsnow,
real(r8), intent(in)  a_p,
real(r8), intent(in)  a_u,
real(r8), intent(in)  a_pu,
real(r8), intent(in)  caer,
real(r8), intent(in)  criqc,
real(r8), intent(in)  c0_ac,
real(r8), intent(out)  exql,
real(r8), intent(out)  exqi,
real(r8), dimension(ncnst), intent(out)  extr,
real(r8), intent(out)  S_t_ql,
real(r8), intent(out)  S_t_qi,
real(r8), intent(out)  evpR,
real(r8), intent(out)  evpS,
real(r8), dimension(ncnst), intent(out)  evpRStr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progup_thlqt()

subroutine, public unicon_utils::progup_thlqt ( real(r8), intent(in)  eps_mix,
real(r8), intent(in)  eps_dia,
real(r8), intent(in)  qsrcg,
real(r8), intent(in)  pb,
real(r8), intent(in)  pt,
real(r8), intent(in)  qmid,
real(r8), intent(in)  gamq,
real(r8), intent(in)  qub,
real(r8), intent(out)  qut 
)
Here is the caller graph for this function:

◆ progup_uv()

subroutine, public unicon_utils::progup_uv ( real(r8), intent(in)  eps,
real(r8), intent(in)  PGFuv,
real(r8), intent(in)  pb,
real(r8), intent(in)  pt,
real(r8), intent(in)  qmid,
real(r8), intent(in)  gamq,
real(r8), intent(in)  gamqPGF,
real(r8), intent(in)  qub,
real(r8), intent(out)  qut 
)
Here is the caller graph for this function:

◆ progup_wu2()

subroutine, public unicon_utils::progup_wu2 ( real(r8), intent(in)  eps,
real(r8), intent(in)  rho,
real(r8), intent(in)  pb,
real(r8), intent(in)  pt,
real(r8), intent(in)  bogbot,
real(r8), intent(in)  bogtop,
real(r8), intent(in)  wwub,
real(r8), intent(in)  wwe,
real(r8), intent(out)  wwut 
)
Here is the caller graph for this function:

◆ roots()

subroutine unicon_utils::roots ( real(r8), intent(in)  a,
real(r8), intent(in)  b,
real(r8), intent(in)  c,
real(r8), intent(out)  r1,
real(r8), intent(out)  r2,
integer, intent(out)  status 
)
private
Here is the caller graph for this function:

◆ slope()

real(r8) function, dimension(mkx), public unicon_utils::slope ( integer, intent(in)  mkx,
real(r8), dimension(mkx), intent(in)  field,
real(r8), dimension(mkx), intent(in)  p0 
)
Here is the caller graph for this function:

◆ unicon_utils_init()

subroutine, public unicon_utils::unicon_utils_init ( real(r8), intent(in)  xlv_in,
real(r8), intent(in)  cp_in,
real(r8), intent(in)  xlf_in,
real(r8), intent(in)  zvir_in,
real(r8), intent(in)  r_in,
real(r8), intent(in)  g_in,
real(r8), intent(in)  droprad_liq_in,
real(r8), intent(in)  droprad_ice_in,
real(r8), intent(in)  density_liq_in,
real(r8), intent(in)  density_ice_in,
integer, intent(in)  mclimit_in 
)
Here is the caller graph for this function:

Variable Documentation

◆ alpha_max

real(r8), parameter unicon_utils::alpha_max = 2._r8
private

◆ cp

real(r8) unicon_utils::cp
private

◆ density_ice

real(r8) unicon_utils::density_ice
private

◆ density_liq

real(r8) unicon_utils::density_liq
private

◆ droprad_ice

real(r8) unicon_utils::droprad_ice
private

◆ droprad_liq

real(r8) unicon_utils::droprad_liq
private

◆ g

real(r8) unicon_utils::g
private

◆ mclimit

integer unicon_utils::mclimit
private

◆ nonzero

real(r8), parameter unicon_utils::nonzero = 1.e-20_r8
private

◆ p00

real(r8) unicon_utils::p00
private

◆ r

real(r8) unicon_utils::r
private

◆ rovcp

real(r8) unicon_utils::rovcp
private

◆ tmax_fice

real(r8), parameter unicon_utils::tmax_fice = 263.15_r8
private

◆ tmin_fice

real(r8), parameter unicon_utils::tmin_fice = 233.15_r8
private

◆ xlf

real(r8) unicon_utils::xlf
private

◆ xls

real(r8) unicon_utils::xls
private

◆ xlv

real(r8) unicon_utils::xlv
private

◆ zvir

real(r8) unicon_utils::zvir
private