CAM
rad_constituents Module Reference

Data Types

type  aerlist_t
 
type  aerosol_t
 
type  gas_t
 
type  gaslist_t
 
type  mode_component_t
 
type  modelist_t
 
type  modes_t
 
interface  rad_cnst_get_aer_mmr
 
interface  rad_cnst_get_aer_props
 
interface  rad_cnst_get_info
 
type  rad_cnst_namelist_t
 

Functions/Subroutines

subroutine, public rad_cnst_readnl (nlfile)
 
subroutine, public rad_cnst_init ()
 
subroutine, public rad_cnst_get_gas (list_idx, gasname, state, pbuf, mmr)
 
subroutine, public rad_cnst_get_info (list_idx, gasnames, aernames, use_data_o3, ngas, naero, nmodes)
 
subroutine rad_cnst_get_info_by_mode (list_idx, m_idx, mode_type, num_name, num_name_cw, nspec)
 
subroutine rad_cnst_get_info_by_mode_spec (list_idx, m_idx, s_idx, spec_type, spec_name, spec_name_cw)
 
subroutine rad_cnst_get_info_by_spectype (list_idx, spectype, mode_idx, spec_idx)
 
integer function, public rad_cnst_get_mode_idx (list_idx, mode_type)
 
integer function, public rad_cnst_get_spec_idx (list_idx, mode_idx, spec_type)
 
subroutine, public rad_cnst_get_call_list (call_list)
 
subroutine, public rad_cnst_out (list_idx, state, pbuf)
 
subroutine init_mode_comps (modes)
 
integer function get_cam_idx (source, name, routine)
 
subroutine list_init1 (namelist, gaslist, aerlist, ma_list)
 
subroutine list_init2 (gaslist, aerlist, ma_list)
 
subroutine rad_gas_diag_init (glist)
 
subroutine rad_aer_diag_init (alist)
 
subroutine parse_mode_defs (nl_in, modes)
 
subroutine parse_rad_specifier (specifier, namelist_data)
 
subroutine rad_cnst_get_aer_mmr_by_idx (list_idx, aer_idx, state, pbuf, mmr)
 
subroutine rad_cnst_get_mam_mmr_by_idx (list_idx, mode_idx, spec_idx, phase, state, pbuf, mmr)
 
subroutine, public rad_cnst_get_mam_mmr_idx (mode_idx, spec_idx, idx)
 
subroutine, public rad_cnst_get_mode_num (list_idx, mode_idx, phase, state, pbuf, num)
 
subroutine, public rad_cnst_get_mode_num_idx (mode_idx, cnst_idx)
 
integer function rad_cnst_get_aer_idx (list_idx, aer_name)
 
subroutine rad_cnst_get_aer_props_by_idx (list_idx, aer_idx, opticstype, sw_hygro_ext, sw_hygro_ssa, sw_hygro_asm, lw_hygro_ext, sw_nonhygro_ext, sw_nonhygro_ssa, sw_nonhygro_asm, sw_nonhygro_scat, sw_nonhygro_ascat, lw_ext, refindex_aer_sw, refindex_aer_lw, r_sw_ext, r_sw_scat, r_sw_ascat, r_lw_abs, mu, aername, density_aer, hygro_aer, dryrad_aer, dispersion_aer, num_to_mass_aer)
 
subroutine rad_cnst_get_mam_props_by_idx (list_idx, mode_idx, spec_idx, opticstype, sw_hygro_ext, sw_hygro_ssa, sw_hygro_asm, lw_hygro_ext, sw_nonhygro_ext, sw_nonhygro_ssa, sw_nonhygro_asm, sw_nonhygro_scat, sw_nonhygro_ascat, lw_ext, refindex_aer_sw, refindex_aer_lw, r_sw_ext, r_sw_scat, r_sw_ascat, r_lw_abs, mu, aername, density_aer, hygro_aer, dryrad_aer, dispersion_aer, num_to_mass_aer, spectype)
 
subroutine, public rad_cnst_get_mode_props (list_idx, mode_idx, extpsw, abspsw, asmpsw, absplw, refrtabsw, refitabsw, refrtablw, refitablw, ncoef, prefr, prefi, sigmag, dgnum, dgnumlo, dgnumhi, rhcrystal, rhdeliques)
 
subroutine print_modes (modes)
 
subroutine print_lists (gas_list, aer_list, ma_list)
 

Variables

integer, parameter cs1 = 256
 
integer, parameter, public n_diag = 10
 
character(len=cs1), public iceopticsfile
 
character(len=cs1), public liqopticsfile
 
character(len=32), public icecldoptics
 
character(len=32), public liqcldoptics
 
logical, public oldcldoptics = .false.
 
integer, parameter n_mode_str = 100
 
integer, parameter n_rad_cnst = N_RAD_CNST
 
character(len=cs1), dimension(n_mode_strmode_defs = ' '
 
character(len=cs1), dimension(n_rad_cnstrad_climate = ' '
 
character(len=cs1), dimension(n_rad_cnstrad_diag_1 = ' '
 
character(len=cs1), dimension(n_rad_cnstrad_diag_2 = ' '
 
character(len=cs1), dimension(n_rad_cnstrad_diag_3 = ' '
 
character(len=cs1), dimension(n_rad_cnstrad_diag_4 = ' '
 
character(len=cs1), dimension(n_rad_cnstrad_diag_5 = ' '
 
character(len=cs1), dimension(n_rad_cnstrad_diag_6 = ' '
 
character(len=cs1), dimension(n_rad_cnstrad_diag_7 = ' '
 
character(len=cs1), dimension(n_rad_cnstrad_diag_8 = ' '
 
character(len=cs1), dimension(n_rad_cnstrad_diag_9 = ' '
 
character(len=cs1), dimension(n_rad_cnstrad_diag_10 = ' '
 
type(modes_t), target modes
 
type(rad_cnst_namelist_t), dimension(0:n_diagnamelist
 
logical, dimension(0:n_diagactive_calls
 
type(gaslist_t), dimension(0:n_diag), target gaslist
 
type(aerlist_t), dimension(0:n_diag), target aerosollist
 
type(modelist_t), dimension(0:n_diag), target ma_list
 
real(r8), dimension(:,:), allocatable, target zero_cols
 
logical verbose = .true.
 
character(len=1), parameter nl = achar(10)
 
integer, parameter num_mode_types = 8
 
integer, parameter num_spec_types = 9
 
character(len=14), dimension(num_mode_types), parameter mode_type_names = (/ 'accum ', 'aitken ', 'primary_carbon', 'fine_seasalt ', 'fine_dust ', 'coarse ', 'coarse_seasalt', 'coarse_dust ' /)
 
character(len=9), dimension(num_spec_types), parameter spec_type_names = (/ 'sulfate ', 'ammonium ', 'nitrate ', 'p-organic', 's-organic', 'black-c ', 'seasalt ', 'dust ', 'm-organic' /)
 

Function/Subroutine Documentation

◆ get_cam_idx()

integer function rad_constituents::get_cam_idx ( character(len=*), intent(in)  source,
character(len=*), intent(in)  name,
character(len=*), intent(in)  routine 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_mode_comps()

subroutine rad_constituents::init_mode_comps ( type(modes_t), intent(inout)  modes)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ list_init1()

subroutine rad_constituents::list_init1 ( type(rad_cnst_namelist_t), intent(in)  namelist,
type(gaslist_t), intent(inout)  gaslist,
type(aerlist_t), intent(inout)  aerlist,
type(modelist_t), intent(inout)  ma_list 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ list_init2()

subroutine rad_constituents::list_init2 ( type(gaslist_t), intent(inout)  gaslist,
type(aerlist_t), intent(inout)  aerlist,
type(modelist_t), intent(inout)  ma_list 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ parse_mode_defs()

subroutine rad_constituents::parse_mode_defs ( character(len=*), dimension(:), intent(inout)  nl_in,
type(modes_t), intent(inout)  modes 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ parse_rad_specifier()

subroutine rad_constituents::parse_rad_specifier ( character(len=*), dimension(:), intent(in)  specifier,
type(rad_cnst_namelist_t), intent(inout)  namelist_data 
)
private
Here is the caller graph for this function:

◆ print_lists()

subroutine rad_constituents::print_lists ( type(gaslist_t), intent(in)  gas_list,
type(aerlist_t), intent(in)  aer_list,
type(modelist_t), intent(in)  ma_list 
)
private
Here is the caller graph for this function:

◆ print_modes()

subroutine rad_constituents::print_modes ( type(modes_t), intent(inout)  modes)
Here is the caller graph for this function:

◆ rad_aer_diag_init()

subroutine rad_constituents::rad_aer_diag_init ( type(aerlist_t), intent(inout)  alist)
private
Here is the caller graph for this function:

◆ rad_cnst_get_aer_idx()

integer function rad_constituents::rad_cnst_get_aer_idx ( integer, intent(in)  list_idx,
character(len=*), intent(in)  aer_name 
)
private

◆ rad_cnst_get_aer_mmr_by_idx()

subroutine rad_constituents::rad_cnst_get_aer_mmr_by_idx ( integer, intent(in)  list_idx,
integer, intent(in)  aer_idx,
type(physics_state), intent(in), target  state,
type(physics_buffer_desc), dimension(:), pointer  pbuf,
real(r8), dimension(:,:), pointer  mmr 
)
private

◆ rad_cnst_get_aer_props_by_idx()

subroutine rad_constituents::rad_cnst_get_aer_props_by_idx ( integer, intent(in)  list_idx,
integer, intent(in)  aer_idx,
character(len=ot_length), intent(out), optional  opticstype,
real(r8), dimension(:,:), optional, pointer  sw_hygro_ext,
real(r8), dimension(:,:), optional, pointer  sw_hygro_ssa,
real(r8), dimension(:,:), optional, pointer  sw_hygro_asm,
real(r8), dimension(:,:), optional, pointer  lw_hygro_ext,
real(r8), dimension(:), optional, pointer  sw_nonhygro_ext,
real(r8), dimension(:), optional, pointer  sw_nonhygro_ssa,
real(r8), dimension(:), optional, pointer  sw_nonhygro_asm,
real(r8), dimension(:), optional, pointer  sw_nonhygro_scat,
real(r8), dimension(:), optional, pointer  sw_nonhygro_ascat,
real(r8), dimension(:), optional, pointer  lw_ext,
complex(r8), dimension(:), optional, pointer  refindex_aer_sw,
complex(r8), dimension(:), optional, pointer  refindex_aer_lw,
real(r8), dimension(:,:), optional, pointer  r_sw_ext,
real(r8), dimension(:,:), optional, pointer  r_sw_scat,
real(r8), dimension(:,:), optional, pointer  r_sw_ascat,
real(r8), dimension(:,:), optional, pointer  r_lw_abs,
real(r8), dimension(:), optional, pointer  mu,
character(len=20), intent(out), optional  aername,
real(r8), intent(out), optional  density_aer,
real(r8), intent(out), optional  hygro_aer,
real(r8), intent(out), optional  dryrad_aer,
real(r8), intent(out), optional  dispersion_aer,
real(r8), intent(out), optional  num_to_mass_aer 
)
private
Here is the call graph for this function:

◆ rad_cnst_get_call_list()

subroutine, public rad_constituents::rad_cnst_get_call_list ( logical, dimension(0:n_diag), intent(out)  call_list)
Here is the caller graph for this function:

◆ rad_cnst_get_gas()

subroutine, public rad_constituents::rad_cnst_get_gas ( integer, intent(in)  list_idx,
character(len=*), intent(in)  gasname,
type(physics_state), intent(in), target  state,
type(physics_buffer_desc), dimension(:), pointer  pbuf,
real(r8), dimension(:,:), pointer  mmr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rad_cnst_get_info()

subroutine, public rad_constituents::rad_cnst_get_info ( integer, intent(in)  list_idx,
character(len=64), dimension(:), intent(out), optional  gasnames,
character(len=64), dimension(:), intent(out), optional  aernames,
logical, intent(out), optional  use_data_o3,
integer, intent(out), optional  ngas,
integer, intent(out), optional  naero,
integer, intent(out), optional  nmodes 
)
Here is the call graph for this function:

◆ rad_cnst_get_info_by_mode()

subroutine rad_constituents::rad_cnst_get_info_by_mode ( integer, intent(in)  list_idx,
integer, intent(in)  m_idx,
character(len=32), intent(out), optional  mode_type,
character(len=32), intent(out), optional  num_name,
character(len=32), intent(out), optional  num_name_cw,
integer, intent(out), optional  nspec 
)
private

◆ rad_cnst_get_info_by_mode_spec()

subroutine rad_constituents::rad_cnst_get_info_by_mode_spec ( integer, intent(in)  list_idx,
integer, intent(in)  m_idx,
integer, intent(in)  s_idx,
character(len=32), intent(out), optional  spec_type,
character(len=32), intent(out), optional  spec_name,
character(len=32), intent(out), optional  spec_name_cw 
)
private

◆ rad_cnst_get_info_by_spectype()

subroutine rad_constituents::rad_cnst_get_info_by_spectype ( integer, intent(in)  list_idx,
character(len=*), intent(in)  spectype,
integer, intent(out), optional  mode_idx,
integer, intent(out), optional  spec_idx 
)
private

◆ rad_cnst_get_mam_mmr_by_idx()

subroutine rad_constituents::rad_cnst_get_mam_mmr_by_idx ( integer, intent(in)  list_idx,
integer, intent(in)  mode_idx,
integer, intent(in)  spec_idx,
character(len=1), intent(in)  phase,
type(physics_state), intent(in), target  state,
type(physics_buffer_desc), dimension(:), pointer  pbuf,
real(r8), dimension(:,:), pointer  mmr 
)
private

◆ rad_cnst_get_mam_mmr_idx()

subroutine, public rad_constituents::rad_cnst_get_mam_mmr_idx ( integer, intent(in)  mode_idx,
integer, intent(in)  spec_idx,
integer, intent(out)  idx 
)
Here is the caller graph for this function:

◆ rad_cnst_get_mam_props_by_idx()

subroutine rad_constituents::rad_cnst_get_mam_props_by_idx ( integer, intent(in)  list_idx,
integer, intent(in)  mode_idx,
integer, intent(in)  spec_idx,
character(len=ot_length), intent(out), optional  opticstype,
real(r8), dimension(:,:), optional, pointer  sw_hygro_ext,
real(r8), dimension(:,:), optional, pointer  sw_hygro_ssa,
real(r8), dimension(:,:), optional, pointer  sw_hygro_asm,
real(r8), dimension(:,:), optional, pointer  lw_hygro_ext,
real(r8), dimension(:), optional, pointer  sw_nonhygro_ext,
real(r8), dimension(:), optional, pointer  sw_nonhygro_ssa,
real(r8), dimension(:), optional, pointer  sw_nonhygro_asm,
real(r8), dimension(:), optional, pointer  sw_nonhygro_scat,
real(r8), dimension(:), optional, pointer  sw_nonhygro_ascat,
real(r8), dimension(:), optional, pointer  lw_ext,
complex(r8), dimension(:), optional, pointer  refindex_aer_sw,
complex(r8), dimension(:), optional, pointer  refindex_aer_lw,
real(r8), dimension(:,:), optional, pointer  r_sw_ext,
real(r8), dimension(:,:), optional, pointer  r_sw_scat,
real(r8), dimension(:,:), optional, pointer  r_sw_ascat,
real(r8), dimension(:,:), optional, pointer  r_lw_abs,
real(r8), dimension(:), optional, pointer  mu,
character(len=20), intent(out), optional  aername,
real(r8), intent(out), optional  density_aer,
real(r8), intent(out), optional  hygro_aer,
real(r8), intent(out), optional  dryrad_aer,
real(r8), intent(out), optional  dispersion_aer,
real(r8), intent(out), optional  num_to_mass_aer,
character(len=32), intent(out), optional  spectype 
)
Here is the call graph for this function:

◆ rad_cnst_get_mode_idx()

integer function, public rad_constituents::rad_cnst_get_mode_idx ( integer, intent(in)  list_idx,
character(len=*), intent(in)  mode_type 
)
Here is the caller graph for this function:

◆ rad_cnst_get_mode_num()

subroutine, public rad_constituents::rad_cnst_get_mode_num ( integer, intent(in)  list_idx,
integer, intent(in)  mode_idx,
character(len=1), intent(in)  phase,
type(physics_state), intent(in), target  state,
type(physics_buffer_desc), dimension(:), pointer  pbuf,
real(r8), dimension(:,:), pointer  num 
)
Here is the caller graph for this function:

◆ rad_cnst_get_mode_num_idx()

subroutine, public rad_constituents::rad_cnst_get_mode_num_idx ( integer, intent(in)  mode_idx,
integer, intent(out)  cnst_idx 
)
Here is the caller graph for this function:

◆ rad_cnst_get_mode_props()

subroutine, public rad_constituents::rad_cnst_get_mode_props ( integer, intent(in)  list_idx,
integer, intent(in)  mode_idx,
real(r8), dimension(:,:,:,:), optional, pointer  extpsw,
real(r8), dimension(:,:,:,:), optional, pointer  abspsw,
real(r8), dimension(:,:,:,:), optional, pointer  asmpsw,
real(r8), dimension(:,:,:,:), optional, pointer  absplw,
real(r8), dimension(:,:), optional, pointer  refrtabsw,
real(r8), dimension(:,:), optional, pointer  refitabsw,
real(r8), dimension(:,:), optional, pointer  refrtablw,
real(r8), dimension(:,:), optional, pointer  refitablw,
integer, intent(out), optional  ncoef,
integer, intent(out), optional  prefr,
integer, intent(out), optional  prefi,
real(r8), intent(out), optional  sigmag,
real(r8), intent(out), optional  dgnum,
real(r8), intent(out), optional  dgnumlo,
real(r8), intent(out), optional  dgnumhi,
real(r8), intent(out), optional  rhcrystal,
real(r8), intent(out), optional  rhdeliques 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rad_cnst_get_spec_idx()

integer function, public rad_constituents::rad_cnst_get_spec_idx ( integer, intent(in)  list_idx,
integer, intent(in)  mode_idx,
character(len=*), intent(in)  spec_type 
)
Here is the caller graph for this function:

◆ rad_cnst_init()

subroutine, public rad_constituents::rad_cnst_init ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rad_cnst_out()

subroutine, public rad_constituents::rad_cnst_out ( integer, intent(in)  list_idx,
type(physics_state), intent(in), target  state,
type(physics_buffer_desc), dimension(:), pointer  pbuf 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rad_cnst_readnl()

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

◆ rad_gas_diag_init()

subroutine rad_constituents::rad_gas_diag_init ( type(gaslist_t), intent(inout)  glist)
private
Here is the caller graph for this function:

Variable Documentation

◆ active_calls

logical, dimension(0:n_diag) rad_constituents::active_calls
private

◆ aerosollist

type(aerlist_t), dimension(0:n_diag), target rad_constituents::aerosollist
private

◆ cs1

integer, parameter rad_constituents::cs1 = 256
private

◆ gaslist

type(gaslist_t), dimension(0:n_diag), target rad_constituents::gaslist
private

◆ icecldoptics

character(len=32), public rad_constituents::icecldoptics

◆ iceopticsfile

character(len=cs1), public rad_constituents::iceopticsfile

◆ liqcldoptics

character(len=32), public rad_constituents::liqcldoptics

◆ liqopticsfile

character(len=cs1), public rad_constituents::liqopticsfile

◆ ma_list

type(modelist_t), dimension(0:n_diag), target rad_constituents::ma_list
private

◆ mode_defs

character(len=cs1), dimension(n_mode_str) rad_constituents::mode_defs = ' '
private

◆ mode_type_names

character(len=14), dimension(num_mode_types), parameter rad_constituents::mode_type_names = (/ 'accum ', 'aitken ', 'primary_carbon', 'fine_seasalt ', 'fine_dust ', 'coarse ', 'coarse_seasalt', 'coarse_dust ' /)
private

◆ modes

type(modes_t), target rad_constituents::modes
private

◆ n_diag

integer, parameter, public rad_constituents::n_diag = 10

◆ n_mode_str

integer, parameter rad_constituents::n_mode_str = 100
private

◆ n_rad_cnst

integer, parameter rad_constituents::n_rad_cnst = N_RAD_CNST
private

◆ namelist

type(rad_cnst_namelist_t), dimension(0:n_diag) rad_constituents::namelist
private

◆ nl

character(len=1), parameter rad_constituents::nl = achar(10)
private

◆ num_mode_types

integer, parameter rad_constituents::num_mode_types = 8
private

◆ num_spec_types

integer, parameter rad_constituents::num_spec_types = 9
private

◆ oldcldoptics

logical, public rad_constituents::oldcldoptics = .false.

◆ rad_climate

character(len=cs1), dimension(n_rad_cnst) rad_constituents::rad_climate = ' '
private

◆ rad_diag_1

character(len=cs1), dimension(n_rad_cnst) rad_constituents::rad_diag_1 = ' '
private

◆ rad_diag_10

character(len=cs1), dimension(n_rad_cnst) rad_constituents::rad_diag_10 = ' '
private

◆ rad_diag_2

character(len=cs1), dimension(n_rad_cnst) rad_constituents::rad_diag_2 = ' '
private

◆ rad_diag_3

character(len=cs1), dimension(n_rad_cnst) rad_constituents::rad_diag_3 = ' '
private

◆ rad_diag_4

character(len=cs1), dimension(n_rad_cnst) rad_constituents::rad_diag_4 = ' '
private

◆ rad_diag_5

character(len=cs1), dimension(n_rad_cnst) rad_constituents::rad_diag_5 = ' '
private

◆ rad_diag_6

character(len=cs1), dimension(n_rad_cnst) rad_constituents::rad_diag_6 = ' '
private

◆ rad_diag_7

character(len=cs1), dimension(n_rad_cnst) rad_constituents::rad_diag_7 = ' '
private

◆ rad_diag_8

character(len=cs1), dimension(n_rad_cnst) rad_constituents::rad_diag_8 = ' '
private

◆ rad_diag_9

character(len=cs1), dimension(n_rad_cnst) rad_constituents::rad_diag_9 = ' '
private

◆ spec_type_names

character(len=9), dimension(num_spec_types), parameter rad_constituents::spec_type_names = (/ 'sulfate ', 'ammonium ', 'nitrate ', 'p-organic', 's-organic', 'black-c ', 'seasalt ', 'dust ', 'm-organic' /)
private

◆ verbose

logical rad_constituents::verbose = .true.
private

◆ zero_cols

real(r8), dimension(:,:), allocatable, target rad_constituents::zero_cols
private