Skip to content

PyMSEC format

Glenn Thompson edited this page Nov 3, 2021 · 1 revision

PyMSEC format stands for Python Meta Seismic Event Catalog format.

The basic principles are:

  1. A seismic event catalog, and any related waveform data, waveform metrics, instrument responses, and station metadata comprise a "meta seismic event catalog".
  2. To store a meta seismic event catalog in formats that Python, pandas and ObsPy can natively (and trivially) support. These are PyMSEC formats.
  3. To be independent of the data source, e.g. PyMSEC can just as easily be constructed from a Seisan database or a CSS3.0 relational database.
  4. Seismic waveform data is voluminous, so should be stored just once. MiniSEED or SAC are obvious choices, since they are supported by virtually all seismic analysis packages. Question: is MiniSEED more compact than SAC?
  5. All metadata should be in human readable formats, i.e. CSV files. These can be read by pandas in DataFrame objects and manipulated. They can also be imported easily into MATLAB, R or Excel.
  6. Event catalogs can be exported to QuakeML format.
  7. Station metadata including instrument responses can be exported to StationXML format.
  8. Anything can be saved as a Pickle file. We just need to ensure it is not bloated.
  9. All trace IDs (net-station-location-channel combinations) must be SEED compliant.

The basic directory structure is:

PyMSEC/ catalog_name/ response/ stationXML files year/ month/ waveform file for each event metrics CSV file for each event (one row per trace) (optional) PNG files for each event (seismograms, spectra, spectrograms)

A metrics CSV file has the follow columns, computed in the following ways: (to be continued)