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
© Copyright 2026 Paperzz