Engine#

class sasktran2.Engine(config: Config, model_geometry: Geometry1D, viewing_geo: ViewingGeometry)[source]#

Bases: object

An Engine is the main class that handles the radiative transfer calculation. The calculation takes place in two components.

First, upon construction of the Engine, the majority of the geometry information is computed and cached.

The main calculation takes place when calling calculate_radiance() with an sasktran2.Atmosphere object where the actual radiative transfer calculation is performed.

Parameters:
  • config (sk.Config) – Configuration object

  • model_geometry (sk.Geometry1D) – Geometry for the model

  • viewing_geo (sk.ViewingGeometry) – Viewing geometry

calculate_radiance(atmosphere: Atmosphere, output: Output = None)[source]#

Performs the radiative transfer calculation for a given atmosphere

Parameters:
  • atmosphere (sk.Atmosphere) – _description_

  • output (sk.Output, optional) – Optional abstract output type. Can be specified to change the output format. If set to None, the default sasktran2.OutputIdeal class is used, by default None

Returns:

Exact return type depends upon what output is set to. For the default sasktran2.OutputIdeal, the output format is an xarray Dataset. See for example, sasktran2.OutputIdeal.post_process()

Return type:

varies

Internal Objects#

class sasktran2.EngineStokes_1(self: sasktran2._core.EngineStokes_1, config: sasktran2._core.Config, model_geometry: sasktran2._core.Geometry1D, viewing_geometry: sasktran2._core.ViewingGeometry)#

Bases: pybind11_object

Internal SASKTRAN2 object which handles the radiative transfer calculation.

Parameters:
  • config (sasktran2.Config) – Configuration settings

  • model_geometry (sasktran2.Geometry1D) – The model geometry

  • viewing_geometry (sasktan2.ViewingGeometry) – The viewing geometry

calculate_radiance(self: sasktran2._core.EngineStokes_1, atmosphere: sasktran2._core.AtmosphereStokes_1, output: sasktran2._core.OutputStokes_1) None#

Performs the radiative transfer calculation for the given atmosphere, placing the result in output

Parameters:
class sasktran2.EngineStokes_3(self: sasktran2._core.EngineStokes_3, config: sasktran2._core.Config, model_geometry: sasktran2._core.Geometry1D, viewing_geometry: sasktran2._core.ViewingGeometry)#

Bases: pybind11_object

Internal SASKTRAN2 object which handles the radiative transfer calculation.

Parameters:
  • config (sasktran2.Config) – Configuration settings

  • model_geometry (sasktran2.Geometry1D) – The model geometry

  • viewing_geometry (sasktan2.ViewingGeometry) – The viewing geometry

calculate_radiance(self: sasktran2._core.EngineStokes_3, atmosphere: sasktran2._core.AtmosphereStokes_3, output: sasktran2._core.OutputStokes_3) None#

Performs the radiative transfer calculation for the given atmosphere, placing the result in output

Parameters: