|
1 | 1 | # PyJKTEBOP: A simple JKTEBOP python interface |
2 | 2 |
|
3 | | -Compiles and runs the eclipsing binary fitting code JKTEBOP via a python script. Returns plots of the light curve (and radial velocity curve) and fit. Currently TASK3 (Levenberg-Marquardt minimisation) is supported, TASK 8 (Monte Carlo) and TASK9 (residual permutation) will follow in the near future. |
| 3 | +**PyJKTEBOP** is a simple, flexible Python interface for using the light curve fitting code [JKTEBOP](http://www.astro.keele.ac.uk/~jkt/codes/jktebop.html). |
4 | 4 |
|
5 | | -This interface uses JKTEBOP (version 43); for information visit [John's website](http://www.astro.keele.ac.uk/~jkt/codes/jktebop.html). |
| 5 | +The JKTEBOP fortran code fits models to light curves and radial velocities of **detached eclipsing binary stars**. |
| 6 | +The original code does not have plotting capability, which is where PyJKTEBOP comes in! |
6 | 7 |
|
| 8 | +PyJKTEBOP currently uses JKTEBOP version 43. |
7 | 9 |
|
8 | | -Compilation |
9 | | ------------ |
| 10 | +## Features |
| 11 | +- Compile and run JKTEBOP with Python |
| 12 | +- Run `TASK3` (Levenberg-Marquardt minimisation) with optional RVs |
| 13 | +- Run `TASK8` (Monte Carlo) and make a corner plot from the samples |
| 14 | +- Automatically take best parameters from `TASK8`, generate and plot the best model using `TASK3` |
| 15 | +- Customisable, auto-generated, publication standard plots via the included matplotlib style file |
| 16 | +- Scriptable or command-line interface |
10 | 17 |
|
11 | | -JKTEBOP is written in FORTRAN 77, so you will need to check you have a suitable compiler on your system. |
| 18 | +## Documentation |
| 19 | +PyJKTEBOP documentation can now be found on [ReadTheDocs](https://pyjktebop.readthedocs.io/en/latest/)! |
12 | 20 |
|
13 | | -You may need to modify the os.system() commands to suit your system. Quoting directly from JKTEBOP's documentation: |
14 | | - |
15 | | -> On a UNIX system and depending on your compiler use one of these commands: |
16 | | -> * g77 -o jktebop jktebop.f |
17 | | -> * g95 -o jktebop jktebop.f |
18 | | -> * gfortran -o jktebop jktebop.f |
19 | | -> * ifort -o jktebop jktebop.f |
20 | | -> |
21 | | -> For Windows systems please refer to your FORTRAN compiler user manual (or alternatively get rid of Windows and use Linux instead)." |
22 | | -
|
23 | | - |
24 | | -Running |
25 | | -------- |
26 | | - |
27 | | -In `pyjktebop.py` you should adjust the setup parameters `target`, `rerun`, `rv_fit` and `mag_shift` to suit your needs. PyJKTEBOP assumes your JKTEBOP files have the same base name, i.e. setting `target='llaqr'` implies your files have names 'llaqr.in', 'llaqr.dat', etc. |
28 | | - |
29 | | -To modify your fit parameters, change the values directly in the JKTEBOP configuration (.in) file. |
30 | | - |
31 | | -#### Simultaneous LC-RV fitting |
32 | | -PyJKTEBOP currently supports the JKTEBOP TASK3 routine with a light curve and optionally radial velocity data. Make sure your input files are labelled the same way as the example LL Aqr files in the JKTEBOP tarfile (see the [JKTEBOP website](https://www.astro.keele.ac.uk/jkt/codes/jktebop.html) to download the latest version): as before, with extensions -phot.dat, -rv1.dat and -rv2.dat. Read the JKTEBOP documentation for how to set up a fit with RVs. |
| 21 | +## Contributing |
| 22 | +Pull requests are welcome. |
0 commit comments