msi [options] file1 [file2 file3 ...]
msi is a general purpose miniSEED parser. In addition to parsing and displaying the contents of miniSEED records, msi will derive continuous trace information for miniSEED data.
By default, msi will output a single line of information to summarize each record parsed. More verbose or different output can be specified via the numerous options.
If '-' is specified standard input will be read. Multiple input files will be processed in the order specified.
Files on the command line prefixed with a '@' character are input list files and are expected to contain a simple list of input files, see \fBINPUT LIST FILE\fR for more details.
When a input file is full SEED including both SEED headers and data records all of the headers will be skipped and completely unprocessed unless the -y option has been specified.
-V
Print program version and exit.
-h
Print program usage and exit.
-v
Be more verbose. This flag can be used multiple times ("-v -v" or "-vv") for more verbosity.
-H Header
Add custom header to URL-based reads. Only available when compiled with URL support.
-u user:pass
Set user and pass credentials for URL-based reads. Only available when compiled with URL support.
-ts time
Limit processing to miniSEED records that contain or start after time. The format of the time arguement is: 'YYYY[-MM-DDThh:mm:ss.ffff], or 'YYYY[,DDD,HH,MM,SS,FFFFFF]', or Unix/POSIX epoch seconds.
-te time
Limit processing to miniSEED records that contain or end before time. The format of the time arguement is: 'YYYY[-MM-DDThh:mm:ss.ffff], or 'YYYY[,DDD,HH,MM,SS,FFFFFF]', or Unix/POSIX epoch seconds.
-m match
Limit processing to miniSEED records that contain the match pattern, which is applied to the Source Identifier for each record, often following this pattern: 'FDSN:____
-r reject
Limit processing to miniSEED records that do _not_ contain the reject pattern, which is applied to the the Source Identifier for each record, often following this pattern: 'FDSN:____
-n count
Only process count input records.
-snd
Skip non-miniSEED records. By default the program will stop when it encounters data that cannot be identified as a miniSEED record. This option can be useful with full SEED volumes or files with bad data.
-p
Print details of each record header. This flag can be used multiple times ("-p -p" or "-pp") for more verbosity. Specifying two flags will result in all header details being printed.
-O
Include the offset into the file in bytes when printing header details.
-L
Include data latency when printing header details. The latency is calculated as the difference between the time of the last sample and the current time from the host computer.
-s
Print a basic summary including the number of records and the number of samples they included after processing all input records.
-d
Decompress/unpack data in input records and print the first 6 sample values from each record.
-D
Decompress/unpack data in input records and print all the sample values.
-t
Print a sorted trace list after processing all input records.
-T
Print a sorted trace list after processing all input records and suppress record-by-record output, i.e. trace list only.
-tg
Include gap estimates when approriate in trace listings and suppress record-by-record output, i.e. trace list only.
-tt secs
Specify a time tolerance for constructing continous trace segments. The tolerance is specified in seconds. The default tolerance is 1/2 of the sample period.
-rt diff
Specify a sample rate tolerance for constructing continous trace segments. The tolerance is specified as the difference between two sampling rates. The default tolerance is tested as: (abs(1-sr1/sr2) < 0.0001).
-g
Print a sorted gap/overlap list after processing all input records.
-G
Print a sorted gap/overlap list after processing all input records and suppress record-by-record output, i.e. gap list only.
-gmin sec
Only include gaps in the gap list larger or equal to sec number of seconds.
-gmax sec
Only include gaps in the gap list smaller or equal to sec number of seconds.
-S
Print a sorted SYNC format trace list after processing all input records and suppress record-by-record output.
-P
Additionally group input data by publication. Note: for miniSEED version 2 records, SEED data qualitiy values are translated to publication versions. By default data are grouped by network, station, location, channel and adjacent time windows, this option adds publication version to the grouping parameters.
-tf format
Specify the time stamp format for trace and gap/overlap lists. The format can be one of the following (default = 0):
0 = SEED day-of-year time, e.g. "2005,068,00:00:01.000000" 1 = ISO year-month-day time, e.g. "2005-03-09T00:00:01.000000" 2 = Epoch seconds, e.g. "1110326401.000000"
-b binfile
Decompress/unpack data in input records and write the binary samples to binfile.
-o outfile
Write all processed miniSEED records to outfile.
An input file name may be followed by an @ charater followed by a byte range in the pattern START[-END], where the END offset is optional. As an example an input file specified as ANMO.mseed@8192 would result in the file ANMO.mseed being read starting at byte 8192. An optional end offset can be specified, e.g. ANMO.mseed@8192-12288 would start reading at offset 8192 and stop after offset 12288.
A list file can be used to specify input files, one file per line. The initial '@' character indicating a list file is not considered part of the file name. As an example, if the following command line option was used:
@files.list
The 'files.list' file might look like this:
data/day1.mseed data/day2.mseed data/day3.mseed
NOTE: A list of leap seconds is included in the program and no external list should be needed unless a leap second is added after year 2023.
If the environment variable LIBMSEED_LEAPSECOND_FILE is set it is expected to indicate a file containing a list of leap seconds as published by NIST and IETF, usually available here: https://www.ietf.org/timezones/data/leap-seconds.list
If present, the leap seconds listed in this file will be used to adjust the time coverage for records that contain a leap second. Also, leap second indicators in the miniSEED headers will be ignored.
Chad Trabant EarthScope Data Services
(man page 2023/07/23)