Data Services Newsletter : Volume 7 : No 1 : March 2005

SAC Availability for the IRIS Community

Background

SAC (also known as SAC2000) is a signal processing and analysis code that has been developed by Lawrence Livermore National Laboratory (LLNL) over the past 20+ years for a variety of seismic and geophysical research projects. SAC has evolved into a general purpose interactive program designed for the study of sequential signals, especially time-series data. Emphasis has been placed on analysis tools used by research seismologists in the detailed study of seismic events. Analysis capabilities include general arithmetic operations, Fourier transforms, three spectral estimation techniques, IIR and FIR filtering, signal stacking, decimation, interpolation, correlation, and seismic phase picking. SAC also contains an extensive graphics capability.

SAC is used extensively by the seismic community because: 1) it has a broad range of well-tested, efficient data analysis capabilities (examples include: data inspection, phase picking, signal correction, quality control, unary and binary data operations, travel-time analysis, spectral analysis including high-resolution spectral estimation, spectrograms and binary sonograms, and array and three-component analysis), 2) it is easy to use and reliable, 3) it has a macro programming language that allows users to develop innovative new analysis techniques, 4) it has interfaces to the Unix operating system, Matlab, and the Generic Mapping Tools (GMT) software (Wessel and Smith, 1991, 1998) that make it very flexible, allowing researchers to solve many research problems innovatively with minimal programming effort, and 5) the suite of analysis capabilities are integrated so that innovative processing schemes are easily implemented. SAC is also widely used because of its user oriented development philosophy, which has led to consistent, easy to use capabilities that are backward compatible. A sample of some of SAC’s capabilities is displayed in Figure 1.

Screenshot of SAC generated visualizations
Figure 1: Selected signal processing and analysis capabilities in SAC.
Maps of station and event locations created using an interface to GMT.
A single station, multi-event record section with travel time curves is
shown at the upper right. The P-wave FK spectrum and spectrogram of
a selected event is shown at the lower middle and right.


IRIS and LLNL have recently signed a contract to

  1. provide IRIS with a license for SAC that would allow the sharing of the SAC/SAC2000 source code with the IRIS community, and
  2. provide limited support to facilitate a community development effort.

Obtaining SAC

The first of the above objectives has been met: the source code can now be downloaded for members of IRIS from the Web site. SAC, and its auxiliary graphics conversion program sgftops, have been built successfully on three operating systems:

  • Sun Solaris (2.9)
  • Mac OS X (10.3)
  • Linux (Redhat 8.0 and Debian)

Pre-built binary executables for those operating systems can be downloaded from the same site. Links are also given to a SAC tutorial and user’s manual. (Much of the contents of the user’s manual can be accessed from within SAC using the help utility.)

SAC Advisory Committee

As part of their support for this initiative, IRIS has formed a SAC advisory committee that will work with Peter Goldstein (from LLNL), the project manager. This committee will help set priorities for a development effort in the seismic community to facilitate enhancements to SAC. Members of this committee are Chuck Ammon (Penn State), Doug Dodge (LLNL), George Helfrich (University of Bristol, UK), Dan McNamara (USGS), Arthur Snoke (Chair: Virginia Tech), Chad Trabant (IRIS), and Francis Wu (SUNY/Binghamton). The primary responsibilities of the advisory committee are to facilitate community contributions that enhance SAC, and to ensure that any significant changes to the distributed version of SAC are in the best interest of the seismic community.

Listserv: sac-help

An unmoderated listserv, sac-help (modeled after the GMT listserv, gmt-help), has been set up to facilitate communication within the SAC user community. Many researchers who have been using SAC for up to several years have developed scripts and auxiliary programs for solving specific problems. This listserv provides a forum for sharing such solutions with others — or finding out if anyone else has already come up with a solution for some problem or perceived enhancement to SAC. The IRIS URL cited above has instructions about how to subscribe to sac-help.

Future Plans

Future plans for SAC include continued maintenance and limited upgrades while simultaneous collaborations with the seismic community are undertaken to re-engineer SAC for use in a modern distributed computing environment. We plan to make use of the IRIS Data Management System’s Data Handling Interface (DHI) to develop CORBA interfaces directly to data from within SAC.

We are also considering making SAC compute capabilities available within a Web Services framework. The development of Web Services may allow SAC to be used as a “seismological compute engine” from within any program. The goal of such a re-engineering is to provide more flexible and efficient tools for the analysis of large databases or distributed data sets.

Examples of potential upgrades include incorporation of the high resolution spectral estimation subprocess commands with the main body of the code, enhancements to our interface to the GMT mapping tools, and new array analysis capabilities. When feasible, we will also continue work to make SAC more compatible with other data formats (currently supported formats include, CSS3.0, GSE2.0, PC suds, SEGY, and ASCII text) and tools such as MATLAB.

References

Wessel, P., & W. H. F. Smith (1991). Free Software helps Map and Display Data. EOS, Trans. Am. Geophys. Un. 72, 441 and 445–446.

Wessel, P., & W. H. F. Smith (1998). New, improved version of the Generic Mapping Tools Released. EOS, Trans. Am. Geophys. Un. 79, 579. http://gmt.soest.hawaii.edu/

More information

by Peter Goldstein and Arthur Snoke (Lawrence-Livermore National Lab)