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.
Metadata
Release files for adam-fo 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| adam_fo-0.0.2.tar.gz | 23.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| adam_fo-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 46.0 kB
Release files / adam_fo-0.0.2.tar.gz
| Download URL | adam_fo-0.0.2.tar.gz |
|---|---|
| Size | 23.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
80a8a853c5284e76435294b0bd1dc5487502fe2a3ab727341538e91520653dd4
|
|
BLAKE2b-256 checksum How to use checksums |
58add5016a1241b2fc87bc3c336ddcb54ffbbaac12e4cabc339c1e7742fc8eb9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.22.2 CPython/3.12.7 Darwin/23.6.0
|
Release files / adam_fo-0.0.2-py3-none-any.whl
| Download URL | adam_fo-0.0.2-py3-none-any.whl |
|---|---|
| Size | 22.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e29a0d14b098cdd6e1d3969b41d0ac2162950fb44e90f8a40725d4c05c32c01d
|
|
BLAKE2b-256 checksum How to use checksums |
4ddbdb719d7f9630bb69255c693d2e03e45e5a12f6e3c93e90aae677ae6dccda
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.22.2 CPython/3.12.7 Darwin/23.6.0
|