ADAM Core Propagator class using ASSIST
Project description
adam-assist
Table of Contents
Overview
adam-assist
is a pluggable propagator class for the adam-core
package that uses ASSIST for propagating orbits.
Installation
pip install adam-assist
Usage
Propagating Orbits
Here we initialize a set of adam_core.orbit.Orbit
objects from the JPL Small Bodies Database and propagate them using the AdamAssistPropagator
class. You can manually initialize the orbits as well.
from adam_core.orbits.query.sbdb import query_sbdb
from adam_core.time import Timestamp
from adam_core.propagator.adam_assist import ASSISTPropagator
# Query the JPL Small Bodies Database for a set of orbits
sbdb_orbits = query_sbdb(["2020 AV2", "A919 FB", "1993 SB"])
times = Timestamp.from_mjd([60000, 60365, 60730], scale="tdb")
propagator = ASSISTPropagator()
propagated = propagator.propagate_orbits(sbdb_orbits, times)
Of course you can define your own orbits as well.
import pyarrow as pa
from adam_core.orbits import Orbit
from adam_core.coordinates import CartesianCoordinates, Origin
from adam_core.time import Timestamp
from adam_core.propagator.adam_assist import ASSISTPropagator
# Define an orbit
orbits = Orbit.from_kwargs(
orbit_id=["1", "2", "3"],
coordinates=CartesianCoordinates.from_kwargs(
# use realistic cartesian coords in AU and AU/day
x=[-1.0, 0.0, 1.0],
y=[-1.0, 0.0, 1.0],
z=[-1.0, 0.0, 1.0],
vx=[-0.1, 0.0, 0.1],
vy=[-0.1, 0.0, 0.1],
vz=[-0.1, 0.0, 0.1],
time=Timestamp.from_mjd([60000, 60365, 60730], scale="tdb"),
origin=Origin.from_kwargs(code=pa.repeat("SUN", 3)),
frame="eliptic"
),
)
propagator = ASSISTPropagator()
propagated = propagator.propagate_orbits(orbits)
Generating Ephemerides
The ASSISTPropagator
class uses the adam-core
default ephemeris generator to generate ephemerides from the ASSIST
propagated orbits. The default ephemeris generator accounts for light travel time and aberration. See adam_core.propagator.propagator.EphemerisMixin
for implementation details.
from adam_core.orbits.query.sbdb import query_sbdb
from adam_core.time import Timestamp
from adam_core.observers import Observers
from adam_core.propagator.adam_assist import ASSISTPropagator
# Query the JPL Small Bodies Database for a set of orbits
sbdb_orbits = query_sbdb(["2020 AV2", "A919 FB", "1993 SB"])
times = Timestamp.from_mjd([60000, 60365, 60730], scale="utc")
observers = Observers.from_code("399", times)
propagator = ASSISTPropagator()
ephemerides = propagator.generate_ephemeris(sbdb_orbits, observers)
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
File details
Details for the file adam_assist-0.1.4.tar.gz
.
File metadata
- Download URL: adam_assist-0.1.4.tar.gz
- Upload date:
- Size: 22.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.19.2 CPython/3.12.7 Darwin/23.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b94acc6404255800a945db785c5366c0faca3251607048d8693dc7f5646ae7d |
|
MD5 | fe8819a07e3340f208dabe0bb433010b |
|
BLAKE2b-256 | 2ddb74a5d546b638ee964f3052255f1f4203d4790dc05eabcf898952dd786c01 |
File details
Details for the file adam_assist-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: adam_assist-0.1.4-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.19.2 CPython/3.12.7 Darwin/23.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9bb5daa49ffa98b4b9ba0c9de375dd39a6c6ce8175076b0ca99a3047a7369ca |
|
MD5 | 900e3a14f0d594a6ca021fa7deffee6a |
|
BLAKE2b-256 | 03f1a28dabde97ccc2b6a006de6efef40e82a2099622c2861e87f41e29380aa4 |