A: More on Daily Seismicity Analysis Here I briefly describe the daily seismicity analysis procedure: Table 1 The broadband continuous data set was acquired as hour-long files. For this purpose I wrote two MatLab scripts and used the MatLab signal processing toolbox. The first script successively reads, demeans and filters these hour-long files. Each file was ascribed attributes as listed in Table 2 and all the files were organized in a database. Table 2. The event database. First three columns are event time, date and Julian day, respectively. The fourth column contains event size (max + min). Time-difference column lists the time difference between signal maximum and minimum. Noise level (last column) is proportional to the average value of the signal, (events excluded). See text for discussion. Time (hhm m) Date (mdd) Juli an day Amplitud e, peak to peak (counts) Time difference Averag e noise level from y =0 (counts) 2042 505 125 86.10 0.31 9.41 2100 505 125 114.70 0.11 7.63 78
This script is actually an implementation of a crude phase picker. Together with the second script, where I query the database, it helps to estimate the total number of earthquakes for any given time window. The earthquake picking algorithm is based on the following steps: 1. Reads a file. 2. Removes the mean and filters the file with 2-pole Butterworth 3 10 Hz filter. This rather narrow band filter mainly passes S phase arrivals based on which the first script picks events. 3. Finds the maximum and minimum signal value in the file. 4. Stores the value from Step 3 and a time difference between them. 5. Removes the event from the file by cutting out 2 sec before and 5 after the maximum value of the event. 6. Repeats steps 3-6 while the maximum/minimum value reaches a default (noise level) value of 30 counts. This value is empirically chosen based on numerous visual evaluations of the noise level. 7. Calculates the mean of absolute amplitudes of the signal (without cut off events). The mean is an indicator of the noise level for the events in a single file only. Therefore, the noise level is expressed as an average value (in counts) of the signal: average ( signal amplitude ) * 2 (12) 79
The output (database) is formatted with the following columns: The first three columns list the time when the file begins, the date and Julian day. The next column shows the peaks in the signal expressed as max amplitude + min amplitude. The time difference between these two amplitudes is shown in the fifth column. The sixth column lists the average noise level for the file. After the database has been formed the second MatLab script selects events based on database query parameters (up to 6: the total number of columns in the database). For example, Figure 4. (page 10) is generated with the following query parameters: Table 3. Database query parameters that produced Figure 4. Amplitude, peak to peak (counts) Time difference > 2*average noise level < 1 sec 80
I believe that by splitting the earthquake search procedure into steps/scripts gives a certain level of flexibility in at least the following cases: a) For huge data sets such as permanent stations with continuous recording, the first script has to be run only once, enough to create a database. Querying a created database requires less computer time for each run. It allows a network operator not only to count earthquakes faster but also to get additional information such as: noise level, signal maximum and minimum, etc. b) For portable seismic networks (aftershock chasing programs) where flexibility and speed are essential, particularly in the first few days when exact earthquake locations dictate future network configurations. 81
More on Step 3. In order to find earthquakes, I use a rather simple but effective procedure. On the filtered horizontal broadband seismograms the biggest abrupt signal increases are assumed to be S phase arrivals. The biggest signal amplitudes are regarded as events and the algorithm picks as many as it can before reaching the noise level. At this point there is no quality control. This step is formed in the second script. More on Step 5. All the HYPOELLIPSE epicenters (see Chapter 3) are within 6 km radius from the broadband site. The earthquake depths go up to about 7 km. Therefore it is reasonable to assume that the time difference between P and S phase, for any earthquake, should be within 1.5 seconds (phase arrival times are given by t p,s = path p,s / V p,s and assuming V p /V s = 1.73 we get: distance (km) t s,p (sec)* 8, Where V p = 6 km/s). Cutting off the events with the given window removes them from consecutive event search procedure. Table 2. Figure 35 illustrates time difference and amplitude, peal-to-peak columns of Table 2. Based on time difference column it is possible to query an event database to select only events that meet the time difference criteria. 82
Figure 35. An illustration of the event search algorithm (the first script). A raw one hourlong file (N-S component) from the broadband instrument (GUR site). Abrupt vertical lines are earthquakes (top). Filtered seismogram showing picked events (only amplitudes for events with peak-to-peak value > 20 000 are shown, middle). Blown up 34585 event (indicated by the arrow in the middle plot) shows expected time difference (~0.8 sec) between signal minimum and maximum for an event (bottom). 83
If, for example, time difference column gives a value of 2 sec. for a picked event it is not likely that the picker has picked the real earthquake in the first place: The time difference between signal min and max is way too large. 84
B: Waveform Cross Correlation Testing Procedures Here I present a few test function used to evaluate the results of the implemented waveform cross correlation method. All the scripts for this purpose are written in MatLab code. The tests are divided in two groups: 1. Two Hanning window-like functions are first delayed by 0.01 sec and then by 0.1 sec. 2. Two time-differentiated Hanning window-like are first delayed by 0.01 sec and then by 0.1 sec. For a sample rate of 200 Hz (accelerographs) these delays are 2 and 20 samples, respectively. For a sample rate of 100 Hz (broadband, velocitygraph) we have 1 and 10 samples, respectively. These delays bound well the lower and upper limits within which the windowed P arrivals are analyzed (see Chapter 3.2.1.). The Hanning functions test the algorithm s response to an impulse function. As shown in Figure 36, two Hanning functions are used as input seismograms. They are delayed by 0.01 sec. The phase information of the cross spectrum function is used to calculate the delay between the input functions. Coherence is a direct measure of the similarity in energy of two time functions. When two spectra have the same energy at all the frequencies the coherence is equal to 1. See the caption of Figure 36. 85
86 Figure 36. Test 1. Steps of the cross correlation algorithm applied on two Hanning-window-like functions delayed by 0.01 sec (top left). As expected both amplitude spectra are identical (overlapping red and blue lines, top middle). The phase information (lower middle) of the cross spectrum (top right) of both weighted and non-weighted (red and black lines, respectively) yield the same delay: 0.01 sec. Weighted phase plot (lower right) shows which frequencies were of higher weights due to higher degree of the coherence (lower left). This affinity for some frequencies is mainly due to numerical rounding and the definition of the weighting function (see Chapter 3.2.1.).
87 Figure 37. Test 2. Steps of the cross correlation algorithm applied on two Hanning-window-like functions delayed by 0.1 sec (top left). See caption of Figure 36.
88 Figure 38. Test 3. Steps of the cross correlation algorithm applied on two time differentiated Hanning-window-like functions delayed by 0.01 sec (top left). See caption of Figure 36.
89 Figure 39. Test 2. Steps of the cross correlation algorithm applied on two time differentiated Hanning-window-like functions delayed by 0.1 sec (top left). See caption of Figure 36.
Using the least square method a straight line (forced through the origin) is fitted to the phase part of the cross spectrum. The slope is proportional to the delay. 90
C: Scripts and Bolts Here is a brief list and explanations of the principal scripts I had developed to process the 2001 Enola data set. The scripts can be found on the CD at the end of the thesis. MatLab scripts: changing headers.m The SAC data recorded on the GUR site (the broadband instrument) as well as data recorded using the accelerographs had to have the appropriate header information such as: station name, station latitude and longitude etc. The script reads all the binary SAC files from a specified folder, changes header variables and writes the new files in the SAC binary format. cc_intro_p_pick_files.m In this script all the summary files (HYPOELLIPSE output) are read and P and S arrival times are extracted. Origin times, various reference times are also organized in a table with the phase information and stored in a pick file. cc_intro_neue_p.m This script prepares data for the waveform cross-correlation technique. It reads an earthquake doublet and arranges data so that two seismograms from a station are analyzed. It also prepares the pick file of each event so that P and S arrival times can be used to window the phases. 91
cc_spectrum_p.m Here the spectra, the cross spectra, delays and other various mathematical operations are executed. cc_hdd_write_p.m A table with waveform cross-correlation results with an appropriate format is formed so the table (file) can be used directly by HYPODD. write_sac.m A subroutine customized to read/write SAC binary files. seismicity_rate.m The principal script to count earthquakes from SAC files. It gives organizes a database. It also forms a list of 100 largest earthquakes based on S wave peak-topeak value. Based on the GUR data it associates events with the data recorded by the accelerographs and copies them in a folder. 92
D: Portable Network Configuration File Here are the details on the portable network configuration. The first instrument to be deployed was a broadband seismograph on May 4, 2001. The last day of the portable network life was on July 5, 2001. The portable network configuration had been changing during the two months of deployment (see Table 4). The seismic instruments used were: A broadband, 3-component instrument, GURALP CMG 4 was continuously recording data streams during the deployment. Sample rate was 100 samples per second. Data streams were recorded using high and low gain settings. Up to 6 KINEMETRICS K2 accelerographs set up in the trigger mode. The sample rate was 200 samples per second. Each K2 had an external 3- component velocity meter (L-4 3D or L 28) connected to it. 2 MEQ-800 seismographs were collocated with two accelerographs at the sites POR and GUR. Figure 40 shows the locations of all the instruments. The broadband instrument is marked as the GUR site. Not all the instruments were operational during the deployment period. See Table 4 for a detailed schedule. 93
Figure 40. Station distribution and earthquake locations using HYPOELLIPSE. The blue triangles represent total number of stations during two months of the deployment (SW cluster marked with the red circle). The actual number of stations varied form three up to 7 at the time. 94
Table 4. Portable network configuration file. This table reflects changes that had taken place during two months of deployment. The broadband instrument is not included. START 2001:124 *5-4 name DAS/chan sensor/model chan/dip/azi BAR1 1001363/1 2017/EPISENSOR 1/0/90 BAR1 1001363/2 2016/EPISENSOR 2/0/0 BAR1 1001363/3 2033/EPISENSOR 3/-90/0 BAR1 1001363/456 63/L28 4/90/0:5/0/90:6/0/180 *number? END START 2001:125 *5-5 name DAS/chan sensor/model chan/dip/azi BAR1 1001363/1 2017/EPISENSOR 1/0/90 BAR1 1001363/2 2016/EPISENSOR 2/0/0 BAR1 1001363/3 2033/EPISENSOR 3/-90/0 BAR1 1001363/456 63/L28 4/90/0:5/0/90:6/0/180 *number? WOL1 1001362/1 1899/EPISENSOR 1/0/90 WOL1 1001362/2 1900/EPISENSOR 2/0/0 WOL1 1001362/3 1901/EPISENSOR 3/-90/0 WOL1 1001362/456 62/L28 4/90/0:5/0/90:6/0/180 *number? POR1 1001361/1 2018/EPISENSOR 1/0/90 POR1 1001361/2 2023/EPISENSOR 2/0/0 POR1 1001361/3 2046/EPISENSOR 3/-90/0 POR1 1001361/456 61/L28 4/90/0:5/0/90:6/0/180 *number? HIL1 1001366/1 2029/EPISENSOR 1/0/90 HIL1 1001366/2 1964/EPISENSOR 2/0/0 HIL1 1001366/3 2030/EPISENSOR 3/-90/0 HIL1 1001366/456 66/L28 4/90/0:5/0/90:6/0/180 *number? TAN1 1001365/1 1898/EPISENSOR 1/0/90 TAN1 1001365/2 1902/EPISENSOR 2/0/0 TAN1 1001365/3 1903/EPISENSOR 3/-90/0 TAN1 1001365/456 65/L28 4/90/0:5/0/90:6/0/180 *number? NAY1 1001368/1 1938/EPISENSOR 1/0/90 NAY1 1001368/2 1937/EPISENSOR 2/0/0 NAY1 1001368/3 1939/EPISENSOR 3/-90/0 NAY1 1001368/456 23/L28 4/90/0:5/0/90:6/0/180 *number? END START 2001:127 *5-7 name DAS/chan sensor/model chan/dip/azi BAR1 1001363/1 2017/EPISENSOR 1/0/90 BAR1 1001363/2 2016/EPISENSOR 2/0/0 BAR1 1001363/3 2033/EPISENSOR 3/-90/0 BAR1 1001363/456 63/L28 4/90/0:5/0/90:6/0/180 *number? POR1 1001361/1 2018/EPISENSOR 1/0/90 *WOL1 pulled 95
POR1 1001361/2 2023/EPISENSOR 2/0/0 POR1 1001361/3 2046/EPISENSOR 3/-90/0 POR1 1001361/456 61/L28 4/90/0:5/0/90:6/0/180 *number? HOL1 1001364/1 2024/EPISENSOR 1/0/90 HOL1 1001364/2 2027/EPISENSOR 2/0/0 HOL1 1001364/3 2048/EPISENSOR 3/-90/0 HOL1 1001364/456 64/L28 4/90/0:5/0/90:6/0/180 *number? HIL1 1001366/1 2029/EPISENSOR 1/0/90 HIL1 1001366/2 1964/EPISENSOR 2/0/0 HIL1 1001366/3 2030/EPISENSOR 3/-90/0 HIL1 1001366/456 66/L28 4/90/0:5/0/90:6/0/180 *number? TAN1 1001365/1 1898/EPISENSOR 1/0/90 TAN1 1001365/2 1902/EPISENSOR 2/0/0 TAN1 1001365/3 1903/EPISENSOR 3/-90/0 TAN1 1001365/456 65/L28 4/90/0:5/0/90:6/0/180 *number? NAY1 1001368/1 1938/EPISENSOR 1/0/90 NAY1 1001368/2 1937/EPISENSOR 2/0/0 NAY1 1001368/3 1939/EPISENSOR 3/-90/0 NAY1 1001368/456 23/L28 4/90/0:5/0/90:6/0/180 *number? END START 2001:133 *5-13 name DAS/chan sensor/model chan/dip/azi BAR1 1001363/1 2017/EPISENSOR 1/0/90 BAR1 1001363/2 2016/EPISENSOR 2/0/0 BAR1 1001363/3 2033/EPISENSOR 3/-90/0 BAR1 1001363/456 63/L28 4/90/0:5/0/90:6/0/180 *number? POR1 1001361/1 2018/EPISENSOR 1/0/90 *HOL1 pulled POR1 1001361/2 2023/EPISENSOR 2/0/0 POR1 1001361/3 2046/EPISENSOR 3/-90/0 POR1 1001361/456 61/L28 4/90/0:5/0/90:6/0/180 *number? HIL1 1001366/1 2029/EPISENSOR 1/0/90 HIL1 1001366/2 1964/EPISENSOR 2/0/0 HIL1 1001366/3 2030/EPISENSOR 3/-90/0 HIL1 1001366/456 66/L28 4/90/0:5/0/90:6/0/180 *number? CEM1 1001365/1 1898/EPISENSOR 1/0/90 CEM1 1001365/2 1902/EPISENSOR 2/0/0 CEM1 1001365/3 1903/EPISENSOR 3/-90/0 CEM1 1001365/456 65/L28 4/90/0:5/0/90:6/0/180 *number? NAY1 1001368/1 1938/EPISENSOR 1/0/90 NAY1 1001368/2 1937/EPISENSOR 2/0/0 NAY1 1001368/3 1939/EPISENSOR 3/-90/0 NAY1 1001368/456 23/L28 4/90/0:5/0/90:6/0/180 *number? END START 2001:137 *5-17 96
name DAS/chan sensor/model chan/dip/azi BAR1 1001363/1 2017/EPISENSOR 1/0/90 BAR1 1001363/2 2016/EPISENSOR 2/0/0 BAR1 1001363/3 2033/EPISENSOR 3/-90/0 *POR1 pulled BAR1 1001363/456 63/L28 4/90/0:5/0/90:6/0/180 *number? HIL1 1001366/1 2029/EPISENSOR 1/0/90 HIL1 1001366/2 1964/EPISENSOR 2/0/0 HIL1 1001366/3 2030/EPISENSOR 3/-90/0 HIL1 1001366/456 66/L28 4/90/0:5/0/90:6/0/180 *number? CEM1 1001365/1 1898/EPISENSOR 1/0/90 CEM1 1001365/2 1902/EPISENSOR 2/0/0 CEM1 1001365/3 1903/EPISENSOR 3/-90/0 CEM1 1001365/456 65/L28 4/90/0:5/0/90:6/0/180 *number? FRE1 1001364/1 2024/EPISENSOR 1/0/90 FRE1 1001364/2 2027/EPISENSOR 2/0/0 FRE1 1001364/3 2048/EPISENSOR 3/-90/0 FRE1 1001364/456 64/L28 4/90/0:5/0/90:6/0/180 *number? NAY1 1001368/1 1938/EPISENSOR 1/0/90 NAY1 1001368/2 1937/EPISENSOR 2/0/0 NAY1 1001368/3 1939/EPISENSOR 3/-90/0 NAY1 1001368/456 23/L28 4/90/0:5/0/90:6/0/180 END START 2001:158 *6-7 name DAS/chan sensor/model chan/dip/azi BAR1 1001363/1 2017/EPISENSOR 1/0/90 BAR1 1001363/2 2016/EPISENSOR 2/0/0 BAR1 1001363/3 2033/EPISENSOR 3/-90/0 BAR1 1001363/456 63/L4 4/-90/0:5/0/0:6/0/90 *number? HIL1 1001366/1 2029/EPISENSOR 1/0/90 HIL1 1001366/2 1964/EPISENSOR 2/0/0 HIL1 1001366/3 2030/EPISENSOR 3/-90/0 HIL1 1001366/456 66/L4 4/-90/0:5/0/0:6/0/90 *number? CEM1 1001365/1 1898/EPISENSOR 1/0/90 CEM1 1001365/2 1902/EPISENSOR 2/0/0 CEM1 1001365/3 1903/EPISENSOR 3/-90/0 CEM1 1001365/456 311/L4 4/-90/0:5/0/0:6/0/90 ENO1 1001361/1 2018/EPISENSOR 1/0/90 ENO1 1001361/2 2023/EPISENSOR 2/0/0 ENO1 1001361/3 2046/EPISENSOR 3/-90/0 ENO1 1001361/456 61/L4 4/-90/0:5/0/0:6/0/90 *number? FRE1 1001364/1 2024/EPISENSOR 1/0/90 FRE1 1001364/2 2027/EPISENSOR 2/0/0 FRE1 1001364/3 2048/EPISENSOR 3/-90/0 FRE1 1001364/456 64/L28 4/90/0:5/0/90:6/0/180 *number? NAY1 1001368/1 1938/EPISENSOR 1/0/90 NAY1 1001368/2 1937/EPISENSOR 2/0/0 97
NAY1 1001368/3 1939/EPISENSOR 3/-90/0 NAY1 1001368/456 23/L28 4/90/0:5/0/90:6/0/180 END START 2001:165 *6-14 name DAS/chan sensor/model chan/dip/azi BAR1 1001363/1 2017/EPISENSOR 1/0/90 BAR1 1001363/2 2016/EPISENSOR 2/0/0 BAR1 1001363/3 2033/EPISENSOR 3/-90/0 *out L4 BAR1 1001363/456 29/L28 4/90/0:5/0/90:6/0/180 HIL1 1001366/1 2029/EPISENSOR 1/0/90 HIL1 1001366/2 1964/EPISENSOR 2/0/0 HIL1 1001366/3 2030/EPISENSOR 3/-90/0 *out L4 HIL1 1001366/456 91/L28 4/90/0:5/0/90:6/0/180 CEM1 1001365/1 1898/EPISENSOR 1/0/90 CEM1 1001365/2 1902/EPISENSOR 2/0/0 CEM1 1001365/3 1903/EPISENSOR 3/-90/0 CEM1 1001365/456 311/L4 4/-90/0:5/0/0:6/0/90 ENO1 1001361/1 2018/EPISENSOR 1/0/90 ENO1 1001361/2 2023/EPISENSOR 2/0/0 ENO1 1001361/3 2046/EPISENSOR 3/-90/0 *pulled CON4 ENO1 1001361/456 307/L4 4/-90/0:5/0/0:6/0/90 NAY1 1001368/1 1938/EPISENSOR 1/0/90 NAY1 1001368/2 1937/EPISENSOR 2/0/0 NAY1 1001368/3 1939/EPISENSOR 3/-90/0 NAY1 1001368/456 23/L28 4/90/0:5/0/90:6/0/180 END START 2001:177 *6-26 name DAS/chan sensor/model chan/dip/azi BAR1 1001363/1 2017/EPISENSOR 1/0/90 BAR1 1001363/2 2016/EPISENSOR 2/0/0 BAR1 1001363/3 2033/EPISENSOR 3/-90/0 BAR1 1001363/456 29/L28 4/90/0:5/0/90:6/0/180 HIL1 1001366/1 2029/EPISENSOR 1/0/90 HIL1 1001366/2 1964/EPISENSOR 2/0/0 HIL1 1001366/3 2030/EPISENSOR 3/-90/0 HIL1 1001366/456 91/L28 4/90/0:5/0/90:6/0/180 CEM1 1001365/1 1898/EPISENSOR 1/0/90 CEM1 1001365/2 1902/EPISENSOR 2/0/0 CEM1 1001365/3 1903/EPISENSOR 3/-90/0 CEM1 1001365/456 311/L4 4/-90/0:5/0/0:6/0/90 ENO1 1001361/1 2018/EPISENSOR 1/0/90 ENO1 1001361/2 2023/EPISENSOR 2/0/0 ENO1 1001361/3 2046/EPISENSOR 3/-90/0 ENO1 1001361/456 10376/L28 4/90/0:5/0/90:6/0/180 *L4 out 98
NAY1 1001368/1 1938/EPISENSOR 1/0/90 NAY1 1001368/2 1937/EPISENSOR 2/0/0 NAY1 1001368/3 1939/EPISENSOR 3/-90/0 NAY1 1001368/456 23/L28 4/90/0:5/0/90:6/0/180 END 99