Due to the finite speed of light, as the Earth travels in its orbit,
light from a particular object may be early or delayed by as much as
8.3 minutes (1 AU/c). Left uncorrected, the time of an astronomical
event measured by our clocks on Earth will vary by 16.6 minutes over
the course of a year.|
The solution to this problem is to calculate the time the light from a given object would have arrived at a non-accelerating reference frame. Historically, we have used the Heliocentric Julian Date (HJD), referenced to the center of the Sun because it is easy to compute. However, the Sun moves due to the gravitational pull of the planets, which introduces errors as large as 8 seconds. To correct for this, we use the Barycentric Julian Date (BJD), which is referenced to the Solar System Barycenter (SSB), or the center of mass of the Solar System, and does not accelerate (for all intents and purposes).
Note: Assuming you observe from the geocenter is much easier, but introduces a ~20 ms error (R_earth/c) -- the time it takes light to get from the surface of the Earth to the center of the Earth.
To the right is an animation of the effect. The left-most figure is to scale for an object at 3000 AU, and the right-most figure is to scale for an object at 3 AU (roughly the Main Asteroid Belt). You can see the plane wave is not a very good approximation for nearby objects.
The green circle is the Earth's orbit and the "(+)" is the Earth. The black lines point from the Earth to the target, from the SSB to the target, and from the SSB to the Earth. The yellow arcs are the spherical wavefront from the target, as seen from Earth and the Barycenter. The yellow straight line is the plane wave approximation used in this calculation. The blue line is the extra distance, according to the plane wave approximation, that the light must travel to get the SSB (or the extra distance it has traveled to get to the Earth). The red line is the error in the plane wave approximation.
The other part of the time stamp depends on the time standard we use, or how our clock ticks.
Universal Time (UT1) is based on the length of the mean solar day (the average time it takes for the Sun to arrive at the same place it was the day before). This is roughly 24 hours, but it speeds up and slows down with the changing rotation rate of the Earth. Generally, the Earth's rotation rate is slowing down due to the tidal braking of the Moon, and days are becoming longer (each year is about 1 second longer than the year 1900 was).
Coordinated Universal Time (UTC) is fundamentally based on atomic clocks, but it is not allowed to differ from UT1 by more than 0.9 seconds. When the difference gets too large, we add a leap second to UTC. Therefore, UTC is discontinuous and drifts with respect to "uniform" atomic time. UTC is the international standard for broadcasting time, and so most clocks are in UTC (modulo time zones and daylight savings time).
Note: Universal Time (UT) can refer to UT1, UTC, or many other variants which can differ by up to 0.9 seconds. Be sure you know which one you are using if 1 second accuracy is important.
Barycentric Dynamical Time (TDB) takes into account Relativity -- the fact that moving clocks tick at different rates. As the Earth moves, our atomic clocks actually change rates. TDB is a truly uniform time, as we would measure it on Earth if it were not moving around the Sun or being pulled by the Moon and other celestial bodies.
The BJD can be specified in any time standard, and there has been much ambiguity as to which standard is used for a particular BJD. The Barycentric Dynamical Time (TDB) is the best to use in practice, though many use UTC, which is discontinous and drifts with respect to a uniform time standard. Always specify the time standard of your BJD, and never compare BJDs in different time standards, which may differ by more than 1 minute.
Lastly, we provide a tool for observers to do the reverse correction. That is, given the BJD_TDB of a future event, what UTC time on my computer clock should I observe it? However, most will find that +/- 10 minute accuracy is enough to schedule observations, and can simply use BJD_TDB ~ JD_UTC.
Our php code calls our IDL code and makes use of routines written by Craig Markwardt. We find the position of the Barycenter using JPL's DE405 ephemeris and the positions of spacecraft via telnet to HORIZONS.