aem e3d - university of british columbiarshekhtm/octree/aemmanual-v2.pdf · 2015. 10. 12. · aem...

22
AEM E3D A Program Library for Forward Modelling and Inversion of Frequency Domain Airborne EM Data over 3D Structures Version 1.0 Developed under the consortium research project: INDUSTRIAL RESEARCH CHAIR Release date: 12 October 2015 UBC - Geophysical Inversion Facility 1988 – 2015

Upload: others

Post on 27-Jan-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

  • AEM E3D

    A Program Library for Forward Modellingand Inversion of Frequency Domain Airborne

    EM Data over 3D Structures

    Version 1.0

    Developed under the consortium research project:

    INDUSTRIAL RESEARCH CHAIR

    Release date: 12 October 2015

    UBC - Geophysical Inversion Facility 1988 – 2015

  • Table of Contents

    1 Package overview 1

    1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.2 AEM e3d program library content . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.3 Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.4 Installing AEM e3d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2 Theoretical Background for e3d 4

    2.1 Physics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2.2 Octree mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2.3 Discretization of the Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.4 Solutions to the Forward Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.5 Solutions to the Inverse Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    3 Program Library 8

    4 Octree tile mesh generation 9

    5 Forward modeling and inversion 15

    6 References 20

  • 1 Package overview

    1.1 Introduction

    This manual provides instruction and background for the AEM e3d program library for the forwardmodeling and inversion of airborne frequency domain electromagnetic survey data. New to thisprogram is the ability to create many small meshes on which to solve the EM forward problemsin parallel. The AEM mesh generation code is parallelized with OpenMP and is meant to run ona single node. It will use as many threads as available, or the user can use the OMP NUM THREADSenvironment variable to indicate the number of threads.

    In order to decrease computational time and increase accuracy by mesh refinement in areas ofinterest, AEM e3d models are discretized on an Octree mesh. For ease of use the program library

    Figure 1: An example of 2D adaptive mesh refinement.

    includes several utilities which generate a regular base mesh, enabling the user to construct initialor simulation models on a regular mesh and then convert to an octree mesh. From the users point ofview the software operates in much the same way as previous GIF codes. This version is currentlyrun through the command line only.The program library provides codes to do the following:

    1. Construct models on a rectangular mesh, where each cell is assigned a constant value ofconductivity, and transfers the model to an octree mesh.

    2. Forward model electric and magnetic field anomaly responses to a 3D volume of contrastingconductivity, on individual small octree mesh tiles.

    3. Convert from the large octree mesh to a regular base mesh.

    4. Invert airborne EM data to generate 3D conductivity models:

    1

  • • The inversion is solved as an optimization problem with the simultaneous goals of (i)minimizing an objective function dependent on the model and (ii) generating syntheticdata that matches observations to within a degree of misfit consistent with the statisticsof the data.

    • To counteract the inherent lack of information, the formulation incorporates a referencemodel and either a smoothing regularization or a sparse regularization.

    • Capacity for the user to directionally weight smoothing and reference model influence aswell as overall influence of regularization on objective function minimization. Explicitprior information may also take the form of upper and lower bounds on the conductivitycontrast in any cell.

    • The regularization parameter (controlling relative importance of objective function andmisfit terms).

    In comparison with the e3d there are several new features for mesh generation and inversionwith AEM e3d.New Features:

    • Meshing: surface and below surface topography cell size control. This allows the user togenerate a mesh with refined cells near the surface of the topography to better capturefeatures.

    • Meshing: small meshes are generated and focused around each source/receiver so that theforward problem can be split into many small problems and solved in parallel. The solutionsare then interpolated back to the large base octree mesh. The user can specify the depth ofeach forward mesh, the number of cells surrounding source/receivers, and expand the polygonaround the data.

    • Meshing: data input file format has changed.

    Since then, improvements have been implemented as time and resources permit.

    1.2 AEM e3d program library content

    1. AEM e3d executable programs. For performing 3D forward modeling and inversion ofEM data on an octree mesh.The AEM e3d library (Windows or Linux platforms) consists of the following major programs:

    • AEMesh.exe• AEM.exe• MeshTools3d.exe

    2. Octree utilities. A collection of utilities to create weight files, generate models on the baseregular mesh and convert between regular and octree meshes.

    • NEW: extract mesh.exe

    2

  • • NEW: interface weights.exe• create weight file• face weights• octree cell centre• octreeTo3D• refine octree• remesh octree model

    3. graphical user interface. There is not yet a GUI for AEM e3d, but other GUI’s areavailable for the Windows platforms only. Facilities include:

    • MESHTOOLS3D: a utility for displaying resulting 3D models as volume renderings.

    4. Example data sets are provided in “EXAMPLES” directory.

    1.3 Licensing

    Licensing for commercial use is managed by distributors, not by the UBC-GIF research group.Details are in the Licensing policy document.

    1.4 Installing AEM e3d

    There is no automatic installer currently available for AEM e3d. Please follow the following stepsin order to use the software:

    1. Extract all files provided from the given zip-based archive and place them all together in anew folder.

    2. Add this directory as new path to your environment variables.

    3. Please install the Message Passing Interface (MPI) on your computer and add it to your pathin addition from. It is required even if running on a single computer.

    4. Matices are factored using Pardiso.

    5. Make sure to create a separate directory for each new inversion, where all the associated fileswill be stored. Do not store anything in the bin directory other than executable applicationsand Graphical User Interface applications (GUIs).

    MPI can be downloaded here.Pardiso can be downloaded here here.

    3

    http://gif.eos.ubc.ca/software/licensinghttp://www.mcs.anl.gov/research/projects/mpich2/http://www.pardiso-project.org/

  • 2 Theoretical Background for e3d

    This section aims to provide the user with a basic review of the physics, discretization, and opti-mization techniques used to solve the frequency domain electromagnetics problem. It is assumedthat the user has some background in these areas. For further reading see ([2]).

    2.1 Physics

    Maxwell’s equations provide the starting point from which an understanding of how electromagneticfields can be used to uncover the substructure of the Earth by determining changes it’s electricalproperties. In the frequency domain Maxwell’s can be written as as:

    ∇× E + iωµH = 0 (1a)∇× H− σE = s (1b)n̂×H = 0 (1c)

    where E and H are the electric and magnetic fields, s is some external source, and µ, σ, and ωare the magnetic permeability, conductivity, and angular frequency respectively. This formulationassumes a quasi-static mode so that the system can be viewed as a diffusion equation (Weaver,1994;Ward and Hohmann,1988 in ([2]). By doing so some difficulties arise when solving the system;

    • the curl operator has a non-trivial null space making the resulting linear system highly ill-conditioned

    • the conductivity σ varies over several orders of magnitude

    • the fields can vary significantly near the sources, but smooth out at distance thus high reso-lution is required near sources

    These issues are addressed by considering a Helmholz potential formulation to deal with the nullspace of the curl operator, harmonic averaging and mesh refinement to combat large jumps inconductivities, and the ability to refine the mesh near the sources to improve resolution.

    2.2 Octree mesh

    By using an Octree discretization of the earth domain, the areas near sources and likely modellocation can be given a higher resolution while cells grow large at distance. In this manner, thenecessary refinement can be obtained without added computational expense. Figure(2) shows anexample of an OcTree mesh, with nine cells, eight of which are the base mesh minimum size Whenworking with OcTree meshes, the underlying mesh is defined as a regular 3D orthogonal grid wherethe number of cells in each dimension are 2m1 × 2m2 × 2m3 , with grid size h. This underlying meshis the finest possible, so that larger cells have lengths which increase by powers of 2 multiplied byh. The idea is that if the recovered model properties change slowly over a certain volume, the cellsbounded by this volume can be merged into one without losing the accuracy in modeling, and areonly refined when the model begins to change rapidly.

    4

  • Figure 2: An example of a 3D OcTree mesh.([1])

    2.3 Discretization of the Operators

    The operators div, grad, and curl are discretized using a finite volume formulation. Although divand grad do not appear in (1), they are required for the solution of the system. The divergenceoperator is discretized in the usual flux-balance approach, which by Gauss’ theorem considersthe current flux through each face of a cell. The nodal gradient (operates on a function withvalues on the nodes) is obtained by differencing adjacent nodes and dividing by edge length. Thediscretization of the curl operator is computed similarly to the divergence operator by utilizingStokes theorem and summing the magnetic field components around the edge of each face. Pleasesee ([1]) for a detailed description of the discretization process.

    2.4 Solutions to the Forward Problem

    The solution for the fields H and E can either be computed iteratively or directly depending onthe number of sources. Since airborne surveys generally have many sources it is more efficient todirectly decompose the forward matrix system by LU factorization. By doing so, many systemscan be solved with a single factorization. Pardiso is used for the factorization; more informationcan be found here.

    The forward problem of simulating data can be written in the following form. Let A(m) be thediscrete linear system obtained by the discretization of Maxwell’s equations, where m = log(σ).Assuming there ns sources S = iω(s1, ..., sns) and that P

    T is a projection matrix from edges toreceivers then the simulated EM field data can be written as

    D(σ) = PTA(m)−1S (2)

    5

    http://www.pardiso-project.org/

  • 2.5 Solutions to the Inverse Problem

    Solving the non-linear EM inverse problem for electric conductivity is akin to minimizing thefollowing objective function

    Jmis(m) =1

    2||Σ� (D(σ)− dobs)||2F

    where Σ is a matrix of the inverse standard deviation for each measured data point dobs. Due tothe ill-posedness of the problem, there are no stable solutions and a regularization is needed.

    2.5.1 Smooth regularization

    The `2 regularization option penalizes for both smoothness, and likeness to a reference model mrefsupplied by the user.

    J`2(m−mref) =1

    2||∇(m−mref)||22

    An important consideration comes when discretizing the regularization. The gradient operates oncell centered variables in this instance. Applying a short distance approximation is second orderaccurate on a domain with uniform cells, but only O(1) on areas where cells are non-uniform. Torectify this a higher order approximation is used [1]. The discrete regularization operator can thenbe expressed as

    J`2(m) =1

    2

    ∫|∇m|2dV

    ≈ α12mTDIVcdiag(A

    T v)−1DIV>c m

    where A is an averaging matrix from faces to cell centres, DIV is the divergence operator, and v isthe cell volume For the benefit of the user, let WTW be the weighting matrix given by

    WTW = αdiag(v)DIVdiag(A>v)−1DIV>diag(v)

    which can be also be written as

    WTW =

    αx αyαz

    diag(v) (DIVx DIVy DIVz) diag(vf )−1DIV>xDIV>yDIV>z

    diag(v)In the code the WTW matrix is stored as a separate matrix so that individual model norm com-ponents can be calculated . Now, if a cell weighting is used it is applied to the entire norm, thatis, there is a w for each cell.

    WTW = diag(w)WTWdiag(w)

    There is also the option of choosing a cell interface weighting. This allows for a weight on each cellFACE. The user must supply the weights (wx, wy, wz) for each weighted cell. When the interfaceweighting option is chosen and the value is less than 1, a sharp discontinuity will be created. When

    6

  • the value is greater than 1, there will be a smooth transition. To prevent the inversion from putting”junk” on the surface, the top X and Y face weights should have a large value.

    WTW = αxdiag(v)DIVxdiag(wxvf )−1DIV>x diag(v)

    + αydiag(v)DIVydiag(wyvf )−1DIV>y diag(v)

    + αzdiag(v)DIVzdiag(wzvf )−1DIV>z diag(v)

    + αsdiag(v)diag(wsvf )−1diag(v)

    2.5.2 Ekblom regulization

    The Ekblom regulization allows the user to essentially change the norm or distance measure of theregulization. The discrete Ekblom norm is given by

    JEKB(m) = v>(A(G(m−mref )2 + �)p

    so that

    WTW = G>diag(A>v(A(G(m−mref )2 + �)p−1)G

    where G is the gradient operator. The Ekblom norm can be controlled by the user by choosing theexponent p and �.

    2.5.3 Numerical optimization

    The resulting optimization problem is then

    minm

    Jmis(m) + βJreg(m−mref)

    s.t. mL ≤m ≤mH

    where β is a regularization parameter, and mL and mH are upper and lower bounds provided bysome prior geological information.A simple Gauss-Newton optimization method is used where ipcg (incomplete preconditioned con-jugate gradients) is applied to solve for each G-N step. For more information refer again to [1] andreferences therein.

    7

  • 3 Program Library

    This section provides a description of each program in the e3d library.

    1. AEM e3d executable programs

    • AEMesh: creates small octree meshes around a each source-receiver array, and a largemesh over the entire survey domain

    • AEM: Forward and inverse modelling program

    2. Octree utilities.

    • NEW: extract mesh.exe• NEW: interface weights.exe• create weight file: creates the weighting on each cell in the model• face weights: creates weights on the faces of cells• octree cell centre: computes the cell centres of each octree cell• octreeTo3D: converts and octree mesh to a 3D base mesh• refine octree: refine the octrees• remesh octree model: converts the octree model to base mesh

    3. GUI’s.

    • MESHTOOLS3D: a utility for displaying resulting 3D models as volume renderings.

    8

  • 4 Octree tile mesh generation

    By providing a survey design, an octree mesh can be generated for the domain with the applicationAEMesh.exe where all input is specified in octree mesh.inp. This file can be viewed andmanipulated in a simple text editor.

    • octree mesh.inp requires the following data files:

    – data.txt

    – transmitters.txt

    – receivers.txt

    – frequencies.txt

    – topo.txt

    • AEMesh.exe output files:

    – octree mesh big.txt

    – octree small mesh.dat

    – active cells topo.txt

    – AEMesh.log

    A new feature of AEM is the splitting of the data files into several different files. An example ofthe mesh input file is given below. Each line is explained individually.

    octree mesh.inp

    50. 50. 50. ! 1. min_dx, min_dy, min_dz

    1 1 32 ! 2. mincellfactor mincellsize_fwd max_topo_cell

    3000. 3000. 3000. 3000. ! 3. total_expansion x y z ground expansion_air

    400 400 400 ! 4. depth_core_inv depth_core_inv2 depth_core_inv3

    300 600 1000 ! 5. depth_core_fwd depth_core_fwd2 depth_core_fwd3

    3 1 1 ! 6. # of small cells around receivers, ncell2, ncell4

    data_loc_subset.txt ! 7. data file

    transmitters.txt ! 8.

    receivers.txt ! 9.

    frequencies.txt ! 10.

    topo.txt ! 11. TOPO_CONST -1300 | NO_TOPO ! | topography file

    MAKE_POLYGON 100 ! 12. polygon points file | MAKE_POLYGON d

    READ_LARGE_MESH ../model/mesh.txt ! 13. CREATE_LARGE_MESH octree_mesh_big.txt

    octree mesh.inp explanations by line

    1. Smallest cell size. The octree mesh ’grows’ from a fine regular base mesh to extents in x, y, zand elevation above ground, so the smallest cell size for the underlying mesh is specified.(meters)

    9

  • 2. • minimum cell factor: powers of 2 (1,2,4...) rate at which cells ’grow’ below topography,smallest topography cell size. (big inverse mesh)

    • minimum cell size fwd: specifies smallest cell size for the small inverse meshes.• maximum topography cell size (big inverse mesh)

    3. Padding cell expansions in x, y, z and air.

    4. (Big inverse mesh) Core depth in three layers from top down to refine mesh in area of interest.

    5. (Small forward meshes) Core depth in three layers from top down to refine mesh in area ofinterest.

    6. Number of small cells around receivers for forward meshes. The small cells form rectangularboxes around the transmitters and receivers.

    7. Data file. See following examples of file setup

    8. Transmitter file

    9. Receiver file

    10. Frequency file

    11. Topography file

    12. The coordinate of the polygon around the region of interest can be read in from a file, ormade from the data locations. ’d’ is set to how far to expand the region beyond the datalocations if required.

    13. The inverse mesh can be created, or read in from a file. If it is read in all, of the above largemesh parameters are ignored. READ LARGE MESH ... meshfile, or CREATE LARGE MESHfilename.txt will produce the big mesh

    10

  • transmitter - receiver

    ncell1

    ncell2

    ncell4

    forward mesh

    depth core 1

    depth core 2

    depth core 3

    11

  • The data formats have changed somewhat from previous codes:

    data file:

    transmitter idx frequency idx receiver idx dataid d real sd real d imaginary sd imaginaryThe data file is a file containing 8 columns. The first column specifies an index to the transmitterfile, the second column specifies an index to the receiver file, and the third column specifies anindex to the frequency file. The file must be sorted so that the transmitter indices change first,followed by the frequency, then the receiver index. The ’dataid’ option is currently not being used.When one of the data components is not needed, its standard deviation should be set to -99, andthe inversion would ignore it. Columns 5-8 contain the real component of the data, its standarddeviation, the imaginary component and its standard deviation.

    transmitter file:

    transmitter idx n(number of location points) typex1 y1 z1...xn yn znThe format of the transmitter and receiver files are identical. If using a loop the first and nth pointmust be the same. The code will not complete loops for you. Currently the ’type’ option is notfunctional and should be entered as 1.

    frequency file:

    frequency idx 1 frequency1frequency idx 2 frequency2...frequency idx n frequencyn

    data inv imag.txt

    19 1 19 1 -99 -99 8.623459e-09 4.771917e-10

    19 2 19 1 -99 -99 8.455846e-08 4.672759e-09

    20 1 20 1 -99 -99 9.934258e-09 4.771917e-10

    20 2 20 1 -99 -99 9.763601e-08 4.672759e-09

    21 1 21 1 -99 -99 1.021937e-08 4.771917e-10

    21 2 21 1 -99 -99 1.004534e-07 4.672759e-09

    22 1 22 1 -99 -99 1.026929e-08 4.771917e-10

    22 2 22 1 -99 -99 1.009251e-07 4.672759e-09

    23 1 23 1 -99 -99 1.015889e-08 4.771917e-10

    transmitters.txt

    12

  • 1 9 1

    -8738.532608695652 -8694.285714285714 137.5

    -8742.926006977854 -8683.679112567916 137.5

    -8753.532608695652 -8679.285714285714 137.5

    -8764.13921041345 -8683.679112567916 137.5

    -8768.532608695652 -8694.285714285714 137.5

    -8764.13921041345 -8704.892316003512 137.5

    -8753.532608695652 -8709.285714285714 137.5

    -8742.926006977854 -8704.892316003512 137.5

    -8738.532608695652 -8694.285714285714 137.5

    2 9 1

    -8545.597826086956 -8694.285714285714 137.5

    -8549.991224369158 -8683.679112567916 137.5

    -8560.597826086956 -8679.285714285714 137.5

    -8571.204427804754 -8683.679112567916 137.5

    -8575.597826086956 -8694.285714285714 137.5

    -8571.204427804754 -8704.892316003512 137.5

    -8560.597826086956 -8709.285714285714 137.5

    -8549.991224369158 -8704.892316003512 137.5

    -8545.597826086956 -8694.285714285714 137.5

    3 9 1

    frequencies.txt

    1 10.0

    2 100.0

    To generate an octree mesh, open a cmd window in the folder containing the executable file andthe input file and run the following in the cmd line:

    >>C:.\AEM> AEMesh.exe octree_mesh.inp

    The program outputs the octree mesh big.txt file, a file with active topography cells and a logfile, AEMesh.log. AEMesh, also will output a large binary file octree small mesh.dat that containsall the small meshes. The utility extact mesh.exe can be used to extract one of the small meshes.For example, to look at the 3rd small mesh:

    >>C:.\AEM> extract_mesh.exe octree_small_mesh.dat 3

    This will output a file octree mesh 0003.txt that can be loaded and viewed in Meshtools3d.

    Below is the full mesh generated for the Noranda example.

    13

  • 14

  • 5 Forward modeling and inversion

    Forward modeling of a conductivity target and inversion of EM data can both be accomplished byAEM.exe. The inversion code is parallelized with MPI, and is meant to run on may CPUs spreadover several nodes. The small mesh tiles are divided among the CPUs.

    • e3d octree inv.inp requires the following files:

    – data.txt

    – transmitters.txt

    – receivers.txt

    – frequencies.txt

    – initial model.txt (if using)

    – active cells topo.txt

    – interface weights.txt (if using)

    • AEM.exe output files:

    – e3d octree inv tiles.log ( log file )

    – e3d octree inv tiles.out ( inversion summary)

    – dpred0.txt (predicted data from the initial model)

    – dpredn.txt (predicted data from the nth beta iteration)

    – dpred.txt ( predicted data from the last beta iteration)

    – inv.con (conductivity model from last iteration)

    – inv n.com (conductivity model from nth beta iteration)

    – sensitivity.txt ( average sensitivity for each cell)

    15

  • e3d octree inv.inp

    octree_mesh_big.txt ! 1. BIG octree mesh file

    octree_small_mesh.dat ! 2. SMALL octree mesh files

    data_inv_imag.txt ! 3.

    transmitters.txt ! 4.

    receivers.txt ! 5.

    frequencies.txt ! 6.

    VALUE 1.e-3 ! 7. [FWDMODEL] initial_model.txt | VALUE

    VALUE 1.e-3 ! 8. reference model file | VALUE

    active_cells_topo.txt ! 9. active cell file for topography | ALL_ACTIVE

    ALL_ACTIVE ! 10. model active cell file | ALL_ACTIVE

    NO_WEIGHT ! 11. cell weight file | NO_WEIGHT

    interface_weights.txt ! 12. interface weighting file | NO_FACE_WEIGHT

    USE_L2 ! 13. USE_L2 | USE_EKBLOM pexp eps! Regularization type

    DEFAULT ! 14. [200, 1, 0.4] ! DEFAULT | beta_max beta_min beta_factor

    1.e-5 1. 1. 1. ! 15. alpha_s alpha_x alpha_y alpha_z

    1. ! 16. chifact

    2 20 ! 17. iter_per_beta nbetas

    1.e-2 20 ! 18. tol_ipcg max_iter_ipcg

    CHANGE_MREF ! 19. CHANGE_MREF | NOT_CHANGE_MREF

    SMOOTH_MOD_DIF ! 20. SMOOTH_MOD | SMOOTH_MOD_DIF

    BOUNDS_CONST 1.e-4 1. ! 21. BOUNDS_NONE ! bounds

    CALC_SENS ! 22. NOT_CALC_SENS

    FACTOR_IC ! 23. | FACTOR_OOC

    1 ! 24. pfactorkeep

    USE_ALL_TILES ! 25. invert all or a set of tiles

    To generate an octree mesh open a cmd window in the folder containing the executable and runthe following in the cmd line:

    >>C:.\AEM> AEMesh.exe octree_mesh.inp

    The program outputs the octree mesh big.txt file, a file with active topography cells and a logfile, AEMesh.log. AEMesh, also will output a large binary file octree small mesh.dat that containsall the small meshes. The utility extact mesh.exe can be used to extract one of the small meshes.For example, to look at the 3rd small mesh:

    >>C:.\AEM> extract_mesh.exe octree_small_mesh.dat 3

    AEM.exe input file items:

    1. Big octree mesh file: output from AEMesh

    2. Small octree mesh file: output from AEMesh

    3. Data file name

    16

  • 4. Transmitter file

    5. Receiver file

    6. Frequency file

    7. FWDMODEL Initial model file or value: Foward modeling; when FWDMODEL followed bya model file is specified no inversion is performed. Inversion; to run an inversion, just includethe initial model file if using one, or a constant conductivity value.

    8. Reference model file or value: reference model for the inversion. Input can be a file or aconstant value.

    9. Topography active cell file or all active: output from AEMesh

    10. Model active cell file or ALL : binary file indicating which cells are active or inactive. Inactivecells are set to the reference model value.

    11. Cell weighting file or NO WEIGHT: Weighting applied to each cell. The inversion will setthe cells with a large weighting closer to the reference model.

    12. Interface weight file or NO FACE WEIGHTS

    13. USE L2 or USE EKBLOM: smooth regularization norm, or sparse L1 approximation usingEkblom.

    14. DEFAULT ! beta max beta min beta factor: trade off parameter cooling maximum betavalue, minimum beta value, and the factor by which it changes.

    15. alpha s alpha x alpha y alpha z: control regularization

    16. chifact: inversion will stop when data misfit = chifact *# of data

    17. iteration per beta nbetas: number of iterations to do for each constant trade off parameter.Maximum number of trade off parameters.

    18. tol ipcg max iter ipcg: tolerance when solving the system for model perturbation. Maximumnumber of iterations.

    19. CHANGE MREF — NOT CHANGE MREF: should the reference model be changed to thecurrent model when the trade off parameter changes.

    20. SMOOTH MOD — SMOOTH MOD DIF: include or exclude the reference model the deriva-tive term in the regularization.

    21. BOUNDS NONE — BOUNDS CONST lowerbound upperbound — BOUNDS FILE: modelbounds can be set to a constant value or read in from a two column file.

    22. CALC SENS — NOT CALC SENS: calculate full sensitivity matrix.

    23. FACTOR IC — FACTOR OOC directory: matrix factorization can be stored in RAM (in-core) or on a disk (out-of-core)

    17

  • 24. pfactorkee: percentage of tiles for which the sensitivites will be calculated (1 for airborn)

    25. tile file — USE ALL TILES: option to invert for only specified tiles

    Forward modeling of dataForward modeling is accomplished by specifying FWDMODEL in line 7, followed by the model file.The code will stop once the forward data set has been computed.

    A synthetic model can be generated on a base mesh, then using 3Dmodel2Octree.exe (avail-able with the e3d library) can be converted to the big octree mesh. See the e3d manual for detailedinstructions on how to create models.

    The program AEM is parallelized with MPI. For example, to run it on 4 CPUs:

    >>C:.\AEM> mpiexec -n 4 AEM.exe e3d\_octree\_inv.inp

    Inversion of dataHere the full input file is required with line 7 either specifying a file or a value for the initial model.

    18

  • The output can be viewed with MeshTools3d.From the command line:

    >>C:.\AEM> mpiexec -n 4 AEM.exe e3d\_octree\_inv.inp

    19

  • 6 References

    [1] Haber, E., D. Oldenburg, R. Shekhtman, and C. Schwarzbach, 2012, An adaptive mesh methodfor electromagnetic inverse problems: Geophysics.

    [2] Nabighian, M. N., 2006, Electromagnetic methods in applied geophysics: Society of ExplorationGeophysicists, 1, no. 3.

    20

    Package overviewIntroductionAEM e3d program library contentLicensingInstalling AEM e3d

    Theoretical Background for e3dPhysicsOctree meshDiscretization of the OperatorsSolutions to the Forward ProblemSolutions to the Inverse Problem

    Program LibraryOctree tile mesh generationForward modeling and inversionReferences