[SAC-HELP] traveltime in SAC

Arthur Snoke snoke at vt.edu
Fri Apr 2 07:59:23 PDT 2010


If you have no interested in the sac > sss> traveltime command or in being 
able to add phase-arrival times to SAC files, you can stop reading now.

Although TRAVELTIME is part of the SSS SAC Subprocess, it should be able to 
work on a single data file.  I have not succeeded in getting SYNTAX 1 and 
SYNTAX 3 to work.  (I am referring to terms used in the SAC> help 
traveltime command.)  Unless one of you can point out errors in my tests 
below and/or easy fixes, nothing will be done in the soon to be released 
101.4, but we hope it (and other calls in the SAC subprocess) can be 
corrected in the next release.

Before I detail my tests with traveltime, I tell you about a program that 
does work very well for adding phase-arrival times to SAC waveforms: the 
taup toolkit taup_setsac command.  The toolkit can be downloaded for most 
operating systems from <http://www.seis.sc.edu/taup/>.

For my waveform 
file test.z (which has event distance and depth information added to the 
header and actually has observable phase arrivals for these phases):

taup_setsac -evdpkm -ph P-1,PcP-2,pP-3,PP-5,sP-6 test.z

produced the correct arrival times in test.z.  This uses the iasp91 model, 
but could use any of a number of other models as well.

At several institutuions, phase-arrival times are added using the 
iaspei-tau Fortran program ttimes or interpolation of JB tables.  Program 
taup_setsac is much more flexible -- and powerful.

Now for my tests with traveltime.

For Syntax 1, on either a PPC Mac or Sun Solaris, using the 
commands

SAC> r test.z
SAC> sss
  Signal Stacking Subprocess.
SAC/SSS> traveltime model iasp91 phase P pP PP sP PcP picks 1
SAC/SSS> quitsub
SAC> lh

gives the wrong answers for the TNMARKER set.  This result is the same with the 
currant version or (on the Sun) for SEISMIC ANALYSIS CODE [07/21/2003 (Version 
00.59.46)].

When the same sequence is run on an i686 Mac or Linux, the traveltime command 
leads to a segmentation fault.

Part of the reason for failure for SYNTAX 1 is that it reads two binary files 
that are in sac/aux/tables.  These files, iasp91.hed and iasp91.tbl, are 
written using the big-endian byte order.When these are replaced on the 
little-endian machines with the appropriate files, SAC bombs with a "bad sizes" 
message.

For SYNTAX 3, I downloaded the taup package and ran

taup_curve -h 611.0 -ph P,PP,pP,sP,PcP

SAC> r test2.z
SAC> sss
  Signal Stacking Subprocess.
SAC/SSS> traveltime picks 1 taup taup_curve.gmt
SAC/SSS> quitsub
SAC> lh

All the arrival times added to the header were at the same time -- incorrect 
for any of the arrivals.



More information about the sac-help mailing list