ray_pathGeometricTangentAltitude
- Workspace.ray_pathGeometricTangentAltitude(self, ray_path: pyarts.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts.arts.AtmField | None = None, surface_field: pyarts.arts.SurfaceField | None = None, pos: pyarts.arts.Vector3 | None = None, tangent_altitude: pyarts.arts.Numeric | None = None, azimuth: pyarts.arts.Numeric | None = None, max_step: pyarts.arts.Numeric | None = None, as_observer: pyarts.arts.Index | None = None, add_limb: pyarts.arts.Index | None = None, remove_non_atm: pyarts.arts.Index | None = None, fix_updown_azimuth: pyarts.arts.Index | None = None) None
Get a geometric radiation path that crosses the tangent altitude
The path is defined by an azimuth, a position, and a tangent altitude. If the path ends up crossing the surface altitude, an error is thrown.
The
pos
is either at the end or at the beginning of the path depending on theas_observer
flag. A value that evaluates to true means that it is at the end of the path. Ifas_observer
is true, theazimuth
is therefore looking backwards along the path. Basically,as_observer
true means thatpos
andazimuth
behaves as sensor pos and azimuth.The
max_step
is the maximum step length in meters. The path is first created between the two extremes of space and space. Afterwards, there are additional points added everymax_step
meters between these points until no more fits (the last step is shorter or exactlymax_step
).Upon closing the method, the following options are available to modify the output:
If
add_limb
is true, the limb point is added to the path at the end. It is computed using bisections to ensure that the zenith angle of the tangent point is as close to 90 degrees as it can numerically be.If
remove_non_atm
is true, all points that are not in the atmosphere are removed. It is recommended to remove these points as multiple methods will either perform poorly or not at all with these points present.If
fix_updown_azimuth
is true, the azimuthal angle of the path is fixed to the initial azimuthal angle of the path. Because calculations of the azimuth angle makes use of IEEE atan2, some paths may produce bad angles if this is turned off.Author(s): Richard Larsson
- Parameters:
ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See
ray_path
, defaults toself.ray_path
[OUT]atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See
atmospheric_field
, defaults toself.atmospheric_field
[IN]surface_field (SurfaceField, optional) – The surface field describes the surface properties. See
surface_field
, defaults toself.surface_field
[IN]pos (Vector3) – The origo of the radiation path. [IN]
tangent_altitude (Numeric) – The tangent altitude of the radiation path. [IN]
azimuth (Numeric) – The azimuth from the origo of the radiation path towards the tangent altitude. [IN]
max_step (Numeric, optional) – , optionalThe maximum step length. [IN]
as_observer (Index, optional) – , optionalWhether or not the path is as seen by the sensor or by the radiation (see text). [IN]
add_limb (Index, optional) – , optionalWheter or not to add the limb point. [IN]
remove_non_atm (Index, optional) – , optionalWheter or not to keep only atmospheric points. [IN]
fix_updown_azimuth (Index, optional) – , optionalWhether or not to attempt fix a potential issue with the path azimuthal angle. [IN]