This module contains a routine to initialize the k-distribution data used by the RRTMGP shortwave radiation scheme. More...
Functions/Subroutines | |
| subroutine | rrtmgp_sw_gas_optics_init (rrtmgp_root_dir, rrtmgp_sw_file_gas, active_gases_array, mpicomm, mpirank, mpiroot, is_initialized, errmsg, errflg) |
Variables | |
| real(wp), parameter | tsi_default = 1360.85767381726 |
| real(wp), parameter | mg_default = 0.1567652 |
| real(wp), parameter | sb_default = 902.7126 |
| type(ty_gas_optics_rrtmgp) | sw_gas_props |
| integer | ntempssw |
| integer | npresssw |
| integer | ngptssw |
| integer | nabsorberssw |
| integer | nextrabsorberssw |
| integer | nminorabsorberssw |
| integer | nmixingfracssw |
| integer | nlayerssw |
| integer | nbndssw |
| integer | npairssw |
| integer | nminor_absorber_intervals_lowersw |
| integer | nminor_absorber_intervals_uppersw |
| integer | ncontributors_lowersw |
| integer | ncontributors_uppersw |
| integer, dimension(:), allocatable | kminor_start_lowersw |
| Starting index in the [1, nContributors] vector for a contributor. | |
| integer, dimension(:), allocatable | kminor_start_uppersw |
| Starting index in the [1, nContributors] vector for a contributor. | |
| integer, dimension(:,:), allocatable | band2gptsw |
| Beginning and ending gpoint for each band. | |
| integer, dimension(:,:), allocatable | minor_limits_gpt_lowersw |
| Beginning and ending gpoint for each minor interval in lower atmosphere. | |
| integer, dimension(:,:), allocatable | minor_limits_gpt_uppersw |
| Beginning and ending gpoint for each minor interval in upper atmosphere. | |
| integer, dimension(:,:,:), allocatable | key_speciessw |
| Key species pair for each band. | |
| real(wp) | press_ref_tropsw |
| Reference pressure separating the lower and upper atmosphere [Pa]. | |
| real(wp) | temp_ref_psw |
| Standard spectroscopic reference pressure [Pa]. | |
| real(wp) | temp_ref_tsw |
| Standard spectroscopic reference temperature [K]. | |
| real(wp) | tsi_defaultsw |
| real(wp) | mg_defaultsw |
| Mean value of Mg2 index over the average solar cycle from the NRLSSI2 model of solar variability. | |
| real(wp) | sb_defaultsw |
| Mean value of sunspot index over the average solar cycle from the NRLSSI2 model of solar variability. | |
| real(wp), dimension(:), allocatable | press_refsw |
| Pressures for reference atmosphere; press_ref(# reference layers) [Pa]. | |
| real(wp), dimension(:), allocatable | temp_refsw |
| Temperatures for reference atmosphere; temp_ref(# reference layers) [K]. | |
| real(wp), dimension(:), allocatable | solar_quietsw |
| Spectrally-dependent quiet sun irradiance from the NRLSSI2 model of solar variability. | |
| real(wp), dimension(:), allocatable | solar_facularsw |
| Spectrally-dependent facular term from the NRLSSI2 model of solar variability. | |
| real(wp), dimension(:), allocatable | solar_sunspotsw |
| Spectrally-dependent sunspot term from the NRLSSI2 model of solar variability. | |
| real(wp), dimension(:,:), allocatable | band_limssw |
| Beginning and ending wavenumber [cm -1] for each band. | |
| real(wp), dimension(:,:,:), allocatable | vmr_refsw |
| Volume mixing ratios for reference atmosphere. | |
| real(wp), dimension(:,:,:), allocatable | kminor_lowersw |
| (transformed from [nTemp x nEta x nGpt x nAbsorbers] array to | |
| real(wp), dimension(:,:,:), allocatable | kminor_uppersw |
| (transformed from [nTemp x nEta x nGpt x nAbsorbers] array to | |
| real(wp), dimension(:,:,:), allocatable | rayl_lowersw |
| Stored coefficients due to rayleigh scattering contribution. | |
| real(wp), dimension(:,:,:), allocatable | rayl_uppersw |
| Stored coefficients due to rayleigh scattering contribution. | |
| real(wp), dimension(:,:,:,:), allocatable | kmajorsw |
| Stored absorption coefficients due to major absorbing gases. | |
| character(len=32), dimension(:), allocatable | gas_namessw |
| Names of absorbing gases. | |
| character(len=32), dimension(:), allocatable | gas_minorsw |
| Name of absorbing minor gas. | |
| character(len=32), dimension(:), allocatable | identifier_minorsw |
| Unique string identifying minor gas. | |
| character(len=32), dimension(:), allocatable | minor_gases_lowersw |
| Names of minor absorbing gases in lower atmosphere. | |
| character(len=32), dimension(:), allocatable | minor_gases_uppersw |
| Names of minor absorbing gases in upper atmosphere. | |
| character(len=32), dimension(:), allocatable | scaling_gas_lowersw |
| Absorption also depends on the concentration of this gas. | |
| character(len=32), dimension(:), allocatable | scaling_gas_uppersw |
| Absorption also depends on the concentration of this gas. | |
| logical(wl), dimension(:), allocatable | minor_scales_with_density_lowersw |
| Density scaling is applied to minor absorption coefficients. | |
| logical(wl), dimension(:), allocatable | minor_scales_with_density_uppersw |
| Density scaling is applied to minor absorption coefficients. | |
| logical(wl), dimension(:), allocatable | scale_by_complement_lowersw |
| Absorption is scaled by concentration of scaling_gas (F) or its complement (T) | |
| logical(wl), dimension(:), allocatable | scale_by_complement_uppersw |
| Absorption is scaled by concentration of scaling_gas (F) or its complement (T) | |
This module contains a routine to initialize the k-distribution data used by the RRTMGP shortwave radiation scheme.
| subroutine rrtmgp_sw_gas_optics::rrtmgp_sw_gas_optics_init | ( | character(len=128), intent(in) | rrtmgp_root_dir, |
| character(len=128), intent(in) | rrtmgp_sw_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 | ||
| ) |
RRTMGP relies heavility on derived-data-types, which contain type-bound procedures that are referenced frequently throughout the RRTMGP shortwave scheme. The data needed for the correlated k-distribution is also contained within this type. Within this module, the full k-distribution data is read in, reduced by the "active gases" provided, and loaded into the RRTMGP DDT, ty_gas_optics_rrtmgp.
| [in] | rrtmgp_sw_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 85 of file rrtmgp_sw_gas_optics.F90.
| integer, dimension(:,:), allocatable rrtmgp_sw_gas_optics::band2gptsw |
Beginning and ending gpoint for each band.
Definition at line 31 of file rrtmgp_sw_gas_optics.F90.
| real(wp), dimension(:,:), allocatable rrtmgp_sw_gas_optics::band_limssw |
Beginning and ending wavenumber [cm -1] for each band.
Definition at line 50 of file rrtmgp_sw_gas_optics.F90.
| character(len=32), dimension(:), allocatable rrtmgp_sw_gas_optics::gas_minorsw |
Name of absorbing minor gas.
Definition at line 62 of file rrtmgp_sw_gas_optics.F90.
| character(len=32), dimension(:), allocatable rrtmgp_sw_gas_optics::gas_namessw |
Names of absorbing gases.
Definition at line 62 of file rrtmgp_sw_gas_optics.F90.
| character(len=32), dimension(:), allocatable rrtmgp_sw_gas_optics::identifier_minorsw |
Unique string identifying minor gas.
Definition at line 62 of file rrtmgp_sw_gas_optics.F90.
| integer, dimension(:,:,:), allocatable rrtmgp_sw_gas_optics::key_speciessw |
Key species pair for each band.
Definition at line 35 of file rrtmgp_sw_gas_optics.F90.
| real(wp), dimension(:,:,:,:), allocatable rrtmgp_sw_gas_optics::kmajorsw |
Stored absorption coefficients due to major absorbing gases.
Definition at line 60 of file rrtmgp_sw_gas_optics.F90.
| real(wp), dimension(:,:,:), allocatable rrtmgp_sw_gas_optics::kminor_lowersw |
(transformed from [nTemp x nEta x nGpt x nAbsorbers] array to
Definition at line 52 of file rrtmgp_sw_gas_optics.F90.
| integer, dimension(:), allocatable rrtmgp_sw_gas_optics::kminor_start_lowersw |
Starting index in the [1, nContributors] vector for a contributor.
Definition at line 26 of file rrtmgp_sw_gas_optics.F90.
| integer, dimension(:), allocatable rrtmgp_sw_gas_optics::kminor_start_uppersw |
Starting index in the [1, nContributors] vector for a contributor.
given by "minor_gases_upper" (upper atmosphere)
Definition at line 26 of file rrtmgp_sw_gas_optics.F90.
| real(wp), dimension(:,:,:), allocatable rrtmgp_sw_gas_optics::kminor_uppersw |
(transformed from [nTemp x nEta x nGpt x nAbsorbers] array to
Definition at line 52 of file rrtmgp_sw_gas_optics.F90.
| real(wp), parameter rrtmgp_sw_gas_optics::mg_default = 0.1567652 |
Definition at line 15 of file rrtmgp_sw_gas_optics.F90.
| real(wp) rrtmgp_sw_gas_optics::mg_defaultsw |
Mean value of Mg2 index over the average solar cycle from the NRLSSI2 model of solar variability.
Definition at line 37 of file rrtmgp_sw_gas_optics.F90.
| character(len=32), dimension(:), allocatable rrtmgp_sw_gas_optics::minor_gases_lowersw |
Names of minor absorbing gases in lower atmosphere.
Definition at line 62 of file rrtmgp_sw_gas_optics.F90.
| character(len=32), dimension(:), allocatable rrtmgp_sw_gas_optics::minor_gases_uppersw |
Names of minor absorbing gases in upper atmosphere.
Definition at line 62 of file rrtmgp_sw_gas_optics.F90.
| integer, dimension(:,:), allocatable rrtmgp_sw_gas_optics::minor_limits_gpt_lowersw |
Beginning and ending gpoint for each minor interval in lower atmosphere.
Definition at line 31 of file rrtmgp_sw_gas_optics.F90.
| integer, dimension(:,:), allocatable rrtmgp_sw_gas_optics::minor_limits_gpt_uppersw |
Beginning and ending gpoint for each minor interval in upper atmosphere.
Definition at line 31 of file rrtmgp_sw_gas_optics.F90.
| logical(wl), dimension(:), allocatable rrtmgp_sw_gas_optics::minor_scales_with_density_lowersw |
Density scaling is applied to minor absorption coefficients.
Definition at line 70 of file rrtmgp_sw_gas_optics.F90.
| logical(wl), dimension(:), allocatable rrtmgp_sw_gas_optics::minor_scales_with_density_uppersw |
Density scaling is applied to minor absorption coefficients.
Definition at line 70 of file rrtmgp_sw_gas_optics.F90.
| integer rrtmgp_sw_gas_optics::nabsorberssw |
Definition at line 22 of file rrtmgp_sw_gas_optics.F90.
| integer rrtmgp_sw_gas_optics::nbndssw |
Definition at line 22 of file rrtmgp_sw_gas_optics.F90.
| integer rrtmgp_sw_gas_optics::ncontributors_lowersw |
Definition at line 22 of file rrtmgp_sw_gas_optics.F90.
| integer rrtmgp_sw_gas_optics::ncontributors_uppersw |
Definition at line 22 of file rrtmgp_sw_gas_optics.F90.
| integer rrtmgp_sw_gas_optics::nextrabsorberssw |
Definition at line 22 of file rrtmgp_sw_gas_optics.F90.
| integer rrtmgp_sw_gas_optics::ngptssw |
Definition at line 22 of file rrtmgp_sw_gas_optics.F90.
| integer rrtmgp_sw_gas_optics::nlayerssw |
Definition at line 22 of file rrtmgp_sw_gas_optics.F90.
| integer rrtmgp_sw_gas_optics::nminor_absorber_intervals_lowersw |
Definition at line 22 of file rrtmgp_sw_gas_optics.F90.
| integer rrtmgp_sw_gas_optics::nminor_absorber_intervals_uppersw |
Definition at line 22 of file rrtmgp_sw_gas_optics.F90.
| integer rrtmgp_sw_gas_optics::nminorabsorberssw |
Definition at line 22 of file rrtmgp_sw_gas_optics.F90.
| integer rrtmgp_sw_gas_optics::nmixingfracssw |
Definition at line 22 of file rrtmgp_sw_gas_optics.F90.
| integer rrtmgp_sw_gas_optics::npairssw |
Definition at line 22 of file rrtmgp_sw_gas_optics.F90.
| integer rrtmgp_sw_gas_optics::npresssw |
Definition at line 22 of file rrtmgp_sw_gas_optics.F90.
| integer rrtmgp_sw_gas_optics::ntempssw |
Definition at line 22 of file rrtmgp_sw_gas_optics.F90.
| real(wp) rrtmgp_sw_gas_optics::press_ref_tropsw |
Reference pressure separating the lower and upper atmosphere [Pa].
Definition at line 37 of file rrtmgp_sw_gas_optics.F90.
| real(wp), dimension(:), allocatable rrtmgp_sw_gas_optics::press_refsw |
Pressures for reference atmosphere; press_ref(# reference layers) [Pa].
Definition at line 44 of file rrtmgp_sw_gas_optics.F90.
| real(wp), dimension(:,:,:), allocatable rrtmgp_sw_gas_optics::rayl_lowersw |
Stored coefficients due to rayleigh scattering contribution.
Definition at line 52 of file rrtmgp_sw_gas_optics.F90.
| real(wp), dimension(:,:,:), allocatable rrtmgp_sw_gas_optics::rayl_uppersw |
Stored coefficients due to rayleigh scattering contribution.
Definition at line 52 of file rrtmgp_sw_gas_optics.F90.
| real(wp), parameter rrtmgp_sw_gas_optics::sb_default = 902.7126 |
Definition at line 15 of file rrtmgp_sw_gas_optics.F90.
| real(wp) rrtmgp_sw_gas_optics::sb_defaultsw |
Mean value of sunspot index over the average solar cycle from the NRLSSI2 model of solar variability.
Definition at line 37 of file rrtmgp_sw_gas_optics.F90.
| logical(wl), dimension(:), allocatable rrtmgp_sw_gas_optics::scale_by_complement_lowersw |
Absorption is scaled by concentration of scaling_gas (F) or its complement (T)
Definition at line 70 of file rrtmgp_sw_gas_optics.F90.
| logical(wl), dimension(:), allocatable rrtmgp_sw_gas_optics::scale_by_complement_uppersw |
Absorption is scaled by concentration of scaling_gas (F) or its complement (T)
Definition at line 70 of file rrtmgp_sw_gas_optics.F90.
| character(len=32), dimension(:), allocatable rrtmgp_sw_gas_optics::scaling_gas_lowersw |
Absorption also depends on the concentration of this gas.
Definition at line 62 of file rrtmgp_sw_gas_optics.F90.
| character(len=32), dimension(:), allocatable rrtmgp_sw_gas_optics::scaling_gas_uppersw |
Absorption also depends on the concentration of this gas.
Definition at line 62 of file rrtmgp_sw_gas_optics.F90.
| real(wp), dimension(:), allocatable rrtmgp_sw_gas_optics::solar_facularsw |
Spectrally-dependent facular term from the NRLSSI2 model of solar variability.
Definition at line 44 of file rrtmgp_sw_gas_optics.F90.
| real(wp), dimension(:), allocatable rrtmgp_sw_gas_optics::solar_quietsw |
Spectrally-dependent quiet sun irradiance from the NRLSSI2 model of solar variability.
Definition at line 44 of file rrtmgp_sw_gas_optics.F90.
| real(wp), dimension(:), allocatable rrtmgp_sw_gas_optics::solar_sunspotsw |
Spectrally-dependent sunspot term from the NRLSSI2 model of solar variability.
Definition at line 44 of file rrtmgp_sw_gas_optics.F90.
| type(ty_gas_optics_rrtmgp) rrtmgp_sw_gas_optics::sw_gas_props |
Definition at line 21 of file rrtmgp_sw_gas_optics.F90.
| real(wp) rrtmgp_sw_gas_optics::temp_ref_psw |
Standard spectroscopic reference pressure [Pa].
Definition at line 37 of file rrtmgp_sw_gas_optics.F90.
| real(wp) rrtmgp_sw_gas_optics::temp_ref_tsw |
Standard spectroscopic reference temperature [K].
Definition at line 37 of file rrtmgp_sw_gas_optics.F90.
| real(wp), dimension(:), allocatable rrtmgp_sw_gas_optics::temp_refsw |
Temperatures for reference atmosphere; temp_ref(# reference layers) [K].
Definition at line 44 of file rrtmgp_sw_gas_optics.F90.
| real(wp), parameter rrtmgp_sw_gas_optics::tsi_default = 1360.85767381726 |
Definition at line 15 of file rrtmgp_sw_gas_optics.F90.
| real(wp) rrtmgp_sw_gas_optics::tsi_defaultsw |
Definition at line 37 of file rrtmgp_sw_gas_optics.F90.
| real(wp), dimension(:,:,:), allocatable rrtmgp_sw_gas_optics::vmr_refsw |
Volume mixing ratios for reference atmosphere.
Definition at line 52 of file rrtmgp_sw_gas_optics.F90.