exostriker

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

https://github.com/3fon3fonov/exostriker

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.7%) to scientific vocabulary

Keywords

exoplanet exoplanets multi-planet-systems periodogram radial-velocity transit-modeling ttv-modeling
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
  • Host: GitHub
  • Owner: 3fon3fonov
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 90.9 MB
Statistics
  • Stars: 124
  • Watchers: 8
  • Forks: 21
  • Open Issues: 11
  • Releases: 0
Topics
exoplanet exoplanets multi-planet-systems periodogram radial-velocity transit-modeling ttv-modeling
Created over 7 years ago · Last pushed 10 months ago
Metadata Files
Readme License Citation

README.md

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

Read the Docs PyPI - Version GitHub Release

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

  • Trifon Trifonov, MPIA Heidelberg.
  • with contributions by Matheus J. Castro, Deyan P. Mihaylov, Jakub Morawski, Mathias Zechmeister, Man Hoi Lee, Stefan Dreizler, Grigorii Smirnov-Pinchukov, Stephan Stock, Jonas Kemmer, Harry Psarakis, Tom Schiwy, and Desislava Antonova.

What works:

  • RV signal and alias search: via GLS periodogram & maximum lnL periodogram (MLP).
  • Transit signal search (via "TLS").
  • Interactive transit photometry detrending (via "wotan").
  • Keplerian and Dynamical modeling of RV & Transit photometry exoplanet data.
  • Joint RVs + Transit + GPs best-fit optimization (internal Fortran Simplex and L-M minimizers, or many more via "SciPyOp").
  • Joint RVs + Transit + GPs MCMC/Nested Sampling (via "emcee" & "dynesty")
  • TTVs extraction.
  • TTVs and/or joint TTVs + RVs analysis.
  • Relative astrometry fitting.
  • GP modeling (via "celerite").
  • Linear models for detrending ground-based transit photometry.
  • Activity index signal search via GLS periodogram.
  • RVs vs. Activity time-series correlation analysis/plots.
  • RV auto-fit (RV automated planet-finder algorithm).
  • Interactive data binning, clipping, outlier removal, etc.
  • Fit for apsidal orbital precession, or apply General Relativity (GR) precession.
  • Instant online access to the "RVBank" database (over 252,000 RVs and activity indices of about 3000 HARPS stars & over 64,000 RVs and activity indices of about 1700 HIRES stars !!!).
  • Instant AMD stability check for multiple planetary systems (including during optimization or MCMC/Nested Sampling).
  • Long-term stability check of multiple planetary systems using SyMBA, MVS, and MVS with a GR precession.
  • Fully interactive, super-fast, high-quality, exportable plots.
  • Handy "cornerplot" GUI control.
  • Import/Export of work sessions and multi-sessions.
  • Export plots to a matplotlib window for further customization.
  • Export ready-to-use LaTeX tables with best-fit parameters, errors, and statistics.
  • Handy text editor and calculator tools.
  • Multi-platform: It works on MAC OS (10.6+), Linux (Suse, Mint, Ubuntu, etc.) and Windows 10/11.
  • Integrated Bash shell (Linux only).
  • Integrated Jupyter shell.
  • Integrated AI Boot (via openai GPT-3 -- ChatGPT, but user openAI key must be provided).
  • Importable as a standard python library (i.e., "import exostriker").
  • Print the GUI screen into a .jpeg/.png image (useful for sharing quick results, just like the image above).
  • Direct import of TESS & K2 lc.fits, and CHEOPS *SCI_COR.fits files.
  • Combined modeling with Hipparcos and Imaging Astrometry (but is still a work in progress to be ready for Gaia).

What is to be implemented:

  • Larger arsenal of N-body/dynamical simulation/analysis tools (+ "REBOUND" is planned to be included).
  • Internal TTV and photo-dynamical modeling (i.e. the external "TTVFast" will become a secondary option).

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.10+ 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.1X alongside your system python3.

Apart from Python3.10+ make sure you have 'gcc', 'gfortran', and 'csh', which will be needed for compiling some of the important binaries! Some systems do not have the python3.1X-dev so you make sure you have it, in case the Exo-Striker does not want to compile!

See README_install.md for further instructions.

Usage

  • To load the GUI, on a bash shell type:

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

  • or just do:

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

  • If you want to use the library on the Python shell/script

In [1]: import exostriker

  • or e.g., to load the RV routines:

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

  • Remember! Every button/action of the GUI is a wrapper of a convenient Python routine. Thus scripting is very easy:

(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):

  • The interactive plotting is done with a custom version of the "pyqtgraph":

http://www.pyqtgraph.org/

  • "GLS" and "MLP" periodograms are taken from Mathias Zechmeister's repo:

https://github.com/mzechmeister/python

  • "TLS" and "wotan" are taken from:

https://github.com/hippke/tls

https://github.com/hippke/wotan

  • The transit modeling is done with "batman":

https://github.com/lkreidberg/batman

  • MCMC sampling is done with "emcee":

https://github.com/dfm/emcee

  • Nested Sampling is done with "dynesty":

https://github.com/joshspeagle/dynesty

  • TTV models are adopted from "TTVfast-python":

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

  • The "Text editor" used in the tool is a hack between "Megasolid Idiom" and "PyEdit2":

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

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

  • N-body tests are performed using a custom version of the "Swift" N-body library, modified by Man Hoi Lee (HKU) and Trifon Trifonov (MPIA).

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 use of the Exo-Striker (to my knowledge):

Check in ADS

Owner

  • Name: Trifon Trifonov
  • Login: 3fon3fonov
  • Kind: user
  • Location: Germany
  • Company: MPIA Heidelberg

Citation (CITATION.cff)

cff-version: 1.2.0
title: >-
  The Exo-Striker: Transit and radial velocity interactive fitting tool
  for orbital analysis and N-body simulations
message: >-
  If you made the use of The Exo-Striker, I would appreciate it if you
  give credit.
type: software
date-released: 2019-06-01
authors:
  - family-names: Trifonov
    given-names: Trifon
    email: trifonov@mpia.de
    orcid: 'https://orcid.org/0000-0002-0236-775X'
identifiers:
 - type: 'ascl-id'
   value: '1906.004'
 - type: 'bibcode'
   value: '2019ascl.soft06004T'
repository-code: 'https://github.com/3fon3fonov/exostriker'
abstract: >-
  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 analyze 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). The tool relies on a
  number of open-source packages, including RVmod engine,
  emcee (ascl:1303.002), batman (ascl:1510.002), celerite
  (ascl:1709.008), and dynesty (ascl:1809.013).
license: MIT

GitHub Events

Total
  • Issues event: 10
  • Watch event: 2
  • Issue comment event: 11
  • Push event: 20
  • Pull request event: 4
  • Fork event: 1
Last Year
  • Issues event: 10
  • Watch event: 2
  • Issue comment event: 11
  • Push event: 20
  • Pull request event: 4
  • Fork event: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 6
  • Total pull requests: 2
  • Average time to close issues: almost 2 years
  • Average time to close pull requests: about 18 hours
  • Total issue authors: 6
  • Total pull request authors: 1
  • Average comments per issue: 2.83
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 2
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 18 hours
  • Issue authors: 3
  • Pull request authors: 1
  • Average comments per issue: 3.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • 3fon3fonov (4)
  • ZaharievaEvelina (1)
  • Matt-Standing (1)
  • RubiscoYHY (1)
  • Astrocyy (1)
  • rakovskaiaia (1)
  • sgongar (1)
  • ccifuentesr (1)
  • jvines (1)
Pull Request Authors
  • MatheusJCastro (3)
  • 3fon3fonov (2)
  • Nandini-ESO (1)
  • astronasko (1)
Top Labels
Issue Labels
bug (4) help wanted (4) good first issue (3) external package problem (2) enhancement (1) wontfix (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 88 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 23
  • Total maintainers: 2
pypi.org: exostriker

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

  • Documentation: https://exostriker.readthedocs.io/
  • License: MIT License Copyright (c) 2018 Trifon Trifonov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  • Latest release: 0.93.81
    published 10 months ago
  • Versions: 23
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 88 Last month
Rankings
Stargazers count: 8.2%
Forks count: 10.8%
Dependent packages count: 10.8%
Average: 22.7%
Dependent repos count: 61.0%
Maintainers (2)
Last synced: 6 months ago

Dependencies

exostriker/lib/pyqtgraph/doc/requirements.txt pypi
  • numpy *
  • pyopengl *
  • pyside2 *
  • sphinx ==3.4.3
  • sphinx_rtd_theme ==0.5.1
exostriker/lib/pyqtgraph/setup.py pypi
  • numpy >=1.17.0
exostriker/lib/word_processor_es/requirements.txt pypi
  • PyQt5 >=5.6