DATRW++ library: seismic data I/O with multiple formats

◆ help() [2/2]

void datrw::imseedstream::help ( std::ostream &  os = std::cout)
static

Definition at line 47 of file imseedstream_help.cc.

References datrw::mseed::key::all, datrw::mseed::key::data, datrw::mseed::key::dumpascii, datrw::mseed::key::estimateNframes, datrw::mseed::key::nframes, datrw::mseed::key::nonfatal, datrw::mseed::key::nsamples, datrw::mseed::key::skipcheck, datrw::mseed::key::ttolerance, and datrw::mseed::key::usec.

Referenced by datrw::online_help().

48  {
49  os << std::endl;
50  os << "MiniSEED data reading functions" << std::endl;
51  os << "-------------------------------" << std::endl;
52  os << endl;
53  os << "This module is designed to read MiniSEED (data only SEED) files"
54  << endl;
55  os << "created by several different data acquisition systems. It is"
56  << endl;
57  os << "tested with the following systems:"
58  << endl;
59  os << " comserv with Q680 (Quanterra with SeisComP, GRSN setup)"
60  << endl;
61  os << " seedlink (new SeisComP system with EDD plugin)"
62  << endl;
63  os << " Earth Data Logger (EDL raw files)"
64  << endl;
65  os << " Q330HR (Quanterra data acquisition system with Baler)"
66  << endl;
67  os << " Taurus (Nanometrics data acquisition system)"
68  << endl;
69  os << " Q330HR (data streamed from Q330HR)"
70  << endl;
71  os << " Cube3 (data converted by cube2mseed)"
72  << endl;
73  os << endl;
74  os << "Special features:"
75  << endl;
76  os << "Data files written by the datalog client of comserv commence"
77  << endl;
78  os << "with a telemetry volume header which is non-standard MiniSEED."
79  << endl;
80  os << "This module identifies and skips the telemetry volume headers."
81  << endl << endl;
82  os << "The module swaps data bytes if necessary. The SEED standard"
83  << endl;
84  os << "defines (page 12 of SEED manual) that all headers must have"
85  << endl;
86  os << "big-endian byte-sex. The byte-sex of MiniSEED data blocks is"
87  << endl;
88  os << "defined in the header. The Earth Data Logger violates this"
89  << endl;
90  os << "definition and writes headers in little-endian order. The"
91  << endl;
92  os << "module tries to guess the correct byte-sex in this case"
93  << endl;
94  os << "when reading the header blockettes."
95  << endl << endl;
96  os << "Several consistency checks (see below) are applied to the"
97  << endl;
98  os << "data file. The library module this way refuses to read data"
99  << endl;
100  os << "which obviously is corrupt or which header parameters are"
101  << endl;
102  os << "not plausible or are at variance with the data actually read."
103  << endl;
104  os << "There are data of known sources which fail these tests,"
105  << endl;
106  os << "although the data itself is intact. Such files are considered"
107  << endl;
108  os << "to be at variance with the definition of Data Only SEED (MiniSEED)."
109  << endl;
110  os << "To be able to work on such data, consistency checks can be made"
111  << endl;
112  os << "non-fatal or even be switched of by format modifiers (see below)."
113  << endl;
114  os << endl;
115  {
116  formatmodifiers::ModifierHelp mh(os, 24);
117  os << "Available format modifiers:\n";
118  mh(key::dumpascii)
119  << "dumps ASCII data blocks to stdout\n";
120  mh(key::ttolerance, "T")
121  << "tolerate time jitter, if not larger than\n";
122  mh << "\"T\", where \"T\" is given in microseconds\n";
124  << "estimate number of frames rather than reading\n";
125  mh << "it from blockette1001; this is required for\n";
126  mh << "data created by \"cube2mseed\" which contains\n";
127  mh << "an invalid count of frames\n";
128  mh(key::nonfatal, "ID[,ID,ID]")
129  << "make consistency check \"ID\" non-fatal (report only)\n";
130  mh << "one or more check \"ID\" values may be passed in a list\n";
131  mh(key::skipcheck, "ID[,ID,ID]")
132  << "skip consistency check \"ID\" entirely (ignore)\n";
133  mh << "one or more check \"ID\" values may be passed in a list\n";
134  os << endl;
135  }
136  {
137  formatmodifiers::ModifierHelp mh(os, 12);
138  os << "Available consistency checks (IDs to be used with modifiers):\n";
139  mh(key::nframes)
140  << "The number of frames to be expected is specified in\n";
141  mh << "the header in Blockette 1001. This value will be\n";
142  mh << "compared against the number of frames actually\n";
143  mh << "used to store data.\n";
144  mh << "This test is only applied if the number of frames\n";
145  mh << "actually is specified in the header. Some data require\n";
146  mh << "the number of frames to be guessed (if Blockette 1001)\n";
147  mh << "is missing.\n";
148  mh(key::nsamples)
149  << "The number of samples to be expected is provided in\n";
150  mh << "the header in the fixed section data header. This\n";
151  mh << "value will be compared against the number of\n";
152  mh << "samples actually provided in the logical record.\n";
153  mh(key::data)
154  << "The sample value of the last sample in the record\n";
155  mh << "is compared against the value of the reverse\n";
156  mh << "integration constant as provided in the first data\n";
157  mh << "frame of the record. Both must be identical.\n";
158  mh(key::usec)
159  << "The SEED Reference Manual (Version 2.4, August, 2012, page 124)\n";
160  mh << "specifies the usec field in [1001] Data Extension Blockette:\n";
161  mh << "The recommended value is from -50 to +49 usecs. At the users\n";
162  mh << "option, this value may be from 0 to +99 usecs.\n";
163  mh(key::all)
164  << "Select all consistency checks\n";
165  os << "Consistency checks will be selected upon a substring match\n"
166  "against check IDs. This means that by passing only a substring\n"
167  "in the argument list to the format modifier several checks\n"
168  "can be selected at once,\n";
169  os << endl;
170  }
171  } // void imseedstream::help(std::ostream& os)
const char *const usec
keywords for consistency checks
const char *const nframes
keywords for consistency checks
const char *const ttolerance
keywords for format modifiers
const int nsamples
number of samples per minute block and channel
Definition: hpmodata.h:51
const char *const data
keywords for consistency checks
const char *const dumpascii
keywords for format modifiers
const char *const skipcheck
keywords for format modifiers
const char *const all
keywords for consistency checks
const char *const estimateNframes
keywords for format modifiers
const char *const nonfatal
keywords for format modifiers
Here is the caller graph for this function: