Getting started

Looking for an overview? Watch this recorded example (~20 min) that uses our tools to process public domain gravity data from the Bushveld Complex in South Africa.

No time for a video? You can also just browse the code in the Jupyter notebook used in the example.

New to Python? Checkout these links to excellent free resources for starting your Scientific Python journey.

Used Fatiando for research? Please cite us in your publications.

Recording of a talk about using Fatiando for gravimetry with a live demo of the software. Source code for the demonstration: leouieda/2021-06-22-gfz

Verde: Gridding, machine learning style

Verde offers spatial data processing and interpolation (gridding) with a sprinkling of machine learning.

Vertical ground velocity in California interpolated from GPS data with and without weights based on data uncertainty.

Pooch: Easily download datasets

Pooch is the easiest way to download data files to your computer. It is used to manage sample data downloads not only by our own tools but also other popular Scientific Python libraries: scikit-image, SciPy, MetPy, xarray, SHTOOLS, satpy, icepack, histolab, yt, napari, and more.

import pooch
import xarray as xr

# The Digital Object Identifier of the data
doi = "10.6084/m9.figshare.13643837"
# Known MD5 checksum (from figshare)
checksum = "md5:16c94a792003714efee2bdb4f3181d3a"
# Download the netCDF file and check integrity
fname = pooch.retrieve(
    url=f"doi:{doi}/australia-ground-gravity.nc",
    known_hash=checksum,
)
# fname is the path to the file
data = xr.load_dataset(fname)

Running this code multiple times will only result in a single download because the data are cached where Pooch can find it.

Harmonica: All things potential fields

Harmonica is our library for processing, forward modeling, and inversion of gravity and magnetic data. Our goal is to incentivise good practices by carefully designing the software and offering state-of-the-art methods with efficient implementations.

Residual gravity disturbances of the Bushveld Complex, South Africa, gridded to a uniform height with equivalent sources.

Boule: Ellipsoids and normal gravity

Boule defines reference ellipsoids for calculating normal gravity of the Earth and other planetary bodies (Moon, Mars, Venus, Mercury).

Normal gravity of the WGS84 ellipsoid calculated at the Earth's surface using an analytical expression (no free-air correction required).

Choclo: Kernel functions for your geophysical models

Optimized forward modelling functions for gravity and magnetic fields, specially tailored to be reused by other libraries, like Harmonica.

import choclo

# Define observation point
easting, northing, upward = 10.4e3, -5.6e3, 110.
# Define prism boundaries and physical properties
prism = [4e3, 12e3, -10e3, -2e3, -300., 20.]
density = 2910
magnetization = [1.2, -2.3, 1.0]
# Compute gravity field of the prism
g_u = choclo.prism.gravity_u(
    easting, northing, upward, *prism, density
)
# Compute magnetic field of the prism
b_e, b_n, b_u = choclo.prism.magnetic_field(
    easting, northing, upward, *prism, *magnetization
)

This code calculates the gravity acceleration and magnetic field generated by a single prism on a single observation point.

Ensaio: Practice datasets to probe your code

Ensaio makes it easy to download our open-access sample datasets. It taps into the Fatiando a Terra FAIR data collection which is designed for use in tutorials, documentation, and teaching.

A sample of the datasets available in Ensaio. From the top-left: gravity, geoid height, bathymetry, GPS velocity, global relief, and magnetic anomaly.

Interested?

We are always happy to welcome anyone who is interested in getting involved! Whether it be coding, teaching, designing, or just hanging out. Getting involved in open-source can be great way to meet new people, improve your coding skills, and make an impact in your field.

Happy community members at one of our weekly Fatiando calls.


News

Events

  • Weekly Fatiando Calls: we discuss various aspects of the project. All are welcome, regardless of skill level and prior knowledge! Notes and connection details: fatiando/community

  • AGU 2021: Going to the AGU Fall Meeting? Come to our talk! Details at fatiando/agu2021.