The RtFC depends on 4 distributed programs to transfer data from LBADR or Mark5 recording systems to a central location, and then invoke the DiFX software correlator. The software is written in Perl, with a couple of support programs used to extract a short time interval of data from the recorded data. Currently the system works interactively, support could be added to schedule automatic fringe checks.
For normal LBA sessions, the fringe tester is run from a VNC session on pam0:1 (pkpam if at Parkes).
The four programs are:
:control.pl: Connects all the perl processes together. Mostly used to pass messages between the processes. Can be run on any machine to which (incoming) network connections can be opened. Generally run on the same machine as corr.pl.
:corr.pl: Receives data from the LBADR recorder at the observatory and initiates the software correlator. Connects to control.pl. Should be run on a machine which can launch DiFX and with adequate disk space.
:ui.pl: A CLI to control system. Used to configure various parameters such as the number of spectral points and to initiate a fringe check for a specific time. Connects to control.pl. Multiple copies can be run simultaneously.
:obs.pl: Runs at the observatory on the LBADR recorder. Sends the data to the software correlator. Connects to control.pl and corr.pl
obs.pl runs an external programs (vsipack) to extract the requested time fragment from the (large) data files and optionally “compress” the data (select a sub selection of the data channels) before transferring. On Mark5 systems it uses the external programs m5time and m5slice which must be installed separately.
To run the programs, they need to know the remote host running the other programs. This can be set on the command line, or preset via environment variables. In the RtFC directory there is a script “
setup.csh” which should be sourced and will setup most of these environment variables. Before running the RtFC system, the values set in this script should be checked.
To run the system first start control.pl, then corr.pl. After this run
obs.pl at each observatory taking part in the fringe check and finally run 22ui.pl
from any machine which can connect to control.pl
. More than one ui.pl22 can be running. Due to some issues with networking connections timing out, if the system has been idle for a while (an hour or so), all processes may have to be restarted. If corr.pl or control.pl need to be restarted then all instances of obs.pl must be restarted.
A grab command from
ui.pl gets the observatories to look for the right time code, then they send the data to corr.pl, where it is stored. The program vsipack is used to only send a fraction of a second and will optionally only send some of the channels (the LBADR recorder normally records up to 4 data channels).