If an observing campaign runs over a longer period of time, we have to take into account the movement of the earth around the sun when determining period lengths and relative velocities.
In the worst case, we want to observe a star in the plane of the ecliptic and determine both shifts in wavelength of a spectral feature and periods of this shift or equivalent widths or whatever.
We start our measurements when the earth moves exactly towards the star in question. Their speed relative to the star is then +30 km/h. These are absent from the measured Doppler shift. We have to add 30 km/s to our results measured in the spectrum itself.
A quarter of a year later, the earth moves across the light rays of our star. The measured Doppler shift is now correct, except for the radial velocity of the star. However, the path of light from the star to the earth has become shorter. The light reaches the earth about 8 minutes earlier than three months ago.
Another quarter of a year later, the earth moves directly away from the star at a speed of -30 km/s. Now we have to add -30 km/s, i. e. subtract 30 km/s. Another quarter of a year further and the light arrives 8 minutes later than at our starting point.
But that's not all. The earth itself rotates on its axis. Fastest at the equator at 0.5 km/s.
Let's sum it all up:
In order to get a common time base and unshifted wavelengths for all measurements, we move our measurements to a place that is more quiet in space than Earth. There are two places to do this, the center of the sun and the center of gravity of the solar system. The center of gravity is still a bit quieter than the center of the sun. But the difference is small, a few tens of m/s. For us amateurs with our crude instruments, it doesn't matter whether we carry out the heliocentric correction or the barycentric one.
A small script of astropy of less than 20 lines provides both corrections, both in speed and in observation time.
It is good style to put the speed and time in the fits header. If you want, you can also calculate the Doppler shifted wavelengths. Then the interstellar lines are at the same wavelength in the spectrum all year round.
l = EarthLocation(lat=lat, lon=lon, height=height) t = Time(datim, format='isot', scale='utc', location=l) c = SkyCoord(ra=ra, dec=dec) bary = c.radial_velocity_correction(obstime=t) heli = c.radial_velocity_correction('heliocentric',obstime=t) ltt_bary = t.light_travel_time(c) ltt_heli = t.light_travel_time(c, 'heliocentric') t_bc = t.tdb + ltt_bary t_heli = t.utc + ltt_heli
This code does all the work. You may add some lines to fill the variables, to print the results and to load the necessary modules.
Last modified: 2023 May 28