~.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.