Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Slides: You can view the slides for the presentation in HTML here. Just use the keyboard arrow keys to navigate.

Video: Watch the talk on YouTube!

Proceedings: Download them at the official conference site

Code samples: Code to reproduce all figures in the proceedings is available as an IPython notebook on figshare doi:10.6084/m9.figshare.708390. A rendered version is also on nbviewer.


Uieda, L., V. C. Oliveira Jr, and V. C. F. Barbosa (2013), Modeling the Earth with Fatiando a Terra, in Proceedings of the 12th Python in Science Conference, pp. 91-98.

Modeling the Earth with Fatiando a Terra

Authors: Leonardo Uieda, Vanderlei C. Oliveira Jr, Valéria C. F. Barbosa

Solid Earth geophysics is the science of using physical observations of the Earth to infer its inner structure. Generally, this is done with a variety of numerical modeling techniques and inverse problems. The development of new algorithms usually involves copy and pasting of code, which leads to errors and poor code reuse. Added to this is a modeling pipeline composed of various tools that don't communicate with each other (Fortran/C for computations, large complicated I/O files, Matlab/VTK for visualization, etc). Fatiando a Terra is a Python library that aims to unify the modeling pipeline inside of the Python language. This allows users to replace the traditional shell scripting with more versatile and powerful Python scripting. Together with the new IPython notebook, Fatiando a Terra can integrate all stages of the geophysical modeling process, like data pre-processing, inversion, statistical analysis, and visualization. However, the library can also be used for quickly developing stand-alone programs that can be integrated into existing pipelines. Plus, because functions inside Fatiando a Terra use a common data and mesh format, existing algorithms can be combined and new ideas can build upon existing functionality. This flexibility facilitates reproducible computations, prototyping of new algorithms, and interactive teaching exercises. Although the project has so far focused on potential field methods (gravity and magnetics), some numerical tools for other geophysical methods have been developed as well. The library already contains: fast implementations of forward modeling algorithms (using Numpy and Cython), generic inverse problem solvers, unified geometry classes (prism meshes, polygons, etc), functions to automate repetitive plotting tasks with Matplotlib (automatic griding, simple GUIs, picking, projections, etc) and Mayavi (automatic conversion of geometry classes to VTK, drawing continents, etc). In the future, we plan to continuously implement classic and state-of-the-art algorithms as well as sample problems to help teach geophysics.

Author Bios

Leonardo Uieda is a PhD student of Geophysics at the Observatorio Nacional, Brazil, where he develops open-source software for geophysical modeling and inversion. In 2010, he started the development of Fatiando a Terra as a way to test and explore things learned in the class room and scholarly articles.

Vanderlei C. Oliveira Jr obtained a PhD in Geophysics at the Observatório Nacional, Brazil, with emphasis in potential field methods (gravity and magnetics) and inverse problems. He is currently developing methods for processing and inverting potential field data.

Valéria C. F. Barbosa is a researcher at the Observatorio Nacional, Brazil, working mainly on inverse problems in potential field methods.

Submission References


Code, proceedings and slides for the talk "Modeling the Earth with Fatiando a Terra" given at the SciPy Conference 2013






No releases published


No packages published