setScriptDescription('''Demo cadence checks. In many cases, too small a cadence is identified and in others a cadence is too big. See bug 1582 and https://github.com/autoplot/dev/blob/master/bugs/2022/20220125/shouldNotBreak.jy https://jfaden.net/jenkins/job/autoplot-test014/''') from org.das2.qds import SemanticOps ds= getDataSet( '/home/jbf/project/juno/u/jeremy/20230706/cadenceCheck.d2s' ) print SemanticOps.guessXTagWidth( xtags(ds), ds ), ds print 'Second case is interesting because saving data to a file does not show the bug' from org.das2.qds import SemanticOps L1= 5.1 MLT1= 5.890 MLT2= 6.09 MLT= linspace( MLT1, MLT2, 100 ) L1= ones(100) * L1 print SemanticOps.guessXTagWidth( cos(MLT)*L1, sin(MLT)*L1 ), min(diff( cos(MLT)*L1 ) ), max(diff( cos(MLT)*L1 ) ) # single-element dataset would cause IndexOutOfBounds error, so include test for it. print 'DataSetUtil.guessCadence would fail with one timetag, which was surely a regression' from org.das2.qds import DataSetUtil xds= reform( dataset('2024-06-28T00:00'), [1] ) yds= reform( ones(1), [1] ) print DataSetUtil.guessCadence(xds,yds)