This is an
ad hoc page for using Mihael's StreamTool script to examine LIGO stream files. When we get the chance, we should
- learn how to use all of the scripts in the i2u2-data
/usr/local/ligotools/ligotools/
and /usr/local/ligotools/i2u2tools/
directories and document them, and
- integrate StreamTool into them so that the rest of this page becomes unnecessary.
Mihael's archive for StreamTool is stored in the
/home/quarkcat/archives/
directory of
i2u2-dev as the file
StreamJava.tar.gz
. When untarred, this archive creates the filetree
java/
└── gov
└── fnal
└── elab
└── ligo
└── data
├── chart
├── convert
│ ├── AbstractDataTool.java
│ ├── BrokenDataException.java
│ ├── ChannelName.java
│ ├── CheckData.java
│ ├── DataBinaryFileWriter.java
│ ├── DataFileWriter.java
│ ├── DataReaderEntry.java
│ ├── DataReader.java
│ ├── DoubleDataReader.java
│ ├── DumpViewer.java
│ ├── FloatDataReader.java
│ ├── GPSTimeConverter.java
│ ├── ImportData.java
│ ├── IntDataReader.java
│ ├── LIGOFileClass.java
│ ├── LIGOFile.java
│ ├── ProcessTools.java
│ ├── ToolException.java
│ └── TruncateStreams.java
├── engine
│ ├── ChannelIndex.java
│ ├── ChannelProperties.java
│ ├── DirectLIGOFileReader.java
│ ├── DumpSums.java
│ ├── EncodingTools.java
│ ├── EngineException.java
│ ├── InfoFileFilter.java
│ ├── LIGOFileDataEngine.java
│ ├── LIGOFileReaderFactory.java
│ ├── LIGOFileReader.java
│ ├── Modifiable.java
│ ├── ModificationChecker.java
│ ├── NumberArrayDataSet.java
│ ├── Record.java
│ ├── ServiceLIGOFileReader.java
│ └── StreamTool.java
└── json
├── ConvertUnixToGPS.java
├── DataSetSerializer.java
└── GPSConvertingJSMillisDataSetSerializer.java
This is essentially Mihael's personal copy of the
i2u2-data directory
/usr/local/ligotools/i2u2tools/java/
, a set of tools written by the ELabs developers who created the LIGO e-Lab. Note that the
i2u2-data java/gov/fnal/elab/ligo/data/engine/
directory doesn't have a copy of
StreamTool.java
, though, which is why we had to get it from Mihael.
This fileset doesn't quite have everything it needs to compile and run StreamTool. In particular, it needs files from the package
gov.fnal.elab.expression.data.engine
, which can be found in the repository. I symlinked it in as
$ ln -s ~/svn_project_roots/4.0-ND-dev/common/src/java/gov/fnal/elab/expression/ ./java/gov/fnal/elab/expression
(executed from the directory where I unpacked the
tar
file); adjust for where you keep your repo branch working copies. Then, run
$ javac -cp ./java/ java/gov/fnal/elab/ligo/data/convert/GPSTimeConverter.java java/gov/fnal/elab/ligo/data/engine/ChannelIndex.java java/gov/fnal/elab/ligo/data/engine/EncodingTools.java java/gov/fnal/elab/ligo/data/engine/StreamTool.java
to compile StreamTool.
Now, from the untarred
java/
directory, you can run StreamTool:
$ java gov.fnal.elab.ligo.data.engine.StreamTool
Missing argument 'channel'
StreamTool <channel> (index | stream [<stream-options>])
<channel>:
a file name or index name or channel name to work with
<stream-options>:
-width <integer>
The width of the display (in characters), where applicable
-start <time>
First time to display
-end <time>
Last time to display
-graph
Generate a graph of the data (default)
-list
Produce a listing of the data
Here, the program complains that we haven't provided an argument and offers some help in invoking it. To use it, provide it the name of a stream channel and a command such as
index
:
$ java gov.fnal.elab.ligo.data.engine.StreamTool /path/to/H1\:PEM-CS_SEIS_LVEA_VERTEX_Z_BLRMS_10HZ30 index > out.txt
There must be a
.index.bin
file at the location you specify for the stream name, but you don't need to specify the
.index.bin
extension itself in the command.
-- Main.JoelG - 2017-02-06