Hi
I compared the LSR velocities calculated by the following methods:
The method 1 is fixed to the coordinates of the GBT telescope, so I fixed the other methods to the same coordinates.
I have been using the method 3 in my hydrogen 21cm observations.
I wondered why the method 3 gives different results than methods 1 and 2, up to about 2 km/s.
The reason turned out to be that method 3 uses a different LSR velocity frame. For a discussion of the different frames, see
The frame usually used at radio astronomy is LSRK, which the document above defines in the following way:
"A coordinate or frame in the Kinematic Local Standard of Rest (LSR).
This frame is defined as having a velocity of 20 km/s towards RA=270 Dec=30
(B1900) relative to the solar system Barycenter. This is defined in:
Gordon 1975, Methods of Experimental Physics: Volume 12:
Astrophysics, Part C: Radio Observations - Section 6.1.5.
This coordinate frame is axis-aligned and co-spatial with `ICRS`, but has
a velocity offset relative to the solar system barycenter to remove the
peculiar motion of the sun relative to the LSRK."
So in the method 3 the Python commands
from astropy.coordinates import ICRS, LSR
new_rv = my_observation.transform_to(LSR()).radial_velocity
should be changed to
from astropy.coordinates import ICRS, LSRK
new_rv = my_observation.transform_to(LSRK()).radial_velocity
After that, the calculated LSR velocities are very similar, for example
1) 23.317 km/s
2) 23.301
3) 23.301
In addition, in the method 2 the command
psun = SkyCoord(ra = "18:03:50.29", dec = "+30:00:16.8",frame = "icrs",unit = (u.hourangle,u.deg))
could be replaced with
psun = SkyCoord(ra = 270.0*u.deg, dec = 30.0*u.deg, equinox='B1900', frame='fk4')
psun = psun.transform_to(ICRS())
which is clearer, I think.
I will start using method 2 because it shows explicitly that there is a dot product involved in the calculation of LSR velocity.
cheers, Kimmo