ObsPy:
Data download, processing and visulization software written in Python
CPS330 |
A tutorial (in Chinese):
Collection of programs for calculating theorectical seismogram, receiver function,
surface wave dispersion curve et al.
Geopsy: An open source software for geophysical
research and application written in C++
GISMO:
Data download, processing and visulization software written in Matlab
hinet_decon: Deconvolve Hi-net velocity
record by its seismometer response by using inverse filtering technique
SeisIO.jl:
Julia language support for geophysical time series data
EMC-ParaView: A set of Python
programmable filters/sources to allow ParaView open-source, multi-platform
data analysis and visualization application to display EMC netCDF/GeoCSV models
along with other auxiliary Earth data
SeisTomoPy:
Visulization of 3D tomography models and calculate traveltime in 3D model
SubMachine:
Web-based tools for the interactive visualisation, analysis, and quantitative
comparison of global-scale, volumetric (3-D) data sets of the subsurface
Tomoeye: A set of programs for
tomographic model visualization written in MatLab 6.1 script
scikit-fmm: Fast marching method
in Cartesian coordinates written in Python
iaspei-tau traveltime table package
Arthur Snoke’s version at IASPEI or
IRIS:
Traveltime calculator for iasp91 and AK135 models
B.L.N. Kennett and Ray Buland’s version |
A revised version:
Calculation of travel times and ellipticity corrections for iasp91 and AK135 models
George Helffrich’s version:
Traveltime calculator for iasp91, AK135, PREM etc.
Synthetic Seismograms
Ray Theory for 1D Layered Earth
aser:
Calculate synthetic seismograms based on Generalized Ray Theory
Asymptotic ray theory in CPS330 |
A tutorial (in Chinese):
Collection of programs for calculating theorectical seismogram, receiver function,
surface wave dispersion curve et al.
Generalized ray in CPS330 |
A tutorial (in Chinese):
Collection of programs for calculating theorectical seismogram, receiver function,
surface wave dispersion curve et al.
Ray theory:
Ray-theoretical approach to the calculation of synthetic seismograms in global Earth models
grtm: The generalized reflection and
transmission coefficient method
grtm (VTI media): Calculate synthetic seismograms
in stratified vertically transversely isotropic media using the generalized
reflection and transmission coefficient method
multitel3: A hybrid method of ray
theory and haskell matrix to calculate teleseismic body wave Green’s functions
in RTZ components
QSEIS:
Calculating synthetic seismograms based on a layered viscoelastic half-space earth model
ANIMATIVITY:
Reflectivity Algorithm for body Wave propagation through layered anisotropic media
written in MATLAB
Reflectivity method:
Calculating the response of a layered uniform solid layers to excitation by
a point moment tensor source using the reflectivity method
rf_respknt: Reflection matrix
approach to computing the seismic response of a cylindrically symmetric medium
RMATRIX:
Calculate the frequency-dependent transmission coefficients written in Fortran
Syn_seis: Compute synthetic seismograms
for an incidence P or SV wave to 1-D layered structure
telewavesim: Calculate teleseismic
body-wave synthetics using the matrix propagator method written in Python and Fortran
Modal Summation in CPS330 |
A tutorial (in Chinese):
Collection of programs for calculating theorectical seismogram, receiver function,
surface wave dispersion curve et al.
Reflectivity/Wavenumber Integration for 1D Layered Spherical Earth
yaseis: Calculate synthetic
seismograms in spherically layered isotropic models
Normal Modes Summation for 1D Layered Spherical Earth
Mineos: Computes synthetic seismograms
in a spherically symmetric non-rotating Earth by summing normal modes
Colleen Dalton’s Mineos:
All the tools one should need to compile and run the MINEOS program
Matlab to MINEOS:
Wrapper scripts for running MINEOS through MATLAB
MINEOS_synthetics:
Calculate dispersion tables and synthetic seismograms for layered models
using MINEOS and idagrn6 housed within MATLAB wrappers
DISPER80: Calculation of normal modes, which is a very old fortran code.
Direct Solution Method for 1D Layered Spherical Earth
DSM |
An updated version:
Computing synthetic seismograms in spherically symmetric transversely isotropic
(TI) media using the Direct Solution Method
DGRFN:
Calculate synthetic seismograms in a spherically layered model
GEMINI:
Calculation of synthetic seismograms for global, spherically symmetric media
based in direct evaluation of Green’s functions (The files seem wrong)
Boundary Element Methods
AstroSeis:
Asteroid seismic wavefield modeling written in MATLAB
Discontinuous Galerkin Method
NEXD:
high order simulation of seismic waves using the nodal discontinuous Galerkin method
SeisSol: numerical simulation of seismic
wave phenomena and earthquake dynamics
Ps2D: A very simple code
for elastic wave simulation in 2D using a Pseudo-Spectral Fourier method
Spectral Element Methods
SPECFEM1D: A small code that
allows users to learn how a spectral-element program is written
Specfem1d: An implementation of Spectrum Element Method for 1-D wave equation
SPECFEM2D: Simulates seismic wave
propagation in a 2D heterogeneous medium, using spectral element method
(spherical coordinate system)
SPECFEM3D: Simulates seismic wave
propagation in a 3D heterogeneous medium, using spectral element method
(Cartesian coordinate system)
SPECFEM3D_GLOBE:
Simulates seismic wave propagation in a 3D heterogeneous medium,
using spectral element method (spherical coordinate system)
AxiSEM: A parallel spectral-element
method to solve 3D wave propagation in a sphere with axisymmetric or
spherically symmetric visco-elastic, acoustic, anisotropic structures
Hybrid Methods in SPECFEM3D:
The coulping can be found in specfem3D/couple_with_injection.f90
FK-SEM: FK is not an external code, it is now called internally
DSM-SEM | AxiSEM-SEM: within EXTERNAL_PACKAGES_coupled_with_SPECFEM3D
SEM-DSM-coupling:
A hybrid method to efficiently compute teleseismic synthetics with 3D seismic
strucure at source side (SEM) and 1D strucure outside the source region (DSM)
PSV Hybrid Method |
GitHub:
Calculating synthetic seismograms involving two-dimensional localized
hetergeneous structures based on GRT-FD hybrid method
Surface waves in 3D structures
Couplage:
Modelling of propagation of surface waves in 3D structures by mode coupling method
CPS330 |
A tutorial (in Chinese):
Collection of programs for calculating theorectical seismogram, receiver function,
surface wave dispersion curve et al.
PCC:
Fast and efficient phase cross-correlation written in C
PCC2:
Fast and efficient phase cross-correlation written in Python
CC-FJpy |
A tutorial (in Chinese):
A Python Package for seismic ambient noise cross-correlation and the frequency-Bessel transform method
MATnoise:
Calculate ambient noise cross-correlations, measure phase velocities, and invert for phase velocity maps in MATLAB
NoisePy:
Fast and easy computation of ambient noise cross-correlation functions written in Python,
with noise monitoring and surface wave dispersion analysis
SeisNoise.jl:
Ambient Noise Cross-Correlation in Julia
Surface-wave Dispersion Measurement
CPS330 |
A tutorial (in Chinese):
Collection of programs for calculating theorectical seismogram, receiver function,
surface wave dispersion curve et al.
TS_PWS0_UG:
Group velocity determination using phase coherence and resampling strategies
ASWMS |
GitHub:
Automated Surface Wave Phase Velocity Measuring System written in MATLAB,
measuring the phase and amplitude of surface waves and then generate
surface-wave tomography maps using the Eikonal and Helmhotza tomography
CC-FJpy |
A tutorial (in Chinese):
A Python Package for seismic ambient noise cross-correlation and the frequency-Bessel transform method
disp_codes:
A collection of seismological codes imlpementing three array-based techniques
for measuring multi-mode surface wave phase velocity dispersion
DisperNet:
Extracting and classifying the dispersion curves in the Frequency-Bessel dispersion spectrum
GSpecDisp:
A Matlab package for phase-velocity dispersion measurement from ambient-noise correlations
mat-LRTdisp:
Measuring multi-mode surface wave dispersion using the Linear Radon Transform (LRT) written in MATLAB
MATnoise:
Calculate ambient noise cross-correlations, measure phase velocities, and invert for phase velocity maps in MATLAB
NoisePy:
Fast and easy computation of ambient noise cross-correlation functions written in Python,
with noise monitoring and surface wave dispersion analysis
PyMASWdisp:
Calculate dispersion data from M\ ulti-Channel A\ nalysis of S\ urface W\ aves data written in Python
XDCpick:
A simple tool for efficient picking of group velocity dispersion curves written in C
Surface-wave Tomography
ASWMS |
GitHub:
Automated Surface Wave Phase Velocity Measuring System written in MATLAB,
measuring the phase and amplitude of surface waves and then generate
surface-wave tomography maps using the Eikonal and Helmhotza tomography
FMST |
iEarth:
Traveltime tomography in 2-D spherical shell coordinates based on fast marching method
rj-TOMO: 2-D transdimensional travel
time tomography based on Reversible jump Markov chain Monte Carlo algorithm
CPS330 |
A tutorial (in Chinese):
Collection of programs for calculating theorectical seismogram, receiver function,
surface wave dispersion curve et al.
CPS330 |
A tutorial (in Chinese):
Collection of programs for calculating theorectical seismogram, receiver function,
surface wave dispersion curve et al.
disba: Numba-accelerated computation
of surface wave dispersion that implements a subset of codes from CPS330 written in Python
pyfwrd: A forward modelling code
for surface wave, receiver functions and shear wave splitting,
given tilted hexagonal symmetric media
PyLayeredModel: Python wrappers
for the CPS and Rftn libraries for layered models in seismology
pysurf96: Python wrapper for
modelling surface wave dispersion curves from surf96 in CPS330 written in Python
srfpython: compute, display,
invert 1D depth models based on CPS330 written in Python
Geopsy: An open source software for geophysical
research and application written in C++
Generalized Eigenproblem Spectral Collocation:
Solves surface-wave eigenproblem (air-solid interface seismic waves) in
laterally homogeneous media with piecewise smooth elastic structure
FWI.jl: Solving the 2D and 3D acoustic
full waveform inversion on a regular rectangular mesh written in Julia
GERMAINE:
2D frequency-domain acoustic/SH/TE-mode FD modelling and full waveform inversion code
LASIF: LArge-scale Seismic Inversion Framework
to perform adjoint full seismic waveform inversions
Salvus: A scalable software suite for waveform
modeling and inversion across the scales
SAVA: 3D seismic finite-difference modelling,
Full Waveform Inversion (FWI) and Reverse Time Migration (RTM) code for wave
propagation in isotropic (visco)-acoustic/elastic and anisotropic orthorhombic/triclinic elastic media
SeisElastic2D:
An open-source package for multiparameter FWI in isotropic-, anisotropic- and visco-elastic media
SES3D:
Simulation of elastic wave propagation and waveform inversion in a spherical section
TOY2DAC:
2D Acoustic frequency-domain Full Waveform modeling and inversion code
Multi-observable Modelling and Inversion of Geophysical Data
LitMod: Multi-observable modelling and inversion of geophysical data
LitMod_2D |
A new version in Github:
An interactive software to perform multi-observable forward modelling of
geophysical data for 2D whole lithospheric structure of the Earth and/or
other terrestrial planets
LitMod_3D |
A new version in Github:
3D integrated geophysical-petrological interactive modelling of the lithosphere
and underlying upper mantle using a variety of input datasets:
potential fields (gravity and magnetic), surface heat flow, elevation (isostasy),
seismics, magnetotellurics and geochemical
LitMod_4INV:
A fully nonlinear probabilistic inversion codes in spherical coordinates for
the compositional and thermal structure of the lithosphere and upper mantle
JDSurfG: Joint Inversion of Direct Surface
Wave Tomography and Bouguer Gravity
Ambient Noise
Ambient Noise Monitoring
MSNoise: A Python Package for Monitoring seismic velocity
changes using ambient seismic noise
NoisePy: Fast and easy computation of
ambient noise cross-correlation functions written in Python, with noise monitoring
and surface wave dispersion analysis
yam: Yet another monitoring tool using
correlations of ambient noise written in Python
Noise HVSR
IRIS HVSR: A set of Python scripts to compute
and plot HVSR curves using MUSTANG PDF-PSD web service from IRIS
Geopsy: An open source software for geophysical
research and application written in C++
HtoV-Toolbox:
A toolbox that allows the simple calculation of H/V ratios
HV-Inv:
Forward calculation and inversion of H/V spectral ratios
HVResPy:
An open-source Python tool for Geopsy HVSR post-processing
hvsrpy: A Python package for horizontal-to-vertical
spectral ratio processing
HV-TEST: A tool for the verification
of the reliability and clarity of the H/V peak according to the SESAME criteria
OpenHVSR:
Measure and Inversion of HVSR written in MATLAB
Earth’s interior
FastTrip: Fast MPI-accelerated Triplication
Waveform Inversion Package
PKPprecursor |
GitHub:
Locating seismic scatterers in the lower mantle, using PKP precursor onsets
mccc: Determines optimum relative delay times
for a set of seismograms based on the VanDecar & Crosson multi-channel cross-correlation algorithm
PhaseNet |
A tutorial (in Chinese):
A Deep-Neural-Network-Based Seismic Arrival Time Picking Method
PhasePApy:
Seismic Phase Picker and Associator, written in Python
P-Phase Picker:
Detecting P-phase onset written in Java and Matlab
Single Station Signal Analysis
IRIS DMC Noise Toolkit:
Compute power spectral densities and perform microseism energy computations
and frequency dependent polarization analysis
BCseis:
a MatLab GUI and set of inline functions for performing various non-linear
thresholding operations using the Continuous Wavelet Transform
Est_noise: Analyze time-series data
to quantify temporal correlations and simultaneously estimate rates, offsets,
and other functional dependencies
MUSTANG |
Tutorial:
A quality assurance system that provides metrics pertaining to seismic data quality
PIQQA |
An introduction:
A python utility to create a simple Quality Assurance report
Pycheron:
A Python library for quality control of seismic data based on IRIS MUSTANG
PolarGUI:
A GUI polarization analysis of the three-component seismic data written in MATLAB
Polfre:
Time-Frequency Dependent Polarization written in Fortran
PQLX:
An open-source software system for evaluating seismic station performance and data quality
Station Analysis Tools |
IRIS site:
A set of c routines for computation of power spectral densities, coherence,
probability density functions, and a handful of other tools for monitoring
the health of a station
TF-SIGNAL:
Computation and visualization of time-frequency representations of time signals
using one or more of seven alternative methods of time-frequency analysis
Array seismology
ObsPy: Data download, processing and visulization software written in Python
array_processing:
Various array processing tools for infrasound and seismic data written in Python
Geopsy: An open source software for geophysical
research and application written in C++
ts-PWS:
Time-scale phase weighted stacking written in C
Seismic Interferometry
inter_source_interferometry:
Inter-source interferometry by cross-correlation of coda waves written in Python
ThreeStation:
Three-station interferometry written in Python
Seismic Data Digitization and Correction
ATacR: Automated Tilt
and Compliance Removal (for ocean bottoms seismometers) written in Matlab
UNAVCO |
Software:
A community of scientists, educators, and professionals working together
to better understand Earth processes and hazards using geodesy
Geophysics/Geosciences
Gravity
Harmonica:
Forward modeling, inversion, and processing gravity and magnetic data
moho-inversion-tesseroids:
Fast non-linear gravity inversion in spherical coordinates with application to
the South American Moho
GRAV3D:
Carrying out 3D forward modelling and inversion of gravity data
SphGraGLQ: A fast and adaptive gravity
forward computation method by Gauss-Legendre Quadrature in spherical coordinates in C
BLAS: Basic Linear Algebra Subprograms
are routines that provide standard building blocks for performing basic vector and matrix operations
LAPACK | Working Notes | GitHub:
Linear Algebra PACKage is a library of Fortran subroutines for
solving the most commonly occurring problems in numerical linear algebra
LINPACK: a collection of Fortran
subroutines that analyze and solve linear equations and linear least-squares problems,
which has been largely superceded by LAPACK
Gradient Methods
LSQR: A conjugate-gradient type method
for solving sparse linear equations and sparse least-squares problems
SEISCOPE Optimization Toolbox:
A set of FORTRAN 90 optimization routines dedicated to the resolution of
unconstrained and bound constrained nonlinear minimization problems
iEarth: A consortium of scientists from the university,
government and industry sectors with interests in the development and application
of inversion methodologies for the Earth Sciences
MTNet |
Codes:
An international electronic forum for the free exchange of knowledge,
programs and data between scientists engaged in the study of the Earth using electromagnetic methods,
principally but not exclusively the magnetotelluric technique (magnetotellurics)
NuQuake |
Codes:
Numerical modeling of seismic wave propagation and earthquake motion
QUEST |
Software:
QUantitative Estimation of Earth’s Seismic Sources and STructure