ARTICLE IN PRESS Computers & Geosciences 35 (2009) 1722–1734
Contents lists available at ScienceDirect
Computers & Geosciences journal homepage: www.elsevier.com/locate/cageo
MT2DInvMatlab—A 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 finite 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 specific functions are written in FORTRAN 90 to speed up computation and reuse pre-existing FORTRAN code in the MATLAB environment with minimal modification. This program has been tested using synthetic models, including one with variable topography, and on field 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 efficient 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 field data interpretation (Berdichevsky and Dmitriev, 2002). Consequently, many of MT surveys are still being done along a single profile 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 benefit 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 significant 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:
[email protected] (S.K. Lee),
[email protected] (H.J. Kim). 0098-3004/$ - see front matter & 2009 Elsevier Ltd. All rights reserved. doi:10.1016/j.cageo.2008.10.010
1
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) 1722–1734
it provides a mixed language environment, which means that any pre-developed FORTRAN or C codes could be used with minor modification 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 efficiency.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 modification in the MATLAB environment. In our implementation of MT2DInvMatlab, we basically use the method of finite 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 air–earth interface (Loke, 2000). The inversion software developed in this study is tested on synthetic and field 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 find the equivalent equations for the case that strike is in the x direction and time-dependence is eiwt in Rodi (1976). In addition, the finite element (FE) equations are in more general form than Rodi’s (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 fields can be rewritten as 1 r rV ¼ gV. (1)
t
After solving for V in Eq. (1), the corresponding auxiliary fields 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 ffiffiffiffiffiffiffi o is the angular frequency of incident MT fields, 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 finite elements Oe ’s, and applying Galerkin approximation of Eq. (6) yield a basic equation for FE formulation over each element
Oe Z Oe
1
t
rN i rNj dS þ
Z Oe
gN i N j dS ¼
Z @Oe
1
t
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 fixed 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 earth’s surface to satisfy boundary conditions in the air, which means that the magnetic field 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) 1722–1734
2.2. Least-squares inversion In this section, we will briefly introduce inversion algorithms related to implementation of our software. The MT 2D forward problem can be represented generally in a discrete form as m
d
¼ AðmÞ,
(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
PðmÞ ¼ fðmÞ þ l sðmÞ,
(13)
where fðmÞ is a misfit functional and sðmÞ is a stabilizing functional, and l is a regularization parameter which controls the trade-off between these two contributions in a minimization process. The misfit and stabilizing functionals are written as
fðmÞ ¼ kd AðmÞk2 ,
(14)
sðmÞ ¼ 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 CÞ1 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 misfit. 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 specifically find 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 ReðZ 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 fields 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, modification of Rodi’s (1976) algorithm to obtain auxiliary fields 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 files as inputs on execution and creates one file to convey inversion results. Those files are a parameter script file (*.m), a field data file (*.FDT), a topography file (*.TOP) if topographic inversion is chosen, and an MT inversion result file (*.MIR). To run an inversion (MT2DInvMatlab), type as below at the MATLAB prompt after creating a parameter script file. b MT2DInvMatlab(‘ParameterScriptFile’); Then, a figure window having field 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 file to make MT2DInvMatlab run in its own way. In the beginning, MT2DInvMatlab runs this parameter script file first and sets appropriate variables. MT2DInvMatlab also needs as input a field data file containing the 2D MT survey data along a profile. The topography can be included into a forward model by specifying MTTopoFileName, which contains topography information along a profile. 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) 1722–1734
x
Progress of Inversion Field Data
1725
Theoretical Data
z Air Earth
Fig. 2. Schematic diagram of an inversion block (thick line) and a finite element (FE) mesh (thin line) generated by MT2DInvMatlab. An inversion domain will be set up by expanding from data domain (filled in gray) where MT stations (triangles) are located, and could be subdivided further into a finer 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 earth’s surface, both to top and to bottom of a domain to make sure that flat boundary conditions can be applied.
Object Function
Inversion Image
Fig. 1. Shown is an example of main figure when MT2DInvMatlab is running. At every iteration, user can monitor progress of inversion and compare field data and theoretical responses, confirm convergence of an object function (a Tikhonov functional) including data misfit 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 files 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 find 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 file. The thickness of the inversion blocks will be established with the first 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 field 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 finer FE mesh to ensure accurate forward modeling by setting parameters NoCellPerBlockX, NoCellPerBlockZ in an input MATLAB script file. Topography is implemented by moving the FE nodes defining rectangular elements in the z direction according to the elevation of the air–earth 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 file name containing topography at arbitrary positions along a profile. 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 earth’s surface, both to the top and to the bottom of the domain to make sure that flat 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 files such as setblockmodelmtu.for, setbasicmeshmtu.for, settopography2mesh.for, and accompanying FORTRAN subroutines.
3.3. Modified Rodi’s algorithm to obtain auxiliary fields for the case of a topography model To calculate the MT impedances, one must obtain auxiliary fields by differentiating V with respect to z as in Eq. (3). This process is also important in that we normally interpret field data
ARTICLE IN PRESS 1726
S.K. Lee et al. / Computers & Geosciences 35 (2009) 1722–1734
in terms of impedances (equivalently, apparent resistivities and phases) and not fields themselves computed directly from modeling. The accuracy in calculating the impedances therefore
n
t
θ θ y +
depends on the numerical errors in auxiliary fields J as well as in solution fields 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 finer meshes near the surface. Rodi (1976) suggested an elegant method of obtaining the auxiliary field J in the TM mode instead of using a simple difference formula when one uses FEM for modeling. The main idea is that one first 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 Rodi’s algorithm gives normal derivatives rather than derivatives of z (Fig. 3). Following the Rodi’s (1976) algorithm, we have: Ks vs ¼ vsn ,
z Fig. 3. Normal and tangential vectors to a topographic surface defined for calculation of auxiliary fields. Slope y ð90 oyo90 Þ is defined 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 air–earth interface and the solution of V. In Eq. (22), Ks is a reduced matrix established with only elements containing nodes at the air–earth interface, and vs and vsn is vectors of solutions and
Elevation (m)
100
50
0
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) 1722–1734
1727
Distance (km) −5
0
5
10
15
20
25
−2 Depth (km)
0 10
2
100 Ohm−m
4 6 8 Distance (km)
−5 −2
0
5
10
15
25 log10 (Ω−m)
20
2
Depth (km)
0
1.8
2
1.6
4
1.4
6
1.2 8
−5 −2
0
5
Distance (km) 10
15
25 log10 (Ω−m) 2.2
20
2
Depth (km)
0
1.8
2
1.6
4
1.4
6
1.2
8
1 Distance (km)
−5 −2
0
5
10
15
25 log10 (Ω−m)
20
2
Depth (km)
0
1.8
2
1.6
4
1.4 1.2
6
1
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 air–earth 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 flat surface, auxiliary fields 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 modified Rodi’s 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 field 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) 1722–1734
Distance (km) 0
Depth (km)
−5 0
5
10
15
20
25
10
100
1
5 5
2
50 Ohm−m 3 4 Distance (km)
Depth (km)
−5 0
0
5
10
15
20
25 log10 (Ω−m) 2
1 1.5
2 3
1
4
−5
0
5
Distance (km) 10
15
20
Depth (km)
0
25 log10 (Ω−m) 2
1 1.5
2 3
1
4
Depth (km)
−5 0
0
5
Distance (km) 10
15
20
25 log10 (Ω−m) 2
1 1.5
2 3
1
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 9–11 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 misfit and model roughness, may be a critical procedure to achieve both resolution and stability. Uchida (1993) used the statistical criterion Akaike’s 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 lðx; zÞ, which is named as ACB (active constraint balancing), and determined lðx; 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 defined 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 CÞ1 JT .
(27)
The spread function, which accounts for the inherent degree of how much the ith model parameter is not resolvable, is defined as SP i ¼
M X fwij ð1 Sij ÞRij g2 ,
(28)
j¼1
where M is the total number of inversion parameters, wij is a weighting factor defined 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) 1722–1734
1729
Distance (km)
Depth (km)
−20 −20
0
20
40
60
80
100
120
140
160
180 log10 (Ω−m) 4
−10 0
3
10
2
20
1
30
0
40 Distance (km)
Depth (km)
−20 −20
0
20
40
60
80
100
120
140
160
180 log10 (Ω−m) 4
−10 0
3
10
2
20
1
30
0
40
Depth (km)
Distance (km) −20 0
0
20
40
60
80
100
120
140
160
180 ACB (λ) 9
10
8
20
7
30
6
40
5
Fig. 7. Comparison of inversion of TM mode field 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 final 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 defined 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 lðx; zÞ is set by a value from log-linear interpolation (Yi et al., 2003) logðlmax Þ logðlmin Þ logðSP max Þ logðSP min Þ flogðSP i Þ logðSP min Þg,
logðli Þ ¼ logðlmin Þ þ
(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 lðx; zÞ, which must be provided by the user. With this method, we can automatically set a smaller value lðx; 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 one’s 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 fields. 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) 1722–1734
Distance (km) −20 −20
0
20
40
60
80
100
120
140
160
4
−10 Depth (km)
180 log10 (Ω−m)
3
0 10
2
20 1
30 40
0 Distance (km)
−20 −20
0
20
40
60
80
100
120
140
160
4
−10 Depth (km)
180 log10 (Ω−m)
3
0 10
2
20 1
30 40
0 Distance (km)
Depth (km)
−20 0
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 field 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 final 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 flat 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 confirmed 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 flat 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 1400–2400 m in depth, and 8750–11250 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 profile. 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 finer 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 flow along the air–earth 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 flowing 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) 1722–1734
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
0
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
−3
Log10ρa (Ohm−m)
1
Phase (Degree)
Log10ρa (Ohm−m) Phase (Degree)
2
1 0 −1 Log10 Frequency (Hz)
90 45 0 3
2
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
3
2
80 100 120 140 160 log10 (Ω−m) 3 2.5 2 1.5 1
Station at 35.351 km 4
3
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)
0
1731
−2
−3
4 3 2 1 0
3
2
3
2
1 0 −1 Log10 Frequency (Hz)
−2
−3
−2
−3
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 field 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 misfit 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 9–11 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 profile 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 finer 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.5–12 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 confirmed that MT2DInvMatlab can efficiently recover complex subsurfaces.
4.3. Comparisons of inversion for field data We have applied MT2DInvMatlab to the inversion of field 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) 1722–1734
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)
0
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 field 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 field 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 mafic 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 profiling line is 180 km long running approximately east–west. The total number of MT stations is 53 and a remote reference (RR) site was located 160 km away from the center of local field 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
6
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 fixed 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 flat, 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 20–80 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 10–20 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) 1722–1734
3 2 1 0 3
2
1 0 −1 Log10 Frequency (Hz)
−2
−180 90 45 0 −90 −135 −180 3
2
1 0 −1 Log10 Frequency (Hz)
−2
4 3 2 1 0
−3
Phase (Degree)
Phase (Degree)
Station at 31.016 km
4
Log10ρa (Ohm−m)
Log10ρa (Ohm−m)
Station at 27.53 km
3
2
3
2
3 2 1 0 −2
−180 90 45 0 −90 −135 −180 3
2
1 0 −1 Log10 Frequency (Hz)
−3
1 0 −1 Log10 Frequency (Hz)
−2
−3
−2
4 3 2 1 0
−3
Phase (Degree)
Phase (Degree)
1 0 −1 Log10 Frequency (Hz)
−2
Station at 139.083 km Log10ρa (Ohm−m)
Log10ρa (Ohm−m)
Station at 99.075 km
2
1 0 −1 Log10 Frequency (Hz)
−180 90 45 0 −90 −135 −180
−3
4
3
1733
−3
3
2
1 0 −1 Log10 Frequency (Hz)
−2
−3
3
2
1 0 −1 Log Frequency (Hz)
−2
−3
−180 90 45 0 −90 −135 −180
Fig. 11. Examples of data fitting 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 field 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 field data and predicted model responses. The phases are added by þ180 for the TM mode as described earlier. As seen in Fig. 9, MT2DInvMatlab fits the observed data very well for the TM mode inversion. To see data fitting 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 field 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 fitted 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 fitted 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) 1722–1734
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 verified the performance of MT2DInvMatlab through synthetic models including a model having surface topography, and field data applications by comparing the inverse models obtained with MT2DInvMatlab and the NLCG algorithm. From the model studies and field data results, it is confirmed 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 field 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, 854–862. deGroot-Hedlin, C., Constable, S., 1990. Occam’s inversion to generate smooth, twodimensional models from magnetotelluric data. Geophysics 55, 1613–1624. Giroux, B., Gloaguen, E., Chouteau, M., 2007. bh_tomo—a Matlab borehole georadar 2D tomography package. Computers and Geosciences 33, 126–137. Holcombe, H.T., Jiracek, G.R., 1984. Three-dimensional terrain corrections in resistivity surveys. Geophysics 49, 439–452. 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, 1411–1419. Irving, J., Knight, R., 2006. Numerical modeling of ground-penetrating radar in 2-D using MATLAB. Computers and Geosciences 32, 1247–1258. Jiracek, G.R., 1990. Near-surface and topographic distortions in electromagnetic induction. Surveys in Geophysics 11, 163–203. Jupp, D.L.B., Vozoff, K., 1977. Two-dimensional magnetotelluric inversion. Geophysical Journal of the Royal Astronomical Society 50, 333–352.
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. GP33B–1254. Loke, M.H., 2000. Topographic modeling in electrical imaging inversion. In: Proceedings 62nd Meeting of the European Association of Exploration Geoscientists, Glasgow, Scotland, pp. 1–4. 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, 215–229. McGillivray, P.R., Oldenburg, D.W., 1990. Methods for calculating Fre´chet derivatives and sensitivities for the non-linear inverse problem: a comparative study. Geophysical Prospecting 38, 499–524. 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, 1–4. Mehanee, S., Zhdanov, M., 2002. Two-dimensional magnetotelluric inversion of blocky geoelectrical structures. Journal of Geophysical Research 107 (EPM 2), 1–11. 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, 277–287. Newman, G.A., Alumbaugh, D.L., 2000. Three-dimensional magnetotelluric inversion using non-linear conjugate gradients. Geophysical Journal International 140, 410–424. Ogawa, Y., Uchida, T., 1996. A two-dimensional magnetotelluric inversion assuming Gaussian static shift. Geophysical Journal International 126, 69–76. Ogawa, Y., 2002. On two-dimensional modeling of magnetotelluric field data. Surveys in Geophysics 23, 251–273. Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, B.P., 1992. Numerical Recipes in FORTRAN: The Art of Scientific Computing. Cambridge University Press, New York, 963pp. Rodi, W.L., 1976. A technique for improving the accuracy of finite element solutions for magnetotelluric data. Geophysical Journal of the Royal Astronomical Society 44, 483–506. Rodi, W., Mackie, R.L., 2001. Nonlinear conjugate gradients algorithm for 2D magnetotelluric inversion. Geophysics 66, 174–187. Sasaki, Y., 1989. Two-dimensional joint inversion of magnetotelluric and dipole–dipole resistivity data. Geophysics 54, 254–262. Sasaki, Y., 2004. Three-dimensional inversion of static-shifted magnetotelluric data. Earth Planets Space 56, 239–248. Siripunvaraporn, W., Egbert, G., 2000. An efficient data-subspace inversion method for 2D magnetotelluric data. Geophysics 65, 791–803. Siripunvaraporn, W., Egbert, G., Lenbury, Y., Uyeshima, M., 2005. Three-dimensional magnetotelluric inversion: data space method. Physics of the Earth and Planetary Interiors 150, 3–14. Sundararajan, N., Ramesh Babu, V., Shiva Prasad, N., Srinivas, Y., 2006. VLFPROS—a Matlab code for processing of VLF-EM data. Computers and Geosciences 32, 1806–1813. 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, 841–858. 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 finite elements. Geophysics 51, 2131–2144. 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. 349–374. Yi, M.-J., Kim, J.-H., Chung, S.-H., 2003. Enhancing the resolving power of leastsquares inversion with active constraint balancing. Geophysics 68, 931–941. Zhdanov, M.S., Fang, S., Hursan, G., 2000. Electromagnetic inversion using quasilinear approximation. Geophysics 65, 1501–1513. Zhdanov, M.S., 2002. Geophysical Inverse Theory and Regularization Problems. Elsevier, Amsterdam, The Netherlands, 609pp.