CAM
vertical_diffusion Module Reference

Functions/Subroutines

subroutine, public vd_readnl (nlfile)
 
subroutine, public vd_register ()
 
subroutine, public vertical_diffusion_init (pbuf2d)
 
subroutine, public vertical_diffusion_ts_init (pbuf2d, state)
 
subroutine, public vertical_diffusion_tend (ztodt, state, taux, tauy, shflx, cflx, ustar, obklen, ptend, cldn, ocnfrac, landfrac, sgh, pbuf)
 
subroutine positive_moisture (cp, xlv, xls, ncol, mkx, dt, qvmin, qlmin, qimin, dp, qv, ql, qi, t, s, qvten, qlten, qiten, sten)
 

Variables

character(len=16) eddy_scheme
 
integer, parameter nturb = 5
 
logical, parameter wstarent = .true.
 
logical do_pseudocon_diff = .false.
 
character(len=16) shallow_scheme
 
character(len=16) microp_scheme
 
type(vdiff_selectorfieldlist_wet
 
type(vdiff_selectorfieldlist_dry
 
type(vdiff_selectorfieldlist_molec
 
integer ntop
 
integer nbot
 
integer tke_idx
 
integer kvh_idx
 
integer kvm_idx
 
integer kvt_idx
 
integer turbtype_idx
 
integer smaw_idx
 
integer tauresx_idx
 
integer tauresy_idx
 
character(len=fieldname_len), dimension(pcnst) vdiffnam
 
integer ixcldice
 
integer ixcldliq
 
integer ixnumice
 
integer ixnumliq
 
logical history_amwg
 
logical history_eddy
 
logical history_budget
 
integer history_budget_histfile_num
 
logical history_waccm
 
integer qrl_idx = 0
 
integer wsedl_idx = 0
 
integer pblh_idx
 
integer tpert_idx
 
integer qpert_idx
 
integer bprod_idx = -1
 
integer ipbl_idx = -1
 
integer kpblh_idx = -1
 
integer wstarpbl_idx = -1
 
integer tkes_idx = -1
 
integer went_idx = -1
 
integer qtl_flx_idx = -1
 
integer qti_flx_idx = -1
 
real(r8), parameter unset_r8 = huge(1._r8)
 
real(r8) kv_top_pressure
 
real(r8) kv_top_scale
 
real(r8) kv_freetrop_scale
 
real(r8) eddy_lbulk_max
 
real(r8) eddy_leng_max
 
real(r8) eddy_max_bot_pressure
 
real(r8) eddy_moist_entrain_a2l = unset_r8
 
logical diff_cnsrv_mass_check
 
logical do_tms
 
logical do_iss
 
logical prog_modal_aero = .false.
 
integer pmam_ncnst = 0
 
integer, dimension(:), allocatable pmam_cnst_idx
 

Function/Subroutine Documentation

◆ positive_moisture()

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

◆ vd_readnl()

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

◆ vd_register()

subroutine, public vertical_diffusion::vd_register ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ vertical_diffusion_init()

subroutine, public vertical_diffusion::vertical_diffusion_init ( type(physics_buffer_desc), dimension(:,:), pointer  pbuf2d)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ vertical_diffusion_tend()

subroutine, public vertical_diffusion::vertical_diffusion_tend ( real(r8), intent(in)  ztodt,
type(physics_state), intent(in)  state,
real(r8), dimension(pcols), intent(in)  taux,
real(r8), dimension(pcols), intent(in)  tauy,
real(r8), dimension(pcols), intent(in)  shflx,
real(r8), dimension(pcols,pcnst), intent(in)  cflx,
real(r8), dimension(pcols), intent(out)  ustar,
real(r8), dimension(pcols), intent(out)  obklen,
type(physics_ptend), intent(out)  ptend,
real(r8), dimension(pcols,pver), intent(in)  cldn,
real(r8), dimension(pcols), intent(in)  ocnfrac,
real(r8), dimension(pcols), intent(in)  landfrac,
real(r8), dimension(pcols), intent(in)  sgh,
type(physics_buffer_desc), dimension(:), pointer  pbuf 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ vertical_diffusion_ts_init()

subroutine, public vertical_diffusion::vertical_diffusion_ts_init ( type(physics_buffer_desc), dimension(:,:), pointer  pbuf2d,
type(physics_state), dimension(begchunk:endchunk), intent(in)  state 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ bprod_idx

integer vertical_diffusion::bprod_idx = -1
private

◆ diff_cnsrv_mass_check

logical vertical_diffusion::diff_cnsrv_mass_check
private

◆ do_iss

logical vertical_diffusion::do_iss
private

◆ do_pseudocon_diff

logical vertical_diffusion::do_pseudocon_diff = .false.
private

◆ do_tms

logical vertical_diffusion::do_tms
private

◆ eddy_lbulk_max

real(r8) vertical_diffusion::eddy_lbulk_max
private

◆ eddy_leng_max

real(r8) vertical_diffusion::eddy_leng_max
private

◆ eddy_max_bot_pressure

real(r8) vertical_diffusion::eddy_max_bot_pressure
private

◆ eddy_moist_entrain_a2l

real(r8) vertical_diffusion::eddy_moist_entrain_a2l = unset_r8
private

◆ eddy_scheme

character(len=16) vertical_diffusion::eddy_scheme
private

◆ fieldlist_dry

type(vdiff_selector) vertical_diffusion::fieldlist_dry
private

◆ fieldlist_molec

type(vdiff_selector) vertical_diffusion::fieldlist_molec
private

◆ fieldlist_wet

type(vdiff_selector) vertical_diffusion::fieldlist_wet
private

◆ history_amwg

logical vertical_diffusion::history_amwg
private

◆ history_budget

logical vertical_diffusion::history_budget
private

◆ history_budget_histfile_num

integer vertical_diffusion::history_budget_histfile_num
private

◆ history_eddy

logical vertical_diffusion::history_eddy
private

◆ history_waccm

logical vertical_diffusion::history_waccm
private

◆ ipbl_idx

integer vertical_diffusion::ipbl_idx = -1
private

◆ ixcldice

integer vertical_diffusion::ixcldice
private

◆ ixcldliq

integer vertical_diffusion::ixcldliq
private

◆ ixnumice

integer vertical_diffusion::ixnumice
private

◆ ixnumliq

integer vertical_diffusion::ixnumliq
private

◆ kpblh_idx

integer vertical_diffusion::kpblh_idx = -1
private

◆ kv_freetrop_scale

real(r8) vertical_diffusion::kv_freetrop_scale
private

◆ kv_top_pressure

real(r8) vertical_diffusion::kv_top_pressure
private

◆ kv_top_scale

real(r8) vertical_diffusion::kv_top_scale
private

◆ kvh_idx

integer vertical_diffusion::kvh_idx
private

◆ kvm_idx

integer vertical_diffusion::kvm_idx
private

◆ kvt_idx

integer vertical_diffusion::kvt_idx
private

◆ microp_scheme

character(len=16) vertical_diffusion::microp_scheme
private

◆ nbot

integer vertical_diffusion::nbot
private

◆ ntop

integer vertical_diffusion::ntop
private

◆ nturb

integer, parameter vertical_diffusion::nturb = 5
private

◆ pblh_idx

integer vertical_diffusion::pblh_idx
private

◆ pmam_cnst_idx

integer, dimension(:), allocatable vertical_diffusion::pmam_cnst_idx
private

◆ pmam_ncnst

integer vertical_diffusion::pmam_ncnst = 0
private

◆ prog_modal_aero

logical vertical_diffusion::prog_modal_aero = .false.
private

◆ qpert_idx

integer vertical_diffusion::qpert_idx
private

◆ qrl_idx

integer vertical_diffusion::qrl_idx = 0
private

◆ qti_flx_idx

integer vertical_diffusion::qti_flx_idx = -1
private

◆ qtl_flx_idx

integer vertical_diffusion::qtl_flx_idx = -1
private

◆ shallow_scheme

character(len=16) vertical_diffusion::shallow_scheme
private

◆ smaw_idx

integer vertical_diffusion::smaw_idx
private

◆ tauresx_idx

integer vertical_diffusion::tauresx_idx
private

◆ tauresy_idx

integer vertical_diffusion::tauresy_idx
private

◆ tke_idx

integer vertical_diffusion::tke_idx
private

◆ tkes_idx

integer vertical_diffusion::tkes_idx = -1
private

◆ tpert_idx

integer vertical_diffusion::tpert_idx
private

◆ turbtype_idx

integer vertical_diffusion::turbtype_idx
private

◆ unset_r8

real(r8), parameter vertical_diffusion::unset_r8 = huge(1._r8)
private

◆ vdiffnam

character(len=fieldname_len), dimension(pcnst) vertical_diffusion::vdiffnam
private

◆ went_idx

integer vertical_diffusion::went_idx = -1
private

◆ wsedl_idx

integer vertical_diffusion::wsedl_idx = 0
private

◆ wstarent

logical, parameter vertical_diffusion::wstarent = .true.
private

◆ wstarpbl_idx

integer vertical_diffusion::wstarpbl_idx = -1
private