There is a good archive of data from the Caltech 40-meter prototype interferometer. (Note that this name is slightly misleading: the average length of the optical arm cavities is 38.25 meters.) Although the interferometer is only sensitive enough to detect events like binary inspiral within 10kpc (the distance to the galactic center) its output is nevertheless very useful in studying data analysis algorithms on real-world interferometer noise. This data was taken during the period from 1993 to 1996; for our purposes here we will concentrate on data taken during a one-week long observation run from November 14-21, 1994. The original data is contained on 11 exabyte tapes with about 46 total hours of data; the instrument was in lock about 88% of the time. The details of this run, the status of the instrument, and the properties of this data are well-described in theses by Gillespe  and Lyons .
The GRASP package includes routines for reading this data. The data is not read directly from the tapes themselves; the data instead must be read off the tapes and put onto disk (or into pipes) using a program called extract. The GRASP routines can then be used to read the resulting files. While the GRASP routines can be used without any further understanding of the data format, it is very helpful to understand this in more detail. Note that these data formats and the associated structures were defined years before GRASP was written; we did not choose this data format and should not be held accountable for its shortcomings. We have included a preliminary translator that translates the data from this old 1994 format into the new LIGO/VIRGO frame format. The program translate may be found in the GRASP src/examples/examples_utility directory, and is documented in the Section on GRASP general purpose utilities.
If you want to develop or work on data analysis algorithms, you will want to have access to this data archive. Because many people contributed to taking this data, and because the LIGO project wants to maintain control of its use and distribution, this data set is NOT in the public domain. However, you may request a copy for your use, or for use by your research group. Write to: Director of the LIGO Laboratory, Mail Stop 51-33, California Institute of Technology, Pasadena, CA 91125. The data set is available in tar format on two Exabyte 8500c format tapes. Each directory (for a different run on a different day) occupies the following amount of space (in mbytes):
14nov94.1 647 14nov94.2 913 18nov94.1 1041 18nov94.2 1121 19nov94.1 1554 19nov94.2 1074 19nov94.3 1250 19nov94.4 1206 20nov94.1 1146 20nov94.2 1173 20nov94.3 1543Each of these directories contains the channel.* files and the swept-sine.ascii swept-sine calibration files. In this manual, we assume that these directories (or links to them) have been placed where you can access them. The GRASP programs that use this data determine its location by means of the environment variable GRASP_DATAPATH. You can set this by typing (for example)
WARNING: this data was written on a ``big-endian" machine (the sun-4 workstation is an example of such a machine). The floats are in IEEE 754 floating-point format. Attempts to read the data in its distributed form on a ``little-endian" machine (such as Intel 80*86 computers) will yield garbage unless the bytes are properly swapped. The routines used to read data (in particular, the function read_block()) test the byte order of the machine being used, and swaps the byte order if the machine is ``little-endian". This introduces some inefficiency if you are running on a ``little-endian" machine, but is preferrable to having two copies of the data, one for each architecture. If you are doing all of your work on a ``little-endian" machine and you want to avoid this inefficiency, write a program which properly swaps the byte orders of the header blocks (which are in 4-byte units) and then also properly swaps the byte order of the data blocks (which are 2-byte units) and reformat the raw data files. Then modify the read_block() data so that it no longer swaps the bytes on your machine.