• Antelope Release 5.2-64 Linux Red Hat Enterprise Workstation release 6.2 (Santiago) 2.6.32 2012-04-24

 

NAME

orbassoc - spatial grid search based real time associator/locator

SYNOPSIS

orbassoc [-start {pktid|time|OLDEST}]
         [-select expr] [-auth auth] [-dbforeign dbname]
         [-target_orb2dbt torb2dbt] [-delay delay_seconds]
         [-pf pfname] [{-v|-vv|-vvv}] [-leavetmps]
         orbin orbout ttgridf1 [ttgridf2 [...]]

DESCRIPTION

orbassoc is an ORB client program that reads candidate arrival detections, produced by orbdetect(1), and attempts to find associated event locations by searching over one or more spatial grids for a candidate hypocenter that produces theoretical time moveout to each station that most closely matches the observations. Both P and S moveout velocities can be used. If a suitable match is found to the detections, then the associated arrivals, including time and phase information, are written to an output ORB as arrival, assoc, event and origin database rows that are encapsulated into special parameter file packets destined for further processing by orb2dbt(1).

Candidate detections are first assimilated into an internal pick list, time sorted, and then candidate pick lists are sent to the grid processing based upon a set of parameters that control the time window of the candidate pick list and how often the list is processed. The grid processing of the internal detection pick list can be time delayed to account for latent data channels. There is a primitive builtin capability to initiate pick list processing based upon detections over a number of stations within a specified time window, similar to the network trigger algorithm used by the old deprecated orbtrigger program.

A feature of orbassoc is that you can specify multiple search grids. You can also specify a teleseismic global search grid. All search grids must be pre-computed with ttgrid(1). By using multiple grids and teleseismic grids, it is usually easy to automatically discriminate between local and teleseismic events from local/regional network data. One can also tailor the grids and node densities to match the prevailing seismicity patterns in the region. By using pre-computed grids, it will be possible to do associations/locations using 3-dimensional velocity models and complex event location and phase dependent station corrections.

The processing from the detection-based internal pick list is done recursively so that multiple closely spaced, or even overlapping, events can be extracted from the picks. Each time an event is found its associated picks plus all other picks that fall close to the predicted arrival times are removed from the list and the remaining picks are reprocessed. This is done until no more events can be extracted.

OPTIONS

PARAMETER FILE

An example of the parameter file is:


schema                  css3.0      # database schema for temp databases - not used in dbgrassoc
process_time_window     500.0       # Main detection processing time window
process_ncycle          20          # how often to do detection processing, in detections
process_tcycle          0.0         # how often to do detection processing, in delta time
process_timeout         60.0        # timeout for processing detections
trigger_number_stations 5           # number of stations for trigger initiation
trigger_time_window     20.0        # time window in seconds for trigger initiation
use_associated_stations_for_best_grid no # Should the number of associated stations
                                         # be used for determining the best grid?

detection_reject_expressions &Tbl{ # an optional list of expressions applied to
                                   #    incoming detection rows for rejecting particular
                                   #    rows based on any fields in the detection row
    snr < 3.0
    sta == "ABCD"
    sta == "EFGH" && chan == "BHE"
}

grid_params &Arr{
    local &Arr{
        nsta_thresh &Tbl{       # Minimum allowable number of stations
                                #     expressed as a function of maximum
                                #     source-receiver distance
            3.0     4
            5.0     5
            180.0   6
        }
        nxd             11      # Number of east-west grid nodes for depth scans
        nyd             11      # Number of north-south grid nodes for depth scans
        cluster_twin    1.5     # Clustering time window
        try_S           no      # yes = Try observations as both P and S
                                # no  = Observations are P only
        associate_S     yes     # yes = Try to associate observations as both P and S
        reprocess_S     yes     # yes = Reprocess when new S-associations found
        drop_if_on_edge yes     # Drop if solution is on the edge of the grid
        auth            oal     # Set auth field in origin table
        algorithm       orbassoc_l # Override algorithm field in origin table
        P_deltim        0.1     # Default deltim value for arrival table rows for P arrivals
        S_deltim        0.2     # Default deltim value for arrival table rows for S arrivals
        phase_sifter    l       # Iphase value for phase sifting, match to iphase in dbdetect.pf
        P_channel_sifter ..Z|..Z_00 # Only do P associations with channels that
                                #      match this expression
        S_channel_sifter ..[NE] # Only do S associations with channels that
                                #      match this expression
        P_det_tmin      10.0    # This is a time window in seconds for culling closely
                                #      spaced detections before initial P association processing
        priority        5       # Grid priority - higher value selects this grid over lower priority grids
        use_dwt         yes     # yes = Use source receiver distance weighting factor (or no)
                                #      this one is for P associations
        dwt_tbl &Tbl{           # distance weights can be input using a table or with
                                #      the dwt_dist_near, ... parameters
            0.0     2.0
            5.0     1.0
            10.0    0.0
        }
        dwt_dist_near   7.0
        dwt_wt_near     1.0
        dwt_dist_far    10.0
        dwt_wt_far      0.1
        use_dwts        yes     # yes = Use source receiver distance weighting factor (or no)
                                #      this one is for S associations
        dwts_dist_near  5.0
        dwts_wt_near    1.0
        dwts_dist_far   5.0
        dwts_wt_far     0.0
        closest_stations 20     # Use only the 20 closest stations to a particular source
                                #      node in the search for defining phases
        sta_defining_pxmin 0.0  # Use only stations that are to the east of the
                                #      west edge of the search grid for defining phases
        sta_defining_pxmax 100.0# Use only stations that are to the west of the
                                #      east edge of the search grid for defining phases
        sta_defining_pymin 0.0  # Use only stations that are to the north of the
                                #      south edge of the search grid for defining phases
        sta_defining_pymax 100.0# Use only stations that are to the south of the
                                #      north edge of the search grid for defining phases

        nondefining_association_P_maxresid 2.0 # maximum residual for
                                #      non-defining P arrival associations
        nondefining_association_S_maxresid 5.0 # maximum residual for
                                #      non-defining S arrival associations

        relocate        rundbgenloc # Run this relocation script to refine the final
                                #      solution
        relocate_params &Arr{   # Parameters passed to relocation program
            depth_floor     24.0  # This parameter is a depth floor.
        }
        dont_apply_weights_for_relocation yes # If yes, then do not adjust deltim according to weights
        use_only_relocation yes # If relocation converges, just output the relocation
        drop_original_if_relocation_fails yes # If relocation does not converge, dont output anything
        drop_relocation_depth 20.0 # If relocation depth is greater than this, then dont output relocation
    }
    regional &Arr{
        nsta_thresh     6       # Minimum allowable number of stations
        nxd             11      # Number of east-west grid nodes for depth scans
        nyd             11      # Number of north-south grid nodes for depth scans
        cluster_twin    1.5     # Clustering time window
        try_S           no      # yes = Try observations as both P and S
                                # no  = Observations are P only
        # phase_sifter  l       # Iphase value for phase sifting, match to iphase in dbdetect.pf
        auth            oar     # Set auth field in origin table
        # algorithm     orbassoc   # Override algorithm field in origin table
        priority        2       # Grid priority - higher value selects this grid over lower priority grids
        use_dwt         no      # yes = Use source receiver distance weighting factor (or no)
        dwt_dist_near   2.0
        dwt_wt_near     1.0
        dwt_dist_far    6.0
        dwt_wt_far      0.1
        nondefining_association_P_maxresid 2.0 # maximum residual for
                                #      non-defining P arrival associations
        station_weights &Tbl{   # individual station weights and maximum association residuals
        #   sta_expr  p_weight  s_weight    max_p_resid   max_s_resid
            PFO       1.0       0.0         5.0           0.0
            AZ_.*     0.0
        }
    }
    tele &Arr{
        nsta_thresh     8       # Minimum allowable number of stations
        cluster_twin    1.5     # Clustering time window
        try_S           no      # yes = Try observations as both P and S
                                # no  = Observations are P only
        # phase_sifter  t       # Iphase value for phase sifting, match to iphase in dbdetect.pf
        # sta_weight_radius 10.0 # Weighting value in km for mixed station spacing situations
        auth            oat
        priority        1
        number_threads  8       # Number of simultaneous threads to use for this grid
    }
}

The processing of the detection-based internal pick list is controlled by the following parameters.

The travel time grids are read from the file(s), as specified by the ttgridf1 ... command line arguments. The grids must be pre-computed with the program ttgrid(1). The parameters for each grid are specified in the pf array grid_params. Within the grid_params array there must be pf array entries for each of the grids used in the association. The individual grid_params array entries must have key names that are the unique grid names, as assigned when running ttgrid(1), and values that represent the association parameters for that grid. The parameters within each of the grid_params entries are as follows.

EXAMPLE


orbassoc -v -select /db/detection  $ORB $ORB ttgrid-local_regional ttgrid-tele

DIAGNOSTICS

The output from orbassoc shows the grids used, test results, and the possible solutions. In detail:

The first set of detections did not generate an event association.

For the second set of detections, two grids passed all tests and had a valid solution for the second set of detections. The local_no_CA grid solution was the best solution and was not screened out due to a priority setting.

SEE ALSO

AUTHOR

Danny Harvey
Boulder Real Time Technologies, Inc.
Printer icon