Verde: Processing and gridding spatial data using Green's functions

Leonardo Uieda


This paper marks the first release of Verde, a Python library for processing and gridding spatial data. Verde is the first part of a large-scale refactoring of the Fatiando a Terra project into separate packages.

The peer-review at JOSS is open and can be found at openjournals/joss-reviews#957.

Example of using verde.BlockMean with data uncertainties.
Figure: Example of using verde.BlockMean to calculate weighted means in spatial blocks assuming different uncertainty models. Full source code to produce this image is available in the Verde example gallery.


Verde is a Python library for gridding spatial data using different Green's functions. It differs from the radial basis functions in scipy.interpolate by providing an API inspired by scikit-learn. The Verde API should be familiar to scikit-learn users but is tweaked to work with spatial data, which has Cartesian or geographic coordinates and multiple data components instead of an X feature matrix and y label vector. The library also includes more specialized Green's functions, utilities for trend estimation and data decimation (which are often required prior to gridding), and more. Some of these interpolation and data processing methods already exist in the Generic Mapping Tools (GMT), a command-line program popular in the Earth Sciences. However, there are no model selection tools in GMT and it can be difficult to separate parts of the processing that are done internally by its modules. Verde is designed to be modular, easily extended, and integrated into the scientific Python ecosystem. It can be used to implement new interpolation methods by subclassing the verde.base.BaseGridder class, requiring only the implementation of the new Green's function. For example, it is currently being used to develop a method for interpolation of 3-component GPS data.


Article Level Metrics


Uieda, L. (2018). Verde: Processing and gridding spatial data using Green's functions. Journal of Open Source Software, 3(30), 957. doi:10.21105/joss.00957