Skip to content

Latest commit

 

History

History
109 lines (76 loc) · 5.4 KB

File metadata and controls

109 lines (76 loc) · 5.4 KB

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