DATRW++ library: seismic data I/O with multiple formats
|
This format is defined by E. Wielandt for his time series analysis programs. You can find a copy of the source code at http://www.software-for-seismometry.de
This format was defined prior to most other presently used data formats, and I am still adhering to it although it is now obsolete. The structure of the data files is as follows: - one header line, arbitrary (will be echoed but not evaluated) - up to 48 comment or protocol lines marked with a % character in the first column. Protocol lines are automatically generated by SEIFE unless seife.par contains the code ‘ncl’ (no comment lines). - one line containing the number of samples, the FORTRAN format in which they are listed, the sampling interval, and an optional time stamp as described below. - data in the specified format (here 5f10.3, that is, five entries like 123456.789 per line). The entries in the last header line (which is the second line if there are no comments) must be in the FORTRAN format (i10,a20,f10.x). It may contain a time stamp, in which case the format is (i10,a20,3f10.x). The time stamp consists of two numbers: minutes and seconds after midnight. No date can be encoded, except by expressing it in minutes. The whole line might read:
The strings begin at positions 1, 11, 31, 41, 51. The time of the first sample is 10:17:23.45.
The SEIFE format applies only to files read with the ‘fil infile outfile’ command line, and to the output files. Other ASCII data formats can be read with the asc, asl, bdf and mar commands; seife, gnuplot, and headerless single-column ASCII formats can be specified for the output. Miniseed files can be converted into ASL format with Quanterra’s CIMARRON software, and then read with SEIFE. A converter from GSE to ASCII format named CODECO written by Urs Kradolfer is also available. I am offering a WINDOWS executable of this program.
Since we do not provide a full featured Fortran format parser, we limit the supported data format to an arbitrary sequence of floating point numbers separated by whitespace. This is any sequence, which can be read sequentially by the C++ input streams. If your data has no whitespace separating individual values (which is possible with fixed formats in Fortran), you should use the Fortran seife.f program itself to convert the data. The appropriate data format for output is
This produces
Similar output is produced by
namely: