Documentation of Wideband VLBA Software - National Radio ...
Documentation of Wideband VLBA Software - National Radio ...
Documentation of Wideband VLBA Software - National Radio ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Abstract<br />
1 Introduction<br />
<strong>VLBA</strong> Sensitivity Upgrade Memo 3x<br />
<strong>VLBA</strong> <strong>Wideband</strong> S<strong>of</strong>tware<br />
Walter Brisken<br />
17 Oct 2011 draft v.1<br />
This document serves as an overview <strong>of</strong> the s<strong>of</strong>tware being added to <strong>VLBA</strong> operations as part <strong>of</strong> the <strong>VLBA</strong><br />
Sensitivit Upgrade Project. New s<strong>of</strong>tware that will be installed as part <strong>of</strong> the C-band upgrade project<br />
will also be included here. The top-level sections are organized by the devices or computers on which<br />
the s<strong>of</strong>tware is installed. The second-level <strong>of</strong> the heirarchy represents natural installation units, which can<br />
include multiple individual programs. In most cases these units are Redhat Packages. Many <strong>of</strong> the larger<br />
s<strong>of</strong>tware subsystems have extensive documention which will not be repeated here but this document will<br />
serve as primary documentation for many <strong>of</strong> the smaller or more obscure utilities. This document is meant<br />
to be useful for a wide audience including operators, s<strong>of</strong>tware engineers and systems administrators. It is<br />
expected that this document will evolve with time. At the time <strong>of</strong> writing this documented’s Latex source<br />
is stored in subversion at https://svn.aoc.nrao.edu/repos/<strong>VLBA</strong>/DigitalBackend/trunk/doc/memos/<br />
upgrades<strong>of</strong>tware . Hopefully some effort will be made to prevent this document from getting too far out<br />
date.<br />
2 Mark5C<br />
The following sections describe s<strong>of</strong>tware running on NRAO Mark5C units that are deployed at <strong>VLBA</strong><br />
stations, the EVLA, GBT and the test rack. All NRAO Mark5 units run RedHat Enterprise Linux (version<br />
5 as <strong>of</strong> this writing). Except for DRS, all <strong>of</strong> the s<strong>of</strong>tware is currently packaged as Redhat Packages (.rpm<br />
files) which allows computing staff to easily deploy upgrades and configure a clean unit.<br />
Each <strong>VLBA</strong> station has at least one Mark5C unit. The primary Mark5C unit at each station will have<br />
hostname xx-mark5c-1, where xx is the standard two letter station code. At the EVLA and GBT, the two<br />
letter codes are ea and gb respectively. Provisions for a second Mark5C unit with name xx-mark5c-2 have<br />
been in plans since the beginning. Pie Town and Mauna Kea each have a Mark5C unit specifically installed<br />
to support daily observations made by the US Naval Observatory. These units are called pt-mark5c-usno<br />
and mk-mark5c-usno respectively.<br />
2.1 Streamstor SDK<br />
Package streamstor-9.1-1.i386.rpm<br />
SVN path https://svn.aoc.nrao.edu/repos/<strong>VLBA</strong>/mark5/trunk/src/streamstor<br />
Requires 32-bit Linux operating system 1<br />
Provides StreamStor driver (windrvr6.ko)<br />
StreamStor firmware (*.xfb)<br />
include files (xlrapi.h, xlrdbcommon.h, xlrtypes.h)<br />
libraries (libssapi.a, libwdapi1021.so)<br />
streamstor.pc<br />
utilities (dumpram, sflash, sslog, ssopen, ssprintVersions, sstest)<br />
For the most part this is a repackaging <strong>of</strong> the S<strong>of</strong>tware Development Kit (SDK) made by conduant. The<br />
file streamstor.pc is added to aid in detection <strong>of</strong> the library in the compilation <strong>of</strong> packages that depend on<br />
this library.<br />
1
The included utilties do not make use <strong>of</strong> the locking mechanism that is used by the NRAO and DiFX<br />
Mark5 s<strong>of</strong>tware and by DRS. Thus it is very important to make sure that no program is currently using the<br />
StreamStor card when running any <strong>of</strong> these programs. This includes stopping mk5daemon which wakes up<br />
the StreamStor card every 10 seconds for a status update.<br />
Please see the <strong>of</strong>ficial Conduant documentation for more information about any <strong>of</strong> the above s<strong>of</strong>tware<br />
components.<br />
2.1.1 Firmware upgrades<br />
Note that with the Amazon cards that are used in Mark5C units, upgrading this package almost certainly<br />
requires a manual firmware upgrade. This is done with the ssflash utility. Running ssflash requires a<br />
module to be installed in bank A (one without critical data is suggested) and no other s<strong>of</strong>tware accessing<br />
the StreamStor card can be running. The recommended procedure to upgrade firmware on an NRAO Mark5<br />
unit is:<br />
1. Run StopDRS and StopMK5D (see §??)<br />
2. Run ssprintVersions and record the current versions <strong>of</strong> the firmware and API components<br />
3. Upgrade the package: rpm -Uvh streamstor-X.i386.rpm<br />
4. Reboot the unit<br />
5. Run ssprintVersions to verify an upgrade in the API version<br />
6. cd into $STREAMSTOR BIB PATH (/usr/share/streamstor/bib)<br />
7. Run ssflash -u SDK9.1.ssf (replacing 9.1 with the new version)<br />
8. Upon completion, reboot the unit<br />
9. Verify firmware upgrade with ssprintVersions<br />
10. Start DRS or mk5daemon as desired<br />
2.2 DifxMessage<br />
Package difxmessage-2.0.2-5.i386.rpm<br />
SVN path https://svn.atnf.csiro.au/difx/libraries/difxmessage<br />
Provides shared libraries (libdifxmessage.so, libmark5ipc.so)<br />
static libraries (libdifxmessage.a, libmark5ipc.a)<br />
include files (difxmessage.h, mark5ipc.h)<br />
difxmessage.pc<br />
utilities (mk5mon, cpumon, . . .)<br />
The DifxMessage package provides libraries that implement the DiFX s<strong>of</strong>tware correlator messaging system<br />
and the Mark5 locking mechanism. While several utilities are included with this library most are not <strong>of</strong><br />
much use at a station Mark5 unit.<br />
Please see the DiFX documentation for more information about the DifXMessage s<strong>of</strong>tware.<br />
2
2.3 Mark5Access<br />
Package mark5access-1.4.3-1.i386.rpm<br />
SVN path https://svn.atnf.csiro.au/difx/libraries/mark5access<br />
Provides shared library (libmark5access.so)<br />
static library (libmark5access.a)<br />
include file (mark5access.h)<br />
mark5access.pc<br />
utilities (m5d, m5fold, m5pcal, m5spec, zerocorr, . . .)<br />
This library is for the decoding <strong>of</strong> VLBI baseband data. It currently supports Mark4, <strong>VLBA</strong> and Mark5B<br />
formats fairly completely. Single thread variants <strong>of</strong> VDIF are handled at a minimal level.<br />
Please see DiFX documentation for more information.<br />
2.4 Mk5Daemon<br />
Package mk5daemon-2.0.2-9.i386.rpm<br />
SVN path https://svn.atnf.csiro.au/difx/applications/mk5daemon<br />
Requires streamstor, difxmessage, mark5access<br />
Provides mk5daemon<br />
utilities (fileto5c, mk5cp, mk5dir, mk5erase, mk5map, record5c, recover, testmod, vsn, . . .)<br />
The program mk5daemon was originally written to aid in the transition from the hardware to the s<strong>of</strong>tware<br />
correlator during which time Mark5 units were capable <strong>of</strong> feeding both systems. It was responsibile for starting<br />
and stopping the Mark5A program and maintaining current state <strong>of</strong> modules for the s<strong>of</strong>tware correlator.<br />
This s<strong>of</strong>tware has evolved to do much more and now supports a VSI-S interface that matches the capabilities<br />
<strong>of</strong> DRS fairly closely. DRS cannot be run at the same time as mk5daemon as both want to accept messages<br />
on the VSI-S port (2620) and both need access to the StreamStor card 2 .<br />
The VSI-S interface supported by mk5daemon is almost equivalent to that <strong>of</strong> DRS. Please see the DRS<br />
documentation, but note the following differences:<br />
• DTS id replies with system type mk5daemon 3 instead <strong>of</strong> Mark5C<br />
• record? queries will return the data rate as an additional parameter<br />
• error? queries are handled very differently. FIXME: document this<br />
• scan set, scan check, and data check are not yet supported<br />
The architecture <strong>of</strong> mk5daemon is very different than that <strong>of</strong> DRS. The key differences are:<br />
• A single programming language is used (C++) rather than two (python, C++)<br />
• The StreamStor card is not kept open; only occasional peeks at the modules are made<br />
• All major module functionality is handled through helper programs record5c, mk5erase, recover,<br />
vsn, . . .<br />
• mk5daemon will block VSI-S commands for up to 3 seconds on record stop to ensure consistency in<br />
state after recording.<br />
• Logging infrastructure is simpler but more consistent<br />
• Facilities for extracting S.M.A.R.T. data from modules is deeply integrated<br />
2 Note however that DRS can be set to a personality that does not lock the StreamStor.<br />
3 mk5daemon can be compiled without StreamStor support; the system type parameter will report mk5daemon noss in this case<br />
and will only support a small subset <strong>of</strong> the VSI-S commands.<br />
3
The differences between the two programs is hoped to aid in the stabilization <strong>of</strong> the Mark5C recorder. Having<br />
two independent code bases can expediate isolation <strong>of</strong> problems. The choice <strong>of</strong> which s<strong>of</strong>tware to ultimately<br />
use has not been made yet.<br />
Most <strong>of</strong> the included utilities are explained in the DiFX documentation. See §?? for details on starting<br />
and stopping mk5daemon<br />
2.5 DRS<br />
SVN path svn+ssh://wbrisken@vault.haystack.mit.edu/svnrepos/DRS<br />
Requires streamstor<br />
Provides drs<br />
drs client<br />
The Data Recording System (DRS) is the standard s<strong>of</strong>tware for recording data on a Mark5C unit. This<br />
s<strong>of</strong>tware has extensive documentation and won’t be described in detail here. See §?? for details on starting<br />
and stopping DRS on NRAO Mark5C units.<br />
A Redhat package (.rpm) for DRS will become the primary distribution mechanism as soon as python<br />
2.5 becomes standard with RedHat Enterprise Linux.<br />
2.6 Mark5C MIB Emulator<br />
Package mib mark5c-0.7-1.i386.rpm<br />
SVN path https://svn.aoc.nrao.edu/repos/<strong>VLBA</strong>/mib_mark5c<br />
Provides mib mark5c<br />
Configuration file mib mark5A pt.xml<br />
The Monitor Interface Board (MIB) is a single board computer monitor & control interface used by the<br />
EVLA. The s<strong>of</strong>tware on these boards allows high-level communication via XML over TCP or UDP. Archive<br />
data and alerts are multicast for other s<strong>of</strong>tware on the local network to intercept. Several subsystems have<br />
s<strong>of</strong>tware that emulates the functionality <strong>of</strong> a MIB. The <strong>VLBA</strong> Sensitivity Upgrade Project is adopting the<br />
EVLA control system and thus the MIB infrastructure.<br />
The Mark5C MIB is a piece <strong>of</strong> s<strong>of</strong>tware that runs on the Mark5C unit. It connects to the VSI-S<br />
interface <strong>of</strong> DRS or mk5daemon. It periodically (ranging between seconds and hours) makes queries. When<br />
commanded to do so, the MIB emulator will also send VSI-S commands. This s<strong>of</strong>tware is also responsible<br />
for implementing auto-erase <strong>of</strong> modules based on their Disk Module State and bank switching on module<br />
fill-up.<br />
To start this program from the command line, you must include a command line parameter that points<br />
to the path where the configuration file lives:<br />
mib mark5c -p/etc<br />
Logging information will be sent to stdout and stderr.<br />
See §?? for details on starting and stopping mib mark5c on NRAO Mark5C units.<br />
2.7 Mark5C logging s<strong>of</strong>tware<br />
Package logmark5c-0.10-4.i386.rpm<br />
SVN path https://svn.aoc.nrao.edu/repos/<strong>VLBA</strong>/logmark5c<br />
Provides logmark5c (and StartDRS, StopDRS, & RestartDRS)<br />
logmk5d (and StartMK5D, StopMK5D, & RestartMK5D)<br />
logmibmark5c (and StartMIB, StopMIB, & RestartMIB)<br />
start-up scripts nrao-mark5, nrao-mk5d, & nrao-mibmark5c<br />
A system <strong>of</strong> programs that provide logging and boot-persistent start/stop were created to increase the<br />
simplicity and consistency <strong>of</strong> s<strong>of</strong>tware that must be running on Mark5 units for proper operation. This<br />
package has this logging s<strong>of</strong>tware for DRS, mk5daemon and mib mark5c.<br />
4
2.7.1 logmark5c<br />
logmark5c is a program that is started on boot by nrao-mark5c, a script that lives in /etc/init.d . On<br />
start-up it begins monitoring a watch file /var/spool/mark5/logmark5c.watch. The contents <strong>of</strong> the first<br />
line <strong>of</strong> this file are used to control the state <strong>of</strong> DRS. If the line contains a positive integer, DRS will be started,<br />
if not already active; if zero or negative, it will be stopped if not already stopped. Two key properties this<br />
system provides are:<br />
• Ability for any user to control program running as root in a secure way.<br />
• Prevent more than one instance <strong>of</strong> the program from being run.<br />
The watch file is most conveniently managed by three scripts:<br />
1. StartDRS: Start the program<br />
2. StopDRS: Stop the program<br />
3. RestartDRS: Stop and restart the program<br />
Note that RestartDRS recognizes that the MIB s<strong>of</strong>tware likely needs to be restarted after restarting DRS, so<br />
it first checks the state <strong>of</strong> the /var/spool/mark5/logmibmark5c.watch; if it is on, then the MIB s<strong>of</strong>tware<br />
is first stopped and then started. Note also that the scripts know that DRS and mk5daemon cannot coexist,<br />
so StartDRS will first ensure mk5daemon is stopped (and vice-versa).<br />
Logging facilities collect stdout and stderr coming from DRS. Native time-tag information from these<br />
text streams are removed and DEBUG level messages are dropped. The logging s<strong>of</strong>tware reformats the text<br />
with just one time-tag per second (maximum). Example log output (from 2011 302 18 00 00.drs.log):<br />
2011/302 18:01:58<br />
INFO Input: status?;<br />
INFO Output: [1, ’!status? 0 : 0x00300001 ;\n’]<br />
INFO Input: bank_set?;<br />
OTHER arg passed was A<br />
OTHER Getting the status for Bank 0<br />
OTHER 0 status was successful<br />
OTHER XLR_LABEL_LEN is 100<br />
OTHER label NRAO+313/8000/1024<br />
OTHER state 2 sel 1 pwr_req 1<br />
OTHER pwr_en 1 media_status 1 wr_prot 0 err_code 0 err_data 0<br />
OTHER len 264a0a0aeb8 total_cap 74701830 total_cap_bytes 74701830000<br />
OTHER arg passed was B<br />
OTHER Getting the status for Bank 1<br />
OTHER 1 status was successful<br />
OTHER XLR_LABEL_LEN is 100<br />
OTHER label LABEL NOT AVAILABLE<br />
OTHER state 0 sel 0 pwr_req 0<br />
OTHER pwr_en 0 media_status 0 wr_prot 0 err_code 0 err_data 0<br />
OTHER len 0 total_cap 0 total_cap_bytes 0<br />
INFO Output: [1, ’!bank_set? 0 : A : NRAO+313/8000/1024 : - : - ;\n’]<br />
INFO Input: record?;<br />
INFO Output: [1, ’!record? 0 : <strong>of</strong>f : 500 : TESTPFB_AT_No0001 ;\n’]<br />
Log data is written into a log directory /export/home/mark5/vlbamon/logs into files that rotate every<br />
6 hours. After each file is completed (a new 6 hour portion <strong>of</strong> the day is started), the log file is gziped. The<br />
log directory is monitored by tmpwatch with files older than 60 day automatically deleted.<br />
5
2.7.2 logmk5d<br />
This program is completely analogous to logmark5c, but controls mk5daemon instead. Example log output<br />
(from 2011 302 18 00 00.mk5d.log):<br />
2011/302 18:00:01<br />
VSI-S received: status?;<br />
VSI-S responding: !status? 0 : 0x02340001;<br />
VSI-S received: bank_set?;<br />
VSI-S responding: !bank_set? 0 : A : UNAM+010 : B : NRAO+398;<br />
VSI-S received: record?;<br />
VSI-S responding: !record? 0 : <strong>of</strong>f : 117 : BR152G_PT_No0072;<br />
VSI-S received: bank_info?;<br />
VSI-S responding: !bank_info? 0 : A : 12371057209816 : B : 16003099193344;<br />
2.7.3 logmibmark5c<br />
This program is completely analogous to logmark5c, but controls mib mark5c instead. Example log output<br />
(from 2011 301 00 00 00.mib mark5c.log):<br />
2011/301 00:00:03<br />
rx_msg @: 55862.000034722223: get mark5c.ConnectionState<br />
rx_msg @: 55862.000034722223: get mark5c.Online<br />
rx_msg @: 55862.000034722223: get MARK5C.RecordState.msg<br />
rx_msg @: 55862.000034722223: get MARK5C.ConnectionState<br />
rx_msg @: 55862.000034722223: get bank0.TotalBytesRecorded<br />
rx_msg @: 55862.000034722223: get bank0.ModuleUsed<br />
rx_msg @: 55862.000034722223: get bank1.ModuleUsed<br />
rx_msg @: 55862.000034722223: get bank1.TotalBytesRecorded<br />
rx_msg @: 55862.000034722223: get mark5c.BankASelected<br />
rx_msg @: 55862.000034722223: get mark5c.BankBSelected<br />
rx_msg @: 55862.000034722223: get mark5c.BankAReady<br />
rx_msg @: 55862.000034722223: get mark5c.BankBReady<br />
rx_msg @: 55862.000034722223: get mark5c.Online<br />
sent: status?;<br />
recv: !status? 0 : 0x02340001;<br />
sent: bank_set?;<br />
recv: !bank_set? 0 : A : UNAM+010 : B : NRAO+398;<br />
3 RDBE<br />
Each <strong>VLBA</strong> station and the GBT will have two RDBEs at the completion <strong>of</strong> the <strong>VLBA</strong> Sensitivity Upgrade<br />
Project with hostnames xx-mark5c-1 and xx-mark5c-2, where xx is the standard two letter station code.<br />
The EVLA will not have any RDBEs as the WIDAR correlator will provide equivalent functionality.<br />
Unlike the other Linux-based components <strong>of</strong> the <strong>VLBA</strong>, the RDBE natively runs a small Debian-based<br />
distribution and thus Redhat Packages are not used for s<strong>of</strong>tware distribution. FIXME: explain what is<br />
actually done.<br />
6
3.1 Server<br />
SVN path svn+ssh://vault.haystack.mit.edu/svnrepos/RDBE<br />
Provides<br />
3.2 RDBE MIB<br />
SVN path https://svn.aoc.nrao.edu/repos/<strong>VLBA</strong>/mib_rdbe<br />
Provides<br />
4 Control Computer<br />
Each <strong>VLBA</strong> station and the GBT has a new Linux-based Control Computer with hostname xx-cc, where xx<br />
is the standard two letter station code. The EVLA will make use <strong>of</strong> existing computers at the site to host a<br />
relevant subset <strong>of</strong> s<strong>of</strong>tware.<br />
4.1 Observe Script Monitor<br />
Package ObservScriptMonitor-0.0.8-2.x86 64.rpm<br />
SVN path https://svn.aoc.nrao.edu/repos/<strong>VLBA</strong>/ObservScriptMonitor<br />
Provides ObservScriptMonitor-0.0.8.jar<br />
utilities (observDebug.sh, observInfo.sh, & observMon.sh<br />
This program is started upon boot <strong>of</strong> the control computer and monitors file /export/home/cc/vlba/scripts/observ.tx<br />
for upcoming observations. When it is time to begin an observation, this program sends a request to a running<br />
Exector to start the file. Some example lines from the observ.tx file follow:<br />
TD023A 2011OCT06 13h25m00s 2011OCT06 13h54m15s > pt<br />
TD023B 2011OCT06 13h55m00s 2011OCT06 14h25m15s > pt<br />
TD023C 2011OCT06 14h27m00s 2011OCT06 16h17m15s > pt<br />
The format <strong>of</strong> this file is identical to that <strong>of</strong> observ.tx that runs on the legacy system, allowing one file<br />
to be used for both. By default, entries in observe.tx start 5 minutes before the actual observation (as<br />
specified in the vex file) start to allow slewing to the first source. The end time <strong>of</strong> the entry is 5 seconds after<br />
nominal end <strong>of</strong> observation to provide time for finalization. It seems that in practice this simplification will<br />
not be exploited as a script (see §??) will automatically update the observ.tx file at each <strong>VLBA</strong> control<br />
computer as necessary.<br />
4.2 Executor<br />
Package observe-0.5.0k-3.x86 64.rpm<br />
SVN path https://svn.aoc.nrao.edu/repos/FIXME<br />
Provides vlba-observe-with-dependencies.jar<br />
The executor (also called the observe executor or observation executor) is the s<strong>of</strong>tware that reads a python<br />
control script and generates the commands to cause an observation to happen. Currently the executor only<br />
controls the new equipment installed as part <strong>of</strong> the <strong>VLBA</strong> Sensitivity Upgrade Project (Mark5C, RDBE<br />
and 4x4 matrix switch). Ultimately the executor will completely replace the vxWorks-based legacy control<br />
system that currently controls all <strong>of</strong> the antenna motion, tuning, etc.<br />
FIXME: What installs execAdd, execInfo, & execKill?<br />
7
4.3 Executor Logger<br />
Package logExecutor-0.3-1.x86 64.rpm<br />
SVN path https://svn.aoc.nrao.edu/repos/<strong>VLBA</strong>/logExecutor<br />
Provides logExecutor<br />
control scripts (StartExecutor, StopExecutor, & RestartExecutor)<br />
start-up script (nrao-executor)<br />
The executor logger is completely analogous to logmark5c (§??). Log data is stored in /export/home/cc/vlba/logs.<br />
Example log data from :<br />
2011/302 20:55:00<br />
Oct 29, 2011 8:55:00 PM edu.nrao.evla.observe.Executor addJob<br />
INFO: 20:55:00 Oct29::Executor->Add job :’N1302’; script: /export/home/cc/vlba/scripts/N1302.PT.py<br />
Oct 29, 2011 8:55:00 PM edu.nrao.evla.observe.Executor start<br />
INFO: 20:55:00 Oct29::Executor->Job ’N1302’ started...<br />
N1302 55863 20:55:00 Problem setting TAI-UTC in L350<br />
Oct 29, 2011 8:55:00 PM edu.nrao.evla.observe.Array println<br />
INFO: N1302 55863 20:55:00 Problem setting TAI-UTC in L350<br />
MatrixSwitch - Antenna name abbreviation: pt<br />
Matrix Switch name: pt-t450<br />
Oct 29, 2011 8:55:00 PM edu.nrao.evla.observe.MatrixSwitch <br />
INFO: Matrix 4x4 Switch socket address: pt-t450/10.81.106.176:7000<br />
4.4 Remote Monitor Data Server<br />
Package FIXME!<br />
SVN path https://svn.aoc.nrao.edu/repos/<strong>VLBA</strong>/RemoteMonitorDataServer<br />
Provides RemoteMonitorDataServer.final.jar<br />
The Remonte Monitor Data Server listens for multicast XML messages. Two classes <strong>of</strong> messages are collected:<br />
alerts and archive monitor data. The data is collected and periodically compressed and FTPed to the operations<br />
center where it is ingested into the monitor database. FIXME What installs nrao-RemoteMonitorDataServer<br />
into /etc/init.d?<br />
4.5 Alerts Server<br />
SVN path https://svn.aoc.nrao.edu/repos/EVLA/alerts-server<br />
Provides vlba-alerts-server.war<br />
The <strong>VLBA</strong> Alerts Server is a near clone <strong>of</strong> the same tool used at the EVLA. It is a web service that listens<br />
for multicast alerts from MIB or MIB emulator equipped devices and stores a table <strong>of</strong> active alerts. All<br />
active alerts can be requested from a web portal FIXME: http address goes here at each <strong>VLBA</strong> site.<br />
4.6 RDBE Switched Power Receiver<br />
Package rspr-0.1-1.x86 64.rpm<br />
SVN path https://svn.aoc.nrao.edu/repos/<strong>VLBA</strong>/rspr<br />
Requires logExecutor<br />
Provides rspr<br />
logger (logrspr)<br />
control scripts (StartRSPR, StopRSPR, & RestartRSPR)<br />
start-up script (nrao-rspr)<br />
utilities (switchedpowerfake)<br />
8
The RDBE Switched Power Receiver program runs on the control computer at each <strong>VLBA</strong> site (and GBT)<br />
and listens for multicast switched power measurements from the RDBEs at each site. It collects observation<br />
setup metadata from the RDBEs and labels the measurements according to frequency and polarization in<br />
a text file. This text file is periodically (nominally 4 times daily) gziped and sent to central operations by<br />
the Remote Monitor Data Server. The data are left as comperessed files on a machine within direectory<br />
FIXME: TBD.<br />
The utility switchedpowerfake can be used as a s<strong>of</strong>tware development tool. It broadcasts semirealistic<br />
switched power data in the same manner the RDBE would.<br />
5 Central Operations<br />
5.1 Operator GUIs<br />
SVN path https://svn.aoc.nrao.edu/repos/<strong>VLBA</strong>/opspack<br />
The GUI can be spawn via web start from http://www.aoc.nrao.edu/asg-internal/s<strong>of</strong>tware/vlba/ .<br />
5.2 vex2difx utilities<br />
SVN path https://svn.atnf.csiro.au/difx/applications/vex2difx<br />
Requires difxmessage, difxio<br />
Provides vex2script<br />
queueVex<br />
goUSNO<br />
several other DiFX tools<br />
5.2.1 vex2script<br />
The new <strong>VLBA</strong> s<strong>of</strong>tware system is controlled by a .vex file. The program �vex2script converts one station<br />
at time the .vex file to python control files.<br />
5.2.2 queueVex<br />
queueVex is a script that runs vex2script, copies the python control files to the <strong>VLBA</strong> stations, and updates<br />
the observ.tx file appropriately.<br />
5.2.3 goUSNO<br />
goUSNO is a special purpose script that is used to schedule daily UT1-UTC observations for the USNO. The<br />
program goes through the following steps:<br />
1. generate a schedule (.key) file<br />
2. run sched to generate .vex and crd files<br />
3. run db2vex to add predicted EOPs and clocks to generate a .vex.preobs file<br />
4. run vex2script to generate executor control files<br />
5. copy executor Mark5C control files to <strong>VLBA</strong> stations<br />
6. update the Mark5C observ.tx file on the new systems at <strong>VLBA</strong> stations<br />
7. email a confirmation to a special purpose mailing list<br />
9
6 Acronym Salad<br />
API Application Programming Interface (essentially a set <strong>of</strong> function calls)<br />
DiFX Distributed FX, the s<strong>of</strong>tware correlator used by the <strong>VLBA</strong><br />
DRS Data Recording System (Mark5C)<br />
DTS Data Transmission System<br />
EOP Earth Orientation Parameter<br />
EVLA Expanded Very Large Array<br />
GBT Greenbank Telescope<br />
MIB Monitor Interface Board (here usually used to mean MIB emulator)<br />
NRAO <strong>National</strong> <strong>Radio</strong> Astronomy Observatory<br />
RDBE ROACH Digital Back End<br />
ROACH Reconfigurable Open-Architecture Computing Hardware<br />
RPM Redhat Package Manager: the s<strong>of</strong>tware package system for Redhat Linux<br />
RSPR RDBE Switched Power Receiver: a program that collects data for Tsys<br />
SDK S<strong>of</strong>tware Development Kit<br />
SS StreamStor<br />
SVN Subversion, a s<strong>of</strong>tware version control system<br />
TCP Transmission Control Protocol, a network communication type<br />
Tsys<br />
System Temperature<br />
USNO US Naval Observatory<br />
UDP Unreliable Datagram Protocol, a network communication type<br />
UT1 Universal Time as identified by the phase <strong>of</strong> Earth rotation<br />
UTC Coordinated Universal Time (atomic time)<br />
VDIF VLBI Data Interchange Format, a new format for baseband data<br />
<strong>VLBA</strong> Very Long Baseline Array<br />
VLBI Very Long Baseline Interferometry<br />
VSI-S VLBI Standard Interface for S<strong>of</strong>tware, a query/control protocol<br />
XML Extensible Mark-up Language<br />
10