Skip to main content

ADAM Core propagator using the Rust ASSIST backend

Project description

adam-assist

PyPI - Version PyPI - Python Version


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

Native wheels support CPython 3.11-3.13 on manylinux 2.17+ x86-64/AArch64 and macOS Apple silicon/Intel. Windows is currently unsupported because libassist-sys 1.2.1 wraps upstream ASSIST code that requires POSIX sys/mman.h memory mapping; no Windows port is bundled. Musllinux is also unsupported.

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 Rust-backed ASSISTPropagator 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_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_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

ASSISTPropagator.generate_ephemeris performs propagation, light-time geometry, optional covariance sampling/collapse, aberration, and photometry in the Rust backend behind one public Python call. Local parallelism uses Rayon rather than adam-core's former Python/Ray composition.

from adam_core.orbits.query.sbdb import query_sbdb
from adam_core.time import Timestamp
from adam_core.observers import Observers
from 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)

Configuration

When initializing the ASSISTPropagator, you can configure several parameters that control the integration. These parameters are passed directly to REBOUND's IAS15 integrator. The IAS15 integrator is a high accuracy integrator that uses adaptive timestepping to maintain precision while optimizing performance.

  • min_dt: Minimum timestep for the integrator (default: 1e-12 days)
  • initial_dt: Initial timestep for the integrator (default: 0.001 days)
  • epsilon: Controls the adaptive timestep behavior (default: 1e-6)
  • adaptive_mode: Controls the adaptive timestep behavior (default: 1)

These parameters are passed directly to REBOUND's IAS15 integrator. The IAS15 integrator is a high accuracy integrator that uses adaptive timestepping to maintain precision while optimizing performance.

Example:

propagator = ASSISTPropagator(
  min_dt=1e-12,
  initial_dt=0.0001,
  epsilon=1e-6,
  adaptive_mode=1
)

When initializing the ASSISTPropagator, you can configure several parameters that control the integration. These parameters are passed directly to REBOUND's IAS15 integrator. The IAS15 integrator is a high accuracy integrator that uses adaptive timestepping to maintain precision while optimizing performance.

Default SPK Files

The asteroids SPK file sb441-n16.bsp contains the 16 largest asteroids in the solar system. They are listed here by number for reference:

1 Ceres 3 Juno 4 Vesta 7 Iris 10 Hygiea 15 Eunomia 16 Psyche 31 Euphrosyne 52 Europa 65 Cybele 70 Panopaea 87 Sylvia 88 Thisbe 107 Camilla 511 Davida 704 Interamnia

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

adam_assist-0.4.0rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

adam_assist-0.4.0rc1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

adam_assist-0.4.0rc1-cp313-cp313-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

adam_assist-0.4.0rc1-cp313-cp313-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

adam_assist-0.4.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

adam_assist-0.4.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

adam_assist-0.4.0rc1-cp312-cp312-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

adam_assist-0.4.0rc1-cp312-cp312-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

adam_assist-0.4.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

adam_assist-0.4.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

adam_assist-0.4.0rc1-cp311-cp311-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

adam_assist-0.4.0rc1-cp311-cp311-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

Details for the file adam_assist-0.4.0rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83a0d16b362dc46bef2ca8afa74b310ceb530c156352a9acef1498b96b714e75
MD5 0865d3b0e0e00feae59cdff5e4bbbbcb
BLAKE2b-256 90fe0c6acbfe3bb2a53c0ac2ce7338229809400b912407cd7950e76fc3066011

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam-assist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_assist-0.4.0rc1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 28dcdb33a7689b2019d4045d3d1d08f63c6ed66ec4354ebdbb71909936550fbb
MD5 0eb04fa9e90f8a133df2d230e2017e4b
BLAKE2b-256 f0221bb3c3d59800634a3e0fe477c82794e05e455739d165bf4aef0e8c2cba43

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam-assist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_assist-0.4.0rc1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6251cc8d494f9bc53836bffdbdbc4b3d6b24980a5a2361172ce82110f5797c2f
MD5 0934ef562479b4412cf780061c1af473
BLAKE2b-256 e81ac0c3eaf0f9c0db423d803902d032588c0eb583f74e821afb321dbfb7a70e

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam-assist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_assist-0.4.0rc1-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 37208884c3ddbfcb18df872bede87bce84fd01e369a67144c378a6c80736fcb3
MD5 2edb18f2f32a353c5cfe8d2bc83dfbe2
BLAKE2b-256 5abd9b2561b37317c06d76a66c95b81dc1613a9853312959d097f9f02dfe5406

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc1-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam-assist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_assist-0.4.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51c111b0e33eed04d5078659cfa660a33be67d8b2b9057130c0476fd4fad110f
MD5 80d08bfa6ba0bf80d4283a6ade1f8b2a
BLAKE2b-256 649a21ec944674d79e93c4f18d76c51a959edd5fdee7b8d6888c9dff1645628a

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam-assist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_assist-0.4.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 497eeb45cadee9eb8a94e5c3c9e703158fc467ea0d71ea55d6e2b42e50a44292
MD5 b8f8c37b77604cc469b951f4d5b2cc23
BLAKE2b-256 2746ddafe634776cdb2215b7ff7deba225bb9457dc422063b097d899c31e8c9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam-assist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_assist-0.4.0rc1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a2bc915895f5d1d1f2a4fb06dfe0c27095b4667088cd5838ce7357907331ee6
MD5 700544a457636c4201311d9684c837a4
BLAKE2b-256 b9fe2128668517604adcfc3f8eae16d9d2505547af1944fe2a2d33f59f3fda39

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam-assist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_assist-0.4.0rc1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1b7c2001770c6c6ceb4e6ad3fa67e51dbaea39a3a258694e457386a1c77692ec
MD5 5b23ef36f0e516be8e3e487447b8e547
BLAKE2b-256 d5633dc8408d9955ec6a84559fe9bc07f4207600325679889ae492215622b159

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc1-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam-assist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_assist-0.4.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 57bfaf7acdd895efc2ff16d408cc2ba8f671aac608d72461766671d375102f63
MD5 22959e7ba9b404a86dea97335447d1b7
BLAKE2b-256 73102f5bb47681a83e3c69a3f643a3ac6a611fbffdff7e1b3d061eb8372f9a45

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam-assist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_assist-0.4.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4c12c8c6048169cad26365dc146fb93091dd3d9884cd66380ed7205e81bfcc1f
MD5 1895c96c5349e873f327cb0df59ab23f
BLAKE2b-256 8061267b2366df428f93f90c3db270891853f7a3806afa16b8735208519ce44f

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam-assist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_assist-0.4.0rc1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a3d505123e245e6182c679e355b407a66321983cbfbf89a311aaec171be39122
MD5 c2914cd59b5b6e8de362d3b93ec14d6a
BLAKE2b-256 522550119a55b23f1ddf326a097c468cf662529aba33b6ac60f09b4074810ead

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam-assist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file adam_assist-0.4.0rc1-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a5f0d8fc95eb60650f9d8c7a1fec5222f4e4ab1f42761f7ede4768131008d653
MD5 41e3be404c09fb907531ce644a5fd7ac
BLAKE2b-256 2e29aff52a036aecce9ebab1ea2fd092995987d8dd51041d8e229badc6e89f71

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc1-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: publish.yml on B612-Asteroid-Institute/adam-assist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page