barycorr -- Generalized multi-mission barycenter correction tool


barycorr infile=<filename> outfile=<filename> orbitfiles=<filename>


barycorr is a multi-mission tool for applying barycenter corrections to X-ray timing data. The tool is designed to apply to data from RXTE, Swift, Chandra/AXAF, and NuSTAR. barycorr recognizes time-related columns and keywords within X-ray FITS files, and corrects these time values to the equivalent time at the solar system barycenter (SSB), expressed in TDB. barycorr applies geometric light-time calculations, relativistic corrections, and mission specific clock offset corrections. If a photon arrived at the given observatory timestamp, barycorr calculates the time that the same photon would have arrived at the solar system barycenter from the target.

barycorr uses the observatory orbit ephemeris file orbitFile, target position (ra, dec), and refFrame "FK5" (DE200) or "ICRS" (DE405). When RA and Dec are not provided, an effort is made to retrieve the target information from the FITS file.

barycorr recognizes the mission-specific components of a FITS input file according by reading the MISSION keyword. The special MISSION, 'Geocenter' corresponds to time stamps at the geocenter.

barycorr is a Perl wrapper to a standalone utility program (hdaxbary) which is an extended version of the CIAO function "axbary", a multi-mission function that applies barycenter corrections to HFWG-compliant FITS files.

The "barytime = no" option (default) will replace the values in the original TIME (case-insensitive) column from the input file with the barycenter-corrected times and update all time-related keywords and GTI values appropriately. Use of this option on binned (ie, XTE science array) data files is discouraged as it will preclude subsequent application of tools that expect evenly spaced time intervals to the modified datafile.

The "barytime = yes" option will simply append a new column, "BARYTIME", to a copy of the original file. No changes will be made to the time-related keywords or GTI table(s) in this case.

Do not ever use DE405 on a FITS file that has:
  but not:

                           should use denum=405.
                           should use denum=200.

DE405 may be used in conjunction with FK5 spacecraft orbit ephemeris. The maximum error is 2 ns for each earth radius that the spacecraft is removed from the geocenter. All positions provided by Tempo are on the DE200 reference frame, however - closer to FK5. This could introduce errors of up to 0.02 ms. A function, c200to405, is provided to convert DE200 positions to ICRS. Even so, it is recommended that DE200 is used for Tempo solutions that are based on DE200; apparently, efforts are underway to make Tempo support DE405.

Swift: The barycorr tool will attempt to apply the measured clock offset to all times based on the clock file. If clockfile=CALDB, then CALDB will be queried for this information. (The user must keep CALDB up to date for this to function properly.) If the swco.dat file does not cover the times in question then the tool will apply a correction based on the value of the UTCFINIT keyword plus an estimated clock-drift term. In this case a warning message will be generated and the TIERABSO value will be set to indicate the lower precision of this correction compared to using the measured clock offset.

RXTE: The barycorr tool attempts to apply a RXTE clock offset correction, which is normally stored in the file named $LHEA_DATA/tdc.dat. The RXTE mission is now complete and no further clock offset corrections are expected.

NuSTAR: The barycorr tool attempts to apply a NuSTAR clock offset correction, if the clockfile parameter is supplied. If the parameter is not supplied (clockfile='NONE'), then the user can expect accuracies of the magnitude +/- 100 msec.


infile [filename]
Input FITS filename. All extentions with TIMESYS and TSTART will be corrected.

outfile [filename]
Output FITS filename. If barytime=no (default), a copy of the input file with the Time column overwritten and all time-related keywords modified appropriately. If barytime=yes, a copy of the input file with no changes other than a BARYTIME column appended.

orbitfiles [filename]
File(s) containing orbit ephemeris information. If a list of orbit files is input (or specified via the @filename convention) any files outside the time range of the input file will be ignored and any gaps (beyond the specified tolerance) in orbit file coverage within the time range of the input file will result in an error.

(clockfile = CALDB) [string]
SWIFT and NuSTAR ONLY:Provide the name of the clock correction file. This should either be the name of a file, "CALDB", or "NONE". If the parameter is "CALDB", then the task will automatically retrieve the clock file from the Calibration Database. The Swift ascii version of the file ($LHEA_DATA/swco.dat) can also be used if the CALDB is unavailable. A value of "NONE" means no clock correction (NuSTAR only). RXTE and Chandra:This parameter is ignored.

(ra = -) [string]
Right Ascension. If not provided the routine will search the input file for RA, RA_OBJ, RA_PNT, or RA_NOM. Must be expressed in decimal degrees.

(dec = -) [string]
Declination. If not provided the routine will search the input file for DEC, DEC_OBJ, DEC_PNT, or DEC_NOM. Must be expressed in decimal degrees.

(refframe = FK5) [string]
Coordinate reference frame. Allowed values are "FK5" (default; DE200) or "ICRS" (DE405)

(barytime = no) [boolean]
If yes, a separate BARYTIME column will be written in the output file? Otherwise the routine will overwrite the TIME column with corrected times and all time-related keywords will be updated.

(tolerance = 3.0) [real]
Tolerance (in seconds) for orbit file 'glitches'. Ignored for Swift.

(chatter = 3) [enumerated integer]
Standard HEAdas chatter parameter (1-5) controlling the verbosity of the task.

(clobber = no) [boolean]
Standard HEAdas clobber parameter; controls whether an existing output file may be overwritten.

(history = yes) [boolean]
Standard HEAdas history parameter; controls whether the runtime parameter values should be written in block of HISTORY keywords in the output file.


The following examples illustrate running barycorr

1. run barycorr prompting for all required parameters:

3. run barycorr specifying the RA/DEC (with required parameters prompted for):

      barycorr ra=272.4338 dec=-19.7495


FTOOLS: faxbary, CIAO: axbary

Swift Timing Guide


December 2008