Sparrow applications (e.g., PrePoint, GFM) should be able to process older datasets. Specifically, they should successfully process datasets for configurations using multiple beam receivers, where the tracking beam is 'C' representing a 'center' beam, but where scans may be collected with beams other than 'C'.
Some applications have problems recognizing certain beam designations from older projects. For example, the following group of error messages appears for each problematic scan, when processing project TPTCSRMP040527 (currently resides in /home/archive/test-data/tape-0002/) through the PrePoint and Astrid applications.
Cannot find beam C with L polarization in the backend FITS file. Using default
selection (beam 1 with L polarization) instead for data processing.
Cannot find beam C with L polarization in the backend FITS file. Using default
selection (beam 1 with L polarization) instead for data processing.
Cannot find beam C with L polarization in the backend FITS file. Using default
selection (beam 1 with L polarization) instead for data processing.
Cannot find beam C with R polarization in the backend FITS file. Using default
selection (beam 1 with L polarization) instead for data processing.
Cannot find beam C with R polarization in the backend FITS file. Using default
selection (beam 1 with L polarization) instead for data processing.
Cannot find beam C with R polarization in the backend FITS file. Using default
selection (beam 1 with L polarization) instead for data processing.
In this project, the X-band receiver is used, which has beam designations of 1, 2, and 'C'. The designation 'C' is stored in the Antenna FITS file as the tracking beam, representing a virtual 'center' beam between the two actual beams. Later processing of scans from this configuration in Sparrow applications 'stumbles' a bit, when searching for IF samplers with beam designation of 'C', where the data was actually collected on actual beams '1' and '2'.
In detail, the problem arises during calculation of TCal (OffsetScan.GetTCal()). TCal is calculated in a method that is capable of accepting arguments specifying a particular beam to use in the calculation. In cases where no particular beam is specified, the tracking beam (from Antenna FITS file) is used as a default beam designation. Where the tracking beam is designated as 'C', and the search for the appropriate IF sampler fails because no data were taken with beam 'C', a default beam is selected as a substitute for 'C' . Generally, if there is no match between the requested beam and the available IF samplers, the first beam / polarization sampler is used as this default. Often, this results in the intended behavior.
For example, in the first three messages above, beam 'C' with 'L' polarization cannot be found, so the data from beam '1' with 'L' polarization is used instead. This is the desired result, as the beam 'C' designation was used as the tracking beam in this observation that used Rcvr8_10, and data were taken only with beams 1 and 2. However, as in the last three messages, the desired behavior should be to use beam '1', with 'R' polarization, not 'L' polarization.
PrePoint and GFM should be able to process datasets from a few years ago as well as recent ones. Hence, they should be able to successfully process previously collected datasets wherein the tracking beam is the 'center' beam designation 'C' but no data were taken with that beam, matching by polarization from the first beam where possible.
Modification of the method that searches for the appropriate IF sampler, in cases where the beam value of 'C' is sent to the call to calculate TCal, will suffice to address this Modification Request. This method, GetSampler(), is located in the OffsetScan object in sparrow / gbt / api / scans.
The search algorithm is implemented to iterate over the IF samplers until one is found matching both beam designation and polarization, or until the list has been exhausted. These matching conditions are implemented independently, beam first, then polarization if beam matches. In cases where no sampler matches (e.g., beam designation 'C' where there is no actual beam named 'C'), the desired behavior is to return the first beam sampler with matching polarization, if possible; the first sampler overall, if not. The samplers list is arranged in order by beam, and within beam, by polarization.
The desired behavior requires that, for those cases where there is no match to a sampler by both beam designation and polarization, to locate the first sampler that at least matches polarization, should it exist. Currently, the method returns the very first sampler, regardless of whether the polarization matches.
OffsetScan.GetSampler() is modified to correctly implement the desired behavior, by not simply using the zeroth sampler (representing the very first sampler, regardless of polarization), but by using the i-th sampler, where the i-th sampler is the first sampler that matches the requested polarization.
- Training is not required for this MR to be released.
- It is intended for release upon successful completion of internal, sponsor, and integration/regression testing.
- Tentatively, this is planned for completion in time for inclusion in Release 7.3 on 15 May 2007.
- A user-oriented description of these changes will be included in the Release Notes.
Testing this modification should be possible using GFM in 'offline' mode, or PrePoint, with very limited time required live with the telescope.
Existing unit tests that cover the modified modules will be reviewed and modified if necessary to conform to work with this MR's modifications. For the OffsetScan module, there are no direct tests of this feature of the GetSampler() method. New unit tests will be developed to test this modification to OffsetScan.GetSampler(). Testing must allow datasets with the "beam 'C'" issue to be successfully processed. Warning messages will still be displayed indicating no direct match found in the IF samplers, but the default selection chosen will now match in polarization if possible.
Several datasets have been identified for testing, that are known to have the "beam 'C'" issue, and will be processed via GFM and PrePoint, to insure correct behavior:
- Testing data
- TPTCSRMP040527
- TPTCSDSB030923
- Science data
This section is for the sponsor. What do you need to do in order to ensure that the MR is complete and correct? These tests are the prerequisite for sign off for the "accepted/delivered by sponsor" item in the "signatures" section.
For testing, we will run prepoint on several old datasets and compare the results with independent running of gfm. Also, we will compare the resulting files from prepoint with those produced by the old glish processing. While we know that the prepoint and glish files will not match exactly due to changes in calculations, we will check that the comparisons are similar to those from recent runs.
- Open GFM.
- Open a project containing multi-beam receiver data wherein the Antenna FITS file has 'tracking beam' set to 'C' (see list below).
- Make sure X/L polarization is selected in Tools -> Options -> Data Processing : Polarizations.
- Click on several scans, and verify that for each, a warning message is displayed that matches one of these two:
Cannot find beam C with X polarization in the back-end FITS file. Using default
selection (beam 1 with X polarization) instead for data processing.
Cannot find beam C with L polarization in the back-end FITS file. Using default
selection (beam 1 with L polarization) instead for data processing.
- Select Y/R polarization option in Tools -> Options -> Data Processing : Polarizations.
- Click on several scans, and verify that for each, a warning message is displayed that reads:
Cannot find beam C with Y polarization in the back-end FITS file. Using default
selection (beam 1 with Y polarization) instead for data processing.
Cannot find beam C with R polarization in the back-end FITS file. Using default
selection (beam 1 with R polarization) instead for data processing.
where the polarization of the beam it looked for matches the polarization of the default selection it chose instead.
Select a project from a list of projects with the beam = 'C' issue, suitable for integration / regression testing. For example:
- Project TPTCSRMP040527 (
/home/archive/test-data/tape-0002/)
- Project TPTCSDSB030923 (
/home/archive/test-data/tape-0001/)
- Scans: 1-10 (L/R), 144 (X/Y)
APPROVED: I acknowledge that my request is fully contained in this MR, and if the SDD delivers exactly what I specified, I will be happy.
ACCEPTED: I acknowledge that I have validated the completed code according to the acceptance tests, and I am happy with the results.
Symbols:
- Use
%X% if MR is not complete (will display
)
- Use
%Y% if MR iscomplete (will display
)
CCC Discussion Area
This sounds like a useful change. Do the specified test datasets include examples of both X/Y feeds and R/L feeds? - Todd (02May2007)
Thanks for the suggestion, Todd. Added a scan from TPTCSDSB030923 set which also includes X/Y feeds - Ron (14May2007)
Revision r1.15 - 23 May 2007 - 14:27 GMT - FrankGhigo Parents: PlanOfRecordC22007
|
Content copyright © 1999-2007 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
|
| |