Skip to main content
U.S. flag

An official website of the United States government


This is a subset of our downloadable software for earthquake research. USGS uses GitHub for all new software development, as well as open sourcing older software as time allows. For a comprehensive listing of all available software, see how our applications work, and to collaborate with us, please go to USGS GitHub.

Filter Total Items: 62


This set of utilities is used to extract geophysical information from the NCM (Boyd, 2020) including, for example, S-wave, P-wave, and density profiles, as well as attributes for ground motions models including VS30, Z1.0, and Z2.5. Running the code in either MATLAB or Python requires all of the NCM databases (


NEIC Machine Learning Applications contains various seismic machine learning algorithms developed and used by by the United States Geological Survey, National Earthquake Information Center. These algorithms apply machine learning techniques to seismic processing problems such as seismic phase classification, source-receiver distance classification, and seismic wave arrival time repicking.


This set of utilities is used to extract temperature profiles and maps from the NCM thermal model (Boyd, 2019). Running the code requires the NCM thermal model, (, and the NCM spatial grid, ( These codes and datasets are part of an effort to produce a three dimensional national crustal mod


This set of utilities is used to extract geologic profiles from the NCM geologic framework (Boyd, 2019). Running the code in either MATLAB or Python requires the NCM geologic framework and related databases,,, and ( These data and codes are part of an effort to produce a three dimensio

libcomcat Software Release

libcomcat is a project designed to provide a Python equivalent to the ANSS ComCat search API. This includes a Python library that provides various classes and functions wrapping around the ComCat API, and a number of command line programs that use those functions.

Electromagnetic Transfer Function File Conversion Utilities (EMTF FCU)

Magnetotelluric impedances and other similar transfer functions are important for geophysical interpretation and for space weather hazards. I helped develop and continue to curate a database known as IRIS EMTF, which uses something called EMTF XML format for storing the data. EMTF FCU v4.1 software consists of a set of freely available format conversion tools that can

Quality control tools for seismic catalogs (qc_report and qc_multi)

Generate plots and statistics for single earthquake catalogs and for catalog to catalog comparisons.


This program is used to calculate anharmonic p- and s-wave velocity and density for zero-porosity mineral aggregates. It is based on the work of Hacker and Abers (2004, updated in 2016) with additional minerals and optimized for related work. Running the code in either MATLAB or Python requires a mineral physics database, ( Combined with

Prism Engine software source code v2.0.0

A continually increasing number of high-quality digital strong-motion records from stations of the National Strong Motion Project (NSMP) of the U.S. Geological Survey (USGS), as well as data from regional seismic networks within the U.S., called for automated processing of strong-motion records with human review limited to selected significant or flagged records. This PRISM (Processing and Review

USGS automated ground motion processing software

The goal of this project is to update, restructure, and consolidate existing USGS ground-motion processing software to incorporate recent advances from researchers at the USGS, PEER, and others. It will standardize tools for multiple USGS ground-motion products and enable scientists within the USGS and the external community to develop and expand ground-motion datasets used in many different appli


These programs solve the equations of static equilibrium in a spherically layered isotropic medium using a decomposition into spheroidal and toroidal motions.

strainz17: Earthquake Strains and Rotations

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.