CCPP Scientific Documentation
v5.0.0
subroutine module_radiation_aerosols::aer_property ( real (kind=kind_phys), dimension(:,:), intent(in)  prsi,
real (kind=kind_phys), dimension(:,:), intent(in)  prsl,
real (kind=kind_phys), dimension(:,:), intent(in)  prslk,
real (kind=kind_phys), dimension(:,:), intent(in)  tvly,
real (kind=kind_phys), dimension(:,:), intent(in)  rhlay,
real (kind=kind_phys), dimension(:,:), intent(in)  dz,
real (kind=kind_phys), dimension(:,:), intent(in)  hz,
real (kind=kind_phys), dimension(:,:,:), intent(in)  tracer,
real (kind=kind_phys), dimension(:), intent(in)  alon,
real (kind=kind_phys), dimension(:), intent(in)  alat,
real (kind=kind_phys), dimension(:), intent(in)  slmsk,
logical, intent(in)  laersw,
logical, intent(in)  laerlw,
integer, intent(in)  IMAX,
integer, intent(in)  NLAY,
integer, intent(in)  NLP1,
real (kind=kind_phys), dimension(:,:,:,:), intent(out)  aerosw,
real (kind=kind_phys), dimension(:,:,:,:), intent(out)  aerolw,
real (kind=kind_phys), dimension(:,:), intent(out)  aerodp 
)
private
Parameters
prsi(IMAX,NLP1), pressure at interface in mb
prsl(IMAX,NLAY), layer mean pressure(not used)
prslk(IMAX,NLAY), exner function= \((p/p0)^{rocp}\) (not used)
tvly(IMAX,NLAY), layer virtual temperature (not used)
rhlay(IMAX,NLAY), layer mean relative humidity
dz(IMAX,NLAY), layer thickness in m
hz(IMAX,NLP1), level high in m
tracer(IMAX,NLAY,NTRAC), aer tracer concentrations (not used)
alon,alat(IMAX), longitude and latitude of given points in degree
slmsk(IMAX), sea/land mask (sea:0,land:1,sea-ice:2)
laersw,laerlwlogical flag for sw/lw aerosol calculations
IMAXhorizontal dimension of arrays
NLAY,NLP1vertical dimensions of arrays
NSPCnum of species for optional aod output fields
aerosw(IMAX,NLAY,NBDSW,NF_AESW), aeros opt properties for sw
(:,:,:,1): optical depth
(:,:,:,2): single scattering albedo
(:,:,:,3): asymmetry parameter
aerolw(IMAX,NLAY,NBDLW,NF_AELW), aeros opt properties for lw
(:,:,:,1): optical depth
(:,:,:,2): single scattering albedo
(:,:,:,3): asymmetry parameter
aerodp(IMAX,NSPC+1), vertically integrated aer-opt-depth

General Algorithm

  1. Map aerosol data to model grids
    • Map grid in longitude direction, lon from 0 to 355 deg resolution
    • Map grid in latitude direction, lat from 90n to 90s in 5 deg resolution
  2. Determin the type of aerosol profile (kp) and scale hight for domain 1 (h1) to be used at this grid point.
  3. Compute horizontal bi-linear interpolation weights
  4. Do horizontal bi-linear interpolation on aerosol partical density (denn)
  5. Do horizontal bi-linear interpolation on mixing ratios
  6. Prepare to setup domain index array and effective layer thickness, also convert pressure level to sigma level to follow the terrain.
  7. Call radclimaer() to calculate SW/LW aerosol optical properties for the corresponding frequency bands.

References cmixg, denng, f_one, f_zero, haer, idxcg, imxae, physparam::ivflip, jmxae, kprfg, module_radlw_parameters::nbdlw, module_radsw_parameters::nbdsw, nlwbnd, nspc, nswbnd, nv_aod, nxc, prsref, radclimaer(), and sigref.

Referenced by setaer().

Here is the call graph for this function: