[evla-sw-discuss] Keeping track of spectral windows at the EVLA: SDM vs. BDF
Francois Viallefond
fviallef at maat.obspm.fr
Wed Feb 17 10:21:26 EST 2010
On Wednesday 17 February 2010 01:15, Michael Rupen wrote:
> Hi folks --
>
> please find attached a portion of the SDM intro document dealing
> with the association between spectral windows in the SDM, and those
> in the BDF. A previous iteration was approved by Francois so I think this
> is kosher.
- I have never seen before this SDM intro document! Hence, if it is publicly
available, you must remove my name from it!
- What is a kosher? I can not find the french translation!
> Note that there are subsections at the beginning & end you
> probably don't care about at the moment. Much of the rest of this
> message is detailed and EVLA-centric; I've cc'd several CASA and ALMA
> folks in case they have comments, since this affects the filler at least.
>
> Basically we have to ensure that the order in which the spectral windows
> are stored in the BDF matches the order in which those spectral windows are
> referenced in the dataDescriptionId array in the SDM's ConfigDescription
> Table. The order in the BDF is required to be such that swbb and sw occur
> in ascending order; the combination of swbb and sw is unique for the EVLA
> (for ALMA they have to worry about the sideband but that's a detail). So
> if we agree on swbb and sw and send that information to both the CBE and
> MCAF we should be OK. We are sending all other information like by sending
> the VCI's subarray element to MCAF as well as the Confiruation Mapper, so I
> propose using that same route here.
>
> swbb is the "baseband ID" in the SDM sense.
>
> 1. I propose that we make this one-to-one with the VCI's baseBand name
> (e.g., A1/C1).
> - This is currently an optional attribute; the suggested change would
> make this required. If this does violence to the VCI (e.g., all
> names are currently optional), we should create a new attribute,
> maybe swbbName enumeration or string
>
> 2. The BDF and the SDM use the BasebandName enumeration:
>
> BB_1 BB_2 BB_3 BB_4 BB_5 BB_6 BB_7 BB_8 NOBB
>
> I propose adding more useful EVLA names to this enumeration:
>
> A1/C1_3BIT A2/C2_3BIT A/C_8BIT
> B1/D1_3BIT B2/D2_3BIT B/D_8BIT
One basic technical point here:
it is not possible to write in the c/C++ enum enumerators which have the '/'
character. You have to replace this by something else!
One question:
Heum... do you concatenate here two infos? Is the second part, a number of
BITs, already an item somewhere else in the DM?
> Part of the point here is to avoid confusion with WIDAR's baseband
> IDs, which are *not* the same (though they are closely related).
>
> 2b. If it takes any time to add to that enumeration,
In principle this is a trivial task!
> I propose
> something similar to Barry's scheme:
>
> BB_1 ==> A1/C1_3BIT
> BB_2 ==> A2/C2_3BIT
> BB_4 ==> A/C_8BIT
>
> BB_5 ==> B1/D1_3BIT
> BB_6 ==> B2/D2_3BIT
> BB_8 ==> B/D_8BIT
>
> 3. The required ascending order is then:
>
> BB_1 BB_2 BB_3 BB_4 BB_5 BB_6 BB_7 BB_8 NOBB
> A1/C1_3BIT A2/C2_3BIT A/C_8BIT B1/D1_3BIT B2/D2_3BIT B/D_8BIT
>
>
> sw is the spectral window index (an integer) in the BDF, which is NOT the
> same as the spectral window ID (tag) in the SDM.
>
> 1. We could use the VCI's subband element's name attribute
> (an optional ASCII string at the moment), making that mandatory; or we
> could create a new attribute like
> swName string
> or perhaps better
> swIndex integer
>
> 2. The value of name/swName/swIndex would have to be an integer starting
> at 1. Ascending order is then obvious.
>
> The CM would pass these new attributes on to the CBE, which would sort
> all the extant swbbName/swIndex pairs into the proper order and store them
> in the sdmDataHeader element.
>
> The Executor would pass these new attributes along with the rest of the
> VCI subarray fragment to MCAF, which would extract the swbbName/swIndex
> pairs and figure out from those the proper order for the dataDescriptionId
> array.
>
> Of course this begs the question of who comes up with swbbName and swIndex
> to begin with. This seems properly left to the OPT: there is enough
> information there, and these values can be determined independently for
> every scan. It would be preferable to have a deterministic algorithm for
> doing so. For swbbName this is trivial. For swIndex within a given
> swbbName I propose:
>
> 1- sort by the lower edge of the lowest frequency channel in each
> subband (to match the ALMA ACA correlator)
> 2- for remaining matches, give the lower swIndex to the SpW with
> the narrower channels
> 3- for remaining matches, give the lower swIndex to the SpW with the
> fewer total channels
> 4- at this stage we have only exact matches left. If the OPT or
> whatever is explicitly setting the StB filter to be used, the lower filter
> gets the lower swIndex.
>
> All of this of course is negotiable.
I assume that this is only an internal rule. It could be that some other
processors (correlators) may have different internal rules.
> A couple points:
>
> * In the BDFs, all SpW in "lower" swbbName's come before all SpW in
> "higher" swbbName's, regardless of the actual frequency tunings. A/C comes
> before B/D, full stop; similarly data from A1/C1_3BIT comes before
> A/C_8BIT.
>
> * In the BDFs, within a given swbbName, the above scheme would put
> non-overlapping SpW in frequency order (low to high).
>
> * None of this says ANYTHING about the ordering of the actual Spectral
> Windows seen by the observer in post-processing, or even in the SDM.
> That is a separate discussion, which I hope to initiate tomorrow or
> Thursday.
>
>
>
> Comments?
>
> Michael
Francois
More information about the evla-sw-discuss
mailing list