CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
mo_gas_optics_rrtmgp Module Reference

Data Types

type  ty_gas_optics_rrtmgp
 

Functions/Subroutines

pure integer function get_ngas (this)
 col_dry is the number of molecules per cm-2 of dry air
 
pure integer function get_nflav (this)
 return the number of distinct major gas pairs in the spectral bands (referred to as "flavors" - all bands have a flavor even if there is one or no major gas)
 
character(len=128) function gas_optics_int (this, play, plev, tlay, tsfc, gas_desc, optical_props, sources, col_dry, tlev)
 Compute gas optical depth and Planck source functions, given temperature, pressure, and composition.
 
character(len=128) function gas_optics_ext (this, play, plev, tlay, gas_desc, optical_props, toa_src, col_dry)
 Compute gas optical depth given temperature, pressure, and composition Top-of-atmosphere stellar insolation is also reported.
 
character(len=128) function compute_gas_taus (this, ncol, nlay, ngpt, nband, play, plev, tlay, gas_desc, optical_props, jtemp, jpress, jeta, tropo, fmajor, col_dry)
 
character(len=128) function set_solar_variability (this, mg_index, sb_index, tsi)
 Compute the spectral solar source function adjusted to account for solar variability following the NRLSSI2 model of Coddington et al. 2016, doi:10.1175/BAMS-D-14-00265.1. as specified by the facular brightening (mg_index) and sunspot dimming (sb_index) indices provided as input.
 
character(len=128) function set_tsi (this, tsi)
 
character(len=128) function source (this, ncol, nlay, nbnd, ngpt, play, plev, tlay, tsfc, jtemp, jpress, jeta, tropo, fmajor, sources, tlev)
 
character(len=128) function load_int (this, available_gases, gas_names, key_species, band2gpt, band_lims_wavenum, press_ref, press_ref_trop, temp_ref, temp_ref_p, temp_ref_t, vmr_ref, kmajor, kminor_lower, kminor_upper, gas_minor, identifier_minor, minor_gases_lower, minor_gases_upper, minor_limits_gpt_lower, minor_limits_gpt_upper, minor_scales_with_density_lower, minor_scales_with_density_upper, scaling_gas_lower, scaling_gas_upper, scale_by_complement_lower, scale_by_complement_upper, kminor_start_lower, kminor_start_upper, totplnk, planck_frac, rayl_lower, rayl_upper, optimal_angle_fit)
 
character(len=128) function load_ext (this, available_gases, gas_names, key_species, band2gpt, band_lims_wavenum, press_ref, press_ref_trop, temp_ref, temp_ref_p, temp_ref_t, vmr_ref, kmajor, kminor_lower, kminor_upper, gas_minor, identifier_minor, minor_gases_lower, minor_gases_upper, minor_limits_gpt_lower, minor_limits_gpt_upper, minor_scales_with_density_lower, minor_scales_with_density_upper, scaling_gas_lower, scaling_gas_upper, scale_by_complement_lower, scale_by_complement_upper, kminor_start_lower, kminor_start_upper, solar_quiet, solar_facular, solar_sunspot, tsi_default, mg_default, sb_default, rayl_lower, rayl_upper)
 
character(len=128) function init_abs_coeffs (this, available_gases, gas_names, key_species, band2gpt, band_lims_wavenum, press_ref, temp_ref, press_ref_trop, temp_ref_p, temp_ref_t, vmr_ref, kmajor, kminor_lower, kminor_upper, gas_minor, identifier_minor, minor_gases_lower, minor_gases_upper, minor_limits_gpt_lower, minor_limits_gpt_upper, minor_scales_with_density_lower, minor_scales_with_density_upper, scaling_gas_lower, scaling_gas_upper, scale_by_complement_lower, scale_by_complement_upper, kminor_start_lower, kminor_start_upper, rayl_lower, rayl_upper)
 
character(len=128) function check_key_species_present_init (gas_names, key_species_present_init)
 
character(len=128) function check_key_species_present (this, gas_desc)
 
pure logical function source_is_internal (this)
 return true if initialized for internal sources/longwave, false otherwise
 
pure logical function source_is_external (this)
 return true if initialized for external sources/shortwave, false otherwise
 
pure character(32) function, dimension(get_ngas(this)) get_gases (this)
 return the names of the gases known to the k-distributions
 
pure real(wp) function get_press_min (this)
 return the minimum pressure on the interpolation grids
 
pure real(wp) function get_press_max (this)
 return the maximum pressure on the interpolation grids
 
pure real(wp) function get_temp_min (this)
 return the minimum temparature on the interpolation grids
 
pure real(wp) function get_temp_max (this)
 return the maximum temparature on the interpolation grids
 
real(wp) function, dimension(size(plev, dim=1), size(plev, dim=2) -1), public get_col_dry (vmr_h2o, plev, latitude)
 Utility function, provided for user convenience computes column amounts of dry air using hydrostatic equation.
 
character(len=128) function compute_optimal_angles (this, optical_props, optimal_angles)
 Compute a transport angle that minimizes flux errors at surface and TOA based on empirical fits.
 
pure integer function, dimension(2) rewrite_key_species_pair (key_species_pair)
 
pure logical function key_species_pair_exists (key_species_list, key_species_pair)
 
subroutine create_flavor (key_species, flavor)
 
subroutine create_idx_minor (gas_names, gas_minor, identifier_minor, minor_gases_atm, idx_minor_atm)
 
subroutine create_idx_minor_scaling (gas_names, scaling_gas_atm, idx_minor_scaling_atm)
 
pure logical(wl) function is_loaded (this)
 
subroutine finalize (this)
 
subroutine create_key_species_reduce (gas_names, gas_names_red, key_species, key_species_red, key_species_present_init)
 
subroutine reduce_minor_arrays (available_gases, gas_minor, identifier_minor, kminor_atm, minor_gases_atm, minor_limits_gpt_atm, minor_scales_with_density_atm, scaling_gas_atm, scale_by_complement_atm, kminor_start_atm, kminor_atm_red, minor_gases_atm_red, minor_limits_gpt_atm_red, minor_scales_with_density_atm_red, scaling_gas_atm_red, scale_by_complement_atm_red, kminor_start_atm_red)
 
pure integer function key_species_pair2flavor (flavor, key_species_pair)
 
subroutine create_gpoint_flavor (key_species, gpt2band, flavor, gpoint_flavor)
 
subroutine combine_abs_and_rayleigh (tau, tau_rayleigh, optical_props)
 
pure integer function get_neta (this)
 
pure integer function get_npres (this)
 
pure integer function get_ntemp (this)
 
pure integer function get_nplancktemp (this)
 

Variables

real(wp), parameter pi = acos(-1._wp)
 

Detailed Description

Class implementing the RRTMGP correlated-_k_ distribution

Implements a class for computing spectrally-resolved gas optical properties and source functions given atmopsheric physical properties (profiles of temperature, pressure, and gas concentrations) The class must be initialized with data (provided as a netCDF file) before being used.

Two variants apply to internal Planck sources (longwave radiation in the Earth's atmosphere) and to external stellar radiation (shortwave radiation in the Earth's atmosphere). The variant is chosen based on what information is supplied during initialization.