GISMO: A MATLAB Toolbox for Seismic Research, Monitoring and Education

Document Type


Publication Date


Digital Object Identifier (DOI)



GISMO is an open-source, object-oriented MATLAB toolbox that provides a framework to rapidly build workflows and applications for seismic data analysis. GISMO began life about 10 years ago. Celso Reyes (C.R.) was dealing with seismic data in a multitude of different formats, and was finding that this was becoming the most time consuming and buggy part of writing research code. C.R. spoke to others and found this was a common problem. So he began writing a universal loader – the waveform data type. Then C.R. created simple tools for processing and plotting waveform variables. This toolbox became known as The Waveform Suite. It was so useful, others quickly began using it. And then building and contributing other tools around it, e.g. Mike West's correlation data type. This larger toolbox became known as GISMO, and the Waveform Suite is part of it. Much of GISMO's flexibility comes from its 3 layer design, a common approach in software engineering: v A data layer that knows how to read seismic waveform, catalog and instrument response data from (and write to) common data formats and sources. v A processing layer, that performs common data manipulations, e.g. detrending, filtering, subsetting, integrating, differentiating. v A visualization layer, that generates common plot types, e.g. helicorders, spectrograms, hypocenter, event rate and b-value plots. The core of GISMO are data types (classes) that describe the main seismic data types: • waveform • Catalog • response These classes include functions (methods) that load seismic data from many different formats and sources. This means all you need to learn is how to work with waveform, Catalog and response variables (objects). WHAT IS GISMO? DESIGN Most GISMO users are university researchers around the world and GISMO has been used for published research on the following topics: • Hydraulic fracturing & Wastewater Injection • Seismicity accompanying volcanic eruptive episodes • Rock fall dynamics and deposition • Calving seismicity from icebergs • Slow slip and tremor search • Correlation in analysis of microearthquake sequences • Separation of quarry blasts from aftershocks A list of citations we know about (30 from 2009-2015) is available at https://github.com/geoscience-community-codes/GISMO/wiki/Citations GISMO is also useful for near-real-time data analysis at observatories Volcano observatories typically use Earthworm for seismic data acquisition and event detection, and Seisan for producing a catalog of located events, and SWARM for the real-time display of digital helicorders. But this is not a complete solution for volcano-seismic monitoring. Observatories also want to generate hypocenter maps, event rate plots, RSAM plots, multi-station spectrograms, perform cross-correlation analysis, apply instrument corrections, compute frequency index, analyze swarms, tremor etc. Observatory staff often build such tools in MATLAB, because this tends to be the language they know best. GISMO provides a better platform on which to build such tools. It can read all the data sources (below) generated by a volcano-seismic monitoring program. Many of the tools already within GISMO were designed to meet monitoring needs at observatories in Montserrat and Alaska. In May 2016 the first GISMO training course was given at INETER, the Nicaraguan agency for monitoring earthquakes, volcanoes and tsunamis. GISMO has also been by university lecturers to help teach graduate-level courses at University of South Florida and University of Alaska Fairbanks in: • Seismic data analysis • Time series analysis • Applied seismology WHO USES GISMO? LEARNING GISMO HOW TO GET GISMO GISMO is hosted on github.com, which provides a code browser, integrated website, wiki and issue tracker. Here are the relevant links: Website

Was this content written or created while at USF?


Citation / Publisher Attribution

Presented at the IRIS Workshop in June 2016 in Vancouver, WA