This package contains a library for parsing LIGO_LW Table files, plus several C programs based on the library, plus a few Tcl scripts which do related things. The metiao library can read XML files compressed with the gzip compression algorithm. Metaio is available via the lscsoft repository, from source of via LIGOtools.
The metaio package includes:
- A library (
libmetaio
) which allows a C program to parse a file containing a metadata table in LIGO_LW XML format. Note that, prior to version 6.0, these functions were contained in the library libdataflow.a
in the 'dataflow' ligotools package.
- Utilities to manipulate metadata tables in LIGO_LW files:
-
lwtscan
to print the table's columns and the number of rows
-
lwtcut
to select certain rows from a table based on a numeric comparison and/or row number, report the number of matching rows, and optionally write the matching rows to a new LIGO_LW file
-
lwtprint
to print selected columns/rows as plain text
-
lwtdiff
to compare the data in two files (allowing for formatting variations which do not affect the content)
-
lwtselect
to extract a single Table object from a LIGO_LW file containing multiple Table objects
-
concatMeta
to concatenate LIGO_LW files containing database table data
- The Matlab MEX-file
readMeta
, which reads the contents of a LIGO_LW metadata file into Matlab arrays.
Note that the LIGOtools binary packages only contain only static libraries and executables, whereas the lscsoft distribution and version built from souce contain static and shared libraries and dynamic executables.
Project Librarian
Contact the Computing-Discuss mailing list
computing-discuss@ligo.org if you have questions about metaio.
Documentation
Typing
lwtscan
,
lwtcut
,
lwtprint
,
lwtdiff
,
lwtselect
, or
concatMeta
without any arguments will print out usage information - in most cases, rather detailed.
The utility programs
concatMeta
and
lwtselect
in this package use the tclshexe program from the LIGOtools package 'tclexe', so that package must be installed and active if these utilities are used. The other utility programs are standalone C programs, so do not require any other packages to be installed.
By default,
lwtprint
uses a comma to separate the values it prints out. To use a space as a separator, use the
-d
option, e.g.:
lwtprint myfile.xml -d " "
Example C program to perform a simple coincidence test on two input LIGO_LW files with events, e.g. from the gds_trigger table:
find_coinc.c
. To compile this, do:
gcc find_coinc.c -o find_coinc -lmetaio
There is no formal documentation about how to use the "Metaio" C library. However, you can see the comments in the source code for the library in metaio.c, and look at the utility programs lwt*.c as examples. Also see this code for an example of how to write out selected rows of an input LIGO_LW file:
ivana_16jul02.c (search for "
outEnv").
For more documentation about the metaio package, see the
LIGOTools frequently asked questions page. In particular, the questions
Download
Releases
Source distributions for
MetaIO can be download from
http://software.igwn.org/sources/source/
Git Repository
The metaio source is located in the metaio Git repository:
https://git.ligo.org/lscsoft/metaio
Mailing Lists
Discussion of metaio should be directed to the
Computing-Discuss mailing list.
Contributors
--
PatrickBrady - 18 Aug 2015