hpparvi / PyTransit

Fast and easy exoplanet transit light curve modelling.
GNU General Public License v2.0
102 stars 24 forks source link
astronomy astrophysics exoplanet exoplanets light-curve-models python transit-model transiting-exoplanets

PyTransit

Licence MNRAS arXiv ASCL DOI

PyTransit: fast and versatile exoplanet transit light curve modelling in Python. PyTransit provides a set of optimised transit models with a unified API that makes modelling complex sets of heterogeneous light curve (nearly) as easy as modelling individual transit light curves. The models are optimised with Numba which allows for model evaluation speeds paralleling Fortran and C-implementations but with hassle-free platform-independent multithreading.

The package has been under continuous development since 2009, and is described in Parviainen (2015), Parviainen (2020a), and Parviainen & Korth (2020b).

from pytransit import RoadRunnerModel

tm = RoadRunnerModel('quadratic')
tm.set_data(times)

tm.evaluate(k=0.1, ldc=[0.2, 0.1], t0=0.0, p=1.0, a=3.0, i=0.5*pi)

tm.evaluate(k=[0.10, 0.12], ldc=[[0.2, 0.1], [0.5, 0.1]], t0=0.0, p=1.0, a=3.0, i=0.5*pi)

tm.evaluate(k=[[0.10, 0.12], [0.11, 0.13]], ldc=[[0.2, 0.1], [0.5, 0.1],[0.4, 0.2, 0.75, 0.1]],
            t0=[0.0, 0.01], p=[1, 1], a=[3.0, 2.9], i=[.5*pi, .5*pi])

Examples and tutorials

EMAC Workshop introduction video

EMAC Workshop PyTransit introduction video

RoadRunner transit model

RoadRunner (Parviainen, 2020a) is a fast exoplanet transit model that can use any radially symmetric function to model stellar limb darkening while still being faster to evaluate than the analytical transit model for quadratic limb darkening.

Transmission spectroscopy transit model

Transmission spectroscopy transit model (TSModel) is a special version of the RoadRunner model dedicated to modelling transmission spectrum light curves.

Documentation

Read the docs at pytransit.readthedocs.io.

Installation

PyPI

The easiest way to install PyTransit is by using pip

pip install pytransit

GitHub

Clone the repository from github and do the normal python package installation

git clone https://github.com/hpparvi/PyTransit.git
cd PyTransit
pip install .

Citing

If you use PyTransit in your reserach, please cite

Parviainen, H. MNRAS 450, 3233–3238 (2015) (DOI:10.1093/mnras/stv894).

or use this ready-made BibTeX entry

@article{Parviainen2015,
  author = {Parviainen, Hannu},
  doi = {10.1093/mnras/stv894},
  journal = {MNRAS},
  number = {April},
  pages = {3233--3238},
  title = {{PYTRANSIT: fast and easy exoplanet transit modelling in PYTHON}},
  url = {http://mnras.oxfordjournals.org/cgi/doi/10.1093/mnras/stv894},
  volume = {450},
  year = {2015}
}

Author