Search:
wiki:eqfilter
Last modified 16 months ago Last modified on 05/29/12 07:21:34

# Earthworm Module: eqfilter

Contributed by:

## Function

Performs parameter tests on Hypoinverse ARC messages.

## Details

This is the Earthworm hypocenter garbage rejector. Eqfilter gets message type HYP2000ARC from the InRing does some sanity checks then puts any that pass all configured tests onto the OutRing. InRing and OutRing can not be the same. All tests are optional. If a test is not configured then it is not performed. If a test is configured then it must pass. Tests are tied to inst_id. More or less all parameters in the hypo summary card may be tested for. Additionally, authoritative regions may be configured. Minimum number of coda picks greater than zero for multiple magnitudes may also be configured.

INST_WILDCARD is allowed. If wildcard is the only installation configured for a given test then arc messages from all installations will be tested with those parameters. If only a specific installation is configured for a given test, then only messages from that installation will be tested and all others will fail. If a specific installation is configured for a given test and wildcard is also configured for that test, then messages from the specific will use those parameters, and all other non-specified installations will use the wildcard params.

## Configuration File Commands

eqfilter is the so called garbage rejector . That is it performs sanity and authoritative region tests to hyp2000arc messages found on the InRing and passes to the OutRing. InRing and OutRing can not be the same.

All tests are optional. If a test is not configured then it is not performed. If a test is configured then it must pass. Tests are tied to inst_id. More or less all parameters in the hypo summary card may be tested for. Additionally, authoritative regions may be configured. Minimum number of coda picks greater than zero for multiple magnitudes may also be configured.

INST_WILDCARD is allowed. If wildcard is the only institute configured for a given test then arc messages from any installation will be tested with those parameters. If only specific installation is configured for a given test, then only messages from that installation will be tested for and all others will fail. If a specific installation is configured for a given test and wildcard is also configured for that test, then messages from the specific will use those parameters, and all other non-specified installations will use the wildcard params.

On startup, eqfilter reads the configuration file named on the command-line. Commands in this file set up all parameters used in testing events for passing to the clean ring. In the control file, lines may begin with a valid eqfilter 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!).

### EXAMPLE CONFIGURATION FILE

     # This is eqfilter's parameter file!
    #
    MyModuleId   MOD_EQFILTER    # module id for this instance of eqfilter
    InRing       HYPO_RING       # ring to pick up hyp2000arc messages
    OutRing      HYPO_RING_CLEAN # ring to write output
    HeartBeatInt 30              # seconds between heartbeats
    LogFile      1               # 0 means don't create a disc log file. 1=> do.
                                 # all hyp2000arc messages get logged.  If a message
                                 # passes this is logged, if it fails the test(s) which
                                 # failed are logged.
    #Debug                       # uncomment to log lots of trash

    # List the message logos to grab from transport ring
    #              Installation       Module       Message Type HYP2000ARC is hard-wired
    GetEventsFrom  INST_WILDCARD    MOD_WILDCARD

    #
    # AllowUndefInst - OPTIONAL
    #  Applies only to authreg test.
    #  If this is uncommented, the TYPE_HYP2000ARC messages with installation
    #  ID not listed in any InclRegion command below will be written to the
    #  OutRing.  To prevent writing of messages with "unknown" installation
    #  IDs, make sure that this options is NOT commented out.
    #
    AllowUndefInst

    #
    # List authoritative regions: at least one InclRegion keyword is required.
    #  It associates an earthworm installation ID with a polygon (max 20 sides)
    #  inside of which that installation is authoritative.
    #    o An installation can have more than one authoritative region.
    #    o A region can belong to more than one installation.
    #
    # The points of a polygon should be listed as if lines of the polygon
    # were being drawn without lifting up the pencil, until the polygon
    # is closed. Therefore, the first and the last point should be
    # the same, and each two the points in between should be the ends
    # of one side of the polygon.
    #
    # ExclRegion is optional. It allows for "holes" to be cut inside of the
    # authoritative regions defined by InclRegion option.
    #
    #
    # Region polygons below are from CNSS:
    #  http://quake.geo.berkeley.edu/cnss/cnss-detail.html#polygons
    #

    #
    #Keyword      InstID     NumSides    Lat, Lon  Lat, Lon  ...
    #

    #
    # Alaska Regional Network - AK
    #

    #
    # AVO Volcanos
    #
    InclRegion   INST_AVO       5    62.50 -148.00   60.00 -150.00   57.50 -157.00   58.75 -157.00   62.50 -152.50   62.50 -148.00
    InclRegion   INST_AVO       4    51.25 -175.50   52.50 -175.50   52.50 -178.00   51.25 -178.00   51.25 -175.50

    #
    # Southern California Seismic Network - CI
    #
    #
    # HVO Network - HV
    #
    InclRegion   INST_HVO       8    18.83 -155.00   19.50 -154.75   20.00 -154.92   20.25 -155.25   20.33 -155.92   20.00 -156.50   19.17 -156.17   18.75 -155.67   18.83 -155.00

    #
    # Montana Seismic Network - MB
    #
    InclRegion   INST_BUTTE     8    45.17 -110.00   45.17 -111.33   44.50 -111.33   44.50 -113.00   47.95 -116.00   48.50 -115.00   48.50 -113.00   47.00 -110.00   45.17 -110.00

    #
    # Northern California Seismic Networks - NC
    #
    InclRegion    INST_MENLO     9   36.68 -117.79   37.75 -118.25   37.75 -119.50   39.50 -120.75   42.00 -121.41   42.00 -122.70   43.02 -125.00   40.00 -125.50   34.69 -121.37   36.68 -117.79

    #
    # New Madrid Seismic Network - NM
    #
    InclRegion    INST_MEMPHIS   8   37.63  -86.68   36.63  -88.62   34.03  -88.42   34.00  -93.50   38.00  -93.50   40.00  -91.50   40.00  -85.00   38.80  -85.00   37.63  -86.68

    #
    # Nevada Seismic Network - NN
    #
    InclRegion    INST_UNR      11   35.30 -114.60   35.80 -116.40   36.68 -117.79   37.75 -118.25   37.75 -119.50   39.50 -120.75   40.50 -120.50   41.50 -119.20   41.30 -118.30   40.00 -116.00   37.50 -114.30   35.30 -114.60

    #
    # SouthEast US Seismic Network - SE
    #

    #
    # Puerto Rico Seismic Network - PR
    #

    #
    # Utah Seismograph Network - UU
    #
    InclRegion    INST_UTAH      4   36.75 -108.75   36.75 -114.25   42.50 -114.25   42.50 -108.75   36.75 -108.75

    #
    # Pacific Northwest Seismic Network - UW
    #
    InclRegion    INST_UW       11   43.02 -125.00   42.00 -122.70   42.00 -121.00   45.90 -117.80   48.20 -117.80   48.95 -122.00   48.95 -122.80   48.20 -123.00   48.50 -125.00   44.50 -124.60   43.00 -125.00   43.02 -125.00

    #
    # Yellowstone WY Seismic Network - WY
    #
    InclRegion    INST_UTAH      4   44.00 -109.75   44.00 -111.33   45.17 -111.33   45.17 -109.75   44.00 -109.75

    # for all subsequent tests INST_WILDCARD is legal but will be superceded
    # by additional Keyword entries with non-wildcard InstID.

    #Depth test
    # is hypo between MinDepth and MaxDepth km
    #Keyword    InstID         MinDepth  MaxDepth
    #DepthTest   INST_WILDCARD   0.0       25.0

    #number phase (high weight) test
    # are there at least NPhase phases with phase weight greater than 0.1
    #Keyword    InstID         NPhase
    #nphTest  INST_WILDCARD   5

    #total number phase (any weight) test
    # are there at least NPhase phases with phase weight greater than 0.0
    #Keyword    InstID         NPhaseTotal
    nphtotalTest  INST_WILDCARD   5

    #gap test
    # is the gap < MaxGap  degrees
    #Keyword    InstID         MaxGap
    #GapTest     INST_MEMPHIS   270.0

    #dmin test
    # is distance to nearest station at no greater than MaxDmin km
    #Keyword    InstID         MaxDmin
    #DminTest    INST_MEMPHIS   50.0

    #rms test
    # is the rms less than MaxRMS seconds
    #Keyword    InstID         MaxRMS
    #RMSTest     INST_MEMPHIS   2.5

    #e0 test
    # is the largest principal error less than MaxE0 km
    #Keyword    InstID         MaxE0
    #MaxE0Test      INST_MEMPHIS   50.0

    #erh test
    # is the horizontal error less than MaxERH km
    #Keyword    InstID         MaxERH
    #MaxERHTest     INST_MEMPHIS   50.0

    #erz test
    # is the vertical error less than MaxERZ km
    #Keyword    InstID         MaxERZ
    #MaxERZTest     INST_MEMPHIS   25.0

    #Mag test
    # is the magnitude greater than MinMag
    #Keyword    InstID         MinMag
    MinMagTest     INST_MEMPHIS   -9.9
    MinMagTest     INST_AVO        3.0
    MinMagTest     INST_HVO        3.0
    MinMagTest     INST_BUTTE      0.0
    MinMagTest     INST_MENLO      2.5
    MinMagTest     INST_UNR        2.5
    MinMagTest     INST_UTAH       2.5
    MinMagTest     INST_UW         2.5
    MinMagTest     INST_WILDCARD   4.0

    #Ncoda test
    # given an event with Magnitude Mag, are there at least MinC coda picks
    #
    # note here that since a test is defined for INST_MEMPHIS, unless there
    #   is a wildcard test also defined, only INST_MEMPHIS events have a
    #   chance of passing.  This is so because once a test is configured,
    #   only configured instid's will pass the test.
    #Keyword    InstID         MinC  Mag
    NcodaTest   INST_MEMPHIS   4     2.0
    NcodaTest   INST_MEMPHIS   9     3.0
    NcodaTest   INST_WILDCARD  6     2.0

    # end of parameter file

### 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) and a description of the command. There are no default values so if you configure the command without arguments, all messages fail.

The following list is organized by:

command [argument here]

AllowUndefInst

Command with no arguments and applies only to Authoritative Regions. Any TYPE_HYP2000ARC messages with installation ID not listed in any InclRegion will will pass the Authoritative Region test.

Debug

Command with no arguments. If present, many debug messages are logged.

DepthTest [Inst_ID MinDepth MaxDepth]

If defined, only messages from Inst_ID that have hypocentral depth between MinDepth and MaxDepth kilometers, exclusive, will be passed. All others fail.

DminTest [Inst_ID MaxDmin]

If defined, only messages from InstID with a distance to the nearest station of less than MaxDmin kilometers will be passed. All others fail.

ExclRegion [Inst_ID NumSides Lat1 Lon1 Lat2 Lon2 ... Lat1 Lon1]

List of exclude regions to cut "holes" in a given Inst_ID's authoritave polygon. The points of a polygon should be listed as if lines of the polygon were being drawn without lifting up the pencil, until the polygon is closed. Therefore, the first and the last point should be the same, and each two the points in between should be the ends of one side of the polygon. INST_WILDCARD is NOT ALLOWED with this test.

GapTest [Inst_ID MaxGap]

If defined, only messages from InstID with azimuthal gap of less than MaxGap degrees will be passed. All others fail.

GetEventsFrom> [INST_ID MOD_ID]

What message logos to listen to. Can be more than one, but no more than five. The message type is hard coded to TYPE_HYP2000ARC

HeartBeatInt [Seconds]

Required command to define number of seconds between heartbeats placed on OutRing.

InclRegion [Inst_ID NumSides Lat1 Lon1 Lat2 Lon2 ... Lat1 Lon1]

List authoritative regions. It associates an earthworm installation ID with a polygon (max 20 sides) inside of which that installation is authoritative. An installation can have more than one authoritative region. A region can belong to more than one installation. The points of a polygon should be listed as if lines of the polygon were being drawn without lifting up the pencil, until the polygon is closed. Therefore, the first and the last point should be the same, and each two the points in between should be the ends of one side of the polygon. INST_WILDCARD is NOT ALLOWED with this test.

InRing [RingName]

Read message type HYP2000ARC from this ring.

LogFile [int ]

If set to 1, turn on logging. If set to 0, turn it off.

MinMagTest [Inst_ID MinMag]

If defined, messages from installation Inst_ID with magnitude greater than MinMag will pass. All others fail.

MaxE0Test [Inst_ID MaxE0]

If defined, messages from installation Inst_ID with E0 less than MaxE0 will pass. All others fail. E0 is the value of the largest principal error in kilometers.

MaxERHTest [Inst_ID MaxERH]

If defined, messages from installation Inst_ID with ERH less than MaxERH will pass. All others fail. ERH is the value of the largest horizontal error in kilometers.

MaxERZTest [Inst_ID MaxERZ]

If defined, messages from installation Inst_ID with ERZ less than MaxERZ will pass. All others fail. ERZ is the value of the veritical error in kilometers.

MyModuleId [name]

name is the instance of this module and must be defined in earthworm.d

NcodaTest [Inst_ID MinC Mag]

If defined, messages from installation Inst_ID with magnitude greater than Mag, must have at least MinC coda duration picks greater than 0. All others fail.

nphTest [Inst_ID NPhase]

If defined, messages from installation Inst_ID with more than NPhase arrivals having phase weight greater than 0.1 will pass. All others fail.

OutRing [name]

Required. Outgoing messages get written to name ring. Can not be the same is InRing.

RMSTest [Inst_ID MaxRMS]

If defined, messages from installation Inst_ID with rms error less than MaxRMS will pass. All others fail.

## Helpful Hints

### Download in other formats:

- Plain Text