PyORBIT#

a code for exoplanet orbital parameters and stellar activity.#

GitHub PyPI version fury.io

PyORBIT is a robust, versatile framework for the characterization of planetary systems. With PyORBIT you can model light curves, radial velocities, activity indexes, and transit time variations. In addition to the exoplanet signature, you can add to your model instrumental systematics and stellar activity, including Gaussian processes regression with a variety of kernels. Both Markov Chain Monte-Carlo samplers and Nested Sampling algorithms are supported. Different parametrization can be used for orbital parameters, and orbits can be computed using dynamical integration or just non-interacting Keplerians. For every parameter in the model, it is possible to set a prior, explore it in linear or logarithmic space, or keep it fixed if necessary. Thanks to abstraction, it is virtually possible to implement any physical model you can think of.

Every information you need to analyze your data is contained in an easy-to-use and portable configuration file in the yaml format. Alternatively, for easy automatization, PyORBIT can be called as a Python function by passing a dictionary instead of a configuration file.

Updates on version 10#

  • Improved speed After several failed attempts, I finally managed to apply the advice from the emcee parallelization page to the rather complex structure of PyORBIT. The speed-up is noticeable for large datasets (e.g., photometry)

  • Rossiter McLaughlin Rossiter McLaughlin effect can now be precisely modelled using the CCF simulation approach employed in Covino et al. 2013. When the rotation period is known - together with the stellar radius - the stellar inclination can be derived avoiding the bias reported by Masuda & Winn 2020

  • Multidimensional Gaussian Process The model was introduced a few years back, but now it can finally take advantage of improved parallelization

  • tinyGP for better performances Working on both classic and multidimensional Gaussian Processes, although the former is showing some JAX problems when producing the output results.

No back-compatibility

Version 10 is not compatible with the results obtained with version 9. If you have been using the development version of V10, you may run into incompatibility issues as well.

Warning

I must have done something wrong when upgrading to version 10, if you already downloaded the repository before the upgrrade then I advise to to delete the repo and clone it again.

Documentation updates#

Documentation is being updated slowly but steadily, with new pages appearing every week. Below you can check which pages have been updated recently (last update: 28/07/2023).

  • Quickstart

    • Radial velocities

    • Lightcurve analysis

    • Combined fit

  • Data modeling

    • Planetary RV signal

    • Correlated datasets

    • Gaussian processes regression in progress

    • Multidimensional GPs

    • TinyGP caveats new

    • CHEOPS detrending coming soon

    • Polynomial coming soon

    • Lightcurve detrending

Tip

The configuration files used in this documentation can be found at this repository

References#

If you find PyORBIT useful for your work, please cite Malavolta et al. (2016) and Malavolta et al. (2018).

Some background#

PyORBIT started in 2015 as an exercise to learn Python (2), and also because at the time the only publicly available code for the Bayesian analysis of RVs was written in IDL, for which I didn’t have a license. Since then I’ve been adding new options every time I needed, and I kept updating the code while improving my Python skills.

If you are wondering what PyORBIT stands for: I am bad at acronym creation so I decided to write it with capital ORBIT just because I liked how it looked. Feel free to submit your retrofitting acronym!

PyORBIT has been now converted and tested for Python 3 for a while, back compatibility with Python 2 is not guaranteed anymore at least since version 8.0. If you haven’t done it already, I strongly suggest you move to Python 3.

Table of contents#

forthebadge made-with-python

This documentation has been rendered using the Sphinx Book Theme and the Myst parser