Skip to content
AstroMusersPublic

About

Computational framework to model exoplanetary radio emission as a probe of planetary magnetism

Resources

Stars

2 stars

Watchers

2 watching

Forks

Latest commit

 

History

238 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aegis

Aegis predicts exoplanet radio emission from the cyclotron maser instability. It propagates uncertainty in stellar winds, planetary spin, and magnetic fields to predict emission frequencies and fluxes, then compares those distributions with telescope sensitivities.

Installation

The required packages are listed in environment.yml and requirements.txt.

Repository paths

AEGIS_PATH points to the Aegis checkout used by the analysis scripts. When it is unset, Aegis uses the directory containing repository_paths.py. The checkout's data/ and visuals/ directories are ignored by Git for local inputs and generated figures.

Example use

Start with a NASA Exoplanet Archive table containing the required system parameters. Save it as NASA[sample].csv, where [sample] is usually the download date in DDMM format. The scripts use that sample label to connect their inputs and outputs.

Radio catalog

We publish predictions for five selected targets in a searchable radio catalog. The page sorts by target, maximum frequency, or predicted flux and filters by name and frequency.

Rebuild the site data from append_table.csv with this command.

python publish_radio_catalog.py --check-physicality

The catalog is published at https://astromusers.github.io/aegis/ when the GitHub Pages environment is enabled for this repository.

A repository maintainer can enable GitHub Pages with GitHub Actions as the publishing source in Settings > Pages, then rerun the Publish Aegis radio catalog workflow. Generating the CSV and JSON alone does not enable hosting.

Calculations

Planetary spin

rotation_script.py samples exoplanet spin angular momenta from the Solar System distribution in rotation.csv. The resulting spin distribution enters the planetary magnetic-field and radio-emission calculations.

Stellar wind

wind.py calculates the stellar-wind temperature and speed at each planet's orbit with an isothermal Parker wind model (Parker 1958). It reads the NASA Exoplanet Archive sample and writes stellar_wind_predictions_[sample].tsv for the radio-emission calculation.

Radio emission

exoplanet_predictions.py propagates uncertainties in NASA Exoplanet Archive measurements through the magnetic-field and radio-emission models with Monte Carlo sampling. It calculates predictive distributions of emission frequency and radio flux density for each target.

Magnetic-field inference

For a detected cyclotron-maser cutoff, magnetic_field_inference.py estimates the surface field from Aegis's cutoff-frequency relation and a Gaussian measurement likelihood. Install the dependencies in requirements.txt, then run the explicitly synthetic example with python examples/infer_magnetic_field.py. The fit uses a uniform magnetic-field prior and complements the forward Monte Carlo predictions with an observation-driven estimate.

The cutoff-inference notebook passes two seeded synthetic measurements through infer_surface_field() and displays the resulting PCAT posterior intervals and distributions. The notebook illustrates likelihood and sampling. Its short chains are too brief to assess convergence.

Posterior field distributions for two explicitly synthetic radio-cutoff measurements

The calculation requires the exoplanet archive table in comma-separated value format. We use 10,000 Monte Carlo samples. For a quicker exploratory run, lower the sample count. The script also writes df1.csv and all.npz for the population figures. These draws carry stated measurement uncertainties and the empirical Solar System spin distribution through a forward model. magnetic_field_inference.py estimates the surface field from an observed cutoff frequency.

Emission and observability figures

plotter.py plots the Monte Carlo predictive emission-frequency and radio-flux distributions from df1.csv and all.npz. The nenufar.npz and sensitivities.csv inputs add the sensitivity limits of NenuFAR and other radio telescopes.

Install Bokeh to create an interactive target view with hover values, uncertainty bars, and telescope sensitivity curves. Save the returned figure as HTML using this code.

from bokeh.io import output_file, save
from plotter import df, scatter_plot_bokeh, x_err, y_err

output_file("visuals/aegis_radio_predictions_bokeh.html")
save(scatter_plot_bokeh(df, "both", y_err, x_err))

The saved interactive prediction plot contains the same 1,111 pipeline-predicted target rows used by the static view. It is self-contained and can be opened offline. Plot uncertainties must have complete, real lower and upper vectors. Masked, complex, or malformed bounds raise an error before they can become misleading error bars.

outcome_dist_hists() and scatter_plot() use white backgrounds with black axes by default. Pass typeplotback='dark' for black backgrounds with white axes, including saved figures. They also inherit an enclosing TDpy plot_style() theme without changing later plots.

parker_spiral.py plots the interplanetary magnetic-field component at the orbit of tau Boo b from taub_wind.npz. visibility.py maps maximum elevation and time above 20 degrees for the considered telescopes using obs_table.csv. radius_valley.py compares the planetary radii and predicted magnetic-field strengths in Output Tables/all.csv. sketch.py draws the magnetized-exoplanet geometry.

Monte Carlo sensitivity

does_it_make_a_difference.py quantifies how Monte Carlo uncertainty propagation changes the predicted radio-emission distributions relative to calculations based only on nominal input values.

Output tables

exoplanet_predictions.py writes radio flux densities and maximum emission frequencies for the magnetic, kinetic, and combined radiometric Bode-law predictions. Output Tables/all.csv contains the combined predictions and uncertainties for every exoplanet. Five additional tables divide the targets by predicted frequency. The text tables under Old Result Tables sort potentially visible candidates by name, frequency, and flux density.

extract.py writes obs_table.csv, append.py writes append_table.csv for the radio catalog, and visibility.py writes the manuscript table final-table.csv.

Known limitations

Known limitations are summarized in known_problems.md.

Acknowledgements

The development of aegis has been supported by the McDonnell Center for Space Sciences at Washington University in St. Louis.

About

Computational framework to model exoplanetary radio emission as a probe of planetary magnetism

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages