Meteoroid Ablation Models
metablate provides meteoroid ablation and atmospheric-entry models, MSIS
atmospheres, material presets, and plasma-density calculations.
Install
Install the latest published release:
pip install metablate
The bleeding-edge version is available with:
pip install git+https://github.com/danielk333/ablate.git
or trough cloning this repo.
Minimal ablation example
Run the Kero–Szasz (2008) model with a cometary meteoroid and the default
AtmPymsis atmosphere:
import numpy as np
from spacecoords import frames
import metablate.material as mat
import metablate.models.kero_szasz_2008 as ks
lat, lon = 67.0, 20.0
position = frames.geodetic_wgs84_to_ecef(lat, lon, 100e3, degrees=True)
direction = frames.azel_to_ecef(lat, lon, az=10, el=-45, degrees=True)
model = ks.KeroSzasz2008(
options=ks.KeroSzaszOptions(
material=mat.cometary,
atmosphere_kwargs=dict(as_dataset=False),
),
)
result = model.run(
parameters=ks.KeroSzaszInitialState(
epoch=np.datetime64("2018-06-28T12:45:33"),
position_ecef=position,
velocity_ecef=direction * 60e3,
mass=1e-6,
),
)
print(f"Runtime: {result.runtime:.3f} s")
Positions and velocities use ECEF coordinates in metres and metres per second; mass is in kilograms. Results include time, mass, velocity, temperature and position.
Atmospheres and computation
AtmPymsis uses pymsis, with MSIS 2.1 by default. Historical solar and geomagnetic
indices are downloaded and cached when not supplied. Setting as_dataset=False
in atmosphere_kwargs avoids constructing an xarray dataset at each solver step.
AtmMSISE00 is optional and requires the separate msise00 package and a Fortran
compiler; see its installation instructions.
Some functions use Numba to speed up subsequent calls. The first call
compiles the kernels, which are cached for subsequent runs. Set NUMBA_DISABLE_JIT=1
to run the same formulas in Python for debugging.
Examples
See docs/examples for e.g. ablation, fireball, alpha–beta and plasma examples. For example, after a repository checkout, generate an ablation sweep with:
python docs/examples/ablation_sweep.py --output ablation_sweep.png
Which produces this plot:
Development
From a repository checkout:
pip install -e .[tests]
# or pip install -e .[develop] for all dev packages
pytest
Metadata
Release files for metablate 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| metablate-0.4.0.tar.gz | 87.1 kB | Without provenance | Details for metablate-0.4.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| metablate-0.4.0-py3-none-any.whl | Python 3 | none | any | Details for metablate-0.4.0-py3-none-any.whl |
Total release size: 164.9 kB
Release files / metablate-0.4.0.tar.gz
| Download URL | metablate-0.4.0.tar.gz |
|---|---|
| Size | 87.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
25b12c96bbba7ed5c3b6c7b3c158d34dc709610e618be5466b7403d6fdc65639
|
|
BLAKE2b-256 checksum How to use checksums |
b142562585bedf59f6ed5eac7379d9776c0a038780d406f92d12b79fb4988103
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.17
|
Release files / metablate-0.4.0-py3-none-any.whl
| Download URL | metablate-0.4.0-py3-none-any.whl |
|---|---|
| Size | 77.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
13145d3b8b58b198167f343cbf8524a53050241429c737455202debe8a6d3704
|
|
BLAKE2b-256 checksum How to use checksums |
a2ddb9eeadc275473cf1cf5bb46f5217acd61621a07fd46e8bbdcd416fe7215d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.17
|
Security for metablate 0.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.