Alfa outer beam position errs with mock
spectrometer
24feb10
The
mock fits file position errors.
Drift scans through
srcs at the meridian.
Plots
showing the results of the drift scans (.ps) (.pdf):
When
the bug was fixed.
What needs to be
fixed in the old data
Summary.
Intro:
The fits files generated by the mock
spectrometers had an error in the recorded positions for alfa's outer
beams (1,2,3,4,5,6). The error has been there since the start of mock
spectrometer data (nov08). The problem was reported by the galfacts
group in nov09. The errors occur in the cimafits as well as the psrfits
files.
The outer beam positions are computed by:
- The outer beams follow an ellipse with:
- semi-major axis (azlen0 = 329.06 asecs great circle).
- semi-minor axis (zalen0 = 384.005 asecs great circle).
- the beam angle (with 0 rotation) is then added to the alfa
rotation angle. This angle is then used to project azlen0,zalen0 to the
location of this feed.
- After the feed offsets are computed, they are added to the az ,
za of the central pixel.
The mock position error(s):
- The alfa rotation angle was being added to the
beamAngleWith0DegRotation.
- It should have been subtracted because of the "creative"
definition of the coordinate system.
- so rfeed_offaz, rfeed_offza is wrong in the fits header.
- When adding the beam offsets to the central pixel you need to go
from great circle azimuth offset to little circle azimuth.
- The program was using az= azbeam0 +
rfeed_offaz*sin(za). It should have been az=azbeam0 +
rfeed_offaz/sin(za) .. This was just a dumb typo.
Drift scans
through continuum sources at meridian.
Data was taken on 25nov09 to see the alfa
rotation error (the sin(za) error had already been fixed on 17nov09).
The setup was:
- drift scans using cima fixed azimuth drift routine. A 120 second
drift was used.
- Position at the meridian.
- 3 sources were used:
- J2052+365 offset 20 secs of ra from source. alfa rotation
angle=60
- J2109+355 offset 30 secs of ra from source. alfa rotation
angle=-60
- J2130+050 offset 30 secs of ra from source. alfa rotation
angle=-60
- alfa rotation angles of +/- 60 were used so that the source would
drift through:
- alfa rotation angle=+60: bm3,bm0,bm6
- alfa rotation angle=-60:bm1,bm0,bm4
- The mock spectrometer ran with a 172 MHz band centered at 1450 MHz
- The wapps ran with 100 MHz band centered at 1450 MHz.
- 1 second integrations were done.
The plots show the results of the
drift scans (.ps) (.pdf):
- Page 1: total power vs sample
- The different beams total power is color coded.
- The wapp and mock data are over plotted. They line up pretty
well except:
- The mock spectrometers are being started 4 seconds after the
wapps.
- Top: J2052+365 alfa rotation = +60
- The source drifts through beams 0 and 6 (we missed beam3).
This is as expected
- Middle: J2109+355 alfa rotation = -60
- Source drifts through beam 4,0,1 as expected
- Bottom: J2130+05 alfa rotation = -60
- Source drifts through beams 4,0,1 as expected.
- Pages 2-4 total power vs ra:
- The total power is plotted vs ra.
- Wapp data is plotted with + , the mock data is plotted with a
diamond.
- The different beams are color coded.
- The top frame has the data as read from the file
- the bottom frame corrects the ra positions from the mocks.
- Page2: J2052+365 alfa rotation=+60
- Page3: J2109+355 alfa rotation=-60
- Page4: J2130+050 alfa rotation=-60
- Once the rotation angle is reversed for the mock data, the
source from the wapp and the mocks have the same ra.
- Page 5-7 Ra/dec offsets from central pixel
- The top frame shows the wapp ra,dec offsets from beam0
- The bottom frame shows the mock ra,dec offsets from beam 0 (as
read from the header).
- Page5: J2052+365 +60
- Page6: J2109+355 -60
- Page7:J2130+050 -60
- J2130+-50 ra/dec offsets differ from J2109+355 because the az
has swung around by 180 degrees.
- Page 8 (wapp-mock) ra,dec positions after mock correction.
- This has the wapp-mock ra,dec difference after the mock
correction.
- black in ra direction, red is dec direction.
- The difference is because the model offset is being evaluated a
little differently in the two programs.
- Page 9: plot differences for various header variables.
- The colors black,red,green are the 3 sources at
+60,-60,-60 rotation angles.
- Top: wapp - mock encoder_time. The mocks are interpolating the
encoder_time (and positions) to crval5 while the mocks use the time as
it is sent (usually +/- 20 milliseconds from the tick).
- 2nd/3rd: the (wapp-mock) model offsets. They differ
because the model offsets are evaluated a little differently in the two
programs.
- frame 4: alfa beam offsets. This is the unrotated offsets for
each beam. They are identical.
- frame 5: alfa beam az offsets after rotation
- frame 5: alfa beam za offsets after rotation.
- The variables that have trouble are the rotate feed offsets in
az,za.
The plots show
When the bug was fixed:
- 17nov09: The sin(za) error was corrected.
- cimafits Version 2.00 -> 2.01
- psrfits hdrver keyword 3.4 -> 3.41
- All observations with alfa rotation angle=0 are correct after
this date
- 28jan10: The alfa rotation angle bug was fixed:
- cimafits keyword Version 2.02 -> 2.03
- psrfits hdrver keyword 3.42 ->
3.43
- Note ver 2.02 aofits, 3.42 psrfits are the same as 2.01, 3.41.
They still have the rotation error.
What needs to
be fixed in the old data:
- Positions for all outer beams. this includes
- crval2,3 glon,glat,
beam_offraj,beam_offdecj,map_offra/dec
- azimuth,elevatio,map_offaz/za
- rfeed_offaz/za
- par_angle
- Program to fix the positions.
- I've written a program: fixmockhdr_cimafits_09.c (in
svn/pdev/pdev/fixhdr_09) to correct the aofits data.
- I haven't made an exportable version yet since it uses
a number of files from here at ao (dut1 file mainly).
- After running the program, it will update the version keywords
so that the correction will not be tried twice (although it shouldn't
matter).
Summary:
- Alfa outer beams have position errors.
- beam offset was added to central beam az
via azbeam0 + rfeed_offaz*sin(za).
- should have been azbeam0 + rfeed_offaz/sin(za)
- Alfa rotation angle was being added in backwards (only affected
observations with alfa_ang != 0).
- Versions with fixes
- cima fits.
- VERSION = 2.01 , VER_DATE=2009-11-17
- fixed 1/sin(za) this fixes all data with alfa
rotation angle=0
- VERSION = 2.03 , VER_DATE=2009-01-28
- This fixed the alfa rotation angle problem.
- The VERSION, VER_DATE keywords are in the bintable header
- psrfits
- HDRVER = 3.41
- fixed 1/sin(za) this fixes all data with alfa
rotation angle=0
- HDRVER = 3.43
- This fixed the alfa rotation angle problem.
- the HDRVER keyword is in the main header.
- The mocks start 4 seconds after the wapps. The time stamps in the
headers are correct.
processing: x101/091125/alfapos.pro
home_~phil