A student's guide on examining remotely triggered seismicity from waveform data
by Zhigang Peng
This website contains a brief tutorial on how to identify remotely triggered seismicity (shallow microearthquakes, icequakes, or deep tectonic tremor) following large distant earthquake from waveform data. It is part of the mini course series offered to incoming Geophysics graduate students and sometimes undergraduate summer interns
at Georgia Tech. It is also available online so that outside users could use it as well.
My development in this tutorial is partially supported by the following NSF Grants:
This tutorial consists of the following sections:
Part 0: Prerequisite
Part 1: Distant Mainshock Selection
- In this tutorial, we will primarily use the broadband station TPUB from the BATS (Broadband Array in Taiwan for Seismology network in Taiwan for triggered deep tremor, broaband station JRC2 in Coso, southern California for triggered shallow microearthquakes, and broadband station HOWD in Antarctica for triggered icequakes. All waveforms can be downloaded from the IRIS DMC , or IRIS DMC MetaData Aggregator .
- We first select distant shallow mainshocks that have satisfied a certain criterion. Generally there are two approaches for the mainshock selection. The first approach is to define a relatively large magnitude and distance threshold so that only the events with high-enough magnitudes are selected.
- For example, let's select all shallow earthquakes (depth no more than 100 km) with magnitude of at least 7.5 since 1998 from the Advanced National Seismic System (ANSS) earthquake catalog . Please choose the output format "Catalog in readable format" and save it as ANSS_depth_100_mag_75_yr_1998.dat
- Next, manually remove the last few entries without magnitudes, and reformat the catalog from 'readable format' into the following format: year mon day hr min sec longitude latitude depth mag. The output is saved as ANSS_depth_100_mag_75_yr_1998_reformat.dat .
- Please note that in this section on triggered tremor, we will work at the Taiwan_Tremor_Triggering Tutorial. For recent publications on this topic, see Chao et al. (GJI, 2012) .
$ cd Triggering_Tutorial/Taiwan_Tremor_Triggering
sed -e 's/\// /g' -e 's/:/ /g' ANSS_depth_100_mag_75_yr_1998.dat |\
awk '{printf "%4s %2s %2s %2s %2s %5.2f %9.4f %8.4f %6.2f %4.2f\n",$1,$2,$3,$4,$5,$6,$8,$7,$9,$10}' |\
awk '{if ($NF>=7.5) print $0}' > ANSS_depth_100_mag_75_yr_1998_reformat.dat
- Finally, we select events that are at least 1000 km away from the target region. We use the following commands to compute the distance between each potential mainshock and station TPUB (longitude 120.6296 deg, latitude 23.3005 deg). We focus on distant earthquakes mainly because it is relatively easy to separate seismic signals from the distant mainshocks (lower frequency) and locally triggered seismicity (higher frequency).
- The source code for the command ndistbaz can be downloaded at sac_msc by zpeng . For those that have access to the Trigger_Tutorial.zip file, the file sac_msc.tar.gz is already included. Please untar it (i.e., tar zxvf sac_msc.tar.gz), then compile all the code with 'make all' in the sac_msc directory. Next, you can add the path to your PATH environmental variable (which tells the shell which directories to search for excutable variables).
$ pwd
/Users/zpeng/afan/zpeng_paper/Triggering_Tutorial/sac_msc
$ PATH=$PATH:/Users/zpeng/afan/zpeng_paper/Triggering_Tutorial/sac_msc
$ ndistbaz
Usage: cat eve_lon eve_lat | ndistbaz sta_lon sta_lat
Returns: Distance Baz
$ awk '{print $7,$8}' ANSS_depth_100_mag_75_yr_1998_reformat.dat | ndistbaz 120.6296 23.3005 |\
awk '{printf "%8.2f %6.2f\n",$1,$2}' > ANSS_depth_100_mag_75_yr_1998_TPUB.dist
$ paste -d" " ANSS_depth_100_mag_75_yr_1998_reformat.dat ANSS_depth_100_mag_75_yr_1998_TPUB.dist |\
awk '{if ($(NF-1)>=1000) print $0}' > ANSS_depth_100_mag_75_yr_1998_dist_1000.dat
$ rm ANSS_depth_100_mag_75_yr_1998_TPUB.dist
- Or you can simply run the shell script do_ANSS_mag75.csh to do the job.
- This procedure removed two nearby events (including the 1999/9/20 magnitude 7.7 Chi-Chi earthquake), resulting in a total of 77 events for further analysis. The output ANSS_depth_100_mag_75_yr_1998_dist_1000.dat has the following format.
yr mo dy hr mi sec long. lat. dep. mag. dist_km baz_deg
1999 08 17 00 01 39.13 29.8640 40.7480 17.00 7.70 8421.36 308.38
- The second approach is to relax the magnitude and distance criterion, but select events with the predicted dynamic stresses higher than certain threshold. In this case, we first select distant earthquakes with magnitude M ≥ 5.5 and depth ≤ 100 km since 1998. Please redownload the ANSS catalog with this criterion (file: ANSS_depth_100_mag_55_yr_1998.dat ) and reformat it with the precedure above. We end up with a new file named ANSS_depth_100_mag_55_yr_1998_reformat.dat , which contains more than 7200 events.
- Next, we estimate the dynamic stress of each selected earthquake at station TPUB using a surface-wave magnitude Ms relationship following van der Elst and Brodsky, JGR 2010 . Assuming that the magnitude reported in the ANSS catalog is the surface-wave magnitude Ms, we predict the peak displaement and then compute the dynamic stress associated with the 20-s surface wave. We use the following shell script compute_dist_dynamic_stress.csh to perform the analysis. Please make sure to verify that the input parameter "ANSS_cat" is ANSS_depth_100_mag_55_yr_1998_reformat.dat in this script.
$ compute_dist_dynamic_stress.csh TPUB 120.6296 23.3005
- The output is named TPUB_ANSS_disp_ds.dat , which is in the following format
dyn_stress_kPa dist_deg yr mo dy hr mi sec long. lat. dep. mag.
104.7917860 31.0500 2004 12 26 00 58 53.45 95.9820 3.2950 30.00 9.00
- Finally, we select events above certain dynamic stress threshold and distant range (e.g., >=1 kPa and >=100 km) with the following command. We end up with 269 events for further analysis. We reformat the output as well.
$ awk '{if ($1>=1 && $2*111.19>=100) print $0}' TPUB_ANSS_disp_ds.dat |\
awk '{printf "%4s %2s %2s %2s %2s %5.2f %9.4f %8.4f %6.2f %4.2f %8.2f %8.3f\n",$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$2*111.19,$1}' \
> ANSS_depth_100_mag_55_yr_1998_dist_100_kpa_1.dat
- File ANSS_depth_100_mag_55_yr_1998_dist_100_kpa_1.dat has the following format.
yr mo dy hr mi sec long. lat. dep. mag. dist_km dyn_stress_kpa
2004 12 26 00 58 53.45 95.9820 3.2950 30.00 9.00 3452.45 104.792
- Similarly, if you would like to, you can use the prepared do_ANSS_mag55.csh to do all the jobs.
- In the interest of time, let's focus the following 7 events that have epicentral distances larger than 1000 km, and predicted dynamic stresses larger than 20 kPa.
$ awk '{if ($(NF-1)>1000 && $NF > 20) print $0}' ANSS_depth_100_mag_55_yr_1998_dist_100_kpa_1.dat
2011 03 11 05 46 24.12 142.3730 38.2970 29.00 9.10 2650.77 204.560
2004 12 26 00 58 53.45 95.9820 3.2950 30.00 9.00 3452.45 104.792
2005 03 28 16 09 36.53 97.1080 2.0850 30.00 8.60 3453.12 41.705
2012 04 11 08 38 36.72 93.0630 2.3270 20.00 8.60 3767.12 36.095
2007 09 12 11 10 26.83 101.3670 -4.4380 34.00 8.50 3710.63 29.399
2003 09 25 19 50 6.36 143.9100 41.8150 27.00 8.30 2980.23 26.691
2008 05 12 06 28 1.57 103.3220 31.0020 19.00 7.90 1912.02 22.199
$ awk '{if ($(NF-1)>1000 && $NF > 20) print $0}' ANSS_depth_100_mag_55_yr_1998_dist_100_kpa_1.dat\
> TW_TPUB_select_distant_ms.tmp
$ awk '{print $1$2$3$4$5}' TW_TPUB_select_distant_ms.tmp > TW_TPUB_select_distant_ms.id
$ paste -d" " TW_TPUB_select_distant_ms.id TW_TPUB_select_distant_ms.tmp > TW_TPUB_select_distant_ms.txt
$ rm -f TW_TPUB_select_distant_ms.id TW_TPUB_select_distant_ms.tmp
Part 2: Waveform Preparation and Examination
- Once you have downloaded all the SAC files, the next step is to organize the data in a unified way so that one could use shell scripts to automatically process them. Basically, we would like to make sure that the file names follow certain convention (my default choice is NET.STA.CHAN.SAC), and put various mainshock and station information into the SAC headers, shift the origin time, etc.
- Similarly, we have prepared a simple csh script preprocessing.csh to do all the job. For more information on how to put the mainshock information into the SAC header, see zpeng's SAC Tutorial .
- Rather than sending requests and downloading the data to your local directory, one could also directly fetch data within Matlab from IRIS DMC (or data centers that implement FDSN web services). In this case, you do not have to save the data in your local directory.
- To do so, you need to install the IRIS-WS jar file first, and then download the irisFetch.m file, placing it somewhere along your MATLAB search path. See guideline at manuals one at Manuals: irisFetch.m .
- Once you have installed both files, you can test by running the following command in Matlab. This will retrieve one hour of east component data recorded at the broadband station TPUB following the 2011/03/11 Mw9.0 Tohohu-Oki earthquake.
- Please launch Matlab first, and before running any commands, please add several of my Matlab subroutines in the Matlab Path. You can use the path command in Matlab below, or add the line into your Matlab's startup.m file.
>> path(path,'/Users/zpeng/afan/zpeng_paper/Triggering_Tutorial/matlab');
>> cd 201103110546
>> mytrace=irisFetch.Traces('TW','TPUB','--','BHE','2011-03-11 05:46:24', '2011-03-11 06:16:24')
sampletimes=linspace(mytrace.startTime,mytrace.endTime,mytrace.sampleCount);
plot(sampletimes,mytrace.data);
datetick
- If everything works fine, you will end up with a plot that shows teleseismic waves recorded at station TPUB.
- Most of the locally triggered tremor/microearthquakes occurred during or immediately following the large-amplitude surface waves. To identify these local sources, we generally apply a band-pass (e.g., 2-8 Hz, 5-15 Hz) or high-pass (> 5 or > 10 Hz) to remove long-period signals from distant regions (the mainshock and its early aftershocks). The choice of the frequency range depends somewhat on how far away the triggering mainshock is, and the local background noise. In general, if the triggering mainshock is relatively close (say between 100-1000 km), we normally would apply a slightly higher filter to remove/surpress distant signals.
- We will use the matlab subroutine eqfiltfilt.m to do the filter job. It should be in the ./matlab directory, and in the Matlab's path. If not, please download the following matlab subroutine eqfiltfilt.m , and place it somewhere along your MATLAB search path. Then run the following command in MATLAB.
>> datahp = eqfiltfilt(mytrace.data,5,-inf,1/mytrace.sampleRate,4);
subplot 211;
plot(sampletimes,mytrace.data);
datetick
subplot 212;
plot(sampletimes,datahp);
datetick
- If works, it will generate a plot like this. The top trace is the raw data, and bottom trace is been high-pass-filtered at 5 Hz (Butterworth filter, two-way, 4-th order).
- To produce a band-pass-filtered trace (say between 2-8 Hz), use the following command:
>> databp = eqfiltfilt(mytrace.data,2,8,1/mytrace.sampleRate,4);
- Finally, you can use the following matlab subroutine irisFetch_spectrogram.m to generate a three-panel plot that includes the raw data (now in physical unit of cm/s), 5-Hz high-pass-filtered, and the spectrogram (frequency-time plot). If you cannot find it in your matlab directory, please download it from the following link: irisFetch_spectrogram.m
- To remove potential artifact with the short-term FFT, we applied a 0.5 Hz high-pass filter before computing the spectrogram. For more details, see the following short article Peng, Z., L. T. Long, and P. Zhao* (2011), The relevance of high-frequency analysis artifacts to remote triggering, Seismol. Res. Lett., 82(5), 856-662, doi: 10.1785/gssrl.82.5.656. .
- For example, if you directly run the command irisFetch_spectrogram.m without any argument, the default value will produce a plot like below for the 2011/03/11 M9.0 Tohoku earthquake. Of course, you could also change the input parameters by switching either station or the time windows.
>> irisFetch_spectrogram;
% default: produce a plot for the 2011 Tohoku event
>> help irisFetch_spectrogram
function irisFetch_spectrogram(net,sta,loc,chan,t1,t2,ff1,ff2,caxis1,caxis2,event,ifsave,color_flag)
this function retrieve single-component seismic data directly from the IRIS DMC
using the command irisFetch.m
see the guideline at http://www.iris.edu/ds/nodes/dmc/manuals/irisfetchm/
on how to download and install the irisFetch.m command
plot the raw, bandpass-filtered, and spectrogram of the seismogram
this version could also save the data into SAC format
db is from http://en.wikipedia.org/wiki/Decibel#Amplitude.2C_voltage_and_current
applied a 0.5 Hz filter before computing spectrogram.
see more at Peng et al. (SRL, 2011).
Peng, Z., L. T. Long, and P. Zhao* (2011), The relevance of high-frequency analysis artifacts to
remote triggering, Seismol. Res. Lett., 82(5), 856-662, doi: 10.1785/gssrl.82.5.656.
http://geophysics.eas.gatech.edu/people/zpeng/zpeng_paper/Peng_etal_SRL_2011.pdf
need: eqfiltfilt.m at http://geophysics.eas.gatech.edu/people/zpeng/Software/matlab/eqfiltfilt.m
this program can be downloaded at
http://geophysics.eas.gatech.edu/people/zpeng/Software/matlab/irisFetch_spectrogram.m
update by zpeng@gatech.edu on Wed Oct 29 11:03:09 EDT 2014
>> irisFetch_spectrogram('TW','TPUB','--','BHE','2005-03-28 16:09:36','2005-03-28 17:09:36',0,10,-60,-10,'Nias');
% these parameters will produce a plot for the 2005/03/28 M8.6 Nias earthquake
Part 3: Visual Inspection of Remotely Triggered Seismicity
- For the triggered deep tremor (aka non-volcanic or deep tectonic tremr), we use the example in southern Taiwan recorded primarily by the broadband station TW.TPUB. To identify/plot locally triggered seismic signals, we generally apply a band-pass or high-pass filters to remove/suppress long-period signals from large distant earthquakes. See below for a simple example of using SAC's built-in command to apply filters to the seismic data generated by the 2011/03/11 Mw9.1 Tohoku-Oki earthquake.
- First, type "sac" to enter the SAC commandline. For more information on how to use SAC, please refer to the SAC tutorial .
$ cd 201103110546
$ sac
SAC > r TW.TPUB.BHE.SAC # read the east component data recorded at TW.TPUB station (for the 2011/03/11 Tohoku event.
SAC > rmean # remean the mean of the data
SAC > taper # apply a 5% taper to both end to avoid potential glitches when filtering the data
SAC > bp p 2 n 4 c 5 # apply a two-way 4th-order 5 Hz high-pass filter to the data
# (could also change to high-pass filter like hp p 2 n 4 c 5)
SAC > r more # read the original data again
SAC > qdp off # turn off quick-and-dirty plot so that all the data point is plotted
# (default is on to save plotting time)
SAC > xlim 0 1000 # zoom-in the time window to be from 0-1000 s around the mainshock origin time
SAC > p1 # plot the data in two subpanels. The top is the 5 Hz high-pass-filtered data
# and the bottom is the raw data
SAC > xlabel "Time @(s@)" # set the label for x-axis
SAC > ylabel "Velocity" # set the label for y-axis
SAC > title "2011/03/11 Mw9.1 Tohoku-Oki earthquake triggered tremor in southern Taiwan" # set the title
SAC > p1 # plot it again, take screenshoot or save it in ps using sgftops if needed
- Alternatively, you can use Matlab to open the SAC file directly, and apply the filter. To do so, you first need to install
the MatSAC package zip and put it in your
Matlab seach path.
- I have already included the MatSAC.tar.gz in the combined Triggering_Tutorial.zip file. You only need to add the Matlab path.
- If you prefer to download it again in command line/linux, please use
cd ~/matlab
wget http://geophysics.eas.gatech.edu/people/zpeng/Teaching/SAC_Tutorial/MatSAC.tar.gz
tar zxvf MatSAC.tar.gz
vi startup.m
path(path,'~/matlab/MatSAC');
# or download the zip file at http://geophysics.eas.gatech.edu/people/zpeng/Teaching/SAC_Tutorial/MatSAC.zip
- In matlab, please use the following commands to read and plot the raw and band-pass-filtered data.
>> [time,data,hdr] = fget_sac('TW.TPUB.BHE.SAC');
data = data - mean(data);
datahp = eqfiltfilt(data,5,-inf,hdr.times.delta,4);
subplot 211;
plot(time,data);
xlim([0 1000]);
subplot 212;
plot(time,datahp);
xlim([0 1000]);
- Finally, one can generate the spectrogram (frequency-time) plot, together with the raw and band- or high-pass-filtered data. To do so, I have prepared a matlab subroutine gen_spectrogram.m that can directly read the SAC data and plot three-panels (top: raw; middle: band- or high-pass-filtered; middle: spectrogram). Again it is in the ./matlab directory. If not, pLease download the subroutine
gen_spectrogram.m
and put in your Matlab path first.
>> help gen_spectrogram;
% function gen_spectrogram(stn,chan,comp,net,tt1,tt2,ff1,ff2,caxis1,caxis2,color_flag)
% plot the raw, bandpass-filtered, and spectrogram of the seismogram
gen_spectrogram('TPUB','BH','E','TW',0,1000);
- For remotely triggered shallow earthquakes, we use one example recorded at broadband station NC.GDXB near
the Geysers geothermal field in northern California. This region is known to be rigoriously responding to moderate
to large regional- and teleseismic events. See a recent publication in this and other geothermal/volcanic region by
Aiken and Peng (JGR, 2014) .
- You can download the data from the Northern California Earthquake Data Center (NCEDC) using various tools, including webservices, or the NetDC Waveform Request .
- You can repeat the above process by selecting all the mainshocks with predicted dynamic stresses (or by magnitude-distance, etc).
- I put one example waveforms produced by the 2010/04/04 Mw7.1 Baja California (or El-Mayor) earthquake. It clearly triggered
many high-frequency microearthquakes during and after the passing surface waves.
- Please change your working directory to Geysers_EQ_Triggering. To extract the SAC data from the SEED file 201004042240_NC_GDXB.NCEDC.DATA.21855, one can follow the steps listed in the Makefile, and type the following commands to put corresponding information in the SAC header.
$ make seed2sac
$ make gen_o shift_o put_loc rename get_resp
To remove the instrument response, one can use SAC's transfer command with the following syntax:
transfer from POLEZERO subtype $PZ to none FREQLIMITS $f1 $f2 $f3 $f4, where $PZ is the pole-zero file, and f1-f4 are
the low- and high-pass tapers that can be used to filter the spectrum.
$ cd Geysers_EQ_Triggering
SAC> help transfer
SAC Command Reference Manual TRANSFER
SUMMARY:
Performs deconvolution to remove an instrument response and convolution to
apply another instrument response.
SYNTAX:
TRANSFER {FROM type {options}} , {TO type {options}} ,
{FREQLIMITS f1 f2 f2 f4} , {PREWHITENING ON|OFF|n}
SAC>
- I have prepared a csh shell script do_pole_zero_transfer.csh that would extract the pole-zero file from the RESP file, and then
remove the instrument response, and save the output into velocity in the physical unit of cm/s. In addition, it will rotate the two
horizontal-component seismograms into radial and tangential components. To run the code, simple type
$ ./do_pole_zero_transfer.csh
$ ./do_pole_zero_transfer.csh NC GDXB
- If needed, you may want to change the channel name from HH to BH or other codes.
- For the last example on remotely triggered shallow icequakes, I will use the POLENET station YT.HOWD near the Ellsworth Mountain
in Western Antarctica. This station recorded clear high-frequency bursts triggered by the Rayleigh waves of the 2010 Mw8.8 Maule, Chile
earthquake. For more details, see Peng et al. (NGEO, 2014) .
- I put the instrument-corrected SAC data in the following directory: Icequake_Triggering. Again, please use either Matlab or SAC to apply various band-pass-filter to the data and see if you can identify the clear signature of triggered high-frequency signals. I will use this example later for automatic detection of triggered events based on STA/LTA or template-matching methods later.
Part 4: Event Detection
Several studies (Peng et al., JGR, 2007; Aiken and Peng, JGR, 2014) have used manual phase picking to identify potential triggered seismicity on a single station. Below are some simple SAC commands that can do the job. However, manual picking timing cosuming and subjective, and hence is not recommeneded to use these days.
We will use the Geysers triggering as the example.
$ cd Geysers_EQ_Triggering
SAC> m gen_3c_log_env_vel_hp.mac sta NC.GDXB
SAC> r NC.GDXB.HHT.SAC.vel
SAC> rmean
SAC> hp p 2 n 4 c 5
SAC> r more NC.GDXB.3c.SAC.vel.hp.log.env
SAC> r more NC.GDXB.HHT.SAC.vel NC.GDXB.HHR.SAC.vel NC.GDXB.HHZ.SAC.vel
SAC> qdp off
SAC> ppk p 5 m on bell off
SAC> wh
Using the ppk tool, one can find the peaks of each high-frequency bursts in the envelope function, and can assign phase picks
from t0-t9 for 10 events. Then one needs to save those phase picks (and the corresponding peak log10-amplitude values) into a separate
files, before moving on to use the same phase tags to mark new events.
saclst t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 f NC.GDXB.3c.SAC.vel.hp.log.env
lsac 289.3737 NC.GDXB.3c.SAC.vel.hp.log.env
- Dynamically triggered seismicity, like regular seismic events, can be detected by waveform matched filter technique [e.g.,
Peng and Zhao, NGEO, 2009]. The related C-source code, scripts and example can be found in the sliding_wfcc_src directory. Please
go to this directory and type the following command to compile the codes
$ cd sliding_wfcc_src
$ make all
$ ./sliding_wfcc_fix_v5
./sliding_wfcc_fix_v5 [-f template_sac_file] [-s long_sac_file]) [-b tBefore_template] [-a tAfter_template] [-B tBefore_cont] [-A tAfter_cont] [-S -sliding_time_in_sec] [-O -shift_origin_time] [-D debug] [-F output] [-o sacfile] -h help
$ ./sliding_wfcc_fix_v5 -f EVT.20040928233349.BP.MMNB.BP1.SAC.bp -s BP.MMNB.BP1.SAC.bp -b 0.4299 -a 4.4299 -B 62124 -A 63124 -S 0.05 -O 0.4299 -F 1 -o BP.MMNB.BP1.wfcc.SAC
$ vi readme.txt
- You can also go to the Icequake directory and try to use the sliding_wfcc_fix_v5 command to detect repeating icequakes triggered during the surface waves. Please use the following commands. After stacking 3-component data, we can see multiple detections of similar events during the surface waves (by using the events at 1290-1292 s as the templates).
$ pwd
/Users/zpeng/afan/zpeng_paper/Triggering_Tutorial/
$ PATH=$PATH:/Users/zpeng/afan/zpeng_paper/Triggering_Tutorial/sliding_wfcc_src
$ cd Icequake_Triggering
SAC> r YT.HOWD.BHZ.SAC.vel YT.HOWD.BHE.SAC.vel YT.HOWD.BHN.SAC.vel
SAC> rmean
SAC> hp p 2 n 4 c 5
SAC> mul 1e7
SAC> w append .hp
SAC> q
$ ../sliding_wfcc_src/sliding_wfcc_fix_v5 -f YT.HOWD.BHZ.SAC.vel.hp -s YT.HOWD.BHZ.SAC.vel.hp -b 1290 -a 1292 -B -3600 -A 3600 -S 0.05 -O 0 -F 1 -o YT.HOWD.BHZ.SAC.vel.wfcc.SAC
$ ../sliding_wfcc_src/sliding_wfcc_fix_v5 -f YT.HOWD.BHN.SAC.vel.hp -s YT.HOWD.BHN.SAC.vel.hp -b 1290 -a 1292 -B -3600 -A 3600 -S 0.05 -O 0 -F 1 -o YT.HOWD.BHN.SAC.vel.wfcc.SAC
$ ../sliding_wfcc_src/sliding_wfcc_fix_v5 -f YT.HOWD.BHE.SAC.vel.hp -s YT.HOWD.BHE.SAC.vel.hp -b 1290 -a 1292 -B -3600 -A 3600 -S 0.05 -O 0 -F 1 -o YT.HOWD.BHE.SAC.vel.wfcc.SAC
SAC> r YT.HOWD.BHZ.SAC.vel.wfcc.SAC
SAC> addf YT.HOWD.BHN.SAC.vel.wfcc.SAC
SAC> addf YT.HOWD.BHE.SAC.vel.wfcc.SAC
SAC> div 3
SAC> qdp off
SAC> p1
- One could use the following simple matlab script sac2wav.m in the matlab directory to speed up the seismic data so that
our human ear can hear it (20-a few kHzs). We can use the Tohoku-triggered tremor in Taiwan as the example. Please run the following commands in Matlab. The output is named TW.TPUB.BHZ.SAC.wav, and can be played in any audio players. Have fun.
>> cd Taiwan_Tremor_Triggering/201103110546
>> help sac2wav
function sac2wav(sacfile,speed_factor,scale,t1,t2,hp_flag)
matlab function to convert the SAC data into
sound waves using matlab's wavewrite program
need fget_sac program, which can be downloaded from
the MatSAC package by zpeng at http://geophysics.eas.gatech.edu/people/zpeng/Teaching/MatSAC.tar.gz
written by Zhigang Peng at GT (zpeng@gatech.edu)
modifed from the code sent by Debi Kilb at UCSD (dkilb@epicenter.ucsd.edu)
last updated by zpeng, Sun Feb 20 22:44:30 EST 2011
>> sac2wav('TW.TPUB.BHZ.SAC',100,5,0,1000,1);
- For more examples, please see zpeng's EQ Music , and Earthquake Sound of the Mw9.0 Tohoku-Oki, Japan earthquake .
|