Download and interpolate precise satellite ephemeris (SP3)
Project description
sp3
Download and interpolate precise ephemeris (SP3).
CDDIS registration
Caveats
- Norad / PRN correlation may change over time (especially for GNSS satellites).
- All user-facing functions use UTC timestamps for compatibility with TLE data. Unlike UTC, the GPS / TAI clocks used by some SP3 files do not have leap seconds (https://en.wikipedia.org/wiki/Leap_second). This difference can cause interpolation issues under the rare condition of satellite observation over a leap second.
- SP3 files from GNSS providers (BeiDou, Galileo, GPS, IRNSS, and GLONASS) sometimes contain data for only parts of a constellation. This library's interpolation function will automatically try different providers until it finds the expected satellite.
- Ultra-rapid products (esu, igu, igv...), which include predicted positions, are not listed in the providers.
Format documentation
SP3-c https://files.igs.org/pub/data/format/sp3c.txt SP3-d https://gssc.esa.int/wp-content/uploads/2018/07/sp3d.pdf
Sources for satellites names, SP3 ids (PRN), and NORAD ids
BeiDou:
Galileo:
- https://en.wikipedia.org/wiki/List_of_Galileo_satellites
- http://www.celestrak.com/Norad/elements/table.php?tleFile=galileo&title=Galileo%20Satellites
GPS:
- https://celestrak.com/NORAD/elements/table.php?tleFile=gps-ops&title=GPS%20Operational%20Satellites
- https://www.pulsesat.com/satellites
IRNSS:
GLONASS:
- http://www.csno-tarc.cn/en/glonass/constellation
- https://celestrak.com/NORAD/elements/table.php?tleFile=glo-ops&title=GLONASS%20Operational%20Satellites
Tests and figures
python3 test.py
runs parsing tests.python3 plot_interpolation.py
generates decimated polynomial interpolations graphs with errors (position only).python3 plot_velocities.py
generates position and velocity graphs. Velocity is interpolated when velocity samples are available and is calculated from the position otherwise.python3 plot_window_to_error
calculates the error on decimated samples for different polynomial window / polynomial degree combinations.
The output of plot scripts is saved to renders.
Contribute
Run black .
to format the source code (see https://github.com/psf/black).
Run pyright .
to check types (see https://github.com/microsoft/pyright).
Run python3 test.py
to run unit tests.
Publish
rm -rf dist
python3 setup.py sdist
python3 -m twine upload dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sp3-0.0.3.tar.gz
(5.9 MB
view details)
File details
Details for the file sp3-0.0.3.tar.gz
.
File metadata
- Download URL: sp3-0.0.3.tar.gz
- Upload date:
- Size: 5.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0138484c754882ecd65a83ad511f799b86af922668dc0d3426a4362ae759517 |
|
MD5 | 66fe098f9aaf42aae81a6c640ab7ec67 |
|
BLAKE2b-256 | 8a4356eae9580b09a74378c18367f671b7d31ce93b06ec6ad23a90163dd50cde |