Transit and Radial velocity Interactive Fitting tool for Orbital analysis and N-body simulations: The Exo-Striker
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 the GitHub, or send a PM to [email protected].
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.
Appart of 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 pip3.8 install, see above)
$ python3.11 exostriker_gui.py (inside of the git clone directory, see above)
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 the use of The Exo-Striker for your paper, I would appreciate it if you give 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 the 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):
https://github.com/mzechmeister/python
https://github.com/hippke/wotan
https://github.com/lkreidberg/batman
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
Additionally, the Exo-Striker uses many "standard" Python libraries like "PyQt5/PyQt6", "matplotlib", "numpy", "scipy", "dill", "Jupyter", "qtconsole", and more.
The Exo-Striker project was inspired by the Systemic project.
http://www.stefanom.org/systemic/
Scientific papers which one way or another made the use of the Exo-Striker (to my knowledge):