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