wiki:eqfilter

Version 1 (modified by branden, 8 years ago) (diff)

--

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