Changes between Version 2 and Version 3 of binder_ew


Ignore:
Timestamp:
05/04/12 11:08:28 (9 years ago)
Author:
branden
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • binder_ew

    v2 v3  
    9191'''Summing the Stack - Stacking Weights & Event Thresholds:''' 
    9292 
    93 OK, here we go. Binder gets a new pick and it doesn't associate with any 
    94 of its currently active hypocenters.  Binder will now attempt a stack with 
    95 that new pick as the "initiating pick".  First it gathers up all recent 
    96 unassociated picks (binder keeps track of the last 1000 picks it has 
    97 processed, but it only tries to stack with a limited number, set with the 
    98 "stack" command).  Then it reviews that list of unassociated picks to see 
    99 if there are any glitches (see section above). Any picks that belong to a 
    100 glitch will be eliminated from the stacking process. If the initiating pick 
    101 itself belongs to a glitch, binder will not attempt a stack at all. 
    102   Now let's talk about stacking weights. The stacking weight of each 
    103 pick is based on the quality assigned to that pick by the pick_ew process. 
    104 By default, binder stacks only quality=0 picks with a weight=1. Using "grid_wt" 
    105 commands, you can include other quality picks in the stacking process. You could 
    106 also give high-quality picks greater weight in the stack than low-quality 
    107 picks. This differential weighting is especially useful for large networks like 
    108 NCSN; we want to avoid generating events based on a few low-quality picks, but 
    109 will accept an event that's based on a larger number of low-quality picks (or 
    110 a combination of high-and low-quality picks). For small networks (10s of stations), 
    111 I would suggest using equal stacking weight for all quality picks.  Just be 
    112 sure to use a "grid_wt" command for each pick quality (including 0) that you 
    113 want binder to include in the stack. 
    114   The "grid_wt_instid" is a new twist (June 2002) to the stack weighting scheme. 
    115 It allows you to set the stacking weight of a pick based on its pick quality 
    116 and its installation_id.  For example, this allows a user to weight a quality 
    117 2 pick from one installation differently than a quality 2 pick from a different 
    118 installation.  This is only useful for networks that exchange pick data with 
    119 other institutions. 
    120   To sum the stack, each grid cell is assigned a "hit count" to keep track of 
    121 how many picks that cell is a potential hypocenter for (how many "hollyhocks" 
    122 that cell is a member of). During the stack, binder only keeps track of the 
    123 grid cells within the initiating pick's stacking volume. At the beginning of a 
    124 stack, the hit count of every cell in the initiating pick's stacking volume is 
    125 set to initiating pick's stack weight.  Then binder calculates the hollyhock 
    126 for each additional pick; for each grid cell that lies within the new pick's 
    127 hollyhock and the initiating pick's stacking volume, the hit count in 
    128 incremented by the stack weight of the new pick. 
    129   After binder sums the stack using all picks in its short list, it reviews 
    130 the hit counts of all the grid cells. Binder prepares a list of cells that 
    131 share the maximum hit value and the same minimum distance to the initiating 
    132 phase. Binder declares a new hypocenter from the stack only if the maximum 
    133 hit count is greater than or equal to an event threshold value (set with the 
    134 "thresh" command) and the number of cells in the list is less than an 
    135 event focus value (set with the "focus" command). The trial hypocenter for 
    136 the declared event is calculated by averaging the center positions of all 
    137 the cells in the maximum-hit-count list.  Each pick that contributed to that 
    138 maximum hit count is associated with the new event. 
    139   It's very important that at least 4 phases contribute to declaration of a 
    140 newly stacked earthquake.  If all picks are being weighted equally (no 
    141 "grid_wt" commands were used), the event threshold ("thresh" command)should 
    142 be set to 4 or higher. If differential stacking weights are being used, the 
    143 event threshold should be greater than 3 times the maximum stacking weight 
    144 specified by "grid_wt" commands. 
    145   Finding the optimum value for the event focus value ("focus" command) 
    146 may require considerable experimentation for any specific network. The 
    147 optimal value will depend somewhat on the stacking grid granularity ("dspace" 
    148 command). Since the trial hypocenter is calculated by averaging the center 
    149 positions of all the cells in the maximum-count list, a larger focus threshold 
    150 will increase the probability of a poor starting location (which has its own 
    151 attendant problems). A smaller focus value, however, will tend to reject 
    152 distant events. 
     93OK, here we go. Binder gets a new pick and it doesn't associate with any of its currently active hypocenters.  Binder will now attempt a stack with that new pick as the "initiating pick".  First it gathers up all recent unassociated picks (binder keeps track of the last 1000 picks it has processed, but it only tries to stack with a limited number, set with the "stack" command).  Then it reviews that list of unassociated picks to see if there are any glitches (see section above). Any picks that belong to a glitch will be eliminated from the stacking process. If the initiating pick itself belongs to a glitch, binder will not attempt a stack at all. 
     94 
     95Now let's talk about stacking weights. The stacking weight of each pick is based on the quality assigned to that pick by the pick_ew process. By default, binder stacks only quality=0 picks with a weight=1. Using "grid_wt" commands, you can include other quality picks in the stacking process. You could also give high-quality picks greater weight in the stack than low-quality picks. This differential weighting is especially useful for large networks like NCSN; we want to avoid generating events based on a few low-quality picks, but will accept an event that's based on a larger number of low-quality picks (or a combination of high-and low-quality picks). For small networks (10s of stations), I would suggest using equal stacking weight for all quality picks.  Just be sure to use a "grid_wt" command for each pick quality (including 0) that you want binder to include in the stack. 
     96 
     97The "grid_wt_instid" is a new twist (June 2002) to the stack weighting scheme. It allows you to set the stacking weight of a pick based on its pick quality and its installation_id.  For example, this allows a user to weight a quality 2 pick from one installation differently than a quality 2 pick from a different installation.  This is only useful for networks that exchange pick data with other institutions. 
     98 
     99To sum the stack, each grid cell is assigned a "hit count" to keep track of how many picks that cell is a potential hypocenter for (how many "hollyhocks" that cell is a member of). During the stack, binder only keeps track of the grid cells within the initiating pick's stacking volume. At the beginning of a stack, the hit count of every cell in the initiating pick's stacking volume is set to initiating pick's stack weight.  Then binder calculates the hollyhock for each additional  pick; for each grid cell that lies within the new pick's hollyhock and the initiating pick's stacking volume, the hit count in incremented by the stack weight of the new pick.  
     100 
     101After binder sums the stack using all picks in its short list, it reviews the hit counts of all the grid cells. Binder prepares a list of cells that share the maximum hit value and the same minimum distance to the initiating phase. Binder declares a new hypocenter from the stack only if the maximum hit count is greater than or equal to an event threshold value (set with the "thresh" command) and the number of cells in the list is less than an event focus value (set with the "focus" command). The trial hypocenter for the declared event is calculated by averaging the center positions of all the cells in the maximum-hit-count list.  Each pick that contributed to thatmaximum hit count is associated with the new event. 
     102 
     103It's very important that at least 4 phases contribute to declaration of a newly stacked earthquake.  If all picks are being weighted equally (no "grid_wt" commands were used), the event threshold ("thresh" command)should be set to 4 or higher. If differential stacking weights are being used, the event threshold should be greater than 3 times the maximum stacking weight specified by "grid_wt" commands. 
     104 
     105Finding the optimum value for the event focus value ("focus" command) may require considerable experimentation for any specific network. The optimal value will depend somewhat on the stacking grid granularity ("dspace" command). Since the trial hypocenter is calculated by averaging the center positions of all the cells in the maximum-count list, a larger focus threshold will increase the probability of a poor starting location (which has its own attendant problems). A smaller focus value, however, will tend to reject distant events. 
    153106 
    154107'''Stacking and Eventids:''' 
    155108 
    156   Every time binder identifies a new event with a stack, it assigns 
    157 an eventid to it.  Binder uses this eventid in its internal bookkeeping 
    158 to know which picks are associated with which events.  It also writes 
    159 the eventid in the TYPE_LINK and TYPE_QUAKE2K messages that it outputs, 
    160 so that downstream modules (eqproc, eqprelim) can also do their own 
    161 bookkeeping. 
    162   Binder keeps track of the next available eventid in a file called 
    163 "quake_id.d" that is written in the EW_PARAMS directory.  The actual 
    164 command written to the file is the "next_id quakeid" command. This file 
    165 is read once on startup (actually, the first eventid used after startup 
    166 is quakeid+1), and is updated after every new event is stacked.  To ensure 
    167 sequential, non-duplicated eventids between runs, binder's configuration 
    168 file must contain the command "@quake_id.d". If this command is omitted, 
    169 event sequence numbers will be issued beginning at 1 each time binder 
    170 is restarted. 
    171   You should never see the same eventid twice, but you may see gaps. 
    172 On startup, binder always skips one eventid (just in case it died in the 
    173 middle of writing the quake_id.d file), and it may kill events for various 
    174 reasons.  Also, the eventids may appear downstream out of numerical order. 
    175 Sometimes a smaller event that occured after (thus had a higher eventid) 
    176 a large one will finish first. 
     109Every time binder identifies a new event with a stack, it assigns an eventid to it.  Binder uses this eventid in its internal bookkeeping to know which picks are associated with which events.  It also writes the eventid in the TYPE_LINK and TYPE_QUAKE2K messages that it outputs, so that downstream modules (eqproc, eqprelim) can also do their own bookkeeping. 
     110 
     111Binder keeps track of the next available eventid in a file called "quake_id.d" that is written in the EW_PARAMS directory.  The actual command written to the file is the "next_id quakeid" command. This file is read once on startup (actually, the first eventid used after startup is quakeid+1), and is updated after every new event is stacked.  To ensure sequential, non-duplicated eventids between runs, binder's configuration file must contain the command "@quake_id.d". If this command is omitted, event sequence numbers will be issued beginning at 1 each time binder is restarted. 
     112 
     113You should never see the same eventid twice, but you may see gaps. 
     114 
     115On startup, binder always skips one eventid (just in case it died in the middle of writing the quake_id.d file), and it may kill events for various reasons.  Also, the eventids may appear downstream out of numerical order. Sometimes a smaller event that occured after (thus had a higher eventid) a large one will finish first. 
    177116 
    178117 
    179118=== Associating New Phases with Active Earthquakes === 
    180   Whenever binder retreives a new pick, the first thing it does is try 
    181 to associate the arrival time with one of its currently active earthquakes. 
    182 Even though the Earthworm pick_ew module supposedly only picks P-wave 
    183 arrivals, binder assumes the pick is an unknown phase during the association 
    184 process. Knowing each event's origin time and location (binder keeps track of 
    185 the most recent 100 hypocenters), the station location, and the velocity 
    186 structure, binder calculates the arrival times of each event's possible 
    187 phases (P, Pg, Pn, S, Sg, Sn) at that site. Then it compares the actual 
    188 arrival time to the calculated times to find the residuals. Any phase with 
    189 a residual within the configured residual-tolerance qualifies that pick to 
    190 be associated with that event as that phase. The phase having the lowest 
    191 residual value (within the residual-tolerance) wins!  Binder associates 
    192 or links the pick with the event with the winning phase, then it hands that 
    193 event to the L1 locator for further processing.  If no phase has a residual 
    194 within the residual-tolerance, binder performs a stack with the new pick as 
    195 the initiating pick (see stacking section above). 
     119Whenever binder retreives a new pick, the first thing it does is try to associate the arrival time with one of its currently active earthquakes. Even though the Earthworm pick_ew module supposedly only picks P-wave arrivals, binder assumes the pick is an unknown phase during the association process. Knowing each event's origin time and location (binder keeps track of the most recent 100 hypocenters), the station location, and the velocity structure, binder calculates the arrival times of each event's possible phases (P, Pg, Pn, S, Sg, Sn) at that site. Then it compares the actual arrival time to the calculated times to find the residuals. Any phase with a residual within the configured residual-tolerance qualifies that pick to be associated with that event as that phase. The phase having the lowest 
     120residual value (within the residual-tolerance) wins!  Binder associates or links the pick with the event with the winning phase, then it hands that event to the L1 locator for further processing.  If no phase has a residual within the residual-tolerance, binder performs a stack with the new pick as the initiating pick (see stacking section above). 
    196121 
    197122'''Association and Time Constraints''' 
    198 As I mentioned above, binder keeps track of the 100 most recent hypocenters. 
    199 When it tries to associate a new pick, it doesn't actually consider all of 
    200 those hypocenters as possible sources for the pick.  Instead, it considers 
    201 only those hypocenters where the pick time is within a given time range of 
    202 the origin time.  The "t_dif tmin tmax" command defines the acceptable time 
    203 range (tmin, tmax are in seconds). If the pick time is earlier than 
    204 (origintime + tmin) or later than (origintime + tmax) for a given event, 
    205 binder will not attempt to associate that pick with that event. 
     123As I mentioned above, binder keeps track of the 100 most recent hypocenters. When it tries to associate a new pick, it doesn't actually consider all of those hypocenters as possible sources for the pick.  Instead, it considers only those hypocenters where the pick time is within a given time range of the origin time.  The "t_dif tmin tmax" command defines the acceptable time range (tmin, tmax are in seconds). If the pick time is earlier than (origintime + tmin) or later than (origintime + tmax) for a given event, binder will not attempt to associate that pick with that event. 
    206124 
    207125'''Association and Distance Constraints''' 
    208126 
    209    Binder keeps track of the average epicentral distance (rAvg) of all phases 
    210 associated with each active hypocenter in its list. Before binder attempts 
    211 to associate a new pick with a given hypocenter, it compares the epicentral 
    212 distance of that station with a cutoff distance based on the rAvg value for 
    213 that hypocenter. If the new pick's epicentral distance is greater than the 
    214 cutoff distance, binder will not attempt to associate the new pick with 
    215 that hypocenter. The cutoff distance is calculated by rAvg*rAvg_Factor, 
    216 where rAvg_Factor is a constant (default value = 10.0) that can be set with 
    217 the "rAvg_Factor" command.  This distance cutoff is important in cases where 
    218 two earthquakes occur with seconds of one another in different parts of the 
    219 network.  It also keeps an event from being contaminated by distant spurious 
    220 noise picks which happen to match the event's travel time curve. 
    221  
    222 Configuring the Travel-time Residual Tolerance Function: 
    223   Whether or not a given phase is associated with, culled from, or scavenged 
    224 for a given event is determined by how closely its arrival time fits the 
    225 predicted arrival time for the event (ie, how large its travel-time residual 
    226 is). The overall maximum-allowed travel-time residual (residual tolerance 
    227 or restpr) for a pick to be associated with a given active hypocenter is 
    228 composed of three terms: 
     127Binder keeps track of the average epicentral distance (rAvg) of all phases associated with each active hypocenter in its list. Before binder attempts to associate a new pick with a given hypocenter, it compares the epicentral distance of that station with a cutoff distance based on the rAvg value for that hypocenter. If the new pick's epicentral distance is greater than the cutoff distance, binder will not attempt to associate the new pick with that hypocenter. The cutoff distance is calculated by rAvg*rAvg_Factor, where rAvg_Factor is a constant (default value = 10.0) that can be set with the "rAvg_Factor" command.  This distance cutoff is important in cases where two earthquakes occur with seconds of one another in different parts of the network.  It also keeps an event from being contaminated by distant spurious noise picks which happen to match the event's travel time curve.  
     128 
     129'''Configuring the Travel-time Residual Tolerance Function''' 
     130Whether or not a given phase is associated with, culled from, or scavenged for a given event is determined by how closely its arrival time fits the predicted arrival time for the event (ie, how large its travel-time residual is). The overall maximum-allowed travel-time residual (residual tolerance or restpr) for a pick to be associated with a given active hypocenter is composed of three terms: 
    229131{{{ 
    230132   restpr = dist-taper + res1_OT + res2_OT 
    231133}}} 
    232 The first term (dist-taper) is based on the distance of the current pick to 
    233 the hypocenter (controlled with the "taper" commands) and two remaining 
    234 terms (res1_OT and res2_OT, controlled with the "taper_OT" command) are based 
    235 on the quality of the event's location.  All of these terms are configurable 
    236 to allow you to widen the residual tolerance for more distant picks and/or 
    237 for more poorly located earthquakes. 
     134The first term (dist-taper) is based on the distance of the current pick to the hypocenter (controlled with the "taper" commands) and two remaining terms (res1_OT and res2_OT, controlled with the "taper_OT" command) are based on the quality of the event's location.  All of these terms are configurable to allow you to widen the residual tolerance for more distant picks and/or for more poorly located earthquakes. 
    238135 
    239136'''Residual Tolerance Distance Term, dist-taper''' 
    240137 
    241   The distance-dependent term of residual tolerance, dist-taper, is controlled 
    242 with the "taper r resmax" command, where r is the epicentral distance (km) and 
    243 resmax is the value of the dist-taper term (seconds). Multiple taper commands 
    244 (up to 100) can be used, in order of increasing r, to define the dist-taper 
    245 term of the tolerance function. Between the distances specified, the value of 
    246 the dist-taper term changes linearly between corresponding resmax values. For 
    247 distances less than the lowest value specified, the dist-taper term is constant 
    248 at the resmax value for the smallest distance; for distances exceeding the 
    249 maximum specified, the dist-taper term is constant at the resmax value set 
    250 for the maximum distance. If no "taper" commands are supplied, the dist-taper 
    251 term is a constant 1.0 sec for all distances. 
    252   The dist-taper function defined by the "taper" commands also plays a role 
    253 in how a pick is weighted in the relocation process (see the distance-weight 
    254 factor in the "Relocation and Pick Weighting" section below). 
     138The distance-dependent term of residual tolerance, dist-taper, is controlled with the "taper r resmax" command, where r is the epicentral distance (km) and resmax is the value of the dist-taper term (seconds). Multiple taper commands (up to 100) can be used, in order of increasing r, to define the dist-taper term of the tolerance function. Between the distances specified, the value of the dist-taper term changes linearly between corresponding resmax values. For distances less than the lowest value specified, the dist-taper term is constant at the resmax value for the smallest distance; for distances exceeding the maximum specified, the dist-taper term is constant at the resmax value set for the maximum distance. If no "taper" commands are supplied, the dist-taper term is a constant 1.0 sec for all distances.  
     139 
     140The dist-taper function defined by the "taper" commands also plays a role in how a pick is weighted in the relocation process (see the distance-weight factor in the "Relocation and Pick Weighting" section below).  
    255141 
    256142'''Residual Tolerance Hypocentral Quality Terms, res1_OT and res2_OT'''