[daip] calib solution intervals

Eric Greisen egreisen at nrao.edu
Tue Jan 6 12:02:29 EST 2009


It is very tempting to me to simply delete CALIB from the system (and 
all other tasks that attempt to average users' data).  There is no right 
way to do it and CALIB works very hard at it.

The 07 version used regular intervals - a scan-dependent value of SOLINT 
which in your case is 60.4167 sec.  That meant that the first average 
started at 9:10.0, the next at 9:10.16 etc.  In this way, you got the 
desirable result that most averages included 13 samples and two 
contained 14 and all S/N was reasonable.  Note that is the data set did 
not have an index table then 60.0 seconds would have been used and you 
would have had an undesirable result with a dangling sample.

Now consider other people's data sets - say one with an integration 
every 45 seconds.  This would produce 1 sample in a regular grid of 
times and 2 samples in some intervals.

   The new scheme starts each interval with a data point.  In your case 
that means the first starts at 9:10, the next at 10:15, etc which makes 
12 averages of 13 samples with 2 left dangling.  Not desirable, but the 
other fellow gets 2 samples per interval for every interval - desirable.

I am sure that I could come up with numerous egregious examples no 
matter which way one attempts to average.  The task does not know what 
is coming except that CALIB does know the start and stop times of the 
scan but not what times if any occur in between.  I suppose that we 
could read the data twice, once to make a list of the times that occur 
and then attempt to balance the integrations well with some sort of list 
and then again to do the actual averages.  In your data, that algorithm 
would take negligible time.  On an EVLA Widar data set I am testing 
(only 4 antennas and 10 minutes data), a re-read would take 15 minutes 
or more.

I don't know the answer - one proposal was to attach an integration time 
to each sample and use it to determine when an integration is done (only 
FILLM does this at present).  Then if you asked for 60 sec you would get 
12 samples,  and 14 solutions the last with only 2 samples, but each 
integration would be the 60 seconds you asked for.

I do have a thought - one could change the format of the NX table 
(serious work to keep NX using programs from croaking on old format 
files) so that each scan had a list of the number of times in the scan 
with times with 0.01 sec of each other counted as the same time.  Then 
CALIB could adopt a scheme that said include e.g. 13 records in most 
integration times but distribute up to e.g. 13/2 samples into the other 
integrations rather than one at the end.  Of course if the times due to 
flagging and averaging are all messed up this may still make a big mess 
since CALIB will have to assume that the times are more or less regular 
in the counts in the scan.

Note that with single precision floats - your time of 3 days may not 
measure time to that accuracy.  It is really best to keep it down to 
about 1 day, but that is not the source of your problem although we did 
have an issue of trying to read past the end of the NX table because of 
this.  Now that attempt is still done but in a non-fatal way.

This is probably a longer answer than you expected but this is a problem 
that has deviled us for 29.5 years and every solution we have tried has 
made trouble for some vocal set of users.

Eric Greisen




More information about the Daip mailing list