The Jones matrices as currently generated are for Az/El beams, in the sense that the polarisation angle is defined relative to the zenith. In order that observations taken at different Hour Angles can be combined together with coherent polarisation angles, it is necessary that these are rotated into a coordinate system which is constant with time (e.g. equatorial J2000).
I have corrected this issue in my own code:
https://github.com/johnsmorgan/mwa_pb_lookup
and the relevant commit is here:
johnsmorgan/mwa_pb_lookup@b011ef6
Note that in applying this correction and checking for consistency with the RTS, we also discovered a sign error in the Jones matrices. So in summary, if J is the current Jones matrix, the correct Jones matrix, J' is given by:
J' = -P*-J
where P is the rotation matrix:
[[cos(phi), -sin(phi)], [sin(phi), cos(phi)]]
where phi is the Parallactic Angle:
https://en.wikipedia.org/wiki/Parallactic_angle
Most conveniently given by
def azalt_to_pa(az, alt, lat=np.radians(LAT)):
"""
calculate parallactic angle from arbitrary azimuth and elevation
"""
return -np.arctan2(np.sin(az)*np.cos(lat),
np.cos(alt)*np.sin(lat) - np.sin(alt)*np.cos(lat)*np.cos(az))
where az is the azimuth, alt is the elevation angle above the horizon, and lat is the geographical latitude of the observer.
See the commit referenced above for one python implementation
The Jones matrices as currently generated are for Az/El beams, in the sense that the polarisation angle is defined relative to the zenith. In order that observations taken at different Hour Angles can be combined together with coherent polarisation angles, it is necessary that these are rotated into a coordinate system which is constant with time (e.g. equatorial J2000).
I have corrected this issue in my own code:
https://github.com/johnsmorgan/mwa_pb_lookup
and the relevant commit is here:
johnsmorgan/mwa_pb_lookup@b011ef6
Note that in applying this correction and checking for consistency with the RTS, we also discovered a sign error in the Jones matrices. So in summary, if J is the current Jones matrix, the correct Jones matrix, J' is given by:
J' = -P*-J
where P is the rotation matrix:
[[cos(phi), -sin(phi)], [sin(phi), cos(phi)]]where
phiis the Parallactic Angle:https://en.wikipedia.org/wiki/Parallactic_angle
Most conveniently given by
where
azis the azimuth,altis the elevation angle above the horizon, andlatis the geographical latitude of the observer.See the commit referenced above for one python implementation