Skip to main content

Exomoon transit detection algorithm

Project description

Logo

Fast open-source exomoon transit detection algorithm

pip Documentation Image Image

Named after the imaginary 5th moon of the gas giant Polyphemus, orbiting Alpha Centauri A, in the film Avatar.

Pandora employs an analytical photodynamical model, including:

  • Stellar limb darkening
  • Full and partial planet-moon eclipses
  • Barycentric motion of planet and moon

To search for moons, Pandora can used with nested samplers, e.g. UltraNest or dynesty. We will provide an example workflow for injection and retrievals soon. Pandora is fast, calculating 10,000 models and log-likelihood evaluation per second (give or take an order of magnitude, depending on parameters and data). This means that a retrieval with 250 Mio. evaluations until convergence takes about 5 hours on a single core. Scaling with cores is worse than linear. For searches in large amounts of data, it is most efficient to assign one core per lightcurve.

Create transit lightcurve

import pandora
params = pandora.model_params()
params.per_bary = 365.25  # [days]
# (...) See tutorials for list of parameters
time = pandora.time(params).grid()
model = pandora.moon_model(params)
flux_total, flux_planet, flux_moon = model.light_curve(time)

plt.plot(time, flux_planet, color="blue")
plt.plot(time, flux_moon, color="red")
plt.plot(time, flux_total, color="black")
plt.show()

lc

Create video

With Pandora, you can create transit videos to understand, teach, and explore exomoon transits. Try it out:

video = model.video(
    time=time
    limb_darkening=True, 
    teff=3200,
    planet_color="black",
    moon_color="black",
    ld_circles=100
)
video.save(filename="video.mp4", fps=25, dpi=200)

Videos approximate the true lightcurve as calculated by Pandora very well. They are, however, not pixel-perfect due to the underlying Matplotlib render engine. Klick the image to view the video:

Video

Installation

Install with pip install pandora-moon. If you end up in dependency hell, set up a fresh environment:

conda create -n pandora_env python=3.9
conda activate pandora_env
conda install numpy matplotlib numba 
pip install pandora-moon

For sampling, the following packages will be useful:

conda install cython scipy
pip install ultranest dynesty h5py

Attribution

Please cite Hippke & Heller (2022, A&A in press) if you find this code useful in your research. The BibTeX entry for the paper is:

@ARTICLE{
}


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

pandoramoon-1.2.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

pandoramoon-1.2-py3-none-any.whl (28.8 kB view details)

Uploaded Python 3

File details

Details for the file pandoramoon-1.2.tar.gz.

File metadata

  • Download URL: pandoramoon-1.2.tar.gz
  • Upload date:
  • Size: 27.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.7

File hashes

Hashes for pandoramoon-1.2.tar.gz
Algorithm Hash digest
SHA256 80e393a3a26b3984aff808bb7f35984aad7fce164befa0d77351dd69abbf38ed
MD5 f1a0068c4f168d863922c1cd18064eaa
BLAKE2b-256 e7bae5d4c1dd5e5efbfefd04e22b6cd0a88c05c3db8a7ad5cd87dab7bd2065fb

See more details on using hashes here.

File details

Details for the file pandoramoon-1.2-py3-none-any.whl.

File metadata

  • Download URL: pandoramoon-1.2-py3-none-any.whl
  • Upload date:
  • Size: 28.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.7

File hashes

Hashes for pandoramoon-1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c7e08575dba1965c04f1067f32650db6ae87b25f171fddb75102983dba415d29
MD5 308408d35d38e224519ee238e1708f5a
BLAKE2b-256 88e29e274ff1af76c2ee13aba3cfafa1e1c53000f855a42ea4c35a33191b7d86

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page