CAM
ndrop Module Reference

Data Types

type  ptr2d_t
 

Functions/Subroutines

subroutine, public ndrop_init
 
subroutine, public dropmixnuc (state, ptend, dtmicro, pbuf, wsub, cldn, cldo, tendnd, factnum)
 
subroutine explmix (q, src, ekkp, ekkm, overlapp, overlapm, qold, surfrate, flxconv, pver, dt, is_unact, qactold)
 
subroutine, public activate_modal (wbar, sigw, wdiab, wminf, wmaxf, tair, rhoair, na, nmode, volume, hygro, fn, fm, fluxn, fluxm, flux_fullact, smax_prescribed)
 
subroutine maxsat (zeta, eta, nmode, smc, smax)
 
subroutine ccncalc (state, pbuf, cs, ccn)
 
subroutine loadaer (state, pbuf, istart, istop, k, m, cs, phase, naerosol, vaerosol, hygro)
 

Variables

real(r8), dimension(:), allocatable alogsig
 
real(r8), dimension(:), allocatable exp45logsig
 
real(r8), dimension(:), allocatable f1
 
real(r8), dimension(:), allocatable f2
 
real(r8) t0
 
real(r8) aten
 
real(r8) surften
 
real(r8) alog2
 
real(r8) alog3
 
real(r8) alogaten
 
real(r8) third
 
real(r8) twothird
 
real(r8) sixth
 
real(r8) zero
 
real(r8) sq2
 
real(r8) sqpi
 
integer, parameter psat =6
 
real(r8), dimension(psat), parameter supersat = (/ 0.02_r8, 0.05_r8, 0.1_r8, 0.2_r8, 0.5_r8, 1.0_r8 /)
 
character(len=8), dimension(psatccn_name = (/'CCN1','CCN2','CCN3','CCN4','CCN5','CCN6'/)
 
integer numliq_idx = -1
 
integer kvh_idx = -1
 
integer ntot_amode
 
integer, dimension(:), allocatable nspec_amode
 
real(r8), dimension(:), allocatable sigmag_amode
 
real(r8), dimension(:), allocatable dgnumlo_amode
 
real(r8), dimension(:), allocatable dgnumhi_amode
 
real(r8), dimension(:), allocatable voltonumblo_amode
 
real(r8), dimension(:), allocatable voltonumbhi_amode
 
logical history_aerosol
 
character(len=fieldname_len), dimension(:), allocatable fieldname
 
character(len=fieldname_len), dimension(:), allocatable fieldname_cw
 
integer, dimension(:,:), allocatable mam_idx
 
integer ncnst_tot
 
integer, dimension(:,:), allocatable mam_cnst_idx
 
logical prog_modal_aero
 
logical, dimension(pcnst) lq = .false.
 
logical fix_g1_err_ndrop = .false.
 
logical regen_fix
 

Function/Subroutine Documentation

◆ activate_modal()

subroutine, public ndrop::activate_modal ( real(r8), intent(in)  wbar,
real(r8), intent(in)  sigw,
real(r8), intent(in)  wdiab,
real(r8), intent(in)  wminf,
real(r8), intent(in)  wmaxf,
real(r8), intent(in)  tair,
real(r8), intent(in)  rhoair,
real(r8), dimension(:), intent(in)  na,
integer, intent(in)  nmode,
real(r8), dimension(:), intent(in)  volume,
real(r8), dimension(:), intent(in)  hygro,
real(r8), dimension(:), intent(out)  fn,
real(r8), dimension(:), intent(out)  fm,
real(r8), dimension(:), intent(out)  fluxn,
real(r8), dimension(:), intent(out)  fluxm,
real(r8), intent(out)  flux_fullact,
real(r8), optional  smax_prescribed 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ccncalc()

subroutine ndrop::ccncalc ( type(physics_state), intent(in), target  state,
type(physics_buffer_desc), dimension(:), pointer  pbuf,
real(r8), dimension(pcols,pver), intent(in)  cs,
real(r8), dimension(pcols,pver,psat), intent(out)  ccn 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dropmixnuc()

subroutine, public ndrop::dropmixnuc ( type(physics_state), intent(in), target  state,
type(physics_ptend), intent(out)  ptend,
real(r8), intent(in)  dtmicro,
type(physics_buffer_desc), dimension(:), pointer  pbuf,
real(r8), dimension(pcols,pver), intent(in)  wsub,
real(r8), dimension(pcols,pver), intent(in)  cldn,
real(r8), dimension(pcols,pver), intent(in)  cldo,
real(r8), dimension(pcols,pver), intent(out)  tendnd,
real(r8), dimension(:,:,:), intent(out)  factnum 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ explmix()

subroutine ndrop::explmix ( real(r8), dimension(pver), intent(out)  q,
real(r8), dimension(pver), intent(in)  src,
real(r8), dimension(pver), intent(in)  ekkp,
real(r8), dimension(pver), intent(in)  ekkm,
real(r8), dimension(pver), intent(in)  overlapp,
real(r8), dimension(pver), intent(in)  overlapm,
real(r8), dimension(pver), intent(in)  qold,
real(r8), intent(in)  surfrate,
real(r8), intent(in)  flxconv,
integer, intent(in)  pver,
real(r8), intent(in)  dt,
logical, intent(in)  is_unact,
real(r8), dimension(pver), intent(in), optional  qactold 
)
Here is the caller graph for this function:

◆ loadaer()

subroutine ndrop::loadaer ( type(physics_state), intent(in), target  state,
type(physics_buffer_desc), dimension(:), pointer  pbuf,
integer, intent(in)  istart,
integer, intent(in)  istop,
integer, intent(in)  k,
integer, intent(in)  m,
real(r8), dimension(:,:), intent(in)  cs,
integer, intent(in)  phase,
real(r8), dimension(:), intent(out)  naerosol,
real(r8), dimension(:), intent(out)  vaerosol,
real(r8), dimension(:), intent(out)  hygro 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ maxsat()

subroutine ndrop::maxsat ( real(r8), dimension(nmode), intent(in)  zeta,
real(r8), dimension(nmode), intent(in)  eta,
integer, intent(in)  nmode,
real(r8), dimension(nmode), intent(in)  smc,
real(r8), intent(out)  smax 
)
private
Here is the caller graph for this function:

◆ ndrop_init()

subroutine, public ndrop::ndrop_init ( )
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ alog2

real(r8) ndrop::alog2
private

◆ alog3

real(r8) ndrop::alog3
private

◆ alogaten

real(r8) ndrop::alogaten
private

◆ alogsig

real(r8), dimension(:), allocatable ndrop::alogsig
private

◆ aten

real(r8) ndrop::aten
private

◆ ccn_name

character(len=8), dimension(psat) ndrop::ccn_name = (/'CCN1','CCN2','CCN3','CCN4','CCN5','CCN6'/)
private

◆ dgnumhi_amode

real(r8), dimension(:), allocatable ndrop::dgnumhi_amode
private

◆ dgnumlo_amode

real(r8), dimension(:), allocatable ndrop::dgnumlo_amode
private

◆ exp45logsig

real(r8), dimension(:), allocatable ndrop::exp45logsig
private

◆ f1

real(r8), dimension(:), allocatable ndrop::f1
private

◆ f2

real(r8), dimension(:), allocatable ndrop::f2
private

◆ fieldname

character(len=fieldname_len), dimension(:), allocatable ndrop::fieldname
private

◆ fieldname_cw

character(len=fieldname_len), dimension(:), allocatable ndrop::fieldname_cw
private

◆ fix_g1_err_ndrop

logical ndrop::fix_g1_err_ndrop = .false.
private

◆ history_aerosol

logical ndrop::history_aerosol
private

◆ kvh_idx

integer ndrop::kvh_idx = -1
private

◆ lq

logical, dimension(pcnst) ndrop::lq = .false.
private

◆ mam_cnst_idx

integer, dimension(:,:), allocatable ndrop::mam_cnst_idx
private

◆ mam_idx

integer, dimension(:,:), allocatable ndrop::mam_idx
private

◆ ncnst_tot

integer ndrop::ncnst_tot
private

◆ nspec_amode

integer, dimension(:), allocatable ndrop::nspec_amode
private

◆ ntot_amode

integer ndrop::ntot_amode
private

◆ numliq_idx

integer ndrop::numliq_idx = -1
private

◆ prog_modal_aero

logical ndrop::prog_modal_aero
private

◆ psat

integer, parameter ndrop::psat =6
private

◆ regen_fix

logical ndrop::regen_fix
private

◆ sigmag_amode

real(r8), dimension(:), allocatable ndrop::sigmag_amode
private

◆ sixth

real(r8) ndrop::sixth
private

◆ sq2

real(r8) ndrop::sq2
private

◆ sqpi

real(r8) ndrop::sqpi
private

◆ supersat

real(r8), dimension(psat), parameter ndrop::supersat = (/ 0.02_r8, 0.05_r8, 0.1_r8, 0.2_r8, 0.5_r8, 1.0_r8 /)
private

◆ surften

real(r8) ndrop::surften
private

◆ t0

real(r8) ndrop::t0
private

◆ third

real(r8) ndrop::third
private

◆ twothird

real(r8) ndrop::twothird
private

◆ voltonumbhi_amode

real(r8), dimension(:), allocatable ndrop::voltonumbhi_amode
private

◆ voltonumblo_amode

real(r8), dimension(:), allocatable ndrop::voltonumblo_amode
private

◆ zero

real(r8) ndrop::zero
private