This module contains climatological atmospheric aerosol schemes for radiation computations. More...
This module contains climatological atmospheric aerosol schemes for radiation computations.
This module has three externally callable subroutines:
References:
Data Types | |
type | module_radiation_aerosols::gocart_index_type |
index for gocart aerosol species to be included in the calculations of aerosol optical properties (ext, ssa, asy) More... | |
type | module_radiation_aerosols::tracer_index_type |
index for gocart aerosols from prognostic tracer fields More... | |
Variables | |
integer, parameter, public | module_radiation_aerosols::nf_aesw = 3 |
num of output fields for SW rad | |
integer, parameter, public | module_radiation_aerosols::nf_aelw = 3 |
num of output fields for LW rad | |
integer, parameter, public | module_radiation_aerosols::nlwstr = 1 |
starting band number in ir region | |
integer, parameter, public | module_radiation_aerosols::nspc = 5 |
num of species for output aod (opnl) | |
integer, parameter, public | module_radiation_aerosols::nspc1 = NSPC + 1 |
total+species | |
real(kind=kind_phys), parameter | module_radiation_aerosols::f_zero = 0.0 |
real(kind=kind_phys), parameter | module_radiation_aerosols::f_one = 1.0 |
integer, save | module_radiation_aerosols::nswbnd = NBDSW |
number of actual bands for sw aerosols; calculated according to laswflg setting | |
integer, save | module_radiation_aerosols::nlwbnd = NBDLW |
number of actual bands for lw aerosols; calculated according to lalwflg and lalw1bd settings | |
integer, save | module_radiation_aerosols::nswlwbd = NBDSW+NBDLW |
total number of bands for sw+lw aerosols | |
integer, parameter, public | module_radiation_aerosols::nwvsol = 151 |
num of wvnum regions where solar flux is constant | |
integer, parameter, public | module_radiation_aerosols::nwvtot = 57600 |
total num of wvnum included | |
integer, parameter, public | module_radiation_aerosols::nwvtir = 4000 |
total num of wvnum in ir range | |
integer, dimension(nwvsol), save | module_radiation_aerosols::nwvns0 |
number of wavenumbers in each region where the solar flux is constant | |
real(kind=kind_phys), dimension(nwvsol), save | module_radiation_aerosols::s0intv |
solar flux \(w/m^2\) in each wvnumb region where it is constant | |
integer, parameter | module_radiation_aerosols::minvyr = 1850 |
lower limit (year) data available | |
integer, parameter | module_radiation_aerosols::maxvyr = 1999 |
upper limit (year) data available | |
integer, dimension(:,:,:), allocatable, save | module_radiation_aerosols::ivolae |
monthly, 45-deg lat-zone aerosols data set in subroutine 'aer_init' | |
integer | module_radiation_aerosols::kyrstr |
starting year of data in the input file | |
integer | module_radiation_aerosols::kyrend |
ending year of data in the input file | |
integer | module_radiation_aerosols::kyrsav |
the year of data in use in the input file | |
integer | module_radiation_aerosols::kmonsav |
the month of data in use in the input file | |
integer, parameter | module_radiation_aerosols::nxc = 5 |
num of max componets in a profile | |
integer, parameter | module_radiation_aerosols::nae = 7 |
num of aerosols profile structures | |
integer, parameter | module_radiation_aerosols::ndm = 5 |
num of atmos aerosols domains | |
integer, parameter | module_radiation_aerosols::imxae = 72 |
num of lon-points in glb aeros data set | |
integer, parameter | module_radiation_aerosols::jmxae = 37 |
num of lat-points in glb aeros data set | |
integer, parameter | module_radiation_aerosols::naerbnd =61 |
num of bands for clim aer data (opac) | |
integer, parameter | module_radiation_aerosols::nrhlev =8 |
num of rh levels for rh-dep components | |
integer, parameter | module_radiation_aerosols::ncm1 = 6 |
num of rh independent aeros species | |
integer, parameter | module_radiation_aerosols::ncm2 = 4 |
num of rh dependent aeros species | |
integer, parameter | module_radiation_aerosols::ncm = NCM1+NCM2 |
real(kind=kind_phys), dimension(nrhlev), save | module_radiation_aerosols::rhlev |
predefined relative humidity levels | |
real(kind=kind_phys), dimension(ndm, nae), save | module_radiation_aerosols::haer |
scale height of aerosols (km) | |
real(kind=kind_phys), dimension(ndm, nae), save | module_radiation_aerosols::prsref |
ref pressure lev (sfc to toa) in mb (100Pa) | |
real(kind=kind_phys), dimension(ndm, nae), save | module_radiation_aerosols::sigref |
ref sigma lev (sfc to toa) | |
real(kind=kind_phys), dimension(:,:), allocatable, save | module_radiation_aerosols::extrhi |
real(kind=kind_phys), dimension(:,:), allocatable, save | module_radiation_aerosols::scarhi |
real(kind=kind_phys), dimension(:,:), allocatable, save | module_radiation_aerosols::ssarhi |
real(kind=kind_phys), dimension(:,:), allocatable, save | module_radiation_aerosols::asyrhi |
real(kind=kind_phys), dimension(:,:,:), allocatable, save | module_radiation_aerosols::extrhd |
real(kind=kind_phys), dimension(:,:,:), allocatable, save | module_radiation_aerosols::scarhd |
real(kind=kind_phys), dimension(:,:,:), allocatable, save | module_radiation_aerosols::ssarhd |
real(kind=kind_phys), dimension(:,:,:), allocatable, save | module_radiation_aerosols::asyrhd |
real(kind=kind_phys), dimension(:), allocatable, save | module_radiation_aerosols::extstra |
topospheric aerosol profile distribution | |
real(kind=kind_phys), dimension(nxc, imxae, jmxae), save | module_radiation_aerosols::cmixg |
aeros component mixing ratio | |
real(kind=kind_phys), dimension(2,imxae, jmxae), save | module_radiation_aerosols::denng |
aeros number density | |
integer, dimension(nxc, imxae, jmxae), save | module_radiation_aerosols::idxcg |
aeros component index | |
integer, dimension( imxae, jmxae), save | module_radiation_aerosols::kprfg |
aeros profile index | |
module variables for gocart aerosol optical properties | |
integer, parameter | module_radiation_aerosols::kaerbnd =61 |
num of bands for aer data (gocart) | |
integer, parameter | module_radiation_aerosols::krhlev =36 |
num of rh levels for rh-dep components | |
integer, save | module_radiation_aerosols::kcm1 = 0 |
num of rh indep aerosols (set in subr set_aerspc) | |
integer, save | module_radiation_aerosols::kcm2 = 0 |
num of rh dep aerosols (set in subr set_aerspc) | |
integer, save | module_radiation_aerosols::kcm |
=KCM1+KCM2 (set in subr set_aerspc) | |
real(kind=kind_phys), dimension(:) | module_radiation_aerosols::rhlev_grt |
real(kind=kind_phys), dimension(krhlev) | module_radiation_aerosols::data |
integer, dimension(:), allocatable | module_radiation_aerosols::iendwv_grt |
spectral band structure: ending wavenumber ( \(cm^-1\)) for each band | |
relative humidity independent aerosol optical properties: | |
real(kind=kind_phys), dimension(:,:), allocatable | module_radiation_aerosols::rhidext0_grt |
extinction coefficient | |
real(kind=kind_phys), dimension(:,:), allocatable | module_radiation_aerosols::rhidssa0_grt |
single scattering albedo | |
real(kind=kind_phys), dimension(:,:), allocatable | module_radiation_aerosols::rhidasy0_grt |
asymmetry parameter | |
relative humidity dependent aerosol optical properties: | |
real(kind=kind_phys), dimension(:,:,:), allocatable | module_radiation_aerosols::rhdpext0_grt |
extinction coefficient | |
real(kind=kind_phys), dimension(:,:,:), allocatable | module_radiation_aerosols::rhdpssa0_grt |
single scattering albedo | |
real(kind=kind_phys), dimension(:,:,:), allocatable | module_radiation_aerosols::rhdpasy0_grt |
asymmetry parameter | |
relative humidity independent aerosol optical properties | |
real(kind=kind_phys), dimension(:,:), allocatable, save | module_radiation_aerosols::extrhi_grt |
extinction coefficient for SW+LW spectral band | |
real(kind=kind_phys), dimension(:,:), allocatable, save | module_radiation_aerosols::ssarhi_grt |
single scattering albedo for SW+LW spectral band | |
real(kind=kind_phys), dimension(:,:), allocatable, save | module_radiation_aerosols::asyrhi_grt |
asymmetry parameter for SW+LW spectral band | |
relative humidity dependent aerosol optical properties | |
real(kind=kind_phys), dimension(:,:,:), allocatable, save | module_radiation_aerosols::extrhd_grt |
extinction coefficient for SW+LW spectral band | |
real(kind=kind_phys), dimension(:,:,:), allocatable, save | module_radiation_aerosols::ssarhd_grt |
single scattering albedo for SW+LW band | |
real(kind=kind_phys), dimension(:,:,:), allocatable, save | module_radiation_aerosols::asyrhd_grt |
asymmetry parameter for SW+LW band | |
module variables for gocart aerosol clim data set | |
integer, parameter | module_radiation_aerosols::imxg = 144 |
num of lon-points in geos dataset | |
integer, parameter | module_radiation_aerosols::jmxg = 91 |
num of lat-points in geos dataset | |
integer, parameter | module_radiation_aerosols::kmxg = 30 |
num of vertical layers in geos dataset | |
integer, save | module_radiation_aerosols::nmxg |
to be determined by set_aerspc | |
real(kind=kind_phys), parameter | module_radiation_aerosols::dltx = 360.0 / float(IMXG) |
real(kind=kind_phys), parameter | module_radiation_aerosols::dlty = 180.0 / float(JMXG-1) |
real(kind=kind_phys), dimension(:,:,:), allocatable, save | module_radiation_aerosols::psclmg |
pressure in cb | |
real(kind=kind_phys), dimension(:,:,:,:), allocatable, save | module_radiation_aerosols::dmclmg |
aerosol dry mass in g/m3 or aerosol mixing ration in mol/mol or Kg/Kg | |
real(kind=kind_phys), dimension(:), allocatable, save | module_radiation_aerosols::geos_rlon |
geos-gocart longitude arrays | |
real(kind=kind_phys), dimension(:), allocatable, save | module_radiation_aerosols::geos_rlat |
geos-gocart latitude arrays | |
character *4, save | module_radiation_aerosols::gocart_climo = 'xxxx' |
control flag for gocart climo data set: xxxx as default; ver3 for geos3; ver4 for geos4; 0000 for unknown data | |
real(kind=kind_io4), dimension(:), allocatable | module_radiation_aerosols::molwgt |
molecular wght of gocart aerosol species | |
logical, save | module_radiation_aerosols::lgrtint = .true. |
logical parameter for gocart initialization control | |
logical, save | module_radiation_aerosols::lckprnt = .false. |
logical parameter for gocart debug print control | |
real(kind=kind_phys), save | module_radiation_aerosols::ctaer = f_zero |
merging coefficients for fcst/clim; determined from fdaer | |
logical, save | module_radiation_aerosols::get_fcst = .true. |
option to get fcst gocart aerosol field | |
logical, save | module_radiation_aerosols::get_clim = .true. |
option to get clim gocart aerosol field | |
integer, save | module_radiation_aerosols::isoot |
index for rh dependent aerosol optical properties (2nd dimension for extrhd_grt, ssarhd_grt, and asyrhd_grt) | |
integer, save | module_radiation_aerosols::iwaso |
integer, save | module_radiation_aerosols::isuso |
integer, save | module_radiation_aerosols::issam |
integer, save | module_radiation_aerosols::isscm |
integer | module_radiation_aerosols::gocart_index_type::dust1 |
integer | module_radiation_aerosols::gocart_index_type::dust2 |
integer | module_radiation_aerosols::gocart_index_type::dust3 |
integer | module_radiation_aerosols::gocart_index_type::dust4 |
integer | module_radiation_aerosols::gocart_index_type::dust5 |
integer | module_radiation_aerosols::gocart_index_type::ssam |
integer | module_radiation_aerosols::gocart_index_type::sscm |
integer | module_radiation_aerosols::gocart_index_type::suso |
integer | module_radiation_aerosols::gocart_index_type::waso_phobic |
integer | module_radiation_aerosols::gocart_index_type::waso_philic |
integer | module_radiation_aerosols::gocart_index_type::soot_phobic |
integer | module_radiation_aerosols::gocart_index_type::soot_philic |
type(gocart_index_type), save | module_radiation_aerosols::dm_indx |
integer | module_radiation_aerosols::tracer_index_type::du001 |
integer | module_radiation_aerosols::tracer_index_type::du002 |
integer | module_radiation_aerosols::tracer_index_type::du003 |
integer | module_radiation_aerosols::tracer_index_type::du004 |
integer | module_radiation_aerosols::tracer_index_type::du005 |
integer | module_radiation_aerosols::tracer_index_type::ss001 |
integer | module_radiation_aerosols::tracer_index_type::ss002 |
integer | module_radiation_aerosols::tracer_index_type::ss003 |
integer | module_radiation_aerosols::tracer_index_type::ss004 |
integer | module_radiation_aerosols::tracer_index_type::ss005 |
integer | module_radiation_aerosols::tracer_index_type::so4 |
integer | module_radiation_aerosols::tracer_index_type::ocphobic |
integer | module_radiation_aerosols::tracer_index_type::ocphilic |
integer | module_radiation_aerosols::tracer_index_type::bcphobic |
integer | module_radiation_aerosols::tracer_index_type::bcphilic |
type(tracer_index_type), save | module_radiation_aerosols::dmfcs_indx |
integer, save | module_radiation_aerosols::num_gridcomp = 0 |
number of aerosol grid components | |
character, dimension(:), allocatable, save | module_radiation_aerosols::gridcomp |
aerosol grid components | |
integer, parameter | module_radiation_aerosols::max_num_gridcomp = 5 |
default full-package setting | |
character *2, dimension(max_num_gridcomp) | module_radiation_aerosols::max_gridcomp |
data max_gridcomp /'DU', 'BC', 'OC', 'SU', 'SS'/ | |
integer, dimension(ncm) | module_radiation_aerosols::idxspc |
index conversion array:data idxspc / 1, 2, 1, 1, 1, 1, 3, 5, 5, 4 / | |
real(kind=kind_phys), parameter | module_radiation_aerosols::wvn550 = 1.0e4/0.55 |
the wavenumber ( \(cm^-1\)) of wavelength 550nm for diagnostic aod output | |
integer, save | module_radiation_aerosols::nv_aod = 1 |
the sw spectral band covering wvn550 (comp in aer_init) | |
subroutine, public | module_radiation_aerosols::aer_init (NLAY, me) |
The initialization program is to set up necessary parameters and working arrays. More... | |
subroutine | wrt_aerlog |
This subroutine writes aerosol parameter configuration to run log file. | |
subroutine | set_spectrum |
This subroutine defines the one wavenumber solar fluxes based on toa solar spectral distribution, and define the one wavenumber IR fluxes based on black-body emission distribution at a predefined temperature. More... | |
subroutine | set_volcaer |
The initialization program for stratospheric volcanic aerosols. | |
subroutine | module_radiation_aerosols::clim_aerinit (solfwv, eirfwv, me ) |
This subroutine is the opac-climatology aerosol initialization program to set up necessary parameters and working arrays. More... | |
subroutine | set_aercoef |
The initialization program for climatological aerosols. The program reads and maps the pre-tabulated aerosol optical spectral data onto corresponding SW radiation spectral bands. More... | |
subroutine | optavg |
This subroutine computes mean aerosols optical properties over each SW radiation spectral band for each of the species components. This program follows GFDL's approach for thick cloud optical property in SW radiation scheme (2000). | |
subroutine, public | module_radiation_aerosols::aer_update (iyear, imon, me) |
This subroutine checks and updates time varying climatology aerosol data sets. More... | |
subroutine | trop_update |
This subroutine updates the monthly global distribution of aerosol profiles in five degree horizontal resolution. | |
subroutine | volc_update |
This subroutine searches historical volcanic data sets to find and read in monthly 45-degree lat-zone band of optical depth. | |
subroutine, public | module_radiation_aerosols::setaer (prsi, prsl, prslk, tvly, rhlay, slmsk, tracer, xlon, xlat, IMAX, NLAY, NLP1, lsswr, lslwr, aerosw, aerolw , aerodp ) |
This subroutine computes aerosols optical properties. More... | |
subroutine | module_radiation_aerosols::aer_property (prsi, prsl, prslk, tvly, rhlay, dz, hz, tracer, alon, alat, slmsk, laersw, laerlw, IMAX, NLAY, NLP1, aerosw, aerolw, aerodp ) |
This subroutine maps the 5 degree global climatological aerosol data set onto model grids, and compute aerosol optical properties for SW and LW radiations. More... | |
subroutine | radclimaer |
This subroutine computes aerosols optical properties in NSWLWBD bands. there are seven different vertical profile structures. in the troposphere, aerosol distribution at each grid point is composed from up to six components out of ten different substances. | |
subroutine | module_radiation_aerosols::gocart_init (NWVTOT, solfwv, soltot, NWVTIR, eirfwv, NBDSW, NLWBND, NSWLWBD, imon, me, raddt, fdaer ) |
The initialization program for gocart aerosols. More... | |
subroutine | set_aerspc (raddt, fdaer) |
This subroutine determines merging coefficients ctaer; setup aerosol specification. | |
subroutine | rd_gocart_luts |
This subroutine reads input gocart aerosol optical data from Mie code calculations. | |
subroutine | optavg_grt |
This subroutine computes mean aerosols optical properties over each SW/LW radiation spectral band for each of the species components. This program follows GFDL's approach for thick cloud optical property in SW radiation scheme (2000). | |
subroutine | rd_gocart_clim |
This subroutine: More... | |
subroutine | module_radiation_aerosols::setgocartaer (alon, alat, prslk, rhlay, dz, hz, NSWLWBD, prsl, tvly, trcly, IMAX, NLAY, NLP1, ivflip, lsswr, lslwr, aerosw, aerolw ) |
This subroutine computes SW + LW aerosol optical properties for gocart aerosol species (merged from fcst and clim fields). More... | |
subroutine | map_aermr |
This subroutine maps input tracer fields (trcly) to local tracer array (aermr). | |
subroutine | aeropt_grt |
This subroutine computes aerosols optical properties in NSWLWBD SW/LW bands. Aerosol distribution at each grid point is composed from up to NMXG aerosol species (from NUM_GRIDCOMP components). | |
subroutine, public module_radiation_aerosols::aer_init | ( | integer, intent(in) | NLAY, |
integer, intent(in) | me | ||
) |
The initialization program is to set up necessary parameters and working arrays.
NLAY | number of model vertical layers (not used) |
me | print message control flag |
Definition at line 687 of file radiation_aerosols.f.
References clim_aerinit(), physparam::iaerflg, physparam::iaermdl, kmonsav, kyrend, kyrsav, kyrstr, physparam::lalw1bd, physparam::lalwflg, physparam::laswflg, physparam::lavoflg, nlwbnd, nswbnd, nswlwbd, set_spectrum(), set_volcaer(), and wrt_aerlog().
Referenced by module_radiation_driver::radinit().
|
private |
This subroutine maps the 5 degree global climatological aerosol data set onto model grids, and compute aerosol optical properties for SW and LW radiations.
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,laerlw | logical flag for sw/lw aerosol calculations |
IMAX | horizontal dimension of arrays |
NLAY,NLP1 | vertical dimensions of arrays |
NSPC | num 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 |
Definition at line 2774 of file radiation_aerosols.f.
References cmixg, denng, haer, idxcg, imxae, physparam::ivflip, jmxae, kprfg, nlwbnd, nspc, nswbnd, nv_aod, nxc, prsref, radclimaer(), and sigref.
Referenced by setaer().
subroutine, public module_radiation_aerosols::aer_update | ( | integer, intent(in) | iyear, |
integer, intent(in) | imon, | ||
integer, intent(in) | me | ||
) |
This subroutine checks and updates time varying climatology aerosol data sets.
iyear | 4-digit calender year |
imon | month of the year |
me | print message control flag |
Definition at line 1806 of file radiation_aerosols.f.
References physparam::lalwflg, physparam::laswflg, physparam::lavoflg, trop_update(), and volc_update().
Referenced by module_radiation_driver::radupdate().
|
private |
This subroutine is the opac-climatology aerosol initialization program to set up necessary parameters and working arrays.
solfwv | (NWVTOT), solar flux for each individual wavenumber \((w/m^2)\) |
eirfwv | (NWVTIR), IR flux(273k) for each individual wavenumber \((w/m^2)\) |
me | print message control flag |
Definition at line 1083 of file radiation_aerosols.f.
References set_aercoef().
Referenced by aer_init().
|
private |
The initialization program for gocart aerosols.
NWVTOT | total num of wave numbers used in sw spectrum |
solfwv | (NWVTOT), solar flux for each individual wavenumber (w/m2) |
soltot | total solar flux for the spectrual range (w/m2) |
NWVTIR | total num of wave numbers used in the ir region |
eirfwv | (NWVTIR), ir flux(273k) for each individual wavenumber (w/m2) |
NBDSW | num of bands calculated for sw aeros opt prop |
NLWBND | num of bands calculated for lw aeros opt prop |
NSWLWBD | total num of bands calc for sw+lw aeros opt prop |
imon | month of the year |
me | print message control flag |
raddt | |
fdaer |
Definition at line 3533 of file radiation_aerosols.f.
References extrhd_grt, extrhi_grt, get_clim, iendwv_grt, kaerbnd, krhlev, lckprnt, lgrtint, module_radsw_parameters::nswstr, nv_aod, optavg_grt(), rd_gocart_clim(), rd_gocart_luts(), rhdpasy0_grt, rhdpext0_grt, rhdpssa0_grt, rhidasy0_grt, rhidext0_grt, rhidssa0_grt, and set_aerspc().
|
private |
This subroutine:
Definition at line 4543 of file radiation_aerosols.f.
References dmclmg, geos_rlat, geos_rlon, gocart_climo, gridcomp, imxg, physparam::ivflip, jmxg, kmxg, molwgt, nmxg, nswlwbd, num_gridcomp, and psclmg.
Referenced by gocart_init().
|
private |
The initialization program for climatological aerosols. The program reads and maps the pre-tabulated aerosol optical spectral data onto corresponding SW radiation spectral bands.
Definition at line 1172 of file radiation_aerosols.f.
References physparam::aeros_file, haer, imxae, jmxae, physparam::lalwflg, physparam::laswflg, naerbnd, ncm1, ncm2, nlwbnd, nlwstr, nrhlev, nswbnd, nswlwbd, module_radsw_parameters::nswstr, nv_aod, optavg(), prsref, sigref, and wvn550.
Referenced by clim_aerinit().
|
private |
This subroutine defines the one wavenumber solar fluxes based on toa solar spectral distribution, and define the one wavenumber IR fluxes based on black-body emission distribution at a predefined temperature.
Definition at line 933 of file radiation_aerosols.f.
References physcons::con_boltz, physcons::con_c, physcons::con_pi, physcons::con_plnk, physcons::con_t0c, nwvns0, nwvsol, nwvtir, and s0intv.
Referenced by aer_init().
subroutine, public module_radiation_aerosols::setaer | ( | 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) | slmsk, | ||
real (kind=kind_phys), dimension(:,:,:), intent(in) | tracer, | ||
real (kind=kind_phys), dimension(:), intent(in) | xlon, | ||
real (kind=kind_phys), dimension(:), intent(in) | xlat, | ||
integer, intent(in) | IMAX, | ||
integer, intent(in) | NLAY, | ||
integer, intent(in) | NLP1, | ||
logical, intent(in) | lsswr, | ||
logical, intent(in) | lslwr, | ||
real (kind=kind_phys), dimension(:,:,:,:), intent(out) | aerosw, | ||
real (kind=kind_phys), dimension(:,:,:,:), intent(out) | aerolw, | ||
real (kind=kind_phys), dimension(:,:), intent(out) | aerodp | ||
) |
This subroutine computes aerosols optical properties.
prsi | (IMAX,NLP1), pressure at interface in mb |
prsl | (IMAX,NLAY), layer mean pressure in mb |
prslk | (IMAX,NLAY), exner function = \((p/p0)^{rocp}\) |
tvly | (IMAX,NLAY), layer virtual temperature in K |
rhlay | (IMAX,NLAY), layer mean relative humidity |
slmsk | (IMAX), sea/land mask (sea:0,land:1,sea-ice:2) |
tracer | (IMAX,NLAY,NTRAC), aerosol tracer concentration |
xlon | (IMAX), longitude of given points in radiance, ok for both 0->2pi or -pi->+pi ranges |
xlat | (IMAX), latitude of given points in radiance, default to pi/2 -> -pi/2, otherwise see in-line comment |
IMAX | 1, horizontal dimension of arrays |
NLAY,NLP1 | 1, vertical dimensions of arrays |
lsswr,lslwr | logical flags for sw/lw radiation calls |
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,NSPC1), vertically integrated optical depth |
Definition at line 2186 of file radiation_aerosols.f.
References aer_property(), physcons::con_g, physparam::iaerflg, physparam::iaermdl, physparam::ivflip, ivolae, kmonsav, kyrsav, physparam::lalwflg, physparam::laswflg, physparam::lavoflg, nf_aelw, nf_aesw, nlwbnd, nspc1, nswlwbd, module_radsw_parameters::nswstr, and setgocartaer().
Referenced by module_radiation_driver::grrad().
|
private |
This subroutine computes SW + LW aerosol optical properties for gocart aerosol species (merged from fcst and clim fields).
alon | IMAX, longitude of given points in degree |
alat | IMAX, latitude of given points in degree |
prslk | (IMAX,NLAY), pressure in cb |
rhlay | (IMAX,NLAY), layer mean relative humidity |
dz | (IMAX,NLAY), layer thickness in m |
hz | (IMAX,NLP1), level high in m |
NSWLWBD | total number of sw+ir bands for aeros opt prop |
prsl | (IMAX,NLAY), layer mean pressure in mb |
tvly | (IMAX,NLAY), layer mean virtual temperature in K |
trcly | (IMAX,NLAY,NTRAC), layer mean specific tracer in g/g |
IMAX | horizontal dimension of arrays |
NLAY,NLP1 | vertical dimensions of arrays |
ivflip | control flag for direction of vertical index =0: index from toa to surface =1: index from surface to toa |
lsswr,lslwr | logical flag for sw/lw radiation calls |
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 |
Definition at line 4898 of file radiation_aerosols.f.
References aeropt_grt(), physcons::con_amd, physcons::con_rd, ctaer, dmclmg, geos_rlat, geos_rlon, get_clim, get_fcst, gocart_climo, imxg, jmxg, kmxg, physparam::lalwflg, physparam::laswflg, map_aermr(), molwgt, nlwbnd, nmxg, and psclmg.
Referenced by setaer().