Computer codes for eclipsing binaries and transiting planets


On this page are several computer codes which are useful for studying eclipsing binaries stars and transiting planetary systems. They are written in FORTRAN 77. The source codes are reasonably well commented but documentation is limited, so some knowledge of the subject is needed to use them. I am happy to receive straightforward queries, improvement suggestions, and bug reports. My email address is on the main page.

Everything on this website is provided in the hope that it is useful, but I cannot accept responsibility for any problems which result from their use. You are welcome to use the codes for published work, in which case I would be very grateful for a citation to any of my papers.

Programming language and compiler

The codes are written in essentially standard FORTRAN 77. I use the g95 and gfortran compilers, and check my code using the Intel ifort compiler. I used to use only the Gnu Fortran g77 compiler, but this is no longer maintained.

I have a multitude of other codes written in the IDL programming language, which generally make heavy use of the ASTROLIB library of procedures for astronomers. I hope to make these available soon.

The codes

jktebop Fits a geometrical model to the light curve of a detached eclipsing binary star. It is based on the EBOP code (written by Paul B Etzel), but with new input and output routines, much more functionality and an extensive set of error estimation algorithms.
jktld Calculates limb darkening coefficients for stars by bilinear interpolation (in effective temperature and surface gravity) using several published tables of theoretically-calculated coefficients.
jktabsdim Inputs the photometric and spectroscopic properties of a detached binary and calculates its absolute dimensions, many useful quantities, and its distance using several methods. The uncertainties are dealt with very robustly, and a complete error budget is printed for every output quantity.
lcbin Tool for phasing and binning light curves. Very useful in the modern era of astronomical satellites such as Kepler.
uvbysplit Inputs the Stromgren indices of a binary star and the light ratio in each passband, and outputs the separate Stromgren indices of each star with careful error propagation.



JKTEBOP - model eclipses and pulsations in binary star systems

JKTEBOP is a code for modelling the light curves of eclipsing binary star systems. It is also possible to include sinusoidal or polynomial perturbations acting on most of the parameters used for modelling eclipses.

A dedicated webpage can be found here.

Advantages: JKTEBOP is fast and has extremely low numerical noise. It includes extensive error analysis algorithms and has been designed to be as easy as possible to use. External constraints can be applied to several parameters in a statistically robust way.

Disdavantages: The pulsation facilities are slightly experimental. JKTEBOP approximates stars as biaxial ellipsoids so should only be used on detached systems. JKTEBOP will tell you if the stars are too deformed for the results to be reliable.



JKTLD - calculate theoretical limb darkening coefficients

JKTLD is a code for calculating limb darkening coefficients by interpolating in several tables of theoretically-predicted coefficients. Interpolation is done in effective temperature and surface gravity, and multiple metallicities and microturbulence velocities are also available.

A dedicated webpage can be found here.



JKTABSDIM - calculate physical properties of an eclipsing binary star system

JKTABSDIM is a code for calculating the physical properties of an eclipsing binary star system from light curve and velocity curve parameters. Its chief advantage is treatment of the errors on the input parameters, which is done by a perturbation analysis and yields complete error budgets for each output parameter.

A dedicated webpage can be found here.



LCBIN - phase and rebin time-series data

This code inputs time-series data and rebins it and/or phases it using a linear ephemeris. The rebinning can done by grouping a set number of datapoints or by grouping all datapoints in time intervals of a set length. The rejection of outlying points is possible in both cases, and the errors associated with the data are propagated. Rebinning can also be done into unequal time intervals, allowing a higher sampling rate at given times or orbital phases.

To use LCBIN, download the Fortran code (version 4 as of 2012/04/09). Compile it, run it and follow the instructions it prints to screen. All input and output files are assumed to have many lines of data, each of which contains two or three numbers: time, amount and (optionally) error.

An example set of commands (which must be typed or pasted at the prompt) is given here for creating an unevenly-binned light curve for the eclipsing binary system KIC 10661783:

read short66f.dat
phase 55065.77701 1.23136220
write phased.dat
ecnorm 5
0.0 0.1 0.002
0.1 0.4 0.020
0.4 0.6 0.002
0.6 0.9 0.020
0.9 1.0 0.002
0 0 -1
write binned.dat

These commands result in a light curve which looks like this.



UVBYSPLIT - calculate separate Strömgren indices for binary system

This little code calculates the separate Strömgren indices of the components of a binary star from the combined indices of the system and the light ratios of the stars in the Strömgren passbands. The uncertainties in the output quantities are carefully calculated, and an error budget is printed for each quantity.

You will need to compile the code before running it. Then you have two options: (1) run the executable and type in the quantities as it asks for them, or (2) on a Unix system it is usually easier to set up a small input file and run the code using the redirection operator:

uvbysplit < [inputfile]

Download the Fortran code. Here are the contents of an example input file:

9.695 0.087 0.015 0.001
0.004 0.005 0.005 0.005
0.888 0.900 0.898 0.903
0.051 0.059 0.049 0.050


Last modified: 09/04/2012           John Southworth   (Keele University, UK)