-
Notifications
You must be signed in to change notification settings - Fork 46
What is GISMO?
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.
Code | Wiki | Tutorials | Website | Mailing list | Getting started | Reporting problems
- What is GISMO?
- Who uses it?
- Historical Development
- Getting started
- Getting and using the develop branch
- GISMO data types
- * Tutorials *
- * Workflow examples *
- * Applications *
- The GISMO Users Group
- Reporting errors, bugs, issues
- Contributing to GISMO
- * SUGGESTED CITATION *
- News
- Future Development
- Links