sasktran2.Atmosphere#
- class sasktran2.Atmosphere(model_geometry: Geometry1D, config: Config, wavelengths_nm: array = None, wavenumber_cminv: array = None, numwavel: int | None = None, calculate_derivatives: bool = True, pressure_derivative: bool = True, temperature_derivative: bool = True, specific_humidity_derivative: bool = True, legendre_derivative: bool = True, spectral_grid: Grid | None = None)[source]#
Bases:
objectThe main specification for the atmospheric state.
See
storagefor details on how the atmospheric state parameters are stored.See
surfacefor details on how the surface parameters are stored.- Parameters:
model_geometry (sk.Geometry1D) – The geometry defining where the atmospheric quantities are specified on.
config (sk.Config) – Main configuration object.
wavelengths_nm (np.array, optional) – Array of wavelengths to specify the atmosphere at in [nm]. One of wavelengths_nm, wavenumber_cminv, numwavel must be set.
wavenumber_cminv (np.array, optional) – Array of wavenumbers to specify the atmosphere at in [\(\text{cm}^{-1}\)]. One of wavelengths_nm, wavenumber_cminv, numwavel must be set.
numwavel (int, optional) – Number of wavelengths to include in the calculation. Note that wavelength is a dummy variable, this dimension can be anaything. One of wavelengths_nm, wavenumber_cminv, numwavel must be set.
calculate_derivatives (bool, optional) – Whether or not the model should calculate derivatives with respect to atmospheric quantities., by default True
pressure_derivative (bool, optional) – Whether or not the model should calculate derivatives with respect to pressure., by default True
temperature_derivative (bool, optional) – Whether or not the model should calculate derivatives with respect to temperature., by default True
legendre_derivative (bool, optional) – Whether or not the model should calculate derivatives with respect to the legendre coefficients., by default True
- __init__(model_geometry: Geometry1D, config: Config, wavelengths_nm: array = None, wavenumber_cminv: array = None, numwavel: int | None = None, calculate_derivatives: bool = True, pressure_derivative: bool = True, temperature_derivative: bool = True, specific_humidity_derivative: bool = True, legendre_derivative: bool = True, spectral_grid: Grid | None = None)[source]#
The main specification for the atmospheric state.
See
storagefor details on how the atmospheric state parameters are stored.See
surfacefor details on how the surface parameters are stored.- Parameters:
model_geometry (sk.Geometry1D) – The geometry defining where the atmospheric quantities are specified on.
config (sk.Config) – Main configuration object.
wavelengths_nm (np.array, optional) – Array of wavelengths to specify the atmosphere at in [nm]. One of wavelengths_nm, wavenumber_cminv, numwavel must be set.
wavenumber_cminv (np.array, optional) – Array of wavenumbers to specify the atmosphere at in [\(\text{cm}^{-1}\)]. One of wavelengths_nm, wavenumber_cminv, numwavel must be set.
numwavel (int, optional) – Number of wavelengths to include in the calculation. Note that wavelength is a dummy variable, this dimension can be anaything. One of wavelengths_nm, wavenumber_cminv, numwavel must be set.
calculate_derivatives (bool, optional) – Whether or not the model should calculate derivatives with respect to atmospheric quantities., by default True
pressure_derivative (bool, optional) – Whether or not the model should calculate derivatives with respect to pressure., by default True
temperature_derivative (bool, optional) – Whether or not the model should calculate derivatives with respect to temperature., by default True
legendre_derivative (bool, optional) – Whether or not the model should calculate derivatives with respect to the legendre coefficients., by default True
Methods
__init__(model_geometry, config[, ...])The main specification for the atmospheric state.
The internal pybind11 object that can be used to perform the radiative transfer calculation.
Attributes
The order of the applied delta_m scaling.
True if we are calculating the derivative with respect to pressure
True if we are calculating the derivative with respect to specific humidity
True if we are calculating the derivative with respect to temperature
A nested dictionary of
sasktran2.atmosphere.DerivativeMappingobjects.leg_coeffThe model geometry object
The number of stokes parameters the atmosphere contains information to calculate
The number of wavelengths the atmosphere is specified at
Pressure in [Pa] on the same grid as
model_geometrySpecific humidity on the same grid as
model_geometryThe spectral integration mode for the atmosphere
The equation of state object which contains the temperature, pressure, and specific humidity
The internal object which contains the atmosphere extinction, single scatter albedo, and legendre coefficients.
The surface object
Atmospheric temperature in [K] on the same grid as
model_geometryThe unscaled extinction.
The unscaled single scatter albedo.
The wavelengths in [nm] the atmosphere is specified at.
The wavenumbers in [\(\text{cm}^{-1}\)].
- property applied_delta_m_order: int | None#
The order of the applied delta_m scaling. Can be None if no scaling has been applied
- property calculate_pressure_derivative: bool#
True if we are calculating the derivative with respect to pressure
- Return type:
- property calculate_specific_humidity_derivative: bool#
True if we are calculating the derivative with respect to specific humidity
- Return type:
- property calculate_temperature_derivative: bool#
True if we are calculating the derivative with respect to temperature
- Return type:
- property deriv_mappings: dict#
A nested dictionary of
sasktran2.atmosphere.DerivativeMappingobjects.- Return type:
- internal_object() sk.AtmosphereStokes_1 | sk.AtmosphereStokes_3[source]#
The internal pybind11 object that can be used to perform the radiative transfer calculation. Calling this method will trigger a construction of the atmosphere object if necessary, and then return back the internal object.
- Return type:
Union[sk.AtmosphereStokes_1, sk.AtmosphereStokes_3]
- property model_geometry: Geometry1D#
The model geometry object
- Return type:
sk.Geometry1D
- property nstokes: int#
The number of stokes parameters the atmosphere contains information to calculate
- Return type:
- property pressure_pa: array#
Pressure in [Pa] on the same grid as
model_geometry- Return type:
np.array
- property specific_humidity: array#
Specific humidity on the same grid as
model_geometry- Return type:
np.array
- property spectral_integration_mode: SpectralGridMode#
The spectral integration mode for the atmosphere
- Return type:
sk.SpectralGridMode
- property state_equation: EquationOfState#
The equation of state object which contains the temperature, pressure, and specific humidity
- Return type:
EquationOfState
- property storage: sk.AtmosphereStorageStokes_1 | sk.AtmosphereStorageStokes_3#
The internal object which contains the atmosphere extinction, single scatter albedo, and legendre coefficients.
- Return type:
Union[sk.AtmosphereGridStorageStokes_1, sk.AtmosphereGridStorageStokes_3]
- property surface: sk.SurfaceStokes_1 | sk.SurfaceStokes_3#
The surface object
- Return type:
sk.Surface
- property temperature_k: array#
Atmospheric temperature in [K] on the same grid as
model_geometry- Return type:
np.array
- property unscaled_extinction: ndarray#
The unscaled extinction. After performing the calculation, storage.total_extinction may be modified because of the delta-m scaling. This property stores the original unscaled single scatter albedo.
- Return type:
np.ndarray
- property unscaled_ssa: ndarray#
The unscaled single scatter albedo. After performing the calculation, storage.ssa may be modified because of the delta-m scaling. This property stores the original unscaled single scatter albedo.
- Return type:
np.ndarray