Skip to main content

Python package for ASTERIA - Asteroid Thermal Inertia Analyzer

Project description

pyASTERTIA - 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) and Fenucci et al. (2023).

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

References

If you use ASTERIA in published work, please cite the software paper:

  • B. Novaković, M. Fenucci, D. Marčeta, and D. Pavela (2024). ASTERIA — Asteroid Thermal Inertia Analyzer. Planetary Science Journal, Vol. 5, No. 11. doi:10.3847/PSJ/ad08c0

Additional papers using this code:

  • M. Fenucci, B. Novaković, D. Vokrouhlický, and R. J. Weryk (2021). Low thermal conductivity of the super-fast rotator (499998) 2011 PT. Astronomy & Astrophysics, 647, A61. doi:10.1051/0004-6361/202039628

  • M. Fenucci, B. Novaković, and D. Marčeta (2023). The low surface thermal inertia of the rapidly rotating near-Earth asteroid 2016 GE1. Astronomy & Astrophysics, 675, A134. doi:10.1051/0004-6361/202346280

License and authors

The D-NEAs 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.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-py3-none-any.whl (31.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyasteria-0.9.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.tar.gz
Algorithm Hash digest
SHA256 50201aded8c601d1cd3f00bbef277ceb431b1a018527f8504d35849ac94c1db9
MD5 3c99a498f1e058fdbd4b7be51edb9b63
BLAKE2b-256 e8d238721c0c08e01d9c19a3eb3deffbd43825f2db6bb40b8a665b077f068486

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyasteria-0.9-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-py3-none-any.whl
Algorithm Hash digest
SHA256 3add4175ed41e9f3ea263e9ad0291e28a105f5af683c9d7b3fdeec72fdc3c692
MD5 86dd57569b5fab0803150d85a427e604
BLAKE2b-256 4b4254b4c9e35a34f8ce9a67b8c6be02a36af4575d0b9066165dcd39401ffbb3

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