Computer Programs in Seismology

Last updated April 18, 2024


With the installation of a PDP 11/70 minicomputer in 1981 for use in seismic network analysis, a persistent effort was made to use that tool for research. Because of the uniqueness of a dedicated minicimputer for research at that time as well as a desire to do something for the world wide seismological community, a set of documented computer programs emerged. The programs developed actually reflect research interests of the department as well as a desire to look at data in the manner of other investigators. In doing so, the hope is that these tools will permit research to progress rapidly.

This programming effort led to the development of COMPUTER PROGRAMS IN SEISMOLOGY which continues to be distributed. The package contains its own graphics package, and is relatively easy to install.

Computer Programs in Seismology

These programs focus on the understanding and interpretation of seismic wave propagation in the crust and upper mantle of the Earth. Synthetic seismograph code is provided for sources and receivers at arbitrary positions in the plane layered media. Programs are provided for determination of crustal structure through the inversion of surface-wave dispersion and teleseismic P-wave receiver functions. Inversion of broadband recordings of regional earthquakes for source depth, focal mechanism and seismic moment is also provided. Finally, a new tool, gsac, is provided to permit interactive and script based manipulation of seismic traces. The entire package is well integrated in that the same Earth velocity model, waveform and graphics formats are used by all programs. A complete interactive graphics package is also provided.

Since this package of programs continues to develop and be refined  to keep current with increasing volumes of digital might wish to  return to this page every few months.


The reference to this set of codes is as follows:

Herrmann, R. B. (2013) Computer programs in seismology: An evolving tool for instruction and research, Seism. Res. Lettr. 84, 1081-1088, doi:10.1785/0220110096


The present code requires the use of the gcc/gfortran compilers that are available for all platforms. Interactive graphics requires X11 graphics.

The current distribution was tested on both an Apple M2 under Sonoma 14.3.1 using the gcc/gfortran Version 13.2.0 and LINUX Mint 21.3/Ubuntu 23.10/Fedora39-1.5. Testing using recent compilers ensures that the CPS codes do not become outdated. Last updated February 20, 2024

PC Versions: Support for PC's running Windows is aaccomplished by installing a LINUX version under VirtualBox (see below)

UNIX/LINUX/OSX Versions: Source codes and install scripts are available. C and FORTRAN compilers are required - gcc and gfortran are available for free. Programs are distributed as gzip'd tar files (.tgz). Documentation in PostScript is provided.

LINUX distribution under VirtualBox

This document shows how to install VirtualBox on your Windows, Mac or Linux system, and then install a version of LINUX with required compilers, and finally Computer Programs in Seismology. CPS_VirtualBoxInstall.pdf. The advantage of this approach is that the computer disk does not have to be partitioned in the presence of a Windows operating system, and that all compilers are easily obtained.


to the package, please Email

You can find more information about the Center, seismology, and many other earthquake-related topics by visiting the Center's homepage, or by contacting Dr. Robert Herrmann.

Last changed 18 April 2024