tylerni7 / missile-tid

Identifying missile launch signatures from traveling ionic disturbances using GPS data
BSD 3-Clause "New" or "Revised" License
130 stars 15 forks source link

Missile TID

This library is designed to look for traveling ionospheric disturbances (TID), a phenomenon caused by space launch vehicles, and large ballistic missiles (among other things) when they travel through the ionosphere.

Setup

Some platform-specific dependencies must be installed first.

Ubuntu (20.04)

If in doubt, check the Dockerfile for an exact build recipe, as that will be based on an Ubuntu image.

sudo apt install gcc g++ libcurl4-openssl-dev libgeos-dev

MacOS (Monterey/Ventura)

Most issues with getting up and running on MacOS are related to the Shapely library, which Cartopy imports. If you have issues installing either of these, please see more about the pre-reqs here: https://scitools.org.uk/cartopy/docs/latest/installing.html. You should however only need the geos library, which can be installed with brew or macports:

brew install geos

If you still run into issues when producing the plots, for example with the error:

OSError: Could not find lib geos_c or load any of its variants

you must have a Python executable that is running on the same arch as the geos binaries you installed using brew. This may mean you have the wrong Anaconda version (x86_64 vs arm64), as an example.

Installing

Once dependencies are installed, you should be able to install the requirements with:

python -m pip install -r requirements.txt

For development, use requirements-dev.txt instead. After that, install directly from within the repository:

python -m pip install -e ./

For the time being one final step is required: manually make a copy of the example config file and rename it as configuration.yml. The following command should do this:

cp config/configuration.yml.example config/configuration.yml

Running the demos

There are currently two demos available to produce animations of the TID about an area:

Common errors

Contributing

Please refer to CONTRIBUTING.rst.

Authors

Because of the refactor, this branch wiped out a lot of author information.

This code was primarily written by @tylerni7 and @MGNute

Further contribution from @tinfoil-globe, @Tobychev, and @jmccartin