Announcing dshsaa

Announcing dshsaa

A Python3 Driver for the Standard Astrodynamic Algorithms

Announcing dshsaa

I have completed the python3 driver for AFSPC's SAA DLLs.

To fully understand the purpose and motivation for writing this driver, refer to my previous blog post.

The very short summary of the purpose is as follows:

  1. AFSPC (Air Force SPace Command) distributes the Standard Astrodynamic Library Dynamic Link Library (SAA DLL) in binary form. This library implements the official SGP4 propagation algorithms used by AFSPC to interpret Two Line Element sets (TLEs). To come to the exact same predictions that AFSPC makes, you need to use their tooling.
  2. Unfortunately, the SAA DLL is designed to be interfaced with from code written in a compiled, dynamically linked environment. This is outside of the skillset of most aerospace engineers.
  3. I wrote a python3 module that translates your python calls to DLL calls. I wrote a translation function and a test case for each of the 155 methods available through the dynamically linked library.

Installation and Setup

Refer to the active README.md for instructions on how to install and set up the dshsaa module. The instructions are likely to change rapidly over the next few weeks. I am currently implementing a safe virtualenv development environment and working on compatibility with pip distribution.

Once you've successfully run the test cases, check out example.py to see a basic use case.

Legal Hurdles

The dshsaa module is licensed as Apache 2.0 open source software. However, dshsaa is just a driver for the SAA DLLs which are controlled by the US federal government. At the current time, only US citizens are permitted to download the SAA DLLs and they may only do so via space-track.org. I will be reaching out to AFSPC and the Bureau of Industry and Security to consider removing these restrictions. I will also reach out to the pip maintainers about my options for delivering the driver without the DLLs.

What's Next

The next non-programming steps: