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)[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
- 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() AtmosphereStokes_1 | 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 state_equation: EquationOfState#
The equation of state object which contains the temperature, pressure, and specific humidity
- Return type:
EquationOfState
- property storage: AtmosphereStorageStokes_1 | 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: SurfaceStokes_1 | 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
Internal Objects#
- class sasktran2.AtmosphereStokes_1(self: sasktran2._core.AtmosphereStokes_1, arg0: int, arg1: sasktran2._core.Geometry1D, arg2: sasktran2._core.Config, arg3: bool)#
Bases:
pybind11_object- apply_delta_m_scaling(self: sasktran2._core.AtmosphereStokes_1, arg0: int) None#
- class sasktran2.AtmosphereStokes_3(self: sasktran2._core.AtmosphereStokes_3, arg0: int, arg1: sasktran2._core.Geometry1D, arg2: sasktran2._core.Config, arg3: bool)#
Bases:
pybind11_object- apply_delta_m_scaling(self: sasktran2._core.AtmosphereStokes_3, arg0: int) None#
- class sasktran2.AtmosphereStorageStokes_1(self: sasktran2._core.AtmosphereStorageStokes_1, arg0: int, arg1: int, arg2: int)#
Bases:
pybind11_object- resize_derivatives(self: sasktran2._core.AtmosphereStorageStokes_1, num_deriv: int) None#
- class sasktran2.AtmosphereStorageStokes_3(self: sasktran2._core.AtmosphereStorageStokes_3, arg0: int, arg1: int, arg2: int)#
Bases:
pybind11_object- resize_derivatives(self: sasktran2._core.AtmosphereStorageStokes_3, num_deriv: int) None#