Commits

Ville Suoranta authored 1983e70e01f Merge
Merge pull request #454 in CASA/casa from feature/CAS-10138 to master

* commit '438c40a15a66cb53da1b22b70ffc728a41fe7373': Add 5.3.0-106 to legacy edge-pivot behavior for delay corrections as 5.3.0-107 is now the likely merge version. Update CASA version trap for legacy edge-pivot behavior to in clude 5.3.0-104,105, as 5.3.0-106 is the likely merge version. Added 5.3.0-103,104 as subject to legacy edge pivot in delay corrections. Trap delay caltables created in 5.3.0-100,101,102 a force old edge pivot behavior, since some users may have created delay tables in these versions, and effectively rely on this. Removed _lexical_ comparison test on the originating CASA version for delay cal tables because it fails when version numbers add digits. The comparison wasn't really needed because delay tables prior to 5.3.0-80 have no version labelling them and so behave as "Unknown".

code/synthesis/MeasurementComponents/KJones.cc

Modified
546 546 logSink() << " (" << this->typeName() << ": Enforcing calWt()=false for phase/delay-like terms)" << LogIO::POST;
547 547
548 548 // Enforce calWt() = false for delays
549 549 calWt()=false;
550 550
551 551 // Extract per-spw ref Freq for phase(delay) calculation
552 552 // from the CalTable
553 553 MSSpectralWindow msSpw(ct_->spectralWindow());
554 554 ROMSSpWindowColumns msCol(msSpw);
555 555
556 - if (ct_->CASAvers()==String("Unknown") || ct_->CASAvers()<String("5.3.0-80")) {
556 + String ctvers=ct_->CASAvers();
557 + if (ctvers==String("Unknown") || // pre-5.3.0-80 (no version recorded in table)
558 + ctvers==String("5.3.0-100") || // a few pre-release versions with reverted behavior
559 + ctvers==String("5.3.0-101") ||
560 + ctvers==String("5.3.0-102") ||
561 + ctvers==String("5.3.0-103") ||
562 + ctvers==String("5.3.0-104") ||
563 + ctvers==String("5.3.0-105") ||
564 + ctvers==String("5.3.0-106") ) {
557 565 // Old-fashioned; use spw edge freq
558 566 msCol.refFrequency().getColumn(KrefFreqs_,true);
559 - if (typeName()!=String("KMBD Jones"))
567 + if (typeName()!=String("KMBD Jones") &&
568 + typeName()!=String("KAntPos Jones") )
560 569 logSink() << LogIO::WARN
561 570 << " Found pre-5.3.0 CASA delay cal table; using spw REF_FREQUENCY pivot (usually the edge) for phase(freq) calculation."
562 571 << LogIO::POST;
563 572 }
564 573 else {
565 574 // Use the "physical" (centroid) frequency, per spw
566 575 Vector<Double> chanfreq;
567 576 KrefFreqs_.resize(nSpw()); KrefFreqs_.set(0.0);
568 577 for (Int ispw=0;ispw<nSpw();++ispw) {
569 578 msCol.chanFreq().get(ispw,chanfreq,true); // reshape, if nec.
606 615 SolvableVisCal::setCallib(callib,selms);
607 616
608 617 if (calWt())
609 618 logSink() << " (" << this->typeName() << ": Enforcing calWt()=false for phase/delay-like terms)" << LogIO::POST;
610 619
611 620 // Enforce calWt() = false for delays
612 621 calWt()=false;
613 622
614 623 // Extract per-spw ref Freq for phase(delay) calculation
615 624 // from the CalTable
616 - if (cpp_->CTCASAvers()==String("Unknown") || cpp_->CTCASAvers()<String("5.3.0-80")) {
625 + String ctvers=cpp_->CTCASAvers();
626 + if (ctvers==String("Unknown") || // pre-5.3.0-80 (no version recorded in table)
627 + ctvers==String("5.3.0-100") || // a few pre-release versions with reverted behavior
628 + ctvers==String("5.3.0-101") ||
629 + ctvers==String("5.3.0-102") ||
630 + ctvers==String("5.3.0-103") ||
631 + ctvers==String("5.3.0-104") ||
632 + ctvers==String("5.3.0-105") ||
633 + ctvers==String("5.3.0-106") ) {
617 634 KrefFreqs_.assign(cpp_->refFreqIn());
618 - if (typeName()!=String("KMBD Jones"))
635 + if (typeName()!=String("KMBD Jones") &&
636 + typeName()!=String("KAntPos Jones") )
619 637 logSink() << LogIO::WARN
620 638 << " Found pre-5.3.0 CASA K (delay) cal table; using spw REF_FREQUENCY pivot (usually the edge) for phase(freq) calculation."
621 639 << LogIO::POST;
622 640 }
623 641 else {
624 642 // Extract physical freq
625 643 KrefFreqs_.resize(nSpw());
626 644 for (Int ispw=0;ispw<nSpw();++ispw) {
627 645 const Vector<Double>& f(cpp_->freqIn(ispw));
628 646 Int nf=f.nelements();

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut