Skip to main content

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:

  1. EGM96 gravity field up to degree and order 360.
  2. Earth solid tides due to the influence of the Sun and Moon.
  3. FES 2004 ocean tide model up to degree and order 100.
  4. The NRL MSISE-00 and simple exponential models for atmospheric drag.
  5. Solar radiation pressure.
  6. 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

  1. Install the Java Development Kit 8 (1.8) from http://openjdk.java.net/install/index.html. Set the JAVA_HOME environment variable to the JDK installation folder. The java executable must be added to the system path.

  2. Install Python 3.7.0 or higher and run pip install orbdetpy to install orbdetpy and other package dependencies.

  3. Update the astrodynamics data under orbdetpy/orekit-data periodically by running the following. You might need to be the root user on some systems.

    python -c "from orbdetpy.astro_data import update_data; update_data();"

Examples

  1. fit_radec.py : Run OD with real angles measurements. Also demonstrates the Laplace IOD method for estimating an initial state vector.

  2. 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.

  3. propagate_tle.py : Propagate TLEs given by command-line arguments.

  4. test_conversion.py : Test reference frame and other conversion functions.

  5. test_estimation.py : Demonstrates measurement simulation and orbit determination functions.

  6. test_interpolation.py : Interpolate state vectors.

Development

  1. Developers will need Apache Maven 3+ to build the Java library. Build using the following from the orbdetpy/ sub-folder, where os_cpu_type is linux-x86_64, linux-x86_32, windows-x86_64, windows-x86_32, osx-x86_64, or osx-x86_32 depending on your CPU and OS:

    mvn -e -Dos.detected.classifier=os_cpu_type package

    The command-line is simpler on Intel/AMD 64-bit Linux:

    mvn -e package

  2. 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

  1. You might receive warnings from the Windows Defender Firewall on Microsoft Windows. Grant orbdetpy network access permissions.

  2. If you use the multiprocessing Python package, imports and calls into orbdetpy must not span multiprocessing function calls. That is, orbdetpy can be used in the parent process or the spawned child processes, but not both.

Metadata

Release files for orbdetpy 2.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for orbdetpy 2.0.2
File Size Uploaded Provenance Actions
orbdetpy-2.0.2.tar.gz 27.6 MB Without provenance Details for orbdetpy-2.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for orbdetpy 2.0.2
File Interpreter ABI Platform Actions
orbdetpy-2.0.2-py3-none-any.whl Python 3 none any Details for orbdetpy-2.0.2-py3-none-any.whl

Total release size: 55.3 MB

Release files / orbdetpy-2.0.2.tar.gz

Download URL orbdetpy-2.0.2.tar.gz
Size 27.6 MB
Tags Source
SHA-256 checksum
How to use checksums
a368c5026f9e4fcec7d0c7882eb0a2072766dd79a48993f7c8632ab772f96b7f
BLAKE2b-256 checksum
How to use checksums
01646973b936809eca6b36c58f4e7a725b299a04a298d8bdbb5b8731254802bd
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / orbdetpy-2.0.2-py3-none-any.whl

Download URL orbdetpy-2.0.2-py3-none-any.whl
Size 27.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
4895d48fcb03f833c42e57018098a0feb3853619acafc1dde172dbb62f30e6cf
BLAKE2b-256 checksum
How to use checksums
e28bb2f9bac5f9ffc3d742ff1637b4eef33b001f2a723f173ee5d8a491c0b168
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for orbdetpy 2.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page