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 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.
NameDescriptionOriginatorLicensePlatformsLanguageNotes
MadagascarMultidimensional data analysis including seismic processingSergey Fomel and othersGPLCross-platformC, C++, PythonProgramming Interfaces to Fortran 77, Fortran 90, Python, Java, MATLAB, Julia.
FreeUSPSeismic processingAmoco, BPCustomUnix, LinuxFortran 77, C
FreeDDSSeismic processingAmoco, BPCustomUnix, LinuxFortran 77, CGeneric format
PSEIS-OSSParallel seismic processingRandy SelzlerGPLUnix, LinuxFortran 77, CGeneric format
CWP/SU Seismic processingStanford, Colorado School of MinesBSD-styleUnix, Linux, OS X, Cygwin 32C, some Fortran 77World's most widely used.
CPSeisSeismic processingConocoPhillipsMITCross-platformFortran 90, C++
SPARCSeismic processingARCOGPLCrayFortran
SEPlibSeismic processingStanford UniversityCustomCross-platformFortran, C
GeBRSeismic processingVarious contributors, BrazilGPLLinuxCInterfaces with SU, Madagascar, etc.
OpenSeaSeisSeismic processingBjorn Olofsson, now property of the Colorado School of MinesBSD-styleLinux, Windows, OS XC, C++, JavaInterfaces 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.
NameDescriptionOriginatorLicensePlatformsLanguageNotes
BotoSeisSeismic processingWilliams Lima, BrazilGPLCross-platformJavaWorkflow builder; interfaces with SU, Madagascar, etc.
DeliveryBayesian inversionCSIROGPL, BSD-styleCross-platformJava
GSEGYViewDisplay SEG-Y filesVladimir BashkardinGPLCross-platformFortran, C
GPLib++Seismic and magnetotelluric processingMax Moorkamp, Dublin Inst. Adv. StudiesGPLUnix, LinuxC++
JavaSeisPre-stack seismic I/OARCOCPLCross-platformJava
kogeoGeophysical analysis and visualizationUniversity of HamburgGPLWindowsC++
Mines JTKSignal processing and displayDave Hale, Colorado School of MinesCPLCross-platformJava
JRGModeling and basic processingJohn Louie, University of NevadaCustomCross-platformJava
Jive3DModeling and tomographic inversionJames Hobro, University of CambridgeCustomUnix, LinuxFortranGMT and other libraries
PySITImaging and inversionRussell Hewett & Laurent Demanet, MITBSD 3-clauseUnix, LinuxPython
SegDSeeDisplay SEG-D and SEG-B filesSergey PavlukhinCustomCross-platformC++, Qt
segyioRead and write SEG-Y filesEquinorLGPLCross-platformC, Python
SegpyRead and write SEG-Y filesRob Smallshire, Thomas Mejer HansenLGPLCross-platformPythonFork of defunct SegyPY
segy-pyRead SEG-Y filesKurt Schwehr, GoogleCustomCross-platformPythonVarious FOSS packages
SeismiGraphixRead and view SEG-Y, SEG-D, Seismic Unix and Javaseis. View and remap headersAbel SuraceCustomCross-platformJava
SIOSEISSeismic reflection and refraction processingPaul Henkart, SIOBSDCross-platformgfortran, gcc
SLIMpyProcessing front endFelix Herrmann, Univ. of British ColumbiaLGPLCross-platformPythonInterfaces with SU, Madagascar, etc.
WaveletExtractorWell-tiesCSIROGPL, BSD-styleCross-platformJava

Nonreflection seismic processing utilities

NameDescriptionOriginatorLicensePlatformsLanguageNotes
ObsPySeismology toolboxMoritz Beyreuther et al.LGPLCross-platformPythonUses Numpy and Cython
PAMGUARDPassive acoustic monitoring for marine mammalsMultiple workersGPLLinux, Windows, OS XJavaPlug-in-able
SCEC Broadband PlatformGround Motion SimulationSCEC Community Modeling EnvironmentApache 2LinuxPython, C, FortranUses Numpy and SciPy
SesarraySignal processing for ambient vibrationsJoseph Fourier University, University of PotsdamGPLLinux, Windows, OS XC, C++Includes geopsy & dinver
Seismic HandlerSignal processing for earthquakes:de:Seismologisches Zentralobservatorium|SZGRFGPLLinux, SolarisC, Python
STKSignal processing for earthquakesDominique ReymondGPLUnix, Linux, WindowsC
TauPTravel-time & ray-path calculationUniversity of South CarolinaGPLCross-platformJava
smartRefractRefraction seismic interpretationSimone PittalugaGPLCross-platformJavaBased on GRM

Modeling and inversion packages

NameDescriptionOriginatorLicensePlatformsLanguageNotes
devitoSymbolic finite difference engine, including seismic modeling and inversionFabio Luporini, Matthias Louboutin, et al.MITCross-platformPythonUses Numpy and SymPy
Fatiando a TerraGeophysical modeling and inversionLeonardo Uieda et al.BSDCross-platformPythonUses Numpy and Cython
PyGMI3D interpretation and modelling of magnetic and gravity dataPatrick ColeGPLCross-platformPython
SimPEGSimulation and Parameter Estimation in GeophysicsRowan Cockett et al.MITCross-platformPythonUses Numpy and SciPy
pyGIMLiGeophysical Inversion and Modelling LibraryCarsten Rücker, Thomas Günther, and Florian WagnerApache 2Cross-platformPythonUses Numpy
OCCAM1DCSEMAn Inversion Program for Generating Smooth 1D Models from Controlled-Source Electromagnetic and Magnetotelluric Data.Kerry Key, GPLCross-platformFortranOptional plotting and editing routines are in Matlab.
2DMTOccam's inversion for 2D magnetotelluric modelingSteven Constable et al., UnclearCross-platformFortranOptional plotting and editing routines are in Matlab.
empymodFull 3D electromagnetic modeller for 1D VTI mediaDieter WerthmüllerApache 2Cross-platformPythonUses Numpy and SciPy
extrEMeAccurate and scalable 3-D MT forward solver based on a contracting integral equation methodM. Kruglyakov, A. Geraskin, A. Kuvshinovmodified GPL 2Cross-platformC#
GIEM2GGnu Integral Equation Modeling in ElectroMagnetic GeophysicsMikhail Kruglyakov, Lidia BloshanskayaGPL 2Cross-platformFortran
gprMaxGround Penetrating Radar 3D modellingAntonis Giannopoulos, Craig Warren, et al.GPL 3Cross-platformPython, Cython

Visualization, interpretation, analysis packages

NameDescriptionOriginatorLicensePlatformsLanguageNotes
Geoscience AnalystImport, visualize, annotate, save, and distribute 3D geoscientific data types and modelsMira GeoscienceQLMWindowsC++, PythonVersion 3.1 and above provides a Python API to connect to open source software and view results in a 3D visualization environment designed specifically for the geosciences and mining.
OpendTectGeoscience interpretation and visualizationGPL or customCross-platformC++Interfaces with Petrel, Madagascar, GMT, Google Earth/Maps
GeoTriple for Oil&Gas ExplorationGeoscience data management, display and analysisLGPLCross-platformJavaInterfaces with WorldWind
GeoCraftGeophysical analysis and visualizationConocoPhillipsMITCross-platformJava
qiWorkBenchGeophysical interpretation and visualizationBHP Billiton PetroleumGPL, BSDCross-platformJava
Generic Mapping ToolsMap generation and analysisLamont-Doherty and University of HawaiiGPLCross-platformCImplemented in OpendTect
ParaViewGeoGeoscience extension of ParaViewKitware ParaView, MIRARCOBSDCross-platformC++, PythonOriented towards mining
GIGeophysical interpretation and visualizationUnclearCross-platformC++, QtAlpha version
FischerLabFischer Plots and Sequence StratigraphyAdewale Amosu & Yuefeng Sun, Texas A&M UniversityModified BSDCross-PlatformMatlabFree to use
EMPProcessing of raw time series of MT/AMT/RMT and controlled source data. Visualization of MT data on mapArseny ShlykovMITWindowsC#Free to use

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. They are included here because they may be of interest for those in an academic environment or access to tools like MATLAB.
NameDescriptionOriginatorLicensePlatformsLanguageNotes
GeoFESTFault and terrain visualizationGreg Lyzenga & Jay Parker, Jet Propulsion LaboratoryUnclearUnix, LinuxCHosted by Open Channel Foundation
MSLTFinite element stress-strain modelingPeggy Li & Herb Siegel, Jet Propulsion LaboratoryUnclearUnix, Linux, OS XC
GeoSeisProcessing seismic refraction dataMuhammed Celik, Kocaeli UniversityFreewareWindowsVisual BasicFully free after v. 1.3.8
MARE2DEM2D Inversion of CSEM and MT DataKerry Key, Scripps Institution of OceanographyFreeware, GNU open sourceOS X, Linux, WindowsFortranFree to use, needs a valid MATLAB license to build models
GPRSoft LiteGPR Data VisualizationGeoscanners ABFreewareWindowsGSF, DZT, RAD3, DT1, formats supported
GP WorkbenchGPR processingUSGSUnclearWindowsC++SU format
Seismic LabSeismic processing toolboxMauricio Sacchi, University of AlbertaGPLCross-platformMATLABNeeds MATLAB
CREWESSeismic processing toolboxGary Margrave, University of CalgaryCustom, free for non-commercial useCross-platformMATLABNeeds MATLAB
SegyMATRead and write SEG-Y filesThomas Mejer Hansen, Univ. of CopenhagenLGPLCross-platformMATLABNeeds MATLAB
IMAGE2SEGYImage converterMarcel.lí Farran, Creative CommonsCross-platformMATLABNeeds MATLAB & SegyMAT
SW3DSeismic processingVlastislav Cerveny, Charles UniversityUnclear
rayinvr2D traveltime inversionColin Zelt, Rice UniversityCustom, non-commercial use onlyUnix, LinuxFortran 77, C
fast3D traveltime tomographyColin Zelt, Rice UniversityCustom, non-commercial use onlyUnix, LinuxFortran 77, C
passeisPassive seismic analysisHaishan Zheng, University of SaskatchewanUnclearCross-platformMATLABNeeds MATLAB
seismonProcessing for earthquakesStefan MertlGPLCross-platformMATLABNeeds MATLAB
PyShottabProcessing for ocean-bottom seismicDalhousie UniversityUnclearCross-platformPythonWindows binary
IGeoS Geophysical processing and analysisUniversity of SaskatchewanCustom, free for non-commercial useUnix, LinuxC++Interfaces with SU, GMT
SeizmoGlobal seismic analysisGarrett Euler, Washington University in St. LouisUnclearCross-platformMATLABOctave-compatible
MVSPsoftBorehole Seismic Data Processing and InterpretationMohammed Farfour, Sultan Qaboos UniversityFreewareWindowsMatlabFully free
WheelerLabSequence Stratigraphic Analysis and Chronostratigraphic Analysis Adewale Amosu & Yuefeng Sun, Texas A&M UniversityModified BSDCross-PlatformMATLABNeeds Matlab and SegyMAT

Collections

NameDescriptionOriginatorLicensePlatformsLanguageNotes
SEG Software RepoOpen source codes that were made available together with published articles in the journal Geophysics by the Society of Exploration Geophysicists SEG.Various authorsSEG license and othersVariableVariableStatic repo. Maintained versions might be found on other places.
P233 SuiteOpen source codes for EM data from 25 years of investigation by CSIRO, funded by AMIRA.CSIROPublic DomainCross-PlatformFortran
Markku PirttijärviFree software by Markku Pirttijärvi; mostly EM, gravity and magnetic data.Markku PirttijärviFree to downloadWindowsFortranFree, not open source
Geoscience Australia's
Airborne Electromagnetic Inversion Software
Open source codes for inverting and forward modelling airborne electromagnetic data:
GAFORWARDMODELTDEM - 1D forward modelling. GALEISBSTDEM - deterministic 1D sample by sample inversion. GARJMCMCTDEM - stochastic 1D sample by sample inversion
Geoscience Australia
Ross C. Brodie
Creative Commons 4.0 Attribution. Free to downloadCross-PlatformC++,Some third party software dependencies..

Probably defunct projects

The following projects have seen very little activity for more than a year.
NameDescriptionOriginatorLicensePlatformsLanguageNotes
openGPRGPR processing and interpretationMats SchuhGPLLinuxPythonNo longer in active development
OpenICarreIntegrated interpretation systemIFP
MagIC-PyMagnetic data processingPython
geoidGeological mapping
ARTRay tracing
GPCPP
Seismic Refraction TomographyGPL