There are several dependencies to make this IDL code work. For minimum functionality (geocentric correction accurate to 21.3 ms), you must have the IDL astrolib and the following programs in your IDL_PATH: wget http://astroutils.astronomy.ohio-state.edu/time/pro/jdutc2jdtdb.pro wget http://astroutils.astronomy.ohio-state.edu/time/pro/utc2bjd.pro wget http://www.physics.wisc.edu/~craigm/idl/down/tai_utc.pro And you must have an environment variable called "ASTRO_DATA" that points to your local copy of this file: wget http://www.physics.wisc.edu/~craigm/idl/down/JPLEPH.405 NOTE: the leap second table will automatically be retrieved and placed in this directory, as well as a file to keep track of its last update ($ASTRO_DATA/exofast_lastupdate). In order to do the reverse correction (BJD_TDB to JD_UTC), you'll need: wget http://astroutils.astronomy.ohio-state.edu/time/pro/bjd2utc.pro In order to correct for your position on the Earth (for up to 30 us precision), you'll need the following in your IDL_PATH: wget http://www.physics.wisc.edu/~craigm/idl/down/hprnutang.pro wget http://www.physics.wisc.edu/~craigm/idl/down/hprstatn.pro wget http://www.physics.wisc.edu/~craigm/idl/down/qtcompose.pro wget http://www.physics.wisc.edu/~craigm/idl/down/qteuler.pro wget http://www.physics.wisc.edu/~craigm/idl/down/qtmult.pro wget http://www.physics.wisc.edu/~craigm/idl/down/qtvrot.pro For spacecraft observatories or observations of Solar System targets, this file must be in your linux path (and you must have Expect and telnet on your machine): wget http://astroutils.astronomy.ohio-state.edu/time/horizons.exp and this file must be in your IDL_PATH: wget http://astroutils.astronomy.ohio-state.edu/time/pro/get_eph.pro For 30 us precision, you should call the program with BIPMFILE, which is the name of the file containing the BIPM-TAI offsets, and can be found here: ftp://tai.bipm.org/TFG/TT%28BIPM%29/ Note that the previous year's file should be downloaded, and the .ext file should be concatenated at the end. As of 2010, this would be wget ftp://tai.bipm.org/TFG/TT%28BIPM%29/TTBIPM.09 wget ftp://tai.bipm.org/TFG/TT%28BIPM%29/TTBIPM09.ext For the highest precision possible (~us), you will also need this program: wget http://www.physics.wisc.edu/~craigm/idl/down/eopdata.pro and you need to keep this file up to date (updated daily): wget ftp://maia.usno.navy.mil/ser7/finals.all It must be saved as $ASTRO_DATA/iers_final_a.dat One may find it easier to keep these files up to date with a cron job. At a terminal type: crontab -e Insert the following lines into the file (the default text editor is vi): NOTE: you must expand $ASTRO_DATA to its value in every line # min hour day_of_month month day_of_week 1 1 1 * * wget -NP $ASTRO_DATA ftp://maia.usno.navy.mil/ser7/tai-utc.dat >& $ASTRO_DATA/cron.log # for 30 us precision # must call utc2bjd with BIPMFILE=$ASTRO_DATA/bipmfile # must be updated annually with name of new files 2 1 * * * wget -NP $ASTRO_DATA ftp://tai.bipm.org/TFG/TT\(BIPM\)/TTBIPM.09 >& $ASTRO_DATA/cron.log 3 1 * * * wget -NP $ASTRO_DATA ftp://tai.bipm.org/TFG/TT\(BIPM\)/TTBIPM09.ext >& $ASTRO_DATA/cron.log 4 1 * * * cat $ASTRO_DATA/TTBIPM.09 $ASTRO_DATA/TTBIPM09.ext > $ASTRO_DATA/bipmfile # for ~us precision (must call utc2bjd with /USE_EOP keyword) 5 1 * * * wget -NP wget -NP $ASTRO_DATA ftp://maia.usno.navy.mil/ser7/finals.all >& $ASTRO_DATA/cron.log 6 1 * * * cp $ASTRO_DATA/finals.all $ASTRO_DATA/iers_final_a.dat You should randomize the exact time of these jobs (the first and second numbers) so as not to strain their servers. If you keep the program up to date via cron job, you can defeat the program updates by typing: echo 2469807.0 > $ASTRO_DATA/exofast_lastupdate This will tell the program it last updated on Dec 31st, 2049, and it won't check for updates until then -- make sure your cron job is working before you disable updates (check $ASTRO_DATA/cron.log)!