Computing Heliocentric Velocity Corrections with bcvcorr

To compare redshift velocities observed when the earth is at different positions in its orbit, the velocity of the earth relative to the sun--the heliocentric velocity correction--or the solar system barycenter (center of mass)--the barycentric velocity correction. A second, smaller correction is added for the motion of the observer relative to the center of the earth as it rotates. This vector velocity is projected in the direction of the observed object, and that component is saved. The xcsao, emsao, and sumspec tasks of the RVSAO package compute this shift using subroutines which read the time of observation, object position, and observatory position from the spectrum image header.

Several common alternative keywords are built into those subroutines. RA, DEC, and EPOCH give the right ascension, declination, and equinox of the observed object. SITELONG, SITELAT, and SITEELEV for longitude, latitude, and altitude, respectively give the observers location on the earth. OBS-DATE yields the observation date and UT, the end time of the observation, or UTOPEN, the start time of the observation. EXPOSURE or EXPTIME give the duration of the observation, and the requested heliocentric or barycentric correction is calculated at the computed midtime.

Since there is really no standard for the meaning of these keywords, a separate task, BCVCORR, has been added to RVSAO to allow several alternate ways of specifying these three major pieces of information. BCVCORR can write its result to the header of the image which it is processing; the other RVSAO tasks will use this value when their svel_corr parameter is set to "file".

Object Direction

First, the sky direction of the object is set. The right ascension, declination, and equinox of the objects sky position are read from the keywords specified by the keyra, keydec, and keyeqnx parameters. If those are not all found, the position is read directly from the parameters ra, dec, and equinox.

Observation Time

The time for the velocity correction is read from a Julian date keyword specified by keyjd. If none is found, the date is gotten from the header keyword specified by keydate. The UT midtime is taken from the keyword in keymid. If that is not found the observation midtime is computed by finding the exposure duration from the keyexp keyword value and adding half of it to the start time from the keystart keyword value or subtracting half of it from the end time in the keyend keyword value. If no time can be found in the header, the Julian date is read directly from the gjd parameter, if it is greater than zero. Otherwise, the midtime is taken from the year, month, day, and ut parameters. The Heliocentric Julian Date (HJD) is the time at which the light from the object for this observation reached the sun. It is needed if multiple radial velocity observations of an object are to be compared accurately. It is not used in computation of the velocity correction, which is dependent on the time of the observation at the earth. It may be read from the header keyword keyhjd or set by the parameter hjd (only if > 0). If neither are set, it is computed from the observation time.

Observatory Location

If the obsname parameter is file, the observatory name and position is read from the image header using the keywords keyobs, for the name, keylat, for the latitude, keylong, for the longitude, and keyalt, for the altitude. Otherwise, the value of obsname is used to get a position from IRAF's observatory database. If the string is not found there, the longitude, latitude, and altitude are given by the values of the parameters obslong, obslat, and obsalt.


The heliocentric and solar system barycentric velocity of the earth, the components of which in the direction of the observed object are added to the observed radial velocity to get a heliocentric or barycentric velocty, are computed using P. Stumpff's algorithm. The information listed above is prepared for Stumpff's BARVEL subroutine by other Fortran subroutines mostly written by Guillermo Torres of the Smithsonian Astrophysical Observatory.

If verbose is yes, the information in Figure bcvcorr1 is printed to standard output. If savebcv is yes, the spectrum image header keyword BCV is set to the barycentric velocity correction in km/sec.

RA: 8:13:29.3, Dec: 29:02:12.0  2000.0                  
Using default observatory database: noao$lib/obsdb.dat  
Using observatory parameters for database entry: flwo   
flwo lat 31:40:51.4 , long 110:52:39.0, alt 2320.0      
Julian date is 2450044.94279 at 11/23/1995 10:37:37.0 UT
Object at ra 8:13:29.340 dec 29:02:12.00 eq 2000        
Heliocentric Julian date: 2450044.94573                  
gbcvel = 25.2207  ghcvel = 25.2165  geovel = 0.0770     
bcv = 25.2977  hcv = 25.2936 computed                   
bcv = 0.0000  hcv = INDEF from file                     
Figure bcvcorr1. Output from BCVCORR.