Changes between Version 3 and Version 4 of binder_ew


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

--

Legend:

Unmodified
Added
Removed
Modified
  • binder_ew

    v3 v4  
    88 
    99== Details == 
     10 
    1011Given a list of P-wave arrival times, a set of station locations and a simple velocity model, binder's job is to identify the smallest set of hypocenters that could have produced the current list of arrival times. With each new pick, binder tries to: 
    1112 
     
    26273. What's the velocity structure like?   
    2728 
    28 '''1. P-wave arrivals:''' 
     29'''1. P-wave arrivals''' 
    2930 
    3031Two commands in binder's configuration file tell it where it should get the P-wave arrivals to work on.  The "RingName" command specifies which Earthworm transport ring (a shared memory region) to read from.  Make sure that this is the same ring into which pick_ew is writing its output.  Also, if you're importing picks from another source and want binder to use them, make sure you are placing them in this ring as well.  
     
    3233The "GetPicksFrom" command specifies the installation id and module id of the TYPE_PICK2K messages that binder will operate on.  Specific id's or wildcards can be used for either or both of these arguments.  Note: both binder_ew and eqproc should be set to listen to the same pick source(s)! 
    3334 
    34 '''2. Station List:''' 
     35'''2. Station List''' 
    3536 
    3637Binder expects the network's station list to be in a file in Hypoinverse station format; it gets the name of the file from the "site_file" command. Of all the fields in this file, the only ones used by binder are the station codes (5-letter site code, 2-letter network code, 3-letter component code) and the station  latitude and longitude.  A quirk of this file is that all lats and lons are listed as positive numbers; a letter is used to denote N,S,E,W, with blanks interpreted as N and W.  As binder reads the file, it converts lat and lon to decimal degrees with N and E being positive.  If a site has multiple components, each component should be listed on its own line in the station file. As of Earthworm v4.0, binder treats each component independently, so if multiple components at a site are picked, that site will be weighted more heavily in stacks and locations than a single-component site. 
     
    4041Since binder works only on arrival times, it doesn't need to know anything about instrument response or gain. 
    4142 
    42 '''3. Velocity Model:''' 
     43'''3. Velocity Model''' 
    4344 
    4445Binder uses one simple velocity model to calculate travel times for the entire region of interest.  If the velocity structure varies greatly in your region, make sure you give binder a decent average model.  This velocity model is specified with a series of "lay" commands in the configuration file, listed in order of  increasing depth.  The velocities in each layer are constant, and should increase with depth (no low velocity zones, please).  Pay attention to the order of the arguments of the lay command.  It should be "lay depth(km) velocity(km/s)".  If you get depth and velocity swapped, binder won't do much of anything. 
     
    6061 
    6162 
    62 '''Stacking Grid Boundaries:''' 
     63'''Stacking Grid Boundaries''' 
    6364 
    6465The boundaries of the stacking grid are set with three commands: 
     
    6869Reviewing the map of historic seismicity may help in setting the stacking grid boundaries.  Binder can only identify new hypocenters that lie within these boundaries, so they should include the entire volume of interest (ie, wherever you expect or hope to see earthquakes).  Also, all of your seismic stations should lie within the grid boundaries. 
    6970 
    70 '''Stacking Grid Cell Size:''' 
     71'''Stacking Grid Cell Size''' 
    7172 
    7273Now you must decide how big each cell within the grid will be. Each cell is a cube, and its side-length (in kilometers) is set with the "dspace" command. That map may be useful again; hopefully, you can set dspace so that only one station falls within each grid cell. The more stations that fall within one cell, the more trouble binder will have in "focusing" the stack (when 2 stations are in the same grid cell, their "hollyhocks" will overlap 100%, which doesn't do much good for resolving potential hypocenters). Then again, you don't want to make the cell size too small, or binder will have a lot more computations to do.  So there's a tradeoff here.  FYI, the Northern California Seismic Network uses a grid cell size of 4 km. 
    7374 
    74 '''Stacking Distance Constraints:''' 
     75'''Stacking Distance Constraints''' 
    7576 
    7677When stacking each additional pick, binder considers possible hypocenters for that arrival within a limited distance of the station, not the entire stacking grid.  The stacking distance is controlled by the "rstack" command. Binder computes each pick's "hollyhock" within its stacking volume. The stacking volume includes the entire depth range of the stacking grid, but in map view the stacking volume is a square centered on the station location, extending rstack kilometers in each horizontal direction (the square's sides are 2*rstack km long). To avoid roundoff problems, rstack should be a multiple of the grid-cell dimension, dspace. 
     
    8182But, you have to stack it first! 
    8283 
    83 '''Stacking and Time Resolution:''' 
     84'''Stacking and Time Resolution''' 
    8485 
    8586Binder includes a time-resolution factor ("tstack" command) in calculating the set of all possible hypocenters ("the hollyhock") for each pick.  This time factor controls the thickness of the hollyhock petals. Increasing tstack could increase the number of grid cells each pick's hollyhock. As a first approximation, tstack should be at least the number of seconds it takes for a P-wave to cross a grid cell of dspace km. 
    8687 
    87 '''Pre-Stack Glitch Filtering:''' 
     88'''Pre-Stack Glitch Filtering''' 
    8889 
    8990A glitch is a group of coincident arrivals often caused by noisy telemetry. For the purposes of this filter, a glitch is defined as a certain number of picks (m) occurring in a given number of seconds (x). The values of both m and x are configurable with the "define_glitch" command (the default definition is 4 picks within 0.035 seconds).  This glitch filter was added to the stacking portion of binder to prevent it from creating new events from a group of picks having nearly identical arrival times. Picks that are flagged as belonging to a "glitch" are not used in summing the stack, but may later be associated with an event.  If you want to turn off pre-stack glitch filtering (ie, to make binder stack every pick), set m to zero (example "define_glitch 0 0.0"). 
    9091 
    91 '''Summing the Stack - Stacking Weights & Event Thresholds:''' 
     92'''Summing the Stack - Stacking Weights & Event Thresholds''' 
    9293 
    9394OK, 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. 
     
    105106Finding 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. 
    106107 
    107 '''Stacking and Eventids:''' 
     108'''Stacking and Eventids''' 
    108109 
    109110Every 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. 
     
    117118 
    118119=== Associating New Phases with Active Earthquakes === 
     120 
    119121Whenever 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 
    120122residual 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). 
    121123 
    122124'''Association and Time Constraints''' 
     125 
    123126As 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. 
    124127 
     
    128131 
    129132'''Configuring the Travel-time Residual Tolerance Function''' 
     133 
    130134Whether 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: 
    131135{{{ 
     
    141145 
    142146'''Residual Tolerance Hypocentral Quality Terms, res1_OT and res2_OT''' 
    143   The "taper_OT OTconst1 OTconst2" sets two constants that are used to 
    144 calculate the hypocenter-quality terms of the maximum-allowed travel-time 
    145 residual, restpr. The thinking is, if your location is poor, you'll want to 
    146 accept a phase with a higher travel-time residual.  If no taper_OT command 
    147 is listed, the default values are OTconst1 = OTconst2 = 2.0.  To eliminate 
    148 the two hypocentral quality terms from the residual tolerance function, 
    149 set both constants to 0.0. 
    150  
    151   The res1_OT term is based on event's rms residual and the number of phases 
    152 associated with the event.  Binder uses the first constant, OTconst1, in 
    153 calculating res1_OT for each hypocenter as follows: 
     147 
     148The "taper_OT OTconst1 OTconst2" sets two constants that are used to calculate the hypocenter-quality terms of the maximum-allowed travel-time residual, restpr. The thinking is, if your location is poor, you'll want to accept a phase with a higher travel-time residual.  If no taper_OT command is listed, the default values are OTconst1 = OTconst2 = 2.0.  To eliminate the two hypocentral quality terms from the residual tolerance function, set both constants to 0.0. 
     149 
     150The res1_OT term is based on event's rms residual and the number of phases associated with the event.  Binder uses the first constant, OTconst1, in calculating res1_OT for each hypocenter as follows: 
    154151{{{ 
    155152   res1_OT = OTconst1 * rms * Npick_factor 
     
    158155                       = SQRT( npick/(npick-4) ) when npick  > 4 
    159156}}} 
    160 When the number of picks is small, the rms of the location is often quite 
    161 low, so the Npick_factor and OTconst1 will dominate the res1_OT term. 
    162 As the number of picks associated with the event increases, the 
    163 Npick_factor approaches 1, so the event rms and OTconst1 will dominate 
    164 the res1_OT term. 
    165  
    166   The res2_OT term is based on the hypocentral distance to the nearest 
    167 station and the second constant, OTconst2.  Given the hypocentral (slant) 
    168 distance to the nearest station calculated by: 
     157When the number of picks is small, the rms of the location is often quite low, so the Npick_factor and OTconst1 will dominate the res1_OT term. As the number of picks associated with the event increases, the Npick_factor approaches 1, so the event rms and OTconst1 will dominate the res1_OT term. 
     158 
     159The res2_OT term is based on the hypocentral distance to the nearest station and the second constant, OTconst2.  Given the hypocentral (slant) distance to the nearest station calculated by: 
    169160{{{ 
    170161   s = SQRT( z**2 + dmin**2 )  where    z = hypocentral depth 
     
    177168           = OTconst2 * log10( s )   when s >= 1.0 
    178169}}} 
    179 The larger the minimum slant distance, the more unreliable the location, 
    180 and the larger this second residual taper term becomes. 
    181  
    182   OK, so that describes the form of all three terms in the residual tolerance 
    183 function, but it doesn't really give you a clue as to what values to use for 
    184 your network. I think it's most important to set a reasonable distance taper 
    185 for your network based on how well your velocity model fits your arrival-time 
    186 data.  Hopefully, you already have some idea about that. The residual tolerance 
    187 can then be widened if necessary using the origin uncertainty terms. The 
    188 values of all three terms are printed in binder's logfile, so you may be 
    189 able to empirically settle on some parameters by studying those. 
     170The larger the minimum slant distance, the more unreliable the location, and the larger this second residual taper term becomes. 
     171 
     172OK, so that describes the form of all three terms in the residual tolerance function, but it doesn't really give you a clue as to what values to use for your network. I think it's most important to set a reasonable distance taper for your network based on how well your velocity model fits your arrival-time data.  Hopefully, you already have some idea about that. The residual tolerance can then be widened if necessary using the origin uncertainty terms. The values of all three terms are printed in binder's logfile, so you may be able to empirically settle on some parameters by studying those. 
    190173 
    191174 
    192175=== Binder's Simple Event Locator === 
    193176 
    194   After binder declares a new event from a stack, or after is associates 
    195 a new pick with an active event, it passes the event to its simple L1 locator 
    196 for further processing.  The locator takes a starting location and all the 
    197 phase data for the event, determines a weight factor for each phase in the 
    198 relocation, and performs a number of iterations to arrive at a new location. 
    199 Again, there are quite a few configurable parameters available to control the 
    200 locator, and I'll describe them below. 
     177After binder declares a new event from a stack, or after is associates a new pick with an active event, it passes the event to its simple L1 locator for further processing.  The locator takes a starting location and all the phase data for the event, determines a weight factor for each phase in the relocation, and performs a number of iterations to arrive at a new location. Again, there are quite a few configurable parameters available to control the locator, and I'll describe them below. 
    201178 
    202179'''Intermittent Relocation''' 
    203   While binder's locator is simple, it can still be quite a CPU hog, especially 
    204 when a large number of phases are associated with the event.  Also, as the 
    205 number of associated phases grows, the hypocenter becomes more stable, and the 
    206 improvement in the location with each additional phase shrinks. Therefore, 
    207 we added the configuration command "locate_eq npick interval" to allow 
    208 intermittent relocation of an event. Instead of relocating after every single 
    209 new phase is associated, an earthquake with more than "npick" picks will 
    210 relocate with every additional "interval" picks associated. Up to 10 "locate_eq" 
    211 commands can be supplied (in order of increasing "npick" values) to set multiple 
    212 npick-break-points and location intervals.  An event with fewer picks than 
    213 the smallest "npick" value will locate after each additional pick is associated. 
    214 If no "locate_eq" commands are used, every event will be relocated after 
    215 each addition pick is associated. 
    216  
    217 Relocation and Pick Weighting - Phase Type, Pick Quality, and Distance: 
    218   The overall weight of a pick in the location process is the product of three 
    219 weighting factors: a phase-weight, a pick-quality-weight and a distance-weight. 
     180 
     181While binder's locator is simple, it can still be quite a CPU hog, especially when a large number of phases are associated with the event.  Also, as the number of associated phases grows, the hypocenter becomes more stable, and the improvement in the location with each additional phase shrinks. Therefore, we added the configuration command "locate_eq npick interval" to allow intermittent relocation of an event. Instead of relocating after every single new phase is associated, an earthquake with more than "npick" picks will relocate with every additional "interval" picks associated. Up to 10 "locate_eq" commands can be supplied (in order of increasing "npick" values) to set multiple npick-break-points and location intervals.  An event with fewer picks than the smallest "npick" value will locate after each additional pick is associated. If no "locate_eq" commands are used, every event will be relocated after each addition pick is associated. 
     182 
     183'''Relocation and Pick Weighting - Phase Type, Pick Quality, and Distance''' 
     184 
     185The overall weight of a pick in the location process is the product of three weighting factors: a phase-weight, a pick-quality-weight and a distance-weight. 
    220186{{{ 
    221187     wt = phase-weight * pick-quality-weight * distance-weight 
    222188}}} 
    223   The phase-weight is based on the phase assigned to the pick by binder, in 
    224 conjuction with the "ph" commands listed in the configuration file. Use 
    225 one "ph phase weight" command to assign a "weight" (any number from 0.0 to 
    226 1.0, inclusive) for each "phase" (any of the strings P,S,Pg,Sg,Pn,Pg) that 
    227 you want binder to use in the location.  If at least one "ph" command is 
    228 supplied, other phases that were not listed in a "ph" command receive a 
    229 phase-weight of 0.0 (ie, they won't be weighted in the location process). 
    230 If no "ph" commands are used, all phases receive a phase-weight of 1.0. 
    231   The pick-quality-weight is based on the pick-quality assigned by pick_ew, 
    232 in conjuction with the "wt" commands listed in binder's configuration file. 
    233 Use one "wt quality weight" command to assign a "weight" (any number from 0.0 
    234 to 1.0, inclusive) to any "quality" (0,1,2,3 or 4) of pick that you want 
    235 binder to use in the location.  If at least one "wt" command is supplied, 
    236 other pick-qualities that were not listed in a "wt" command receive a pick- 
    237 quality-weight of 0.0 (ie, they won't be weighted in the location process). 
    238 If no "wt" commands are used, all quality picks receive a pick-quality-weight 
    239 of 1.0. 
    240   The distance-weight is based on the epicentral distance of the station 
    241 from the current starting location and the "r_max" and "taper" commands 
    242 listed in the configuration file.  The "r_max" command is used to set the 
    243 maximum epicentral distance for weighting picks in the location process. 
    244 Any pick at a distance greater than r_max km from the starting epicenter 
    245 will not be used in relocating the event.  For picks within r_max km of the 
    246 epicenter, the distance-weight is a function of the current distance, r, and 
    247 the distance-taper function set with the "taper" commands (see the "Residual 
    248 Tolerance Distance Term, dist-taper" section above): 
     189The phase-weight is based on the phase assigned to the pick by binder, in conjuction with the "ph" commands listed in the configuration file. Use one "ph phase weight" command to assign a "weight" (any number from 0.0 to 1.0, inclusive) for each "phase" (any of the strings P,S,Pg,Sg,Pn,Pg) that you want binder to use in the location.  If at least one "ph" command is supplied, other phases that were not listed in a "ph" command receive a phase-weight of 0.0 (ie, they won't be weighted in the location process). If no "ph" commands are used, all phases receive a phase-weight of 1.0. 
     190 
     191The pick-quality-weight is based on the pick-quality assigned by pick_ew, in conjuction with the "wt" commands listed in binder's configuration file. Use one "wt quality weight" command to assign a "weight" (any number from 0.0 to 1.0, inclusive) to any "quality" (0,1,2,3 or 4) of pick that you want binder to use in the location.  If at least one "wt" command is supplied, other pick-qualities that were not listed in a "wt" command receive a pick-quality-weight of 0.0 (ie, they won't be weighted in the location process). If no "wt" commands are used, all quality picks receive a pick-quality-weight of 1.0. 
     192 
     193The distance-weight is based on the epicentral distance of the station from the current starting location and the "r_max" and "taper" commands listed in the configuration file.  The "r_max" command is used to set the maximum epicentral distance for weighting picks in the location process. Any pick at a distance greater than r_max km from the starting epicenter will not be used in relocating the event.  For picks within r_max km of the epicenter, the distance-weight is a function of the current distance, r, and the distance-taper function set with the "taper" commands (see the "Residual Tolerance Distance Term, dist-taper" section above): 
    249194{{{ 
    250195  distance-weight = ((min dist-taper value)/(dist-taper value at r))**2 
    251196}}} 
    252   The overall weight of a pick in the relocation process will be a number 
    253 between 0.0 and 1.0, inclusive. 
    254   The total number of phases binder can use in relocating an event is 
    255 limited using the "maxpix" command.  The default value (256) should be 
    256 plenty for most networks. 
     197The overall weight of a pick in the relocation process will be a number between 0.0 and 1.0, inclusive. 
     198 
     199The total number of phases binder can use in relocating an event is limited using the "maxpix" command.  The default value (256) should be plenty for most networks. 
    257200 
    258201'''Relocation and Iteration Control''' 
    259   Binder hands its locator a starting location and a list of phases. The 
    260 locator determines the pick weights as above, then calculates the event's 
    261 average weighted travel-time residual (rms) to use as a reference for 
    262 testing divergence. 
    263   For most earthquakes, the first iteration performed by the locator will 
    264 be a "Free" solution. It will invert for all four hypocentral parameters: 
    265 latitude, longitude, depth, and origin time. However, if an event has no 
    266 nearby picks associated, the locator will perform "Fixed Depth" solution 
    267 instead. This feature is controlled with the "FixDepth dmin trialz" 
    268 command (default dmin=50.0, trialz=8.0). If an earthquake has no picks 
    269 closer than "dmin" km, binder sets its depth to "trialz" km, then inverts 
    270 for only latitude, longitude, and origin time. This prevents events with 
    271 no depth resolution from flailing. 
    272   The result of the locator's inversion is the "step-vector." This is the 
    273 amount by which the iteration will change all 4 hypocentral components. 
    274 Binder places limits on the horizontal (xystep) and vertical (zstep) 
    275 components of the step-vector in any given iteration. Those limits are set 
    276 with the "MaxStep xystep zstep" command (default xystep=10.0 km, zstep=2.0 km). 
    277 If either step-length is exceeded in an interation, all 4 dimensions 
    278 (x, y, z and time) of the step-vector are equally damped, preserving the 
    279 direction of the vector, such that each dimension is within its configured 
    280 limit. 
    281   Binder also place limits on the valid range for computed hypocentral depth. 
    282 This range, specified with the "zrange zmin zmax" command (default range 
    283 is 2.0 - 20.0 km), should span the depth range in which you expect to detect 
    284 earthquakes. It must also span the entire depth range of the stacking 
    285 grid ("grdz" command); otherwise, events may stack outside of the zrange 
    286 limit and this could cause locator logic errors. If during an iteration, 
    287 the step-vector causes the depth to fall outside of the zmin-zmax range, 
    288 that step vector is abandoned. The locator then "restarts" the iteration; 
    289 beginning with the previous starting hypocenter, the locator performs a 
    290 fixed-depth solution.  This feature is useful in controlling locations 
    291 from network "glitches" where all picks are coincident and the apparent 
    292 high phase velocity would try to locate the quake at the center of the Earth. 
    293   At the end of each iteration, binder recalculates the event's average 
    294 weighted residual (rms) and performs a test for divergence.  If the new 
    295 rms is greater than the previous rms*"constant" (set with "MaxDeltaRms" 
    296 command, default = 1.01), then the solution is diverging. If the location 
    297 is converging, the locator goes on to the next iteration. If a location 
    298 is diverging, binder removes half of the step-vector in all 4 dimensions 
    299 (x, y, z and time), backing the location up toward the starting location 
    300 from that iteration, and then checks the rms again. If the solution now 
    301 converges, the locator goes to the next iteration. If the solution is 
    302 still diverging, it backs the location up farther. Up to 3 backwards steps 
    303 will be made (resulting in a step-vector of 1/8 the original size) if 
    304 the solution continues to diverge. 
    305   Binder's locator will perform a maximum number of iterations every time 
    306 that it's called. The maximum iteration count can be set with the "MaxIter" 
    307 command (default = 4). However, the locator may perform fewer than MaxIter 
    308 iterations if the change in the location (in X-Y-Z km) in any given 
    309 iteration is less than a minimum step-length (set with the "MinXYZstep" 
    310 command; default = 0.1 km). 
    311  
    312  
    313 ==== Post-Relocation Event Review ==== 
     202 
     203Binder hands its locator a starting location and a list of phases. The locator determines the pick weights as above, then calculates the event's average weighted travel-time residual (rms) to use as a reference for testing divergence. 
     204 
     205For most earthquakes, the first iteration performed by the locator will be a "Free" solution. It will invert for all four hypocentral parameters: latitude, longitude, depth, and origin time. However, if an event has no nearby picks associated, the locator will perform "Fixed Depth" solution instead. This feature is controlled with the "FixDepth dmin trialz" command (default dmin=50.0, trialz=8.0). If an earthquake has no picks closer than "dmin" km, binder sets its depth to "trialz" km, then inverts for only latitude, longitude, and origin time. This prevents events with no depth resolution from flailing. 
     206 
     207The result of the locator's inversion is the "step-vector." This is the amount by which the iteration will change all 4 hypocentral components. Binder places limits on the horizontal (xystep) and vertical (zstep) components of the step-vector in any given iteration. Those limits are set with the "MaxStep xystep zstep" command (default xystep=10.0 km, zstep=2.0 km). If either step-length is exceeded in an interation, all 4 dimensions (x, y, z and time) of the step-vector are equally damped, preserving the direction of the vector, such that each dimension is within its configured limit. 
     208 
     209Binder also place limits on the valid range for computed hypocentral depth. This range, specified with the "zrange zmin zmax" command (default range is 2.0 - 20.0 km), should span the depth range in which you expect to detect earthquakes. It must also span the entire depth range of the stacking grid ("grdz" command);  otherwise, events may stack outside of the zrange limit and this could cause locator logic errors. If during an iteration, the step-vector causes the depth to fall outside of the zmin-zmax range, that step vector is abandoned. The locator then "restarts" the iteration; beginning with the previous starting hypocenter, the locator performs a fixed-depth solution.  This feature is useful in controlling locations from network "glitches" where all picks are coincident and the apparent 
     210high phase velocity would try to locate the quake at the center of the Earth.  
     211 
     212At the end of each iteration, binder recalculates the event's average weighted residual (rms) and performs a test for divergence.  If the new rms is greater than the previous rms*"constant" (set with "MaxDeltaRms" command, default = 1.01), then the solution is diverging. If the location is converging, the locator goes on to the next iteration. If a location is diverging, binder removes half of the step-vector in all 4 dimensions (x, y, z and time), backing the location up toward the starting location from that iteration, and then checks the rms again. If the solution now converges, the locator goes to the next iteration. If the solution is 
     213still diverging, it backs the location up farther. Up to 3 backwards steps will be made (resulting in a step-vector of 1/8 the original size) if the solution continues to diverge. 
     214 
     215Binder's locator will perform a maximum number of iterations every time that it's called. The maximum iteration count can be set with the "MaxIter" command (default = 4). However, the locator may perform fewer than MaxIter iterations if the change in the location (in X-Y-Z km) in any given iteration is less than a minimum step-length (set with the "MinXYZstep" command; default = 0.1 km). 
     216 
     217 
     218=== Post-Relocation Event Review === 
    314219'''Pick Culling, Pick Scavenging, and Killing Events'''  
    315220 
    316   Binder has just relocated an earthquake. Presumably, the location 
    317 is better contrained that it was before, and the arrival time fits 
    318 may have changed as well.  Binder now recalculates the travel-time 
    319 residuals for all phases associated with the event, regardless of 
    320 whether the phase was weighted in the relocation or not.  It also 
    321 calculates the event's average weighted residual (rms), and performs 
    322 a series of tests. 
     221Binder has just relocated an earthquake. Presumably, the location is better contrained that it was before, and the arrival time fits may have changed as well.  Binder now recalculates the travel-time residuals for all phases associated with the event, regardless of whether the phase was weighted in the relocation or not.  It also calculates the event's average weighted residual (rms), and performs a series of tests. 
    323222 
    324223'''Pick Culling''' 
    325   For each associated pick, binder compares the new travel-time 
    326 residual to the new residual tolerance value for that station (see 
    327 the "Configuring the Travel-time Residual Tolerance Function" section 
    328 above).  If the new residual is larger than the tolerance, binder 
    329 deassociates or culls the phase from the earthquake.  That pick is 
    330 now free to associate with another event, or to stack with other picks 
    331 to identify a new earthquake.  If any picks are culled from an event, 
    332 that event is sent back to the locator once again. 
     224For each associated pick, binder compares the new travel-time residual to the new residual tolerance value for that station (see the "Configuring the Travel-time Residual Tolerance Function" section above).  If the new residual is larger than the tolerance, binder deassociates or culls the phase from the earthquake.  That pick is now free to associate with another event, or to stack with other picks to identify a new earthquake.  If any picks are culled from an event, that event is sent back to the locator once again. 
    333225 
    334226'''Pick Scavenging''' 
    335   After an event is relocated, binder also looks through its list 
    336 of recent picks to see if there are any others which may fit the 
    337 travel-time curves of the new hypocenter.  Essentially, it does 
    338 the association process (comparing the travel-time residuals of 
    339 various phases to the residual tolerance at that station) on picks 
    340 that are in already its memory; binder is scavenging.  Binder is 
    341 allowed to scavenge two classes of picks in its list: those that are 
    342 not associated with any active event (also known as "waifs") and those 
    343 that are associated with events that have fewer phases than the 
    344 scavenging event.  So big events are allowed to steal phases from 
    345 smaller events, as long as the travel-time residuals fit.  Since a pick 
    346 can only belong to one event at a time, this scavenging feature makes 
    347 it possible for two events to merge into one.  This is useful in 
    348 avoiding "split events", where a large event is originally identified 
    349 as two events due to the order in which its arrivals were processed. 
    350   If an event successfully scavenges one or more new phases, the 
    351 event is sent back to the locator once again.  Also, if any of the 
    352 scavenged phases had been associated with a second event, that 
    353 second event is also sent back to the locator. 
     227After an event is relocated, binder also looks through its list of recent picks to see if there are any others which may fit the travel-time curves of the new hypocenter.  Essentially, it does the association process (comparing the travel-time residuals of various phases to the residual tolerance at that station) on picks that are in already its memory; binder is scavenging.  Binder is allowed to scavenge two classes of picks in its list: those that are not associated with any active event (also known as "waifs") and those that are associated with events that have fewer phases than the scavenging event.  So big events are allowed to steal phases from smaller events, as long as the travel-time residuals fit.  Since a pick can only belong to one event at a time, this scavenging feature makes 
     228it possible for two events to merge into one.  This is useful in avoiding "split events", where a large event is originally identified as two events due to the order in which its arrivals were processed.    
     229 
     230If an event successfully scavenges one or more new phases, the event is sent back to the locator once again.  Also, if any of the scavenged phases had been associated with a second event, that second event is also sent back to the locator. 
    354231 
    355232'''Killing Events''' 
    356   In reviewing events, binder sometimes decides that an event is 
    357 no longer valid, either because its location parameters are poor, 
    358 or because it doesn't have enough supporting phases.  If after a 
    359 relocation, an event's rms is larger than a cutoff value (configured 
    360 with the "rmscut" command, default = 1.0 sec), binder marks that 
    361 event as destroyed or killed.  Or, if after a round of scavenging, 
    362 an event has fewer than 4 weighted phases (too few to relocate the 
    363 event), binder kills that event as well. 
    364   When binder kills an event, it deassociates or unlinks all of 
    365 its phases. Those picks are then free to associate with other active 
    366 events as waifs, or to stack with other picks to identify new events. 
    367 To notify downstream modules that the event was killed, binder issues 
    368 a TYPE_QUAKE2K message for that eventid, setting the "number of 
    369 associated phases" field to zero. 
     233In reviewing events, binder sometimes decides that an event is no longer valid, either because its location parameters are poor, or because it doesn't have enough supporting phases.  If after a relocation, an event's rms is larger than a cutoff value (configured with the "rmscut" command, default = 1.0 sec), binder marks that event as destroyed or killed.  Or, if after a round of scavenging, an event has fewer than 4 weighted phases (too few to relocate the  event), binder kills that event as well. 
     234 
     235When binder kills an event, it deassociates or unlinks all of its phases. Those picks are then free to associate with other active events as waifs, or to stack with other picks to identify new events. To notify downstream modules that the event was killed, binder issues a TYPE_QUAKE2K message for that eventid, setting the "number of associated phases" field to zero. 
    370236 
    371237 
    372238=== Quality Control: Pick-group Assessment === 
    373   Occassionally one of binder's newly stacked events will include an 
    374 outlying pick which falls at a "leverage point" for the hypocenter 
    375 produced by binder's locator.  This bad pick has undue influence 
    376 over the hypocenter, causing a poor location which in turn leads 
    377 to the mis-association of other picks.  Binder uses a test called 
    378 "pick-group assessment" to identify and eliminate these outlying 
    379 picks, and to produce a trial hypocenter for the locator.  Given a 
    380 group of supposedly related picks, pick-group assessment tests whether 
    381 all of the arrivals are indeed consistent with a single earthquake. 
    382   Pick-group assessment is most efficient when it is performed on an 
    383 event with relatively few associated phases. The configuration 
    384 command "assess_pk minpk maxpk" controls when the test is run; when 
    385 an event has between minpk and maxpk (inclusive) picks associated with 
    386 it, its pick set will be assessed before the event is handed to the 
    387 locator (defaults are minpk=6, maxpk=12). If an event stacks with more 
    388 than maxpk picks, its pick set will be assessed at least once.  To 
    389 turn off pick-assessing totally, set minpk and maxpk to zero. 
    390    Only P-wave arrivals are used in pick-group assessment. First, the 
    391 set of picks is sorted in increasing time order and is examined for 
    392 glitches.  Glitch picks are eliminated from further testing (see the 
    393 "define_glitch" command described in the "Pre-Stack Glitch Filtering" 
    394 section above).  The remainder of the test involves a number of 
    395 resampling trials.  In each trial, four picks are chosen from the 
    396 pick set and the exact four-station hypocenter is calculated using a 
    397 uniform velocity halfspace (configured with the "v_halfspace" command, 
    398 default = 5.0 km/s). Next, binder calculates the travel-time residual 
    399 with respect to that hypocenter for every pick in the pick set (again 
    400 using the uniform velocity halfspace).  You can specify the maximum 
    401 pick quality (assigned by pick_ew) to use in this resampling process 
    402 with the "maxwt" command (valid values are 0-4, default = 3).  Picks 
    403 with qualities higher than maxwt (poorer quality) may be rejected as 
    404 glitches, but will not be used in resampling trials. 
    405    The number of trials used in the pick-group assessment is controlled 
    406 with the "maxtrial" command (default = 500).  Given n picks sampled 4 
    407 at a time, the total number of unique combinations is n!/(4!*(n-4)!). 
    408 If this number is less than maxtrial, all possible combinations will be 
    409 used, with no duplication. If the total is greater than maxtrial, then 
    410 maxtrial random samples of 4 picks will be taken, and duplication is 
    411 possible. 
    412   Statistics on the residuals from all of the trials are used to 
    413 determine if each pick should be accepted or rejected. If a pick is 
    414 an outlier, it will have very large residuals for any of the hypocenters 
    415 determined from 4 other picks. Also, the scatter in its residuals 
    416 will be large.  For each pick, binder calculates the median residual (med), 
    417 its absolute value (absmed), and the median of the absolute deviations 
    418 from the median residual (mad). If either the absmed or mad is greater 
    419 than a configured cutoff threshold, the pick is rejected as an outlier. 
    420 The cutoff values are configured with the "residual_cut maxabsmed maxmad" 
    421 command (default maxabsmed = 3.0 sec, maxmad = 10.0 sec). 
    422   Pick-group assessment is a multiple pass process. The first pass samples 
    423 from the earliest (up to 25) P-phase picks which meet the testing criteria; 
    424 this pass is used to winnow the data to arrivals with median residuals 
    425 below a cutoff value. A second pass resamples the winnowed data to 
    426 determine the new starting hypocenter from the average of all the 4-pick 
    427 hypocenters.  This new starting hypocenter and the winnowed list of picks 
    428 are handed to binder's locator for further processing. 
    429   If any picks were rejected as glitches or outliers by the pick-group 
    430 assessment, they are deassociated from the event and are free to restack 
    431 or reassociate.  Occassionally, binder rejects enough picks that the 
    432 event no longer has enough valid phases to relocate it.  In this case, 
    433 the event is killed, and all of its picks are deassociated. 
     239Occassionally one of binder's newly stacked events will include an outlying pick which falls at a "leverage point" for the hypocenter produced by binder's locator.  This bad pick has undue influence over the hypocenter, causing a poor location which in turn leads to the mis-association of other picks.  Binder uses a test called "pick-group assessment" to identify and eliminate these outlying picks, and to produce a trial hypocenter for the locator.  Given a group of supposedly related picks, pick-group assessment tests whether all of the arrivals are indeed consistent with a single earthquake.  
     240 
     241Pick-group assessment is most efficient when it is performed on an event with relatively few associated phases. The configuration command "assess_pk minpk maxpk" controls when the test is run; when an event has between minpk and maxpk (inclusive) picks associated with it, its pick set will be assessed before the event is handed to the locator (defaults are minpk=6, maxpk=12). If an event stacks with more than maxpk picks, its pick set will be assessed at least once.  To turn off pick-assessing totally, set minpk and maxpk to zero.  
     242 
     243Only P-wave arrivals are used in pick-group assessment. First, the set of picks is sorted in increasing time order and is examined for glitches.  Glitch picks are eliminated from further testing (see the "define_glitch" command described in the "Pre-Stack Glitch Filtering" section above).  The remainder of the test involves a number of resampling trials.  In each trial, four picks are chosen from the pick set and the exact four-station hypocenter is calculated using a uniform velocity halfspace (configured with the "v_halfspace" command, default = 5.0 km/s). Next, binder calculates the travel-time residual with respect to that hypocenter for every pick in the pick set (again using the uniform velocity halfspace).  You can specify the maximum pick quality (assigned by pick_ew) to use in this resampling process with the "maxwt" command (valid values are 0-4, default = 3).  Picks with qualities higher than maxwt (poorer quality) may be rejected as glitches, but will not be used in resampling trials. 
     244 
     245The number of trials used in the pick-group assessment is controlled with the "maxtrial" command (default = 500).  Given n picks sampled 4 at a time, the total number of unique combinations is n!/(4!*(n-4)!). 
     246 
     247If this number is less than maxtrial, all possible combinations will be used, with no duplication. If the total is greater than maxtrial, then maxtrial random samples of 4 picks will be taken, and duplication is possible.  
     248 
     249Statistics on the residuals from all of the trials are used to determine if each pick should be accepted or rejected. If a pick is an outlier, it will have very large residuals for any of the hypocenters determined from 4 other picks. Also, the scatter in its residuals will be large.  For each pick, binder calculates the median residual (med), its absolute value (absmed), and the median of the absolute deviations from the median residual (mad). If either the absmed or mad is greater than a configured cutoff threshold, the pick is rejected as an outlier. The cutoff values are configured with the "residual_cut maxabsmed maxmad" command (default maxabsmed = 3.0 sec, maxmad = 10.0 sec). 
     250 
     251Pick-group assessment is a multiple pass process. The first pass samples from the earliest (up to 25) P-phase picks which meet the testing criteria; this pass is used to winnow the data to arrivals with median residuals below a cutoff value. A second pass resamples the winnowed data to determine the new starting hypocenter from the average of all the 4-pick hypocenters.  This new starting hypocenter and the winnowed list of picks are handed to binder's locator for further processing. 
     252 
     253If any picks were rejected as glitches or outliers by the pick-group assessment, they are deassociated from the event and are free to restack or reassociate.  Occassionally, binder rejects enough picks that the event no longer has enough valid phases to relocate it.  In this case, the event is killed, and all of its picks are deassociated. 
    434254 
    435255 
     
    4372571. Stack: five picks stack to create a new event. 
    438258 
    439 2. Glitch Detection in Stacking Phase: a series of picks stack, until 
    440    the last pick identifies the group as a glitch. 
    441  
    442 3. Association: two examples: a pick associates with an active event and a 
    443    pick fails to associate or stack. 
     2592. Glitch Detection in Stacking Phase: a series of picks stack, until the last pick identifies the group as a glitch. 
     260 
     2613. Association: two examples: a pick associates with an active event and a pick fails to associate or stack. 
    444262 
    445263 
     
    450268 
    4512691. Is it seeing any picks? 
     270 
    452271   Check the log file, you should see some lines like these: 
    453272{{{ 
     
    45527419990930_UTC_00:53:15 grid_stack, mhit = 0 
    456275}}} 
    457    The first line is a TYPE_PICK2K message, the second is the log of an 
    458    stacking attempt. 
     276The first line is a TYPE_PICK2K message, the second is the log of an stacking attempt. 
    459277 
    4602782. Is the velocity model specified with "lay depth velocity"? 
    461279 
    4622803. Is the station file in the correct format? 
    463    All lats & lons should be positive in degrees & minutes, 
    464    with N,S,E,W denoted by letters. If there are no letters, 
    465    N and W are assumed. 
     281 
     282All lats & lons should be positive in degrees & minutes, with N,S,E,W denoted by letters. If there are no letters, N and W are assumed. 
    466283 
    4672844. Are the stacking grid boundaries set properly?