GUI for starting different correlator systems

GUI for starting different correlator
systems
Bob Eldering, Software Engineer JIVE
May 13th, 2011
Contents
1 Introduction
2
2 Usage
2
2.1 Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.2 Correlator . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.3 Clock search . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.4 Scans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.5 Control
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Implementation
6
3.1 Software correlator back-end . . . . . . . . . . . . . . . . . .
1
6
1
Introduction
With the coming development of a next generation hardware correlator
and the software correlator being used for production correlation, there
is a need for a single driving interface for all correlator systems used
at JIVE. This document describes the GUI designed to start correlation
jobs on all three correlator systems. Its look-and-feel is based on the
runjob program used to start jobs for the current hardware correlator,
shown in Figure 1. We will try to keep the new job starting GUI similar
to this program.
Figure 1: The GUI used to start jobs in the current system
A major change change from the current system is that the new GUI
will get its data from a database. More about that in the following
sections.
2
Usage
Figure 2 shows the GUI. It can be divided into 5 areas. The three on
the top of the screen, being Config, Correlator and Clock search, in the
middle Scans and at the bottom Control.
2
Figure 2: Overview of the GUI
2.1
Config
As said, this program uses a database to get its job information. The
database stores data on all experiments and jobs. So the first thing a
user has to do is select an experiment. This is done from a drop down
menu at the top of the config box. The list of experiments will grow
quite large over the years, therefor this list can be sorted. The default
sort option is on start time. This should work quite well for experiments
from the current session, as they will normally be among the first few
shown in the drop down menu. The other sort option is on experiment
name. This might be a better option to find older experiments.
Once the experiment has been selected, the user has to select a profile
or create a new one. A profile is simply a set of correlation parameters
as shown in the rest of the Config box. This includes the station to be
correlated for the job, frequency points, integration time, whether to do
cross polarizations and which channels to correlate.
Next to the profile select is a checkbox called “Lock” this will disable
changing the profile parameters to prevent accidental editing when
running jobs. The locked state of the GUI is shown in Figure 3
3
Figure 3: The GUI locked in its current configuration
2.2
Correlator
Next to the Config box is the Correlator box. Here one can select which
correlator to use and depending on this selection, correlator specific
options will be displayed. For example the software correlator (SFXC)
is the only correlator supporting pulsar binning for now. So the option
to configure pulsar binning is shown in the SFXC specifics subbox.
2.3
Clock search
The last of the boxes at the top of the window is the Clock search box.
This box gives two methods to initiate a clock search job. The first is by
selecting the checkbox labeled “Clock search all scans”. Selecting this
will start a clock search run on all scans correlated from the GUI. This
options will be most useful for disk based experiments when you know
when to expect fringes. The second option is to set an interval to clock
search. This interval is selected by filling in the boxes labeled “From”
and “To”. This option will be most useful for eVLBI experiments, when
you possibly want to fix some issues, before running a clock search. In
this case you want to start the run immediately after the issues have
been fixed. So there is a button (“Set interval”) which will fill in the
interval boxes. This button comes with a drop down menu to select the
length of the interval. The button “Clock search interval” will actually
4
start the interval shown in the interval boxes.
At the top of the Clock search box is a drop down menu to select the
reference station and at the bottom a status report.
Unfortunately the clock search does not work yet, as none of the correlator back-ends support it yet. More on back-ends in Section 3.
When back-ends have been implemented, the confirmation widget will
be similar to the one in JCCS, see http://www.jive.nl/~jive_cc/
sin/sin15.pdf.
2.4
Scans
In the middle of the window is the scan selection. It shows the following
information about the scans:
• Scan start time.
• Scan end time.
• Source observed during the scan.
• Stations participating in this scan. Stations that are selected in
the Config box are displayed in bold, stations not selected are
displayed gray.
• The correlation mode.
• The status of the scan. This can be either blank, meaning the
scans has not been run yet, tried for a scan that has been run,
but not judged by the operator yet, or good if it has the operator’s stamp of approval and failed for a run that has been deemed
faulty. This status is determined per profile. So, for example, a
status might be blank for the production profile even if it has the
stamp of approval for the clock search profile.
The scan list supports all common list selection techniques, clicking
while holding shift will select a list as will dragging with the mouse
button pressed, holding control and clicking will add or remove a scan
from a list, etc.
2.5
Control
On the bottom of the window is a row of buttons to control the correlator process. The four buttons on this row are:
• Start will, as one would expect, start a correlation job for the selected scans, with the selected configuration.
5
• As mentioned, the GUI gets its data from a database. The data
used to display the information in the window should not change
often, but it is possible. Pressing the reload button will refresh
everything displayed in the window.
• Save profile will simply save the current configuration to the selected profile.
• Press quit when you are done with the program.
3
Implementation
The implementation of the GUI is done in python and is based on the
Qt widget library (see http://qt.nokia.com/).
The idea of the program is to gather data from the experiment database
and display it to the user. The user will then select the configuration
parameters and start a job. The GUI will reserve the required disk units
(see http://www.jive.nl/~jive_cc/sin/sin21.pdf) and enter the
configuration parameters in the correlator control database, describing
which jobs should be run and where to find the recorded data.
A back-end specific to the selected correlator will read from the correlator control database to prepare and run the actual correlation job. Currently, only the back-end for the software correlator is implemented.
3.1
Software correlator back-end
The software correlator back-end has to do two things before kicking of
the actual correlator. First it will have to start the mk5_read program
on the disk units. This program will stream the recorded data to the
correlator when requested. Secondly it will have to create run files
required for the correlator, these are the VEX file, the control file, the
machine file and the ranks file. One of these files is created per subjob
and put on the software correlator cluster. Except for the VEX file,
which is created only once per job. Then the software correlator backend will start the correlator on the software correlator cluster.
6