sun_pathFromObserverAgenda

Workspace.sun_pathFromObserverAgenda(self, sun_path: pyarts.arts.ArrayOfPropagationPathPoint | None = None, surface_field: pyarts.arts.SurfaceField | None = None, ray_path_observer_agenda: pyarts.arts.Agenda | None = None, sun: pyarts.arts.Sun | None = None, pos: pyarts.arts.Vector3 | None = None, angle_cut: pyarts.arts.Numeric | None = None, refinement: pyarts.arts.Index | None = None, just_hit: pyarts.arts.Index | None = None) None

Find a path that hits the sun if possible

The algorithm finds the pair of angles with the least error in regards to angular zenith and azimuth offset from the sun. It uses this pair of angles to compute said path. The algorithm is iterative. It first finds the geometric pair of angles pointing at the sun. It then computes the path, using the space-facing path point’s pointing offset relative to the sun to change the angles in the four directions (up, left, right, down) until it finds a better solution. If no better solution is found, the algorithm it refines the angular search to half for every level of refinement above 1, it then stops.

Note that special care is taken to eliminate surface intersections so that part of the sun may still be hit if it is above the horizon. If the sun is entirerly below the horizon, the path will point close to the horizon.

The two control parameters are the angle_cut and just_hit. The angle_cut is the limit in degrees to which the algorithm should search for a better solution. The just_hit is a flag that just returns the first time a path hits the sun.

Author(s): Richard Larsson

Parameters:
  • sun_path (ArrayOfPropagationPathPoint, optional) – A path to a sun if it is visible. See sun_path, defaults to self.sun_path [OUT]

  • surface_field (SurfaceField, optional) – The surface field describes the surface properties. See surface_field, defaults to self.surface_field [IN]

  • ray_path_observer_agenda (Agenda, optional) – Get the propagation path as it is obeserved. See ray_path_observer_agenda, defaults to self.ray_path_observer_agenda [IN]

  • sun (Sun, optional) – A sun. See sun, defaults to self.sun [IN]

  • pos (Vector3) – An observer position [alt, lat, lon]. [IN]

  • angle_cut (Numeric, optional) – The angle delta-cutoff in the iterative solver [0.0, …]. Defaults to 0 [IN]

  • refinement (Index, optional) – The refinement of the search algorithm (twice the power of this is the resultion). Defaults to 1 [IN]

  • just_hit (Index, optional) – Whether or not it is enough to just hit the sun or if better accuracy is needed. Defaults to 0 [IN]