You are on page 1of 9

Journal of Geophysics and Engineering

J. Geophys. Eng. 15 (2018) 338–346 (9pp) https://doi.org/10.1088/1742-2140/aa93ad

pyres: a Python wrapper for electrical


resistivity modeling with R2
Kevin M Befus
Civil and Architectural Engineering, University of Wyoming, Laramie, WY 82071 United States of
America

Downloaded from https://academic.oup.com/jge/article-abstract/15/2/338/5078495 by guest on 31 March 2020


E-mail: kbefus@uwyo.edu

Received 5 July 2017, revised 25 August 2017


Accepted for publication 16 October 2017
Published 5 February 2018

Abstract
A Python package, pyres, was written to handle common as well as specialized input and output
tasks for the R2 electrical resistivity (ER) modeling program. Input steps including handling field
data, creating quadrilateral or triangular meshes, and data filtering allow repeatable and flexible
ER modeling within a programming environment. pyres includes non-trivial routines and
functions for locating and constraining specific known or separately-parameterized regions in
both quadrilateral and triangular meshes. Three basic examples of how to run forward and
inverse models with pyres are provided. The importance of testing mesh convergence and model
sensitivity are also addressed with higher-level examples that show how pyres can facilitate
future research-grade ER analyses.

Keywords: electrical resistivity, inversion, Python, sensitivity test


(Some figures may appear in colour only in the online journal)

1. Introduction automated sensitivity tests in addition to standard forward and


inverse modeling.
Electrical resistivity (ER) geophysical surveys are widely While many users of the R2 package have undoubtedly
used across many disciplines to image subsurface and sub- created their own codes for managing and manipulating the
structure electrical properties (Loke et al 2013). Of numerous text files input to and output from R2, no published or open-
commercial (Loke and Barker 1996) and open-source source code is currently available that provides an object-
(Günther et al 2006, Rücker et al 2006, Pidlisecky et al 2007, oriented programming interface for R2 or that incorporates
Pidlisecky and Knight 2008, Karaoulis et al 2013) software mesh creation and parameterization for R2. The pyres Python
packages for modeling ER data, the freeware package R2 wrapper package for R2 creates a powerful and flexible pro-
(Binley and Kemna 2005) is commonly used for processing grammatic interface (i.e., not a graphical user interface) for
two-dimensional ER tomography data (Ward et al 2012, modeling and analyzing ER datasets without any commercial
Comas et al 2015, Sawyer et al 2015, Pasquet et al 2016). software or expensive licensing.
The inverse problem solved in ER models is unde-
termined, where the quantity of solution locations far out-
numbers the ‘knowns’ or measurements (Binley and 2. Code structure
Kemna 2005). Thus, it is standard practice to invert a dataset
several times to test the sensitivity of the resulting model to The pyres package contains a minimal number of dependent
input parameters. However, conducting these sensitivity tests packages beyond the standard Python installation, using only
can be tedious, often requiring significant bookkeeping and the NumPy, SciPy, and Matplotlib packages. Several modules
seemingly near-endless explorations of menus in some soft- comprise the pyres package with Python class objects for
ware packages. As a simple compiled executable without a developing the necessary components to run R2 or for sup-
user interface, R2 provides a robust ER toolset than can be porting functions (table 1). Users can also load additional
readily run using native Python packages, leaving only the packages and their own routines to perform pre- and post-
development of numerous input and output files to perform processing steps that are not included in pyres. To run a

1742-2132/18/020338+09$33.00 338 © 2018 Sinopec Geophysical Research Institute Printed in the UK


J. Geophys. Eng. 15 (2018) 338 K M Befus

Table 1. Code structure of pyres for two-dimensional ER data and models.

Package Module Class Function Description


pyres Package for managing R2 models and ER data
r2_tools Module use to create inputs and run R2
R2 Object used to create inputs and run R2
r2_in Create R2.in file
r2_protocol Create protocol.dat
run_r2 Run model in R2
run_all Run r2_in, r2_protocol, and run_r2 sequentially
mesh_tools Module used to construct triangular mesh with Gmsh
meshR2 Object used to construct triangular mesh with Gmsh
make_strxyz Define electrode positions if not already specified
make_points Create mesh nodes from input electrode positions
make_lines Create connecting lines between specified points

Downloaded from https://academic.oup.com/jge/article-abstract/15/2/338/5078495 by guest on 31 March 2020


make_boundaries Create foreground and background mesh regions
make_surfaces Create surfaces from defined lines
make_regions Create region in mesh
write_geo Write Gmsh .geo file
run_gmsh Run gmsh.exe
locate_inf_electrode Define mesh node to act as infinite electrode
msh_to_dat Convert .msh file into R2 .dat file
make_mesh Run all make_* functions sequentially and run Gmsh
mesh_utils Module with functions related to meshing
make_region Identify and create mesh components to define mesh region
quad_mesh_region Define a region for a quadrilateral mesh
make_tri_region_elements Define regions for a triangular mesh
find_boundary_pts Identify mesh nodes not contributing to area of mesh
load_region_xyz Load three column delimited text file to array
insert_key_halfway Helper function for inserting key into Python dictionary
renumber_dict Renumber Python dictionary keys in a sorted order
check_dict_entries Check if dictionary entry exists in another dictionary
plot_utils Module with functions related to plotting
calculate_appres Calculate the apparent resistivity if provided array data
calc_pseudo_locs Calculate pseudo-depths and line locations
plot_raw Plot raw resistance data and identify bad data
plot_pseudo Plot pseudo-section of apparent resistivity data
plot_quad_mesh Plot quadrilateral element mesh
plot_tri_res Plot output on triangular element mesh
plot_res Grid and plot output from R2
log_steps Create array of log10-ordered values for plotting
pyres_utils Module with functions and variables used in pyres
doi_oldenburg_li_func A depth of investigation function (Oldenburg and Li 1999)
doi_analysis Calculated depth of investigation with function provided
load_fwd_output Load results of R2 forward model to single array
load_inv_output Load results of R2 inverse model to single array
read_trn Read AGI .trn file to xyz array
load_er_data Load measurement data saved from an ER survey
grid_inv_data Reorganize R2 inverse .dat file into gridded arrays
make_synthetic_survey Define electrodes for dipole–dipole or Wenner arrays
match_xy Find matching x–y pairs in target array with search array
extrap Extrapolate data values beyond known values in 1D
run_cmd Run executable from the command line (e.g., Gmsh or R2)

forward or inverse model with pyres, R2 must be installed on The basic workflow for pyres follows the standard
the system, and the R2 directory must be inserted into the workflow for running R2 without Python. To run a forward
operating system’s ‘path’ either through an environmental model in R2, the finite element mesh must be defined with
variable or as part of the Python script. The most recent either node spacing information or from a pre-made mesh file,
version of R2 (R2 v3.1) was used to develop pyres, and along with the electrode combinations and their locations, an
updates to pyres are planned to allow compatibility with earth model that provides the ER structure that is to be
future releases. investigated, and numerous model options built into R2. For

339
J. Geophys. Eng. 15 (2018) 338 K M Befus

an inverse model, additional model options are specified for


the inverse problem along with providing the ER measure-
ments for each electrode combination, in addition to the
inputs required for the forward model.
Given these steps for modeling ER data in R2, pyres first
prescribes the electrode configuration either by defining the
number and spacing of electrodes or by loading in survey data
through pyres_utils.load_er_data. Next, the discretization of
the mesh is defined along with the definition of the length
scales controlling the size of the foreground and background
solution domains. If the mesh is made of quadrilateral ele-
ments, then the discretization of the mesh nodes can be
defined using NumPy arrays. For a triangular mesh, pyres
includes functionality to construct a triangular finite element

Downloaded from https://academic.oup.com/jge/article-abstract/15/2/338/5078495 by guest on 31 March 2020


mesh using the freeware program Gmsh (http://gmsh.info)
using the meshtools.meshR2 class. Regions within the mesh
with a priori information are defined either during the mesh
creation for a triangular mesh or after the mesh arrays are Figure 1. Example of pyres implementing a forward and inverse
made for a quadrilateral mesh (see section 3.1. R2 examples). model using R2 including surface topography. (a) The forward
Since pyres constructs the mesh, the node and element indices model domain with a 10 Ω m target in a 100 Ω m half space. (b) The
inverted ER tomogram from running the forward model. (c) The
required for assigning regions of a priori information or normalized misfit for the inversion results defined in equation (1).
constrained with additional parameterization can be readily
located and incorporated into the R2 input data files. Simi-
inverse model input parameters for the R2 distribution exam-
larly, topographic information can be added to quadrilateral
ples to demonstrate the capabilities and options in pyres. While
and triangular meshes (see R2 example 2 for quadrilateral
all eight example scripts are available in the pyres distribution,
mesh). Next, the two input files for R2, protocol.dat and R2.
only two of the examples will be explained further here. For
in, are created with the r2_tools.R2 class using an electrode
more information on the Occams type inversion performed by
configuration defined by measured input data or a synthetic
R2 and ER surveys more generally, the reader is referred to
survey with the pyres_utils.make_synthetic_survey function.
Binley (2016) and Binley and Kemna (2005).
The r2_tools.R2 class can then be used to directly run R2
The first example of using pyres for R2 forward and inverse
with the r2_tools.R2.run_r2 command without copying the
modeling is to show how pyres implements line topography on a
executable into the directory containing the R2 input files.
25 electrode dipole–dipole array (Surface electrode array 2 in R2
In addition to managing R2 inputs and running R2 forward
documentation; script: R2_examples/Surface_2_dpdp.py). The
and inverse models, pyres also contains several other input and
synthetic earth model for this example contains a 2 m long by
output methods that can be incorporated with user-defined
3 m deep 10 Ω m target block 1 m below the surface within
Python code for higher-level pre- or post-processing steps.
100 Ω m background half space (figure 1(a)). The land surface
When working with noisy ER data, pseudo-sections plotting
elevation increases in the direction of higher line distances with a
apparent resistivity as a function of dipole spacing is a common
slope of 0.01 m/m. The inversion converged after two iterations
tool for locating data of questionable quality. Thus, pyres
and correctly located the lower resistivity target (figure 1(b)).
includes the option to plot the pseudo-section (plot_utils.
However, the inversion overestimated the target resistivity by
plot_pseudo) or the raw resistance data (plot_utils.plot_raw),
approximately a factor of three (2.7–3.1) and was quantified
where plotting of the raw data can incorporate simple quality
using the normalized misfit (figure 1(c)):
control tests. After the ER model has been run, the results are
loaded into Python for post-processing analyses using the r - r inverted
Normalized misfit = known (1 )
pyres_utils.load_fwd_output or pyres_utils.load_inv_output r known
functions for forward and inverse model data, respectively. For
plotting the ER inversion results, plot_utils.plot_res or plo- with ρ the ER for known and inverted earth models.
t_utils.tri_plot_res both load and plot the data for ER models The second example of using pyres to model ER data
with quadrilateral or triangular elements, respectively. with R2 demonstrates how to construct a finite element mesh
comprised of triangular elements (Surface electrode array 8 in
R2 documentation; script: R2_examples/Surface_8_dpdp.
3. Examples py). The earth model again contains a 10 Ω m conductor in a
100 Ω m half space, but there is no topography included
(figure 2(a)). The construction of the triangular mesh is
3.1. Forward–inverse models from R2 documentation
achieved by calling mesh_tools.meshR2 with options detail-
Python scripts for all eight surface electrode array examples ing the electrode spacing, number of electrodes per line, target
from the R2 documentation are included with the pyres dis- information, and discretization options for the domain fore-
tribution (Binley 2016). These scripts replicate the forward and ground and background. Topographic information for the

340
J. Geophys. Eng. 15 (2018) 338 K M Befus

3.3. Mesh convergence

One of the goals of ER inversion testing is to maximize the


fidelity of the inverted tomogram while using as coarse a
mesh as will appropriately model the ER problem. Too coarse
of a mesh could cause the inversion to converge slowly and
not solve for resolvable ER features. Whereas, a very fine
mesh could resolve all of the resolvable ER features while
requiring significant computational resources that were not
strictly necessary to resolve those features. For only modeling
the forward ER problem, the mesh discretization can also
affect the resulting resistance measurements.
Figure 2. Example of a forward and inverse model using triangular Given the importance of constructing a mesh that is
finite elements with (a) the prescribed half space and target and (b) computationally efficient while still being capable of using

Downloaded from https://academic.oup.com/jge/article-abstract/15/2/338/5078495 by guest on 31 March 2020


the inverted tomogram. the data fully, mesh convergence analyses can be performed
to test how well differently constructed meshes perform for
inverting a specific dataset. Mesh convergence tests use
land surface can be supplied to the meshing procedure, as in increasing finer computational meshes to solve the same
the field data example in section 3.2. Like the previous mathematical problem to establish the mesh resolution
example, the inversion converged in two iterations and required to model the problem ‘sufficiently accurately’. As an
located the conductive target while overestimating its ER. example of testing mesh convergence, 105 different inver-
Similar to the .vtk outputs created by R2, pyres can plot the sions of the Surface electrode array 2 forward problem with
inversion results on the triangular mesh using the plot_utils. topography and a buried conductor were performed using
plot_tri_res function. increasingly finer meshes, defined by an increasing number of
mesh divisions per electrode spacing. For each inversion, the
normalized misfit (equation (1)) between the known earth
3.2. Field data inversion model and the inverted model were calculated and then
integrated over both the whole model domain as well as
Field ER measurements can also be inverted and used to separately over the elements defining the conductive target
construct the input finite element mesh using pyres. As an (figure 4). The integrated misfit over the whole domain
example, a 56 electrode dipole–dipole survey is loaded and quantifies how well both the target and the surrounding
inverted in R2_examples/FieldData_Example.py, which was medium are resolved using a given mesh, while the misfit for
collected near a beach in Rarotonga, Cook Islands (Befus only the target area shows how accurately the inversion pre-
et al 2014). This dataset was chosen as the field example and dicts the ER of only the target area. Alone, the conductive
for later analysis of the sensitivity of the inversion to the error target converges to stable integrated misfit values when three
model parameters since it contains three distinct ER targets: mesh divisions per electrode are used, suggesting at least
(1) a vadose zone, (2) a freshwater lens, and (3) a saltwater three mesh divisions per electrodes are needed to accurately
wedge. The ability to accurately determine the locations model the target. However, the whole domain misfit only
and features of such targets is important for hydrologic stabilizes with more than seven mesh divisions per electrode,
interpretation. where eight mesh divisions were surreptitiously used in the
A mesh with triangular elements is constructed using a original example (figure 1).
characteristic node spacing of one-sixth of the 1.25 m elec- Thus, the mesh discretization is an important control on
the inverted ER structure, especially for increasingly coarse
trode spacing. The land surface topography is loaded using a
meshes. For large ER datasets, this effect of the mesh on the
delimited text file. Unlike the previous synthetic examples,
inversion results becomes more important; as more compu-
this field survey could contain noisy or erroneous data points.
tational resources are required, and the mesh could be con-
The plot_utils.plot_raw function can both plot and filter the
structed too coarsely to accurately model the ER structure in
raw measured resistances, which for this dataset do not con-
an effort decrease the computational needs. Often, ER
tain any poor quality data that exceed 75% misfit in seven inversion software prescribes default mesh spacing based on
point moving kernels. The inverse model converged after two the electrode configuration, potentially overcoming this
iterations (figure 3(a)). The unitless model sensitivity showed potential mesh convergence problem. The pyres package
the expected decrease in modeled ER values to the measured facilitates conducting mesh convergence tests by operating
resistances with depth (figure 3(b)) and can be used to mask within a programmatic environment, but mesh convergence
areas of the inverted ER model that contain poorly con- tests can and should be performed using other ER inversion
strained values (figure 3(c)). In this example, the inverted data software to ensure defensible ER results and interpretations.
were bilinearly interpolated to a regular grid prior to plotting While not performed in the mesh convergence example,
instead of plotting triangular elements, as was done in the the number of mesh divisions can change in different direc-
second synthetic model example. tions, where the effects of mesh anisotropy could also be

341
J. Geophys. Eng. 15 (2018) 338 K M Befus

Downloaded from https://academic.oup.com/jge/article-abstract/15/2/338/5078495 by guest on 31 March 2020


Figure 3. Example of inverted field data after Line L4 in Befus et al (2014). (a) Tomogram of inverted results, (b) model sensitivity data (i.e.,
diagonal of sensitivity matrix), and (c) transparency applied to inverted tomogram using a minimum sensitivity value of 10−5 and full
sensitivity as 10−2.

investigated. Alternatively, irregular quadrilateral meshes (and is included in pyres: pyres_utils.oldenburg_li_doi), other
with non-uniform column and row spaces could be tested parameters in the forward and inverse modeling steps can also
using a more constrained mesh discretization (e.g., a R2 ‘type influence the resulting synthetic data or tomogram, including the
5’ mesh). electrode configuration, noise in the measurements, and the
model parameters (Day-Lewis et al 2005). The pyres package
3.4. Sensitivity test facilitates developing extensive parameter sweeps by looping
over parameter ranges and combinations of interest, ultimately
Sensitivity tests are designed to explore how parameters running the ER model for each parameter combination. Simi-
within either inverse or forward models control the resulting larly, for planning ER surveys, the resolvability of resistive or
ER tomogram. The depth of investigation (DOI) analysis after conductive targets can be explored using deterministic or sta-
Oldenburg and Li (1999) is an example of a well-established tistical distributions of the target dimensions, line location, and
sensitivity test in the ER community using different starting depth along with varying electrode spacing.
models for the inversion to estimate how well the data con- A simple example was conducted using the error var-
strain the inverted tomogram (i.e., the sensitivity of the iance model weighting parameters, a and b, to demonstrate
result to the starting ER model). The DOI is calculated as the utility of pyres for testing the sensitivity of inverted
(Oldenburg and Li 1999): models to parameter contributions. The error variance model,
ER (x , z)1 - ER (x , z)2 var(R) is defined by (Binley 2016):
DOI = , (2 )
m1r - m 2r
var (R) = a2 + b2R 2 (3 )
where ER(x, z)i refers to the inverted ER models and mir are the
constant reference models with i=1, 2 representing two mod- with R the measured resistance values. Thus, a defines the
els. While the DOI analysis is useful and convenient to calculate offset error of the data in the units of R [Ω], and b is the

342
J. Geophys. Eng. 15 (2018) 338 K M Befus

Downloaded from https://academic.oup.com/jge/article-abstract/15/2/338/5078495 by guest on 31 March 2020


Figure 4. A mesh convergence test for a buried conductor with sloping surface topography (Surface electrode array 2; figure 1(a)). The
integrated misfit decreases as a function of smaller mesh elements for the total solution domain after seven and for the conductive target to
about three mesh divisions per electrode. The discretization of the forward model used to create the input data for the inversion also affected
the integrated misfit, especially when considering the whole domain.

relative error in R and is unitless. For the sensitivity test, a was


log-linearly varied from 10−4 to 10 Ω, where the maximum
measured resistance was 32.0 Ω and the median 0.02 Ω, and b
varied from 10−2 to 0.5 along with a and b equaling zero.
Thus, the field data were inverted 132 times to perform the
sensitivity test using all combinations of a and b (figures 5 and
6(a)). When both a and b are zero, R2 uses the standard
deviation in R from each measurement and ideally collected
with reciprocal measurements and not from repeat measure-
ments. However, only repeat measurements were available
from the example field data, so the standard deviation in R was
estimated by multiplying the repeat measurement error by the
measured R. It is important to note that not all combinations of
a and b will lead to meaningful model convergence (i.e., where
the starting model is treated as ‘converged’ due to large a or b)
or low root mean square error (rms) values. Each inversion
Figure 5. Convergence behavior for the inverted field data with
used the same triangular finite element mesh and was allowed varying parameters for the error variance model, a and b in
up to ten outer iterations to converge. equation (3).
The convergence of the inverse models showed the
expected behavior of poor convergence at both high and very other parameter set to zero, the inversion did not converge
low a and b values along with more iterations required for after ten iterations for a<10−3.5 Ω and b<10−2 as the
convergence when either a or b was low (figure 5). When the inversion attempted to alter the earth model to account for
error variance model was constrained only by a or b with the very small variations in the measured data. Conversely,

343
J. Geophys. Eng. 15 (2018) 338 K M Befus

Downloaded from https://academic.oup.com/jge/article-abstract/15/2/338/5078495 by guest on 31 March 2020


Figure 6. Results of the inverted field data showing the (a) inverted tomograms using the same color scheme as figure 3 and (b) the
normalized misfit of the inverted models relative to the inversion shown in figure 3 using a=10−2 Ω and b=0.03 (outlined in red). The
tomograms include the full foreground domain and are not masked like the tomogram in figure 3.

inversions with extremely large error parameters (a=10 Ω zone overlying saturated sediment (Befus et al 2014). Addi-
and b=0.5) resulted in rms values for the starting model tionally, towards the beginning or left side of the tomogram,
(constant half space of 100 Ω m) that could represent a the resistive layer thins and nearly the entire tomogram
solution to the inverse problem, which R2 treats as a ‘fatal’ becomes increasingly conductive for all of the inversions
error. (figure 6(a)), though the magnitude of these changes depends
Comparing the inverted ER tomograms qualitatively and on the a and b values. This decrease in ER also matches the
quantitatively can establish which error variance parameter expected hydrogeologic setting, where the low line distances
combination(s) to select for interpreting inversions and aid in approach a beach with an expected saltwater–freshwater
deciding which features in the tomogram describe the true interface in the shallow subsurface (Befus et al 2014). These
subsurface ER structure. Nearly all of the inverted tomograms three broadly shared features of the inversions suggest the
show a thin resistive layer overlying more conductive mat- subsurface can at least be separated into three distinct zones,
erial (figure 6(a)), which has been interpreted as a thin vadose the boundaries of which depend upon the choice of a and b as

344
J. Geophys. Eng. 15 (2018) 338 K M Befus

well as cut-off ER values. However, many additional features forward and inverse outputs. These tests can then supply the
could be interpreted within these broadly defined zones. For quantitative foundation for assessing uncertainty in ER
example, the wedge-like low ER values on the left side of the models, not restricted to those inverted using R2, and inform
tomogram becomes increasingly distinct once a<10−2.5 Ω their interpretation to enhance the reliability and accuracy of
and could be interpreted as a sharp freshwater–saltwater ER surveys in solving scientific and engineering problems. In
interface, whereas tomograms with a>10−2.5 Ω would the future, pyres may also include routines for managing data
suggest a more diffuse interface. Beneath the shallow resistive for the related three-dimensional ER modeling software R3t,
layer, the sporadic lobes of higher resistivity represent another and additional utilities for pre- and post-processing ER data
example of finer scale features that could be interpreted as the may be developed and added to pyres via community
inversion solves for a coarser model with lower a values. contributions.
These features may indeed have a physical cause, such as free
convection (Stevens et al 2009, Van Dam et al 2009) or
evidence of other freshwater–saltwater mixing, but they could Acknowledgments
also be artifacts of the inversion resulting from overfitting the

Downloaded from https://academic.oup.com/jge/article-abstract/15/2/338/5078495 by guest on 31 March 2020


data. Ultimately, the choice of which ER features are real or KMB was supported by the National Science Foundation
not depend upon the choice of the human operator as well as (EPS-1208909). The pyres package is available from https://
any additional information on the structure of the subsurface, github.com/kbefus/pyres.
where such ground-truth is crucial for overcoming the non-
uniqueness of ER inversions.
While the qualitative comparison of ER patterns between
ORCID iDs
inversions can offer some insight into which ER features are
real, quantitative comparisons can also indicate the potential
Kevin M Befus https://orcid.org/0000-0001-7553-4195
variability in the model resolution or range in ER for a known
or suspected feature. The choice to save the sensitivity or
resolution matrices from the inversion are options in R2, and
both provide different information on how well the model can References
predict the ER throughout the tomogram (Binley 2016),
providing solution-based measures of the inversion perfor- Befus K M, Cardenas M B, Tait D R and Erler D V 2014
mance. Alternatively, the degree to which different inversions Geoelectrical signals of geologic and hydrologic processes in a
diverge from a best-estimate tomogram offers quantitative fringing reef lagoon setting J. Hydrol. 517 508–20
Binley A 2016 R2 version 3.1 Manual. Lancaster, UK. (http://es.
information in how the error variance parameters change the lancs.ac.uk/people/amb/Freeware/freeware.htm)
resulting tomogram (figure 6(b)). Using the inversions from Binley A and Kemna A 2005 DC resistivity and induced polarization
the sensitivity test for the field data, the combination of a and methods Hydrogeophysics, Water Science and Technology
b used in the earlier example (figure 3) was set as the base Library ed Y Rubin and S S Hubbard (Dordrecht: Springer)
model from which all other inversions were compared using pp 129–56
Comas X, Terry N, Slater L, Warren M, Kolka R, Kristiyono A,
equation (1). These profiles of the normalized misfit high- Sudiana N, Nurjaman D and Darusman T 2015 Imaging
lights the divergent features in the tomograms that arose from tropical peatlands in Indonesia using ground-penetrating radar
changing the error variance model parameters, again showing (GPR) and electrical resistivity imaging (ERI): implications for
both the introduction of high ER patches with decreasing a carbon stock estimates and peat soil characterization
and extensive ER increases with a…10−1 Ω (figure 6(b)). Biogeosciences 12 2995–3007
Day-Lewis F D, Singha K and Binley A M 2005 Applying
For this dataset, using 10−1.5„a„10−2.5 Ω and petrophysical models to radar travel time and electrical
10−2„b„0.2 led to relatively small changes in the overall resistivity tomograms: resolution-dependent limitations
ER pattern and less than ∼50% difference in the ER mag- J. Geophys. Res. Earth 110 B08206
nitude from the base tomogram. While it is important to Günther T, Rücker C and Spitzer K 2006 Three-dimensional
understand how a and b alter the inverted tomograms, many modelling and inversion of dc resistivity data incorporating
topography: II. Inversion Geophys. J. Int. 166 506–17
other parameters in R2 will also influence the resulting Karaoulis M, Revil A, Tsourlos P, Werkema D D and Minsley B J
tomogram and are not independent from the ER structure 2013 IP4DI: a software for time-lapse 2D/3D DC-resistivity
being surveyed and the quality of the measurements (Day- and induced polarization tomography Comput. Geosci. 54
Lewis et al 2005), where several parameters could be con- 164–70
sidered in a sensitivity test. Loke M H and Barker R D 1996 Rapid least-squares inversion of
apparent resistivity pseudosections by a quasi-Newton method
Geophys. Prospect. 44 131–52
Loke M H, Chambers J E, Rucker D F, Kuras O and Wilkinson P B
4. Conclusions 2013 Recent developments in the direct-current geoelectrical
imaging method J. Appl. Geophys. 95 135–56
The pyres package encapsulates the R2 ER modeling software Oldenburg D W and Li Y 1999 Estimating depth of investigation in
dc resistivity and IP surveys Geophysics 64 403–16
with extensive input and output handling capabilities that Pasquet S, Holbrook W S, Carr B J and Sims K W W 2016
expands the utility of R2 as a research tool. Users can readily Geophysical imaging of shallow degassing in a Yellowstone
explore how mesh and model parameters affect resulting ER hydrothermal system Geophys. Res. Lett. 43 12

345
J. Geophys. Eng. 15 (2018) 338 K M Befus

Pidlisecky A, Haber E and Knight R 2007 RESINVM3D: a 3D Stevens J D, Sharp J M, Simmons C T and Fenstemaker T R 2009
resistivity inversion package Geophysics 72 H1–10 Evidence of free convection in groundwater: field-based
Pidlisecky A and Knight R 2008 FW2_5D: a MATLAB 2.5-D measurements beneath wind-tidal flats J. Hydrol. 375 394–409
electrical resistivity modeling code Comput. Geosci. 34 Van Dam R L, Simmons C T, Hyndman D W and Wood W W 2009
1645–54 Natural free convection in porous media: first field
Rücker C, Günther T and Spitzer K 2006 Three-dimensional documentation in groundwater Geophys. Res. Lett. 36 1–5
modelling and inversion of dc resistivity data incorporating Ward A S, Schmadel N M, Wondzell S M, Harman C,
topography: I. Modelling Geophys. J. Int. 166 495–505 Gooseff M N and Singha K 2016 Hydrogeomorphic controls
Sawyer A H, Zhu J, Currens J C, Atcher C and Binley A 2015 Time- on hyporheic and riparian transport in two headwater mountain
lapse electrical resistivity imaging of solute transport in a karst streams during base flow recession Water Resour. Res. 52
conduit Hydrol. Process. 29 4968–76 1479–97

Downloaded from https://academic.oup.com/jge/article-abstract/15/2/338/5078495 by guest on 31 March 2020

346

You might also like