sasktran2.viewinggeo.LimbVertical#

class sasktran2.viewinggeo.LimbVertical(solar_handler: SolarGeometryHandlerBase, tangent_altitudes: array, tangent_latitude: float | ndarray, tangent_longitude: float | ndarray, time: Timestamp | ndarray, observer_altitude: float | ndarray, observer_latitude: float | ndarray, observer_longitude: float | ndarray, reference_altitude: float = 25000)[source]#

Bases: ViewingGeometry, ViewingGeometryContainer

A Limb Vertical image is a geometry container where the observer is looking through the limb of the atmosphere, at a set of tangent altitudes.

We recommend constructing this class through one of the various from_ class methods. No validation checking is done through this constructor.

Parameters:
  • solar_handler (sk.solar.SolarGeometryHandlerBase) – Solar geometry handler to use for calculating solar angles.

  • tangent_altitudes (np.array) – Altitudes of the tangent points.

  • tangent_latitude (float | np.ndarray) – Latitude of the tangent points. Can be a scalar or same size as tangent_altitudes.

  • tangent_longitude (float | np.ndarray) – Longitude of the tangent points. Can be a scalar or same size as tangent_altitudes.

  • time (pd.Timestamp | np.ndarray) – Time of the observation. Can be a scalar or same size as tangent_altitudes.

  • observer_altitude (float | np.ndarray) – Altitude of the observer. Can be a scalar or same size as tangent_altitudes.

  • observer_latitude (float | np.ndarray) – Latitude of the observer. Can be a scalar or same size as tangent_altitudes.

  • observer_longitude (float | np.ndarray) – Longitude of the observer. Can be a scalar or same size as tangent_altitudes.

  • reference_altitude (float, optional) – The tangent altitude where reference parameters such as earth radius are defined at, by default 25000.

__init__(solar_handler: SolarGeometryHandlerBase, tangent_altitudes: array, tangent_latitude: float | ndarray, tangent_longitude: float | ndarray, time: Timestamp | ndarray, observer_altitude: float | ndarray, observer_latitude: float | ndarray, observer_longitude: float | ndarray, reference_altitude: float = 25000)[source]#

A Limb Vertical image is a geometry container where the observer is looking through the limb of the atmosphere, at a set of tangent altitudes.

We recommend constructing this class through one of the various from_ class methods. No validation checking is done through this constructor.

Parameters:
  • solar_handler (sk.solar.SolarGeometryHandlerBase) – Solar geometry handler to use for calculating solar angles.

  • tangent_altitudes (np.array) – Altitudes of the tangent points.

  • tangent_latitude (float | np.ndarray) – Latitude of the tangent points. Can be a scalar or same size as tangent_altitudes.

  • tangent_longitude (float | np.ndarray) – Longitude of the tangent points. Can be a scalar or same size as tangent_altitudes.

  • time (pd.Timestamp | np.ndarray) – Time of the observation. Can be a scalar or same size as tangent_altitudes.

  • observer_altitude (float | np.ndarray) – Altitude of the observer. Can be a scalar or same size as tangent_altitudes.

  • observer_latitude (float | np.ndarray) – Latitude of the observer. Can be a scalar or same size as tangent_altitudes.

  • observer_longitude (float | np.ndarray) – Longitude of the observer. Can be a scalar or same size as tangent_altitudes.

  • reference_altitude (float, optional) – The tangent altitude where reference parameters such as earth radius are defined at, by default 25000.

Methods

__init__(solar_handler, tangent_altitudes, ...)

A Limb Vertical image is a geometry container where the observer is looking through the limb of the atmosphere, at a set of tangent altitudes.

add_flux_observer(observer)

add_geometry_to_radiance(radiance)

add_ray(ray)

from_tangent_parameters(solar_handler, ...)

Initialize a LimbVertical object from a set of tangent parameters assuming a vertical image is taken.

model_geometry(altitude_grid_m)

recommended_cos_sza()

Returns the cosine of the solar zenith angle at the reference altitude.

recommended_earth_radius()

Returns the earth radius at the reference altitude.

Attributes

flux_observers

geometry_ds

observer_rays

classmethod from_tangent_parameters(solar_handler: SolarGeometryHandlerBase, tangent_altitudes: ndarray, tangent_latitude: float, tangent_longitude: float, time: Timestamp, observer_altitude: float, viewing_azimuth: float, reference_altitude: float = 25000, forced_constant_tangent: bool = False)[source]#

Initialize a LimbVertical object from a set of tangent parameters assuming a vertical image is taken. From a single observer location.

Parameters:
  • solar_handler (sk.solar.SolarGeometryHandlerBase) – Solar geometry handler to use for calculating solar angles.

  • tangent_altitudes (np.ndarray) – The altitudes of the tangent points.

  • tangent_latitude (float) – Latitude of the tangent point at reference_altitude

  • tangent_longitude (float) – Longitude of the tangent piont at reference_altitude

  • time (pd.Timestamp) – Time of the observation

  • observer_altitude (float) – Altitude of the observer

  • viewing_azimuth (float) – Azimuth of the viewing direction in degrees clockwise from north at the tangent point.

  • reference_altitude (float, optional) – Altitude the tangent point parameters are defined at, by default 25000

  • forced_constant_tangent (bool, optional) – If true, then variation in latitude/longitude is not taken into account as a function of tangent altitude, by default False

recommended_cos_sza() float[source]#

Returns the cosine of the solar zenith angle at the reference altitude.

Return type:

float

recommended_earth_radius() float[source]#

Returns the earth radius at the reference altitude.

Return type:

float