This page provides brief descriptions of and links to some of our scientific codes and computing tools that we develop. 

Important note: We do not produce commercial software or computer programs that can be used as a "blackbox". 

However, we do write and distribute scientific codes that we gladly share upon request. Any of our shared codes comes without warranty, so use and publish at your own risk. Of course, we are glad to assist as much as we can with respect to the installation and use of our codes. 

For more information please contact Martin Mai (

Broadband ground-motion computations

This set of F90-routines implements the Mai et al (2010) approach for hybrid broadband ground-motion simulations. The codes compute the high-frequency (HF) seismic scattered wavefield for a specified earthquake source (generally a point-source at this time), and combines the HF-waves with user-precalculated low-frequency (LF) wavefield. We currently do not distribute a computer program for calculating the low-frequency seismograms. This code is being used in the Broadband Ground-Motion Simulation Platform of the Southern California Earthquake Center (SCEC).

Software Link

Rupture model generator

This suite of routines allows to generate earthquake rupture models for ground-motion simulation or for computing the static displacements due to slip on a fault. The codes implements source scaling relations (Wells & Coppersmith, 1994; Mai & Beroza, 2000), earthquake slip complexity (Mai & Beroza, 2002), and the location of rupture nucleation (Mai et al, 2005). Code packages are available in MATLAB, C++, and python.

Software Link

Static stress from fault slip

Useful MATLAB script to compute the static stress change on a fault given the coseismic displacement (= slip) on the fault plane. This tool implements the equations of Ripperger & Mai (2004), and operates in the 2D wave-number domain. MATLAB is required to run this code.

Software Link