An exoplanet transit and radial velocity fitting software package in IDL
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples tune examples Jul 24, 2018
mist make EXOFAST_PATH OS and trailing slash agnostic Jun 28, 2018
quadld add TESS quadratic ld parameters Dec 7, 2017
sed add redo keyword to overwrite common block Aug 2, 2018
yy remove unnecessary PS files Feb 6, 2018
.gitignore update examples Jul 18, 2018
LICENSE Initial commit Jan 16, 2017
README.md added tutorial link Aug 3, 2018
angsep.pro add angsep Jun 13, 2018
bjd2target.pro allow c as input (for consistent constants) Jun 13, 2018
comparestars.pro now only consider good chains for plots Jun 13, 2018
derivepars.pro add extra examples/exercises for SSW Jul 17, 2018
dopptom_chi2.pro double precision 2 Jun 13, 2018
ellke.pro add more dependencies Jan 26, 2017
ellpic_bulirsch.pro add more dependencies Jan 26, 2017
exofast_amoeba.pro major update -- better stellar parameter handling, better chen handli… Mar 9, 2018
exofast_blackbody.pro rename to avoid conflict with sdss version Jun 13, 2018
exofast_chi2v2.pro add extra examples/exercises for SSW Jul 17, 2018
exofast_demc.pro extract function to calulate burn index Mar 18, 2018
exofast_dopptom.pro removed non-standard gaus_conv Jul 25, 2017
exofast_errell.pro handle NaNs Jun 13, 2018
exofast_forprint.pro add support for comments Jun 20, 2018
exofast_gelmanrubin.pro replace obsolete stdev with stddev Feb 9, 2018
exofast_getb.pro merging new pro files May 15, 2017
exofast_getb2.pro add extra examples/exercises for SSW Jul 17, 2018
exofast_getmcmcscale.pro major update -- better stellar parameter handling, better chen handli… Mar 9, 2018
exofast_getphase.pro now a stand alone package Jan 25, 2017
exofast_keplereq.pro now a stand alone package Jan 25, 2017
exofast_latextab.pro First commit Jan 17, 2017
exofast_latextab2.pro fix trailing text Jun 28, 2018
exofast_legend.pro major update -- better stellar parameter handling, better chen handli… Mar 9, 2018
exofast_like.pro revert change to exofast_like. It was right the first time Aug 11, 2018
exofast_multiplot.pro rename library multiplot to exofast_multiplot, include in repo to avo… Mar 15, 2018
exofast_occultquad.pro major update -- better stellar parameter handling, better chen handli… Mar 9, 2018
exofast_plotchains.pro fix rm modeling, chi2 chain, sed debug plotting, better transit and r… Mar 28, 2018
exofast_plotdist.pro add log file output that captures screen output Jul 19, 2017
exofast_plotdist_corner.pro add ability to mask links (for importance sampling) Jun 13, 2018
exofast_ptmc.pro major update -- better stellar parameter handling, better chen handli… Mar 9, 2018
exofast_random.pro now a stand alone package Jan 25, 2017
exofast_readdt.pro added exofast_readdt Jul 17, 2017
exofast_recenter.pro rename recenter to avoid conflict with idlutils version Jan 22, 2018
exofast_rossiter.pro fix rm modeling, chi2 chain, sed debug plotting, better transit and r… Mar 28, 2018
exofast_rv.pro now a stand alone package Jan 25, 2017
exofast_textoidl.pro major update -- better stellar parameter handling, better chen handli… Mar 9, 2018
exofast_tran.pro add c as input to support consistent constant use Jun 13, 2018
exofast_twilight.pro fixed bug -- checking for limb darkening parameters when not fitting … Feb 7, 2017
exofastv2.html revert change to exofast_like. It was right the first time Aug 11, 2018
exofastv2.pro add extra examples/exercises for SSW Jul 17, 2018
exofastv2.sav revert change to exofast_like. It was right the first time Aug 11, 2018
flatten.pro replace forprint with exofast_forprint Feb 6, 2018
gaus_convol.pro major update -- better stellar parameter handling, better chen handli… Mar 9, 2018
getavprior.pro add program to retrieve the max reddening for the sed av prior Apr 10, 2018
getburnndx.pro more robust identification of bad chains Apr 3, 2018
gettc.pro still a work in progress... Jun 13, 2018
gridpars.pro adding more pro files May 15, 2017
json_parse.pro add json_parse.pro for compatibility prior to v8.2 Feb 12, 2018
ktom2.pro consistent use of constants, now defined once in mkconstants.pro Jul 14, 2017
linld.pro make EXOFAST_PATH OS and trailing slash agnostic Jun 28, 2018
massradius_chen.pro fixed bug in jupiter mass bin, add stellar mass bin Apr 12, 2017
massradius_chenreverse.pro now solve analyitically. far more robust Apr 12, 2017
massradius_mist.pro add extra examples/exercises for SSW Jul 17, 2018
massradius_torres.pro correct metallicity spelling Jun 20, 2018
massradius_yy3.pro spell metallicity right Jun 20, 2018
mcmc2str.pro First commit Jan 17, 2017
mkconstants.pro fix rm modeling, chi2 chain, sed debug plotting, better transit and r… Mar 28, 2018
mkexofastv2.pro add file to compile exofastv2.sav Feb 6, 2018
mkprior.pro improved backward compatibility Apr 3, 2018
mksed.pro update for Gaia DR2, reconfigure keyword defaults Jun 13, 2018
mksimdata.pro swap forprint with exofast_forprint Feb 6, 2018
mkss.pro add extra examples/exercises for SSW Jul 17, 2018
multifast_dt_plotimage.pro add missing dependencies for DT fitting Jul 17, 2017
mutual_eclipse.pro adding more pro files May 15, 2017
omc.pro major update -- better stellar parameter handling, better chen handli… Mar 9, 2018
parnames.README clarification Jun 13, 2018
pars2step.pro fix rm modeling, chi2 chain, sed debug plotting, better transit and r… Mar 28, 2018
pars2str.pro major update -- better stellar parameter handling, better chen handli… Mar 9, 2018
perscale.pro fixed bug in calculating AMOEBA period scale Apr 12, 2017
pg_ran.pro add pg_ran Jan 26, 2017
plotdt.pro add missing dependencies for DT fitting Jul 17, 2017
plotrv.pro fix plot font Jun 13, 2018
plottran.pro fixed ttv plotting bug Aug 3, 2018
printandlog.pro add log file output that captures screen output Jul 19, 2017
quadld.pro make EXOFAST_PATH OS and trailing slash agnostic Jun 28, 2018
readargs.pro add extra examples/exercises for SSW Jul 17, 2018
readrv.pro First commit Jan 17, 2017
readtran.pro remove ambiguous filter definitions (not backward compatible! may req… Jun 20, 2018
recalc.pro adding more pro files May 15, 2017
resume_exofastv2.pro major update -- better stellar parameter handling, better chen handli… Mar 9, 2018
runallexamples.pro update examples Jul 18, 2018
setdefaultvalue.pro fixed major bug in SED modeling for WISE bands; added external depend… Mar 20, 2017
step2pars.pro add extra examples/exercises for SSW Jul 17, 2018
str2pars.pro major update -- better stellar parameter handling, better chen handli… Mar 9, 2018
str2parsarr.pro major update -- better stellar parameter handling, better chen handli… Mar 9, 2018
summarizepar.pro add extra examples/exercises for SSW Jul 17, 2018
target2bjd.pro allow c as input (for consistent constants) Jun 13, 2018
updatetime.pro add log file output that captures screen output Jul 19, 2017

README.md

EXOFASTv2 -- Jason Eastman (jason.eastman@cfa.harvard.edu) An exoplanet transit and radial velocity fitting software package in IDL If you use this in a publication, please cite: http://adsabs.harvard.edu/abs/2017ascl.soft10003E

Installation instructions

License-free use still requires a (free) IDL installation and runs a pre-compiled version with the virtual machine. You still must follow the installation instructions below.

Note the IDL Astronomy library is required. If you don't already have it, install it from here: https://github.com/wlandsman/IDLAstro

This package is best installed with git

cd $HOME/idl git clone https://github.com/jdeast/EXOFASTv2.git

NOTE: EXOFASTv2 logs the version number used for each fit if installed with git and git can be invoked via "git".

define environment variables (bash shell, e.g., .bashrc)

EXOFAST_PATH="$HOME/idl/EXOFASTv2/" ; export EXOFAST_PATH

if IDL_PATH is not defined, add EXOFAST_PATH and subdirectories to the default IDL path

if [ -z "$IDL_PATH" ]; then IDL_PATH="<IDL_DEFAULT>:+${EXOFAST_PATH}" ; export IDL_PATH else # otherwise, append EXOFAST_PATH and all subdirectories to your IDL_PATH IDL_PATH="${IDL_PATH}:+${EXOFAST_PATH}" ; export IDL_PATH fi

--- OR ---

define environment variables (c shell, e.g., .tcshrc)

setenv EXOFAST_PATH "${HOME}/idl/EXOFASTv2/"

if IDL_PATH is not defined, add EXOFAST_PATH and subdirectories to the default IDL path

if ("$IDL_PATH" == "") then setenv IDL_PATH "<IDL_DEFAULT>:+${EXOFAST_PATH}" else # otherwise, append EXOFAST_PATH and all subdirectories to your IDL_PATH setenv IDL_PATH "${IDL_PATH}:+${EXOFAST_PATH}" endif

NOTE: If you have used the old version of EXOFAST, you must remove it from your IDL_PATH to run correctly.

To test your installation, try the HAT-3b example:

cd $EXOFAST_PATH/examples/hat3 idl -e "fithat3"

TIP 1: make your terminal wide so the MCMC updates don't spam the screen

TIP 2: If you don't care about the results, run a very short fit by setting maxsteps=100 (idl -e "fithat3, maxsteps=100"). This will give you a very imprecise/unreliable answer, but allow you to check your installation in ~5 seconds instead of ~10 minutes.

It will generate many output files ($EXOFAST_PATH/examples/hat3/HAT-P-3b.Torres.*) (see $EXOFAST_PATH/exofastv2.pro for an explanation of outputs). The last file it generates is HAT-3b.Torres.chain.ps. If that is generated without error, you're good to go!

To get future updates, simply type

cd $EXOFAST_PATH git pull

Troubleshooting

I try hard to test thoroughly before pushing new code (but I'm not perfect!). If it does not compile or you get a syntax error, it is very likely a problem with your setup. The most likely reasons are:

  1. Your IDL_PATH or EXOFAST_PATH environment variables are not set up correctly. From a terminal, type "echo $IDL_PATH" (it should include EXOFASTv2) and "echo $EXOFAST_PATH" (it should point to your installation) to check.

  2. You have missing dependencies (e.g., IDL astronomy library, coyote library)

  3. You have programs with the same name with a higher precedence in your IDL path. Renaming or moving your version will fix it, but please send me an email if the conflicting code is a library routine. I will rename the EXOFASTv2 version to avoid conflicts with others.

  4. You have an older version of IDL. EXOFASTv2 has been built and tested on linux with IDL 8.5. I am not aware of any incompatibility for any platform (Windows, Mac, Linux) other versions newer than 8.0 (please report it if you find any). I currently use empty arrays and negative indices, which is not supported for versions older than IDL v8.0. I plan to remove those dependencies to support older versions. If you can't run EXOFASTv2 because your IDL version is too old, please send me an email to help me gauge user interest.

Note 1: The latest IDL version can be installed for free and EXOFASTv2 can be run within a virtual machine without a license.

Note 2: This code relies heavily on pointers and structures, so versions older than IDL 5.0 will never be supported.

Note 3: EXOFASTv2 has been tried with GDL and does not work. Others have gotten close. If you're interested in making it work with GDL, please contact me.

  1. I have introduced a bug. Even if your problem is not a bug, if you've read the documentation, given it some thought, and still can't figure it out, it's probably at least a failure in documentation. Send me an email.

Tips, Warnings and Caveats

A tutorial with exercises can be found here: https://docs.google.com/document/d/1H-HMe1No5B4JE93V9kSEW91uSIQcG2eUVScf037biZw/edit

Other examples are available for various use cases, which are intended to be templates for various types of fits, and includes an example of running EXOFASTv2 without an IDL license. See $EXOFAST_PATH/examples/README for more information.

Error checking is not thorough. You may encounter cryptic error messages and strange failure modes if you use it in a way it wasn't intended. Do not stray far from the examples blindly.

Do not ignore the warnings about the Gelman Rubin statistic without thoroughly inspecting the PDFs and chains.

If you're stuck, feel free to ask me for guidance.

This is a BETA version. EXPECT BUGS!!! And please report any unexpected behavior.

It is not fully documented. Please don't hesitate to email me with questions. See the $EXOFAST_PATH/examples directory for templates to get started on your own fits.

Major releases or bug fixes will be announced on twitter (@exofastupdates)