CASA Project: MS Tool Update

  • Short Description: Update the ms tool by replacing obsolete frameworks with current ones
  • Sponsor(s): PamFord, JeffKern
  • Current Status: In Preparation
  • TBD: Predicted Duration: (Note not a schedule, just a duration. This is the total expected time (assuming resource availability) to complete the project)

Project Charter

The ms tool in CASA is built on obsolete frameworks including MSSelector and VIVB. Despite its name, the MSSelector class does much more than selection on an MS, including iteration, averaging, and reading/writing data to an MS. Other code is now available in CASA to perform these functions more efficiently and accurately, namely MSSelection for selection and VIVB2 for data I/O, averaging, and iteration. The ms tool should be updated for better code performance, maintenance, and selection standardization across tasks.


  • DONE (2016/1/28): Create a suite of ms tests with the existing code for validation of new code
  • ALERT! (2016/1/28): VIVB2 modularity improvements (parent ticket CAS-8219)


  • Do not change the ms tool interface. The current ms tool implementation must be usable until the new code is verified and validated, then the old code can be deprecated.
  • ALERT! (2016/1/28): Remove MSSelector from ms tool
    • ALERT! (2016/1/28): Modify/remove functions (fillbuffer, getbuffer, diffbuffer, clipbuffer) with MSFlagger, which requires MSSelector
    • ALERT! (2016/1/28): Rewrite ms::range to use MSRange MeasurementSet constructor
  • ALERT! (2016/1/28): Refactor MSContinuumSubtractor without MSSelector
  • ALERT! (2016/1/28): Deprecate "n" functions based on VIVB (ngetdata, niterinit, niterorigin, niternext, niterend).

Must Haves

Should Haves

Could Haves

Will not haves

  • We must leave MSSelector in casacore, as this code is distributed widely and used outside of CASA.

Implementation Plan

  • New functions will be added with the old function names appended with a "2" (e.g. selectinit2 replaces selectinit).
  • CAS-8247 Create ms tool regression tests
  • CAS-8050 Remove obsolete MS selection framework MSSelector from ms tool
    • Use MeasurementSet in MSRange; use MSSelection for selection; use VIVB2 (TVI) for averaging, data I/O, and iteration
  • Replace/modify classes which require or use MSSelector
    • CAS-8283 Remove MSSelector from MSContinuumSubtractor
    • CAS-8284 Deprecate ms tool functions which use MSFlagger

Test Plan

  • Create then run to validate results of the code refactoring.

Validation Plan

Project Notes:

  • 2016/1/28 PFord: Project ready for review.

-- PamFord - 2016-01-11
Topic revision: r4 - 2016-01-29, PamFord
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki? Send feedback