Wrapper for Bill Gray's fo, the programmatic version of find_orb
Project description
adam-fo
A Python wrapper for Find_Orb orbit determination software, designed to work seamlessly with adam_core.
Overview
adam-fo provides a Python interface to Bill Gray's Find_Orb orbit determination software, allowing you to:
- Determine orbits from ADES-formatted observations
- Get orbit state vectors and covariance matrices in adam_core format
- Identify rejected observations from the orbit determination process
Installation
- First, install the package using your preferred Python package manager:
pip install adam-fo
- After installation, you need to build Find_Orb and its dependencies. Run:
build-fo
This will:
- Clone and build required repositories (lunar, sat_code, jpl_eph, find_orb, miscell)
- Download necessary ephemeris files
- Install everything in your XDG data directory (typically
~/.local/share/adam_fo)
Usage
Here's a basic example of using adam-fo with adam_core:
from adam_fo import fo
from adam_core.observations import ADESObservations
# Load your ADES-formatted observations
ades_string = """
# Example ADES PSV format
# version=2017
permID|trkSub|mode|stn|obsTime|ra|dec|rmsRA|rmsDec|astCat
|2020_CD3|CCD|F51|2020-02-18T10:11:22.000|180.5876|10.4789|0.15|0.15|Gaia2
"""
# Run orbit determination
orbits, rejected_observations, error = fo(ades_string)
if error is None:
print(f"Successfully determined {len(orbits)} orbit(s)")
print(f"Number of rejected observations: {len(rejected_observations)}")
# Access orbit parameters (in ecliptic coordinates)
coords = orbits.coordinates
print("State vector at epoch:")
print(f"Position (AU): {coords.x[0]}, {coords.y[0]}, {coords.z[0]}")
print(f"Velocity (AU/day): {coords.vx[0]}, {coords.vy[0]}, {coords.vz[0]}")
else:
print(f"Orbit determination failed: {error}")
Key Features
-
ADES Format Support: Works with ADES-formatted observations, the standard format for minor planet astrometry.
-
adam_core Integration: Returns results as adam_core objects:
- Orbits in
adam_core.orbits.Orbitsformat - Rejected observations in
adam_core.observations.ADESObservationsformat
- Orbits in
-
Covariance Information: Includes full 6x6 covariance matrices for orbit uncertainty analysis.
-
Automatic Setup: Handles Find_Orb installation and configuration automatically.
Configuration
Find_Orb configuration is handled through environment variables and configuration files:
- Default configuration is stored in the installed package
- Custom configuration can be placed in
~/.local/share/adam_fo/find_orb/find_orb/environ.dat - Ephemeris files are automatically downloaded and configured
Notes
- Orbit state vectors are returned in ecliptic coordinates centered on the Sun
- Times are in TT (Terrestrial Time) scale
- Positions are in AU and velocities in AU/day
- Covariance matrices correspond to the cartesian state vector
Requirements
- Python 3.11+
- adam_core
- Build tools (gcc, make)
- Git
License
This project is licensed under the GPL License to be compatible with Find_Orb itself.
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 adam_fo-0.0.2.tar.gz.
File metadata
- Download URL: adam_fo-0.0.2.tar.gz
- Upload date:
- Size: 23.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.22.2 CPython/3.12.7 Darwin/23.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80a8a853c5284e76435294b0bd1dc5487502fe2a3ab727341538e91520653dd4
|
|
| MD5 |
4ca2595a4748795ecf66062346ba0e76
|
|
| BLAKE2b-256 |
58add5016a1241b2fc87bc3c336ddcb54ffbbaac12e4cabc339c1e7742fc8eb9
|
File details
Details for the file adam_fo-0.0.2-py3-none-any.whl.
File metadata
- Download URL: adam_fo-0.0.2-py3-none-any.whl
- Upload date:
- Size: 22.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.22.2 CPython/3.12.7 Darwin/23.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e29a0d14b098cdd6e1d3969b41d0ac2162950fb44e90f8a40725d4c05c32c01d
|
|
| MD5 |
27d4f437aff3c6c1a754cb649ceaa6d4
|
|
| BLAKE2b-256 |
4ddbdb719d7f9630bb69255c693d2e03e45e5a12f6e3c93e90aae677ae6dccda
|