Commits

Ville Suoranta authored 853e1e55261 Merge
Merge pull request #240 in CASA/casa6 from CAS-13214 to release/6.1.2

* commit 'fb07c5da2e32e387abcd01d67ab7f90500d2d3d3': For CAS-13214, activate tests in test_req_task_polcal.py that exercise VLASS polcal fixes. Changed the unittests_list email contact to George Fixed def suite function arguments and added the test to CMakeLists and unittests_list Fixed some of the test cases looking at wrong Dtrue table updated the polcal test to look at the new data in the repo edited some of the checks for the circular cases Added new polcal test. Will likely recieve more updates For 6.1.2 branch, revert size_t to uInt in call to ArrayLogical::partialNFalse calls for consistency with state of casacore. To fix the ALMA-specific problem noted in CAS-13179 (and CSV-3499): For poltype='Xfparang+QU', avoid fully-flagged data segments (typically scans) flagging all supplied data segments; added good data segment counting and associated log message; added traps for insufficient data segments for linear (<3) and circular basis (<2) Xfparang+QU solves; updated tSolveDataBuffer_GT.cc unit test for SDBList::extendCrossHandBaselineFlags() to exercise the excessive flagging context. Python-level unit tests pending. For CAS-13179, adjusted tDJones_GT to exercise newer guessPar signature, which caused this bug For CAS-13179, added missing DJones::guessPar (with corrDepFlags parameter) signature, which was neglected in CAS-695.

casa5/code/synthesis/MeasurementComponents/test/tDJones_GT.cc

Modified
283 283 sdbs.aggregateScan(),
284 284 sdbs.aggregateTime(),
285 285 sdbs.aggregateSpw(),
286 286 sdbs.freqs(),
287 287 sdbs.aggregateFld());
288 288 Dsol.sizeSolveParCurrSpw(sdbs.nChannels());
289 289
290 290 if (DJONES_TEST_VERBOSE)
291 291 Dsol.state();
292 292
293 - Dsol.guessPar(sdbs);
293 + // call guessPar using generic signature, tests CAS-13179
294 + //Dsol.guessPar(sdbs);
295 + SolvableVisCal* svc_=&Dsol;
296 + svc_->guessPar(sdbs,False);
294 297
295 - Dsol.reportSolvedQU();
296 -
297 298 if (DJONES_TEST_VERBOSE)
298 299 cout << "srcPolPar() = " << real(Dsol.srcPolPar()) << endl;
299 300 ASSERT_NEAR(0.04,real(Dsol.srcPolPar()(0)),1e-3);
300 301 ASSERT_NEAR(0.03,real(Dsol.srcPolPar()(1)),1e-3);
301 302
302 303 /* // explore time-dep QU signal...
303 304 for (Int i=0;i<sdbs.nSDB();++i) {
304 305 const Complex& RL(sdbs(i).visCubeModel()(1,0,0));
305 306 cout << i << " " << RL << " " << abs(RL) << " " << arg(RL)*180.0/C::pi << endl;
306 307 }
307 308 cout << endl << endl;
308 309 */
309 310
310 311 // Now solve for the Ds
312 + // This calls LLS version since Dsol is DfllsJones
311 313 Dsol.selfSolveOne(sdbs);
312 314
313 315 // Apply refant (ad hoc)
314 316 Dref(Dsol.solveAllCPar(),Dsol.refant(),d(0,0,Dsol.refant()));
315 317
316 318
317 319 Cube<Float> soldiff=amplitude(Dsol.solveAllCPar()-d);
318 320 Cube<Float> reldiff=soldiff/amplitude(d);
319 321
320 322 /*

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

Add shortcut