Locator for re-computing source time with fixed hypocenter


Mining-related events are useful as ground truth events (Bondár and McLaughlin [35]) because the epicentre and depth can be constrained by physical inspection. Unless a local seismograph network with accurate timing also locates the event, and that information is available, the origin time must be estimated in order for the event to be useful as ground truth. Existing location algorithms in SeisComP, including Hypo71 and LOCSAT do not allow the determination of origin time given a set of arrivals and a fixed hypocentre. There is a need, then, for a method of fixed hypocentre origin time determination.

Objectives of this locator are:

  • Inversion of arrival times of phase picks for source time fixing hypocenter location.

  • Compatibility of the method of fixed-hypocentre origin time determination with the practise of the Comprehensive Test Ban Treaty Organization (CTBTO).

  • Adaptation of a procedure which is compatible with the other locators supported by SeisComP.

  • Adaptation of a procedure which can reproduce results of legacy locators currently in use, such as GENLOC Pavlis et al. [56] and GRL, a grid-based locator developed at the Canadian Hazards Information Service (CHIS).

The implementation of this locator by gempa GmbH was initiated and has received initial funding from Natural Resources Canada (NRCAN), Earthquakes Canada [17].


Given the measured arrival times t_i^k of phase k at station i, most methods of earthquake hypocentre location involve minimization of the weighted squared sum of the residuals. That is, minimization of:

|r_w|^2 = \sum_{i=1}^N {w_i^2 [ t_i^k - \tau - T_{model}^k(r_i,x) ]^2}

The residuals are computed by subtracting the expected arrival times \tau - T_{model}^k(r_i,x) based on a velocity model applied at the coordinates of each station r_i.

Typically the weights can be a combination of the inverse of the estimated pick uncertainty 1/{\sigma}_i, a distance term d^k(\Delta) and/or a residual weight term p(r_i). Alternative weighting schemes can be applied but in this implementation we weight by pick uncertainty alone: w_i=\frac{1}{{\sigma}_i}.

In the general case, the model is a nonlinear function of its inputs, and there is no analytic solution for the origin time and hypocenter that minimize the norm. Typically, the solution is found iteratively, based on an initial guess for the origin time and hypocenter. This is the normal procedure for an earthquake without an a priori estimate of the hypocentral location. When the hypocenter is in fact accurately constrained, the modeled travel time is a constant, so we can project each phase arrival back to an equivalent origin time

\tau_i^k = t_i^k - T_{model}^k (r_i,x)

so that we only have to find which minimizes:

|r_w|^2 = \sum_{i=1}^{N}w_i^2 [\tau_i^k - \tau]^2

The residuals are minimized by:

\tau = \frac{\sum_{i=1}^{N}w_i^2 (\tau_i^k)^2}{\sum_{i=1}^{N}w_i^2}.

Thus, the origin time is simply the weighted mean of the equivalent origin times, according to the velocity model, associated with the arrivals.

The standard error of this estimate is:

\sigma = \sqrt{\frac{\sum_{i=1}^{N}w_i^2 [\tau_i^k - \tau]^2}{\sum_{i=1}^{N}w_i^2}}.

The methodology for estimating error intervals and ellipses recommended for standard processing at the CTBTO (Lee and Lahr [52]) is that of Jordan and Sverdrup [48] and is implemented in LOCSAT (Bratt and Bache [42]). Uncertainty is represented by a set of points x_e around the final estimate x_f satisfying:

\kappa_p^2 &= (x_e - x_f)^TC_m(x_e-x_f), \\
\kappa_p^2 &= Ms^2F_p(M,K+N-M), \\
s^2 &= \frac{Ks_K^2+|r_w|^2}{K+N-M}


  • C_m: Covariance matrix, corresponding to the final hypocentre estimate x_f.

  • s^2: Ratio of actual to assumed.

  • \kappa_p^2: The “confidence coefficient” at probability \rho.

  • F_p(m,n): Fisher-Snedecor quantile function (inverse cumulative F-distribution) for and degrees of freedom of numerator and denominator sum of squares, respectively, and probability.

  • p: Confidence level: the desired probability that the true epicentre should fall within the uncertainty bounds.

  • N: Sum of all arrival time, azimuth or slowness estimates. Here, only arrival times are considered for inversion.

  • M: Number of fitted parameters:

    • 3: error ellipsoid

    • 2: error ellipse

    • 1: depth or time error bounds.

    Here, M = 1 as we only invert for the time.

  • s_K^2: A prior estimate of the ratio of actual to assumed data variances; typically set to 1.

  • K: Number of degrees of freedom in prior estimate s_K^2. K can be configured by FixedHypocenter.degreesOfFreedom.

  • r_w: Vector of weighted residuals.

Although this formulation is complex it is useful it because allows the analyst to balance a priori and a posteriori estimates of the ratio of actual to assumed data variances.

The covariance matrix in the general case is computed from the weighted sensitivity matrix A_w, the row-weighted matrix of partial derivatives of arrival time with respect to the solution coordinates.

C_m = A^T_wA_w

However, when origin time is the only coordinate, the partial derivatives with respect to origin time are unity, the weighted sensitivity matrix is simply a row vector of weights, and the time-time covariance c_{tt} is simply the sum of the squares of these weights.

c_{tt} = \sum_{i=1}^{N}w_i^2

It is recommended that fixed-hypocentre origin time confidence intervals be estimated using the method of Jordan and Sverdrup [48] for error ellipsoids, that is, that the time error bounds be represented using

\Delta t_p &= \sqrt{ \frac{\kappa_p^2}{c_{tt}} } \\
           &= \sqrt{ \frac{F_p(1,K+N-1)}{K+N-1} \frac{Ks_K^2 + \sum_{i=1}^{N}w_i^2 [\tau_i^k-\tau]^2}{\sum_{i=1}^{N}w_i^2}}.

In addition to recording arrival weights and residuals, distances and azimuths, and other details of origin quality, the details of a ground-truth-level (GT1) fixed-hypocentre origin time estimate are recorded as:

  • origin.time = \tau

  • origin.time_errors.uncertainty = \Delta t_p

  • origin.time_errors.confidence_level = 100p

  • origin.quality.standard_error = \sigma

  • origin.quality.ground_truth_level = GT1

For the sake of reproducibility, a comment is added to every new origin reporting K, s_K and \kappa_p.


  1. Configure the parameters in the section FixedHypocenter of the global configuration.

  2. When using in scolv the FixedHypocenter locator can be chosen right away from the available locators.


    scolv Location tab with FixHypocenter selected for relocating.

  3. Configure the module, e.g. screloc or scolv, which is to use FixedHypocenter:

    • set the locator type / interface: “FixedHypocenter”

    • if requested, set the profile as [interface]/[model], e.g.: LOCSAT/iasp91 or libtau/ak135

  4. Run the module with FixedHypocenter

    Origins created by the FixedHypocenter locator can be identified by the methodID and the confidence/description comment of the origin paramters, e.g.:

    <origin publicID="Origin/20200102030459.123456.8222">
        <text>Confidence coefficient: K-weighted ($K$=8, $s_K$=1 s), $\kappa_p$ = 1.6, $n_{eff}$ = 5.0</text>

Module Configuration


FixedHypocenter.* Locator parameters: FixedHypocenter


Default: LOCSAT/iasp91,LOCSAT/tab

Type: list:string

Defines a list of available travel time tables. Each item is a tuple separated by a slash with format "[interface]/[model]". Built-in interfaces are "LOCSAT" and "libtau". Other interfaces might be added via plugins. Please check their documentation for the required interface name.


Default: false

Type: boolean

Whether to use pick time uncertainties rather than a fixed time error. If true, then the uncertainties are retrieved from each individual pick object. If they are not defined, then the default pick time uncertainty as defined by defaultTimeError will be used instead.


Default: 1.0

Type: double

Unit: s

The default pick time uncertainty if pick uncertainties are not going to be used or if they are absent.


Default: 8

Type: int

Number of degrees of freedom used for error estimate.


Default: 0.9

Type: double

Confidence level between 0.5 and 1.