← Back to Documentation Home
CCPP SciDoc v8.0.0  v8.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
rrtmgp_lw_gas_optics Module Reference

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)
 

Detailed Description

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

Function/Subroutine Documentation

◆ rrtmgp_lw_gas_optics_init()

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 
)
Parameters
[in]rrtmgp_lw_file_gasRRTMGP file containing K-distribution data
[in]active_gases_arrayList of active gases from namelist as array
[in]mpicommMPI communicator
[in]mpirootMaster MPI rank
[in,out]is_initializedInitialization flag.
[out]errmsgCCPP error message
[out]errflgCCPP error code
Parameters
rrtmgp_root_dirRTE-RRTMGP root directory
mpirankCurrent MPI rank

Definition at line 74 of file rrtmgp_lw_gas_optics.F90.

Variable Documentation

◆ band2gptlw

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.

◆ band_limslw

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.

◆ gas_minorlw

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.

◆ gas_nameslw

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.

◆ identifier_minorlw

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.

◆ key_specieslw

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.

◆ kmajorlw

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.

◆ kminor_lowerlw

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.

◆ kminor_start_lowerlw

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.

◆ kminor_start_upperlw

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.

◆ kminor_upperlw

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.

◆ lw_gas_props

type(ty_gas_optics_rrtmgp) rrtmgp_lw_gas_optics::lw_gas_props

Definition at line 18 of file rrtmgp_lw_gas_optics.F90.

◆ minor_gases_lowerlw

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.

◆ minor_gases_upperlw

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.

◆ minor_limits_gpt_lowerlw

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.

◆ minor_limits_gpt_upperlw

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.

◆ minor_scales_with_density_lowerlw

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.

◆ minor_scales_with_density_upperlw

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.

◆ nabsorberslw

integer rrtmgp_lw_gas_optics::nabsorberslw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ nbndslw

integer rrtmgp_lw_gas_optics::nbndslw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ ncontributors_lowerlw

integer rrtmgp_lw_gas_optics::ncontributors_lowerlw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ ncontributors_upperlw

integer rrtmgp_lw_gas_optics::ncontributors_upperlw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ nextrabsorberslw

integer rrtmgp_lw_gas_optics::nextrabsorberslw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ nfit_coeffslw

integer rrtmgp_lw_gas_optics::nfit_coeffslw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ ngptslw

integer rrtmgp_lw_gas_optics::ngptslw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ ninternalsourcetempslw

integer rrtmgp_lw_gas_optics::ninternalsourcetempslw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ nlayerslw

integer rrtmgp_lw_gas_optics::nlayerslw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ nminor_absorber_intervals_lowerlw

integer rrtmgp_lw_gas_optics::nminor_absorber_intervals_lowerlw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ nminor_absorber_intervals_upperlw

integer rrtmgp_lw_gas_optics::nminor_absorber_intervals_upperlw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ nminorabsorberslw

integer rrtmgp_lw_gas_optics::nminorabsorberslw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ nmixingfracslw

integer rrtmgp_lw_gas_optics::nmixingfracslw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ npairslw

integer rrtmgp_lw_gas_optics::npairslw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ npresslw

integer rrtmgp_lw_gas_optics::npresslw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ ntempslw

integer rrtmgp_lw_gas_optics::ntempslw

Definition at line 19 of file rrtmgp_lw_gas_optics.F90.

◆ optimal_angle_fitlw

real(wp), dimension(:,:), allocatable rrtmgp_lw_gas_optics::optimal_angle_fitlw

Definition at line 42 of file rrtmgp_lw_gas_optics.F90.

◆ planck_fraclw

real(wp), dimension(:,:,:,:), allocatable rrtmgp_lw_gas_optics::planck_fraclw

Planck fractions

Definition at line 54 of file rrtmgp_lw_gas_optics.F90.

◆ press_ref_troplw

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.

◆ press_reflw

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.

◆ rayl_lowerlw

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.

◆ rayl_upperlw

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.

◆ scale_by_complement_lowerlw

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.

◆ scale_by_complement_upperlw

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.

◆ scaling_gas_lowerlw

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.

◆ scaling_gas_upperlw

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.

◆ temp_ref_plw

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.

◆ temp_ref_tlw

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.

◆ temp_reflw

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.

◆ totplnklw

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.

◆ vmr_reflw

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.