Skip to content

COB-85: Various updates for LMM

Bram Veenboer requested to merge cob-85 into cob-master

The current code in cob-master incorrectly assumes that beamFormer pipelines should be specified on a per-SAP basis. The actual number of SAPs in LMM will be only 2, with 244 beamlets/subbands each. This has a major impact on the way that LMM should be specified in the Parset as we can no longer reuse the per SAP TAB specification for multiple beamFormers since every beamFormer has it own set of TABs.

Instead of Observation.Beam[*].BeamFormer we now added Cobalt.BeamFormer.Pipeline[*], with the specific configuration per beamFormer pipeline. To maintain backwards compatibility (e.g. with respect to the files to be created), the existing Cobalt.BeamFormer structure is maintained. The subband selection and TAB/TAB ring specification is now part of Observation.BeamFormer.Pipeline[*].SAP[*] and uses the same key names as in the existing Observation.Beam[*].

Thus in order to use LMM, one still specifies the beams (SAPs) using the Observation.nrBeams and Observation.Beam keys and moves the beamFormer specific keys (e.g. the subbandList and nrTiedArrayBeams to Cobalt.BeamFormer.Pipeline[*].Beam, and the list of stations to Cobalt.BeamFormer.Pipeline[*].stationList.

An initial test is added to tParset, but this does not test all new functionality yet. While all existing tests (with only a single beamFormer) pass, more extensive testing for LMM is obviously needed.

Finally, this merge request includes some changes to the KernelParameters structure to make it more explicit where parameters originate from. Some earlier changes for the 'previous' LMM implementation have been (partially) reverted, such as the tabDelays.

Edited by Bram Veenboer

Merge request reports

Loading