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.1.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

pandoramoon-1.1-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pandoramoon-1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 fe615bf1c5f84e752937d106134027fb8c1aacb937365f144265afbefcf20cd0
MD5 77d744e993e49c55087440d3b9924f45
BLAKE2b-256 604da76acf5b511449c370efd09cd057456a7ae0f08b11068e8810a5ee3ed80a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pandoramoon-1.1-py3-none-any.whl
  • Upload date:
  • Size: 28.7 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d0b9ff407d2c9874ce778250ae18ba34ccb83831f95d50cb613d03a981b52c02
MD5 ffc2fb06a2f60b47ffa4e80c18df6753
BLAKE2b-256 33cd17fceb37871a0bc5518100831b6b728748143517ff14b7195573c8716561

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