# Eqverify Configuration File Commands

(last revised 25 November 1996)
Page Index:
1. Example configuration file
2. Functional command listing
3. Alphabetic command listing & description
4. Notes on eqverify's default values for its constants

On startup, eqverify reads the configuration file named on the command-line. Commands in this file set up all parameters used in verifying events to be earthquakes. In the control file, lines may begin with a valid eqverify command (listed below) or with one of 2 special characters:

>     #  marks the line as a comment (example: # This is a comment).

>     @  allows control files to be nested; one control file can be
>        accessed from another with the command "@" followed by
>        a string representing the path name of the next control file
>        (example: @model.d).

Command names must be typed in the control file exactly as shown in this document (upper/lower case matters!).

## 1. EXAMPLE CONFIGURATION FILE

    #
    # This is eqverify's parameter file
    #
    MyModuleId  MOD_EQPROC  # module id to label logfile  with.
                            # Note: eqverify 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

    # send output to the following command:
    # PipeTo "log_everything"
    PipeTo "hypo_mgr hypo_mgr.d ncal.hyp"

    # Required commands to turn glitch tests on (>0) or off (=0)
    test_slopevsmag  1
    test_freefitrms  1
    test_codawt      1
    test_pgroup      1

    # Optional commands that change eqverify 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.035  # a glitch is at least 4 picks within
                              # 0.035 seconds
    # EventThreshold     3    # event weight at which event is "noise"
    # 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)

## 2. FUNCTIONAL COMMAND LISTING

Below are the commands recognized by eqverify, grouped by the function they influence. Some of the commands are marked "required"; these commands must be specified in the control file in order for eqverify to operate. Other commands have default values which are over-ridden when a command is given.

    	Earthworm System Setup:
     		MyModuleId	required
                    PipeTo          required

            Event Verification:
    		test_codawt	required
    		test_freefitrms required
    		test_pgroup 	required
    		test_slopevsmag required
    		coda_clip
     		define_glitch
    		EventThreshold
    		force_report
    		MaxDeltaT

    	Output Control:
    		LogFile		required

## 3. ALPHABETIC COMMAND LISTING & DESCRIPTION

In the following section, all configuration file commands are listed in alphabetical order. Listed along with the command (bold-type) are its arguments (in red), the name of the subroutine that processes the command, and the function within the module that the command influences. A detailed description of the command and is also given. Default values and the values used by Calnet are listed after each command description.

    command arg1				processed by		function

    coda_clip klipc				eqverify_config		verification

> Define the number of counts klipc above which a 2-second trace data window's average absolute amplitude should be considered clipped. Eqcoda also uses the "coda_clip" command; make sure that both eqcoda and eqverify are using the same value for klipc! Eqverify uses klipc in calculating an eqmeas-style coda weight that is used in the coda weight test (see "test_codawt" command). This coda weight is slightly different than that calculated by eqcoda.

>     Default:  coda_clip 820			Calnet:  coda_clip 820

    define_glitch npick nsec		eqverify_config		verification

> Defines a glitch as at least npick arrivals within nsec seconds. This definition is used in the test on the temporal distribution of P-arrivals (see "test_pgroup" command for an explanation).
> Note: nsec should be set slightly larger than an integer multiple of the pick-timing resolution to avoid missing glitches due to round-off errors in floating point arithmetic (for example, our picks are reported to the nearest 0.01 seconds, so we set nsec to 0.035 sec instead of 0.03 sec).

>     Default:  define_glitch 4 0.035		Calnet:  define_glitch 4 0.035

    EventThreshold thresh			eqverify_config		verification

> Sets the event weight thresh below which an event is a verified earthquake. Each event begins with an event weight of zero (perfect event). Up to four tests (see "test_*" commands) may be performed to verify that the event has the characteristics of a real earthquake. Three of the tests evaluate coda characteristics, and the other evaluates the temporal distribution of P-arrivals. Each test increments the event weight if non-earthquake characteristics are detected. If the event weight is equal to or greater than thresh after all the tests are performed, the event is declared noise and is written to eqverify's log file. Events with weights less than thresh are piped to the next process.

>     Default:  EventThreshold 3		Calnet:  EventThreshold 3

    force_report npick mag			eqverify_config		verification

> Sets a safety-valve to force large events to be reported regardless of their final event weight. An event with more than npick arrivals and a magnitude of at least mag will always be sent along to the next process, even if its event weight exceeds the event threshold thresh. The event's magnitude is calculated from its median coda duration. This safety-valve is necessary for large events because the picker terminates coda calculations at 144 seconds, before the coda begins to decay. This causes the test described in the "test_slopevsmag" command to yield results that would call the event noise. And we don't want a real large earthquake to be thrown away!
> Note: defaults were taken from Lindh and Hirshorn's program, eqmeas.

>     Default:  force_report 17 2.0		Calnet:  force_report 17 2.0

    LogFile switch				eqverify_config		output

> Sets the on-off switch for writing a log file to disk. If switch is 0, no log file will be written. If switch is 1, eqverify will write daily log file(s) called eqverifyxx.log_yymmdd where xx is eqverify's module id (set with "MyModuleId" command) and yymmdd is the current UTC date (ex: 960123) on the system clock. The file(s) will be written in the EW_LOG directory (environment variable).

>     Default:  none

    MaxDeltaT sec				eqverify_config		verification

> Defines the time interval for studying the temporal distribution of P-arrivals (see "test_pgroup" command). Only picks within sec seconds of the first-arriving pick are considered in the test.

>     Default:  MaxDeltaT 30.0		Calnet:  MaxDeltaT 30.0

    MyModuleId mod_id			eqverify_config		Earthworm setup

> Sets the module id for labeling all outgoing messages. mod_id is a character string (valid strings are listed in earthworm.d) that relates (in earthworm.d) to a unique single-byte number.
> NOTE: eqverify is part of a mega-module which is ultimately started by the program eqproc. All sub-modules of this megamodule should be given the same module id.

>     Default:  none				Calnet:  MyModuleId MOD_EQPROC

    PipeTo cmdstring			eqverify_config		Earthworm setup

> Sets the command to which eqverify will pipe a hypoinverse-format archive (with shadow cards) event for the next step in earthquake processing. Blank spaces are allowed in cmdstring as long as the entire command is enclosed in double-quotes.

>     Default:  none
>     Calnet:   PipeTo "hypo_mgr hypo_mgr.d ncal.hyp"

    test_codawt switch			eqverify_config		verification

> Sets the switch for performing the coda weight test on each event. If switch is non-zero, the test will be performed; if switch is zero, it will not be performed. This test, taken from Lindh and Hirshorn's program eqmeas, calculates a coda weight for each pick in the manner of eqmeas. It then finds the average of all coda weights for the event and adds this average value to the event weight.

>     Default:  none				Calnet:  test_codawt 1

    test_freefitrms switch			eqverify_config		verification

> Sets the switch for performing a test on the rms values from free-fit slopes to the coda average absolute values. If switch is non-zero, the test will be performed; if switch is zero, it will not be performed. This test, taken from Lindh and Hirshorn's program eqmeas, considers only the rms for each arrival where at least 3 coda window average absolute values were used in the free-fit. It finds the median of all such free-fit rms's for the event. If the median rms value is greater than 0.25 (bad fit to coda amplitudes), the event weight is incremented by 1. Otherwise (good fit), the event weight remains the same. With default settings, this test by itself cannot cause an event to be declared noise.

>     Default:  none				Calnet:  test_freefitrms 1

    test_pgroup switch			eqverify_config		verification

> Sets the switch for performing a test the temporal distribution of P-arrivals for each event. If switch is non-zero, the test will be performed; if switch is zero, it will not be performed. 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 as defined by default settings (at least 4 picks within 0.03 seconds) or by the "define_glitch" command. If 50% or more of all picks belong to glitches, the event is declared noise. If 30-50% of the picks are glitch-picks, the event weight is incremented by 1.

>     Default:  none				Calnet:  test_pgroup 1

    test_slopevsmag switch			eqverify_config		verification

> Sets the switch for performing a test on the median slope (fit to the coda window average absolute values) versus the magnitude calculated from the median coda duration for each event. If switch is non-zero, the test will be performed; if switch is zero, it will not be performed. This test, taken from Lindh and Hirshorn's program eqmeas, increments the event weight 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.

>     Default:  none				Calnet:  test_slopevsmag 1

## 4. NOTES ON EQVERIFY'S DEFAULT VALUES FOR ITS CONSTANTS

For historical perspective, much of the verification source code was originally written to work on Rex Allen RTP digitizer data which had an output range of +/- 2500 counts for an input signal of +/- 2.5 Volts. The Earthworm system uses a 12-bit A/D; so its output ranges from +/- 2048 counts for the same input signal of +/- 2.5 Volts.

       For Allen RTP digitizers,      1 mV = 1.0  counts
       For Earthworm digitizers,      1 mV = 0.82 counts

Many constants used here were originally defined for the RTP data to be "nice round numbers" corresponding to some number of mV. The defaults for these constants have been converted for the Earthworm data; they still correspond to the same mV values (they just aren't "nice round numbers" any more).

Module Index | Eqverify Overview