Lines of Sight¶
Module: sasktran.lineofsight
This is an object that describes a line of sight. A line of sight is made up of three components:
A look vector (a unit vector in Geodetic coordinates)
An observer location (a position vector in Geodetic coordinates)
An observation time in MJD
A list of these objects are usually added to a Geometry object to describe lines of sight to calculate radiances for.
- class sasktran.LineOfSight(mjd: float, observer: array, look_vector: array)¶
Bases:
object
Class which represents a single line of sight in SASKTRAN. A single line of sight is defined by the observer position, a timestamp, and a unit look vector.
- Parameters:
mjd (float) – Modified julian date for the measurement
observer (np.array) – Three element array indicating the observer position for the measurement.
look_vector (np.array) – Three element array which is the unit look vector away from the instrument
Examples
>>> from sasktran import LineOfSight >>> los = LineOfSight(mjd=54832.5, observer=[3.6760131547888e+005, 1.0099763136400e+006, -6.871601202127e+006], look_vector=[2.884568631765662e-001, 7.925287180643269e-001, 5.372996083468238e-001]) >>> print(los) Observer: [367601.31547888, 1009976.31364, -6871601.202127] Look: [0.2884568631765662, 0.7925287180643269, 0.5372996083468238] MJD: 54832.5 >>> print(los.mjd) 54832.5 >>> print(los.observer) [367601.31547888, 1009976.31364, -6871601.202127] >>> print(los.look_vector) [0.2884568631765662, 0.7925287180643269, 0.5372996083468238]
- ground_intersection(altitude: float = 0.0)¶
Returns an sk.Geodetic object containing the location where the line of sight intersects the earth at the given altitude. Returns None if the intersection does not exist.
- Parameters:
altitude (float) – The altitude of the desired intersection in meters. Default 0.
Examples
>>> from sasktran import LineOfSight >>> los = LineOfSight(mjd=54832.5, observer=[3.6760131547888e+005, 1.0099763136400e+006, -6.871601202127e+006], look_vector=[2.878657667526608e-001, 7.909046939869273e-001, 5.400028382900848e-001]) >>> print(los.ground_intersection(altitude=1000.0)) ISKGeodetic: IAU 1976 Latitude: -57.4997267221534, Longitude: 69.99999999999979, Altitude: 999.9999956705142
- tangent_location()¶
Returns an sk.Geodetic object containing the location where the line of sight is tangent to the surface of the earth. Returns None if the line of sight intersects the earth.
Examples
>>> from sasktran import LineOfSight >>> los = LineOfSight(mjd=54832.5, observer=[3.6760131547888e+005, 1.0099763136400e+006, -6.871601202127e+006], look_vector=[2.884568631765662e-001, 7.925287180643269e-001, 5.372996083468238e-001]) >>> print(los.tangent_location()) ISKGeodetic: IAU 1976 Latitude: -57.49972673428996, Longitude: 69.99999999999979, Altitude: 10000.000072206138
See Also¶
- Geometry
Objects which describe the geometry of the calculations to the engine. At a minimum these objects define the Lines of Sight, but can also specify things such as the suns position and the polling reference point.