MLOC Reading Errors

Reading Errors

Regardless of the location alogorithm used, both the hypocentral parameters and the estimates of their uncertainty depend strongly on what is assumed about the uncertainties of the input arrival time data. mloc provides several tools with which to handle this difficult issue, commonly referred to as “reading error”. This section describes most of them, but there is a separate section for empirical reading errors, a method of processing that is unique to mloc.

Most relocations with mloc are done with the data (arrival time residuals) weighted inversely to an estimate of uncertainty, but it is possible, and often useful in the early stages of a relocation analysis, to weight all data equally. The next step in complexity would be to use phase-specific default values, i.e., read from the file of default reading errors distributed with mloc. The ultimate step is to use an estimate of the uncertainty for a specific phase observed at a specific station (station-phase) that is based on analysis of the actual data, i.e., an empirical reading error. mloc does not have the facility to assign uncertainties individually to arrival time readings.

In addition to the above features, mloc enforces minimum allowed values of reading error that can be controlled by the user. There is also a capability to specify fixed reading errors for Pg and Sg phases at local distance (over-riding any empirical reading errors that may be available). This is sometimes useful for direct calibration or for locating a single event, for which empirical reading errors cannot be estimated. These issues are discussed in more detail below.

Default Values

mloc always reads a file containing a set of phase-specific default reading errors at the beginning of each run. The user can edit this file to change the values for specific phases or add or delete phases. Unless the user turns off weighting with the weig command these are used for the initial run(s) of mloc, until we begin using empirical reading errors from previous runs. They are also used for instances of a single sample of a station-phase, since two or more samples are needed to estimate an empirical reading error. Such readings are not used in the estimation of cluster vectors but they may be used to estimate the hypocentroid. If mloc encounters a phase which is not found in the list of default values, a value is determined according to an algorithm in the subroutine readerr in mloclib.f90.

Fixed Values at Local Distances

Because of the limited number of readings that may be available the use of empirical reading errors is sometimes unsatisfactory or impossible for the local-distance data used to estimate the hypocentroid of a cluster in direct calibration. In such cases the user can specify reading errors for Pg and Sg within a specified distance range, usually a few tens of kilometers (the distance range for data used to estimate the hypocentroid) using the command rels.

mloc can be used to locate a single event, in which case it would not be possible to estimate empirical reading errors from that event alone but one could still read the empirical reading errors from a previous run of a cluster that would be relevant to the event in question. If some estimate of empirical reading errors is not used, the location would be done with the default reading errors (unless weighting is turned off with command weig). Finally, if the location is to be based on local-distance data, one might use the rels command to control the reading errors.

Minimum Values

Minimum values are enforced for reading errors, regardless of their source. The need for such limits is primarily driven by the need to prevent divide-by-zero situations with unreasonably small estimates of empirical reading error that often occur when the number of samples is small (e.g., two samples with the same residual). Default values of minimum reading errors are specified in the main program mloc.f90 for three cases, local distances (0.10 s), beyond local distances (0.15 s) and teleseismic depth phases (1.0 s). These can be changed with the command mare.

Minimum values are also enforced that are based on the precision of the arrival time datum. Reading errors cannot be smaller than the standard deviation of a uniform rectangular continuous distribution over the range defined by the precision of the reading. The minimum reading error for readings given to a precision of a tenth of a second or less (i.e., most modern data) is too small to be relevant but this constraint can be relevant when using data from very old bulletins.

Minimum Reading Error Based on Reading Precision
Precision Minimum Reading Error (s)
1 second 0.29
6 seconds 1.7
10 seconds 2.9
1 minute 17.0

Output of Reading Errors

The reading error that was used for every reading is printed in the standard output file ~.phase_data that is created for every run of mloc. For readings used to locate the hypocentroid in direct calibration, reading errors are found also in the ~.dcal_phase_data file. They will be listed also in certain optional output files, such as the ~.comcat file created by the command ccat.

Every run of mloc produces a ~.rderr file containing the empirical reading errors calculated from the current run. It also carries the empirical reading errors that were used in the current run and some other statistics. To use these empirical reading errors in a future run, use the command rfil to reference the desired ~.rderr file.