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,ViewingGeometryContainerA 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)Returns the cosine of the solar zenith angle at the reference altitude.
Returns the earth radius at the reference altitude.
Attributes
flux_observersgeometry_dsobserver_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