[evlatests] Source change timing

Barry Clark bclark at nrao.edu
Thu Jun 28 16:05:33 EDT 2007


In what follows, the timing is discussed for observations where the
script is created by obs2script.  In general, more complicated 
relations are possible, but are not invoked by obs2script.

The script calls for starting observing Source0 at time t0, 
Source1 at time t1, Source2 at t2.

The script interpreter thread spends most of its time sleeping.
At time t0, it wakes up and organizes the observation of Source1.

This mostly consists of passing the Source and LoIfSetup objects
to the various Antenna (antenna data) objects.  The correlator
mode object is also set at this time.  The Fluke synthesizers 
(part of the VLA antenna LO system) are commanded to the frequencies 
appropriate for Source1, with deferred execution to the time t1.  
If the antenna complement assigned to this Subarray has changed 
since the last source change, or if the correlator mode will change 
with the new observation, a reconfiguration is scheduled for the 
VLA correlator for time t1, and a correlator setup XML document, 
referring to time t1, is sent to Idcaf.  An observation XML document 
is then sent to Idcaf.  As currently written, this document is sent 
at t0 if no correlator reconfiguration is involved, but not until 
the reconfiguration is complete if a reconfiguration occurs.  (I'll 
change that if I can figure out why I did it that way in the first
place.)

The script interpreter thread then calls CALC to precalculate a set 
of delays (and alt, az, u, v, etc) for t1 - 5s, t1 + 5s, t1 + 15s, 
for each Antenna object.  Then, those Antenna objects which are 
attached to a physical antenna, are passed to an AntennaPhysical object, 
where they are stored in an execution queue.  The Antenna objects are 
cloned, and the clones are (eventually) used to set up for Source2.  
Then nothing happens for a long time.  The script interpreter
goes to sleep until time t1, at which time it starts setting up
for Source2.

Meanwhile, the execution thread is keeping an eye on the time.
At t1 - 10s, it processes the information for Source1, calculating
a lot of intermediates which will be used for the duration of the 
scan.  At this time it stores the band-dependent cable delays appropriate
for the observation of Source1.  Commands (deferred to time t1), are 
issued to the FRM to set focus and rotation.  The EVLA AntennaPhysicals
issue (time deferred) commands to the L301s, M301s (same command to 
L304s for interim hardware), T303, F320, D351s (FIR gain and sideband
bit), T304s, L302s (phase switching command) and T5s.  VLA AntennaPhysicals 
issue (time deferred) commands to L6s, F3, F5, F12, F14, F7, and T5s.

At about t1 - 7s, VlaCorrelator checks to see if a correlator 
reconfiguration is scheduled for t1, and, if so, sends the new configuration
message to the correlator controller.  It then prepares and sends a 
delay setting record to the correlator controller, to take effect at t1.
This uses the delay constants stored at t1 - 10 sec.

At t1, the deferred commands start taking effect.  Exceptions:  FRM
focus is sent 25ms later, to avoid timing problem in hardware.  T304
input levels are set at t1+3s, and T304 output levels are set at 
t1+6s, to allow settling time for the detectors.  And commands dribble
out to the VLA antennas at one per antenna per waveguide cycle.



More information about the evlatests mailing list