wiki:Commissioning

Version 4 (modified by jayce, 7 years ago) (diff)

--

LWA-1 Commissioning Scripts

Overview

This is a collection of scripts use for commissioning and testing at the LWA-1 station. All of the scripts depend on the LSL 0.4.x branch.

Obtaining

The easiest way to obtain the latest version of the commissioning scripts is via subversion export/checkout:

svn checkout http://fornax.phys.unm.edu/lwa/subversion/trunk/Commissioning

Contents

General

checkDRSU.sh

Shell script to run on Linux machines with attached and powered-on DRSU to report the firmware version of Seagate drives with model number "ST31000525SV". This is useful for identifying disks with the newer (and less reliable) firmware version "CV12".

time2time.py

Given a date/time in the format of "YYYY-MM-DD HH:MM:SS[.SSS]" in local time, compute the corresponding MJD and MPM in UTC. If no date/time is specified, the current local date/time is used for the conversion.

mjd2local.py

For a given MJD value or list of MJD values, return the range of local times associated with that MJD.

TBW

checkTimetags.py

Script for checking for missing frames and bad time tags in a full DP TBW capture. If problems are found the error are noted and printed out. It shouldn't be too hard to modify this for fewer inputs.

stationMaster.py

Modified version of tbwSpectra.py that is included with LSL (version >= 0.4.0) that estimated the frequency (in MHz) of each dipole's resonance point and saves that information along with time-average spectra to a NPZ file.

smGUI.py

GUI that interfaces with a NPZ file created by stationMaster.py that makes looking for problems with dipoles/mappings/etc. a point-and-click exercise.

TBN

checkTimetags.py

Simple script for making sure that time tags update properly on the prototype DP system. This script won't work for the full DP system because of how the packets are interleaved.

checkTimetags2.py

Modified version of checkTimetags.py that uses the LSL TBN ring buffer to reorder the interleaved packets. The script not only checks time tags like its predecessor but also checks for dropped packets and synchronization problems.

eyeDiagram.py

Create an eye diagram for some portion of a TBN file.

eyeDiagram2.py

Look for glitches in a TBN file by fitting a quantized sine wave to the data.

tbnTimeseries.py

Alpha-version script to plot out time series I/Q data from a TBN file.

DRX

gain.py

JPL-created script for creating gain files to be used by DRX.

delay.py

JPL-create script for created delay files to be used by DRX.

test_analog_in2.py

Script for setting up a test DRX observation with a variety of tuning, frequency, bandwidth, and gain settings. Needs gain.py and delay.py to work.

generateDelays.py

Generate gain and delay files for a particular topocentric pointing (azimuth and elevation in degrees) at a specified frequency.

genernateDelays.py generates text files for gains and delays that need to be converted to binary packed files with the MCS/Executive commands megfg and medfg.

generateDelaysMixed.py

Modified version of generateDelays.py that forms the beam only with the X pol. and leaves only the outlier (#258) on the Y pol.

estimateBeam.py

Use the LSL misc.beamformer's integer delay and sum to estimate the beam shape towards a particular azimuth and elevation and save the beam to a Numpy NPZ file.

driftcurve.py

Using the beam created by estimateBeam.py, generate a temperature as a function of time for that pointing over an entire day. This script is based on the LSL driftcurve.py script.

checkTimetags.py

Simple script to check the time tag sequence in a DRX file and look for strange jumps and other badness. It can also be used to check the DRX decimate (sample rate) field and if the time has been set correctly on the various boards.

getTuningOffset.py

Check for an offset in the time tags associated with the two tunings beyond what is controlled by the time offset stored in the frame header. This should read in the first complete set of frame from all four beamtunepols and compare tunings 1 and 2. Any differences between the times are noted.

drxTimeseries.py

Script for plotting time series data from a DRX file. This file is also available as part of the LSL package (version >= 0.4.0) but is included here since this is the script we actually used at JPL for pre-acceptance testing.