Commits

Dirk Petry authored and Ville Suoranta committed 8b7de024da3 Merge
Pull request #629: CAS-13194

Merge in CASA/casa6 from CAS-13194 to master * commit '76157a406050f469c9229e4ef158268bbe53609b': CAS-13194: replaced tab by spaces as requested by Enrique Changed the dataset used in the settrop test CAS-13194: fix for numerical accuracy problem in checking whether provided interval setting is too small modified settrop test case and added data to the repo Added new tests for phase angle jump at 10s CAS-13194: added code to set the phase screen time granularity to the old default value of 10 s in case the user does not provide a value explicitly. CAS-13194: reduced minimum phase screen time granularity to 0.1 s and added warning log message in case the request is below the minimum. CAS-13194: added the simint parameter to sm.settrop() (default -1 = previous behaviour). The simint parameter sets the "interval" parameter in setSolve.

casatools/src/code/synthesis/MeasurementComponents/StandardVisCal.cc

Modified
577 577 } else {
578 578 throw(AipsError("start/stop time not defined"));
579 579 }
580 580 if (simpar.isDefined("stopTime")) {
581 581 corruptor_p->stopTime() = simpar.asDouble("stopTime");
582 582 } else {
583 583 throw(AipsError("start/stop time not defined"));
584 584 }
585 585
586 586 // RI todo T::createCorr make min screen granularity a user parameter
587 - Float fBM_interval=max(interval(),10.); // generate screens on >10s intervals
588 - if (prtlev()>2) cout<<"set fBM_interval"<<" to "<<fBM_interval<<" startTime="<<corruptor_p->startTime()<<" stopTime="<<corruptor_p->stopTime()<<endl;
587 + Float minFBM_interval = 0.1; // generate screens on >0.1s intervals
588 + Float defaultFBM_interval = 10.;
589 + Float fBM_interval=max(interval(), minFBM_interval);
590 + if (interval() <= 0.){ // use default value
591 + fBM_interval = defaultFBM_interval;
592 + } else if ( (fBM_interval - interval()) > 1E-5 ){
593 + os << LogIO::WARN << " Requested phase screen time granularity (" << interval()
594 + << " s) is too small! Will use the minimum permitted value: " << minFBM_interval << " s." << LogIO::POST;
595 + }
589 596
590 597 corruptor_p->setEvenSlots(fBM_interval);
591 598
592 599 if (simpar.asString("mode") == "individual")
593 600 tcorruptor_p->initialize(Seed,Beta,Scale,rxType);
594 601 else if (simpar.asString("mode") == "screen") {
595 602 const MSAntennaColumns& antcols(vi.msColumns().antenna());
596 603 if (simpar.isDefined("windspeed")) {
597 604 tcorruptor_p->windspeed()=simpar.asFloat("windspeed");
598 605 tcorruptor_p->initialize(Seed,Beta,Scale,rxType,antcols);

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

Add shortcut