NSF-Swift / satellite-overhead

An open-source tool for calculating satellite interference to radio astronomy observations.
https://pypi.org/project/sopp/
GNU Affero General Public License v3.0
0 stars 2 forks source link

Create ObservationPathFinder ABC and add implementations for RhodesMill and Astropy #81

Closed 0xeb-bp closed 1 year ago

0xeb-bp commented 1 year ago

The ObservationPathFinder class underwent several modifications. Initially, it was transformed into an abstract base class. Subsequently, we created implementations of this base class for both the Astropy and Skyfield/RhodesMill libraries. To ensure the accuracy of our calculations and alignment of results, we introduced an equivalency test. We have discussed potentially eliminating the Astropy dependency in favor of exclusively using RhodesMill for all calculations.

Additionally, we incorporated a tests for the ObservationPathFinder class to verify expected outcomes. The test checks expected values by calculating the rising, culminating and setting positions of the sun on the autumnal equinox from the equator. At sunrise on that day we can expect the sun to to be at azimuth of 90, six hours later to be at an altitude of 90 degrees and a further six hours later to be setting at an azimuth of 270 degrees.

We also introduced additional tests specific to the RhodesMill implementation, which involve converting data from our ObservationTarget class into the required format for the RhodesMill API.