Publications

These are some of the publications involving our team members. All have PDF versions freely available (i.e., self-archived, open-access, or as preprints/postprints). Most also include links to source code and data.

Gradient-boosted equivalent sources

Soler, S.R. and Uieda, L. (2021)

Geophysical Journal International, doi:10.1093/gji/ggab297

PDF Data Code

Note: This research was done entirely with open-source software and open data! This means that anyone should be able to fully reproduce our results using the information in the paper and the material in the associated GitHub repository. This is the final part of Santiago's PhD thesis.

Abstract

The equivalent source technique is a powerful and widely used method for processing gravity and magnetic data. Nevertheless, its major drawback is the large computational cost in terms of processing time and computer memory. We present two techniques for reducing the computational cost of equivalent source processing: block-averaging source locations and the gradient-boosted equivalent source algorithm. Through block-averaging, we reduce the number of source coefficients that must be estimated while retaining the minimum desired resolution in the final processed data. With the gradient boosting method, we estimate the sources coefficients in small batches along overlapping windows, allowing us to reduce the computer memory requirements arbitrarily to conform to the constraints of the available hardware. We show that the combination of block-averaging and gradient-boosted equivalent sources is capable of producing accurate interpolations through tests against synthetic data. Moreover, we demonstrate the feasibility of our method by gridding a gravity dataset covering Australia with over 1.7 million observations using a modest personal computer.

Cite as

Soler, S. R., & Uieda, L. (2021). Gradient-boosted equivalent sources. Geophysical Journal International, 227(3), 1768–1783. https://doi.org/10.1093/gji/ggab297

Article Level Metrics

BibTex

@article{Soler2021,
  doi = {10.1093/gji/ggab297},
  url = {https://doi.org/10.1093/gji/ggab297},
  year = {2021},
  month = aug,
  publisher = {Oxford University Press ({OUP})},
  volume = {227},
  number = {3},
  pages = {1768--1783},
  author = {Santiago R Soler and Leonardo Uieda},
  title = {Gradient-boosted equivalent sources},
  journal = {Geophysical Journal International}
}

Pooch: A friend to fetch your data files

Uieda, L., Soler, S.R., Rampin, R., van Kemenade, H., Turk, M., Shapero, D., Banihirwe, A., and Leeman, J. (2020)

open-access Journal of Open Source Software, doi:10.21105/joss.01943

PDF Code

Note: This paper marks the release of Pooch v0.7.1, a Python library for downloading and managing data files. Pooch is a part of the new ecosystem of packages in Fatiando a Terra. The peer-review at JOSS is open and can be found on GitHub issue openjournals/joss-reviews#1943.

Abstract

Scientific software is usually created to acquire, analyze, model, and visualize data. As such, many software libraries include sample datasets in their distributions for use in documentation, tests, benchmarks, and workshops. A common approach is to include smaller datasets in the GitHub repository directly and package them with the source and binary distributions (e.g., scikit-learn and scikit-image do this). As data files increase in size, it becomes unfeasible to store them in GitHub repositories. Thus, larger datasets require writing code to download the files from a remote server to the user's computer. The same problem is faced by scientists using version control to manage their research projects. While downloading a data file over HTTPS can be done easily with modern Python libraries, it is not trivial to manage a set of files, keep them updated, and check for corruption. For example, scikit-learn, Cartopy, and PyVista all include code dedicated to this particular task. Instead of scientists and library authors recreating the same code, it would be best to have a minimalistic and easy to set up tool for fetching and maintaining data files. Pooch is a Python library that fills this gap. It manages a data registry (containing file names, SHA-256 cryptographic hashes, and download URLs) by downloading files from one or more remote servers and storing them in a local data cache. Pooch is written in pure Python and has minimal dependencies. It can be easily installed from the Python Package Index (PyPI) and conda-forge on a wide range of Python versions: 2.7 (up to Pooch 0.6.0) and from 3.5 to 3.8.

Cite as

Uieda, L., Soler, S., Rampin, R., van Kemenade, H., Turk, M., Shapero, D., et al. (2020). Pooch: A friend to fetch your data files. Journal of Open Source Software, 5(45), 1943. https://doi.org/10.21105/joss.01943

Article Level Metrics

BibTex

@article{Uieda2020,
  doi = {10.21105/joss.01943},
  url = {https://doi.org/10.21105/joss.01943},
  year = {2020},
  month = jan,
  publisher = {The Open Journal},
  volume = {5},
  number = {45},
  pages = {1943},
  author = {Leonardo Uieda and Santiago Soler and R{\'{e}}mi Rampin and Hugo van Kemenade and Matthew Turk and Daniel Shapero and Anderson Banihirwe and John Leeman},
  title = {Pooch: A friend to fetch your data files},
  journal = {Journal of Open Source Software}
}

Gravitational field calculation in spherical coordinates using variable densities in depth

Soler, S. R., Pesce, A., Gimenez, M. E., & Uieda, L. (2019)

Geophysical Journal International, doi:10.1093/gji/ggz277

PDF Data Code

Note: This paper builds upon our work on Tesseroids and extends the methodology to work for depth-variable densities. Santiago led this project, did most of the work and a large part of the writing of the paper. This is the first paper of his PhD thesis.

Abstract

We present a new methodology to compute the gravitational fields generated by tesseroids (spherical prisms) whose density varies with depth according to an arbitrary continuous function. It approximates the gravitational fields through the Gauss-Legendre Quadrature along with two discretization algorithms that automatically control its accuracy by adaptively dividing the tesseroid into smaller ones. The first one is a preexisting two dimensional adaptive discretization algorithm that reduces the errors due to the distance between the tesseroid and the computation point. The second is a new density-based discretization algorithm that decreases the errors introduced by the variation of the density function with depth. The amount of divisions made by each algorithm is indirectly controlled by two parameters: the distance-size ratio and the delta ratio. We have obtained analytical solutions for a spherical shell with radially variable density and compared them to the results of the numerical model for linear, exponential, and sinusoidal density functions. These comparisons allowed us to obtain optimal values for the distance-size and delta ratios that yield an accuracy of 0.1% of the analytical solutions. The resulting optimal values of distance-size ratio for the gravitational potential and its gradient are 1 and 2.5, respectively. The density-based discretization algorithm produces no discretizations in the linear density case, but a delta ratio of 0.1 is needed for the exponential and the sinusoidal density functions. These values can be extrapolated to cover most common use cases. However, the distance-size and delta ratios can be configured by the user to increase the accuracy of the results at the expense of computational speed. Lastly, we apply this new methodology to model the Neuquén Basin, a foreland basin in Argentina with a maximum depth of over 5000 m, using an exponential density function.

Cite as

Soler, S. R., Pesce, A., Gimenez, M. E., & Uieda, L. (2019). Gravitational field calculation in spherical coordinates using variable densities in depth. Geophysical Journal International, 218(3), 2150–2164. https://doi.org/10.1093/gji/ggz27

Article Level Metrics

BibTex

@article{Soler2019,
  doi = {10.1093/gji/ggz277},
  url = {https://doi.org/10.1093/gji/ggz277},
  year = {2019},
  month = jun,
  publisher = {Oxford University Press ({OUP})},
  volume = {218},
  number = {3},
  pages = {2150--2164},
  author = {Santiago R Soler and Agustina Pesce and Mario E Gimenez and Leonardo Uieda},
  title = {Gravitational field calculation in spherical coordinates using variable densities in depth},
  journal = {Geophysical Journal International}
}

The Generic Mapping Tools Version 6

Wessel, P., Luis, J. F., Uieda, L., Scharroo, R., Wobbe, F., Smith, W. H. F., & Tian, D. (2019)

open-access Geochemistry, Geophysics, Geosystems, doi:10.1029/2019GC008515

PDF Data Code

Note: This paper marks the release of GMT version 6. Most of the work done for this release had the goal of reducing barriers to entry for new users. The user experience as a whole has been improved and these changes are the foundation for my work on PyGMT. The development of the new modern mode was funded by our NSF EarthScope grant.

Abstract

The Generic Mapping Tools (GMT) software is ubiquitous in the Earth and Ocean sciences. As a cross-platform tool producing high quality maps and figures, it is used by tens of thousands of scientists around the world. The basic syntax of GMT scripts has evolved very slowly since the 1990s, despite the fact that GMT is generally perceived to have a steep learning curve with many pitfalls for beginners and experienced users alike. Reducing these pitfalls means changing the interface, which would break compatibility with thousands of existing scripts. With the latest GMT version 6, we solve this conundrum by introducing a new "modern mode" to complement the interface used in previous versions, which GMT 6 now calls "classic mode". GMT 6 defaults to classic mode and thus is a recommended upgrade for all GMT 5 users. Nonetheless, new users should take advantage of modern mode to make shorter scripts, quickly access commonly used global data sets, and take full advantage of the new tools to draw subplots, place insets, and create animations.

Cite as

Wessel, P., Luis, J. F., Uieda, L., Scharroo, R., Wobbe, F., Smith, W. H. F., & Tian, D. (2019). The Generic Mapping Tools Version 6. Geochemistry, Geophysics, Geosystems, 20(11), 5556–5564. https://doi.org/10.1029/2019gc008515

Article Level Metrics

BibTex

@article{Wessel2019,
  doi = {10.1029/2019gc008515},
  url = {https://doi.org/10.1029/2019gc008515},
  year = {2019},
  month = nov,
  publisher = {American Geophysical Union ({AGU})},
  volume = {20},
  number = {11},
  pages = {5556--5564},
  author = {P. Wessel and J. F. Luis and L. Uieda and R. Scharroo and F. Wobbe and W. H. F. Smith and D. Tian},
  title = {The Generic Mapping Tools Version 6},
  journal = {Geochemistry,  Geophysics,  Geosystems}
}

Efficient 3D large-scale forward-modeling and inversion of gravitational fields in spherical coordinates with application to lunar mascons

Zhao, G., Chen, B., Uieda, L., Liu, J., Kaban, M. K., Chen, L., & Guo, R. (2019)

Journal of Geophysical Research: Solid Earth, doi:10.1029/2019JB017691

PDF Data

Note: This new collaboration that came about in an unexpected way. Leo reviewed an initial version of this paper and it ended up being rejected by the journal. After which, the authors reached out and kindly asked if he wanted to help improve the paper further. We worked on this for the better part of a year, adding the inversion and lunar mascon application.

Abstract

An efficient forward modeling algorithm for calculation of gravitational fields in spherical coordinates is developed for 3D large‐scale gravity inversion problems. 3D Gauss‐Legendre quadrature (GLQ) is used to calculate the gravitational fields of mass distributions discretized into tesseroids. Equivalence relations in the kernel matrix of the forward‐modeling are exploited to decrease storage and computation time. The numerical tests demonstrate that the computation time of the proposed algorithm is reduced by approximately two orders of magnitude, and the memory requirement is reduced by N'λ times compared with the traditional GLQ method, where N'λ is the number of the model elements in the longitudinal direction. These significant improvements in computational efficiency and storage make it possible to calculate and store the dense Jacobian matrix in 3D large‐scale gravity inversions. The equivalence relations can be applied to the Taylor series method or combined with the adaptive discretization to ensure high accuracy. To further illustrate the capability of the algorithm, we present a regional synthetic example. The inverted results show density distributions consistent with the actual model. The computation took about 6.3 hours and 0.88 GB of memory compared with about a dozen days and 245.86 GB for the traditional 3D GLQ method. Finally, the proposed algorithm is applied to the gravity field derived from the latest lunar gravity model GL1500E. 3D density distributions of the Imbrium and Serenitatis basins are obtained, and high‐density bodies are found at the depths 10‐60 km, likely indicating a significant uplift of the high‐density mantle beneath the two mascon basins.

Cite as

Zhao, G., Chen, B., Uieda, L., Liu, J., Kaban, M. K., Chen, L., & Guo, R. (2019). Efficient 3‐D Large‐Scale Forward Modeling and Inversion of Gravitational Fields in Spherical Coordinates With Application to Lunar Mascons. Journal of Geophysical Research: Solid Earth, 124(4), 4157–4173. https://doi.org/10.1029/2019jb017691

Article Level Metrics

BibTex

@article{Zhao2019,
  doi = {10.1029/2019jb017691},
  url = {https://doi.org/10.1029/2019jb017691},
  year = {2019},
  month = apr,
  publisher = {American Geophysical Union ({AGU})},
  volume = {124},
  number = {4},
  pages = {4157--4173},
  author = {Guangdong Zhao and Bo Chen and Leonardo Uieda and Jianxin Liu and Mikhail K. Kaban and Longwei Chen and Rongwen Guo},
  title = {Efficient 3-D Large-Scale Forward Modeling and Inversion of Gravitational Fields in Spherical Coordinates With Application to Lunar Mascons},
  journal = {Journal of Geophysical Research: Solid Earth}
}

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

Uieda, L. (2018)

open-access Journal of Open Source Software, doi:10.21105/joss.00957

PDF Code

Note: This paper marks the release of Verde v1.0.0, a Python library for processing and gridding spatial data. Verde is a part of the new ecosystem of packages in Fatiando a Terra. The peer-review at JOSS is open and can be found on GitHub issue openjournals/joss-reviews#957.

Abstract

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.

Cite as

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

Article Level Metrics

BibTex

@article{Uieda2018,
  doi = {10.21105/joss.00957},
  url = {https://doi.org/10.21105/joss.00957},
  year = {2018},
  month = oct,
  publisher = {The Open Journal},
  volume = {3},
  number = {30},
  pages = {957},
  author = {Leonardo Uieda},
  title = {Verde: Processing and gridding spatial data using Green's functions},
  journal = {Journal of Open Source Software}
}

Fast non-linear gravity inversion in spherical coordinates with application to the South American Moho

Uieda, L., and V. C. F. Barbosa (2017)

Geophysical Journal International, doi:10.1093/gji/ggw390

PDF Data Code

Abstract

Estimating the relief of the Moho from gravity data is a computationally intensive non-linear inverse problem. What is more, the modeling must take the Earths curvature into account when the study area is of regional scale or greater. We present a regularized non-linear gravity inversion method that has a low computational footprint and employs a spherical Earth approximation. To achieve this, we combine the highly efficient Bott's method with smoothness regularization and a discretization of the anomalous Moho into tesseroids (spherical prisms). The computational efficiency of our method is attained by harnessing the fact that all matrices involved are sparse. The inversion results are controlled by three hyper-parameters: the regularization parameter, the anomalous Moho density-contrast, and the reference Moho depth. We estimate the regularization parameter using the method of hold-out cross-validation. Additionally, we estimate the density-contrast and the reference depth using knowledge of the Moho depth at certain points. We apply the proposed method to estimate the Moho depth for the South American continent using satellite gravity data and seismological data. The final Moho model is in accordance with previous gravity-derived models and seismological data. The misfit to the gravity and seismological data is worse in the Andes and best in oceanic areas, central Brazil and Patagonia, and along the Atlantic coast. Similarly to previous results, the model suggests a thinner crust of 30-35 km under the Andean foreland basins. Discrepancies with the seismological data are greatest in the Guyana Shield, the central Solimões and Amazonas Basins, the Paraná Basin, and the Borborema province. These differences suggest the existence of crustal or mantle density anomalies that were unaccounted for during gravity data processing.

Cite as

Uieda, L., & Barbosa, V. C. F. (2016). Fast nonlinear gravity inversion in spherical coordinates with application to the South American Moho. Geophysical Journal International, 208(1), 162–176. https://doi.org/10.1093/gji/ggw390

Article Level Metrics

BibTex

@article{Uieda2016,
  doi = {10.1093/gji/ggw390},
  url = {https://doi.org/10.1093/gji/ggw390},
  year = {2016},
  month = oct,
  publisher = {Oxford University Press ({OUP})},
  volume = {208},
  number = {1},
  pages = {162--176},
  author = {Leonardo Uieda and Val{\'{e}}ria C.F. Barbosa},
  title = {Fast nonlinear gravity inversion in spherical coordinates with application to the South American Moho},
  journal = {Geophysical Journal International}
}

Tesseroids: forward modeling gravitational fields in spherical coordinates

Uieda, L., V. Barbosa, and C. Braitenberg (2016)

Geophysics, doi:10.1190/geo2015-0204.1

PDF Code

Note: This paper describes the algorithms used in version 1.2.0 of the open-source software Tesseroids.

Abstract

We present the open-source software Tesseroids, a set of command-line programs to perform the forward modeling of gravitational fields in spherical coordinates. The software is implemented in the C programming language and uses tesseroids (spherical prisms) for the discretization of the subsurface mass distribution. The gravitational fields of tesseroids are calculated numerically using the Gauss-Legendre Quadrature (GLQ). We have improved upon an adaptive discretization algorithm to guarantee the accuracy of the GLQ integration. Our implementation of adaptive discretization uses a "stack" based algorithm instead of recursion to achieve more control over execution errors and corner cases. The algorithm is controlled by a scalar value called the distance-size ratio (D) that determines the accuracy of the integration as well as the computation time. We determined optimal values of D for the gravitational potential, gravitational acceleration, and gravity gradient tensor by comparing the computed tesseroids effects with those of a homogeneous spherical shell. The values required for a maximum relative error of 0.1% of the shell effects are D = 1 for the gravitational potential, D = 1.5 for the gravitational acceleration, and D = 8 for the gravity gradients. Contrary to previous assumptions, our results show that the potential and its first and second derivatives require different values of D to achieve the same accuracy. These values were incorporated as defaults in the software.

Cite as

Uieda, L., Barbosa, V. C. F., & Braitenberg, C. (2016). Tesseroids: Forward-modeling gravitational fields in spherical coordinates. GEOPHYSICS, 81(5), F41–F48. https://doi.org/10.1190/geo2015-0204.1

Article Level Metrics

BibTex

@article{Uieda2016,
  doi = {10.1190/geo2015-0204.1},
  url = {https://doi.org/10.1190/geo2015-0204.1},
  year = {2016},
  month = sep,
  publisher = {Society of Exploration Geophysicists},
  volume = {81},
  number = {5},
  pages = {F41--F48},
  author = {Leonardo Uieda and Val{\'{e}}ria C. F. Barbosa and Carla Braitenberg},
  title = {Tesseroids: Forward-modeling gravitational fields in spherical coordinates},
  journal = {{GEOPHYSICS}}
}