An open-source Python library for modeling and inversion in geophysics.

Our goal is provide a comprehensive and extensible framework for geophysical data analysis and the development of new methodologies.

Research: Fatiando allows you to write Python scripts to perform your data analysis and generate figures in a reproducible way.

Development: Designed for extensibility, Fatiando offers tools for users to build upon the existing infrastructure and develop new inversion methods. We take care of the boilerplate.

Teaching: Fatiando can be combined with the Jupyter notebook to make rich, interactive documents. Great for teaching fundamental concepts of geophysics.

## Overview

### Gravity and magnetics

Modeling, inversion, and processing for potential field methods.

3D forward modeling with prisms, polygonal prisms, spheres, and tesseroids. Handles the potential, acceleration, gradient tensor, magnetic induction, total field magnetic anomaly.

### Seismology and Seismics

Simple modeling functions for seismics and seismology.

Toy problems for: Cartesian straight-ray tomography, VSP, epicenter estimation. Experimental finite-difference wave propagation.

### Inverse Problems

API for building inverse problem solvers.

Easily prototype a new inversion. Simple and uniform sintax for running invsersions. Ready-made regularization (damping, smoothness, total variation).

### 2D and 3D plotting

Utilities for plotting with matplotlib and Mayavi.

Better defaults for some matplotlib functions, plot 3D objects from fatiando.mesher in Mayavi, automate common plotting tasks.

### Grid manipulation

Functions for generating and operating on regular grids and data that is on a map.

Generate regular grids and point scatters. Cut grids and extract profiles. Interpolate irregular data.

### Geometric objects and meshes

Classes that represent geometric objects (points, prisms, polygons, tesseroids) and meshes (regular prism mesh, points on a grid).

Standard classes used in all of Fatiando. Efficient classes for meshes that save storage and behave as iterators.

## Getting started

See the install instructions to set up your computer and install Fatiando.

Once you have everything installed, take a look at the Documentation for a detailed tour of the library. You can also browse the Cookbook for examples of what Fatiando can do.

Keep up-to-date with the project by signing up to our mailing list. New releases, events, and user feedback requests are all communicated through the list.

## Getting help

If you come across a bug, please include in your message: your operating system, Python version, Fatiando version, code that generated the error, the full error message.

## Contributing

You don’t need to be a programmer to contribute. You can start by sending us your feedback: bug reports, feature requests, code contributions, spelling corrections, usage examples, etc.

We need a lot of help improving the documentation. You can help by reporting typos, suggesting new sections and improvements, and anything that you think would make the docs better in any way.

If you want to mess with the code, take a look at our Developer Guide. Don’t be afraid to ask for help getting started!

#### Support us!

Fatiando is research software made by scientists. See Citing to find out how to cite it in your publications.

## Announcements

• April 2016: Fatiando a Terra v0.4 released! See what is new in this released in the Changelog.
• October 2014: Fatiando was featured on volume 89 of the bulletin of the Brazilian Geophysical Society (SBGf). Read it on page 13 of the PDF file (in Portuguese).
• July 2014: We presented a poster at Scipy 2014 about the fatiando.inversion package. See the Github repo for the poster and source code behind it.