NAME

Msusneic - surface wave magnitude, as computed by US NEIC, computational class for evproc generalized event processing

SYNOPSIS

use Msusneic ;

($obj,$hashref) = new($class,"db" => $dbref,
		"dbm" => $dbmref[,$name1,$val1[,...]]) ;

display($obj[,@keys]) ;

put($obj,$name1,$val1[,...]) ;

@vals = get($obj,@keys) ;

$hashref = getwftimes($obj) ;

$hashref = process_channel($obj,$trref,$flush) ;

$hashref = process_station($obj,$sta,$flush) ;

$hashref = process_network($obj,$flush) ;

DESCRIPTION

This provides a perl computational class for computing surface wave magnitude, aka ms, for use in orbevproc(1) and dbevproc(1) generalized event processing programs. The methodology comes from the United States National Earthquake Information Center through a web page at http://neic.usgs.gov/neis/phase_data/mag_formulas.html.

new is the constructor method and does the basic setup of the internal perl structures for magnitude processing. The Msusneic::new method is completely inherited unmodified from the Magnitude::new method (see Magnitude(3p)).

display, put and get are also inherited unmodified from the Magnitude super class.

getwftimes is called by orb/dbevproc immediately after an object is created and this method must setup the waveform processing for the particular event. Setting up the waveform processing consists of 1) parsing the input parameters from those passed in by orb/dbevproc from the orbevproc.pf and dbevproc.pf parameter files when the processing object was created, using evproc::setup_processes (see evproc(3p)), 2) skipping origins with the wrong author codes, 3) going through the assoc table to find the stations that are associated with the event and their corresponding distances to the event, 4) computing noise and signal time windows based upon the predicted P arrival time and user input group velocity parameters and 4) creating and filling in a perl hash with all of the results. The disposition and output perl hash are returned to orb/dbevproc using the evproc::makereturn function.

Msusneic::process_channel first calls Magnitude::process_channel to get the waveform statistics. The internally cached statistic values are then used as input for computing the particular station-channel surface wave magnitude which is also cached for subsequent processing.

Msusneic::process_station is completely inherited unmodified from Magnitude::process_station.

Msusneic::process_network first calls Magnitude::process_network to compute and output the network magnitude and magnitude processing results. It then deposits the surface wave magnitude into its appropriate field in the output origin table row.

PARAMETER FILE

The parameter file object used by the Msusneic class must be specified in the original orbevproc.pf or dbeveproc.pf parameter files as associative arrays that are indexed through the entries in the event_processes table (see orbevproc(1)). An example parameter file associative array for Msusneic follows.


#    This is a parameter template for Msusneic

msusneic_params &Arr{
     channels &Tbl{
#    snet_expr chan_expr   noise_twin mingvel      snr_thresh
#       sta_expr      filter     noise_toffset maxgvel
     .* .*     LHZ.*  auto 200.0 10.0 2.0      5.0 3.0
     }
     reject &Tbl{
#    snet_expr sta_expr
          IM	  .*
     }
     minimum_period        15.0
     maximum_period        25.0
     minimum_distance      20.0
     maximum_distance      160.0
     maximum_depth         50.0
     update_time           30.0
     maximum_wait_time     1800.0
     maximum_bad_fraction  0.2
     auth_accept           ot|ot dbg
     output_magtype        ms
     output_auth           orbevproc
     output_stamag         yes
     output_wfmeas         yes
}

The recipe of stations and channels to be used to compute surface wave magnitude are given in the channels table. Each entry in the table must consist of at least 9 white space separated fields:

When determining which channels to process, each line in the channels table is compared against the SEED net code and the CSS sta and chan codes. The first line that matches defines the parameters for that channel. Stations that match in the channels table can be rejected if they match against any of the lines in the reject table. The other parameters are as follows:

LIBRARY

use lib $ENV{ANTELOPE}/data/evproc ;

SEE ALSO

orbevproc(1), evproc(3p), Magnitude(3p)

BUGS AND CAVEATS

We encourage the users to inspect all of the source code, written as perl modules, that is used to compute the magnitudes using orbevproc(1) and dbevproc(1). These can be found in $ANTELOPE/data/evproc. All of the details of how the magnitudes are computed can be seen in the perl module source code files. If you want to change anything, please feel free to do so. However, please do not change any of these modules directly as they are supplied in the distribution. Instead, copy the modules, give them new names and change your own copies as you wish.

AUTHOR

Danny Harvey
Boulder Real Time Technologies, Inc.

Table of Contents
Antelope Release 4.10 Mac OS X 10.4.11 2008-06-17
Boulder Real Time Technologies, Inc For more information, contact support@brtt.com