Skip to main content

Python package for ASTERIA - Asteroid Thermal Inertia Analyzer

Project description

pyAsteria - Python integration of Asteroid Thermal Inertia Analyzer (ASTERIA)

pyASTERIA is a Python package for estimating the thermal properties of near-Earth asteroids (NEAs) from a measured Yarkovsky semi-major axis drift (da/dt).

It provides a high-level Python interface to the ASTERIA Fortran core, wrapping its Monte Carlo inversion method in a pip-installable package. The python package offers easier access to the ASTERIA methods, allowing users to easily set parameters and run simulations. Dedicated functions to retrieve asteroid data from the ESA NEO Coordination Centre or the JPL Small Body Database are also available.

The underlying algorithm and physical model of ASTERIA are described in detail in Novaković et al. (2024). Original science applications are published in Fenucci et al. (2021), Fenucci et al. (2023), Novaković and Fenucci (2024), and Fenucci et al. (2025).

Installation

The python package can be installed through pip:

pip install pyasteria

Requirements: Python ≥ 3.12, numpy, requests, matplotlib. Pre-built wheels are provided for common platforms.

Quickstart

For a simple analysis, the following steps can be followed: 1) load ASTERIA into python; 2) get orbital parameters for the asteroid; 3) set rotation period; 4) run the simulation. The code for these steps, for asteroid (499998) 2011 PT, is reported below as an example.

import asteria

# Initialize simulation
sim = asteria.Simulation()

# Get parameters for asteroid (49998) 2011 PT
sim.set_neocc_asteroid('499998')

# Set rotation period
sim.mean_P = 0.1833
sim.std_P = 0.001

# Print on screen asteroid parameters and simulation parameters
sim.print_asteroid_parameters()
sim.print_simulation_parameters()

# Run thermal inertia estimation
sim.run()

# Read output files
K, G, rho, D, obli = sim.read_output_data()

asteria.plot_distribution(G, xlabel="Thermal Inertia", log_bins=True, filename='TI.png')

Features

  • Three Yarkovsky model variants — circular-orbit approximation, full elliptic single-layer, and full elliptic two-layer thermal model
  • NEA population priors — albedo, bulk density, diameter, and obliquity can be drawn from built-in population models when individual estimates are unavailable
  • Non-spherical shape corrections — correct the observed da/dt using either an axis ratio a/b or a lightcurve amplitude Δm
  • Live data access — fetch orbital elements and Yarkovsky parameters directly from ESA NEOCC or JPL SBDB
  • Parallelised core — the Fortran Monte Carlo engine supports multi-core execution via OpenMP

Documentation

Full API reference, user guide, and worked examples are available at:

📖 https://pyasteria.readthedocs.io

Fortran core

The Monte Carlo engine underlying this package is the ASTERIA Fortran software, developed within the D-NEAs project, funded by the Planetary Society STEP Grant 2021.

The Fortran source code is publicly available at: https://github.com/Fenu24/D-NEAs

License and authors

This is an open-source software released under the Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license, and it is developed and maintained by

References

Project details


Download files

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

Source Distribution

pyasteria-0.9.2.tar.gz (30.9 MB view details)

Uploaded Source

Built Distribution

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

pyasteria-0.9.2-py3-none-any.whl (31.7 MB view details)

Uploaded Python 3

File details

Details for the file pyasteria-0.9.2.tar.gz.

File metadata

  • Download URL: pyasteria-0.9.2.tar.gz
  • Upload date:
  • Size: 30.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pyasteria-0.9.2.tar.gz
Algorithm Hash digest
SHA256 26b8365c05255f5fee65e97571906980d914c3b81343c876498ad480c23e0a09
MD5 054ec950fb7716e38c184008211beecd
BLAKE2b-256 ad039e6e9953c4064c0128c60e6017342860881710d0dd8ef9e325b202ae9b64

See more details on using hashes here.

File details

Details for the file pyasteria-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: pyasteria-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 31.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pyasteria-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b76092aa226d80d87d68627d8083c8c3e93dd430617a5f0e0f79c560d20f3f9d
MD5 8504ca1ccec1bdb74a86037bd67867e4
BLAKE2b-256 9e98786d36e311e3bc453ec0572caacb1d39076fcf9bade79ee2bbb36b7c1f29

See more details on using hashes here.

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