Applications - geoscience-community-codes/GISMO GitHub Wiki

(Under development - please ignore for now)

IceWeb

The main application built on GISMO is IceWeb. The purpose is to generate a suite of products from continuous seismic data and provide rapid visualization tools so that seismic analysts / researchers can quickly identify anomalous seismicity.

History

IceWeb was the first web-based seismic monitoring systems for volcanoes, developed at AVO between April 1998 and December 1999. Forks of the IceWeb code have been run at CVO, UW/PNSN, HVO and MVO. A major upgrade occurred in 2009 when the original developer returned to AVO, and it continues to be run at AEC. IceWeb inspired Pensive, a Java-based spectrogram system developed by Tom Parker at AVO/USGS.

Products

IceWeb's main products are:

  • 1-minute spectral data
    • peak frequency
    • median frequency
    • frequency index (Buurman and West)
    • frequency ratio (Rodgers et al.)
  • spectrograms (instrument-corrected)
    • 10-minute
    • 2-hour
    • 24-hour (Built from
  • spectrogram mosaics
    • mosaics of 10-minute spectrograms
  • instrument-corrected RSAM plots
  • reduced displacement plots
  • helicorder plots
    • 2 hour
    • 24 hour
  • sound files (these play when clicking on helicorder / spectrogram plots)
  • tremor alarm system

How it works

  • IceWeb has historically been driven by an Antelope rtexec process ([running IceWeb under rtexec]), but since most users don't have access to Antelope, we are modifying it to run completely under MATLAB. The ability to browse rapidly through the variety of plots generated is historically provided by [IceWeb's PhP web interface]. But we are now planning to add the ability to generate static HTML pages so that a web server is not required.

How to run IceWeb

To run iceweb you must create a file like this (call it something like run_iceweb.m):

subnetname = 'Sakurajima';
gulp_mins=120; % data will be gulped 2 hours at a time
chanmatch = 'chan=~/[BESH]H[ENZ]/  || chan=~/BD[FL123]/'; % channels to match
ds = datasource('antelope', '/raid/data/sakurajima/db'); % define a datasource - antelope in this case
startTime = datenum('2015/06/01');
endTime = datenum('2015/06/07');
pffile = sprintf('setup_%.pf',subnetname);
matfile = sprintf('setup_%.mat',subnetname);  

% run the setup program
iceweb.setup(subnetname, startTime, endTime, pffile, chanmatch)

% run iceweb (in archived data mode)
iceweb(ds, 'thissubnet', subnetname, 'snum', startTime, 'enum', endTime, ...
       'delaymins', 0, 'matfile', matfile, 'nummins', gulp_mins, 'runmode', 'archive');

When you run this, iceweb will:

  • build a list of 2-hour timewindows from 2015/06/01 and 2015/06/07
  • for each 2 hour timewindow:
    • load waveform data into waveform objects
    • generate the products listed above for that 2-hour timewindow
    • store these products under a directory called 'Sakurajima'
    • generate the HTML to link these products (under development)