CAM
uwshcu Module Reference

Functions/Subroutines

real(r8) function exnf (pressure)
 
subroutine, public uwshcu_readnl (nlfile)
 
subroutine, public init_uwshcu (kind, xlv_in, cp_in, xlf_in, zvir_in, r_in, g_in, ep2_in)
 
subroutine, public compute_uwshcu_inv (mix, mkx, iend, ncnst, dt, ps0_inv, zs0_inv, p0_inv, z0_inv, dp0_inv, u0_inv, v0_inv, qv0_inv, ql0_inv, qi0_inv, t0_inv, s0_inv, tr0_inv, tke_inv, cldfrct_inv, concldfrct_inv, pblh, cush, umf_inv, slflx_inv, qtflx_inv, flxprc1_inv, flxsnow1_inv, qvten_inv, qlten_inv, qiten_inv, sten_inv, uten_inv, vten_inv, trten_inv, qrten_inv, qsten_inv, precip, snow, evapc_inv, cufrc_inv, qcu_inv, qlu_inv, qiu_inv, cbmf, qc_inv, rliq, cnt_inv, cnb_inv, lchnk, dpdry0_inv, fer_out, fdr_out)
 
subroutine, public compute_uwshcu (mix, mkx, iend, ncnst, dt, ps0_in, zs0_in, p0_in, z0_in, dp0_in, u0_in, v0_in, qv0_in, ql0_in, qi0_in, t0_in, s0_in, tr0_in, tke_in, cldfrct_in, concldfrct_in, pblh_in, cush_inout, umf_out, slflx_out, qtflx_out, flxprc1_out, flxsnow1_out, qvten_out, qlten_out, qiten_out, sten_out, uten_out, vten_out, trten_out, qrten_out, qsten_out, precip_out, snow_out, evapc_out, cufrc_out, qcu_out, qlu_out, qiu_out, cbmf_out, qc_out, rliq_out, cnt_out, cnb_out, lchnk, dpdry0_in, fer_out, fdr_out)
 
subroutine getbuoy (pbot, thv0bot, ptop, thv0top, thvubot, thvutop, plfc, cin)
 
real(r8) function single_cin (pbot, thv0bot, ptop, thv0top, thvubot, thvutop)
 
subroutine conden (p, thl, qt, th, qv, ql, qi, rvls, id_check)
 
subroutine roots (a, b, c, r1, r2, status)
 
real(r8) function, dimension(mkx) slope (mkx, field, p0)
 
real(r8) function qsinvert (qt, thl, psfc)
 
real(r8) function compute_alpha (del_CIN, ke)
 
real(r8) function compute_mumin2 (mulcl, rmaxfrac, mulow)
 
real(r8) function compute_ppen (wtwb, D, bogbot, bogtop, rho0j, dpen)
 
subroutine fluxbelowinv (cbmf, ps0, mkx, kinv, dt, xsrc, xmean, xtopin, xbotin, xflx)
 
subroutine positive_moisture_single (xlv, xls, mkx, dt, qvmin, qlmin, qimin, dp, qv, ql, qi, s, qvten, qlten, qiten, sten)
 

Variables

logical pergro_mods = .false.
 
integer, parameter r8 = selected_real_kind(12)
 
real(r8), parameter unset_r8 = huge(1.0_r8)
 
real(r8xlv
 
real(r8xlf
 
real(r8xls
 
real(r8cp
 
real(r8zvir
 
real(r8r
 
real(r8g
 
real(r8ep2
 
real(r8p00
 
real(r8rovcp
 
real(r8rpen
 

Function/Subroutine Documentation

◆ compute_alpha()

real(r8) function uwshcu::compute_alpha ( real(r8 del_CIN,
real(r8 ke 
)
private
Here is the caller graph for this function:

◆ compute_mumin2()

real(r8) function uwshcu::compute_mumin2 ( real(r8 mulcl,
real(r8 rmaxfrac,
real(r8 mulow 
)
private
Here is the caller graph for this function:

◆ compute_ppen()

real(r8) function uwshcu::compute_ppen ( real(r8 wtwb,
real(r8 D,
real(r8 bogbot,
real(r8 bogtop,
real(r8 rho0j,
real(r8 dpen 
)
private
Here is the caller graph for this function:

◆ compute_uwshcu()

subroutine, public uwshcu::compute_uwshcu ( integer, intent(in)  mix,
integer, intent(in)  mkx,
integer, intent(in)  iend,
integer, intent(in)  ncnst,
real(r8), intent(in)  dt,
real(r8), dimension(mix,0:mkx), intent(in)  ps0_in,
real(r8), dimension(mix,0:mkx), intent(in)  zs0_in,
real(r8), dimension(mix,mkx), intent(in)  p0_in,
real(r8), dimension(mix,mkx), intent(in)  z0_in,
real(r8), dimension(mix,mkx), intent(in)  dp0_in,
real(r8), dimension(mix,mkx), intent(in)  u0_in,
real(r8), dimension(mix,mkx), intent(in)  v0_in,
real(r8), dimension(mix,mkx), intent(in)  qv0_in,
real(r8), dimension(mix,mkx), intent(in)  ql0_in,
real(r8), dimension(mix,mkx), intent(in)  qi0_in,
real(r8), dimension(mix,mkx), intent(in)  t0_in,
real(r8), dimension(mix,mkx), intent(in)  s0_in,
real(r8), dimension(mix,mkx,ncnst), intent(in)  tr0_in,
real(r8), dimension(mix,0:mkx), intent(in)  tke_in,
real(r8), dimension(mix,mkx), intent(in)  cldfrct_in,
real(r8), dimension(mix,mkx), intent(in)  concldfrct_in,
real(r8), dimension(mix), intent(in)  pblh_in,
real(r8), dimension(mix), intent(inout)  cush_inout,
real(r8), dimension(mix,0:mkx), intent(out)  umf_out,
real(r8), dimension(mix,0:mkx), intent(out)  slflx_out,
real(r8), dimension(mix,0:mkx), intent(out)  qtflx_out,
real(r8), dimension(mix,0:mkx), intent(out)  flxprc1_out,
real(r8), dimension(mix,0:mkx), intent(out)  flxsnow1_out,
real(r8), dimension(mix,mkx), intent(out)  qvten_out,
real(r8), dimension(mix,mkx), intent(out)  qlten_out,
real(r8), dimension(mix,mkx), intent(out)  qiten_out,
real(r8), dimension(mix,mkx), intent(out)  sten_out,
real(r8), dimension(mix,mkx), intent(out)  uten_out,
real(r8), dimension(mix,mkx), intent(out)  vten_out,
real(r8), dimension(mix,mkx,ncnst), intent(out)  trten_out,
real(r8), dimension(mix,mkx), intent(out)  qrten_out,
real(r8), dimension(mix,mkx), intent(out)  qsten_out,
real(r8), dimension(mix), intent(out)  precip_out,
real(r8), dimension(mix), intent(out)  snow_out,
real(r8), dimension(mix,mkx), intent(out)  evapc_out,
real(r8), dimension(mix,mkx), intent(out)  cufrc_out,
real(r8), dimension(mix,mkx), intent(out)  qcu_out,
real(r8), dimension(mix,mkx), intent(out)  qlu_out,
real(r8), dimension(mix,mkx), intent(out)  qiu_out,
real(r8), dimension(mix), intent(out)  cbmf_out,
real(r8), dimension(mix,mkx), intent(out)  qc_out,
real(r8), dimension(mix), intent(out)  rliq_out,
real(r8), dimension(mix), intent(out)  cnt_out,
real(r8), dimension(mix), intent(out)  cnb_out,
integer, intent(in)  lchnk,
real(r8), dimension(mix,mkx), intent(in)  dpdry0_in,
real(r8), dimension(mix,mkx), intent(out)  fer_out,
real(r8), dimension(mix,mkx), intent(out)  fdr_out 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_uwshcu_inv()

subroutine, public uwshcu::compute_uwshcu_inv ( integer, intent(in)  mix,
integer, intent(in)  mkx,
integer, intent(in)  iend,
integer, intent(in)  ncnst,
real(r8), intent(in)  dt,
real(r8), dimension(mix,mkx+1), intent(in)  ps0_inv,
real(r8), dimension(mix,mkx+1), intent(in)  zs0_inv,
real(r8), dimension(mix,mkx), intent(in)  p0_inv,
real(r8), dimension(mix,mkx), intent(in)  z0_inv,
real(r8), dimension(mix,mkx), intent(in)  dp0_inv,
real(r8), dimension(mix,mkx), intent(in)  u0_inv,
real(r8), dimension(mix,mkx), intent(in)  v0_inv,
real(r8), dimension(mix,mkx), intent(in)  qv0_inv,
real(r8), dimension(mix,mkx), intent(in)  ql0_inv,
real(r8), dimension(mix,mkx), intent(in)  qi0_inv,
real(r8), dimension(mix,mkx), intent(in)  t0_inv,
real(r8), dimension(mix,mkx), intent(in)  s0_inv,
real(r8), dimension(mix,mkx,ncnst), intent(in)  tr0_inv,
real(r8), dimension(mix,mkx+1), intent(in)  tke_inv,
real(r8), dimension(mix,mkx), intent(in)  cldfrct_inv,
real(r8), dimension(mix,mkx), intent(in)  concldfrct_inv,
real(r8), dimension(mix), intent(in)  pblh,
real(r8), dimension(mix), intent(inout)  cush,
real(r8), dimension(mix,mkx+1), intent(out)  umf_inv,
real(r8), dimension(mix,mkx+1), intent(out)  slflx_inv,
real(r8), dimension(mix,mkx+1), intent(out)  qtflx_inv,
real(r8), dimension(mix,mkx+1), intent(out)  flxprc1_inv,
real(r8), dimension(mix,mkx+1), intent(out)  flxsnow1_inv,
real(r8), dimension(mix,mkx), intent(out)  qvten_inv,
real(r8), dimension(mix,mkx), intent(out)  qlten_inv,
real(r8), dimension(mix,mkx), intent(out)  qiten_inv,
real(r8), dimension(mix,mkx), intent(out)  sten_inv,
real(r8), dimension(mix,mkx), intent(out)  uten_inv,
real(r8), dimension(mix,mkx), intent(out)  vten_inv,
real(r8), dimension(mix,mkx,ncnst), intent(out)  trten_inv,
real(r8), dimension(mix,mkx), intent(out)  qrten_inv,
real(r8), dimension(mix,mkx), intent(out)  qsten_inv,
real(r8), dimension(mix), intent(out)  precip,
real(r8), dimension(mix), intent(out)  snow,
real(r8), dimension(mix,mkx), intent(out)  evapc_inv,
real(r8), dimension(mix,mkx), intent(out)  cufrc_inv,
real(r8), dimension(mix,mkx), intent(out)  qcu_inv,
real(r8), dimension(mix,mkx), intent(out)  qlu_inv,
real(r8), dimension(mix,mkx), intent(out)  qiu_inv,
real(r8), dimension(mix), intent(out)  cbmf,
real(r8), dimension(mix,mkx), intent(out)  qc_inv,
real(r8), dimension(mix), intent(out)  rliq,
real(r8), dimension(mix), intent(out)  cnt_inv,
real(r8), dimension(mix), intent(out)  cnb_inv,
integer, intent(in)  lchnk,
real(r8), dimension(mix,mkx), intent(in)  dpdry0_inv,
real(r8), dimension(mix,mkx), intent(out)  fer_out,
real(r8), dimension(mix,mkx), intent(out)  fdr_out 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ conden()

subroutine uwshcu::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 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ exnf()

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

◆ fluxbelowinv()

subroutine uwshcu::fluxbelowinv ( real(r8), intent(in)  cbmf,
real(r8), dimension(0:mkx), intent(in)  ps0,
integer, intent(in)  mkx,
integer, intent(in)  kinv,
real(r8), intent(in)  dt,
real(r8), intent(in)  xsrc,
real(r8), intent(in)  xmean,
real(r8), intent(in)  xtopin,
real(r8), intent(in)  xbotin,
real(r8), dimension(0:mkx), intent(out)  xflx 
)
private
Here is the caller graph for this function:

◆ getbuoy()

subroutine uwshcu::getbuoy ( real(r8 pbot,
real(r8 thv0bot,
real(r8 ptop,
real(r8 thv0top,
real(r8 thvubot,
real(r8 thvutop,
real(r8 plfc,
real(r8 cin 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_uwshcu()

subroutine, public uwshcu::init_uwshcu ( integer, intent(in)  kind,
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)  ep2_in 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ positive_moisture_single()

subroutine uwshcu::positive_moisture_single ( real(r8), intent(in)  xlv,
real(r8), intent(in)  xls,
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(mkx), intent(in)  dp,
real(r8), dimension(mkx), intent(inout)  qv,
real(r8), dimension(mkx), intent(inout)  ql,
real(r8), dimension(mkx), intent(inout)  qi,
real(r8), dimension(mkx), intent(inout)  s,
real(r8), dimension(mkx), intent(inout)  qvten,
real(r8), dimension(mkx), intent(inout)  qlten,
real(r8), dimension(mkx), intent(inout)  qiten,
real(r8), dimension(mkx), intent(inout)  sten 
)
private
Here is the caller graph for this function:

◆ qsinvert()

real(r8) function uwshcu::qsinvert ( real(r8 qt,
real(r8 thl,
real(r8 psfc 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ roots()

subroutine uwshcu::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:

◆ single_cin()

real(r8) function uwshcu::single_cin ( real(r8 pbot,
real(r8 thv0bot,
real(r8 ptop,
real(r8 thv0top,
real(r8 thvubot,
real(r8 thvutop 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ slope()

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

◆ uwshcu_readnl()

subroutine, public uwshcu::uwshcu_readnl ( character(len=*), intent(in)  nlfile)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ cp

real(r8) uwshcu::cp
private

◆ ep2

real(r8) uwshcu::ep2
private

◆ g

real(r8) uwshcu::g
private

◆ p00

real(r8) uwshcu::p00
private

◆ pergro_mods

logical uwshcu::pergro_mods = .false.
private

◆ r

real(r8) uwshcu::r
private

◆ r8

integer, parameter uwshcu::r8 = selected_real_kind(12)
private

◆ rovcp

real(r8) uwshcu::rovcp
private

◆ rpen

real(r8) uwshcu::rpen
private

◆ unset_r8

real(r8), parameter uwshcu::unset_r8 = huge(1.0_r8)
private

◆ xlf

real(r8) uwshcu::xlf
private

◆ xls

real(r8) uwshcu::xls
private

◆ xlv

real(r8) uwshcu::xlv
private

◆ zvir

real(r8) uwshcu::zvir
private