scmssort¶
Read and manipulate miniSEED records
Description¶
scmssort reads unsorted (and possibly multiplexed) MiniSEED files and sorts the individual records by time. This is useful e.g. for simulating data acquisition and playbacks. Removing of duplicate data and trimming of time window is available.
scmssort reads single files and output to the command line. Cat many files to read them at the same time. In this way huge amount of data can be processed efficiently.
Applications to miniSEED records:
Sort records by time, e.g. for playbacks.
Remove duplicate records from files and clean waveform archives.
Filter data records, i.e. keep or remove them, based on
time windows,
stream lists where each line has the format NET.STA.LOC.CHA including regular expressions. Such stream lists can be generated, e.g., using scinv.
Examples¶
Read a single miniSEED data file. The records are sorted by endtime and duplicates are removed.
scmssort -vuE unsorted.mseed > sorted.mseed
Read all files ending with “.mseed” at the same time. The data are trimmed to a time window and duplicated or empty records are ignored.
cat *.mseed | scmssort -vuiE -t '2020-03-28 15:48~2020-03-28 16:18' > sorted.mseed
Remove streams listed by stream code and sort records by end time. Also ignore duplicated or empty records. Stream lists can be generated, e.g., by scinv.
scmssort -vuiE --rm -l stream-list.txt test.mseed > sorted.mseed
Extract streams by time and stream code and sort records by end time. Also ignore duplicated or empty records.
echo CX.PB01..BH? | scmssort -vuE -t '2007-03-28 15:48~2007-03-28 16:18' -l - test.mseed > sorted.mseed scmssort -vuiE -t '2007-03-28 15:48~2007-03-28 16:18' -l stream-list.txt test.mseed > sorted.mseed
Command-Line Options¶
scmssort [options] input
Options¶
- -h, --help¶
Show the command-line help and exit.
- -E, --sort-by-end-time¶
Sort by end time.
- -i, --ignore¶
Ignore all records which have no data samples.
- -l, --list¶
File with streams to filter the records. One stream per line. Instead of a file read the from stdin (-). Line format: NET.STA.LOC.CHA - wildcards and regular expressions are considered. Example: CX.*..BH? .
NSLC lists may be generated, e.g., using scinv.
- -o, --output¶
Name of output file for miniSEED data (default is stdout).
- -r, --rm¶
Remove all traces in stream list given by --list instead of keeping them.
- -t, --time-window¶
Specify time window (as one -properly quoted- string). Times are of course UTC and separated by a tilde ~
Example:
‘2020-03-28 15:48~2020-03-28 16:18’
- -u, --uniqueness¶
Ensure uniqueness of output, i.e. skip duplicate records.
- -v, --verbose¶
Run in verbose mode.