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.
Contact the Computing-Discuss mailing list firstname.lastname@example.org
if you have questions about metaio.
without any arguments will print out usage information - in most cases, rather detailed.
The utility programs
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.
uses a comma to separate the values it prints out. To use a space as a separator, use the
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:
. 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
Source distributions for MetaIO
can be download from
The metaio source is located in the metaio Git repository:
Discussion of metaio should be directed to the Computing-Discuss
- 18 Aug 2015