Earthworm Module: eqfilterII
Contributed by:
Function
Clone of eqfilterII to work with any of TYPE_HYP2000ARC, TYPE_LOC_GLOBAL, and TYPE_RAYLOC (new in EW v7.0)
Details
This is verion II the Earthworm hypocenter garbage rejector. EqfilterII was cloned from eqfilter. It accepts any of three message types: TYPE_HYP2000ARC, TYPE_LOC_GLOBAL, and TYPE_RAYLOC (eqfilter only accepts TYPE_HYP2000ARC). Whatever message type is read, is also the type written to eqfilterII's message ring. EqfilterII gets its messages 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
eqfilterII is the so called garbage rejector . That is it performs sanity and authoritative region tests to any of three message types found on the InRing and passes to the OutRing (TYPE_HYP2000ARC, TYPE_LOC_GLOBAL, and TYPE_RAYLOC). 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, eqfilterII 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 eqfilterII 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 eqfilterII's parameter file! # MyModuleId MOD_EQFILTERII # module id for this instance of eqfilterII 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 GetEventsFrom INST_WILDCARD MOD_WILDCARD TYPE_LOC_GLOBAL GetEventsFrom INST_WILDCARD MOD_WILDCARD TYPE_HYP2000ARC GetEventsFrom INST_WILDCARD MOD_WILDCARD TYPE_RAYLOC # # AllowUndefInst - OPTIONAL # Applies only to authreg test. # If this is uncommented, the 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 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 can be any of TYPE_LOC_GLOBAL, TYPE_HYP2000ARC, TYPE_RAYLOC. Multiple message types of the three allowed can be used (up to the max number of logos).
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 messages 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.