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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pandoramoon-1.0.tar.gz
Algorithm Hash digest
SHA256 8756975d4fb4c502b7634dfa7fe37085ff7ce9f25b043d9f59b2c756508c8edc
MD5 305715f223803256b6990b9ac2dee2d1
BLAKE2b-256 511abdb8ec9f4a9d2bfdf79bbee34e8999afffb541f993b3de20804cfe9db9bf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pandoramoon-1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 123dc27f44d27911dc6b4958854ab9ab319bb7d0090c5472d32d959bd88578df
MD5 c81bc0fb313f65bb61b8c6ca33a5597b
BLAKE2b-256 a457e11a31344c448c584ee60bff7dba72358133994c378a89044152afee7639

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