Comparison of free geophysics software

From Wikipedia, the free encyclopedia
  (Redirected from List of free geophysics software)
Jump to: navigation, search

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[edit]

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[1] 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[2] Seismic processing Amoco, BP Custom Unix, Linux Fortran 77, C
FreeDDS[3] Seismic processing Amoco, BP Custom Unix, Linux Fortran 77, C Generic format (SEGY, SU, SEPlib, USP)
PSEIS-OSS[4] Parallel seismic processing Randy Selzler GPL Unix, Linux Fortran 77, C Generic format (SEGY, SU, SEPlib, USP, Madagascar)
CWP/SU (Seismic Un*x)[5] 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[6] Seismic processing ConocoPhillips MIT Cross-platform Fortran 90, C++
SPARC[7] Seismic processing ARCO GPL Cray Fortran
SEPlib[8] Seismic processing Stanford University Custom Cross-platform Fortran, C
GeBR[9] Seismic processing Various contributors, Brazil GPL Linux C Interfaces with SU, Madagascar, etc.
OpenSeaSeis[10] 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[edit]

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

Name Description Originator License Platforms Language Notes
BotoSeis[11] Seismic processing Williams Lima, Brazil GPL Cross-platform Java Workflow builder; interfaces with SU, Madagascar, etc.
Delivery[12] Bayesian inversion CSIRO GPL, BSD-style Cross-platform Java
GSEGYView[13] Display SEG-Y files Vladimir Bashkardin GPL Cross-platform Fortran, C
GPLib++[14] Seismic and magnetotelluric processing Max Moorkamp, Dublin Inst. Adv. Studies GPL Unix, Linux C++
JavaSeis[15] Pre-stack seismic I/O ARCO CPL Cross-platform Java
kogeo[16] Geophysical analysis and visualization University of Hamburg GPL Windows C++
Mines JTK[17] Signal processing and display Dave Hale, Colorado School of Mines CPL Cross-platform Java
JRG[18] Modeling and basic processing John Louie, University of Nevada Custom Cross-platform Java
Jive3D[19] Modeling and tomographic inversion James Hobro, University of Cambridge Custom Unix, Linux Fortran GMT and other libraries
PySIT[20] Imaging and inversion Russell Hewett & Laurent Demanet, MIT BSD 3-clause Unix, Linux Python
SegDSee[21] Display SEG-D and SEG-B files Sergey Pavlukhin Custom Cross-platform C++, Qt
Segpy[22] Read and write SEG-Y files Rob Smallshire, Thomas Mejer Hansen LGPL Cross-platform Python Fork of defunct SegyPY
segy-py[23] Read SEG-Y files Kurt Schwehr, Google Custom Cross-platform Python Various FOSS packages
SIOSEIS[24] Seismic reflection and refraction processing Paul Henkart, SIO BSD Cross-platform gfortran, gcc
SLIMpy[25] Processing front end Felix Herrmann, Univ. of British Columbia LGPL Cross-platform Python Interfaces with SU, Madagascar, etc.
WaveletExtractor[26] Well-ties CSIRO GPL, BSD-style Cross-platform Java

Nonreflection seismic processing utilities[edit]

Name Description Originator License Platforms Language Notes
Fatiando a Terra[27] Geophysical modeling and inversion Leonardo Uieda et al. BSD Cross-platform Python Uses Numpy and Cython
ObsPy[28] Seismology toolbox Moritz Beyreuther et al. LGPL Cross-platform Python Uses Numpy and Cython
PAMGUARD[29] Passive acoustic monitoring for marine mammals Multiple workers GPL Linux, Windows, OS X Java Plug-in-able
PyGMI[30] 3D interpretation and modelling of magnetic and gravity data Patrick Cole GPL Cross-platform Python
SCEC Broadband Platform[31] Ground Motion Simulation SCEC Community Modeling Environment Apache 2 Linux Python, C, Fortran Uses Numpy and SciPy
Sesarray[32] 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[33] Signal processing for earthquakes SZGRF GPL Linux, Solaris C, Python
SimPEG[34] Simulation and Parameter Estimation in Geophysics Rowan Cockett et al. MIT Cross-platform Python Uses Numpy and SciPy
STK[35] Signal processing for earthquakes Dominique Reymond GPL Unix, Linux, Windows C
TauP[36] Travel-time & ray-path calculation University of South Carolina GPL Cross-platform Java
smartRefract[37] Refraction seismic interpretation Simone Pittaluga GPL Cross-platform Java Based on GRM (Palmer)

Visualization, interpretation, analysis packages[edit]

Name Description Originator License Platforms Language Notes
OpendTect[38] 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[39] Geoscience data management, display and analysis Geoforge project LGPL Cross-platform Java Interfaces with WorldWind
GeoCraft[40] Geophysical analysis and visualization ConocoPhillips MIT Cross-platform Java
qiWorkBench[41] Geophysical interpretation and visualization BHP Billiton Petroleum GPL, BSD Cross-platform Java
Generic Mapping Tools[42] Map generation and analysis Lamont-Doherty and University of Hawaii GPL Cross-platform C Implemented in OpendTect
ParaViewGeo[43] Geoscience extension of ParaView Kitware ParaView, MIRARCO BSD Cross-platform C++, Python Oriented towards mining
GI[44] Geophysical interpretation and visualization GPL Cross-platform C++, Qt Alpha version

Not true free and open source projects[edit]

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[45] Fault and terrain visualization Greg Lyzenga & Jay Parker, Jet Propulsion Laboratory Unclear Unix, Linux C Hosted by Open Channel Foundation[46]
MSLT[47] Finite element stress-strain modeling Peggy Li & Herb Siegel, Jet Propulsion Laboratory Unclear Unix, Linux, OS X C
GeoSeis[48] Processing seismic refraction data Muhammed Celik, Kocaeli University Freeware Windows Visual Basic Fully free after v. 1.3.8
MARE2DEM[49] 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[50] GPR Data Visualization Geoscanners AB Freeware Windows GSF, DZT, RAD3, DT1, formats supported
GP Workbench[51] GPR processing USGS Unclear Windows C++ SU format
Seismic Lab[52] Seismic processing toolbox Mauricio Sacchi, University of Alberta GPL Cross-platform MATLAB Needs MATLAB
CREWES[53] Seismic processing toolbox Gary Margrave, University of Calgary Custom, free for non-commercial use Cross-platform MATLAB Needs MATLAB
SegyMAT[54] Read and write SEG-Y files Thomas Mejer Hansen, Univ. of Copenhagen LGPL Cross-platform MATLAB Needs MATLAB
IMAGE2SEGY[55] Image converter Marcel.lí Farran, Institut de Ciències del Mar Creative Commons Cross-platform MATLAB Needs MATLAB & SegyMAT
SW3D[56] Seismic processing Vlastislav Cerveny, Charles University Unclear
rayinvr[57] 2D traveltime inversion Colin Zelt, Rice University Custom, non-commercial use only Unix, Linux Fortran 77, C
fast[58] 3D traveltime tomography Colin Zelt, Rice University Custom, non-commercial use only Unix, Linux Fortran 77, C
passeis[59] Passive seismic analysis Haishan Zheng, University of Saskatchewan Unclear Cross-platform MATLAB Needs MATLAB
seismon[60] Processing for earthquakes Stefan Mertl GPL Cross-platform MATLAB Needs MATLAB
PyShottab[61] Processing for ocean-bottom seismic Dalhousie University Unclear Cross-platform Python Windows binary
IGeoS (formerly SIA)[62] Geophysical processing and analysis University of Saskatchewan Custom, free for non-commercial use Unix, Linux C++ Interfaces with SU, GMT
Seizmo[63] Global seismic analysis Garrett Euler, Washington University in St. Louis Unclear Cross-platform MATLAB Octave-compatible

Probably defunct projects[edit]

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

Name Description Originator License Platforms Language Notes
openGPR[64] GPR processing and interpretation Mats Schuh GPL Linux Python No longer in active development
OpenICarre Integrated interpretation system IFP
MagIC-Py[65] Magnetic data processing Python
geoid[66] Geological mapping
ART[67] Ray tracing
Seismic Refraction Tomography[69] GPL


  1. ^
  2. ^
  3. ^
  4. ^
  5. ^
  6. ^
  7. ^
  8. ^
  9. ^
  10. ^
  11. ^
  12. ^
  13. ^
  14. ^
  15. ^
  16. ^
  17. ^
  18. ^
  19. ^
  20. ^
  21. ^
  22. ^
  23. ^
  24. ^
  25. ^
  26. ^
  27. ^
  28. ^
  29. ^
  30. ^
  31. ^
  32. ^
  33. ^
  34. ^
  35. ^
  36. ^
  37. ^
  38. ^
  39. ^
  40. ^
  41. ^
  42. ^
  43. ^
  44. ^
  45. ^
  46. ^
  47. ^
  48. ^
  49. ^
  50. ^
  51. ^
  52. ^
  53. ^
  54. ^
  55. ^
  56. ^
  57. ^
  58. ^
  59. ^
  60. ^
  61. ^
  62. ^
  63. ^
  64. ^
  65. ^
  66. ^
  67. ^
  68. ^
  69. ^