NAME

Mlrichter - traditional Richter magnitude computational class for evproc generalized event processing

SYNOPSIS

use Mlrichter ;

($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 traditional Richter magnitude, aka "local" magnitude or ml, for use in orbevproc(1) and dbevproc(1) generalized event processing programs. The methodology and corrections functions come unmodified from the original paper: Charles F. Richter, "An instrumental earthquake magnitude scale", BSSA, v. 25, no. 1, pp 1-32, 1935.

new is the constructor method and does the basic setup of the internal perl structures for magnitude processing. The Mlrichter::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 predicted P and S arrival times and user input 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.

Mlrichter::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 Richter magnitude which is also cached for subsequent processing.

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

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

PARAMETER FILE

The parameter file object used by the Mlrichter 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 Mlrichter follows.


#    This is a parameter template for Mlrichter

mlrichter_params &Arr{
     channels &Tbl{
#    snet_expr chan_expr           noise_twin signal_twin   snr_thresh         clip_upper
#       sta_expr          filter         noise_toffset signal_toffset clip_lower
     .* TRO    SH[12NE].* autosp   tproc 10.0 f2.0     10.0 3.0       -65000.0 +65000.0
     .* .*     BH[12NE].* auto     tproc 10.0 f2.0     10.0 3.0
     }
     reject &Tbl{
#    snet_expr sta_expr
     II        PFO
     }
     update_time           10.0
     maximum_wait_time     300.0
     maximum_bad_fraction  0.2
     auth_accept           oa_l|oa_l dbg
     output_magtype        ml
     output_auth           orbevproc
     output_stamag         yes
     output_wfmeas         yes
}

The recipe of stations and channels to be used to compute Richter 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 SunOS 5.10 2008-06-17
Boulder Real Time Technologies, Inc For more information, contact support@brtt.com