GeoBIPy – Geophysical Bayesian Inference in Python

Tuesday, 11 June 2019: 14:15
Davie West Building, DW103 (Florida Atlantic University)
Nathan Leon Foks, US Geological Survey, Advanced Research Computing, Denver, CO, United States and Burke J Minsley, USGS Geology, Geophysics, and Geochemistry Science Center, Denver, CO, United States
Abstract:
The catalogue of free open-source software for geophysical inversion has been growing over the past few years. Existing software use a variety of methods for inversion ranging from integral equation solutions to differential equation solutions that use finite difference, element, and volume methods. The majority of these algorithms use a deterministic methodology to provide an optimal subsurface physical property model given the prior constraints.

The Geophysical Bayesian Inference in Python package, or GeoBIPy, instead uses the probabilistic approach to inversion by providing the most likely estimation of model parameters as well as an ensemble of possible model parameters that suitably fit the measured data, given the apriori assumptions. Due to the additional computational expense of the probabilistic framework, and the large number of data considered for geophysical surveys, we limit our forward operators to 1D layered earth models. Since each data point can be inverted independently, we leverage MPI with the mpi4py package and large-scale distributed-memory supercomputers. To overcome the common file IO bottleneck of parallel algorithms GeoBIPy utilizes the parallel read and write capabilities of HDF5 with the h5py package. This approach reduces the file storage requirements and minimizes file-handling overhead, which we further bolster with parallel file system hardware such as Lustre.

GeoBIPy is an object-oriented, open-source Python package and is currently applied to large-scale, airborne and ground-based, frequency domain and time domain electromagnetic data, with extension to seismic, MT, and NMR data under development. We will present some example applications of GeoBIPy as well as discuss the object-oriented structure of the code and its parallel capabilities. We will discuss the scalability of GeoBIPy and show that data sets with hundreds of thousands of data points, previously taking over three months to invert, can be inverted in approximately two and a half days using 2016 cores.

GeoBIPy can be found on github at “https://github.com/usgs/geobipy”.