MLOC phase_data File

~.phase_data File

Every run of mloc produces a ~.phase_data file that carries information about every reading in all event files, tracking the travel-time residual through each iteration, and displaying the data importance and cluster residual (see the discussion of the utility program rstat) of the reading, as well as some other information that is useful for evaluating the results of a run. The file is written by the module mlocout_phase_data.f90.

The GOOD Data Section

The ~.phase_data file is divided into two parts. The first part contains the “good” data for each event. These are readings that were not flagged for any reason, and that have phase names for which mloc could determine a theoretical arrival time to which the observed arrival was close enough to avoid being dropped by the windowing criterion (command wind). This does not mean the reading actually contributed to the relocation however. That status is conveyed in two columns, labelled “DTMPH” and “DTMPC”, giving the data importance of the reading for the hypocentroid and cluster vector, respectively. The concept of data importance is discussed in Jordan and Sverdrup (1981). Reasons why a reading might not contribute are:

  • It is the only instance of that station-phase, so it cannot contribute to the cluster vector. It might still contribute to the hypocentroid, depending on how the relocation has been set up (command hlim).
  • The reading has an epicentral distance that falls outside the limits set with commands hlim or clim.

It is not unusual for an event to have no readings that contribute to the hypocentroid, especially in direct calibration, but every event must have an adequate number of azimuthally-distributed readings in common with other events to establish connectivity in the cluster.

Here are the first few lines from the good data section in a ~.phase_data file:

********************************************************************************************************************************************************************
 CLUSTER EVENT   1           19300506.2234.23                   GOOD DATA                                                                                            
 salmas2/19300506.2234.23.mnf                                                                                                                                        
 Input 1930  5  6 22 34 26.8  38.094   44.797  15.0 7.2                                                                                                              
 Final 1930  5  6 22 34 20.2  38.011   44.682   8.0 7.2                                                                                                              
                                                                                                                                                                     
 STA   NETWORK    PHASE    READ  DELTA AZIM  RAY     WGT   STA  P RESIDUALS FOR ITERATION #                                                                          
 CODE                       ERR             PARAM         CORR  *INP*   *0*    *1*    *2*    *3*    *4*          DTMPH  DTMPC    ECI AUTHOR   CHA PHASE0     MNF IDIF
                                                                                                                                                                     
 BAK              Pn       2.30   4.64   58  13.9   1.00  0.01  -0.5  -0.60  -0.75  -0.81                       0.0000 0.0091  -1.34 ISC          Pn          46    0
 KSA              Pn       1.27   8.26  242  13.9   1.00  0.11  -0.8   1.77   1.63   1.49                       0.0000 0.0327   0.16 ISC          Pn          47    0
 FEO              Pn       1.49   9.87  318  13.9   1.00  0.00  -1.1  -0.62  -0.73  -0.76                       0.0000 0.0023  -0.67 ISC          Pn          48    0
 SEV              Pn       4.03  10.55  312  13.9   1.00  0.00   1.6   2.04   1.93   1.89                       0.0000 0.0002   0.56 ISC          Pn          52    0
 HLW              Pn       1.15  13.73  238  13.1   1.00  0.02  -1.5   1.58   1.43   1.29                       0.0000 0.0512   1.06 ISC          Pn          53    0
 SAM              P        0.98  17.46   78  11.1   1.00  0.10  -4.4  -1.04  -1.20  -1.29                       0.0000 0.0307  -1.21 ISC          Pn          57    0
 SAM              S        1.68  17.46   78  20.4   1.00  0.16  -1.7   1.38   1.20   1.12                       0.0000 0.0142   0.99 ISC          S           58    0

The first line carries the event number and event name (command even). The second line gives the file name of the event file (command inpu). The event name and input file name are usually coherent but it is not required. The next two lines list the hypocenter and magnitude of the event read from the event file and at the conclusion of the relocation.

The first half-dozen or so columns of the format for individual readings are easily understood. Ray parameter is given in sec/deg. “WGT” is based on the windowing criterion (command wind). Station correction is the elevation correction, in s. The label “P RESIDUALS” is a mistake that has somehow been carried through 30+ years of code development. I can only conclude that I am fond of it. These columns apply to any phase, not just “P”. The first one “INP” is taken from the event file, but in many cases that information is not provided and the column will be blank. The “0” column is the residual with the starting location for mloc. In most runs it will be the hypocenter read from a ~.hdf file of the last run (see command rhdf). The other residual columns track the changes through the iterations of the relocation. In the example mloc converged after 2 iterations.

The “DTMPH” and “DTMPC” columns are discussed above. “ECI” is the cluster residual, discussed in the section on the utility program rstat. Before rstat was written I evaluated outliers by scanning through the entire ~.phase_data file. The “AUTHOR” field is the code for the source of the reading. “CHA” is instrumental channel, sometimes supplied in the event file and possibly relevant to evaluating differences between readings. “PHASE0” is the phase name read from the event file; it may be changed by mloc’s phase re-identification algorithm. “MNF” is the line number of the reading in the event file, which helps with manual editing and is also picked up and displayed by rstat. “IDIF” is a line number reference for a reading that is part of a differential time datum.

The BAD Data Section

The second part of the ~.phase_data file carries the “bad” readings for each event. The format is similar to the one used for the “good data”. Here is an example, for the same event used above:

********************************************************************************************************************************************************************
 CLUSTER EVENT   1           19300506.2234.23                   BAD DATA                                                                                             
 salmas2/19300506.2234.23.mnf                                                                                                                                        
 Input 1930  5  6 22 34 26.8  38.094   44.797  15.0 7.2                                                                                                              
 Final 1930  5  6 22 34 20.2  38.011   44.682   8.0 7.2                                                                                                              
                                                                                                                                                                     
 STA   NETWORK    PHASE    READ  DELTA AZIM  RAY     WGT   STA  P RESIDUALS FOR ITERATION #                    WHY                                                   
 CODE                       ERR             PARAM         CORR *INP*    *0*    *1*    *2*    *3*    *4*        BAD                   AUTHOR   CHA PHASE0     MNF IDIF
                                                                                                                                                                     
 FEO            x Sn       1.60   9.87  318  24.4   1.00  0.01   7.5   6.80   6.73   6.75                                            ISC          Sn          49    0
 YAL            x Sn       0.22  10.23  313  24.4   0.00  0.00  18.5  18.17  18.10  18.11                                            ISC          Sn          51    0
 YAL            x Pn       0.74  10.23  313  13.9   0.00  0.00   8.9   9.46   9.36   9.32                                            ISC          Pn          50    0
 HLW            d Pn       1.15  13.73  238  13.1   1.00  0.02  -1.5   1.58   1.43   1.29                                            ISC          Pn          55    0
 HLW            p UNKNOWNS 1.60  13.73  238   0.0   0.00  0.00  -6.2 371.96 371.88 371.78                                            ISC          S           56    0
 HLW            p UNKNOWNS 1.60  13.73  238   0.0   0.00  0.00  -6.2 371.96 371.88 371.78                                            ISC          S           54    0
 KUC            p UNKNOWNS 1.60  18.31  348   0.0   0.00  0.00  -7.6 455.31 454.88 454.78                                            ISC          Sn          62    0
 KUC            p UNKNOWNS 1.60  18.31  348   0.0   0.00  0.00  -7.6 455.31 454.88 454.78                                            ISC          Sn          60    0

When mloc’s phase identification algorithm fails to find any plausible phase for a reported arrival time, the phase name is changed to “UNKNOWN”, and if there is a hint about the type of phase from the event file, “UNKNOWNP” or “UNKNOWNS”. Such readings are flagged “p”. In this case the value printed in the residual column is the observed travel time. Any reading flagged with an “x”, either by hand or through the utility programs lres or xdat, will be in this section, as will readings specified in the skip command. In recent years it has become common for ISC datasets to have many duplicate readings, which will show up in this section with a “d” flag.

The “WHY BAD” field is used for two situations. It carries the code “PRES” (another ancient typo from when relocations were done only with P phases) if the reading was dropped because it fell outside the window defined for that phase by the wind command, probably from reading the ~.ttsprd file from a previous run. If the utility code xdat is run it will flag these readings.

The other use of the “WHY Bad” field is to print a “?” when a reading has been flagged as an outlier (“x”) but the residual is small enough (according to a fairly crude algorithm) that it may be worth re-checking (with rstat) that it truly does seem to be an outlier. A standard part of a careful relocation analysis is to review these cases late in the process and add readings back in (by removing the flags in the event files, by hand) when it is judged that a mistake was made.