Get from Ico-github-logo

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from

  • Arrival.read_arrivals.rea...
  • Catalog.binning.autobinsi...
  • Catalog.binning.bin_irreg...
    BIN_IRREGULAR bin an irregularly-sampled timeseries (like earthquake origin times).
  • Catalog.binning.binsizela...
  • Catalog.bvalue_lib.bmemag...
  • Catalog.bvalue_lib.calc_M...
  • Catalog.bvalue_lib.calc_M...
  • Catalog.bvalue_lib.calc_M...
  • Catalog.bvalue_lib.calc_b...
  • Catalog.plotEarthquakes.i...
    IMPORTPLATES Import numeric data from a text file as column vectors.
  • Catalog.read_catalog.aef(...
  • Catalog.read_catalog.ante...
    READ_CATALOG.ANTELOPE load events from a CSS3.0 database using Antelope.
  • Catalog.read_catalog.ensu...
    stolen from waveform
  • Catalog.read_catalog.iris...
  • Catalog.read_catalog.seis...
    % SCAFFOLD: might have deleted something here. These 2 lines might not
  • Catalog.read_catalog.sru(...
    readEvents.sru read a catalog sent by Seismic Research Unit, University of West
  • Catalog.read_catalog.usgs...
    READEVENTS.USGSREALTIME Read last week or month of data from USGS
  • Catalog.read_catalog.vdap...
    readEvents.vdap read Hypoellipse summary files and PHA pickfiles
  • Catalog.read_catalog.zmap...
    readEvents.zmap Translate a ZMAP-format data matrix into a Catalog object
  • Catalog.subclass2longname...
  • Catalog_test()
    Main function to generate tests
  • Detection.sta_lta(wave,va...
    STA_LTA: Short-Time-Average/Long-Time-Average event detector.
  • ReadMSEEDFast(fileName)
    ReadMSEEDFast( fileName )
  • add_spectral_data(w)
  • admin.about
    Tools for maintaining and programming in the GISMO environment.
  • admin.antelope_exists()
    ANTELOPE_EXISTS check for Antelope Toolbox for Matlab
  • admin.deprecated(currentM...
    DEPRECATED issue a deprication warning
  • admin.getpath(varargin)
    GETPATH returns a path to GISMO toolbox(es)
  • admin.refresh()
    REFRESH refresh all paths in GISMO
  • admin.remove
    REMOVE remove all paths to GISMO
  • admin.rmgismo()
    RMGISMO(SOURCE) removes all existing paths containing the phrase
  • admin.which(sourceLocation)
    WHICH manage and switch between multiple GISMO archives
  • aeic_catalog.about
    Tools for interfacing with the AEIC earthquake catalog.
  • aeic_catalog.get_total(va...
    GET_TOTAL Read in the complete AEIC Total earthquake catalog
  • aeic_total_catalog(varargin)
    AEIC_TOTAL_CATALOG Read in the complete AEIC Total earthquake catalog
  • amplitude_spectrum_test()
    Main function to generate tests
  • antelope.antelope2wavefor...
    ANTELOPE2WAVEFORM Load waveform objects from Antelope database
  • antelope.arrivals2wavefor...
    ARRIVALS2WAVEFORMS Load waveform objects corresponding to an arrivals structure
  • antelope.dbcreate(filepat...
    DBCREATE Create an Antelope database descriptor file
  • antelope.dbget_closest_si...
    DBGET_CLOSEST_SITES Get closest sites from an Antelop database to a given [lon, lat]
  • antelope.dbgetarrivals(da...
  • antelope.dbgetorigins(dbp...
  • antelope.dbtable_present(...
    DBTABLE_PRESENT Check if a Datascope database table exists and has more than 0 rows.
  • antelope.listMiniseedFile...
    LISTMINISEEDFILES retrieve a list of the Miniseed files referenced by a datasource, ChannelTag object and start/end times.
  • antelope2waveform_test()
  • arrivals_rearrange(arriva...
    Arrange info from earthquake catalogue into a more useful format
  • catmatrices(matrix2,matrix1)
    CATMATRICES - concatenate 2D matrices of arbitrary size
  • ceilminute(dnum, nummins)
    CEILMINUTE round up datenum to next minute mark
  • check.about
    Tools for checking various types of data integrity.
  • check.crossfeed(varargin)
    CROSSFEED Checks for crossfeeding and duplicate data channels
  • contiguous(A)
    CONTIGUOUS find contiguous sequences in an input vector of integers
  • corrderived_plot_swarm_hi...
    CORRDERIVED_PLOT_SWARM_HISTORY plots relevent details of seismic swarms
  • correlation_diagnostics(v...
    Test correlation toolbox
  • datenum2epoch(time)
    EPOCH = DATENUM2EPOCH(TIME) translates Matlab numeric
  • db_get_arrival_info(arid,...
  • db_get_net_info(stalist,d...
  • db_get_origin_info(INorig...
  • db_get_site_info(stalist,...
  • db_get_sitechan_info(stal...
  • dd_collate(eventdat,varar...
  • dd_make_scp(dbname,varargin)
    DD_MAKE_SCP Create a draft control file for the correlation process
  • dd_process_scp(dbname,scp...
    DD_PROCESS_SCP Process correlations by station and channel
  • debug.get_debug()
    GET_DEBUG get the debug level.
  • debug.print_debug(level, ...
    PRINT_DEBUG optionally display text based on the debug level.
  • debug.printfunctionstack(...
    PRINTFUNCTIONSTACK print the list of functions in the stack
  • debug.set_debug(debuglevel)
  • demodb(name)
  • dmc_cookbook
  • dmc_station_meta(w,varargin)
    DMC_STATION_META adds station metadata to a waveform
  • dmc_xml2struct(file)
    Convert xml file into a MATLAB structure
  • epoch2datenum(epoch)
    TIME = EPOCH2DATENUM(EPOCH) translates Unix epoch date format into Matlab
  • floorminute(dnum,nummins)
    FLOORMINUTE round up datenum to next minute mark
  • hankelq(dbpath, expr, f1,...
    HANKELQ Compute spectral ratio in two frequency bands
  • iceweb.apply_calib(w, sites)
  • iceweb.apply_filter(w, PA...
  • iceweb.calculatePanelPosi...
  • iceweb.datenum2julday(dnum)
  • iceweb.extended_spectralo...
  • iceweb.get_channeltags_ac...
  • iceweb.get_spectrogram_fi...
  • iceweb.get_timewindow(utd...
  • iceweb.iceweb(ds, varargin)
  • iceweb.makespectrogramthu...
    print_debug('> makespectrogramthumbnails', 2);
  • iceweb.montserrat_remove_...
  • iceweb.saveImageFile(arg1...
    saveImageFile(IMGDIR, fname, res);
  • iceweb.setup(subnet, snum...
    %gismo_datasource = datasource('antelope', dbwfdata);
  • iceweb.show_sites(sites)
  • iceweb.spectrogram_iceweb...
    SPECTROGRAM_ICEWEB produce an multi-channel spectrogram plot in the style of
  • iceweb.waveform_remove_em...
    WAVEFORM_REMOVE_EMPTY remove empty waveform objects from a vector of waveform objects
  • iceweb.waveform_wrapper(d...
    WAVEFORM_WRAPPER try multiple datasource objects in
  • ideas2waveform(fileName)
    OPEN_INFRASOUND Open UAF/GI infrasound data as a waveform object.
  • ie_readchans(chanfile)
    IE_READCHANS Read and parse station/channel list from file
  • import_events(dbname, cha...
    IMPORT_EVENTS Import waveforms associated with earthquake events.
  • irisdmc.about
    Tools for interacting with the IRIS DMC web services.
  • irisdmc.cookbook
    COOKBOOK example program using the IRIS DMC web services
  • irisdmc.station_meta(w,va...
    station_meta adds station metadata to a waveform
  • irisdmc.xml2struct(file)
    Convert xml file into a MATLAB structure
  • lookupunits(w,station,com...
    LOOKUPUNITS checks the antelope database to find out what units are
  • magnitude.Mlrichter(amax,...
    MLRICHTER Compute a Richter local magnitude
  • magnitude.eng2mag(eng)
    ENG2MAG Convert a (vector of) magnitude(s) into a (vector of) equivalent energy(/ies).
  • magnitude.mag2eng(mag)
    MAG2ENG Convert (a vector of) magnitude into (a vector of) equivalent energy(ies).
  • mastercorr.about
    Tools for master event cross correlation against long time series.
  • mastercorr.extract(W,vara...
    EXTRACT extract matches to the master waveform
  • mastercorr.load_cookbook_...
  • mastercorr.plot_stats(W)
    PLOT_STATS plot statistics from master correlation algorithm
  • mastercorr.scan(WW,WWsnip...
    SCAN scans a waveform for events which match a master.
  • mastercorr_extract(W,vara...
    MASTERCORR_EXTRACT extract matches to the master waveform
  • mastercorr_plot_stats(W)
    MASTERCORR_PLOT_STATS plot statistics from master correlation algorithm
  • mastercorr_scan(WW,WWsnip...
    MASTERCORR_SCAN scans a waveform for events which match a master.
  • messitup(w)
  • obspy.stream2waveform(pat...
    OBSPY.STREAM2WAVEFORM Use ObsPy to read a stream object and then convert
  • obspy.stream2waveform(pat...
    OBSPY.STREAM2WAVEFORM Use ObsPy to read a stream object and then convert
  • obspy.stream_matfile2wave...
    OBSPY.STREAM2WAVEFORM Use ObsPy to read a stream object and then convert
  • reducedisp_calc(w,dist,va...
    WAVEFORM = REDUCEDISP(WAVEFORM,DISTANCE) This function calculates the
  • reducedisp_plot(dbname)
    REDUCEDISP_PLOT plot reduced displacement data.
  • reducedisp_wfmeas(varargin)
  • reducedisp_write_wfmeas(d...
    Opens DBNAME and inserts new reduced dispacement rows, one
  • response_apply(w,filterOb...
    RESPONSE_APPLY Deconvolve an instrument response from a waveform object.
  • response_demo_database
    RESPONSE_DEMO_DATABASE returns the absolute path to the demo database
  • response_demo_waveforms
    RESPONSE_DEMO_WAVEFORMS returns the absolute path to the demo database
  • response_get_from_db(stat...
    RESPONSE_GET_FROM_DB Get instrument response from database.
  • response_get_from_polezer...
    RESPONSE_GET_FROM_POLEZERO Create response structure from poles/zeros
  • response_plot(response,xL...
    RESPONSE_PLOT plot an instrument response
  • response_polezero_demo
    RESPONSE_POLEZERO_DEMO Create a polezero structure
  • response_structure_descri...
    RESPONSE_STRUCTURE_DESCRIPTION Describe response structure fields
  • scrollplot(varargin)
    SCROLLPLOT MATLAB code for scrollplot.fig
  • startup_GISMO(gismopath)
    STARTUP_GISMO recursively adds paths for contributed codes that build on
  • trloadcss_test()
    Main function to generate tests
  • ttimes.about
    Tools for exploring travel time and ray coverage.
  • ttimes.arrival_histogram(...
    ARRIVAL_HISTOGRAM compare the number of arrivals to each station.
  • ttimes.dbload(dbName)
    DBLOAD extracts travel times from a database
  • ttimes.depth_section(dbName)
    DEPTH_SECTION plot depth sections of ray coverage.
  • ttimes.do_all(dbName)
    DO_ALL execute all codes in the ttimes package.
    MAP plot a map of ray coverage.
  • ttimes.traveltime(dbName,...
    TRAVELTIME make travel time plots.
  • ttimes.write_lotos(dbName)
    WRITE_LOTOS write files for LOTOS tomography codes.
  • uispecgram(varargin)
    UISPECGRAM M-file for uispecgram.fig
  • utnow()
  • waveform2threecomp(eqwf,n...
    Convert waveforms to threecomp objects where appropriate
  • waveform_antelope_test()
    Main function to generate tests
  • waveform_extensions.load(...
    SACLOAD Load SAC files into MATLAB as waveform objects
  • waveform_extensions.sta_l...
    STA_LTA: Short-Time-Average/Long-Time-Average event detector.
  • waveform_load_test()
    Main function to generate tests
  • wf_fft(w)
    WAVEFORM = WF_FFT(WAVEFORM) calculate frequency spectrum of a waveform.
  • wf_fft.about
    Miscellaneous tools for working with waveforms.
  • wf_fft.compute(w)
    COMPUTE calculates the fast fourier transform of a waveform object
  • wf_fft.freqindex(W,varargin)
    WAVEFORM = FREQINDEX(WAVEFORM) calculates the frequency index of a waveform.
  • wf_fft.plot(w)
    PLOT plot fourier transform of a waveform
  • wf_fftplot(w)
    WF_FFTPLOT(WAVEFORM) plot fourier transform of the data.
  • wf_fi(W,varargin)
    WAVEFORM = WF_FI(WAVEFORM) calculates the frequency index of a waveform.
  • whichgismo(sourceLocation)
    WHICHGISMO Select from multiple GISMO archives.
  • correlation.m
  • datasource.m
  • filterobject.m
    FILTEROBJECT constructor for a filter object
  • scnlobject.m
  • spectralobject.m
    SPECTRALOBJECT - spectralobject class constructor
  • waveform.m
    WAVEFORM Waveform Class constructor
  • helicorder.m
    HELICORDER: Helicorder generates a multi-line display of input waveform
  • Arrival
    Arrival the blueprint for Arrival objects in GISMO
  • Catalog
    CATALOG the blueprint for Catalog objects in GISMO
  • ChannelDetails
  • ChannelTag
  • EventRate
    EventRate Event Rate class constructor.
  • NewCorrelation
  • SeismicTrace
  • Sfile
    Class that describes data in a Seisan S-file
  • TraceData
  • TraceFilter
  • TraceSpectra
  • antelopesource
  • dataretrieval.iriswebserv...
  • dataretrieval.matsource
  • dataretrieval.obspysource
  • dataretrieval.sacsource
  • dataretrieval.seisansource
  • dataretrieval.spatiotempo...
  • dataretrieval.spatiotempo...
  • dataretrieval.spatiotempo...
  • dataretrieval.winstonsource
  • drumplot
    DRUMPLOT the blueprint for drumplot objects in GISMO
  • irisFetch
  • rsam
    RSAM Seismic Amplitude Measurement class constructor, version 1.0.
  • sacpz
    SACPZ Class for reading SAC pole-zero files downloaded from IRIS
  • testChanneltag
  • testScnlobject
  • testWaveform
  • test_ChanDetails
  • test_Correlation
  • test_Trace
  • test_TraceData
  • threecomp
    THREECOMP Object for three component waveform data
  • testday.m
  • unrest.m
  • demo_plutons.m
    dbName = '/home/admin/databases/PLUTONS/wf/plutons';
  • response_cookbook.m
    Instrument response cookbook
  • cookbook.m
    COOKBOOK demonstrate the features of the mastercorr package.
  • mastercorr_cookbook.m
    Demonstration of the major features of the master waveform correlation
  • dd_cookbook.m
    HypoDD cross correlation toolbox
  • Contents.m
    Reduced displacement toolbox
  • synthb_aut.m
    This is synthetic219
  • cookbook.m
    The SCNLOBJECT cookbook
  • medfilt1_test.m
  • test_waveform_constructor.m
    test waveform creation
  • gismo_examples.m
    Standard clearing MATLAB workspace & command window, closing figures
  • separating_tremor_and_eve...
    Tremor range is 1-5 Hz
  • whichgismo_paths.m
    Configuration file containing preset paths for whichgismo. See
  • View all files
5.0 | 2 ratings Rate this file 89 Downloads (last 30 days) File Size: 139 MB File ID: #52707 Version: 1.02.02




27 Aug 2015 (Updated )

GISMO - a framework for scientific research in seismology/infrasound

Editor's Notes:

This file was selected as MATLAB Central Pick of the Week

| Watch this File

File Information

Project website:
GISMO is designed to allow easy retrieval of seismic waveform data, event catalogs and station metadata from a variety of data formats, databases and online data sources, eliminating a major barrier to rapid development of new seismic research programs and workflows, new seismic monitoring tools, etc.

The foundation is a set of object oriented classes that describe different seismic data types and have built-in methods for loading from common formats and sources, and common visualization and processing tools. GISMO is a community driven project that aims to encourage scientists to write code that builds on GISMO and then contributed code back to the project, so that GISMO can become ever more capable - and useful to more scientists. An aim is to make research more repeatable and lower the cost of research by providing a set of tools that allow scientists to get to the important part of research faster - doing the science, rather than the frustrations of how data is stored and how to get it in to MATLAB. Features include:
    * Plotting tools for waveforms, catalogs, instrument responses etc.
    * Waveforms work for any regularly sampled data stream
    * Mathematical functions make manipulating easier: +, -, /, .*, .^
    * Standard waveform 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
    * Operates N-dimensional waveforms (in most cases without requiring loops)
    * Object architecture provides a stable base for writing more complex programs

Seismic data can be imported from Antelope databases (via the BRTT Antelope toolbox), Earthworm/Winston databases, the IRIS-DMC, SAC files, Seisan databases, .mat files, hypoellipse files, or with minimal coding your own homegrown file format/directory structure.

GISMO makes:
    * playing with data easier by automating the tedious aspects of data manipulation
    * programs more stable by ensuring proper data typing
    * code more portable by reading multiple formats and functioning on multiple systems
    * troubleshooting faster by providing more detailed messages and warnings

Additional information can be found via the GISMO wiki:

GISMO (which includes The Waveform Suite) and related codes can also be discussed at:

As always, Comments are welcome, as are reviews and bug reports. Thanks!


The Waveform Suite For Matlab inspired this file.

Required Products Signal Processing Toolbox
MATLAB release MATLAB 8.4 (R2014b)
Other requirements Access to Antelope databases requires Antelope and the Antelope Toolbox. Access to Earthworm/Winston Waveservers requires SWARM jar-files. MATLAB exchange File ID:11368, for log-scaled spectrograms.
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (2)
25 Sep 2016 Ping Yang

12 Apr 2016 zhang

zhang (view profile)

22 Oct 2015 1.0


22 Oct 2015 1.0

Point to new repository

06 Nov 2015 1.0

point to correct repo

06 Nov 2015 1.01


04 Dec 2015 1.01

trying to change title

04 Dec 2015 1.02

I filled out a lengthy description but it's gone!

04 Dec 2015 1.02.1

hope the description will stick this time!

25 Mar 2017 1.02.02


Contact us