Software to Download
- 3D focal mechanisms
- 3D velocity modeling
- ANSS Developer’s Corner
- Coulomb 3
- Direct Green’s Function Synthetic Seismograms
- FPFIT, FPPLOT and FPPAGE
- Graizer-Kalkan (2015) Ground-Motion Prediction Equation
- HYPOINVERSE Earthquake Location
- Probabilistic Seismic Hazard Calculation Software
- Slick Package
USGS uses GitHub for all new software development, as well as open sourcing older software as time allows.
See how our applications work and collaborate with us at USGS GitHub.
3D focal mechanisms
Authors: Keith A. Labay and Peter J. Haeussler Usage: View earthquake focal mechanism symbols three dimensionally Platform: Windows Interface: ArcScene® 9.x Input: A GIS point dataset of earthquake locations containing strike, dip, and rake values for a nodal plane of each earthquake Examples: Available at website Manual: Available at website Download: See online documentation
3D Focal Mechanisms is a tool for viewing earthquake focal mechanism symbols three dimensionally. This tool operates within the Environmental Systems Research Institute (ESRI®) GIS software ArcScene® 9.x. The program requires as input a GIS point dataset of earthquake locations containing strike, dip, and rake values for a nodal plane of each earthquake. Other information, such as depth and magnitude of the earthquake, may also be included in the dataset. By default for each focal point, 3DFM will create a black and white sphere or “beach ball” that is oriented based on the strike, dip, and rake values. If depth values for each earthquake are included, the focal symbol will also be placed at its appropriate location beneath the Earth’s surface.
3D velocity modeling
Authors: Cliff Thurber Platform: Unix, Mac Download: SIMUL2000
Fortran code (VMS compatible) for 3-D velocity model determination and hypocentral location with local earthquake data. Full inversion, not tomography, this is the program written by Cliff Thurber and modified by others.
ANSS Developer’s Corner
Authors: various Usage: access to ComCat (Comprehensive Earthquake Catalog) Data Platform: various Docs: USGS GitHub ANSS Developer’s Corner Download: USGS GitHub ANSS Developer’s Corner
A github repository for different software tools to access the ComCat (Comprehensive Earthquake Catalog) data. Contributions are welcome and encouraged.
Author: John Langbein Usage: Analyze strainmeter data in order to estimate tidal coefficients and pressure admittance Platform: Unix and/or Mac OS X (Requires Fortran compiler for Mac OS X) Interface: Command line Input: Time series of strainmeter data Output: Cleaned-up strainmeter data Docs: Online documentation: installation, manual, examples Download: cleanstrain+
Cleanstrain+ is a program to process strainmeter data. This code will simultaneously estimate the tidal constituents, pressure admittance, offsets, rate changes, and other terms using least-squares but, importantly, incorporating the temporally correlated nature of strain data (that is, the power spectra is red).
Author: Paul Reasenberg Usage: Identify clusters (e.g., aftershocks) in an earthquake catalog Platform: Unix, or any platform with Fortran Interface: Parameters read from standard input Input: Catalog text file Output: Several text files Docs: Comments in source code Download: Fortran source code (35k), Makefile (233b)
CLUSTER2000 recognizes clusters in space-time in an earthquake catalog. It is intended for use in removing aftershocks or "declustering" the catalog. The methods used are described in "Second-Order Moment of Central California Seismicity, 1969-1982" (P. Reasenberg, JGR v.90., pp.5479-5495, 1985). The current version (CLUSTER2000x) reads catalogs in a variety of standard formats. However, it is not fully Y2000 compatible. While it reads the Y2K formats for HYPOINVERSE and HYPO71, CLUSTER2000x requires all data to belong to one century.
Authors: Shinji Toda, Ross Stein, Jian Lin, Volkan Sevilgen Usage: Stress-triggering software Platform: Matlab on Windows, Mac or Unix Interface: Menu driven Output: Grahics and text Manual: Online documentaiton Download: See online documentation
Coulomb 3 is designed to investigate Coulomb stress changes on mapped faults and earthquake nodal planes, and is intended both for publication-directed research and for university teaching and instruction.
One can calculate static displacements (on any surface or at GPS stations), strains, and stresses caused by fault slip, magmatic intrusion or dike expansion. Problems such as how an earthquake promotes or inhibits failure on nearby faults, or how fault slip or dike expansion will compress a nearby magma chamber, are germane to Coulomb. Geologic deformation associated with strike-slip faults, normal faults, or fault-bend folds is also a useful application. Calculations are made in an elastic halfspace with uniform isotropic elastic properties following Okada .
We believe that one learns best when one can see the most and can explore alternatives quickly. So the principal feature of Coulomb is ease of input, rapid interactive modification, and intuitive visualization of the results. The program has menus, sub-menus, check-items, and dialogue boxes to ease operation. The internal graphics are suitable for publication, and can be easily imported into illustration or animation programs for further enhancements.
Direct Green’s Function Synthetic Seismograms
Author: Fred Pollitz Usage: Calculate synthetic seismograms on a radially stratified model Platform: Unix, Fortran source codes Input: Elastic parameters, density, Qp and Qs structure, finite fault parameters Output: Synthetic seismograms at Earth’s surface or specified depth Examples: Contained in downloadable file Download: DGRFN.tar (1.6 MB)
These programs are an implementation of the Direct Green’s Function method described by Friederich and Dalkolmo (1995) and Dalkolmo (1993). They solve the seismic wave equation in a spherically layered isotropic medium using a decomposition into spheroidal and toroidal motions. For each spherical harmonic degree l and azimuthal order number m, the (l,m) response function is deternined subject to jumps in the displacement-stress vector at the source radius, a zero-traction boundary condition at Earth’s surface, and a homogeneous isotropic elastic solid at the base of the specified Earth model. The computation of synthetics is stable at both high and low frequencies, as well as at high and low spherical harmonic degrees.
EIDS - Earthquake Information Distribution System
Contacts: Jeremy Fee and Dave Oppenheimer Usage: Distribution of earthquake data over the Internet Platform: Any O/S that supports Java Interface: Runs in background Output: Files containing information about earthquakes Download: See online documentation
NOTE: EIDS has been replaced by PDL. EIDS is only needed as a component of PDL for advanced users who are running a PDL hub.
The Earthquake Information Distribution System (EIDS) provides a method for receiving earthquake data over the Internet in near-real time. EIDS replaces the Quake Data Distribution System (QDDS) and provides either CUBE or EQXML formatted output messages.
Author: John Langbein Usage: Analyze time-series data to quantify temporal correlations and simultaneously estimate rates, offsets, and other functional dependencies. Platform: Unix or Mac. Requires a Fortran compiler Interface: Command line Input: Time series data Output: Measures of power-law noise, white noise, and more. Estimates of rates, offsets, and more, along with their standard errors. Docs: Included in the tar-file Download est_noise.tar.gz
est_noise is a time-series analysis program that allows the user to fit various, standard functions to their data (rates, offsets, rate-changes, sinusoidals, exponentials, and/or user-defined functions) and simultaneously quantifies the amount of temporal correlation in the time-series data. Importantly, the presence of temporal correlations in data can significantly impact the estimates of standard errors of the parameters that define the functions describing the time-variations in the data. est_noise is bundled with other programs that can help the user to clean up their data prior to analysis, and assess the quality of the estimates of noise from est_noise. est_noise has been used to analyze GPS and borehole strainmeter data, and it can be applied to other data types.
FPFIT, FPPLOT and FPPAGE
Authors: Paul Reasenberg and David Oppenheimer Usage: Calculate and plotfault-plane solutions from first-motion data Platform: Unix Interface: Command line Output: Grahics and text Examples: Included in dowload file Manual: Online documentation and USGS Open-File report Tutorial: Included in dowload file Download: fpfit_source.tar (1.3 MB)
FPFIT is a Fortran program that computes double-couple fault plane solutions from P-wave first motion data using a grid search method. The companion programs FPPLOT and FPPAGE plot the results on stereo nets for interactive viewing or for printing. There are additional programs in the package to create summary tables and to plot P&T axes for suites of mechanisms on stereo nets.
Graizer-Kalkan (2015) Ground-Motion Prediction Equation
Authors: Vladimir Graizer, Erol Kalkan Usage: Ground motion predictions for engineering applications Platform: MatLAB on Windows, Mac or Linux Interface: Command line Output: Graphics and text Manual: Comments in source code; Open-File Report and BSSA article Download: GK15_GMPE.zip (5 Kb)
Graizer-Kalkan (2015) ground motion prediction equation (GMPE) is designed to predict peak-ground acceleration and 5% damped pseudo-spectral acceleration response ordinates for shallow-crustal continental earthquakes to be used in earthquake-engineering applications including probabilistic and deterministic seismic hazard analyses. The GK15 can be used for earthquakes with moment magnitudes 5.0–8.0, distances 0–250 km, average shear-wave velocities 200–1,300 m/s, and spectral periods 0.01–5 s. The GK15 GMPE is coded as a MatLAB function (titled “GK15.m”) in the zip file. An example MatLAB code (“runGK15.m”) to generate a 5% damped pseudo-spectral acceleration response spectrum for a given hazard condition is also provided. The user can change the input parameters to construct a site-specific response spectrum considering different hazard conditions
Authors: Jeanne Hardebeck and Peter Shearer Usage: Calculates earthquake focal mechanisms Platform: Unix Interface: Command line / text input files Output: Text files Examples: Included in download file Manual: PDF included in download file Download: hash.v1.2.tar.gz (1 MB)
HASH is a Fortran 77 code that computes double-couple earthquake focal mechanisms from P-wave first motion polarity observations, and optionally S/P amplitude ratios. HASH is designed to produce stable high-quality focal mechanisms, and tests the solution sensitivity to possible errors in the first-motion input and the computed take-off angles. The technique is described by Hardebeck and Shearer (BSSA 92, pp. 2264-2276, 2002.) Examples are provided for data in FPFIT input format. The code is designed to be as input-format independent as possible, so only minor editing is needed to use data in other formats.
Author: Felix Waldhauser Maintenance: Felix Waldhauser, Bruce Julian, Bill Ellsworth, Keith Richards-Dinger Usage: Implements the double-difference earthquake location algorithm Platform: Unix Interface: Command line / text input files Output: Text files Examples: Examples available on hipoDD webpage. Manual: PDF and PostScript files in tar file Download: hypoDD
HypoDD is a Fortran computer program package for relocating earthquakes with the double-difference (DD) algorithm of Waldhauser and Ellsworth (2000). The DD technique takes advantage of the fact that if the hypocentral separation between two earthquakes is small compared to the event-station distance and the scale length of velocity heterogeneity, then the ray paths between the source region and a common station are similar along almost the entire ray path (Frechet, 1985; Got et al., 1994).
HYPOINVERSE Earthquake Location
Author: Fred Klein Usage: Locate earthquakes and determine magnitudes in a local or regional seismic network Platform: Unix or Vax, Fortran source code Interface: Command line, files or keyboard Input: ASCII text Output: ASCII text Examples: Sample runs in distribution directory Manual: Extensive open-file document, in Microsoft Word and postscript formats Tutorial: Simple examples included in manual Download: version 1.4 (9.0 MB)
HYPOINVERSE2000 determines earthquake locations and magnitudes from seismic network data like first-arrival P and S arrival times, amplitudes and coda durations. The present versions HYPOINVERSE2000 (version 1.2 or 1.3) are in routine use by many networks. Hypoinverse version 1.3 is the standard location program supplied with the Earthworm seismic acquisition and processing system (AQMS) and has thus gotten wide use. Crustal models can be multiple to cover different regions, and either flat layer or flat layer with linear velocity gradients. Version 1.3 also supports negative magnitudes, independent S models, and crustal models from the HYPOELLIPSE program, including layer models, gradient over halfspace models, depths relative to sea level, negative depths above sea level, and use of station elevations. It is Y2000 compatible.
Author: Jim Luetgert Usage: 1-D travel time calculation Platform: Mac OS X Interface: Menu driven Output: PICT file Download: MacR1D V1.17
MacR1D is a one-dimensional seismic travel-time calculator for Macintosh. Travel-times vs distance are calculated for P and S arrivals (sorry, no converted phases or multiples) for sources at any depth. These may be compared to observed travel-times. This is a very quick way to define 1-d velocity models from observed arrival pics.
Author: Jim Luetgert Usage: General purpose 2-D seismic seismic ray tracer Platform: Mac OS X or PC Interface: Menu driven Output: PICT file Examples: Included in download file Manual: MS Word document included in download file Download: Mac OS X - MacRay V2.29 (3.7 MB); PC - RAY84PC (1.2 MB)
MacRay is a general purpose two-dimensional seismic ray-tracer for Macintosh. Originally written to trace rays through 2-dimensional p-wave models, MacRay has grown to support 2-d models defined in Vp, Vs and density. In addition to being able to model the full range of simple to complex raypaths, the 2-d gravity response of the model may also be calculated. For surveys providing seismic P, S and converted wave arrivals in addition to gravity measurements, the full suite of physical properties may be modeled; Vp, Vs, density, Poisson's ratio, Vp/Vs, Shear modulus, Bulk modulus, Young's modulus, Lame's parameter, lithostatic pressure.
With the addition of an assumed or measured geothermal gradient, we can model the pressure and temperature conditions at any point in our earth model. A recent addition to MacRay allows you to define the features of a pressure-temperature diagram (e.g. metamorphic grade, solidus) and map those P-T regions back into the earth model.
The PC version is a port of Ray84 written for Vax. It was ported by Hans Thybo of Copenhagen University, Denmark.
Authors: Ned Field (USGS/SCEC), Nitin Gupta (USC/SCEC), Vipin Gupta (USC/SCEC), Peter Powers, Kevin Miner, and others. Usage: Open-source seismic hazard analysis Platform: Any O/S that supports Java Manual: See online documentation Download: See online documentation
OpenSHA is an effort to develop object-oriented, web- & GUI-enabled, open-source, and freely available code for conducting Seismic Hazard Analyses (SHA). Our goal is to provide a framework where any arbitrarily complex (e.g., physics based) earthquake-rupture forecast, ground-motion, or engineering-response model can “plug in” for analysis without having to change what’s being plugged into.
Author: Erol Kalkan Usage: Automatic P-phase arrival time picker Platform: Windows, Mac or Linux Interface: MatLAB command line Output: Graphics and text Manual: Comments in source code; and BSSA article in zip file Download: PphasePicker.zip (8.6 Mb)
PPHASEPICKER is a powerful tool for automatically picking P-phase onsets with high precision without requiring detection interval or threshold settings. The algorithm detects P-phase onset in single-component acceleration or broadband velocity records using the histogram method. PPHASEPICKER has been integrated into the “Automated Processing and Review Interface for Strong Motion Data (PRISM)” software of the U.S. Geological Survey in order to identify the pre-event time-window for systematic and automated processing of large numbers of accelerograms. PPHASEPICKER is written in Java and MatLAB. An example MatLAB code is provided in zip file to show how to run PPHASEPICKER using a sample waveform. Its MatLAB version requires MatLAB’s signal processing toolbox.
PDL - Product Distribution Layer
Author: Jeremy Fee Usage: Distribution of earthquake data over the Internet Platform: Any O/S that supports Java Interface: Runs in background Output: Examples: Configuration examples Download: See online documentation
The Product Distribution Layer (PDL) is a USGS platform for receiving earthquake data over the Internet in near-real time. PDL provides standard solutions for distribution, cataloging, and triggered processing, of earthquake information. It is cross platform, and integrates with external systems using Command Line or Java APIs.
PDL replaces the Earthquake Information Distribution System (EIDS) and Quake Data Merge (QDM) applications.
Authors: Dan McNamara, Richard Boaz Usage: Evaluate seismic station performance Platform: Unix Interface: GUI Input: standard seismic data formats Output: MySQL database, images, plots Examples: See sample data and response file Download: See online documentation
PQLX is open-source software system for evaluating seismic station performance and data quality. The software consists of a server and client but also includes data extraction and manipulation tools. Given waveform data and instrument response files, PQLX server calculates trace statistics, Power Spectral Densities (PSD), and Probability Density Functions (PDF) and writes the results to a MySQL database for quick access.
Probabilistic Seismic Hazard Calculation Software
Authors: Mark Peterson and others Usage: Programs used to construct the National Seismic Hazard Maps Platform: Unix, Fortran source codes, some C subroutines Interface: command line Download: See online documentation
Computer codes used to construct the U.S. National Seismic Hazard Maps.
Authors: Jeanne Hardebeck and Andy Michael Usage: Spatially and/or temporally varying stress field from focal mechanisms Platform: Unix (or any platform with C) Interface: Command line / text input files Output: Text files Examples: Included in download file Download: SATSI_140818.tar.gz (63k)
SATSI (Spatial And Temporal Stress Inversion) is a modified version of Michael's (JGR 1984, 1987) code that inverts focal mechanism data for a spatially and/or temporally varying stress field. The inversion finds the least complex stress field model that is consistent with the data. It uses an adaptive smoothing method that discriminates between variations that are or aren't strongly required by the data and retains only variations that are well-resolved. The technique is described and validated in Hardebeck and Michael (JGR 111, B11310, doi:10.1029/2005JB004144, 2006.) The tar file contains C codes implementing the inversion method for 2D and 4D stress fields (1D and 3D fields can be treated as simplified cases), and example input data and Perl scripts.
ShakeCast – ShakeMap RSS Reader
Authors: Kuo-Wan Lin and David Wald Usage: Automated ShakeMap delivery to users, facilitating use of ShakeMap products and post-download post-commands (script startup) Platform: MS Windows operating system (XP, 7/8 Server); Linux. ShakeCast AMI (CentOS-6) using Amazon Web Services (AWS) & VM (Linux, Win Server) Interface PERL, MySQL, Apache, HTML5; responsive web Interface: Scripts / text configuration files Output: Email & txt messaging, PDF facility report, Web-based GUI using Google Maps. Examples: Available at website Manual: Included in download file Download: See online documentation
Delivers maps of areas affected by an earthquake. Areas of interest can be defined, and shaking thresholds can be set to trigger automatic notifications. Easy to integrate with in-house systems.
Author: Andy Michael Usage: Stress inversion from slip data Platform: Unix, PC (or any platform with C) Interface: Command line, can be run as batch mode Bound Program: Onnet, Stereonet plotting package Output: Text, graphics via onnet stereonet plotting program Examples: Included in download file Manual: ASCII Text and Postscript files in included in download file Tutorial: Included in download file Download: Unix - stress.tar.Z (41k); PC - stresspc.zip (160k)
The slick package uses fault slip data (either field observations or from focal mechamism) to find the stress tensor that best explains the observations. Inputs are the orientation and slip direction of a set of fault planes. Outputs are the oreintation and shape of the stress ellipsoid, including confidence regions, and statistics used to judge the success of the inversion. This method uses the linear inversion agorithm and non-parametric bootstrap statistics.
Unix: The code to invert fault slip data for the stress tensor. format is compressed tar. To extract on a Unix system use the command % zcat stress.tar.Z | tar xf - It will expand into a number of files in your current directory. You also need to get the onnet plotting package.
PC: Same as stress.tar.Z but containing Leigh House of Los Alamos' conversion of the software to PC compatibility. The zip was done with Zip 1.0 (29 September 1991).
SLAMMER - Seismic Landslide Movement Modeled using Earthquake Records
Authors: Randall W. Jibson, Ellen M. Rathje, Matthew W. Jibson and Yong W. Lee Usage: Estimate co-seismic landslide displacement using rigid and flexible sliding-block analyses Platform: Any O/S that supports Java (version 7 or later) Interface: Java GUI Manual: Available from within the program after download Download: http://pubs.usgs.gov/tm/12b1/
SLAMMER is a Java program that facilitates performing a variety of sliding-block analyses to evaluate seismic slope performance. Functionalities include both rigorous and simplified analyses of rigid sliding blocks (i.e. Newmark analysis) and flexible sliding blocks (i.e. decoupled and fully coupled approaches). Both rigorous and empirical simplified methods are included in the program. More than 2,100 recorded ground motions from the PEER Ground Motion Database are included with the program, and users can import their own ground-motion records for analysis.
Author: Fred Pollitz Usage: Calculate static displacements and gravity change from earthquake faulting on a radially stratified model Platform: Unix, Fortran source codes Input: Elastic parameters, density, finite fault parameters Output: Displacements and gravity anomaly at Earth’s surface or specified depth Examples: Contained in downloadable file Download: STATIC1D.tar.gz
These programs solve the equations of static equilibrium in a spherically layered isotropic medium using a decomposition into spheroidal and toroidal motions. For each spherical harmonic degree l and azimuthal order number m, the (l,m) response function is deternined subject to jumps in the displacement-stress vector at the source radius, a zero-traction boundary condition at Earth’s surface, and a homogeneous isotropic elastic solid at the base of the specified Earth model. The programs are flexible, being suitable for calculations of the static displacement field at distances ranging from local to global.
strainz17: Earthquake strains and rotations
Author: Paul Spudich Usage: Calculate strains and rotations of an array Platform: Any platform running MATLAB Interface: MATLAB command line Input: Seismograms from several stations, via function’s calling arguments Output: .txt, .mat, and .pdf files Examples: Contained in downloadable file Download: See online documentation
Strainz17.m is a MATLAB-language function for deriving the best-fitting uniform strain tensor and rigid body rotation as functions of time, based on ground displacement or velocity recordings made on an array of sensors. Strainz17.m implements the theory in Spudich et al. (J. Geophys. Res., 1995) and Spudich and Fletcher (Bull. Seismol. Soc. Am., 2008). In addition to the strainz1717.m function, the downloadable file provides sample input and output data, and it provides functions for running the sample test cases.
Author: Fred Pollitz Usage: Calculate displacements/velocities and strain/strain rates Platform: Unix, Fortran source codes Interface: Command line Input: Viscoelastic model parameters, finite-fault source parameters Output: Viscoelastic-relaxation deformation fields at earth’s surface or at depth Manual: 1.3 MB .pdf file Download: 2.1 MB .zip file
VISCO1D-v3 is a program package to calculate quasi-static deformation on a layered spherical Earth from a specified input source (fault plane parameters) at specified points on the surface or at depth.
It uses a spherical harmonic expansion of the global deformation field and evaluates a sum of viscoelastic normal modes in a semi-analytic computation.
Version 3 of VISCO1D-v3 is now available (updated on Jan. 29, 2007).