GFS Operational Physics Documentation  gsm/branches/DTC/phys-doc-all phys-doc-all R82971
radiation_aerosols.f File Reference

This file contains climatological atmospheric aerosol schemes for radiation computations. More...

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...
 

Functions/Subroutines

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).
 

Variables

character(40), parameter module_radiation_aerosols::vtagaer ='NCEP-Radiation_aerosols v5.2 Jan 2013 '
 
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:

species : dust (8 bins)

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:

species : soot, suso, waso, ssam, sscm

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
 
type(gocart_index_type), save module_radiation_aerosols::dm_indx
 
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...
 

Detailed Description

This file contains climatological atmospheric aerosol schemes for radiation computations.

Definition in file radiation_aerosols.f.

Go to the source code of this file.