You are on page 1of 13

ARTICLE IN PRESS

Computers & Geosciences 35 (2009) 17221734

Contents lists available at ScienceDirect

Computers & Geosciences


journal homepage: www.elsevier.com/locate/cageo

MT2DInvMatlabA program in MATLAB and FORTRAN for two-dimensional


magnetotelluric inversion$
Seong Kon Lee a,, Hee Joon Kim b , Yoonho Song a, Choon-Ki Lee a
a
b

Korea Institute of Geoscience and Mineral Resources (KIGAM), Gwahang-no 92, Yuseong-gu, Daejeon 305-350, Republic of Korea
Pukyong National University, 599-1, Daeyeon 3-dong, Nam-gu, Busan 608-737, Republic of Korea

a r t i c l e in f o

a b s t r a c t

Article history:
Received 18 February 2008
Received in revised form
8 October 2008
Accepted 15 October 2008

MT2DInvMatlab is an open-source MATLABs software package for two-dimensional (2D) inversion of


magnetotelluric (MT) data; it is written in mixed languages of MATLAB and FORTRAN. MT2DInvMatlab
uses the nite element method (FEM) to compute 2D MT model responses, and smoothness-constrained
least-squares inversion with a spatially variable regularization parameter algorithm to stabilize the
inversion process and provide a high-resolution optimal earth model. It is also able to include terrain
effects in inversion by incorporating topography into a forward model. This program runs under the
MATLAB environment so that users can utilize the existing general interface of MATLAB, while some
specic functions are written in FORTRAN 90 to speed up computation and reuse pre-existing FORTRAN
code in the MATLAB environment with minimal modication. This program has been tested using
synthetic models, including one with variable topography, and on eld data. The results were assessed
by comparing inverse models obtained with MT2DInvMatlab and with a non-linear conjugate gradient
(NLCG) algorithm. In both tests the new inversion software reconstructs the subsurface resistivity
structure very closely and provides an improvement in both resolution and stability.
& 2009 Elsevier Ltd. All rights reserved.

Keywords:
MT
Mixed language
FEM
Topography
ACB

1. Introduction
In recent decades, there have been many efforts and successes
in developing efcient magnetotelluric (MT) modeling and
inversion algorithms. Although three-dimensional (3D) modeling
and inversion algorithms are now available (Mackie and Madden,
1993; Newman and Alumbaugh, 2000; Zhdanov et al., 2000;
Sasaki, 2004; Siripunvaraporn et al., 2005; Nam et al., 2007), 3D
MT surveys providing adequate coverage are generally very
expensive (Wannamaker, 1999) and 3D numerical modeling and
inversion algorithms need more elaboration for eld data
interpretation (Berdichevsky and Dmitriev, 2002). Consequently,
many of MT surveys are still being done along a single prole
and hence two-dimensional (2D) MT inversion analysis still plays
an important role as a primary interpretation tool in real
applications.
MT 2D modeling and inversion algorithms have now become
very powerful and widely available (deGroot-Hedlin and
Constable, 1990; Ogawa and Uchida, 1996; Siripunvaraporn
and Egbert, 2000; Rodi and Mackie, 2001; Ogawa, 2002)
and some codes are available at Internet web sites such as

MTNet.1 Most of the 2D MT modeling and inversion software in


the public domain are generally written in FORTRAN. The
FORTRAN language has been widely used in the computational
sciences and generally accepted as an appropriate language for the
implementation of geophysical modeling and inversion software.
FORTRAN, however, imposes a rather extensive burden on users in
integrating complicated numerical algorithms and visual data
analysis, as compared with MATLAB which provides integrated
functionality of computation and visualization.
MATLABs is a powerful script programming language and a
computation environment in that it provides extensive numerical
libraries; data visualization capabilities, enabling users to interactively exploit data variables step by step during execution; and
easier high-level programming language grammar, resulting from
simple vector and matrix multiplication based on arrays that need
no memory dimensioning2 (Giroux et al., 2007). It also allows one
to have the benet of using object oriented programming. Many
geophysical modeling and inversion programs are now being
developed in MATLAB (Zhdanov, personal communication, July
2004), and some have appeared in the open domain (Sundararajan
et al., 2006; Irving and Knight, 2006; Ingeman-Nielsen and
Baumgartner, 2006). MATLAB has a signicant advantage in that

Code available from server at http://www.iamg.org/CGEditor/index.htm.

 Corresponding author. Tel.: +82 42 868 3173; fax: +82 42 868 3358.

E-mail addresses: seongkon@kigam.re.kr (S.K. Lee),


hejkim@pknu.ac.kr (H.J. Kim).
0098-3004/$ - see front matter & 2009 Elsevier Ltd. All rights reserved.
doi:10.1016/j.cageo.2008.10.010

http://www.mtnet.info
MATLABs 7 Getting Started. http://www.mathworks.com/access/helpdesk/
help/techdoc/index.html
2

ARTICLE IN PRESS
S.K. Lee et al. / Computers & Geosciences 35 (2009) 17221734

it provides a mixed language environment, which means that any


pre-developed FORTRAN or C codes could be used with minor
modication in the MATLAB environment. In addition any bottleneck computations that do not run fast enough in MATLAB can be
recoded in FORTRAN or C for efciency.3 Recently, there has been a
notable trend with MT inversion software being developed using a
modular approach, which enables one to simplify development
and testing of alternative parameterizations and regularization
schemes, along with inversion of other data types in one wellorganized frameworks (Kelbert and Egbert, 2007). MATLAB is a
good candidate tool for the development of inversion software by
the modular approach, since it is ready to provide versatile
functionalities as mentioned above.
In this paper, we will present an open-source MATLAB program
for 2D MT inversion, titled MT2DInvMatlab, which is written in
mixed languages of MATLAB and FORTRAN. This program runs
under the MATLAB environment so that users can enjoy the
powerful advantage of MATLAB such as visualization of the
inversion process, while some internal functions such as forward
routines are written in FORTRAN 90 to speed up computation and
to reuse pre-existing FORTRAN code with minimal modication in
the MATLAB environment. In our implementation of MT2DInvMatlab, we basically use the method of nite elements (FEM) for
forward modeling to calculate 2D MT responses of geological
structures. In the inversion process, a spatially variable regularization parameter algorithm suggested by Yi et al. (2003) is
adopted for smoothness-constrained least-squares inversion. It
also supports the incorporation of smoothly varying topography
into a forward model by deforming rectangular elements to
quadrilateral elements with the elevation of the airearth interface (Loke, 2000). The inversion software developed in this study
is tested on synthetic and eld data to verify its performance.

2. Fundamental equations for implementation of


MT2DInvMatlab
2.1. Forward modeling
In this section, we present a brief introduction of the modeling
algorithm implemented in the program. Most of the equations
used for implementation are of the similar form found in Rodi
(1976), except that time-dependence is eiwt and strike direction
lies along the y-axis. One could nd the equivalent equations for
the case that strike is in the x direction and time-dependence is
eiwt in Rodi (1976). In addition, the nite element (FE) equations
are in more general form than Rodis (1976), since this program
can also consider terrain effects in the inversion by incorporating
topography into a forward model.
The governing equations for the transverse electric (TE;
E-parallel to the strike) and transverse magnetic (TM; H-parallel
to the strike) modes of MT elds can be rewritten as


1
r rV gV.
(1)

After solving for V in Eq. (1), the corresponding auxiliary elds I and
J required for further calculation of the MT quantities in both modes
are to be obtained by differentiating V with respect to x and z as
@V
tI,
@x
@V
tJ.
@z
3
MATLABs 7 External Interface.
helpdesk/help/techdoc/index.html

(2)
(3)

http://www.mathworks.com/access/

1723

The impedances of the TM and TE modes can be computed as


Ex
J
,
Hy V
Ey
V

 .
Hx
J

Z xy

(4)

Z yx

(5)

Here, one can easily identify V, I, J, g, and t as V Hy , I Ez ,


J Ex , g iom, t s for the TM mode, and V Ey , I Hz ,
J Hx , g s, t iom for the TE mode. In addition, s is the
conductivity of the earth, m0 is the magnetic permeability of the
H=m,
air 4p  107 p
o is the angular frequency of incident MT
elds, and i 1.
Following the standard procedure in FE formulation (Becker et
al., 1981), we have the corresponding integral form of Eq. (1) by
weighted residual method,
Z
Z
Z
1
1 @V
rU rV dS gUV dS
U
dl,
(6)
@n
Ot
O
@O t
where U is a test function, O is the domain, @O is the boundary of
domain O, and n is the length of a vector n outward normal to
boundary @O. Dividing the whole computation domain O into
nite elements Oe s, and applying Galerkin approximation of
Eq. (6) yield a basic equation for FE formulation over each element

Oe
Z
Oe

rN i rNj dS

Z
Oe

gN i N j dS

Z
@Oe

Ni

@V
dl,
@n

(7)

where fN i ; i 1; . . . ; N e g are basis functions properly chosen for


shape and test functions of the order Ne over an FE element, Oe
represents an individual element in the FEM mesh, and @Oe is the
circumference of element Oe . In our implementation we use linear
functions for shape and test functions, and therefore N e equals 4.
We adopt the boundary conditions suggested by Rodi (1976),
which assert conceptually that the earth can be regarded as a 1D
layered structure at regions distant from the 2D structure to be
modeled. For this purpose, additional elements are included in
both sides of the model to satisfy 1D layered boundary condition
as in Eq. (8)
@V
 0.
@x

(8)

In the TM mode, Hy is xed as a constant at the surface assuming


earth material is nonmagnetic. In the TE mode, on the other hand,
additional elements are included above the earths surface to
satisfy boundary conditions in the air, which means that the
magnetic eld Hx in the air distant from the model (i.e., at the top
of the mesh) is constant as
Hx

1 @Ey
constant.
iom @z

(9)

In addition, half-space impedance boundary conditions are


applied at the bottom of the FE mesh as
1 @Hy

s @z

Z H Hy 0

(10)

for the TM mode, and


1 @Ey
1

Ey 0
iom @z
ZH

(11)

for the TE mode, where Z H is the impedance when one is looking


below at the bottom of the mesh. In the program, additional
enough meshes are added in the z direction to ignore effects of 2D
structure and then half-space boundary conditions in Eq. (10) or
(11) are applied at the bottom of the mesh assuming columns of
inversion blocks comprise the 1D layered earth.

ARTICLE IN PRESS
1724

S.K. Lee et al. / Computers & Geosciences 35 (2009) 17221734

2.2. Least-squares inversion


In this section, we will briey introduce inversion algorithms
related to implementation of our software. The MT 2D forward
problem can be represented generally in a discrete form as
m

Am,

(12)

where A is a forward modeling operator which is generally nonm


linear, m is a model parameter vector, and d is a model response
(predicted data) vector.
With measured data d, the conventional way of solving an illposed inverse problem for m in Eq. (12) is based on the
minimization of a Tikhonov parametric functional (Tikhonov
and Arsenin, 1977), which can be represented as
2

Pm fm l sm,

(13)

where fm is a mist functional and sm is a stabilizing


functional, and l is a regularization parameter which controls the
trade-off between these two contributions in a minimization
process. The mist and stabilizing functionals are written as

fm kd  Amk2 ,

(14)

sm kCmk2 ,

(15)

where C indicates the model parameter weighting matrix


(Zhdanov, 2002).
There have been many algorithms suggested so far to solve
Eq. (13) (Sasaki, 1989; deGroot-Hedlin and Constable, 1990;
Mackie and Madden, 1993; Siripunvaraporn and Egbert, 2000;
Rodi and Mackie, 2001; Mehanee and Zhdanov, 2002). In this
program, the smoothness-constrained least-squares inversion is
adopted for solving the regularized inverse problems. Linearization of Eq. (12) and some manipulation yields

Dm JT J l2 CT C1 JT Dd,

(16)

where Dd is the error or discrepancy vector between the observed


and calculated data, Dm denotes the model updates to be obtained,
J is the Jacobian matrix or sensitivity matrix of forward modeling
operator A, C is a Laplacian (second-order) smoothness operator,
and l is a regularization parameter (Lagrangian multiplier) or tradeoff parameter between model constraint and data mist.
At each iteration step of least-squares inversion, one needs to
compute sensitivity functions describing the change of model
responses with respect to the perturbation of model parameters.
Computations of sensitivities through various approaches are well
documented in McGillivray and Oldenburg (1990) and McGillivray
et al. (1994) presented a simple and elegant method for
computation of sensitivities in electromagnetic induction problems without explicit derivation of the adjoint operator or
without explicitly invoking reciprocity relation. One can specically nd simple formulae for the sensitivity functions of 2D MT
inverse problems in Jupp and Vozoff (1977) and Sasaki (1989). We
used the reciprocity method in calculation of Jacobian matrix to
reduce computational time. In the implementation of MT2DInvMatlab, the model parameters are transformed to their logarithmic values to prevent these from becoming negative during
inversion (Jupp and Vozoff, 1977) as
m log r1 ; log r2 ; . . . ; log rM T ,

(17)

where rk is the resistivity of the kth inversion block.


To balance numeric values of input data for joint inversion of
any two quantities, the apparent resistivity is converted to its
logarithmic value and the phase in radian. The impedance phases
vary 0 ofo90 for Z xy mode (TM mode assuming strike in y), and
180 ofo  90 for Z yx (TE mode assuming strike in y),
respectively, for 2D case. Therefore, we add 180 (p radian)

to negative phase of Z yx mode so that we always have the positive


phase values to remove numeric disparity in dynamic range
between different mode data set.
The general form of data set is then
d log ra;1 ; . . . ; log ra;N ; f1 ; . . . ; fN T ,

(18)

where ra;i and fi are the apparent resistivity and phase at the
surface for the ith combination of the MT station and frequency
parameter, respectively.
The ith sensitivity function or Jacobian with respect to the kth
model parameter is then
!


@ log ra;i
2
@Z i n
rk
,
(19)

Re
Zi
@ log rk
om
@rk
ra;i
 



@Z i
@Z i
 tan fi Re
rk cos2 fi Im
@fi
@rk
@rk
,
(20)

@ log rk
ReZ i
where Z i is the impedance at the surface for the ith combination of the
MT station and frequency parameter,  denotes complex conjugate and


@Ei
@H
 Zi i
@Z i
@rk
@rk

,
(21)
@rk
Hi
where Ei and Hi are the electric and magnetic elds at the surface
for the ith combination of the MT station and frequency parameter
(Jupp and Vozoff, 1977; Sasaki, 1989).

3. Program implementation and execution


In this section, we will explain details on the implementation
and execution of the program, MT2DInvMatlab. We will also
describe the mesh structure used in the program including
incorporation of topography into a forward model, modication
of Rodis (1976) algorithm to obtain auxiliary elds for a
topographic model, and the determination of spatially varying
regularization parameters through parameter resolution analysis.
3.1. Execution of MT2DInvMatlab and create MATLAB functions from
FORTRAN sources
MT2DInvMatlab needs three les as inputs on execution and
creates one le to convey inversion results. Those les are a
parameter script le (*.m), a eld data le (*.FDT), a topography
le (*.TOP) if topographic inversion is chosen, and an MT inversion
result le (*.MIR). To run an inversion (MT2DInvMatlab), type as
below at the MATLAB prompt after creating a parameter script le.
b MT2DInvMatlab(ParameterScriptFile);
Then, a gure window having eld and theoretical data pseudosections, a Tikhonov parametric functional curve, and inverted
sections will appear so that users can check visually the inversion
process as shown in Fig. 1.
MT2DInvMatlab needs some parameters to control the inversion process. Users can modify this script le to make MT2DInvMatlab run in its own way. In the beginning, MT2DInvMatlab runs
this parameter script le rst and sets appropriate variables.
MT2DInvMatlab also needs as input a eld data le containing the
2D MT survey data along a prole. The topography can be included
into a forward model by specifying MTTopoFileName, which
contains topography information along a prole.
MT2DInvMatlab writes the inverted resistivity at all iteration
stages together with the inversion control parameters so that

ARTICLE IN PRESS
S.K. Lee et al. / Computers & Geosciences 35 (2009) 17221734

Progress of Inversion
Field Data

1725

Theoretical Data

z
Air
Earth

Fig. 2. Schematic diagram of an inversion block (thick line) and a nite element
(FE) mesh (thin line) generated by MT2DInvMatlab. An inversion domain will be
set up by expanding from data domain (lled in gray) where MT stations
(triangles) are located, and could be subdivided further into a ner FE mesh to
enhance accuracy of forward calculation. Topography is implemented by moving
nodes of quadrilateral elements along z-axis. Degree of deformation in z direction
decreases gradually from earths surface, both to top and to bottom of a domain to
make sure that at boundary conditions can be applied.

Object Function

Inversion Image

Fig. 1. Shown is an example of main gure when MT2DInvMatlab is running. At


every iteration, user can monitor progress of inversion and compare eld data and
theoretical responses, conrm convergence of an object function (a Tikhonov
functional) including data mist and model constraint, and visually evaluate an
inverse model from reconstructed image.

users can check the inversion model while saving all variables of
the inversion as in a standard MATLAB binary MAT format.
When one installs the program MT2DInvMatlab, a subdirectory
of FotranSrc will be created. The subfolder FotranSrc contains
the FORTRAN source les required to build MEX functions, which
are callable C and FORTRAN programs and dynamically linked
subroutines that the MATLAB interpreter can automatically load
and execute.4 In general, it would not be necessary to recompile
and build MEX functions (*.mexw32) written in FORTRAN if one is
using MATLAB version 7.3.0.267 (R2006b) under Windows XP
platform. When one builds MATLAB functions or adds additional
features based on FORTRAN sources, however, it is important to
understand what MEX subroutine is and how variables are passed
between MATLAB and FORTRAN subroutines since they have
different data structures in storing variables. The details on MEX
functions are beyond the scope of this paper, one can nd
numerous references regarding this subject.5 For easy data
transfer between MATLAB and FORTRAN subroutines, we provide
some FORTRAN subroutines in SupportMatlab.for, which can easily
facilitate writing a MEX gateway subroutine.

3.2. Mesh structure, topography and boundary conditions


Fig. 2 shows a schematic diagram of a typical FE mesh for
forward modeling and resistivity blocks for inversion created
automatically by the program on execution. The rectangle marked
by a thick line represents an inversion domain divided by several
resistivity blocks. This is an actual resistivity model for forward
calculations during inversion, and thus a geological model to be
recovered after inversion.
Users can adjust the size of inversion domain by setting three
parameters as MaxDomainFactor, BlockIncFactor, SurfaceBlockThickness of a parameter script le. The thickness of the
inversion blocks will be established with the rst surface block
thickness of SurfaceBlockThickness, and successive block
4
MATLABs 7 External Interface. http://www.mathworks.com/access/helpdesk/
help/techdoc/index.html
5
MATLABs 7 External Interface. http://www.mathworks.com/access/helpdesk/
help/techdoc/index.html

thicknesses increasing by a factor of BlockIncFactor, until the


depth of maximum skin depth multiplied by MaxDomainFactor.
The maximum and minimum skin depths are estimated with
lowest and highest frequencies and logarithmic mean of apparent
resistivities of eld data. This logarithmic mean of apparent
resistivities is used as an initial value in the inversion. If
SurfaceBlockThickness equals zero, then it will be set to the
minimum skin depth.
The inversion blocks are divided horizontally at the midpoint
of two adjacent MT stations when setting BlockDivMethod to 0.
The program provides another option so that an additional block
between two adjacent MT stations is added in the inversion
domain when BlockDivMethod equals 1. This enables one to
locate MT stations exactly at the center of the inversion block.
Users can add some inversion blocks in the x and z direction by
specifying NoBlocksideX, NoBlocksideZ, respectively.
The resistivity blocks for inversion can be subdivided into a
ner FE mesh to ensure accurate forward modeling by setting
parameters NoCellPerBlockX, NoCellPerBlockZ in an input
MATLAB script le. Topography is implemented by moving the FE
nodes dening rectangular elements in the z direction according
to the elevation of the airearth interface. The basic idea of this
topography implementation is similar to one as suggested by
Holcombe and Jiracek (1984) and Loke (2000). Users can include
topography information in a forward model by creating and
specifying a le name containing topography at arbitrary positions along a prole. Then, the program will internally recalculate
topography at the mesh points. The amount of shift in the z
direction for each surface node is determined by the interpolation
with known elevation data to deform a rectangular element into a
quadrilateral element. The deformation in the z direction
decreases gradually from the earths surface, both to the top and
to the bottom of the domain to make sure that at boundary
conditions in Eqs. (9)(11) can be applied to both edges of the
computation domain. Additional elements are also included in
both sides of the model to satisfy the 1D layered boundary
condition of Eq. (8). In the program MT2DInvMatlab, this
procedure is embodied in MATLAB functions and FORTRAN source
les such as setblockmodelmtu.for, setbasicmeshmtu.for, settopography2mesh.for, and accompanying FORTRAN subroutines.

3.3. Modied Rodis algorithm to obtain auxiliary elds for the case
of a topography model
To calculate the MT impedances, one must obtain auxiliary
elds by differentiating V with respect to z as in Eq. (3). This
process is also important in that we normally interpret eld data

ARTICLE IN PRESS
1726

S.K. Lee et al. / Computers & Geosciences 35 (2009) 17221734

in terms of impedances (equivalently, apparent resistivities and


phases) and not elds themselves computed directly from
modeling. The accuracy in calculating the impedances therefore

y
+

depends on the numerical errors in auxiliary elds J as well as in


solution elds V. For this purpose, one can use a simple difference
formula (Wannamaker et al., 1986) or more accurate methods
such as the Pade approximation (Press et al., 1992) and so forth.
These methods, however, require much ner meshes near the
surface.
Rodi (1976) suggested an elegant method of obtaining the
auxiliary eld J in the TM mode instead of using a simple
difference formula when one uses FEM for modeling. The main
idea is that one rst imposes a Dirichlet boundary condition of Hy
in forward calculations for the TM mode and then obtains the
right-hand side of Eq. (6) from the solution of V to a FEM equation
and the already decomposed stiffness matrix. In a case where
topography variation exists, however, one needs to modify this
algorithm to obtain derivatives of x and z for the calculation of the
MT impedance, since direct application of Rodis algorithm gives
normal derivatives rather than derivatives of z (Fig. 3).
Following the Rodis (1976) algorithm, we have:
Ks vs vsn ,

z
Fig. 3. Normal and tangential vectors to a topographic surface dened for
calculation of auxiliary elds. Slope y 90 oyo90 is dened as an angle
between tangent of surface and y-axis. Direction of increase in y is indicated as .

(22)

by formulating an FE equation with elements containing nodes at


the airearth interface and the solution of V. In Eq. (22), Ks is a
reduced matrix established with only elements containing nodes
at the airearth interface, and vs and vsn is vectors of solutions and

Elevation (m)

100

50

Apparent Resistivity (ohm-m)

-3000

-2000

-1000

0
Position (m)

1000

2000

120
110
100
Wannamaker's (TE)
Wannamaker's (TM)
MT2DInvMatlab (TE)
MT2DInvMatlab (TM)

90
80
-3000

-2000

-1000

0
Position (m)

1000

2000

3000

Wannamaker's (TE)
Wannamaker's (TM)
MT2DInvMatlab (TE)
MT2DInvMatlab (TM)

47
Phase (degree)

3000

46.5
46
45.5
45
44.5
44
-3000

-2000

-1000

0
Position (m)

1000

2000

3000

Fig. 4. Validity test of 2D MT forward response of MT2DInvMatlab for (a) a model having a co-sinusoidal hill in Wannamaker et al. (1986). (b) Apparent resistivities and (c)
phases are shown for comparisons. Lines represent results of Wannamaker et al. (1986), while symbols do those of MT2DInvMatlab.

ARTICLE IN PRESS
S.K. Lee et al. / Computers & Geosciences 35 (2009) 17221734

1727

Distance (km)
5

10

15

20

25

2
Depth (km)

0
10

100 Ohmm

4
6
8
Distance (km)

5
2

10

15

25 log10 (m)

20

Depth (km)

1.8

1.6

1.4

1.2
8

5
2

Distance (km)
10

15

25 log10 (m)
2.2

20

Depth (km)

1.8

1.6

1.4

1.2

1
Distance (km)

5
2

10

15

25 log10 (m)

20

Depth (km)

1.8

1.6

1.4
1.2

8
Fig. 5. A performance test of MT2DInvMatlab for (a) a topographic model. Topographic structure comprises a hill and a valley, a conductor of 10 Om is located in a host rock
of 100 Om. Vertical exaggeration of plot is 2:1. Triangles denote positions of MT stations. Results are shown for (b) TM mode inversion, (c) TE mode inversion, and (d) joint
inversion of TM and TE mode.

normal derivatives of V s written as


s

v
vsn

V s1 ; V s2 ; . . . ; V sNx T ,
@V s1
@n

@V s2
@n

;...;

@V sNx
@n

tangential derivatives as
(23)

!T
,

(24)

where vs represents V at the nodes at the airearth interface. In


addition, Nx is the number of surface nodes in the x direction, and
n is the length of n, which is an outward normal vector to the
slope of the interface.
In contrast to the case of a at surface, auxiliary elds in the
presence of topography are actually normal and tangential
component to the slope, i.e., En and Et for the TM mode and Hn
and Ht for the TE mode, respectively, where t is the length of t,
which is a tangential vector to the slope (Fig. 3). We can have x or z
derivatives of V, as in Eqs. (2) and (3), rather than normal and

@V
@x
@V
@z

@x
@n
@x
@t

@z
@n
@z
@t

!1

@V
@n
@V
@t

sin y

 cos y

cos y

sin y

1

@V
@n
@V
@t

!
,

(25)

where y is the angle of the slope with constraint of 90 oyo90


as shown in Fig. 3.
One can obtain Z xy and Z yx , since the normal derivatives of V
can be obtained accurately with the modied Rodis algorithm
while the tangential derivatives of V are easily obtained with a
simple difference formula between adjacent nodes in the x
direction. This method is especially useful for the TM mode as
noted by Rodi (1976), in which the magnetic eld variation is
actually zero along the slope and can be used even for the TE
mode. This becomes clear if we recall that a constant Dirichlet

ARTICLE IN PRESS
1728

S.K. Lee et al. / Computers & Geosciences 35 (2009) 17221734

Distance (km)
0

Depth (km)

5
0

10

15

20

25

10

100

5
5

50 Ohmm
3
4
Distance (km)

Depth (km)

5
0

10

15

20

25 log10 (m)
2

1
1.5

2
3

Distance (km)
10

15

20

Depth (km)

25 log10 (m)
2

1
1.5

2
3

Depth (km)

5
0

Distance (km)
10

15

20

25 log10 (m)
2

1
1.5

2
3

4
Fig. 6. A performance test of MT2DInvMatlab for a model as same as one tested by Sasaki (1989). (a) A conductive layer of 5 Om is embedded in the host medium of 50 Om,
and this layer is disconnected or faulted over the range approximately 911 km. There also exist one conductive and one resistive anomalous bodies beneath the surface.
Triangles denote the positions of MT stations. Results are shown for (b) TM mode inversion, (c) TE mode inversion, and (d) joint inversion of TM and TE mode.

boundary condition is imposed along the surface nodes for the TM


mode.

3.4. Determination of regularization parameters as a spatial function


Determination of the regularization parameter (Lagrangian
multiplier), which balances the minimization of the data mist
and model roughness, may be a critical procedure to achieve both
resolution and stability. Uchida (1993) used the statistical
criterion Akaikes Bayesian Information Criterion (ABIC) to
determine the optimum regularization parameter. In contrast, Yi
et al. (2003) regarded the regularization parameter as a spatially
varying function lx; z, which is named as ACB (active constraint
balancing), and determined lx; z through the parameter resolution analysis (Menke, 1989). In our implementation, we adopted
the spatially variable regularization parameter algorithm in which
l is regarded as a spatial function and determined by parameter
resolution analysis (Yi et al., 2003).
The ACB algorithm has been implemented to obtain an optimal
smoothness constraint. According to this algorithm, the regular-

ization parameter can be set optimally by the spread function SP i


of the ith model parameter, which is dened by the parameter
resolution matrix R. The parameter resolution matrix (model
resolution matrix; Menke, 1989) R can be obtained in the
inversion process with pseudo-inverse Jg multiplied by the
Jacobian J (Menke, 1989)
R Jg J,

(26)

where
Jg JT J lCT C1 JT .

(27)

The spread function, which accounts for the inherent degree of


how much the ith model parameter is not resolvable, is dened as
SP i

M
X
fwij 1  Sij Rij g2 ,

(28)

j1

where M is the total number of inversion parameters, wij is a


weighting factor dened by the spatial distance between the ith
and jth model parameters, and Sij is a factor which accounts for
whether the constraint or regularization is imposed on the ith

ARTICLE IN PRESS
S.K. Lee et al. / Computers & Geosciences 35 (2009) 17221734

1729

Distance (km)

Depth (km)

20
20

20

40

60

80

100

120

140

160

180 log10 (m)


4

10
0

10

20

30

40
Distance (km)

Depth (km)

20
20

20

40

60

80

100

120

140

160

180 log10 (m)


4

10
0

10

20

30

40

Depth (km)

Distance (km)
20
0

20

40

60

80

100

120

140

160

180 ACB ()
9

10

20

30

40

Fig. 7. Comparison of inversion of TM mode eld data with (a) MT2DInvMatlab developed in this study, and (b) NLCG code provided by commercial software GEOTOOLS
MT. Triangles denote positions of MT stations. Regularization parameters applied at nal iteration by MT2DInvMatlab are shown in (c), which are determined as a spatial
function by parameter resolution analysis, namely ACB algorithm (Yi et al., 2003). Small regularization parameters mean higher resolvable inversion blocks in parameter
resolution analysis sense (Menke, 1989).

parameter and its neighboring parameters. The value of Sij is unity


if C ij is not zero, while it is zero when C ij equals zero. In other
words, the spread function dened here is the sum of the squared
spatially weighted spread of the ith model parameter with respect
to all the model parameters excluding ones upon which a
smoothness constraint is imposed. In this approach, the regularization parameter lx; z is set by a value from log-linear
interpolation (Yi et al., 2003)
loglmax  loglmin
logSP max  logSP min
flogSP i  logSP min g,

logli loglmin

(29)

where SP min and SP max are the minimum and maximum values of
spread function SP i , respectively, and the lmin and lmax are
minimum and maximum values of the regularization parameter lx; z, which must be provided by the user. With this
method, we can automatically set a smaller value lx; z of
the regularization parameter to the highly resolvable model
parameter, which corresponds to a smaller value of the spread
function SP i in the inversion process and vice versa. Users
can choose these minimum and maximum regularization parameters by setting variables LambdaMin and LambdaMax. Otherwise, the regularization parameter will be set with Lambda if the
ACBModel is 0. In the program MT2DInvMatlab, inversion
procedure is embodied in MATLAB functions, nlsqinv2d.m,
nlsqupdate.m, ACBAnalysis.m and ACBWeight.m. One can easily
add and test ones own inversion schemes by simply writing
algorithms of matrix and vector equations in MATLAB and
replacing call to nlsqupdate.m function in nlsqinv2d.m function
with the other appropriate one.

4. Validity test of MT2DInvMatlab


4.1. Forward modeling for a model having topography
To test the forward modeling algorithm, we applied the code to
a topographic model containing a hill, as shown in Fig. 4(a), which
is the same as used by Wannamaker et al. (1986). They used
triangular elements in FEM modeling and a three-point difference
formula to obtain auxiliary elds. The hill is 2400 m wide and
100 m high. Its slope varies as a co-sinusoidal function centered at
the midpoint of the hill. The frequency is 10 Hz. For comparison,
we convert normal and tangential derivatives to x and z
derivatives using Eq. (25) to obtain the apparent resistivities rxy
and ryx , and phases fxy and fyx of TM mode and TE mode. Figs.
4(b) and (c) show comparisons of the results from Wannamaker et
al. (1986) and the MT2DInvMatlab forward routine. They agree
well with each other as seen in Fig. 4. The relative errors in
apparent resistivity between the two algorithms at x 0 are less
than 0.18% for TM, and 0.09% for TE mode, respectively. The
relative phase errors are less than 0.05% for TM mode and 0.06%
for TE mode, respectively.
As is already known by previous works (Wannamaker et al.,
1986; Chouteau and Bouchard, 1988), topographic distortions in
apparent resistivities are much greater in the TM mode than in the
TE mode, as shown in Fig. 4(b). The maximum rise in the apparent
resistivity of the TE mode appears at the top of the hill, while that
of the TM mode appears at both edges of the hill. The positions of
maximum drop in the apparent resistivity of the TE and TM
modes are exactly reversed. The difference between the maximum
rise and maximum drop in the apparent resistivity for the hill
model is about 35% for the TM mode and 7% for the TE mode

ARTICLE IN PRESS
1730

S.K. Lee et al. / Computers & Geosciences 35 (2009) 17221734

Distance (km)
20
20

20

40

60

80

100

120

140

160

10
Depth (km)

180 log10 (m)

0
10

20
1

30
40

0
Distance (km)

20
20

20

40

60

80

100

120

140

160

10
Depth (km)

180 log10 (m)

0
10

20
1

30
40

0
Distance (km)

Depth (km)

20
0

20

40

60

80

10
20
30
40

100

120

140

160

180 ACB ()
9
8
7
6
5
4

Fig. 8. Comparison of joint inversion of TE and TM mode eld data with (a) MT2DInvMatlab developed in this study, and (b) NLCG code provided by commercial software
GEOTOOLS MT. Triangles denote positions of MT stations. Regularization parameters applied at nal iteration by MT2DInvMatlab are shown in (c), which are determined as
a spatial function by parameter resolution analysis, namely ACB algorithm (Yi et al., 2003). Small regularization parameters mean higher resolvable inversion blocks in
parameter resolution analysis sense (Menke, 1989).

compared with the apparent resistivity of a at homogeneous


earth. The distortions of phase in both modes look similar in
shape, and the magnitudes of variations are relatively small
compared with the apparent resistivity. From these results, it is
conrmed that both methods agree well in both apparent
resistivity and phase.

4.2. Inversion tests for synthetic models


We have also applied MT2DInvMatlab to the inversion of
synthetic data for a model having topography variation, and
another model which is the same as tested in Sasaki (1989) to
verify the performance of our code.
Fig. 5(a) shows a topographic model for the inversion test. The
model consists of a hill, a valley, and a at surface connecting two
surface features. The shape of the hill and the valley resembles a
half-period cosine function. There is a conductive body of 10 Om
embedded in a host medium of 100 Om below the middle of the
hill and the valley. This isolated prism body is located at
14002400 m in depth, and 875011250 m in the horizontal
coordinate. The height from the surface to the top of the hill and
from the bottom of the valley to the surface is 1000 m.
For this experiment, synthetic data are generated by the
forward modeling code of commercial software GEOTOOLS MT,
AOA Geophysics Inc. We select 21 frequencies in total, ranging
from 103 Hz to 103 Hz, four frequencies per one decade. MT
stations are located every 500 m from 0 km to 20 km along a
prole. The number of apparent resistivity and phase data in each
mode is 861 41  21  2. The parameters LambdaMin and
LambdaMax for the ACB algorithm in MT2DInvMatlab are set to

2 and 8, respectively. The parameters NoBlocksideX and


NoBlocksideZ are all set to 2. The resistivity blocks for inversion
are subdivided into a ner FE mesh for forward calculations by
setting NoCellPerBlockX and NoCellPerBlockZ to 4 and 2,
respectively. The inversion domain is established with parameters
MaxDomainFactor 0:06; BlockIncFactor 1:2,
SurfaceBlockThickness 50, and BlockDivMethod 0. The
total number of inversion blocks generated by MT2DInvMatlab is
45  21 675.
It is known that topographic distortion occurs since telluric
currents must ow along the airearth interface, not cross it, and
the galvanic effect due to topography is dominant in the TM mode
data (Jiracek, 1990). We can easily expect that topographic
distortion will arise in a model of Fig. 5(a), since telluric currents
owing parallel to the surface converge beneath a valley resulting
in high apparent resistivity, and diverge beneath a hill resulting in
low apparent resistivity, in the case of TM mode (Wannamaker
et al., 1986; Chouteau and Bouchard, 1988). Topographic distortion
is also expected in the TE mode data, resulting reversely in
apparent resistivity beneath a hill and a valley compared with TM
mode, even though topographic distortion in the TE mode is
inherently inductive and much smaller in magnitude than that in
the TM mode (Jiracek, 1990). Figs. 5(b)(d) show topographic
inversion results of the TM mode, the TE mode, and a joint
set of TM and TE mode data, respectively, for the model shown in
Fig. 5(a). We can clearly identify a low resistivity anomaly in the
inverted resistivity section. Without topographic consideration,
the image of the anomaly would be asymmetric and biased in
position showing that a low resistivity spurious anomaly appears
below the hill, and a high resistivity spurious anomaly appears
below the valley in TM mode inversion; and vice versa in TE mode

ARTICLE IN PRESS
S.K. Lee et al. / Computers & Geosciences 35 (2009) 17221734

Distance (km)
60

Distance (km)

80 100 120 140 160 log10 (m)


3
2.5
2
1.5
1

20

40

Log10 (Frequency)

40

1.5
1
0.5
0
0.5
1
1.5
2

0
Log10 (Frequency)

20

1.5
1
0.5
0
0.5
1
1.5
2

80
60
40
20
0

20

40

Distance (km)
0

20

40

0
2

Log10a (Ohmm)

Phase (Degree)

Log10a (Ohmm)
Phase (Degree)

1
0
1
Log10 Frequency (Hz)

90
45
0
3

1
0
1
Log10 Frequency (Hz)

60

80 100 120 140 160 degree

1.5
1
0.5
0
0.5
1
1.5
2

80
60
40
20
0

Station at 168.755 km

80 100 120 140 160 log10 (m)


3
2.5
2
1.5
1

Station at 35.351 km
4

60

1.5
1
0.5
0
0.5
1
1.5
2

Distance (km)
60 80 100 120 140 160 degree
Log10 (Frequency)

Log10 (Frequency)

1731

4
3
2
1
0

1
0
1
Log10 Frequency (Hz)

90
45
0
1
0
1
Log10 Frequency (Hz)

Fig. 9. Comparisons of (a) observed data and (b) predicted model responses of TM mode inversion for eld data with MT2DInvMatlab. Upper panels in (a) and (b) represent
apparent resistivities and lower panels do impedance phases. Sounding curves of observed data with error bars (circles) and predicted model responses (solid lines) at
selected stations, 35.351 and 168.755 km, are shown in (c) and (d). An RMS error of data mist between observed and predicted data is 0.15. Phases are added by 180 in
all plots.

inversion. As shown in Figs. 5(b)(d), however, the distortions due


to topography have disappeared and the conductive body is
recovered well in both position and shape with MT2DInvMatlab
by considering topography in inversion.
Fig. 6(a) shows a model which is the same as the one tested in
Sasaki (1989). In this model, a conductive layer of 5 Om is
embedded in a host medium of 50 Om, but this layer is
disconnected or faulted over the range approximately 911 km
in the horizontal coordinate. There also exist one conductive
and one resistive anomalous body just below the surface. We
assume the same acquisition parameters as in Sasaki (1989). MT
stations are located every 2000 m along a prole from 500 m to
18500 m in the horizontal coordinate, resulting in 10 sites in total.
There are a total number of nine frequencies, which are 0.1, 0.22,
0.5, 1, 2.2, 5, 10, 22, and 50 Hz. Synthetic data are generated also by
GEOTOOLS MT.
The parameters LambdaMin and LambdaMax for the ACB
algorithm in MT2DInvMatlab are set to 2 and 8, respectively. The
parameters NoBlocksideX and NoBlocksideZ are all
set to 2. The resistivity blocks for inversion are subdivided into a
ner FE mesh for forward calculation by setting NoCellPerBlockX
and NoCellPerBlockZ to 4 and 2, respectively. The inversion
domain is established with parameters MaxDomainFactor 0:2,

BlockIncFactor 1:2, SurfaceBlockThickness 20, and


BlockDivMethod 1. The total number of inversion blocks
generated by MT2DInvMatlab is 23  18 414. Figs. 6(b)(d)
show inversion results of the TM, TE mode, and a joint set of TM
and TE mode data, respectively, for the model shown in Fig. 6(a).
The conductive layer and a fault over 7.512 km are imaged very
well for the inversions of the TM mode and a joint set of the TM and
TE modes. This feature, however, is not so distinct in the TE mode
inversion as compared with the other two inversions, but it is quite
natural since TE mode data is insensitive to lateral change compared
with TM mode data. From the above model studies, it is conrmed
that MT2DInvMatlab can efciently recover complex subsurfaces.

4.3. Comparisons of inversion for eld data


We have applied MT2DInvMatlab to the inversion of eld
data and compared the output with the results from inversion
code provided by commercial software GEOTOOLS MTs of
AOA Geophysics Inc. The code used for this purpose is a 2D
inversion code based on the non-linear conjugate gradient
(NLCG) algorithm (Rodi and Mackie, 2001), which is written in
FORTRAN.

ARTICLE IN PRESS
1732

S.K. Lee et al. / Computers & Geosciences 35 (2009) 17221734

Distance (km)
60 80 100 120 140 160 log10 (m)
3
2.5
2
1.5
1

20

40

0
Log10 (Frequency)

40

1.5
1
0.5
0
0.5
1
1.5
2
0

Log10 (Frequency)

20

80

1.5
1
0.5
0
0.5
1
1.5
2

60
40
20
0

20

40

1.5
1
0.5
0
0.5
1
1.5
2

Distance (km)
60 80 100 120 140 160 degree

20

40

1.5
1
0.5
0
0.5
1
1.5
2

80

100 120 140 160 log10 (m)

60
40
20
0

3
2.5
2
1.5
1

20

40

0
Log10 (Frequency)

60

80
60
40
20
0

20

40

1.5
1
0.5
0
0.5
1
1.5
2

Distance (km)
60 80 100 120 140 160 degree
1.5
1
0.5
0
0.5
1
1.5
2

Distance (km)
60 80 100 120 140 160 log10 (m)
3
2.5
2
1.5
1

0
Log10 (Frequency)

Log10 (Frequency)

40

1.5
1
0.5
0
0.5
1
1.5
2
0

Log10 (Frequency)

20

Distance (km)
60 80 100 120 140 160 degree
80

1.5
1
0.5
0
0.5
1
1.5
2

Distance (km)
0

Distance (km)
60 80 100 120 140 160 log10 (m)
3
2.5
2
1.5
1

0
Log10 (Frequency)

Log10 (Frequency)

20

40

Distance (km)
60 80 100 120 140 160 degree
80
60
40
20
0

Fig. 10. Comparisons of observed data and predicted model responses of TM mode ((a) and (b)) and TE mode ((c) and (d)) of joint inversion for eld data with
MT2DInvMatlab. Upper panels in (a)(d) represent apparent resistivities and lower panels do impedance phases. TM mode phases are added by 180 to have lower panels
in (a) and (b).

The eld data set for this comparison is one acquired around
the area of the Lachlan Fold Belt in Central Victoria, Australia. The
Lachlan Fold Belt of southeastern Australia is a 700 km wide belt
of deformed, Paleozoic deep and shallow marine sedimentary
rocks, cherts and mac volcanic rocks (VandenBerg et al., 2000). It
is known from surface structural elements that it was formed
by massive telescoping and strike-slip translation within a
continental margin sediment prism along the former eastern
margin of Gondwanaland during the mid-Paleozoic.6 MT surveys
were completed to obtain an electrical conductivity image to
improve current interpretations in the central part of the Lachlan
Fold Belt. The proling line is 180 km long running approximately
eastwest. The total number of MT stations is 53 and a remote
reference (RR) site was located 160 km away from the center of
local eld sites. The MTU-5/A systems of Phoenix Geophysics, Ltd.
were used for MT data acquisition. Because the survey site is
relatively quiet in the EM noise sense, apparent resistivity and
phase data show continuous and reasonable sounding curves at
most sites. RR processing improves the data even better around
the dead band. Overall data quality is very good at almost all sites,
but we edited out some bad data before inversion. Impedance
estimation with RR processing was done with SSMT2000TM
processing software.
A straight 2D line was set up along the direction of 951
counterclockwise from North and the actual MT stations were

http://www.geo.arizona.edu/geo5xx/geo527/LachlanFoldBelt/index.htm

projected onto this line. The distance represents the offset


measured to the point of each MT site projected onto the xed
line. The number of frequencies used is 27 and they are 0.0092,
0.0134, 0.0183, 0.0269, 0.037, 0.054, 0.073, 0.107, 0.146, 0.215,
0.293, 0.43, 0.59, 0.86, 1.17, 1.72, 2.34, 3.4, 4.7, 6.9, 9.4, 13.7, 18.8,
27.5, 40, 66, and 97 Hz. The phases are included as well as
apparent resistivity, and the minimum and the maximum
regularization parameters are set to 4 and 10 in the ACB
algorithm. Topography is not included in the inversion because
the survey area can be considered as at, when compared to the
length of survey lines. The numbers of inversion blocks are 57 
32 in MT2DInvMatlab and 79  39 in the NLCG code.
Figs. 7 and 8 show the inversion results for the TM mode data
and a joint set of TM and TE data using two independent
programs, MT2DInvMatlab and GEOTOOLS MT. The regularization
parameters determined during inversion of MT2DInvMatlab are
also shown.
We can notice that the two inversion codes give quite similar
resistivity images, even though the detailed inversion parameters
are not identical. We can recognize high resistivity anomalies at
the depths below 10 km at a lateral distance of 2080 km as
common features in both of the inverse models. In addition, the
shape of the upper boundary of the conductive layer at depths of
1020 km is also very similar. We can also identify that the two
programs give quite compatible results in the inversion for a joint
set of TM and TE mode data.
One can also check regularization parameters, which are
actually applied as a function of spatial coordinates in the

ARTICLE IN PRESS
S.K. Lee et al. / Computers & Geosciences 35 (2009) 17221734

3
2
1
0
3

1
0
1
Log10 Frequency (Hz)

180
90
45
0
90
135
180
3

1
0
1
Log10 Frequency (Hz)

4
3
2
1
0

Phase (Degree)

Phase (Degree)

Station at 31.016 km

Log10a (Ohmm)

Log10a (Ohmm)

Station at 27.53 km

3
2
1
0
2

180
90
45
0
90
135
180
3

1
0
1
Log10 Frequency (Hz)

1
0
1
Log10 Frequency (Hz)

4
3
2
1
0

Phase (Degree)

Phase (Degree)

1
0
1
Log10 Frequency (Hz)

Station at 139.083 km
Log10a (Ohmm)

Log10a (Ohmm)

Station at 99.075 km

1
0
1
Log10 Frequency (Hz)

180
90
45
0
90
135
180

1733

1
0
1
Log10 Frequency (Hz)

1
0
1
Log Frequency (Hz)

180
90
45
0
90
135
180

Fig. 11. Examples of data tting in joint inversion of TM and TE modes. Shown are sounding curves of observed data with error bars (symbols) and predicted model
responses (solid lines) at selected stations, (a) 27.53 km (Station 9), (b) 31.016 km (Station 11), (c) 99.075 km (Station 40), and (d) 139.083 km (Station 49). Rectangles and
solid lines denote TE mode, and circles and solid lines show TM mode, respectively.

inversion with MT2DInvMatlab. Besides the similarity of the


inversion images, we can identify that the contrast in the inverted
resistivity sections become more distinct when using MT2DInvMatlab. This results from the fact that MT2DInvMatlab adopts
ACB algorithm in which smaller regularization parameters
are applied to more resolvable parameters and vice versa,
through parameter resolution analysis. This functionality of
MT2DInvMatlab also helps users in appraisal of inverse models
after inversion.
We compare the observed eld data with predicted model
responses for inversions done with MT2DInvMatlab shown in
Figs. 7 and 8. Figs. 9(a) and (b) represent pseudo-sections of
apparent resistivities and phases of observed eld data and
predicted model responses. The phases are added by 180 for the
TM mode as described earlier. As seen in Fig. 9, MT2DInvMatlab
ts the observed data very well for the TM mode inversion. To see
data tting in detail, the sounding curves at two selected stations,
35.351 and 168.755 km, are also shown in Figs. 9(c) and (d).
Symbols with error bars represent the apparent resistivity and
phases of eld data, and solid lines show the predicted model
responses which appear to be in close agreement.

Fig. 10 shows the pseudo-sections of observed and predicted


model responses for joint inversion of the TM and TE mode data.
The sounding curves of observed data with error bars (symbols)
and predicted model responses (solid lines) at selected stations
such as Station 9 (27.53 km), 11 (31.016 km), 40 (99.075 km) and
49 (139.083 km) are also shown in Fig. 11, where rectangles and
solid lines denote the TE mode, and circles and solid lines for the
TM mode, respectively. The TM mode apparent resistivities and
phases are better tted than the TE mode, as a consequence of the
inherently inductive nature of the 2D TE response in a non-2D real
environment (Jiracek, 1990). However, the general features of
apparent resistivity and phases are also well tted in the joint
inversion of TM and TE mode data as shown in Fig. 10.

5. Discussion and conclusions


In this paper, MT2DInvMatlab has been developed under the
MATLAB environment using the mixed languages of MATLAB and
FORTRAN. It uses FEM to compute 2D MT model responses, and
smoothness constraint least-squares inversion with the ACB

ARTICLE IN PRESS
1734

S.K. Lee et al. / Computers & Geosciences 35 (2009) 17221734

algorithm. It is also capable of compensating for terrain effects in


inversion by incorporating topography into a forward model. This
program runs under the MATLAB environment so that users can
utilize the advantages of MATLAB, while some functions
MT2DInvMatlab are written in FORTRAN to speed up computation. We veried the performance of MT2DInvMatlab through
synthetic models including a model having surface topography,
and eld data applications by comparing the inverse models
obtained with MT2DInvMatlab and the NLCG algorithm.
From the model studies and eld data results, it is conrmed
that this inversion code can be effectively used in the MATLAB
environment to reconstruct the subsurface resistivity structure.
We expect that users can easily add and test alternative 2D MT
inversion algorithms by simply writing matrix equations in
MATLAB.

Acknowledgments
This work was supported by the Basic Research Project of Korea
Institute of Geoscience and Mineral Resources (KIGAM) funded by
the Ministry of Knowledge and Economy (MKE) of Korean
Government. One of the authors, Hee Joon Kim, was supported
by a Grant (DJ2-101-1-0-0) from Carbon Dioxide Reduction &
Sequestration Research Center, one of the 21st Century Frontier
Programs funded by the Ministry of Science and Technology of
Korean Government. Authors would like to thank Dr. Tae Jong Lee,
Dr. Toshihiro Uchida, and Professor Jim Cull for approval of use of
eld data for comparison. We would also like to thank Dr. Yuguo Li
and another anonymous reviewer for their constructive comments on our manuscript.
References
Becker, E.B., Carey, G.F., Oden, J.T., 1981. Finite Elements: An Introduction. PrenticeHall Inc., Englewood Cliffs, NJ, 255pp.
Berdichevsky, M.N., Dmitriev, V.I., 2002. Magnetotellurics in the Context of the
Theory of Ill-Posed Problems. Society of Exploration Geophysicists, Tulsa, OK,
215pp.
Chouteau, M., Bouchard, K., 1988. Two-dimensional terrain correction in
magnetotelluric surveys. Geophysics 53, 854862.
deGroot-Hedlin, C., Constable, S., 1990. Occams inversion to generate smooth, twodimensional models from magnetotelluric data. Geophysics 55, 16131624.
Giroux, B., Gloaguen, E., Chouteau, M., 2007. bh_tomoa Matlab borehole georadar
2D tomography package. Computers and Geosciences 33, 126137.
Holcombe, H.T., Jiracek, G.R., 1984. Three-dimensional terrain corrections in
resistivity surveys. Geophysics 49, 439452.
Ingeman-Nielsen, T., Baumgartner, F., 2006. CR1Dmod: a Matlab program to model
1D complex resistivity effects in electrical and electromagnetic surveys.
Computers and Geosciences 32, 14111419.
Irving, J., Knight, R., 2006. Numerical modeling of ground-penetrating radar in 2-D
using MATLAB. Computers and Geosciences 32, 12471258.
Jiracek, G.R., 1990. Near-surface and topographic distortions in electromagnetic
induction. Surveys in Geophysics 11, 163203.
Jupp, D.L.B., Vozoff, K., 1977. Two-dimensional magnetotelluric inversion. Geophysical Journal of the Royal Astronomical Society 50, 333352.

Kelbert, A., Egbert, G.D., 2007. A modular system for EM inversion: Implementation
of NLCG for 3-D magnetotelluric data. In: Eos Transaction American
Geophysical Union, San Francisco, USA, pp. GP33B1254.
Loke, M.H., 2000. Topographic modeling in electrical imaging inversion. In:
Proceedings 62nd Meeting of the European Association of Exploration
Geoscientists, Glasgow, Scotland, pp. 14. hhttp://geoelectrical.com/
topoabs.pdfi (accessed 30.03.09).
Mackie, R.L., Madden, T.R., 1993. Three-dimensional magnetotelluric inversion
using conjugate gradients. Geophysical Journal International 115, 215229.
McGillivray, P.R., Oldenburg, D.W., 1990. Methods for calculating Frechet
derivatives and sensitivities for the non-linear inverse problem: a comparative
study. Geophysical Prospecting 38, 499524.
McGillivray, P.R., Oldenburg, D.W., Ellis, R.G., Habashy, T.M., 1994. Calculation of
sensitivities for the frequency-domain electromagnetic problem. Geophysical
Journal International 116, 14.
Mehanee, S., Zhdanov, M., 2002. Two-dimensional magnetotelluric inversion of
blocky geoelectrical structures. Journal of Geophysical Research 107 (EPM 2),
111.
Menke, W., 1989. Geophysical Data Analysis Discrete Inverse theory, revised ed.
Academic Press Inc, San Diego, CA, 289pp.
Nam, M.J., Kim, H.J., Song, Y., Lee, T.J., Son, J.-S., Suh, J.H., 2007. 3D magnetotelluric
modeling including surface topography. Geophysical Prospecting 55, 277287.
Newman, G.A., Alumbaugh, D.L., 2000. Three-dimensional magnetotelluric inversion using non-linear conjugate gradients. Geophysical Journal International
140, 410424.
Ogawa, Y., Uchida, T., 1996. A two-dimensional magnetotelluric inversion assuming
Gaussian static shift. Geophysical Journal International 126, 6976.
Ogawa, Y., 2002. On two-dimensional modeling of magnetotelluric eld data.
Surveys in Geophysics 23, 251273.
Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, B.P., 1992. Numerical Recipes
in FORTRAN: The Art of Scientic Computing. Cambridge University Press, New
York, 963pp.
Rodi, W.L., 1976. A technique for improving the accuracy of nite element solutions
for magnetotelluric data. Geophysical Journal of the Royal Astronomical
Society 44, 483506.
Rodi, W., Mackie, R.L., 2001. Nonlinear conjugate gradients algorithm for 2D
magnetotelluric inversion. Geophysics 66, 174187.
Sasaki, Y., 1989. Two-dimensional joint inversion of magnetotelluric and
dipoledipole resistivity data. Geophysics 54, 254262.
Sasaki, Y., 2004. Three-dimensional inversion of static-shifted magnetotelluric
data. Earth Planets Space 56, 239248.
Siripunvaraporn, W., Egbert, G., 2000. An efcient data-subspace inversion method
for 2D magnetotelluric data. Geophysics 65, 791803.
Siripunvaraporn, W., Egbert, G., Lenbury, Y., Uyeshima, M., 2005. Three-dimensional magnetotelluric inversion: data space method. Physics of the Earth and
Planetary Interiors 150, 314.
Sundararajan, N., Ramesh Babu, V., Shiva Prasad, N., Srinivas, Y., 2006. VLFPROSa
Matlab code for processing of VLF-EM data. Computers and Geosciences 32,
18061813.
Tikhonov, A.N., Arsenin, V.Y., 1977. Solution of Ill-Posed Problems. Wiley, New York,
258pp.
Uchida, T., 1993. Smooth 2D inversion for magnetotelluric data based on statistical
criterion ABIC. Journal of Geomagnetism and Geoelectricity 45, 841858.
VandenBerg, A.H.M., Willman, C.E., Maher, S., Simons, B.A., Cayley, R.A., Taylor,
D.H., Morand, V.J., Moore, D.H., Radojkovic, A., 2000. The Tasman Fold Belt
System in Victoria. Geological Survey of Victoria, Melbourne, VIC, 462pp.
Wannamaker, P.E., Stodt, J.A., Rijo, L., 1986. Two-dimensional topographic
responses in magnetotellurics modeled using nite elements. Geophysics 51,
21312144.
Wannamaker, P.E., 1999. Affordable magnetotellurics interpretation in natural
environments. In: Oristaglio, M., Spies, B. (Eds.), Three-Dimensional Electromagnetics. Society of Exploration Geophysicists, Tulsa pp. 349374.
Yi, M.-J., Kim, J.-H., Chung, S.-H., 2003. Enhancing the resolving power of leastsquares inversion with active constraint balancing. Geophysics 68, 931941.
Zhdanov, M.S., Fang, S., Hursan, G., 2000. Electromagnetic inversion using quasilinear approximation. Geophysics 65, 15011513.
Zhdanov, M.S., 2002. Geophysical Inverse Theory and Regularization Problems.
Elsevier, Amsterdam, The Netherlands, 609pp.

You might also like