3fon3fonov / exostriker

Transit and Radial velocity Interactive Fitting tool for Orbital analysis and N-body simulations: The Exo-Striker
MIT License
121 stars 20 forks source link
exoplanet exoplanets multi-planet-systems periodogram radial-velocity transit-modeling ttv-modeling

Transit and Radial velocity Interactive Fitting tool for Orbital analysis and N-body simulations: The Exo-Striker

The Exo-Striker analyzes exoplanet orbitals, performs N-body simulations, and models the RV stellar reflex motion caused by dynamically interacting planets in multi-planetary systems. It offers a broad range of tools for detailed analysis of transit and Doppler data, including power spectrum analysis for Doppler and transit data; Keplerian and dynamical modeling of multi-planet systems; MCMC and nested sampling; Gaussian Processes modeling; and a long-term stability check of multi-planet systems. The Exo-Striker can also perform Mean Motion Resonance (MMR) analysis, create fast fully interactive plots, and export ready-to-use LaTeX tables with best-fit parameters, errors, and statistics. It combines Fortran efficiency and Python flexibility and is cross-platform compatible (MAC OS, Linux, Windows).

Documentation, Instructions, and Tutorials

Developer

What works:

What is to be implemented:

Feedback and help in further development will be highly appreciated! A wish list with your favorite tools and methods to be implemented is also welcome!

Just open an "Issue" on GitHub or send a PM to trifonov@mpia.de.

Installation

Python3.11+ is strongly recommended!!! The Exo-Striker works with older Python3 versions, and even Python2, but you will likely have problems with some dependencies, which you may have to solve. If your system Python3 is 3.10 and below, it is recommended to not upgrade the python3, but to install python3.10 alongside your system python3.

Apart from Python3.10/3.11 make sure you have 'gcc', 'gfortran', and 'csh', which will be needed for compiling some of the important binaries!

See README_install.md for further instructions.

Usage

$ exostriker (in case of system-wide install, see above)

$ python3.11 -m exostriker (inside of the git clone directory, see above, and also README_for_installation.md)

In [1]: import exostriker

In [1]: import exostriker.lib.RV_mod as rv

(However, one must be familiar with the functions and the 'fit' object... A manual is planned but not available at the moment.)

Credit

If you made use of The Exo-Striker for your paper, I would appreciate it if you gave credit to it. As it is unlikely that I will find time to write a refereed paper on The Exo-Striker soon, please cite the tool with its ASCL ID ascl:1906.004 (see https://ascl.net/1906.004).

The Exo-Striker relies on many open-source packages, which if you had made use of (some of) them while working with the tool, you should acknowledge too. (It is your responsibility to find the correct references in the literature):

http://www.pyqtgraph.org/

https://github.com/mzechmeister/python

https://github.com/hippke/tls

https://github.com/hippke/wotan

https://github.com/lkreidberg/batman

https://github.com/dfm/emcee

https://github.com/joshspeagle/dynesty

https://github.com/mindriot101/ttvfast-python

https://github.com/mfitzp/15-minute-apps/tree/master/wordprocessor

https://github.com/Axel-Erfurt/PyEdit2

https://www.boulder.swri.edu/~hal/swift.html

http://www.stefanom.org/systemic/

Scientific papers which one way or another made use of the Exo-Striker (to my knowledge):

Check in ADS