The applications of geoelectrical methods are becoming increasingly widespread for near surface investigations in many disciplines, due to their sensitivity to a wide variety of geological and hydrogeological properties. For field applications, collection of geoelectrical data is relatively straightforward, however, data processing can be challenging. Mature modelling codes exist, but they often require advanced knowledge of geophysics or programming to be used effectively. This paper complements recent presentations of ResIPy, an open source, and user-friendly, alternative. ResIPy consists of a graphical user interface (GUI) which utilises a modern tabbed design taking the user through each step of the geoelectrical data processing workflow, including data filtering, mesh generation, inversion and visualisation. ResIPy is capable of processing data from both electrical resistivity tomography (ERT) and induced polarization (IP) surveys, and has recently been updated with 3D inversion capability. The software is based around the mature inversion codes R2, cR2, R3t, and cR3t. In this paper we focus only on the 3D aspect. Processing of 3D ERT data with ResIPy is demonstrated and two case studies are showcased. The first case study is a 3D time lapse study of an active landslide with complex geology and topography, the second is a high resolution 3D survey of a river terrace deposit. In both cases, ResIPy allows relatively rapid data analysis and reduction of complexity normally associated with 3D survey data inversion. ###>>>>>>> Please cite this article as: >>>>>> Boyd, J., Blanchy, G., Saneiyan, S., McLachlan, P., & Binley, A. (2019). 3D Geoelectrical Problems with ResIPy, an Open Source Graphical User Interface for Geoelectrical Data Processing. FastTIMES, 24 (4), 85-92. doi:10.13140/RG.2.2.35381.63205 <<<<<<
Electrical resistivity tomography (ERT) and induced polarization (IP) methods are now widely used in many interdisciplinary projects. Although field surveys using these methods are relatively straightforward, ERT and IP data require the application of inverse methods prior to any interpretation. Several established non-commercial inversion codes exist, but they typically require advanced knowledge to use effectively. ResIPy was developed to provide a more intuitive, user-friendly, approach to inversion of geoelectrical data, using an open source graphical user interface (GUI) and a Python application programming interface (API). ResIPy utilizes the mature R2/cR2 inversion codes for ERT and IP, respectively. The ResIPy GUI facilitates data importing, data filtering, error modeling, mesh generation, data inversion and plotting of inverse models. Furthermore, the easy to use design of ResIPy and the help provided inside makes it an effective educational tool. This paper highlights the rationale and structure behind the interface, before demonstrating its capabilities in a range of environmental problems. Specifically, we demonstrate the ease at which ResIPy deals with topography, advanced data processing, the ability to fix and constrain regions of known geoelectrical properties, time-lapse analysis and the capability for forward modeling and survey design.
Geoelectrical methods provide volumetric electrical property distributions of the subsurface, which can be interpreted in terms of geological and petrophysical properties. In addition, relationships between electrical resistivity and moisture contents are well established, making geoelectrical methods an important tool for hydrogeophysicists. Lots of inversion frameworks are available for inversion of geophysical data; some require advanced knowledge of using complex command line tools, others provide graphical user interfaces (GUI) with limited control on the inversion process. This can make the process of inverting/modelling geoelectrical data for non-specialist users challenging. To tackle this issue and broaden the use of hydrogeophysics without cutting on its complexity, we designed pyR2 a free and open-source software with a modern tabbed graphical user interface and a python API (https://gitlab.com/hkex/pyr2), which is based around the mature R2/R3t and cR2/cR3t inversion codes. As the python wrapper is open source the scientific community can view, check and improve the code. The GUI allows the user access many of the powerful features of the inversion code, as well as relevant pre and post processing features (such as conversion into moisture contents), while its python API allows to create repeatable python scripts and jupyter notebooks. We will demonstrate how pyR2 can improve the use of hydrogeophysics for different applications: (1) monitoring of root water uptake from time-lapse ERT survey, (2) effect of soil compaction on soil moisture dynamics, (3) inversion of partially submerged electrodes survey in a river, (4) monitoring moisture dynamics of a landslide, (5) archeological features detection. Since a good data acquisition is a primordial step, pyR2 also includes modelling tools in order to design your survey prior to the actual field data acquisition. The ultimate aim is to demonstrate the usefulness of hydrogeophysics and make it easier to design, invert and interpret its results while keeping the user in full control. We hope this will allow to broaden the use of hydrogeophysics in other scientific communities.
Analysis and inversion of electrical resistivity tomography (ERT) and/or induced polarization (IP) data can be challenging. Among numerous codes that are developed for the purpose of ERT/IP data processing, very few non-commercial codes offer a graphical user interface (GUI) and many embedded their powerful cores in a command line interface. This will not only increase the data processing time (due to need for producing complex commands and input files) but also making the learning curve of such codes really steep and difficult. In pyR2, the goal is to do the data analysis and inversion as fast and efficient as possible while keeping the end user completely in control over the processing steps; by providing a powerful GUI package, that users do not need a complex knowledge of command line scripts. pyR2 is an open-source python wrapper around mature inversion codes (R2, R3, cR2 and cR3) which is capable of advanced data processing (e.g. filtering, error analysis and inversion tweaks) in both 2D and 3D space. Furthermore, having an open-source code that can be developed by an international community is a real advantage compared to a commercial interface. pyR2 is composed of a python application programming interface (API) which contains all the processing routines within a GUI written with PyQt5. pyR2’s API is separated from the main GUI script; hence, it can be used in typical python integrated development environments (IDE), such as jupyter notebooks or to create more automated inversion scripts. Although pyR2’s source code (which needs python to run) is available to public, a single stand-alone executable file is provided that can be run on any computer which needs minimal to no external packages to be installed initially (depending on the operating system – e.g. windows users need no external packages). Additionally, pyR2 is intended to be multiplatform, so can be run on Windows, macOS and Linux. This effort is the first stage of a bigger plan to create a collection of geophysical inversion codes in the open-source domain. We believe such a collection will provide the scientists and the industry to process geoelectrical data more efficiently and a greater collaboration opportunity that is not controlled by a few commercial developers.
Inversion codes for electrical resistivity tomography (ERT) and induced polarization (IP) either graphical or command line are numerous. However, sometimes the graphical user interfaces offer only a too simple approach with very little control over the inversion settings. In pyR2 the aim: (1) having a simple GUI so that novice user can easily use it and (2) still have the power in the GUI to operate more advanced data processing (e.g. filtering, error analysis and inversion tweaks). pyR2 is a python wrapper around the mature inversion codes R2/cR2. pyR2 is composed of a python application programming interface (API) which contains all the processing routines within a GUI written in PyQt5. pyR2 is completely open-source, and the source code is available online.