Name Purpose
ASCII ASCII file formats (includes GeoCSV, SLIST, and variants)
FastIO Replacement low-level I/O functions to avoid thread locking
Quake Earthquake seismology
RandSeis Generate SeisIO structures with quasi-random entries
SEED Standard for the Exchange of Earthquake Data (SEED) file format
SUDS Seismic Unified Data System (SUDS) file format
SeisHDF Dedicated support for seismic HDF5 subformats
UW University of Washington data format

Using Submodules

At the Julia prompt, type using SeisIO.NNNN where NNNN is the submodule name; for example, using SeisIO.Quake loads the Quake submodule.


This submodule is used to quickly generate SeisIO objects with quasi-random field contents. Access it with “using SeisIO.RandSeis”

The following are true of all random data objects generated by the RandSeis module:

  • Channels have SEED-compliant IDs, sampling frequencies, and data types.
  • Random junk fills :notes and :misc.
  • Sampling frequency (:fs) is chosen from a set of common values.
  • Channel data are randomly generated.
  • Time gaps are automatically inserted into regularly-sampled data.

Generate a random seismic phase catalog suitable for testing EventChannel, EventTraceData, and SeisEvent objects.

randSeisChannel([c=false, s=false])

Generate a SeisChannel of random data. Specify c=true for campaign-style (irregularly-sampled) data (fs = 0.0); specify s=true to guarantee seismic data. s=true overrides c=true.

randSeisData([c=0.2, s=0.6])
randSeisData(N[, c=0.2, s=0.6])

Generate 8 to 24 channels of random seismic data as a SeisData object. Specify N for a fixed number of channels.

  • 100*c% of channels will have irregularly-sampled data (fs = 0.0)
  • 100*s% of channels are guaranteed to have seismic data.

randSeisEvent([c=0.2, s=0.6])
randSeisEvent(N[, c=0.2, s=0.6])

Generate a SeisEvent structure filled with random values. Specify N for a fixed number of channels.

  • 100*c% of channels will have irregularly-sampled data (fs = 0.0)
  • 100*s% of channels are guaranteed to have seismic data.


Generate a SeisHdr structure filled with random values.


Generate a SeisSrc structure filled with random values.


Submodule for the Standard for the Exchange of Earthquake Data (SEED) file format; includes additional functionality.


Dump status of dataless SEED blockette support to stdout.


Dump status of mini-SEED blockette support to stdout.


Dump status of SEED blockette support to stdout.

Scanning SEED Volumes


Scan a single SEED file and report on the contents. Much faster than read_data as no samples are decoded/read and most blockettes are skipped. Control output behavior with keywords.

Supported Keywords

KW Type Default Meaning
memmap Bool false memory-map file?
npts Bool true output samples per channel?
ngaps Bool true output time gaps per channel?
nfs Bool true output number of fs vals per channel?
quiet Bool false true prints nothing to stdout
seg_times Bool false output exact gap times?
fs_times Bool false output exact times of fs changes?
v Integer 0 verbosity

Note that seg_times and fs_times dump verbose per-channel tabulation to stdout.

Users are encourage to submit feature request Issues if there’s a need to scan for other changes within a SEED volume.

Interaction with Online Requests

scan_seed cannot interact directly with online SEED requests. As a workaround, do get_data(..., w=true) to dump the raw request directly to disk, then scan the file(s) created.


The UW submodule extends functionality for the University of Washington (UW) file format(s).

The UW data format was created in the 1970s by the Pacific Northwest Seismic Network (PNSN), USA, for event archival. It remained in use through the 1990s. A UW event is described by a pickfile and a corresponding data file, whose filenames were identical except for the last character. The data file is self-contained; the pick file is not required to read raw trace data. However, station locations were stored in an external text file.

Only UW-2 data files are supported by SeisIO. We have only seen UW-1 data files in Exabyte tapes from the 1980s.

uwpf(pf[, v])

Read UW-format seismic pick file pf. Returns a tuple of (SeisHdr, SeisSrc).

uwpf!(W, pf[, v::Int64=KW.v])

Read UW-format seismic pick info from pickfile f into SeisEvent object W. Overwrites W.source and W.hdr with pickfile information. Keyword v controls verbosity.