CAM
aero_model Module Reference

Functions/Subroutines

subroutine, public aero_model_readnl (nlfile)
 
subroutine, public aero_model_register (imozart_in, species_class)
 
subroutine, public aero_model_init (pbuf2d, species_class, iflagaa)
 
subroutine, public aero_model_drydep (state, pbuf, obklen, ustar, cam_in, dt, cam_out, ptend)
 
subroutine mam_prevap_resusp_init ()
 
subroutine, public aero_model_wetdep (dt, dlf, dlf2, cmfmc2, state, sh_e_ed_ratio, mu, md, du, eu, ed, dp, dsubcld, jt, maxg, ideep, lengath, species_class, cam_out, pbuf, ptend)
 
subroutine, public aero_model_surfarea (mmr, radmean, relhum, pmid, temp, strato_sad, sulfate, rho, ltrop, het1_ndx, pbuf, ncol, sfc, dm_aer, sad_total)
 
subroutine, public aero_model_gasaerexch (loffset, ncol, lchnk, delt, latndx, lonndx, reaction_rates, tfld, pmid, pdel, mbar, relhum, zm, qh2o, cwat, cldfr, cldnum, airdens, invariants, del_h2so4_gasprod, vmr0, vmr, pbuf)
 
subroutine, public aero_model_emissions (state, cam_in)
 
subroutine modal_aero_bcscavcoef_init
 
subroutine modal_aero_depvel_part (ncol, t, pmid, ram1, fv, vlc_dry, vlc_trb, vlc_grv, radius_part, density_part, sig_part, moment, lchnk)
 
subroutine modal_aero_bcscavcoef_get (m, ncol, isprx, dgn_awet, scavcoefnum, scavcoefvol)
 
subroutine calc_1_impact_rate (dg0, sigmag, rhoaero, temp, press, scavratenum, scavratevol, lunerr)
 
subroutine qqcw2vmr (lchnk, vmr, mbar, ncol, im, pbuf)
 
subroutine vmr2qqcw (lchnk, vmr, mbar, ncol, im, pbuf)
 

Variables

integer nmodes
 
integer pblh_idx = 0
 
integer dgnum_idx = 0
 
integer dgnumwet_idx = 0
 
integer rate1_cw2pr_st_idx = 0
 
integer wetdens_ap_idx = 0
 
integer qaerwat_idx = 0
 
integer fracis_idx = 0
 
integer prain_idx = 0
 
integer nevapr_idx = 0
 
integer rprddp_idx = 0
 
integer rprdsh_idx = 0
 
integer nevapr_shcu_idx = 0
 
integer nevapr_dpcu_idx = 0
 
integer icwmrdp_idx = 0
 
integer icwmrsh_idx = 0
 
integer sh_frac_idx = 0
 
integer dp_frac_idx = 0
 
integer imozart = -1
 
logical history_aero_prevap_resusp = .false.
 
integer, parameter nimptblgrow_mind =-7
 
integer, parameter nimptblgrow_maxd =12
 
real(r8) dlndg_nimptblgrow
 
real(r8), dimension(nimptblgrow_mind:nimptblgrow_maxd, ntot_amode) scavimptblnum
 
real(r8), dimension(nimptblgrow_mind:nimptblgrow_maxd, ntot_amode) scavimptblvol
 
integer aitken_idx = -1
 
integer, dimension(ntot_amode) num_idx = -1
 
integer, dimension(ntot_amode, 10) index_tot_mass = -1
 
integer, dimension(ntot_amode, 10) index_chm_mass = -1
 
integer ndx_h2so4
 
character(len=fieldname_len), dimension(ntot_amode) dgnum_name
 
integer strt_loop
 
integer end_loop
 
integer stride_loop
 
integer mam_amicphys_optaa
 
logical sscav_tuning
 
logical convproc_do_aer
 
logical convproc_do_gas
 
logical resus_fix
 
character(len=16), dimension(pcnst) wetdep_list = ' '
 
character(len=16), dimension(pcnst) drydep_list = ' '
 
real(r8) sol_facti_cloud_borne = 1._r8
 
real(r8) sol_factb_interstitial = 0.1_r8
 
real(r8) sol_factic_interstitial = 0.4_r8
 
real(r8) seasalt_emis_scale
 
integer ndrydep = 0
 
integer, dimension(:), allocatable drydep_indices
 
integer nwetdep = 0
 
integer, dimension(:), allocatable wetdep_indices
 
logical, dimension(pcnst) drydep_lq
 
logical, dimension(pcnst) wetdep_lq
 

Function/Subroutine Documentation

◆ aero_model_drydep()

subroutine, public aero_model::aero_model_drydep ( type(physics_state), intent(in)  state,
type(physics_buffer_desc), dimension(:), pointer  pbuf,
real(r8), dimension(:), intent(in)  obklen,
real(r8), dimension(:), intent(in)  ustar,
type(cam_in_t), intent(in), target  cam_in,
real(r8), intent(in)  dt,
type(cam_out_t), intent(inout)  cam_out,
type(physics_ptend), intent(out)  ptend 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ aero_model_emissions()

subroutine, public aero_model::aero_model_emissions ( type(physics_state), intent(in)  state,
type(cam_in_t), intent(inout)  cam_in 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ aero_model_gasaerexch()

subroutine, public aero_model::aero_model_gasaerexch ( integer, intent(in)  loffset,
integer, intent(in)  ncol,
integer, intent(in)  lchnk,
real(r8), intent(in)  delt,
integer, dimension(pcols), intent(in)  latndx,
integer, dimension(pcols), intent(in)  lonndx,
real(r8), dimension(:,:,:), intent(in)  reaction_rates,
real(r8), dimension(:,:), intent(in)  tfld,
real(r8), dimension(:,:), intent(in)  pmid,
real(r8), dimension(:,:), intent(in)  pdel,
real(r8), dimension(:,:), intent(in)  mbar,
real(r8), dimension(:,:), intent(in)  relhum,
real(r8), dimension(:,:), intent(in)  zm,
real(r8), dimension(:,:), intent(in)  qh2o,
real(r8), dimension(:,:), intent(in)  cwat,
real(r8), dimension(:,:), intent(in)  cldfr,
real(r8), dimension(:,:), intent(in)  cldnum,
real(r8), dimension(:,:), intent(in)  airdens,
real(r8), dimension(:,:,:), intent(in)  invariants,
real(r8), dimension(:,:), intent(in)  del_h2so4_gasprod,
real(r8), dimension(:,:,:), intent(in)  vmr0,
real(r8), dimension(:,:,:), intent(inout)  vmr,
type(physics_buffer_desc), dimension(:), pointer  pbuf 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ aero_model_init()

subroutine, public aero_model::aero_model_init ( type(physics_buffer_desc), dimension(:,:), pointer  pbuf2d,
integer, dimension(:), intent(inout)  species_class,
integer, intent(in)  iflagaa 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ aero_model_readnl()

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

◆ aero_model_register()

subroutine, public aero_model::aero_model_register ( integer, intent(in)  imozart_in,
integer, dimension(:), intent(inout)  species_class 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ aero_model_surfarea()

subroutine, public aero_model::aero_model_surfarea ( real(r8), dimension(:,:,:), intent(in)  mmr,
real(r8), intent(in)  radmean,
real(r8), dimension(:,:), intent(in)  relhum,
real(r8), dimension(:,:), intent(in)  pmid,
real(r8), dimension(:,:), intent(in)  temp,
real(r8), dimension(:,:), intent(in)  strato_sad,
real(r8), dimension(:,:), intent(in)  sulfate,
real(r8), dimension(:,:), intent(in)  rho,
integer, dimension(:), intent(in)  ltrop,
integer, intent(in)  het1_ndx,
type(physics_buffer_desc), dimension(:), pointer  pbuf,
integer, intent(in)  ncol,
real(r8), dimension(:,:,:), intent(inout)  sfc,
real(r8), dimension(:,:,:), intent(inout)  dm_aer,
real(r8), dimension(:,:), intent(inout)  sad_total 
)
Here is the caller graph for this function:

◆ aero_model_wetdep()

subroutine, public aero_model::aero_model_wetdep ( real(r8), intent(in)  dt,
real(r8), dimension(:,:), intent(in)  dlf,
real(r8), dimension(:,:), intent(in)  dlf2,
real(r8), dimension(pcols,pverp), intent(in)  cmfmc2,
type(physics_state), intent(in)  state,
real(r8), dimension(pcols,pver), intent(in)  sh_e_ed_ratio,
real(r8), dimension(pcols,pver), intent(in)  mu,
real(r8), dimension(pcols,pver), intent(in)  md,
real(r8), dimension(pcols,pver), intent(in)  du,
real(r8), dimension(pcols,pver), intent(in)  eu,
real(r8), dimension(pcols,pver), intent(in)  ed,
real(r8), dimension(pcols,pver), intent(in)  dp,
real(r8), dimension(pcols), intent(in)  dsubcld,
integer, dimension(pcols), intent(in)  jt,
integer, dimension(pcols), intent(in)  maxg,
integer, dimension(pcols), intent(in)  ideep,
integer, intent(in)  lengath,
integer, dimension(:), intent(in)  species_class,
type(cam_out_t), intent(inout)  cam_out,
type(physics_buffer_desc), dimension(:), pointer  pbuf,
type(physics_ptend), intent(out)  ptend 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calc_1_impact_rate()

subroutine aero_model::calc_1_impact_rate ( real(r8)  dg0,
real(r8)  sigmag,
real(r8)  rhoaero,
real(r8)  temp,
real(r8)  press,
real(r8)  scavratenum,
real(r8)  scavratevol,
integer  lunerr 
)
Here is the caller graph for this function:

◆ mam_prevap_resusp_init()

subroutine aero_model::mam_prevap_resusp_init ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ modal_aero_bcscavcoef_get()

subroutine aero_model::modal_aero_bcscavcoef_get ( integer, intent(in)  m,
integer, intent(in)  ncol,
logical, dimension(pcols,pver), intent(in)  isprx,
real(r8), dimension(pcols,pver,ntot_amode), intent(in)  dgn_awet,
real(r8), dimension(pcols,pver), intent(out)  scavcoefnum,
real(r8), dimension(pcols,pver), intent(out)  scavcoefvol 
)
Here is the caller graph for this function:

◆ modal_aero_bcscavcoef_init()

subroutine aero_model::modal_aero_bcscavcoef_init ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ modal_aero_depvel_part()

subroutine aero_model::modal_aero_depvel_part ( integer, intent(in)  ncol,
real(r8), dimension(pcols,pver), intent(in)  t,
real(r8), dimension(pcols,pver), intent(in)  pmid,
real(r8), dimension(pcols), intent(in)  ram1,
real(r8), dimension(pcols), intent(in)  fv,
real(r8), dimension(pcols,pver), intent(out)  vlc_dry,
real(r8), dimension(pcols), intent(out)  vlc_trb,
real(r8), dimension(pcols,pver), intent(out)  vlc_grv,
real(r8), dimension(pcols,pver), intent(in)  radius_part,
real(r8), dimension(pcols,pver), intent(in)  density_part,
real(r8), dimension(pcols,pver), intent(in)  sig_part,
integer, intent(in)  moment,
integer, intent(in)  lchnk 
)
Here is the caller graph for this function:

◆ qqcw2vmr()

subroutine aero_model::qqcw2vmr ( integer, intent(in)  lchnk,
real(r8), dimension(ncol,pver,gas_pcnst), intent(inout)  vmr,
real(r8), dimension(ncol,pver), intent(in)  mbar,
integer, intent(in)  ncol,
integer, intent(in)  im,
type(physics_buffer_desc), dimension(:), pointer  pbuf 
)
Here is the caller graph for this function:

◆ vmr2qqcw()

subroutine aero_model::vmr2qqcw ( integer, intent(in)  lchnk,
real(r8), dimension(ncol,pver,gas_pcnst), intent(in)  vmr,
real(r8), dimension(ncol,pver), intent(in)  mbar,
integer, intent(in)  ncol,
integer, intent(in)  im,
type(physics_buffer_desc), dimension(:), pointer  pbuf 
)
Here is the caller graph for this function:

Variable Documentation

◆ aitken_idx

integer aero_model::aitken_idx = -1
private

◆ convproc_do_aer

logical aero_model::convproc_do_aer
private

◆ convproc_do_gas

logical aero_model::convproc_do_gas
private

◆ dgnum_idx

integer aero_model::dgnum_idx = 0
private

◆ dgnum_name

character(len=fieldname_len), dimension(ntot_amode) aero_model::dgnum_name
private

◆ dgnumwet_idx

integer aero_model::dgnumwet_idx = 0
private

◆ dlndg_nimptblgrow

real(r8) aero_model::dlndg_nimptblgrow
private

◆ dp_frac_idx

integer aero_model::dp_frac_idx = 0
private

◆ drydep_indices

integer, dimension(:), allocatable aero_model::drydep_indices
private

◆ drydep_list

character(len=16), dimension(pcnst) aero_model::drydep_list = ' '
private

◆ drydep_lq

logical, dimension(pcnst) aero_model::drydep_lq
private

◆ end_loop

integer aero_model::end_loop
private

◆ fracis_idx

integer aero_model::fracis_idx = 0
private

◆ history_aero_prevap_resusp

logical aero_model::history_aero_prevap_resusp = .false.
private

◆ icwmrdp_idx

integer aero_model::icwmrdp_idx = 0
private

◆ icwmrsh_idx

integer aero_model::icwmrsh_idx = 0
private

◆ imozart

integer aero_model::imozart = -1
private

◆ index_chm_mass

integer, dimension(ntot_amode,10) aero_model::index_chm_mass = -1
private

◆ index_tot_mass

integer, dimension(ntot_amode,10) aero_model::index_tot_mass = -1
private

◆ mam_amicphys_optaa

integer aero_model::mam_amicphys_optaa
private

◆ ndrydep

integer aero_model::ndrydep = 0
private

◆ ndx_h2so4

integer aero_model::ndx_h2so4
private

◆ nevapr_dpcu_idx

integer aero_model::nevapr_dpcu_idx = 0
private

◆ nevapr_idx

integer aero_model::nevapr_idx = 0
private

◆ nevapr_shcu_idx

integer aero_model::nevapr_shcu_idx = 0
private

◆ nimptblgrow_maxd

integer, parameter aero_model::nimptblgrow_maxd =12
private

◆ nimptblgrow_mind

integer, parameter aero_model::nimptblgrow_mind =-7
private

◆ nmodes

integer aero_model::nmodes
private

◆ num_idx

integer, dimension(ntot_amode) aero_model::num_idx = -1
private

◆ nwetdep

integer aero_model::nwetdep = 0
private

◆ pblh_idx

integer aero_model::pblh_idx = 0
private

◆ prain_idx

integer aero_model::prain_idx = 0
private

◆ qaerwat_idx

integer aero_model::qaerwat_idx = 0
private

◆ rate1_cw2pr_st_idx

integer aero_model::rate1_cw2pr_st_idx = 0
private

◆ resus_fix

logical aero_model::resus_fix
private

◆ rprddp_idx

integer aero_model::rprddp_idx = 0
private

◆ rprdsh_idx

integer aero_model::rprdsh_idx = 0
private

◆ scavimptblnum

real(r8), dimension(nimptblgrow_mind:nimptblgrow_maxd, ntot_amode) aero_model::scavimptblnum
private

◆ scavimptblvol

real(r8), dimension(nimptblgrow_mind:nimptblgrow_maxd, ntot_amode) aero_model::scavimptblvol
private

◆ seasalt_emis_scale

real(r8) aero_model::seasalt_emis_scale
private

◆ sh_frac_idx

integer aero_model::sh_frac_idx = 0
private

◆ sol_factb_interstitial

real(r8) aero_model::sol_factb_interstitial = 0.1_r8
private

◆ sol_facti_cloud_borne

real(r8) aero_model::sol_facti_cloud_borne = 1._r8
private

◆ sol_factic_interstitial

real(r8) aero_model::sol_factic_interstitial = 0.4_r8
private

◆ sscav_tuning

logical aero_model::sscav_tuning
private

◆ stride_loop

integer aero_model::stride_loop
private

◆ strt_loop

integer aero_model::strt_loop
private

◆ wetdens_ap_idx

integer aero_model::wetdens_ap_idx = 0
private

◆ wetdep_indices

integer, dimension(:), allocatable aero_model::wetdep_indices
private

◆ wetdep_list

character(len=16), dimension(pcnst) aero_model::wetdep_list = ' '
private

◆ wetdep_lq

logical, dimension(pcnst) aero_model::wetdep_lq
private