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). More...
Functions/Subroutines | |
| subroutine | rrtmgp_lw_gas_optics_init (rrtmgp_root_dir, rrtmgp_lw_file_gas, active_gases_array, mpicomm, mpirank, mpiroot, is_initialized, errmsg, errflg) |
Variables | |
| 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(wp) | press_ref_troplw |
| Reference pressure separating the lower and upper atmosphere [Pa]. | |
| real(wp) | temp_ref_plw |
| Standard spectroscopic reference pressure [Pa]. | |
| real(wp) | temp_ref_tlw |
| Standard spectroscopic reference temperature [K]. | |
| real(wp), dimension(:), allocatable | press_reflw |
| Pressures for reference atmosphere; press_ref(# reference layers) [Pa]. | |
| real(wp), dimension(:), allocatable | temp_reflw |
| Temperatures for reference atmosphere; temp_ref(# reference layers) [K]. | |
| real(wp), dimension(:,:), allocatable | band_limslw |
| Beginning and ending wavenumber [cm -1] for each band. | |
| real(wp), dimension(:,:), allocatable | totplnklw |
| Integrated Planck function by band. | |
| real(wp), dimension(:,:), allocatable | optimal_angle_fitlw |
| real(wp), dimension(:,:,:), allocatable | vmr_reflw |
| volume mixing ratios for reference atmospherer | |
| real(wp), dimension(:,:,:), allocatable | kminor_lowerlw |
| (transformed from [nTemp x nEta x nGpt x nAbsorbers] array to | |
| real(wp), dimension(:,:,:), allocatable | kminor_upperlw |
| (transformed from [nTemp x nEta x nGpt x nAbsorbers] array to | |
| real(wp), dimension(:,:,:), allocatable | rayl_lowerlw |
| Not used in LW, rather allocated(rayl_lower) is used. | |
| real(wp), dimension(:,:,:), allocatable | rayl_upperlw |
| Not used in LW, rather allocated(rayl_upper) is used. | |
| real(wp), dimension(:,:,:,:), allocatable | kmajorlw |
| Stored absorption coefficients due to major absorbing gases. | |
| real(wp), 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) | |
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).
| subroutine rrtmgp_lw_gas_optics::rrtmgp_lw_gas_optics_init | ( | character(len=128), intent(in) | rrtmgp_root_dir, |
| character(len=128), intent(in) | rrtmgp_lw_file_gas, | ||
| character(len=*), dimension(:), intent(in) | active_gases_array, | ||
| type(mpi_comm), intent(in) | mpicomm, | ||
| integer, intent(in) | mpirank, | ||
| integer, intent(in) | mpiroot, | ||
| logical, intent(inout) | is_initialized, | ||
| character(len=*), intent(out) | errmsg, | ||
| integer, intent(out) | errflg | ||
| ) |
| [in] | rrtmgp_lw_file_gas | RRTMGP file containing K-distribution data |
| [in] | active_gases_array | List of active gases from namelist as array |
| [in] | mpicomm | MPI communicator |
| [in] | mpiroot | Master MPI rank |
| [in,out] | is_initialized | Initialization flag. |
| [out] | errmsg | CCPP error message |
| [out] | errflg | CCPP error code |
| rrtmgp_root_dir | RTE-RRTMGP root directory |
| mpirank | Current MPI rank |
Definition at line 74 of file rrtmgp_lw_gas_optics.F90.
| integer, dimension(:,:), allocatable rrtmgp_lw_gas_optics::band2gptlw |
Beginning and ending gpoint for each band.
Definition at line 29 of file rrtmgp_lw_gas_optics.F90.
| real(wp), dimension(:,:), allocatable rrtmgp_lw_gas_optics::band_limslw |
Beginning and ending wavenumber [cm -1] for each band.
Definition at line 42 of file rrtmgp_lw_gas_optics.F90.
| character(len=32), dimension(:), allocatable rrtmgp_lw_gas_optics::gas_minorlw |
Name of absorbing minor gas.
Definition at line 57 of file rrtmgp_lw_gas_optics.F90.
| character(len=32), dimension(:), allocatable rrtmgp_lw_gas_optics::gas_nameslw |
Names of absorbing gases.
Definition at line 57 of file rrtmgp_lw_gas_optics.F90.
| character(len=32), dimension(:), allocatable rrtmgp_lw_gas_optics::identifier_minorlw |
Unique string identifying minor gas.
Definition at line 57 of file rrtmgp_lw_gas_optics.F90.
| integer, dimension(:,:,:), allocatable rrtmgp_lw_gas_optics::key_specieslw |
Key species pair for each band.
Definition at line 33 of file rrtmgp_lw_gas_optics.F90.
| real(wp), dimension(:,:,:,:), allocatable rrtmgp_lw_gas_optics::kmajorlw |
Stored absorption coefficients due to major absorbing gases.
Definition at line 54 of file rrtmgp_lw_gas_optics.F90.
| real(wp), dimension(:,:,:), allocatable rrtmgp_lw_gas_optics::kminor_lowerlw |
(transformed from [nTemp x nEta x nGpt x nAbsorbers] array to
Definition at line 46 of file rrtmgp_lw_gas_optics.F90.
| integer, dimension(:), allocatable rrtmgp_lw_gas_optics::kminor_start_lowerlw |
Starting index in the [1, nContributors] vector for a contributor.
Definition at line 24 of file rrtmgp_lw_gas_optics.F90.
| integer, dimension(:), allocatable rrtmgp_lw_gas_optics::kminor_start_upperlw |
Starting index in the [1, nContributors] vector for a contributor.
given by "minor_gases_upper" (upper atmosphere)
Definition at line 24 of file rrtmgp_lw_gas_optics.F90.
| real(wp), dimension(:,:,:), allocatable rrtmgp_lw_gas_optics::kminor_upperlw |
(transformed from [nTemp x nEta x nGpt x nAbsorbers] array to
Definition at line 46 of file rrtmgp_lw_gas_optics.F90.
| type(ty_gas_optics_rrtmgp) rrtmgp_lw_gas_optics::lw_gas_props |
Definition at line 18 of file rrtmgp_lw_gas_optics.F90.
| character(len=32), dimension(:), allocatable rrtmgp_lw_gas_optics::minor_gases_lowerlw |
Names of minor absorbing gases in lower atmosphere.
Definition at line 57 of file rrtmgp_lw_gas_optics.F90.
| character(len=32), dimension(:), allocatable rrtmgp_lw_gas_optics::minor_gases_upperlw |
Names of minor absorbing gases in upper atmosphere.
Definition at line 57 of file rrtmgp_lw_gas_optics.F90.
| integer, dimension(:,:), allocatable rrtmgp_lw_gas_optics::minor_limits_gpt_lowerlw |
Beginning and ending gpoint for each minor interval in lower atmosphere.
Definition at line 29 of file rrtmgp_lw_gas_optics.F90.
| integer, dimension(:,:), allocatable rrtmgp_lw_gas_optics::minor_limits_gpt_upperlw |
Beginning and ending gpoint for each minor interval in upper atmosphere.
Definition at line 29 of file rrtmgp_lw_gas_optics.F90.
| logical(wl), dimension(:), allocatable rrtmgp_lw_gas_optics::minor_scales_with_density_lowerlw |
Density scaling is applied to minor absorption coefficients.
Definition at line 65 of file rrtmgp_lw_gas_optics.F90.
| logical(wl), dimension(:), allocatable rrtmgp_lw_gas_optics::minor_scales_with_density_upperlw |
Density scaling is applied to minor absorption coefficients.
Definition at line 65 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::nabsorberslw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::nbndslw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::ncontributors_lowerlw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::ncontributors_upperlw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::nextrabsorberslw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::nfit_coeffslw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::ngptslw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::ninternalsourcetempslw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::nlayerslw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::nminor_absorber_intervals_lowerlw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::nminor_absorber_intervals_upperlw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::nminorabsorberslw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::nmixingfracslw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::npairslw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::npresslw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| integer rrtmgp_lw_gas_optics::ntempslw |
Definition at line 19 of file rrtmgp_lw_gas_optics.F90.
| real(wp), dimension(:,:), allocatable rrtmgp_lw_gas_optics::optimal_angle_fitlw |
Definition at line 42 of file rrtmgp_lw_gas_optics.F90.
| real(wp), dimension(:,:,:,:), allocatable rrtmgp_lw_gas_optics::planck_fraclw |
Planck fractions
Definition at line 54 of file rrtmgp_lw_gas_optics.F90.
| real(wp) rrtmgp_lw_gas_optics::press_ref_troplw |
Reference pressure separating the lower and upper atmosphere [Pa].
Definition at line 35 of file rrtmgp_lw_gas_optics.F90.
| real(wp), dimension(:), allocatable rrtmgp_lw_gas_optics::press_reflw |
Pressures for reference atmosphere; press_ref(# reference layers) [Pa].
Definition at line 39 of file rrtmgp_lw_gas_optics.F90.
| real(wp), dimension(:,:,:), allocatable rrtmgp_lw_gas_optics::rayl_lowerlw |
Not used in LW, rather allocated(rayl_lower) is used.
Definition at line 46 of file rrtmgp_lw_gas_optics.F90.
| real(wp), dimension(:,:,:), allocatable rrtmgp_lw_gas_optics::rayl_upperlw |
Not used in LW, rather allocated(rayl_upper) is used.
Definition at line 46 of file rrtmgp_lw_gas_optics.F90.
| logical(wl), dimension(:), allocatable rrtmgp_lw_gas_optics::scale_by_complement_lowerlw |
Absorption is scaled by concentration of scaling_gas (F) or its complement (T)
Definition at line 65 of file rrtmgp_lw_gas_optics.F90.
| logical(wl), dimension(:), allocatable rrtmgp_lw_gas_optics::scale_by_complement_upperlw |
Absorption is scaled by concentration of scaling_gas (F) or its complement (T)
Definition at line 65 of file rrtmgp_lw_gas_optics.F90.
| character(len=32), dimension(:), allocatable rrtmgp_lw_gas_optics::scaling_gas_lowerlw |
Absorption also depends on the concentration of this gas.
Definition at line 57 of file rrtmgp_lw_gas_optics.F90.
| character(len=32), dimension(:), allocatable rrtmgp_lw_gas_optics::scaling_gas_upperlw |
Absorption also depends on the concentration of this gas.
Definition at line 57 of file rrtmgp_lw_gas_optics.F90.
| real(wp) rrtmgp_lw_gas_optics::temp_ref_plw |
Standard spectroscopic reference pressure [Pa].
Definition at line 35 of file rrtmgp_lw_gas_optics.F90.
| real(wp) rrtmgp_lw_gas_optics::temp_ref_tlw |
Standard spectroscopic reference temperature [K].
Definition at line 35 of file rrtmgp_lw_gas_optics.F90.
| real(wp), dimension(:), allocatable rrtmgp_lw_gas_optics::temp_reflw |
Temperatures for reference atmosphere; temp_ref(# reference layers) [K].
Definition at line 39 of file rrtmgp_lw_gas_optics.F90.
| real(wp), dimension(:,:), allocatable rrtmgp_lw_gas_optics::totplnklw |
Integrated Planck function by band.
Definition at line 42 of file rrtmgp_lw_gas_optics.F90.
| real(wp), dimension(:,:,:), allocatable rrtmgp_lw_gas_optics::vmr_reflw |
volume mixing ratios for reference atmospherer
Definition at line 46 of file rrtmgp_lw_gas_optics.F90.