Radiation Scheme in CCPP
|
Go to the source code of this file.
Data Types | |
type | module_radiation_aerosols::gocart_index_type |
type | module_radiation_aerosols::tracer_index_type |
Modules | |
module | module_radiation_aerosols |
This module contains climatological atmospheric aerosol schemes for radiation computations. | |
Functions/Subroutines | |
subroutine, public | module_radiation_aerosols::aer_init |
The initialization program to set up necessary parameters and working arrays. More... | |
subroutine | wrt_aerlog |
This subroutine writes aerosol parameter configuration to run log file. More... | |
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. More... | |
subroutine | module_radiation_aerosols::clim_aerinit |
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 |
compute 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). More... | |
subroutine, public | module_radiation_aerosols::aer_update |
This subroutine checks and updates time varying climatology aerosol data sets. More... | |
subroutine | trop_update |
update the monthly global distribution of aerosol profiles in five degree horizontal resolution. More... | |
subroutine | volc_update |
search historical volcanic data sets to find and read in monthly 45-degree lat-zone band of optical depth. More... | |
subroutine | module_radiation_aerosols::aer_property |
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. More... | |
subroutine | module_radiation_aerosols::gocart_init |
the initialization program for gocart aerosols More... | |
subroutine | set_aerspc (raddt, fdaer) |
determine merging coefficients ctaer; setup aerosol specification. More... | |
subroutine | rd_gocart_luts |
This subroutine reads input gocart aerosol optical data from Mie code calculations. More... | |
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) More... | |
subroutine | rd_gocart_clim |
This subroutine: More... | |
subroutine | module_radiation_aerosols::setgocartaer |
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). More... | |
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). More... | |
subroutine, public | module_radiation_aerosols::setaer |
This subroutine computes aerosols optical properties. More... | |
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 More... | |
integer, parameter, public | module_radiation_aerosols::nf_aelw = 3 |
num of output fields for lw rad More... | |
integer, parameter, public | module_radiation_aerosols::nlwstr = 1 |
starting band number in ir region More... | |
integer, parameter, public | module_radiation_aerosols::nspc = 5 |
num of species for output aod (opnl) More... | |
integer, parameter, public | module_radiation_aerosols::nspc1 = NSPC + 1 |
total+species More... | |
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 |
integer, save | module_radiation_aerosols::nlwbnd = NBDLW |
integer, save | module_radiation_aerosols::nswlwbd = NBDSW+NBDLW |
integer, parameter, public | module_radiation_aerosols::nwvsol = 151 |
num of wvnum regions where solar flux is constant More... | |
integer, parameter, public | module_radiation_aerosols::nwvtot = 57600 |
total num of wvnum included More... | |
integer, parameter, public | module_radiation_aerosols::nwvtir = 4000 |
total num of wvnum in ir range More... | |
integer, dimension(nwvsol), save | module_radiation_aerosols::nwvns0 |
real(kind=kind_phys), dimension(nwvsol), save | module_radiation_aerosols::s0intv |
integer, parameter | module_radiation_aerosols::minvyr = 1850 |
integer, parameter | module_radiation_aerosols::maxvyr = 1999 |
integer, dimension(:,:,:), allocatable, save | module_radiation_aerosols::ivolae |
integer | module_radiation_aerosols::kyrstr |
integer | module_radiation_aerosols::kyrend |
integer | module_radiation_aerosols::kyrsav |
integer | module_radiation_aerosols::kmonsav |
integer, parameter | module_radiation_aerosols::nxc = 5 |
integer, parameter | module_radiation_aerosols::nae = 7 |
integer, parameter | module_radiation_aerosols::ndm = 5 |
integer, parameter | module_radiation_aerosols::imxae = 72 |
integer, parameter | module_radiation_aerosols::jmxae = 37 |
integer, parameter | module_radiation_aerosols::naerbnd =61 |
integer, parameter | module_radiation_aerosols::nrhlev =8 |
integer, parameter | module_radiation_aerosols::ncm1 = 6 |
integer, parameter | module_radiation_aerosols::ncm2 = 4 |
integer, parameter | module_radiation_aerosols::ncm = NCM1+NCM2 |
real(kind=kind_phys), dimension(nrhlev), save | module_radiation_aerosols::rhlev |
real(kind=kind_phys), dimension(ndm, nae), save | module_radiation_aerosols::haer |
real(kind=kind_phys), dimension(ndm, nae), save | module_radiation_aerosols::prsref |
real(kind=kind_phys), dimension(ndm, nae), save | module_radiation_aerosols::sigref |
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 |
real(kind=kind_phys), dimension(nxc, imxae, jmxae), save | module_radiation_aerosols::cmixg |
real(kind=kind_phys), dimension(2,imxae, jmxae), save | module_radiation_aerosols::denng |
integer, dimension(nxc, imxae, jmxae), save | module_radiation_aerosols::idxcg |
integer, dimension( imxae, jmxae), save | module_radiation_aerosols::kprfg |
integer, parameter | module_radiation_aerosols::kaerbnd =61 |
integer, parameter | module_radiation_aerosols::krhlev =36 |
integer, save | module_radiation_aerosols::kcm1 = 0 |
integer, save | module_radiation_aerosols::kcm2 = 0 |
integer, save | module_radiation_aerosols::kcm |
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 |
real(kind=kind_phys), dimension(:,:), allocatable | module_radiation_aerosols::rhidext0_grt |
real(kind=kind_phys), dimension(:,:), allocatable | module_radiation_aerosols::rhidssa0_grt |
real(kind=kind_phys), dimension(:,:), allocatable | module_radiation_aerosols::rhidasy0_grt |
real(kind=kind_phys), dimension(:,:,:), allocatable | module_radiation_aerosols::rhdpext0_grt |
real(kind=kind_phys), dimension(:,:,:), allocatable | module_radiation_aerosols::rhdpssa0_grt |
real(kind=kind_phys), dimension(:,:,:), allocatable | module_radiation_aerosols::rhdpasy0_grt |
real(kind=kind_phys), dimension(:,:), allocatable, save | module_radiation_aerosols::extrhi_grt |
real(kind=kind_phys), dimension(:,:), allocatable, save | module_radiation_aerosols::ssarhi_grt |
real(kind=kind_phys), dimension(:,:), allocatable, save | module_radiation_aerosols::asyrhi_grt |
real(kind=kind_phys), dimension(:,:,:), allocatable, save | module_radiation_aerosols::extrhd_grt |
real(kind=kind_phys), dimension(:,:,:), allocatable, save | module_radiation_aerosols::ssarhd_grt |
real(kind=kind_phys), dimension(:,:,:), allocatable, save | module_radiation_aerosols::asyrhd_grt |
integer, parameter | module_radiation_aerosols::imxg = 144 |
integer, parameter | module_radiation_aerosols::jmxg = 91 |
integer, parameter | module_radiation_aerosols::kmxg = 30 |
integer, save | module_radiation_aerosols::nmxg |
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 |
real(kind=kind_phys), dimension(:,:,:,:), allocatable, save | module_radiation_aerosols::dmclmg |
real(kind=kind_phys), dimension(:), allocatable, save | module_radiation_aerosols::geos_rlon |
real(kind=kind_phys), dimension(:), allocatable, save | module_radiation_aerosols::geos_rlat |
character *4, save | module_radiation_aerosols::gocart_climo = 'xxxx' |
real(kind=kind_io4), dimension(:), allocatable | module_radiation_aerosols::molwgt |
logical, save | module_radiation_aerosols::lgrtint = .true. |
logical, save | module_radiation_aerosols::lckprnt = .false. |
real(kind=kind_phys), save | module_radiation_aerosols::ctaer = f_zero |
logical, save | module_radiation_aerosols::get_fcst = .true. |
logical, save | module_radiation_aerosols::get_clim = .true. |
integer, save | module_radiation_aerosols::isoot |
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 |
character, dimension(:), allocatable, save | module_radiation_aerosols::gridcomp |
integer, parameter | module_radiation_aerosols::max_num_gridcomp = 5 |
character *2, dimension(max_num_gridcomp) | module_radiation_aerosols::max_gridcomp |
integer, dimension(ncm) | module_radiation_aerosols::idxspc |
real(kind=kind_phys), parameter | module_radiation_aerosols::wvn550 = 1.0e4/0.55 |
integer, save | module_radiation_aerosols::nv_aod = 1 |
|
private |
Definition at line 5025 of file radiation_aerosols.f.
References module_radiation_aerosols::asyrhd_grt, module_radiation_aerosols::asyrhi_grt, module_radiation_aerosols::dm_indx, module_radiation_aerosols::extrhd_grt, module_radiation_aerosols::extrhi_grt, module_radiation_aerosols::f_one, module_radiation_aerosols::f_zero, module_radiation_aerosols::gridcomp, module_radiation_aerosols::isoot, module_radiation_aerosols::issam, module_radiation_aerosols::isuso, module_radiation_aerosols::iwaso, module_radiation_aerosols::kcm1, module_radiation_aerosols::krhlev, module_radiation_aerosols::max_gridcomp, module_radiation_aerosols::max_num_gridcomp, module_radiation_aerosols::num_gridcomp, module_radiation_aerosols::nv_aod, module_radiation_aerosols::rhlev_grt, module_radiation_aerosols::ssarhd_grt, and module_radiation_aerosols::ssarhi_grt.
Referenced by module_radiation_aerosols::setgocartaer().
|
private |
Definition at line 4939 of file radiation_aerosols.f.
References module_radiation_aerosols::dm_indx, module_radiation_aerosols::dmfcs_indx, and module_radiation_aerosols::f_zero.
Referenced by module_radiation_aerosols::setgocartaer().
|
private |
Definition at line 1370 of file radiation_aerosols.f.
References module_radiation_aerosols::asyrhd, module_radiation_aerosols::asyrhi, module_radiation_aerosols::extrhd, module_radiation_aerosols::extrhi, module_radiation_aerosols::extstra, module_radiation_aerosols::f_one, module_radiation_aerosols::f_zero, physparam::lalwflg, physparam::laswflg, module_radiation_aerosols::ncm1, module_radiation_aerosols::ncm2, module_radiation_aerosols::nlwbnd, module_radiation_aerosols::nrhlev, module_radiation_aerosols::nswbnd, module_radiation_aerosols::scarhd, module_radiation_aerosols::scarhi, module_radiation_aerosols::ssarhd, and module_radiation_aerosols::ssarhi.
Referenced by set_aercoef().
|
private |
Definition at line 4118 of file radiation_aerosols.f.
References module_radiation_aerosols::asyrhd_grt, module_radiation_aerosols::asyrhi_grt, module_radiation_aerosols::extrhd_grt, module_radiation_aerosols::extrhi_grt, module_radiation_aerosols::f_one, module_radiation_aerosols::f_zero, module_radiation_aerosols::kcm1, module_radiation_aerosols::kcm2, module_radiation_aerosols::krhlev, module_radiation_aerosols::rhdpasy0_grt, module_radiation_aerosols::rhdpext0_grt, module_radiation_aerosols::rhdpssa0_grt, module_radiation_aerosols::rhidasy0_grt, module_radiation_aerosols::rhidext0_grt, module_radiation_aerosols::rhidssa0_grt, module_radiation_aerosols::ssarhd_grt, and module_radiation_aerosols::ssarhi_grt.
Referenced by module_radiation_aerosols::gocart_init().
|
private |
Definition at line 3011 of file radiation_aerosols.f.
References module_radiation_aerosols::asyrhd, module_radiation_aerosols::asyrhi, module_radiation_aerosols::extrhd, module_radiation_aerosols::extrhi, module_radiation_aerosols::extstra, module_radiation_aerosols::f_one, module_radiation_aerosols::f_zero, module_radiation_aerosols::idxspc, physparam::ivflip, module_radiation_aerosols::ncm, module_radiation_aerosols::ncm1, module_radiation_aerosols::nrhlev, module_radiation_aerosols::nswbnd, module_radiation_aerosols::nswlwbd, module_radiation_aerosols::nv_aod, module_radiation_aerosols::rhlev, module_radiation_aerosols::scarhd, module_radiation_aerosols::scarhi, module_radiation_aerosols::ssarhd, and module_radiation_aerosols::ssarhi.
Referenced by module_radiation_aerosols::aer_property().
|
private |
Definition at line 4336 of file radiation_aerosols.f.
References module_radiation_aerosols::dltx, module_radiation_aerosols::dlty, module_radiation_aerosols::dm_indx, module_radiation_aerosols::dmclmg, module_radiation_aerosols::f_zero, module_radiation_aerosols::geos_rlat, module_radiation_aerosols::geos_rlon, module_radiation_aerosols::gocart_climo, module_radiation_aerosols::gridcomp, module_radiation_aerosols::imxg, module_radiation_aerosols::jmxg, module_radiation_aerosols::kmxg, module_radiation_aerosols::molwgt, module_radiation_aerosols::nmxg, module_radiation_aerosols::num_gridcomp, and module_radiation_aerosols::psclmg.
Referenced by module_radiation_aerosols::gocart_init().
|
private |
Definition at line 3942 of file radiation_aerosols.f.
References module_radiation_aerosols::iendwv_grt, module_radiation_aerosols::isoot, module_radiation_aerosols::issam, module_radiation_aerosols::isscm, module_radiation_aerosols::isuso, module_radiation_aerosols::iwaso, module_radiation_aerosols::kaerbnd, module_radiation_aerosols::kcm1, module_radiation_aerosols::kcm2, module_radiation_aerosols::krhlev, module_radiation_aerosols::lckprnt, module_radiation_aerosols::rhdpasy0_grt, module_radiation_aerosols::rhdpext0_grt, module_radiation_aerosols::rhdpssa0_grt, module_radiation_aerosols::rhidasy0_grt, module_radiation_aerosols::rhidext0_grt, and module_radiation_aerosols::rhidssa0_grt.
Referenced by module_radiation_aerosols::gocart_init().
|
private |
Definition at line 1033 of file radiation_aerosols.f.
References physparam::aeros_file, module_radiation_aerosols::asyrhd, module_radiation_aerosols::asyrhi, module_radiation_aerosols::extrhd, module_radiation_aerosols::extrhi, module_radiation_aerosols::extstra, module_radiation_aerosols::f_zero, module_radiation_aerosols::haer, module_radiation_aerosols::imxae, module_radiation_aerosols::jmxae, physparam::lalwflg, physparam::laswflg, module_radiation_aerosols::naerbnd, module_radiation_aerosols::ncm1, module_radiation_aerosols::ncm2, module_radiation_aerosols::nlwbnd, module_radiation_aerosols::nlwstr, module_radiation_aerosols::nrhlev, module_radiation_aerosols::nswbnd, module_radiation_aerosols::nswlwbd, module_radsw_parameters::nswstr, module_radiation_aerosols::nv_aod, optavg(), module_radiation_aerosols::prsref, module_radiation_aerosols::scarhd, module_radiation_aerosols::scarhi, module_radiation_aerosols::sigref, module_radiation_aerosols::ssarhd, module_radiation_aerosols::ssarhi, module_radiation_aerosols::wvn550, module_radlw_parameters::wvnlw1, and module_radlw_parameters::wvnlw2.
Referenced by module_radiation_aerosols::clim_aerinit().
|
private |
Definition at line 3643 of file radiation_aerosols.f.
References module_radiation_aerosols::ctaer, module_radiation_aerosols::dm_indx, module_radiation_aerosols::dmfcs_indx, module_radiation_aerosols::f_one, module_radiation_aerosols::f_zero, module_radiation_aerosols::get_clim, module_radiation_aerosols::get_fcst, module_radiation_aerosols::gridcomp, module_radiation_aerosols::isoot, module_radiation_aerosols::issam, module_radiation_aerosols::isscm, module_radiation_aerosols::isuso, module_radiation_aerosols::iwaso, module_radiation_aerosols::kcm, module_radiation_aerosols::kcm1, module_radiation_aerosols::kcm2, module_radiation_aerosols::lckprnt, module_radiation_aerosols::max_gridcomp, module_radiation_aerosols::max_num_gridcomp, module_radiation_aerosols::nmxg, and module_radiation_aerosols::num_gridcomp.
Referenced by module_radiation_aerosols::gocart_init().
|
private |
Definition at line 809 of file radiation_aerosols.f.
References physcons::con_boltz, physcons::con_c, physcons::con_pi, physcons::con_plnk, physcons::con_t0c, module_radiation_aerosols::nwvns0, module_radiation_aerosols::nwvsol, module_radiation_aerosols::nwvtir, and module_radiation_aerosols::s0intv.
Referenced by module_radiation_aerosols::aer_init().
|
private |
Definition at line 898 of file radiation_aerosols.f.
References module_radiation_aerosols::ivolae.
Referenced by module_radiation_aerosols::aer_init().
|
private |
Definition at line 1705 of file radiation_aerosols.f.
References physparam::aeros_file, module_radiation_aerosols::cmixg, module_radiation_aerosols::denng, module_radiation_aerosols::f_one, module_radiation_aerosols::f_zero, module_radiation_aerosols::idxcg, module_radiation_aerosols::imxae, module_radiation_aerosols::jmxae, module_radiation_aerosols::kprfg, and module_radiation_aerosols::nxc.
Referenced by module_radiation_aerosols::aer_update().
|
private |
Definition at line 1863 of file radiation_aerosols.f.
References module_radiation_aerosols::ivolae, module_radiation_aerosols::kmonsav, module_radiation_aerosols::kyrend, module_radiation_aerosols::kyrsav, module_radiation_aerosols::kyrstr, module_radiation_aerosols::maxvyr, and module_radiation_aerosols::minvyr.
Referenced by module_radiation_aerosols::aer_update().
|
private |
Definition at line 712 of file radiation_aerosols.f.
References physparam::iaerflg, physparam::iaermdl, physparam::lalw1bd, physparam::lalwflg, physparam::laswflg, physparam::lavoflg, and module_radiation_aerosols::vtagaer.
Referenced by module_radiation_aerosols::aer_init().