sasktran2.constituent.Rayleigh

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: Constituent

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.Atmosphere object.

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.Atmosphere object.

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)