sasktran2.constituent.Rayleigh#
- class sasktran2.constituent.Rayleigh(method: str = 'bates', n2_percentage: float = 78.084, o2_percentage: float = 20.946, ar_percentage: float = 0.934, co2_percentage: float = 0.036, wavelengths_nm: ndarray = None, xs: ndarray = None, king_factor: ndarray = None)[source]#
Bases:
ConstituentAn implementation of Rayleigh scattering. Cross sections (and depolarization factors) can be calculated multiple ways, with the default method being that of ‘bates’.
Rayleigh scattering number density is estimated through the ideal gas law.
This Constituent requires that the atmosphere object have temperature_k, pressure_pa, and wavelength_nm are all defined inside the
sasktran2.Atmosphereobject.- Parameters:
method (str, default='bates') – Method to use to calculate the cross section. Supported methods are [‘bates’, ‘manual’], by default ‘bates’
n2_percentage (float, optional) – Percentage of N2 in the atmosphere, by default 78.084
o2_percentage (float, optional) – Percentage of O2 in the atmosphere, by default 20.946
ar_percentage (float, optional) – Percentage of Ar in the atmosphere, by default 0.934
co2_percentage (float, optional) – Percentage of CO2 in the atmosphere, by default 0.036
wavelengths_nm (numpy.ndarray) – Wavelengths in nm to use for the cross section
xs (numpy.ndarray) – Cross section in m2/molecule to use for the cross section
king_factor (numpy.ndarray) – King factor to use for the cross section
- Raises:
ValueError – If input method is not supported
- __init__(method: str = 'bates', n2_percentage: float = 78.084, o2_percentage: float = 20.946, ar_percentage: float = 0.934, co2_percentage: float = 0.036, wavelengths_nm: ndarray = None, xs: ndarray = None, king_factor: ndarray = None) None[source]#
An implementation of Rayleigh scattering. Cross sections (and depolarization factors) can be calculated multiple ways, with the default method being that of ‘bates’.
Rayleigh scattering number density is estimated through the ideal gas law.
This Constituent requires that the atmosphere object have temperature_k, pressure_pa, and wavelength_nm are all defined inside the
sasktran2.Atmosphereobject.- Parameters:
method (str, default='bates') – Method to use to calculate the cross section. Supported methods are [‘bates’, ‘manual’], by default ‘bates’
n2_percentage (float, optional) – Percentage of N2 in the atmosphere, by default 78.084
o2_percentage (float, optional) – Percentage of O2 in the atmosphere, by default 20.946
ar_percentage (float, optional) – Percentage of Ar in the atmosphere, by default 0.934
co2_percentage (float, optional) – Percentage of CO2 in the atmosphere, by default 0.036
wavelengths_nm (numpy.ndarray) – Wavelengths in nm to use for the cross section
xs (numpy.ndarray) – Cross section in m2/molecule to use for the cross section
king_factor (numpy.ndarray) – King factor to use for the cross section
- Raises:
ValueError – If input method is not supported
Methods
__init__([method, n2_percentage, ...])An implementation of Rayleigh scattering.
add_to_atmosphere(atmo)register_derivative(atmo, name)