CAM
micro_mg_cam Module Reference

Data Types

interface  p
 

Functions/Subroutines

subroutine, public micro_mg_cam_readnl (nlfile)
 
subroutine, public micro_mg_cam_register
 
logical function, public micro_mg_cam_implements_cnst (name)
 
subroutine, public micro_mg_cam_init_cnst (name, q, gcid)
 
subroutine, public micro_mg_cam_init (pbuf2d)
 
subroutine, public micro_mg_cam_tend (state, ptend, dtime, pbuf)
 
real(r8) function, dimension(:), pointer p1 (tin)
 
real(r8) function, dimension(:,:), pointer p2 (tin)
 

Variables

integer, public micro_mg_version = 1
 
integer micro_mg_sub_version = 0
 
real(r8) micro_mg_dcs = -1._r8
 
logical microp_uniform
 
logical, public micro_mg_dcs_tdep = .false.
 
character(len=16) micro_mg_precip_frac_method = 'max_overlap'
 
real(r8) micro_mg_mass_gradient_alpha = -1._r8
 
real(r8) micro_mg_mass_gradient_beta = -1._r8
 
real(r8) micro_mg_berg_eff_factor = 1.0_r8
 
real(r8) ice_sed_ai = 700.0_r8
 
logical, public do_cldliq
 
logical, public do_cldice
 
logical, public do_nccons
 
logical, public do_nicons
 
integer num_steps
 
integer ncnst = 4
 
character(len=8), dimension(8), parameter cnst_names = (/'CLDLIQ', 'CLDICE','NUMLIQ','NUMICE', 'RAINQM', 'SNOWQM','NUMRAI','NUMSNO'/)
 
integer ixcldliq = -1
 
integer ixcldice = -1
 
integer ixnumliq = -1
 
integer ixnumice = -1
 
integer ixrain = -1
 
integer ixsnow = -1
 
integer ixnumrain = -1
 
integer ixnumsnow = -1
 
integer cldo_idx
 
integer qme_idx
 
integer prain_idx
 
integer nevapr_idx
 
integer wsedl_idx
 
integer rei_idx
 
integer rel_idx
 
integer dei_idx
 
integer mu_idx
 
integer prer_evap_idx
 
integer lambdac_idx
 
integer iciwpst_idx
 
integer iclwpst_idx
 
integer des_idx
 
integer icswp_idx
 
integer cldfsnow_idx
 
integer rate1_cw2pr_st_idx = -1
 
integer ls_flxprc_idx
 
integer ls_flxsnw_idx
 
integer relvar_idx
 
integer cmeliq_idx
 
integer accre_enhan_idx
 
integer am_evp_st_idx
 
integer evprain_st_idx
 
integer evpsnow_st_idx
 
integer ls_mrprc_idx
 
integer ls_mrsnw_idx
 
integer ls_reffrain_idx
 
integer ls_reffsnow_idx
 
integer cv_reffliq_idx
 
integer cv_reffice_idx
 
integer cc_t_idx
 
integer cc_qv_idx
 
integer cc_ql_idx
 
integer cc_qi_idx
 
integer cc_nl_idx
 
integer cc_ni_idx
 
integer cc_qlst_idx
 
integer tnd_qsnow_idx = -1
 
integer tnd_nsnow_idx = -1
 
integer re_ice_idx = -1
 
integer acpr_idx = -1
 
integer acgcme_idx = -1
 
integer acnum_idx = -1
 
integer ast_idx = -1
 
integer cld_idx = -1
 
integer concld_idx = -1
 
integer qrain_idx =-1
 
integer qsnow_idx =-1
 
integer nrain_idx =-1
 
integer nsnow_idx =-1
 
integer naai_idx = -1
 
integer naai_hom_idx = -1
 
integer npccn_idx = -1
 
integer rndst_idx = -1
 
integer nacon_idx = -1
 
integer prec_str_idx = -1
 
integer snow_str_idx = -1
 
integer prec_pcw_idx = -1
 
integer snow_pcw_idx = -1
 
integer prec_sed_idx = -1
 
integer snow_sed_idx = -1
 
integer frzimm_idx = -1
 
integer frzcnt_idx = -1
 
integer frzdep_idx = -1
 
logical allow_sed_supersat
 
real(r8) micro_mg_accre_enhan_fac = huge(1.0_r8)
 
real(r8) prc_coef1_in = huge(1.0_r8)
 
real(r8) prc_exp_in = huge(1.0_r8)
 
real(r8) prc_exp1_in = huge(1.0_r8)
 
real(r8) cld_sed_in = huge(1.0_r8)
 
real(r8) nccons = huge(1.0_r8)
 
real(r8) nicons = huge(1.0_r8)
 
logical mg_prc_coeff_fix_in = .false.
 
logical rrtmg_temp_fix = .false.
 

Function/Subroutine Documentation

◆ micro_mg_cam_implements_cnst()

logical function, public micro_mg_cam::micro_mg_cam_implements_cnst ( character(len=*), intent(in)  name)
Here is the caller graph for this function:

◆ micro_mg_cam_init()

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

◆ micro_mg_cam_init_cnst()

subroutine, public micro_mg_cam::micro_mg_cam_init_cnst ( character(len=*), intent(in)  name,
real(r8), dimension(:,:), intent(out)  q,
integer, dimension(:), intent(in)  gcid 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ micro_mg_cam_readnl()

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

◆ micro_mg_cam_register()

subroutine, public micro_mg_cam::micro_mg_cam_register ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ micro_mg_cam_tend()

subroutine, public micro_mg_cam::micro_mg_cam_tend ( type(physics_state), intent(in)  state,
type(physics_ptend), intent(out)  ptend,
real(r8), intent(in)  dtime,
type(physics_buffer_desc), dimension(:), pointer  pbuf 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ p1()

real(r8) function, dimension(:), pointer micro_mg_cam::p1 ( real(r8), dimension(:), intent(in), target  tin)

◆ p2()

real(r8) function, dimension(:,:), pointer micro_mg_cam::p2 ( real(r8), dimension(:,:), intent(in), target  tin)
private

Variable Documentation

◆ accre_enhan_idx

integer micro_mg_cam::accre_enhan_idx
private

◆ acgcme_idx

integer micro_mg_cam::acgcme_idx = -1
private

◆ acnum_idx

integer micro_mg_cam::acnum_idx = -1
private

◆ acpr_idx

integer micro_mg_cam::acpr_idx = -1
private

◆ allow_sed_supersat

logical micro_mg_cam::allow_sed_supersat
private

◆ am_evp_st_idx

integer micro_mg_cam::am_evp_st_idx
private

◆ ast_idx

integer micro_mg_cam::ast_idx = -1
private

◆ cc_ni_idx

integer micro_mg_cam::cc_ni_idx
private

◆ cc_nl_idx

integer micro_mg_cam::cc_nl_idx
private

◆ cc_qi_idx

integer micro_mg_cam::cc_qi_idx
private

◆ cc_ql_idx

integer micro_mg_cam::cc_ql_idx
private

◆ cc_qlst_idx

integer micro_mg_cam::cc_qlst_idx
private

◆ cc_qv_idx

integer micro_mg_cam::cc_qv_idx
private

◆ cc_t_idx

integer micro_mg_cam::cc_t_idx
private

◆ cld_idx

integer micro_mg_cam::cld_idx = -1
private

◆ cld_sed_in

real(r8) micro_mg_cam::cld_sed_in = huge(1.0_r8)
private

◆ cldfsnow_idx

integer micro_mg_cam::cldfsnow_idx
private

◆ cldo_idx

integer micro_mg_cam::cldo_idx
private

◆ cmeliq_idx

integer micro_mg_cam::cmeliq_idx
private

◆ cnst_names

character(len=8), dimension(8), parameter micro_mg_cam::cnst_names = (/'CLDLIQ', 'CLDICE','NUMLIQ','NUMICE', 'RAINQM', 'SNOWQM','NUMRAI','NUMSNO'/)
private

◆ concld_idx

integer micro_mg_cam::concld_idx = -1
private

◆ cv_reffice_idx

integer micro_mg_cam::cv_reffice_idx
private

◆ cv_reffliq_idx

integer micro_mg_cam::cv_reffliq_idx
private

◆ dei_idx

integer micro_mg_cam::dei_idx
private

◆ des_idx

integer micro_mg_cam::des_idx
private

◆ do_cldice

logical, public micro_mg_cam::do_cldice

◆ do_cldliq

logical, public micro_mg_cam::do_cldliq

◆ do_nccons

logical, public micro_mg_cam::do_nccons

◆ do_nicons

logical, public micro_mg_cam::do_nicons

◆ evprain_st_idx

integer micro_mg_cam::evprain_st_idx
private

◆ evpsnow_st_idx

integer micro_mg_cam::evpsnow_st_idx
private

◆ frzcnt_idx

integer micro_mg_cam::frzcnt_idx = -1
private

◆ frzdep_idx

integer micro_mg_cam::frzdep_idx = -1
private

◆ frzimm_idx

integer micro_mg_cam::frzimm_idx = -1
private

◆ ice_sed_ai

real(r8) micro_mg_cam::ice_sed_ai = 700.0_r8
private

◆ iciwpst_idx

integer micro_mg_cam::iciwpst_idx
private

◆ iclwpst_idx

integer micro_mg_cam::iclwpst_idx
private

◆ icswp_idx

integer micro_mg_cam::icswp_idx
private

◆ ixcldice

integer micro_mg_cam::ixcldice = -1
private

◆ ixcldliq

integer micro_mg_cam::ixcldliq = -1
private

◆ ixnumice

integer micro_mg_cam::ixnumice = -1
private

◆ ixnumliq

integer micro_mg_cam::ixnumliq = -1
private

◆ ixnumrain

integer micro_mg_cam::ixnumrain = -1
private

◆ ixnumsnow

integer micro_mg_cam::ixnumsnow = -1
private

◆ ixrain

integer micro_mg_cam::ixrain = -1
private

◆ ixsnow

integer micro_mg_cam::ixsnow = -1
private

◆ lambdac_idx

integer micro_mg_cam::lambdac_idx
private

◆ ls_flxprc_idx

integer micro_mg_cam::ls_flxprc_idx
private

◆ ls_flxsnw_idx

integer micro_mg_cam::ls_flxsnw_idx
private

◆ ls_mrprc_idx

integer micro_mg_cam::ls_mrprc_idx
private

◆ ls_mrsnw_idx

integer micro_mg_cam::ls_mrsnw_idx
private

◆ ls_reffrain_idx

integer micro_mg_cam::ls_reffrain_idx
private

◆ ls_reffsnow_idx

integer micro_mg_cam::ls_reffsnow_idx
private

◆ mg_prc_coeff_fix_in

logical micro_mg_cam::mg_prc_coeff_fix_in = .false.
private

◆ micro_mg_accre_enhan_fac

real(r8) micro_mg_cam::micro_mg_accre_enhan_fac = huge(1.0_r8)
private

◆ micro_mg_berg_eff_factor

real(r8) micro_mg_cam::micro_mg_berg_eff_factor = 1.0_r8
private

◆ micro_mg_dcs

real(r8) micro_mg_cam::micro_mg_dcs = -1._r8
private

◆ micro_mg_dcs_tdep

logical, public micro_mg_cam::micro_mg_dcs_tdep = .false.

◆ micro_mg_mass_gradient_alpha

real(r8) micro_mg_cam::micro_mg_mass_gradient_alpha = -1._r8
private

◆ micro_mg_mass_gradient_beta

real(r8) micro_mg_cam::micro_mg_mass_gradient_beta = -1._r8
private

◆ micro_mg_precip_frac_method

character(len=16) micro_mg_cam::micro_mg_precip_frac_method = 'max_overlap'
private

◆ micro_mg_sub_version

integer micro_mg_cam::micro_mg_sub_version = 0
private

◆ micro_mg_version

integer, public micro_mg_cam::micro_mg_version = 1

◆ microp_uniform

logical micro_mg_cam::microp_uniform
private

◆ mu_idx

integer micro_mg_cam::mu_idx
private

◆ naai_hom_idx

integer micro_mg_cam::naai_hom_idx = -1
private

◆ naai_idx

integer micro_mg_cam::naai_idx = -1
private

◆ nacon_idx

integer micro_mg_cam::nacon_idx = -1
private

◆ nccons

real(r8) micro_mg_cam::nccons = huge(1.0_r8)
private

◆ ncnst

integer micro_mg_cam::ncnst = 4
private

◆ nevapr_idx

integer micro_mg_cam::nevapr_idx
private

◆ nicons

real(r8) micro_mg_cam::nicons = huge(1.0_r8)
private

◆ npccn_idx

integer micro_mg_cam::npccn_idx = -1
private

◆ nrain_idx

integer micro_mg_cam::nrain_idx =-1
private

◆ nsnow_idx

integer micro_mg_cam::nsnow_idx =-1
private

◆ num_steps

integer micro_mg_cam::num_steps
private

◆ prain_idx

integer micro_mg_cam::prain_idx
private

◆ prc_coef1_in

real(r8) micro_mg_cam::prc_coef1_in = huge(1.0_r8)
private

◆ prc_exp1_in

real(r8) micro_mg_cam::prc_exp1_in = huge(1.0_r8)
private

◆ prc_exp_in

real(r8) micro_mg_cam::prc_exp_in = huge(1.0_r8)
private

◆ prec_pcw_idx

integer micro_mg_cam::prec_pcw_idx = -1
private

◆ prec_sed_idx

integer micro_mg_cam::prec_sed_idx = -1
private

◆ prec_str_idx

integer micro_mg_cam::prec_str_idx = -1
private

◆ prer_evap_idx

integer micro_mg_cam::prer_evap_idx
private

◆ qme_idx

integer micro_mg_cam::qme_idx
private

◆ qrain_idx

integer micro_mg_cam::qrain_idx =-1
private

◆ qsnow_idx

integer micro_mg_cam::qsnow_idx =-1
private

◆ rate1_cw2pr_st_idx

integer micro_mg_cam::rate1_cw2pr_st_idx = -1
private

◆ re_ice_idx

integer micro_mg_cam::re_ice_idx = -1
private

◆ rei_idx

integer micro_mg_cam::rei_idx
private

◆ rel_idx

integer micro_mg_cam::rel_idx
private

◆ relvar_idx

integer micro_mg_cam::relvar_idx
private

◆ rndst_idx

integer micro_mg_cam::rndst_idx = -1
private

◆ rrtmg_temp_fix

logical micro_mg_cam::rrtmg_temp_fix = .false.
private

◆ snow_pcw_idx

integer micro_mg_cam::snow_pcw_idx = -1
private

◆ snow_sed_idx

integer micro_mg_cam::snow_sed_idx = -1
private

◆ snow_str_idx

integer micro_mg_cam::snow_str_idx = -1
private

◆ tnd_nsnow_idx

integer micro_mg_cam::tnd_nsnow_idx = -1
private

◆ tnd_qsnow_idx

integer micro_mg_cam::tnd_qsnow_idx = -1
private

◆ wsedl_idx

integer micro_mg_cam::wsedl_idx
private