find_passes

ssapy.compute.find_passes(orbit, observers, tStart, tSpan, dt, propagator=KeplerianPropagator(), horizon=np.float64(0.3490658503988659))[source][source]

Find satellite overhead passes for a collection of observers.

Uses a brute force test of a grid of time points from tStart to tStart+tSpan separated by dt.

Returns passes even if they occur during the daytime or if the satellite is not illuminated by the sun. The only criterion for a successful “pass” is for the topocentric altitude of the satellite to be above the input horizon. More details about a pass can subsequently be obtained by running the refine_passes function.

Note this function is only suitable for `EarthObserver`s and not `OrbitalObserver`s.

Parameters:
  • orbit (Orbit) – Satellite orbit in question.

  • observers (List of EarthObserver.) – Earth observers for which to check satellite visibility.

  • tStart (float or astropy.time.Time) – Beginning of search window. If float, then should correspond to GPS seconds; i.e., seconds since 1980-01-06 00:00:00 UTC

  • tSpan (float or Quantity) – Time span in which to search for passes. If float, then seconds.

  • dt (float or Quantity) – Time increment to use during search. Satellite visibility will be computed every dt increment. Smaller values will decrease the probability that a short duration pass will be missed, but will make the search take longer to complete. If float, then seconds.

  • propagator (Propagator, optional) – The propagator instance to use.

  • horizon (float or Quantity, optional) – Minimum altitude for which to consider a satellite “visible”. If float, then should be in radians.

Returns:

passDict – keys are EarthObserver`s. values are lists (possibly empty) of `astropy.Time corresponding to visible passes of the satellite. Only one time is returned per pass, so multiple times in the return list indicate multiple distinct passes.

Return type:

dict