1 
\chapter{Inversion Drivers}\label{chapter:ref:Drivers} 
2 

3 
Our task in the inversion\index{inversion} is to find the geological structure within a given threedimensional region $\Omega$ from given geophysical 
4 
observations\index{observation}. 
5 
The structure is described by a \emph{level set function} $m$\index{level set function}. 
6 
This function can be a scalar function or may have several components, 
7 
see Chapter~\ref{Chp:ref:regularization} for more details. 
8 
Its values are dimensionless and should be between zero and one. 
9 
However, the latter condition is not enforced. 
10 
Through a mapping (see Chapter~\ref{Chp:ref:mapping}\index{mapping}) the values 
11 
of the level set function are mapped onto physical parameter $p^f$\index{physical parameter}. 
12 
The physical parameter feeds into one or more forward models\index{forward model} 
13 
which return a prediction for the observations, see Chapter~\ref{Chp:ref:forward models}. 
14 
An inversion may consider several forward models at once which we call 
15 
\emph{joint inversion}\index{joint inversion}. 
16 

17 

18 
The level set function describing the actual geological structure is given as 
19 
the function which minimizes a particular \emph{cost function} 
20 
$J$\index{cost function}. 
21 
This cost function is a composition of the difference of the predicted 
22 
observations to the actual observations for the relevant forward models, and 
23 
the regularization term\index{regularization} which controls the smoothness of 
24 
the level set function. 
25 
In general the cost function $J$ takes the form 
26 
\begin{equation}\label{REF:EQU:INTRO 1} 
27 
J(m) = J^{reg}(m) + \sum_{f} \mu^{data}_{f} \cdot J^{f}(p^f) 
28 
\end{equation} 
29 
where $J^{f}(p)$ is a measure of the defect of the observations predicted for 
30 
the parameter $p^f$ against the observations for forward model $f$, and 
31 
$J^{reg}(m)$ is the regularization term. 
32 
The weighting factors $\mu^{data}_{f}$ are dimensionless, nonnegative 
33 
tradeoff factors\index{tradeoff factor}. 
34 
Potentially, values for the tradeoff factors are altered during the inversion 
35 
process in order to improve the balance between the regularization term and 
36 
the data defect terms\footnote{The current version does not support an automated selection 
37 
of tradeoff factors}. 
38 
The physical parameter $p^f$ depends on the level set function 
39 
$m$ in a known form: 
40 
\begin{equation}\label{REF:EQU:INTRO 1b} 
41 
p^f = M_{f}(m) 
42 
\end{equation} 
43 
where $M_f$ is a given mapping. For the case of gravity inversion 
44 
the $M_f$ is a simple linear function mapping the level set function $m$ with dimensionless values 
45 
to physical density anomaly values $\rho$. 
46 
(see Chapter~\ref{Chp:ref:mapping}\index{mapping}). In its simplest from the mapping is given as 
47 
$\rho = \rho_0 \cdot m$ where $\rho_0$ is a reference density. It is pointed out that 
48 
the inversion techniques applied do not constrain limits to the values of the level set function 
49 
although there is the notion that its values are between zero and one. However, 
50 
limits can be enforced to physical parameters using appropriate mappings. 
51 

52 
The level set function $m$ and consequently the physical parameters $p^f$ are 
53 
defined over a three dimensional domain $\Omega$ which represented by an \escript 
54 
\class{Domain} object, see \cite{ESCRIPT}. The domain builder methods provide 
55 
functions to build appropriate domains from field data sets, see Section~\ref{Chp:ref:domain builder}. 
56 
In general the domain is a rectangular threedimensional domain where the third dimension $x_2=z$ represents 
57 
depth. The $z=0$ surface defines the surface of the earth where $z<0$ is defining the subsurface region and 
58 
$z>0$ is defining the region above the surface, see Figure~\ref{fig:cartesianDomain}. In general physical parameters such as 
59 
density and susceptibility anomaly are known above the surface, typically assumed to be zero. 
60 
For subregions where a physical parameter is known it is assumed that the corresponding level set function as 
61 
the value zero. If required, nonzero values for the physical parameters can be set using appropriate mapping. 
62 

63 
\begin{figure}[ht] 
64 
\centering\includegraphics{classdep} 
65 
\caption{Class dependencies} 
66 
\label{fig:classes} 
67 
\end{figure} 
68 

69 
\section{Class Dependencies} 
70 
For simplification of usage \downunder provides predefined classes that drive inversion for particular 
71 
problems. The usage of this classes is being discussed in Part~\ref{part1}. More details are shown in 
72 
Section~\ref{chapter:ref:Drivers:Drivers}. It is the role of the driver class to orchestration an 
73 
inversion. New inversions can easily be implemented by modifying the available drivers. 
74 

75 
As illustrated in Figure~\ref{fig:classes} the driver class uses geophysical data as 
76 
managed through the \class{DataSource} class (see Chapter~\ref{Chp:ref:data sources}) and 
77 
an \escript domain to define an appropriate 
78 
costs function to be minimized. The driver class also run the minimization solver. 
79 
The \escript domain~\cite{ESCRIPT} is created using the \class{DomainBuilder}, see Chapter~\ref{Chp:ref:domain builder}, 
80 
which builds an appropriate domain and mesh based on the geophysical data used in the inversion. 
81 
Based on the inversion to be performed (gravity, magnetic, joint) the 
82 
driver class builds an appropriate cost function $J$ including the regularization term $J^{reg}$, see 
83 
\class{Regularization} class in Chapter~\ref{Chp:ref:regularization}, 
84 
the forward models, see Chapter~\ref{Chp:ref:forward models} and 
85 
the required mappings, see \class{Mapping} class in Chapter~\ref{Chp:ref:mapping}, 
86 
to connect the level set function with physical parameters. Finally the driver class calls the 
87 
solver to minimize the cost function, see Chapter~\ref{chapter:ref:Minimization}. 
88 

89 
The driver classes cover commonly used cases for the convenience of users. In fact, 
90 
more general cases can be implemented in an easy way. Script \examplefile{nodriver.py} is an example 
91 
on how to implement an inversion without using one of the driver classes. 
92 

93 

94 
\section{Domains} 
95 

96 

97 
\begin{figure}[ht] 
98 
\centering\includegraphics{cartesian} 
99 
\caption{Illustration of domain extents, mapping and padding area} 
100 
\label{fig:cartesianDomain} 
101 
\end{figure} 
102 

103 
\subsection{Cartesian Domain} 
104 
For the Cartesian domain\index{Cartesian Domain} $\Omega$ we assume a flat Earth in the form 
105 
\begin{equation} \label{REF:EQU:INTRO 8} 
106 
\Omega = [x^{min}_0, x^{max}_0] \times 
107 
[x^{min}_1, x^{max}_1] \times 
108 
[x^{min}_2, x^{max}_2] 
109 
\end{equation} 
110 
and use the Universal Transverse Mercator (UTM) coordinate system\footnote{See 
111 
e.g. \url{http://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system}.} 
112 
where $x_0$ represents the easting, $x_1$ the northing and $x_2$ the altitude. 
113 
In this way, all three coordinates can be given in meters with minimal 
114 
distortion when visualizing the domain. 
115 
The origin in vertical direction (altitude 0) corresponds to sea level. 
116 
A proper inversion set up requires a buffer zone in all dimensions. 
117 
Figure~\ref{fig:cartesianDomain} depicts these as areas shaded in red (padding 
118 
area) and blue (air buffer). 
119 
While the inversion results contain values for the entire domain the buffer zone 
120 
should be disregarded when performing any analysis. 
121 
In other words, only the region labeled \emph{data area} in 
122 
Figure~\ref{fig:cartesianDomain} contains useful information. 
123 
Both the thickness of the air layer and the amount of padding in the $x_0$/$x_1$ 
124 
dimension is configurable when setting up an inversion. 
125 

126 

127 
\subsection{Sphere Shell Segment} 
128 
This is not supported yet. 
129 

130 

131 

132 

133 

134 
\input{Drivers} 
135 

136 

137 

138 

139 

140 

141 

142 
