Search:
wiki:eqverify_assemble
Last modified 18 months ago Last modified on 03/25/12 13:27:52

# Earthworm Module: eqverify_assemble

Contributed by:

## Function

Passes only events verified as earthquakes (part of mega-module with eqassemble)

## Details

Eqverify is a sub-module in Earthworm's event-processing mega-module. It takes the output from eqcoda (TYPE_EVENT2K messages) and performs a number of tests to determine if the event looks like an earthquake or noise. Only those events verified to be earthquakes are passed along to the next sub-module. Eqverify starts the next sub-module specified in its "PipeTo" command (generally hypo_mgr) and communicates to it via a one-directional pipe. Eqcoda passes any messages other than TYPE_EVENT2K thru to the next link without modifying them in any way.

Eqverify can perform up to four different earthquake verification tests on each event. One of the tests analyzes the distribution of arrival times reported for the event; the remaining three analyze different coda characteristics of the arrivals. Each test can be turned on or off by a configuration-file switch. Bad test results (results that show that the event looks more like noise than an earthquake) add to a count of "demerit points" for the event. If the total number of demerits meets or exceeds a (configurable) threshold, the event is declared to be noise, the complete TYPE_EVENT2K message is written to eqverify's log file, and the event is withheld from any further processing. To avoid the big mistake of mis-identifying a large earthquake as noise and withholding it, there is a "force-thru" feature in eqverify. Any event with a minimum number of arrivals and a minimum duration magnitude (defaults are 17 arrivals, magnitude 2.0) will be passed through to the next processing sub-module, regardless of its test results. We'd rather report a few bogus events than drop "the big one!"

A brief description of each of the verification tests follows:

1. Test on Arrival Time Distribution ("test_pgroup" command):
   - In this test, all arrivals within "MaxDeltaT" seconds (default = 30) of the first-arriving pick are examined to see if they belong to a glitch.
   - A glitch is defined as a certain number of picks within a given time interval (set by the "define_glitch" command; default is 4 picks within 0.03 seconds).
   - If 50% or more of these picks belong to glitches, the event is declared noise.
   - If 30-50% of the picks are glitch-picks, the event's demerit count is incremented by 1.
2. Test on Coda Weight or Quality ("test_codawt" command):
   - This test, taken from Lindh and Hirshorn's program eqmeas, calculates a coda weight (0 is a good quality coda, 4 is poor) for each pick. It then finds the average of all coda weights for the event and adds this average value to the event demerit count.
3. Test on RMS of slope fit to Coda Amplitudes ("test_freefitrms" command):
   - This test looks at the rms values from free-fit slopes to the coda average absolute values. This test, taken from Lindh and Hirshorn's program eqmeas, considers only the rms for each arrival where at least 3 coda average absolute values were used in determining the free-fit slope of the coda decay. Eqverify finds the median of all the rms values for such free-fit. If the median rms value is greater than 0.25 (bad fit to coda amplitudes), the event demerit count is incremented by 1. With default settings, this test by itself cannot cause an event to be declared noise.
4. Test on Slope of Coda Decay vs Event Magnitude ("test_slopevsmag" command):

This test compares the median slope of coda decay (fit to the coda window average absolute values) to the magnitude calculated from the median coda duration for each event. This test, taken from Lindh and Hirshorn's program eqmeas, increments the event demerit count by the absolute value of the result of this equation:

          <median slope> + 0.7*<magnitude from median duration> + 0.5

For a normal earthquake, the slope fit to the coda windows should be negative and the result from the above equation should be zero. For a noise event, the result from the above equation may be unbounded. This test alone may cause an event to be declared noise.

NOTE: If you are running eqverify as part of the preliminary-event-processing mega-module (started by eqprelim), you should use ONLY the test on arrival time distribution ("test_pgroup"). All coda tests should be turned off since the event will have incomplete coda information at the time eqverify tests it.

### Example Configuration File

    #
    # This is eqverify_assemble's parameter file
    #
    MyModuleId  MOD_EQPROC  # module id to label logfile  with.
                            # Note: eqverify_assemble is part of a mega-module
                            # which is ultimately started by the program eqproc.
                            # All child processes of this mega-module need to use
                            # the same module id (thus use eqproc's module id).
    LogFile       1         # 0=no log; 1=log errors
                            # 2=write to moduel log but not to stderr/stdout
    # send output to the following command:
     PipeTo "log_everything"
    # PipeTo "hypo_mgr hypo_mgr.d ncal.hyp"

    # Required commands to turn glitch tests on or off.
    # Specify the minimum version (from eqassemble) for
    # which a test should be run.
    # eqassemble versions are: Prelim: 0; Rapid: 1; Final: 2
    # specify 3 to turn off a test for all versions
    test_slopevsmag  2
    test_freefitrms  2
    test_codawt      2
    test_pgroup      1

    # event weight at which event is "noise" for Prelim (version 0),
    # Rapid (version 1) or Final (version 2) reports from eqassemble
    PrelimThreshold     1
    RapidThreshold	    1
    FinalThreshold	    3

    # Optional commands that change eqverify_assemble test defaults
    # force_report  18 2.0    # report events with more than 18 picks
    #                         # and mag>=2.0 regardless of event weight
    # define_glitch  4 0.03   # a glitch is at least 4 picks within
                              # 0.03 seconds
    # MaxDeltaT         30.   # consider arrival times within this many
    #                         # seconds of the 1st arriving pick
    # coda_clip        820    # level at which a coda-avg-absolute-value
    #                         # is clipped (see notes in eqcoda.command)

## Helpful Hints

### Download in other formats:

- Plain Text