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.0rc3-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.0rc3-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.0rc3-cp313-cp313-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

adam_assist-0.4.0rc3-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.0rc3-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.0rc3-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.0rc3-cp312-cp312-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

adam_assist-0.4.0rc3-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.0rc3-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.0rc3-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.0rc3-cp311-cp311-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

adam_assist-0.4.0rc3-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.0rc3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c1401bda3b77533488e918ab8884e16236961e498aae0cdf4f8df0e16921bae9
MD5 f2c76089a1642fcf32c7bae453903492
BLAKE2b-256 f413f46f7b8da434720486ede344542d1e8ee5e02ac6b768af9aa527285d482e

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc3-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.0rc3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e63b4d2dd56fc19fd332000fc9bcb9a81d65525f3d5554ec6daa37dfcb1335b2
MD5 5d8a3e2b6ff9855cc2a6140a44f254a4
BLAKE2b-256 b844d2f5a9ff50dedec1a65232b0bfc39b2ebf8b1cd02ea614f1243e44cc4e77

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc3-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.0rc3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 495e1453add1ca39124683efe75bded0828a8a18ed0268b048943744886e05a2
MD5 eee4a648c4f9f081f5f1c87acaf58d74
BLAKE2b-256 f37f71c69346d20b721041ca117f926872bb84443405cc3f3d9741c896ed9488

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc3-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.0rc3-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d9fb417e1cf188c05b59b7e303f37c85c17e6b83a73a3f080aea0abee136f35a
MD5 eaa73b295f1dcd3f2a23b95ae7d05144
BLAKE2b-256 00a729b0e5682627ea6e043c59bb04114ed0ecd24997046ba849ecd1bad4c290

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc3-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.0rc3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 833f73c900c0fc3bb7a422e8622ee2653cfbfd79d71d510a07e73e8ef89a8904
MD5 8401da7bb58da3a65a6364806ca47f98
BLAKE2b-256 c5e65dc6a380e05761b4b8b09eff67977ce1abfeeaec48fc21b80552e9b65345

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc3-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.0rc3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 41fc1be00642b0a023fbdd322d054ed06abc70892169a122fed4e5b2cbd427a9
MD5 df9e42591ca9f192ada88eee499487e0
BLAKE2b-256 469782216af1d61548f6ad7f1b22c0b34ffe3260bd4bf3962f1a46d18a4658ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc3-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.0rc3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e285cb461a61e0f1fec26a72c3f8939812c1beea13662bba635c4ed8ddb7416a
MD5 b66bb28387772423a9e577953f6536f1
BLAKE2b-256 eda14f6d9fb8ecd1568146bbb7f9d15c6c0d8777068e37f611ee39595b4bed7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc3-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.0rc3-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8ed356ff8e44befe82823fcf0650aa1cc4fcfa5fe0806eadd7e99445e5716c92
MD5 91e9c719d4d4706df3d93567653160da
BLAKE2b-256 751c6f4d739ca5fd3fc1746f8de3630cdb2ebce6c01428209d73039a63c5da08

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc3-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.0rc3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 390355bf6edbf5d5d2b16f3ddee8619c2d0a4cd888017d9c04acbbf9b418f487
MD5 85cd871d7026aeff8ab9d7ba5d872fad
BLAKE2b-256 6fe8bdd6e8b5fc391aea36234f3cea1848a90f635fcb692a3bb18f91b4ed9305

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc3-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.0rc3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c8c75d12c94c4cacbf5406259c2ab299ba932a9c9551278be37f1d7402afb397
MD5 2b458d1b668ad5f2510e6b84a4e428fa
BLAKE2b-256 a07da0dd6270dad4d418d8ea6db6751a2b54c425e125b8e7993585f6421cbea6

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc3-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.0rc3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f87645027a9be6e118d00f49436ee323ee0ecb047818f67f0d2a380d9a0542d7
MD5 4376aef67c5359bf91b76d66ce17a8ca
BLAKE2b-256 238db09b10ca2cb938f59d6e841e7121a597fbd978d323e0a25b584183edc5d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc3-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.0rc3-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for adam_assist-0.4.0rc3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b406efe5ad02aadfafbcad1ed646eb117905a71c298c8f66ac640efea9d90714
MD5 4bbe9c0bd37796e75706e14d883d894b
BLAKE2b-256 88320cbb34bf505ad17b8441f6f724117e39decd18ef959745ce444a4909ff8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for adam_assist-0.4.0rc3-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