Skip to content
Glenn Thompson edited this page Oct 11, 2015 · 10 revisions

GISMO is an open-source MATLAB toolbox for seismic data analysis. In particular, GISMO provides an object-oriented framework for the analysis of seismic waveform and event catalog data.

GISMO provides parsers for common seismic waveform (e.g. SAC, Seisan, Antelope/Datascope - Miniseed will be added soon) and catalog file formats (Seisan, Antelope/Datascope - hypoellipse and hypoinverse will be added soon), and also wraps the irisfetch.m program to fetch waveform and catalog data directly from the IRIS Data Management Center.

GISMO includes: (1) a set of low level classes that describe types of seismic data, e.g. seismic waveform data, seismic event catalogs, etc.; (2) a set of higher level classes that describe common forms of seismic data analysis, e.g. correlation of waveform objects; and (3) an ever-evolving set of contributed codes built around these core products.

GISMO is a superset of "The Waveform Suite" developed by Celso Reyes, which is still available as a standalone toolbox from the MATLAB File Exchange. GISMO also includes Mike West's correlation toolbox.

The goal of the GISMO project is to make seismology research easier:

  • GISMO knows how to get data from a variety of sources / data formats, spanning file boundaries. This is often the most time consuming part for seismologists writing their own code from scratch.
  • GISMO simplifies everything by turning data from any source into a waveform or catalog object.
  • Common types of time series plots are built-in to GISMO, e.g. record section plots, helicorder plots, spectrograms, depth-time sections, number of events per unit time, energy release per unit time. Also map view and cross-section of hypocentral data.
  • Many common processing methods are also included, e.g. GISMO includes an extensive set of tools for correlation analysis.
  • GISMO encourages community development of an integrated set of codes and accompanying documentation, eliminating the need for seismologists to "reinvent the wheel". Contributed codes are an important feature of GISMO.
  • By sharing code we also enhance the repeatability of science, in conjunction with the fact that IRIS DMC makes many datasets universally available.

The name "GISMO" was originally an abbreviation for "Geophysical Institute Seismology Matlab Objects", signifying that it is an object-oriented toolbox originally created within the University of Alaska Fairbanks' Geophysical Institute's Seismology group. However, GISMO is used and contributed to by a large number of scientists outside the Geophysical Institute, and is managed by Celso Reyes and Glenn Thompson, neither of whom work at the Geophysical Institute today. So we prefer the other meaning of "gismo" or "gizmo" which is "a useful tool; a gadget".

GISMO does not intend to compete with ObsPy, which is a superb open-source toolbox for Seismology written in Python. But if you are a seismologist using MATLAB rather than Python - perhaps because you are not a Python programmer, or because you are trying to integrate with other codes written in MATLAB, you will probably find GISMO very helpful.

The core products include the waveform suite and correlation toolbox, detailed below.

The waveform class written and maintained by Celso Reyes

    The waveform object is designed to allow easy data retrieval from a variety of sources and to make basic waveform research quick and easy. It is a toolset that allows the creation of more sophisticated programs without having to be concerned with all details. Features include: Screenshot
    Use any regularly sampled data stream
    Mathematical functions: +, -, /, .*, .^
    Standard manipulations: filter, crop, subset, subset, stack, normalize, automatic gain control, demean, detrend, taper, etc.
    Statistics: max, min, mean, median, etc.
    Waveform operations: hilbert transform, integration and differentiation
    Operate on single waveforms or thousands
    History feature tracks changes to your waveforms
    Plotting tools for all included data types
    Object architecture provides a stable base for writing more complex programs
    The waveform toolbox was written and tested in Matlab release 2006b. Data can be imported from Antelope databases (requires the BRTT Antelope toolbox), Winston databases, SAC and Seisan files. With minimal coding, most any homegrown Matlab format can take advantage of the waveform architecture.

    The waveform object:

    makes playing with data easier by automating the tedious aspects of data manipulation
    makes programs more stable by ensuring proper data typing
    makes code more portable by reading multiple formats and functioning on multiple systems
    makes troubleshooting faster by providing more detailed messages and warnings
    Browse extensive waveform tutorial and matlab object primer.
    Note that the Waveform suite is also distributed as a stand alone product on the Matlab Exchange. The version here is bundled with the correlation toolbox and contributed software.
Clone this wiki locally