3.2.4. DC Inversion Input File

The inverse problem is solved using the executable program dcinv3d_55.exe. The lines of input file are as follows:

Line #

Description

Description

1

maxit

max trade off parameter iterations

2

mode par

inversion mode and stopping criteria

3

DC Observations File

path to observations file

4

Tensor Mesh

path to tensor mesh file

5

Topography

topography

6

Initial Model

initial model

7

Reference Model

reference model

8

Active Model Cells

active model cells

9

Bounds

upper and lower bounds for recovered model

10

alpha_s alpha_x alpha_y alpha_z

weighting constants for smallness and smoothness constraints

11

wvltx

wavelet type

12

itol eps

reconstruction error for wavelet compression

13

Hard Constraints

use SMOOTH_MOD or SMOOTH_MOD_DIFF

14

Weights

weights

15

tol

solver tolerance

16

vec

Max number of stored solutions in memory

../../_images/create_dc_inv_input.png

Fig. 3.4 Example input file for the DC inversion program (Download ).

3.2.4.1. Line Descriptions

  • maxit: maximum number of trade-off parameter iterations. That is, the maximum number of time the trade-off parameters is reduced and the optimization problem is solved to recover a model

  • mode par: set the mode for choosing the trade-off parameter and stopping criteria. Choices are as follows:

    • An integer specifying one of the two choices for determining the trade-off parameter (a real value):

      • mode=1: the program chooses the trade off parameter by carrying out a line search so that the target value of data misfit is achieved (e.g., \(\phi_d = N\)). par is the chi-factor for the target misfit (usually 1.0).

      • mode=2: the user solves the optimization problem for a user-defined trade-off parameter given by par.

      • mode=3: the program calculates the trade-off parameter according to the L-curve criterion and par is ignored data The DC observation locations (with standard deviations).

  • Topography: Define the cells which lie above and below the surface topography. There are three options:

    • null: this flag is used if all cells are defined as being below the surface topography

    • active cells model: the user can enter the path to an active cells model where 1 denotes cells below the surface and 0 denotes cells above the surface

    • topography file: the user can enter the path to a topography file which contains the xyz locations for a discrete set of points

Warning

Be carefull!!! If the survey file uses the surface format, the code will project the electrode locations to the discrete surface when topography is applied. If the survey file uses the general format, cells might be modeled as being in the air.

  • Initial Model: On this line we specify the starting model for the inversion. On this line, there are 2 possible options:

    • Enter the path to a conductivity model

    • If a homogeneous conductivity value is being used, enter “VALUE” followed by a space and a numerical value; example “VALUE 0.01”.

  • Reference Model: The user may supply the file path to a reference conductivity model. On this line, there are 2 possible options:

    • Enter the path to a conductivity model

    • If a homogeneous conductivity value is being used, enter “VALUE” followed by a space and a numerical value; example “VALUE 0.01”.

  • Active Model Cells: Here, the user can choose to specify the model cells which are active during the inversion. There are two options:

    • null: this flag is used if all cells below the surface topography are active

    • active cells model: the user can enter the path to an active cells model where 1 denotes cells below the surface and 1 denotes active cells and 0 denotes inactive cells

  • Bounds: Bound constraints on the recovered model. There are 3 options:

    • Enter the flag “BOUNDS_NONE” if the inversion is unbounded, or if there is no a-prior information about the subsurface model

    • Enter “BOUNDS_CONST” and enter the values of the minimum and maximum model conductivity; example “BOUNDS_CONST 1E-6 0.1”

    • Enter “BOUNDS_FILE” followed by the path to a bounds file

  • alpha_s alpha_x alpha_y alpha_z: Alpha parameters . Here, the user specifies the relative weighting between the smallness and smoothness component penalties on the recovered models.

  • wvltx: A five-character string identifying the type of wavelet used to compress the sensitivity matrix. The types of wavelets available are Daubechies wavelet with 1 to 6 vanishing moments (daub1, daub2, and so on) and Symmlets with 4 to 6 vanishing moments (symm4, symm5, symm6). Note that daub1 is the Haar wavelet and daub2 is the Daubechies-4 wavelet. The Daubechies- 4 wavelet is suitable for most inversions (and is used for the null option, while the others are provided for users’ experimentation. If none is entered, the program does not use wavelet compression.

  • itol eps: An integer and a real number that specify how the wavelet threshold level is to be determined. If null is entered on this line, a default relative reconstruction error of 0.05 (e.g. 5%) is used and the relative threshold level is calculated (i.e., itol=1, eps=0.05).

    • itol=1: program calculates the relative threshold and eps is the relative reconstruction error of the sensitivity. A reconstruction error of 0.05 is usually adequate.

    • itol=2: the user defines the threshold level and eps is the relative threshold to be used.

  • Hard Constraints: SMOOTH_MOD runs the inversion without implementing a reference model (essential \(m_{ref}=0\)). “SMOOTH_MOD_DIF” constrains the inversion in the smallness and smoothness terms using a reference model.

  • Weights: Apply cell and/or interface weights to the inversion. There are two options:

    • null: enter this flag if no additional weights are applied

    • weights file: enter the file path to a weights file to apply weights

  • tol: relative tolerance for solving the system. A default value of 1e-5 works well.

  • vec: An integer which specifies how many solution vectors are to be stored in the computer’s memory at one time. Use -1 to store all vectors in memory.

3.2.4.2. Format for v5.0

The input file format for dcinv3d.exe v5.0 is almost identical. The only differences are:

  • the idisk flag which allows the user to write the sensitivities to disk or store in RAM

  • the irest which allows the user to restart the inversion from a previous iteration

  • the ability to change the role of the reference model in the model objective function

../../_images/create_dc_inv_input_v5p0.PNG