Scientific Research Codes
+Seismic Data Fetching and Processing
+Data Request Tools
+-
+
- FDSN Web Services | +A note in Chinese +
- IRIS Data Management Center (DMC)
+
-
+
- ROVER: A command line tool to robustly +retrieve geophysical timeseries data from data centers +
- BREQ_FAST | +notes in Chinese: +Seismic data request by sending email +
- IRIS Wilber 3 | +A note in Chinese: +A web GUI to request waveform data of individual seismic events +
- jweed: +Data request client written in Java +
+ - IRIS-DMC: Web Services: + + +
- SOD | +Tutorial (in Chinese) | +Recipes: +The best seismic data request tool +
- ObsPy: +Data download, processing and visulization software written in Python +
- SAC | +Chinese Manual | +English Manual | +youtube | +notes in Chinese: +The most commonly used seismic data processing and plotting software +
- FnetPy: +A Python package to request seismic waveform data from F-net +
- HinetPy: +Request and process Hi-net data, written in Python +
- obspyDMT: A Python Toolbox +for Retrieving, Processing and Management of Seismological Datasets +
- SeisIO.jl: +Julia language support for geophysical time series data +
- StrongMotion Fetch: +Download and/or process strong motion data from various networks +
Seismic Data Format Conversion
+-
+
- ObsPy | +Waveform Import/Export Plug-ins | +Supported Formats: +Data download, processing and visulization software written in Python +
- SAC | +Chinese Manual | +English Manual | +youtube | +notes in Chinese: +The most commonly used seismic data processing and plotting software +
- CubeTools | +cube_conversion: +Data Format conversion software for CUBE data +
- dataselect: +Selection and sorting for data in miniSEED format +
- GIPPtools: +A collection of software utilities for initial pre-processing of recorded data +
- libmseed: A miniSEED library that +provides a framework for manipulation of SEED data records +
- msmod: A small program +to modify miniSEED header values +
- mseed2sac: +Convert miniSEED format to SAC format +
- sac2mseed: Convert SAC format to minniSEED format +
- win32tools: +Convert WIN32 format used by Hi-net, to SAC format +
- rdseed | +IRIS | +notes in Chinese: +Convert seismic data from SEED format and other formats +
Seismic Data Processing
+-
+
- SAC | +Chinese Manual | +English Manual | +youtube | +notes in Chinese: +The most commonly used seismic data processing and plotting software +
- 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 +
+
Plotting and Visualization
+Plotting
+-
+
- Generic Mapping Tools (GMT):
+The most popular mapping tools in Earth Science
+
-
+
- GMT China Community | Reference Manual (in Chinese) +
- try-GMT:
+Try
GMT
,PyGMT
, andGMT.jl
online! All in one place!
+ - pssac | +notes (in Chinese) | +pssac2: +GMT4-style SAC trace plotting +
+ - PyGMT: Python interface of GMT (still under development) +
- GMT.jl: GMT Library Wrapper for Julia +
- matplotlib: A comprehensive library for creating +static, animated, and interactive visualizations in Python +
- ObsPy: Data download, processing and +visulization software written in Python +
- obspy.imaging.scripts.mopad: +MoPaD command line utility +
- MoPad | +A note in Chinese: +Moment tensor Plotting and Decomposition +
- 3D Focal Mechanisms: +View earthquake focal mechanism symbols three dimensionally +
- EMC-DesktopTools
+
-
+
- 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 +
+ - EMC visualization tools +
- 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 +
Visualization
+-
+
- MATLAB for Analyzing and Visualizing Geospatial Data +
- Ghostscript | +Releases: +An interpreter for the PostScript language and PDF files +
+
Traveltime and Ray Tracing
+-
+
- TauP | +Tutorials (in Chinese): +Calculate traveltimes, ray parameters, ray paths, reflection points, +piercing points of seismic phases, supporting custom Earth models +
- obspy.taup: TauP written in Python +
- ANISOtime | +GitHub: +Traveltime calculation for transversely isotropic (TI) spherically symmetric models +
- Cake: Traveltime calculation software, written in Python. +
- fast_methods: N-Dimensional Fast Methodswritten in C++ +
- FM3D | +iEarth: +3D traveltime calculation using Fast Marching Method in spherical coordinates written in Fortran +
- Lapo Boschi: Software | +SPICE: +Surface Wave Ray Tracing with Azimuthal Anisotropy +
- pykonal: 2D/3D traveltime calculator +using Fast Marching Method for eikonal equation in Cartesian and spherical coordinates +
- pySeismicFMM: +2D/3D travel time calculation in based on the Fast Marching Method written in Python +
- pyekfmm: A python package for 3D fast-marching-based traveltime calculation and its applications in seismology +
- RSTT: Regional Seismic Travel Time +
- 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. +
- CRT: +Complete ray tracing subroutine package +
- 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 +
- WKBJ method in seisan at +Seismology at GEUS: Seismological software +
- RaySum: Ray-theoretical modelling of teleseismic waves in dipping, anisotropic structures +
- PyRaySum: https://github.com/paudetseis/PyRaysum +
Reflectivity/Wavenumber Integration for 1D Layered Earth
+-
+
- fk | +A tutorial (in Chinese): +Calculate synthetic seismograms in layered isotropic models using frequency-wavenumber method +
- Discrete wavenumber method in seisan at +Seismology at GEUS: Seismological software +
- 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 +
- Wavenumber integration method in CPS330 | +Python wrapper: PyLayeredModel | +A tutorial (in Chinese): +Collection of programs for calculating theorectical seismogram, receiver function, +surface wave dispersion curve et al. +
Modal Summation Method for 1D Layered Earth
+-
+
- 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.
+- Generalized Eigenproblem Spectral Collocation +
- Normal modes: +Normal-mode based computation of seismograms for spherically symmetric Earth models +
- QSSP: +Calculating complete synthetic seismograms of a spherical earth using the normal mode theory +
- specnm: +Spectral element normal mode 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 +
Finite Difference Methods
+-
+
- SOFI2D | +GitLab | +A note (in Chinese): +2-D viscoelastic and elastic wave simulations for P- and SV-waves +
- SOFI2D_sh | +GitLab: +2-D viscoelastic and elastic wave simulations for SH-waves +
- SOFI3D | +GitLab: +3-D viscoelastic, elastic, and acoustic wave simulations +
- FD1D | +1DFD_DS | +1DFD_DVS | +1DFD_VS: +1D finite-difference seismic simulation using the displacement-stress (DS), +displacement-velocity-stress (DVS), and velocity-stress (VS) staggered-grids +
- 2DFD_DVS: +Computation of seismic wavefields in 2D heterogeneous structures +
- FD: +2-D P-SV elastic second-order finite difference +
- FD2D: +A very simple training code for 2D finite difference +
- FD3S: +3D finite-difference seismic wave simulation in a spherical section +
- FDSim3D: +Computation of seismic wavefields in 3D heterogeneous surface geological structures +
- OpenSWPC: +2D/3D finite-difference seismic wave simulation +
- SEISMIC_CPML: +2D/3D finite-difference seismic wave simulation with Convolutional or +Auxiliary Perfectly Matched Layer (C-PML or ADE-PML) conditions +
- SW4: 3D finite-difference seismic wave simulation (4th order) +
Finite Element Methods
+ +Pseudo-Spectral Methods
+-
+
- 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 +
- AxiSEM3D +
- Instaseis | Brief Introduction in Chinese: +The Python interface of AxiSEM +
- RegSEM: +Simulates seismic wave propagation in a 3D heterogeneous media using spectral +element method at the regional scale (1 km to 90 degree) +
- 2DSPEC: +A parallel/serial 2d spectral element code for wave propagation and rupture dynamics +
- sem2dpack: +A spectral element package for 2D wave propagation and earthquake rupture dynamics +
Hybrid Methods
+-
+
- FK-SPECFEM2D: Ping Tong +
- 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 +
Waveform Forward Modelling
+-
+
- Yehuda Ben-Zion: Downloads: +Model point/line dislocation in fault zone +
+
Seismic Source
+Earthquake Detection
+-
+
- REAL | +A tutorial (in Chinese): +Rapid Earthquake Association and Location written in C +
- S-SNAP: +Seismicity-Scanning based on Navigated Automatic Phase-Picking +
- Match&Locate: Detect and locate +small events from continuous seismic waveforms using templates +
- GPU-MatchLocate1.0: +An improved match and locate method using GPU +
- FastMatchedFilter: +An efficient seismic matched-filter search for both CPU and GPU architectures +
- dynamic_earthquake_triggering: +Detecting dynamic earthquake triggering written in Python +
- FAST: End-to-end earthquake +detection pipeline via efficient time series similarity search +
- EQcorrscan: Detection and analysis +of repeating and near-repeating earthquakes written in Python +
- RT-EQcorrscan: Real-time +implementation of EQcorrscan method +
- Harmonic tremor extraction and transient signal detection +
- MESS: A Matched filter earthquake detector with GPU acceleration +
- PAL: +An earthquake detection and location architecture including phase Picking, +phase Association, event Location. +
- REDPy: Repeating Earthquake Detector written in Python +
Earthquake Location
+-
+
- GrowClust | GrowClust3D.jl: +Relative relocation of earthquake hypocenters based on waveform cross-correlation data +
- HypoDD | +A tutorial | +hypoDDpy: +Double-difference earthquake location +
- HypoRelocate: +High-resolution earthquake relocation method +
- HYPOINVERSE2000: +Locate earthquakes and determine magnitudes in a local or regional seismic network +
- AmplitudeSourceLocation: +Estimate source locations of seismic events written in Fortran +
- NonLinLoc +Probabilistic, non-linear, global-search earthquake location in 3D Media +
- location-pt: Multiple earthquake +location via parallel tempering and principal component sampling +
- PhaseLink: +A deep learning approach to seismic phase association +
- Velest | +A modified version in REAL: +1-D inversion of velocities and hypocenter locations +
Focal Mechanism
+-
+
- gCAP | +Oh My CAP | +Chinese note: +Focal mechanism inversion using cut and paste method +
- CAPjoint | +CAPjoint examples: +Joint Inversion of Moderate Earthquake Source Parameters +
- gCAPjoint: +Full Moment Tensor Inversion of Moderately Strong Earthquakes with Local and Teleseismic Waveforms +
- CAPsf: Invert source mechanisms for single‐force events +
- CPS330 | +A tutorial (in Chinese) | +Moment Tensor Workshop (2012): +Collection of programs for calculating theorectical seismogram, receiver function, +surface wave dispersion curve et al. +
- Moment-Tensor Inversion +
- W Phase: W Phase source inversion +
- HASH: +Determine double-couple earthquake focal mechanisms based on P-wave polarity and S/P amplitude ratios +
- focmec: +Determining and displaying double-couple earthquake focal mechanisms +
- FPFIT: +Calculate and plot fault-plane solutions from first-motion data +
- hybridMT: Moment tensor inversion and refinement written in MATLAB +
- fociMT: A stand-alone command line application +for seismic moment tensor inversion, which is an integral part of hybridMT +
- FOCI: A stand-alone Windows GUI application +for performing the seismic moment tensor inversion and source parameters assessment +
- lsforce: +A Python-based single-force seismic inversion framework for massive landslides +
- ISOLA: Retrieve isolated +asperities from regional or local waveforms based on multiple-point source +representation and iterative deconvolution +
- MTfit: Bayesian Moment Tensor Fitting +
- MT_DECOMPOSITION: +Moment tensor decomposition written in MATLAB +
- PCA-DECOMPOSITION: +Principal Component Decomposition of seismic traces for extracting the common wavelet written in MATLAB +
- pyTDMT: Time Domain Moment Tensor Inversion +
- RPGEN: +Calculates P-wave, S-wave, SH-wave and SV-wave radiation pattern using shear-tensile source model +
Seismicity
+-
+
- CLUSTER2000: Identify clusters (e.g., aftershocks) in an earthquake catalog +
- GR_EST: An OCTAVE/MATLAB toolbox +to estimate Gutenberg–Richter law parameters and their uncertainties +
- sd: Stochastic declustering +based on the space-time ETAS model +
- ZMAP: +A GUI to analyse catalogue data +
Stress/Strain
+-
+
- Coulomb 3: Investigate Coulomb stress +changes on mapped faults and earthquake nodal planes +
- AutoCoulomb: +Compute Coulomb stress changes induced by earthquakes +
- DC3D0/DC3D: Calculate displacement, +strain and tilt at depth due to a point/rectangular strike/dip/tensile source in a half-space +
- MSATSI: Stress tensor inversion written in MATLAB +
- SATSI: Spatial And Temporal +Stress Inversion from focal mechanisms +
- STRESSINVERSE: An iterative joint +inversion for stress and fault orientations from focal mechanisms written in MATLAB or Python +
+
Seismic Tomography
+Body-wave Tomography
+-
+
- Adjoint-state Traveltime Tomography | +A tutorial in Chinese +
- Nick Rawlinson: Software + + +
- simul2017 | +SIMUL2000: +Simultaneous inversion of travel-time data for 3-D velocity and hypocenters +
- Haijiang Zhang’s tomoDD | +linkresearcher | +bilibili: +Double difference tomography +
- Etomo: +A eikonal equaiton-based seismic tomography method for traveltime tomography +
- FAST: +3-D First Arrival Seismic Tomography programs +
- LOTOS: Local earthquake tomographic inversion written in Fortran +
- PyVoroTomo | +A tutorial in Chinese: +Poisson Voronoi cells based seismic traveltime tomography +
- RAYINVR | +A modified version: +2-D traveltime inversion and amplitude modeling programs +
Ambient Noise Data Processing
+-
+
- CPS330 | +A tutorial (in Chinese): +Collection of programs for calculating theorectical seismogram, receiver function, +surface wave dispersion curve et al. + + +
- CU-Boulder: Research Products
+
-
+
- Ambient Noise Cross-Correlation | +GitHub: +Ambient noise data processing code and database for processing written in C +
- Seed2Cor: +Seismic Ambient Noise Cross-Correlation in Parallel written in C +
+ - Huajian Yao: Codes and Software: |
+linkresearcher |
+bilibili:
+
-
+
NoiseCorr
: Ambient noise cross-correlation codes for daily long SAC format data in Matlab
+
+ - Lapo Boschi: Software: +Ambient-noise cross-correlation and dispersion-curve measurement in the frequency domain written in Python +
- Martin Schimmel: Software
+
-
+
- Corr_stack | +IRIS Webinar: +Ambient noise processing tools written in Fortran +
- 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. + + +
- CU-Boulder: Research Products
+
-
+
- AFTAN | +GitHub | +Python package: +Automatic Frequency-Time Analysis analysis of ambient noise +cross-correlations written in Fortran +
+ - Huajian Yao: Codes and Software |
+linkresearcher |
+bilibili:
+
-
+
TSAnalysis
: Surface wave two-station dispersion analysis GUI software (in Matlab) +-
+
- Auto_TAnaylsis_GUI: +Automatic surface wave two-station dispersion analysis GUI software (in Matlab) +
+EGFAnalysisTimeFreq
: Dispersion Analysis GUI software for ambient noise cross-correlation functions in Matalb
+
+ - Lapo Boschi: Software: +Ambient-noise cross-correlation and dispersion-curve measurement in the frequency domain written in Python +
- Martin Schimmel: Software
+
-
+
- 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 +
- SurfaceWaveMFA: +Surface Wave Multiple Filter Analysis +
- 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 +
- tomo_sp_cu_s | +GitHub: +Ray theoretic surface wave tomography +
- MATnoise: +Calculate ambient noise cross-correlations, measure phase velocities, and invert for phase velocity maps in MATLAB +
- SurfwaveTomoPrograms: +Finite frequency Rayleigh wave tomography programs +
Surface-wave Dispersion Inversion
+-
+
- CPS330 |
+A tutorial (in Chinese):
+Collection of programs for calculating theorectical seismogram, receiver function,
+surface wave dispersion curve et al.
+
-
+
- Tutorilas: Surface Waves +
- srfpython: Compute, display, and +invert 1D depth models based on CPS330 written in Python +
+ - dispinversion: Surface wave dispersion +inversion code written in MATLAB +
- MCDisp: Surface wave dispersion inversion +using Monte Carlo methohd written in Python +
Surfave-wave Tomography Workflow
+-
+
- seismic-noise-tomography: +Python framework for seismic noise tomography +
Direct Inversion of Surface-wave Dispersion Data
+-
+
- DSurfTomo: +Direct inversion of surface dispersion data based on ray tracing written in Fortran +
- DRadiSurfTomo: +Direct Surface Wave Radial Anisotropy Tomography written in Fortran +
- DAzimSurfTomo | +A tutorial (in Chinese): +Direct inversion of Rayleigh wave dispersion data for 3-D azimuthal anisotropy based on ray tracing +
- 3D Monte Carlo Direct Inversion | +GitHub: +3D Monte Carlo tomography using both body and surface wave data +
Surface-wave Dispersion Forward Calculation
+-
+
- 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 +
- senskernel | +GitHub: +Phase/Group velocities Sensitivity Kernels +
- MCMC_ANISO_FORWARD: +Compute surface wave dispersion curves and receiver functions in anisotropic +models with hexagonally symmetry +
- TheoreticalDispersionSpectrum: +Theoretical Dispersion Spectrum calculation by the Generalized Reflection and Transmission Method +
- Vphase: +A training code to calculation of phase velocity dispersion curves +
+
Seismic Imaging
+Receiver Function
+-
+
- rf: Receiver function calculation in seismology written in Python +
- hk | +Chinese note: +Receiver function package (synthetic RF, deconvolution, and H-k stacking) +
- CPS330 | +Python wrapper: PyLayeredModel | +A tutorial (in Chinese): +Collection of programs for calculating theorectical seismogram, receiver function, +surface wave dispersion curve et al. +
- RAYSUM | +PyRaysum: +Ray-theoretical modelling of teleseismic waves in dipping, anisotropic structures +
- RF codes
+
-
+
- Charles J. Ammon’s codes +
- Cheng’s codes, including Qingju Wu’s maximum entrop deconvolution method (
burgays
)
+
+ - Charles J. Ammon’s RF codes: +An Overview of Receiver-Function Analysis +
- Jeffrey Park’s RF codes:
+
-
+
- Recfunk21: +Computation of receiver functions and harmonic decomposition analysis. +It supersedes previously released recfunk09_pick +and recfunk_ascii. +
- rfsyn: +Computes a receiver-function for a stack of anisotropic layers over an isotropic halfspace +
+ - CCP | +Chinses note: +Common-Conversion-Point (CCP) stacking of receiver functions +
- CrazySeismic | +linkresearcher | +bilibili: +A MATLAB GUI-based package to process single channel seismic data (picking, McCC, PCA, Deconvolution) +
- FuncLab (invalid link) | +revised FuncLab: +A Matlab based GUI for handling receiver functions +
- h-k-c | +linkresearcher | +bilibili: +Generalized H-k after harmonic correction on receiver functions +
- IRFFM: An interactive Java program for +joint interactive forward modelling of teleseismic receiver functions and surface wave dispersion +
- MCMC_ANISO_FORWARD: +Compute surface wave dispersion curves and receiver functions in anisotropic +models with hexagonally symmetry +
- processRFmatlab: +MATLAB functions and scripts for working with receiver functions +
- psdm | +bilibili: +A wave equation migration method for receiver function imaging +
- PSV Hybrid RF | +GitHub: +Calculating synthetic RF in two-dimensional localized hetergeneous structures +based on PSV Hybrid method (GRT-FD) +
- pyfwrd: A forward modelling code for surface wave, +receiver functions and shear wave splitting, given tilted hexagonal symmetric media +
- RF_INV: Receiver function inversion by +reversible-jump Markov-chain Monte Carlo written in Fortran +
- RfPy: Receiver function caculcation along with post-processing +(e.g., hk, harmonic decomposition, CCP) written in Python +
- rj-RF: Receiver Function Inversion +using Reversible jump Markov chain Monte Carlo algorithm +
- RFtool: An interactive GUI tool to simulate P or S receiver functions +
- SplitRFLab: A Matlab toolbox of processing +receiver functions and shear wave spliting +
- seispy: A Python module for processing seismological data and calculating Receiver Functions +
Rayleigh-wave Ellipticity
+-
+
- DOP-E | +GitHub: +Rayleigh wave ellipticity, measurement and inversion from ambient noise written in Fortran and Python +
- Quake-E: Measure Rayleigh wave ellipticity +from earthquake data written in Python +
Shear Wave Splitting
+-
+
- SplitLab | +An updated version: +Shear-wave birefringence analysis code written in Matlab +
- MFAST: Multiple Filter Automatic Splitting +Technique written in Fortran +
- MSAT: The MATLAB Seismic Anisotropy Toolkit +
- multisplit: Shear-wave birefringence analysis code +
- pyfwrd: A forward modelling code for surface wave, +receiver functions and shear wave splitting, given tilted hexagonal symmetric media +
- SHEBA: Shear-wave birefringence analysis +
- SplitPy: Teleseismic shear-wave (SKS) +Splitting Toolbox written in Python +
- SplitRacer: +Semiautomated Analysis and Interpretation of Teleseismic Shear-Wave Splitting in MATLAB +
- sws_tools: +MATLAB tools for modeling and plotting of shear-wave splitting data +
- ECOMAN: Software package for computing +elastic and viscous mechanical properties of mantle rocks and seismic forward and inverse +modelling +
Scattering and Intrinsic Attenuation
+-
+
- CodaNorm: +Calculating the seismic quality factor using the coda normalization method +
- Coda-Q-Inversion: +Coda-Q inversion written in MATALB +
- MuRAT: Multi-resolution seismic attenuation +tomography using Body and Coda Waves written in MATLAB +
- psphoton: +Monte Carlo simulation of elastic-wave scattering processes in Earth’s interior +
- PSPHOTON_POSO: Model Po/So envelopes +
- qopen: Separation of intrinsic and scattering Q by envelope inversion +
- usattenuation: +Intrinsic attenuation, scattering attenuation and site amplification for the contiguous U.S. +
- Radiative3D: +Radiative transport in 3D Earth models +
Joint Inversion of Seismological Data
+-
+
- Weisen Shen’s code: +A workshop in Peking University in 2017 for joint inversion of surface-wave dispersion data and receiver function +
- SEIS_FILO: SEISmological inversion tools for +Flat and Isotropic Layered structure in the Ocean +
- BayHunter: McMC transdimensional Bayesian +inversion of surface wave dispersion and receiver functions in Python +
- Huajian Yao: Codes and Software: +Inversion of Vs, Vp/Vs, and interface depth using dispersion data and Rayleigh wave ellipticity +
- LitMod_seis: A joint inversion code +for inverting Vs and anisotropy +
- jointBSVpVs: +Joint inversion of body and surface wave data for Vp/Vs +
- RfSurfHmc: Joint inversion of Receiver +Function and Surface Wave Disperion by Hamilton Monte Carlo Method +
Waveform Inversion
+-
+
- Fault zone travel time and waveform modelling | +bilibili +
- MC3deconv: Bayeisan inversion to recover +Green’s functions of receiver-side structures from teleseismic waveforms +
Full Waveform Inversion
+-
+
- IFOS2D | +GitLab: +2D elastic full waveform inversion +
- IFOS3D | +GitLab: +3D elastic full waveform inversion +
- DENISE: +2D time-domain isotropic (visco)elastic FD modeling and full waveform inversion code for P/SV-waves +
- 2DNoise_Adjoint_tomography: +2D ambient noise adjoint tomography and joint inversion of ambient noise and teleseismic body-wave +
- 2DZH_Adjoint_tomography: +2D ZH Amplitude Ratios adjoint tomography +
- ASKI: +Seismic Full Waveform Inversion and sensitivity/resolution analysis +
- Finite-frequency tomography +
- 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 +
- seisDD: Double-difference adjoint seismic tomography +
- 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_T: the “transient” equivalent of LitMod_2D +
- 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 +
- ss-precursors: SS Precursor Workflow +
+
Seismic Data Analysis
+General Signal Analysis
+-
+
- FFTW: A C subroutine library for computing the +discrete Fourier transform (DFT) +
- Multitaper Spectrum Estimation Library | +multitaper | +mtspec: Multitaper Spectral Estimation +
- multitaper_toolbox: +Computing multitaper spectrogram implemented in MATLAB, Python, and R +
- SEC_C: Super-Efficient Cross-Correlation +
- SeisSound: +The Audio/Video Seismic Waveform Visualization +
- datamovies: +A couple of demo codes for sonifying data +
Phase Picking
+-
+
- Adaptive Stacking | +iEarth: +Adaptive stacking to estimating traveltime residual patterns across a network of seismic stations +
- AIMBAT: +Measuring teleseismic body wave arrival times for large seismic arrays written in Python +
- CrazySeismic | +linkresearcher | +bilibili: +A MATLAB GUI-based package to process single channel seismic data (picking, McCC, PCA, Deconvolution) +
- CrazyTremor: +A MATLAB GUI-based package to display and picking multi-channel seismic data +
- generalized-phase-detection: +Generalized Seismic Phase Detection with Deep Learning +
- 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 +
- Automatic detection of clipped seismic waveform: +The code seems to be related to CWPAR. +
- CWPAR: +Clipped Waveform Pickup and Restoration written in Matlab +
- DigitSeis: +A digitization software for analog seismograms written in Matlab +
- DLOPy | +orient: +Calculate OBS horizontal orientations based on Raleigh-wave arrival angle +written in Python (DLOPy) or Matlab (orient) +
- OBStools: Removing vertical +component noise from tilt and compliance effects written in Python +
- OrientPy: Estimate seismometer +orientation written in Python +
Pattern Recognition and Machine Learning
+-
+
- scikit-learn: +Machine Learning in Python +
- Detex: +A Python package for subspace detection and waveform similarity clustering +
- dbscan1d: +An efficient 1D implementation of the DBSCAN clustering algorithm in Python +
- Sequencer: +An algorithm that detects one-dimensional sequences in complex datasets in Python +
Spherical Harmonics
+ ++
Seismological/Geophysical Library
+Seismological Tools/Library
+-
+
- CREWES Matlab Toolbox: +Numerical Methods of Exploration Seismology with algorithms in MATLAB +
- Pyrocko: +An open-source seismology toolbox and library written in the Python +
- SEISAN: Earthquake analysis software +
Geophysical Tools/Library
+-
+
- Fatiando: Open-source tools for geophysics +
- 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 +
- Gravity modelling and inversion in 2D: +A very simple matlab code to illustrate the basics of gravity modelling and inversion +
InSAR/GPS
+-
+
- GMTSAR: An InSAR processing system based on GMT +
- SDM - Geodetic finite-fault slip inversion: +Inverting co-seismic surface deformation data (GPS, InSAR, etc.) for fault slip +distribution written in Fortran +
Geodynamics
+-
+
- CitcomS: Solve compressible +thermochemical convection problems relevant to Earth’s mantle +
Mineral Physics
+-
+
- GassDem: +Modeling anisotropic seismic properties written in MATLAB +
Thermodynamic Modeling
+-
+
- Perple_X | +Thermodynamic Data Files | Glossary | +A tutorial (in Chinese): +A collection of Fortran77 programs for calculating and displaying phase diagrams, +phase equilibria, and thermodynamic data +
- HeFESTo | +GitHub: +Helmholtz Free Energy Self-consistent Thermodynamics +
- THERMOCALC: +Calculating model phase equilibria involving the HPx-eos +and/or individual end-members from the Holland & Powell dataset +
- BurnMan: An open source mineral physics toolbox written +in Python to generate physical properties for the Earth and other planets +
Geophysics
+-
+
- distaz | +A tutorial (in Chinese): +Calculate distance, azimuth and back-azimuth of any two points at the Earth’s surface +
- PlateFlex: Estimate lithosphere elstatic +thickness written in Python and Fortran +
Tectonics
+-
+
- GPlates: A desktop software for +the interactive visualisation of plate-tectonics +
+
Geophysical Inversion
+Inversion Theory
+-
+
- Parameter Estimation and Inverse Problems: Example Code and Associated Subroutines: +A compilation of inverse and parameter estimation code that accompanies +the second edition of the textbook “Parameter Estimation and Inverse Problems” +
Linear Algebra
+-
+
- 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 +
- Stanford University Systems Optimization Laboratory: optimization software +
Monte Carlo Methods
+-
+
- Malcolm Sambridge: Software +
- Marko Laine: MCMC codes +
- DRAM: A simple teaching code in Fortran +of the Delayed Rejection Adaptive Metropolis (DRAM) method +
- emcee: +Affine Invariant Markov chain Monte Carlo Ensemble sampler written in Python +
- rj-MCMC: A library providing routines +for running Reversible Jump Monte-Carlo Markov chains +for 1-D and 2-D spatial regression problems +
- rjmcmc: +Reversible-Jump MCMC written in R +
- Neighborhood-Algorithm: +A simple NA implementation in c++ +
Numerical Library
+-
+
- GNU Scientific Library: +A numerical library for C and C++ programmers +
- Netlib: +A collection of mathematical software, papers, and databases +
- The Comprehensive R Archive Network +
- The Computational Geometry Algorithms Library: +A software project that provides easy access to efficient and reliable geometric +algorithms in the form of a C++ library +
+
Software Centers
+Geoscience Software Centers
+-
+
- ANU Seismology & Mathematical Geophysics Research Group | +Software +
- Computational Infrastructure for Geodynamics (CIG) | +Software +
- DAS Research Coordination Network: +Codes and Examples from Distributed Acoustic Sensing Research Coordination Network +
- EarthByte | +Software and Workflows: +An internationally leading eGeoscience collaboration +
- ETH Seismology and Geodynamics | +Software +
- German Research Centre for Geosciences (GFZ) | +Wave Physics and Tool +
- 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 +
- IRIS SeisCode +
- ISTI Software: Instrumental Software Technologies, Inc. +
- Karlsruhe Institute of Technology (KIT) Geophysical Institute | +Software | +GitLab: +Finite-difference numerical methods and full waveform inversion software +developed by the geophysical institute of the Karlsruhe Institute of Technology +
- 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 +
- Seismo-Live | +GitHub: +Live Jupyter Notebooks for Seismology +
- Seismic wave Propagation and Imaging in Complex media: a European network software +
- SW3D: Seismic Waves in complex 3D structures +
- University of South Carolina Lithospheric Seismology Program | +Software +
- University of Ottawau Geophysics Group | +Software +
- USGS Earthquake Hazards Program | +Software +
- William Menke | +Software +