This module contains two routines: One to initialize the k-distribution data and functions needed to compute the longwave gaseous optical properties in RRTMGP. The second routine is a ccpp scheme within the "radiation loop", where the longwave optical prperties (optical-depth) are computed for clear-sky conditions (no aerosols).
|
type(ty_gas_optics_rrtmgp) | lw_gas_props |
|
integer | ntempslw |
|
integer | npresslw |
|
integer | ngptslw |
|
integer | nabsorberslw |
|
integer | nextrabsorberslw |
|
integer | nminorabsorberslw |
|
integer | nmixingfracslw |
|
integer | nlayerslw |
|
integer | nbndslw |
|
integer | npairslw |
|
integer | ninternalsourcetempslw |
|
integer | nminor_absorber_intervals_lowerlw |
|
integer | nminor_absorber_intervals_upperlw |
|
integer | ncontributors_lowerlw |
|
integer | ncontributors_upperlw |
|
integer | nfit_coeffslw |
|
integer, dimension(:), allocatable | kminor_start_lowerlw |
| Starting index in the [1, nContributors] vector for a contributor.
|
|
integer, dimension(:), allocatable | kminor_start_upperlw |
| Starting index in the [1, nContributors] vector for a contributor.
|
|
integer, dimension(:,:), allocatable | band2gptlw |
| Beginning and ending gpoint for each band.
|
|
integer, dimension(:,:), allocatable | minor_limits_gpt_lowerlw |
| Beginning and ending gpoint for each minor interval in lower atmosphere.
|
|
integer, dimension(:,:), allocatable | minor_limits_gpt_upperlw |
| Beginning and ending gpoint for each minor interval in upper atmosphere.
|
|
integer, dimension(:,:,:), allocatable | key_specieslw |
| Key species pair for each band.
|
|
real(kind_phys) | press_ref_troplw |
| Reference pressure separating the lower and upper atmosphere [Pa].
|
|
real(kind_phys) | temp_ref_plw |
| Standard spectroscopic reference pressure [Pa].
|
|
real(kind_phys) | temp_ref_tlw |
| Standard spectroscopic reference temperature [K].
|
|
real(kind_phys), dimension(:), allocatable | press_reflw |
| Pressures for reference atmosphere; press_ref(# reference layers) [Pa].
|
|
real(kind_phys), dimension(:), allocatable | temp_reflw |
| Temperatures for reference atmosphere; temp_ref(# reference layers) [K].
|
|
real(kind_phys), dimension(:,:), allocatable | band_limslw |
| Beginning and ending wavenumber [cm -1] for each band.
|
|
real(kind_phys), dimension(:,:), allocatable | totplnklw |
| Integrated Planck function by band.
|
|
real(kind_phys), dimension(:,:), allocatable | optimal_angle_fitlw |
|
real(kind_phys), dimension(:,:,:), allocatable | vmr_reflw |
| volume mixing ratios for reference atmospherer
|
|
real(kind_phys), dimension(:,:,:), allocatable | kminor_lowerlw |
| (transformed from [nTemp x nEta x nGpt x nAbsorbers] array to
|
|
real(kind_phys), dimension(:,:,:), allocatable | kminor_upperlw |
| (transformed from [nTemp x nEta x nGpt x nAbsorbers] array to
|
|
real(kind_phys), dimension(:,:,:), allocatable | rayl_lowerlw |
| Not used in LW, rather allocated(rayl_lower) is used.
|
|
real(kind_phys), dimension(:,:,:), allocatable | rayl_upperlw |
| Not used in LW, rather allocated(rayl_upper) is used.
|
|
real(kind_phys), dimension(:,:,:,:), allocatable | kmajorlw |
| Stored absorption coefficients due to major absorbing gases.
|
|
real(kind_phys), dimension(:,:,:,:), allocatable | planck_fraclw |
| Planck fractions
|
|
character(len=32), dimension(:), allocatable | gas_nameslw |
| Names of absorbing gases.
|
|
character(len=32), dimension(:), allocatable | gas_minorlw |
| Name of absorbing minor gas.
|
|
character(len=32), dimension(:), allocatable | identifier_minorlw |
| Unique string identifying minor gas.
|
|
character(len=32), dimension(:), allocatable | minor_gases_lowerlw |
| Names of minor absorbing gases in lower atmosphere.
|
|
character(len=32), dimension(:), allocatable | minor_gases_upperlw |
| Names of minor absorbing gases in upper atmosphere.
|
|
character(len=32), dimension(:), allocatable | scaling_gas_lowerlw |
| Absorption also depends on the concentration of this gas.
|
|
character(len=32), dimension(:), allocatable | scaling_gas_upperlw |
| Absorption also depends on the concentration of this gas.
|
|
logical(wl), dimension(:), allocatable | minor_scales_with_density_lowerlw |
| Density scaling is applied to minor absorption coefficients.
|
|
logical(wl), dimension(:), allocatable | minor_scales_with_density_upperlw |
| Density scaling is applied to minor absorption coefficients.
|
|
logical(wl), dimension(:), allocatable | scale_by_complement_lowerlw |
| Absorption is scaled by concentration of scaling_gas (F) or its complement (T)
|
|
logical(wl), dimension(:), allocatable | scale_by_complement_upperlw |
| Absorption is scaled by concentration of scaling_gas (F) or its complement (T)
|
|