|
generic, public | load (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) |
|
generic, public | load (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) |
|
procedure, public | source_is_internal (this) |
| return true if initialized for internal sources/longwave, false otherwise
|
|
procedure, public | source_is_external (this) |
| return true if initialized for external sources/shortwave, false otherwise
|
|
procedure, public | is_loaded (this) |
|
procedure, public | finalize (this) |
|
procedure, public | get_ngas (this) |
| col_dry is the number of molecules per cm-2 of dry air
|
|
procedure, public | get_gases (this) |
| return the names of the gases known to the k-distributions
|
|
procedure, public | get_press_min (this) |
| return the minimum pressure on the interpolation grids
|
|
procedure, public | get_press_max (this) |
| return the maximum pressure on the interpolation grids
|
|
procedure, public | get_temp_min (this) |
| return the minimum temparature on the interpolation grids
|
|
procedure, public | get_temp_max (this) |
| return the maximum temparature on the interpolation grids
|
|
procedure, public | compute_optimal_angles (this, optical_props, optimal_angles) |
| Compute a transport angle that minimizes flux errors at surface and TOA based on empirical fits.
|
|
procedure, public | 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.
|
|
procedure, public | set_tsi (this, tsi) |
|
procedure, public | 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.
|
|
procedure, public | 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.
|
|
generic, public | gas_optics gas_optics_int |
|
generic, public | gas_optics gas_optics_ext |
|
procedure(gas_optics_int_abstract), deferred | gas_optics_int (this, play, plev, tlay, tsfc, gas_desc, optical_props, sources, col_dry, tlev) |
|
procedure(gas_optics_ext_abstract), deferred | gas_optics_ext (this, play, plev, tlay, gas_desc, optical_props, toa_src, col_dry) |
|
procedure(logical_abstract), deferred, public | source_is_internal (this) |
|
procedure(logical_abstract), deferred, public | source_is_external (this) |
|
procedure(real_abstract), deferred, public | get_press_min (this) |
|
procedure(real_abstract), deferred, public | get_press_max (this) |
|
procedure(real_abstract), deferred, public | get_temp_min (this) |
|
procedure(real_abstract), deferred, public | get_temp_max (this) |
|
generic, public | init (this, band_lims_wvn, band_lims_gpt, name) |
|
generic, public | init (this, spectral_desc) |
|
procedure, public | is_initialized (this) |
|
procedure, public | finalize (this) |
|
procedure, public | get_nband (this) |
|
procedure, public | get_ngpt (this) |
|
procedure, public | get_gpoint_bands (this) |
|
procedure, public | convert_band2gpt (this, band) |
|
procedure, public | convert_gpt2band (this, gpt) |
|
procedure, public | get_band_lims_gpoint (this) |
|
procedure, public | get_band_lims_wavenumber (this) |
|
procedure, public | get_band_lims_wavelength (this) |
|
procedure, public | bands_are_equal (this, that) |
|
procedure, public | gpoints_are_equal (this, that) |
|
procedure, public | expand (this, arr_in) |
|
procedure, public | set_name (this, name) |
|
procedure, public | get_name (this) |
|
|
real(wp), dimension(:), allocatable | press_ref_log |
|
real(wp), dimension(:), allocatable | temp_ref |
|
real(wp) | press_ref_min |
|
real(wp) | press_ref_max |
|
real(wp) | temp_ref_min |
|
real(wp) | temp_ref_max |
|
real(wp) | press_ref_log_delta |
|
real(wp) | temp_ref_delta |
|
real(wp) | press_ref_trop_log |
|
character(32), dimension(:), allocatable | gas_names |
|
real(wp), dimension(:,:,:), allocatable | vmr_ref |
|
integer, dimension(:,:), allocatable | flavor |
|
integer, dimension(:,:), allocatable | gpoint_flavor |
|
real(wp), dimension(:,:,:,:), allocatable | kmajor |
|
integer, dimension(:,:), allocatable | minor_limits_gpt_lower |
|
integer, dimension(:,:), allocatable | minor_limits_gpt_upper |
|
logical(wl), dimension(:), allocatable | minor_scales_with_density_lower |
|
logical(wl), dimension(:), allocatable | minor_scales_with_density_upper |
|
logical(wl), dimension(:), allocatable | scale_by_complement_lower |
|
logical(wl), dimension(:), allocatable | scale_by_complement_upper |
|
integer, dimension(:), allocatable | idx_minor_lower |
|
integer, dimension(:), allocatable | idx_minor_upper |
|
integer, dimension(:), allocatable | idx_minor_scaling_lower |
|
integer, dimension(:), allocatable | idx_minor_scaling_upper |
|
integer, dimension(:), allocatable | kminor_start_lower |
|
integer, dimension(:), allocatable | kminor_start_upper |
|
real(wp), dimension(:,:,:), allocatable | kminor_lower |
|
real(wp), dimension(:,:,:), allocatable | kminor_upper |
|
real(wp), dimension(:,:,:,:), allocatable | krayl |
|
real(wp), dimension(:,:,:,:), allocatable | planck_frac |
|
real(wp), dimension(:,:), allocatable | totplnk |
|
real(wp) | totplnk_delta |
|
real(wp), dimension(:,:), allocatable | optimal_angle_fit |
|
real(wp), dimension(:), allocatable | solar_source |
|
real(wp), dimension(:), allocatable | solar_source_quiet |
|
real(wp), dimension(:), allocatable | solar_source_facular |
|
real(wp), dimension(:), allocatable | solar_source_sunspot |
|
logical, dimension(:), allocatable | is_key |
|
|
procedure, private | 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) |
|
procedure, private | 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) |
|
procedure, private | check_key_species_present (this, gas_desc) |
|
procedure, private | 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)
|
|
procedure, private | get_neta (this) |
|
procedure, private | get_npres (this) |
|
procedure, private | get_ntemp (this) |
|
procedure, private | get_nplancktemp (this) |
|