Orbit determination routines for Python
Project description
This is orbdetpy, a Python and Java library for orbit determination. It is a thin Python wrapper for our Java estimation tools and Orekit.
Features
The force model for orbit propagation can be configured to include:
- EGM96 gravity field up to degree and order 360.
- Earth solid tides due to the influence of the Sun and Moon.
- FES 2004 ocean tide model up to degree and order 100.
- The NRL MSISE-00 and simple exponential models for atmospheric drag.
- Solar radiation pressure.
- Third body perturbations from the Sun and Moon.
The measurement model supports range, range-rate, angles, and inertial Cartesian coordinates. Filtering is done with our Unscented Kalman Filter or Orekit's Extended Kalman Filter. Dynamic Model Compensation (DMC) can be used with either filter to estimate additional perturbing acclerations that result from unmodeled dynamics, maneuvers etc.
Installation
-
Install the Java Development Kit 8 (1.8) from http://openjdk.java.net/install/index.html. Set the
JAVA_HOMEenvironment variable to the JDK installation folder. Thejavaexecutable must be added to the system path. -
Install Python 3.7.0 or higher and run
pip install orbdetpyto install orbdetpy and other package dependencies. -
Update the astrodynamics data under
orbdetpy/orekit-dataperiodically by running the following. You might need to be therootuser on some systems.python -c "from orbdetpy.astro_data import update_data; update_data();"
Examples
-
fit_radec.py: Run OD with real angles measurements. Also demonstrates the Laplace IOD method for estimating an initial state vector. -
predict_passes.py: Predict satellite passes for ground stations or geographic regions using TLEs. Current elements may be obtained from sites such as http://www.celestrak.com. -
propagate_tle.py: Propagate TLEs given by command-line arguments. -
test_conversion.py: Test reference frame and other conversion functions. -
test_estimation.py: Demonstrates measurement simulation and orbit determination functions. -
test_interpolation.py: Interpolate state vectors.
Development
-
Developers will need Apache Maven 3+ to build the Java library. Build using the following from the
orbdetpy/sub-folder, whereos_cpu_typeislinux-x86_64,linux-x86_32,windows-x86_64,windows-x86_32,osx-x86_64, orosx-x86_32depending on your CPU and OS:mvn -e -Dos.detected.classifier=os_cpu_type packageThe command-line is simpler on Intel/AMD 64-bit Linux:
mvn -e package -
Download and extract https://github.com/ut-astria/orbdetpy/releases/download/2.0.2/orekit-data.tar.gz under the
orbdetpy/sub-folder.
Known Issues
-
You might receive warnings from the Windows Defender Firewall on Microsoft Windows. Grant
orbdetpynetwork access permissions. -
If you use the
multiprocessingPython package, imports and calls intoorbdetpymust not spanmultiprocessingfunction calls. That is,orbdetpycan be used in the parent process or the spawned child processes, but not both.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file orbdetpy-2.0.2.tar.gz.
File metadata
- Download URL: orbdetpy-2.0.2.tar.gz
- Upload date:
- Size: 27.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a368c5026f9e4fcec7d0c7882eb0a2072766dd79a48993f7c8632ab772f96b7f
|
|
| MD5 |
d78c6bdbeb195eea3678548d5735b5fc
|
|
| BLAKE2b-256 |
01646973b936809eca6b36c58f4e7a725b299a04a298d8bdbb5b8731254802bd
|
File details
Details for the file orbdetpy-2.0.2-py3-none-any.whl.
File metadata
- Download URL: orbdetpy-2.0.2-py3-none-any.whl
- Upload date:
- Size: 27.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4895d48fcb03f833c42e57018098a0feb3853619acafc1dde172dbb62f30e6cf
|
|
| MD5 |
720aae5255de0f42b6f325cdfe3e4cad
|
|
| BLAKE2b-256 |
e28bb2f9bac5f9ffc3d742ff1637b4eef33b001f2a723f173ee5d8a491c0b168
|