Skip to content
Glenn Thompson edited this page Jan 3, 2017 · 70 revisions

1. Reading seismic waveform data into GISMO

1.1 Reading a MiniSEED (or SEED file) into MATLAB

w = waveform('/Users/glennthompson/Desktop/BCHH_centaur-6_0371_20160901_120000.seed','seed');

1.2 Reading a SAC file into MATLAB

w = waveform('/Users/glennthompson/Dropbox/Professional/Fieldwork/WFDATA/SACdata/rocketabort01.sac','sac');

1.3 Reading a Seisan file into MATLAB

w = waveform('/Users/glennthompson/seisan/WAV/1996-06-03-1917-52S.TEST__002','seisan');

1.4 Reading waveform data from IRIS DMC webservices

When reading from IRIS DMC webservices, you must tell GISMO which datasource to use ('irisdmcws'), which network/station/location/channel combinations to search for (using scnlobject or ChannelTag), and the start and end times of the data window you want to load. All these parameters must be passed to the waveform function call.

ds = datasource('irisdmcws');
scnl = scnlobject('REF', 'EHZ', 'AV', '--');
startTime = '2009/03/23 06:00:00';
endTime = '2009/03/23 07:00:00';
w = waveform(ds, scnl, startTime, endTime);

1.5 Reading waveform data from an Earthworm or Winston waveserver

Reading from an Earthworm or Winston waveserver is exactly the same as reading from IRIS DMC webservices, except that the datasource should be 'earthworm' or 'winston'.

ds = datasource('winston', 'host-ip-address', port_number);
scnl = scnlobject('REF', 'EHZ', 'AV', '--');
startTime = '2009/03/23 06:00:00';
endTime = '2009/03/23 07:00:00';
w = waveform(ds, scnl, startTime, endTime);

1.6 Reading waveform data from an CSS3.0 flat-file database (the format used by Antelope)

Reading from an CSS3.0 flat-flat database is exactly the same as reading from IRIS DMC webservices, except that the datasource should be 'css3.0' (or 'antelope')

ds = datasource('css3.0', 'path/to/database');
scnl = scnlobject('REF', 'EHZ', 'AV', '--');
startTime = '2009/03/23 06:00:00';
endTime = '2009/03/23 07:00:00';
w = waveform(ds, scnl, startTime, endTime);

Overview:

The first task is to read your seismic data into a waveform object. The steps are to tell GISMO:

  • where to get the data from (datasource)
  • which stations/channels/networks & locations to get data for (scnlobject)
  • the start and end of the time window you wish to get data for (waveform)

For example, to load data from a SAC file:

ds = datasource('sac', '/path/to/mysacfile.sac');
scnl = scnlobject('REF', 'EHZ', 'AV', '--');
startTime = '2009/03/23 06:00:00';
endTime = '2009/03/23 07:00:00';
w = waveform(ds, scnl, startTime, endTime);

To load from other data sources, all that changes is the datasource call, e.g. IRIS DMC webservices:

ds = datasource('irisdmcws');

e.g. Antelope/CSS3.0 database:

ds = datasource('antelope', '/path/to/mydatabase');

e.g. Earthworm/Winston waveserver:

ds = datasource('winston', 'host/ip address', port-number); 

e.g. Miniseed file:

ds = datasource('miniseed', '/path/to/myminiseedfile.mseed');

e.g. Seisan file:

ds = datasource('seisan', '/path/to/myseisanfile');

It is also possible to load from multiple files at once with more complex datasource commands.

Similarly, more than one station/channel/network/location can be loaded at once with more complex scnlobject calls.

The Waveform Suite

Processing / Analyzing waveform data

Once you have loaded your data into a waveform object (or into an array of waveform objects), you can do common tasks like make a time series plot, detrend or filter, plot an amplitude spectrum, a spectrogram or a helicorder. Here are some simple examples:

plot(w);
w = detrend(w);
f = filterobject('b', [0.5 10], 2); % define a filter, bandpass 0.5-10 Hz, 2 poles
w = filtfilt(f,w); % apply two-way filter
plot_spectrum(w);
spectrogram(w);
plot_helicorder(w);

As you can see, the commands are self-explanatory. These are just a few of the built-in functions ("methods") that can be applied to waveform objects.

For more detailed/advanced examples, consult these pages:

2. Seismic event catalogs

Classes:

3. Instrument response data

Classes:

Example:

4. RSAM data

Classes:

5. Helicorder plots (drum plots)

Classes:

6. STA/LTA Detector

7. Correlation analysis

8. Interfacing GISMO with other tools

8.1 ObsPy

8.2 SAC

8.3 Seisan

8.4 Earthworm and Winston waveservers

8.5 Antelope

8.6 CSS3.0 databases (without Antelope)

8.7 Excel


Guide on writing tutorial pages
Clone this wiki locally