Comparison of free geophysics software

This is a list of free and open source software for geophysical data processing and interpretation. The list is split into broad categories, depending on the intended use of the software and its scope of functions.

Notice that 'free and open source' requires that the source code is available. Simple being 'free of charge' is not sufficient—see gratis versus libre. The reader interested in freeware (just free of charge) software is referred to the list of freeware geophysics software.

Reflection seismic processing packages

These are full-featured reflection seismology processing packages, with support for modeling, imaging, and inversion. They are relatively low-level and in some cases have their own data formats and involve learning an extensive syntax or meta-language.

Name

Description

Originator

License

Platforms

Language

Notes

Madagascar

Multidimensional data analysis including seismic processing

Sergey Fomel and others

GPL

Cross-platform

C, C++, Python

Programming Interfaces to Fortran 77, Fortran 90, Python, Java, MATLAB.

FreeUSP

Seismic processing

Amoco, BP

Custom

Unix, Linux

Fortran 77, C

FreeDDS

Seismic processing

Amoco, BP

Custom

Unix, Linux

Fortran 77, C

Generic format (SEGY, SU, SEPlib, USP)

PSEIS-OSS

Parallel seismic processing

Randy Selzler

GPL

Unix, Linux

Fortran 77, C

Generic format (SEGY, SU, SEPlib, USP, Madagascar)

CWP/SU (Seismic Un*x)

Seismic processing

Stanford, Colorado School of Mines

BSD-style

Unix, Linux, OS X, Cygwin 32

C, some Fortran 77

World's most widely used (69 countries and territories).

CPSeis

Seismic processing

ConocoPhillips

MIT

Cross-platform

Fortran 90, C++

SPARC

Seismic processing

ARCO

GPL

Cray

Fortran

SEPlib

Seismic processing

Stanford University

Custom

Cross-platform

Fortran, C

GeBR

Seismic processing

Various contributors, Brazil

GPL

Linux

C

Interfaces with SU, Madagascar, etc.

OpenSeaSeis

Seismic processing

Bjorn Olofsson, Colorado School of Mines

BSD-style

Linux, Windows, OS X

C, C++, Java

Interfaces with SU data. Reads most common SEGY and a subset of SEGD formats.

Reflection seismic processing utilities

These packages offer some subset of functionality of the full processing packages in the previous section.

Name

Description

Originator

License

Platforms

Language

Notes

BotoSeis

Seismic processing

Williams Lima, Brazil

GPL

Cross-platform

Java

Workflow builder; interfaces with SU, Madagascar, etc.

Delivery

Bayesian inversion

CSIRO

GPL, BSD-style

Cross-platform

Java

GSEGYView

Display SEG-Y files

Vladimir Bashkardin

GPL

Cross-platform

Fortran, C

GPLib++

Seismic and magnetotelluric processing

Max Moorkamp, Dublin Inst. Adv. Studies

GPL

Unix, Linux

C++

JavaSeis

Pre-stack seismic I/O

ARCO

CPL

Cross-platform

Java

kogeo

Geophysical analysis and visualization

University of Hamburg

GPL

Windows

C++

Mines JTK

Signal processing and display

Dave Hale, Colorado School of Mines

CPL

Cross-platform

Java

JRG

Modeling and basic processing

John Louie, University of Nevada

Custom

Cross-platform

Java

Jive3D

Modeling and tomographic inversion

James Hobro, University of Cambridge

Custom

Unix, Linux

Fortran

GMT and other libraries

PySIT

Imaging and inversion

Russell Hewett & Laurent Demanet, MIT

BSD 3-clause

Unix, Linux

Python

SegDSee

Display SEG-D and SEG-B files

Sergey Pavlukhin

Custom

Cross-platform

C++, Qt

Segpy

Read and write SEG-Y files

Rob Smallshire, Thomas Mejer Hansen

LGPL

Cross-platform

Python

Fork of defunct SegyPY

segy-py

Read SEG-Y files

Kurt Schwehr, Google

Custom

Cross-platform

Python

Various FOSS packages

SIOSEIS

Seismic reflection and refraction processing

Paul Henkart, SIO

BSD

Cross-platform

gfortran, gcc

SLIMpy

Processing front end

Felix Herrmann, Univ. of British Columbia

LGPL

Cross-platform

Python

Interfaces with SU, Madagascar, etc.

WaveletExtractor

Well-ties

CSIRO

GPL, BSD-style

Cross-platform

Java

Nonreflection seismic processing utilities

Name

Description

Originator

License

Platforms

Language

Notes

Fatiando a Terra

Geophysical modeling and inversion

Leonardo Uieda et al.

BSD

Cross-platform

Python

Uses Numpy and Cython

ObsPy

Seismology toolbox

Moritz Beyreuther et al.

LGPL

Cross-platform

Python

Uses Numpy and Cython

PAMGUARD

Passive acoustic monitoring for marine mammals

Multiple workers

GPL

Linux, Windows, OS X

Java

Plug-in-able

PyGMI

3D interpretation and modelling of magnetic and gravity data

Patrick Cole

GPL

Cross-platform

Python

SCEC Broadband Platform

Ground Motion Simulation

SCEC Community Modeling Environment

Apache 2

Linux

Python, C, Fortran

Uses Numpy and SciPy

Sesarray

Signal processing for ambient vibrations

Joseph Fourier University, University of Potsdam

GPL

Linux, Windows, OS X

C, C++

Includes geopsy (signal processing) & dinver (inversion)

Seismic Handler

Signal processing for earthquakes

SZGRF

GPL

Linux, Solaris

C, Python

SimPEG

Simulation and Parameter Estimation in Geophysics

Rowan Cockett et al.

MIT

Cross-platform

Python

Uses Numpy and SciPy

STK

Signal processing for earthquakes

Dominique Reymond

GPL

Unix, Linux, Windows

C

TauP

Travel-time & ray-path calculation

University of South Carolina

GPL

Cross-platform

Java

smartRefract

Refraction seismic interpretation

Simone Pittaluga

GPL

Cross-platform

Java

Based on GRM (Palmer)

Visualization, interpretation, analysis packages

Name

Description

Originator

License

Platforms

Language

Notes

OpendTect

Geoscience interpretation and visualization

dGB Earth Sciences

GPL or custom

Cross-platform

C++

Interfaces with Petrel, Madagascar, GMT, Google Earth/Maps

GeoTriple for Oil&Gas Exploration

Geoscience data management, display and analysis

Geoforge project

LGPL

Cross-platform

Java

Interfaces with WorldWind

GeoCraft

Geophysical analysis and visualization

ConocoPhillips

MIT

Cross-platform

Java

qiWorkBench

Geophysical interpretation and visualization

BHP Billiton Petroleum

GPL, BSD

Cross-platform

Java

Generic Mapping Tools

Map generation and analysis

Lamont-Doherty and University of Hawaii

GPL

Cross-platform

C

Implemented in OpendTect

ParaViewGeo

Geoscience extension of ParaView

Kitware ParaView, MIRARCO

BSD

Cross-platform

C++, Python

Oriented towards mining

GI

Geophysical interpretation and visualization

GPL

Cross-platform

C++, Qt

Alpha version

Not true free and open source projects

The following projects are not free and open source. They have unknown licensing, licenses which place some restriction on use or redistribution, or depend on non-open-source software like MATLAB, and thus do not meet the Open Source Definition from the Open Source Initiative. (For example, the license may rule out use by certain people or for certain purposes, e.g., in a commercial context.) They are included here because they may be of interest for those in an academic environment or access to tools like MATLAB.

Name

Description

Originator

License

Platforms

Language

Notes

GeoFEST

Fault and terrain visualization

Greg Lyzenga & Jay Parker, Jet Propulsion Laboratory

Unclear

Unix, Linux

C

Hosted by Open Channel Foundation

MSLT

Finite element stress-strain modeling

Peggy Li & Herb Siegel, Jet Propulsion Laboratory

Unclear

Unix, Linux, OS X

C

GeoSeis

Processing seismic refraction data

Muhammed Celik, Kocaeli University

Freeware

Windows

Visual Basic

Fully free after v. 1.3.8

MARE2DEM

2D Inversion of CSEM and MT Data

Kerry Key, Scripps Institution of Oceanography

Freeware, GNU open source

OS X, Linux, Windows

Fortran

Free to use, needs a valid MATLAB license to build models

GPRSoft Lite

GPR Data Visualization

Geoscanners AB

Freeware

Windows

GSF, DZT, RAD3, DT1, formats supported

GP Workbench

GPR processing

USGS

Unclear

Windows

C++

SU format

Seismic Lab

Seismic processing toolbox

Mauricio Sacchi, University of Alberta

GPL

Cross-platform

MATLAB

Needs MATLAB

CREWES

Seismic processing toolbox

Gary Margrave, University of Calgary

Custom, free for non-commercial use

Cross-platform

MATLAB

Needs MATLAB

SegyMAT

Read and write SEG-Y files

Thomas Mejer Hansen, Univ. of Copenhagen

LGPL

Cross-platform

MATLAB

Needs MATLAB

IMAGE2SEGY

Image converter

Marcel.lí Farran, Institut de Ciències del Mar

Creative Commons

Cross-platform

MATLAB

Needs MATLAB & SegyMAT

SW3D

Seismic processing

Vlastislav Cerveny, Charles University

Unclear

rayinvr

2D traveltime inversion

Colin Zelt, Rice University

Custom, non-commercial use only

Unix, Linux

Fortran 77, C

fast

3D traveltime tomography

Colin Zelt, Rice University

Custom, non-commercial use only

Unix, Linux

Fortran 77, C

passeis

Passive seismic analysis

Haishan Zheng, University of Saskatchewan

Unclear

Cross-platform

MATLAB

Needs MATLAB

seismon

Processing for earthquakes

Stefan Mertl

GPL

Cross-platform

MATLAB

Needs MATLAB

PyShottab

Processing for ocean-bottom seismic

Dalhousie University

Unclear

Cross-platform

Python

Windows binary

IGeoS (formerly SIA)

Geophysical processing and analysis

University of Saskatchewan

Custom, free for non-commercial use

Unix, Linux

C++

Interfaces with SU, GMT

Seizmo

Global seismic analysis

Garrett Euler, Washington University in St. Louis

Unclear

Cross-platform

MATLAB

Octave-compatible

Probably defunct projects

The following projects have seen very little activity for more than a year.

Name

Description

Originator

License

Platforms

Language

Notes

openGPR

GPR processing and interpretation

Mats Schuh

GPL

Linux

Python

No longer in active development

OpenICarre

Integrated interpretation system

IFP

MagIC-Py

Magnetic data processing

Python

geoid

Geological mapping

ART

Ray tracing

GPCPP

Seismic Refraction Tomography

GPL