Data File

All the information related an ERTlab Studio project are saved in a “.data” file. It is a plain text file, so it can be also opened with “Notepad” to check its content.

ERTLab employs keywords (tags) to indicate configuration information. Each keyword starts with the # symbol, and end with the = symbol.

The comment character is !. Any information placed between ! and the end of a file line is ignored. Blank lines are also ignored.

If it is provided an unknown keyword, than the full line is skipped.

Electrodes

The Electrode format requires an #elec_start keyword to indicate the start of the electrode listing and an #elec_end keyword to indicate the end of the list.

Electrodes input format can be included in the data file by using the appropriate configuration tags. The configuration information may include:

Flags:

  • #elec_no_cable= indicates the presence of cable identifiers (1 present; -1 not present)

Column identifiers:

  • #elec_cable_col= cable group (cable number)

  • #elec_id_col= electrode number

  • #elec_x_col= electrode X location

  • #elec_y_col= electrode Y location

  • #elec_z_col= electrode Z location

  • #elec_elev_col= electrode Z terrain elevation

  • #elec_type_col= type of electrode (1 borehole; 2 surface; -1 remote borehole; -2 remote surface)

  • #elec_tx_col= flag to identify transmitting electrode (1 yes; 2 no)

  • #elec_rx_col= flag to identify receiving electrode (1 yes; 2 no)

  • #elec_skip_col= flag to identify skipped electrode (1 yes; 2 no)

  • #elec_roll_col= flag to identify roll electrode (1 yes; 2 no)

The value -1 stands for column not provided/information not present. If the electrode type is not specified in the input file, ERTLab will derive it for each electrode. “Remote” flags will be attributed to the cables having one or two electrodes. If the electrode z terrain elevation is not specified in the input file, ERTLab will derive it for each electrode.

See the small example below:

#elec_no_cable= 1
#elec_cable_col= 1
#elec_id_col= 2
#elec_x_col= 3
#elec_y_col= 4
#elec_z_col= 5
#elec_elev_col= 6
#elec_type_col= 7

#elec_start
! Cab ID       X      Y      Z    Elev   Type
1     1      1000    100     0     0     -2   ! Remote surface electrode
2     1     -1000    100    -5     0     -1   ! Remote borehole electrode
3     1      -100    100     0     0      2   ! Five electrode surface cable
3     2       -50    100     0     0      2
3     3         0    100     0     0      2
3     4        50    100     0     0      2
3     5       100    100     0     0      2
4     1         0    100   -25     0      1   ! Five electrode well
4     2         0    100   -20     0      1
4     3         0    100   -15     0      1
4     4         0    100   -10     0      1
4     5         0    100    -5     0      1
#elec_end

Data

The Data format requires a #data_start keyword to indicate the start of the data listing and a #data_end keyword to indicate the end of the list.

Data input format can be included in the data file by using the appropriate configuration tags. The configuration information may include:

Flags:

  • #data_appres= flag for data in terms of (1) resistance V/I or (2) apparent resistivity

  • #data_ip_scale= scale factor for IP data

Column identifiers:

  • #data_id_col= quadrupole number

  • #data_a_cable_col= TX+ (A) electrode cable number

  • #data_a_elec_col= TX+ (A) electrode id number

  • #data_b_cable_col= TX- (B) electrode cable number

  • #data_b_elec_col= TX- (B) electrode id number

  • #data_m_cable_col= RX+ (M) electrode cable number

  • #data_m_elec_col= RX+ (M) electrode id number

  • #data_n_cable_col= RX- (N) electrode cable number

  • #data_n_elec_col= RX- (N) electrode id number

  • #data_quad_x_col= quadrupole estimated position (X)

  • #data_quad_y_col= quadrupole estimated position (Y)

  • #data_quad_z_col= quadrupole estimated position (Z)

  • #data_geom_fact_col= quadrupole estimated geometric factor (K)

  • #data_i_curr_col= field data TX/AB current (I)

  • #data_v_col= field data RX/MN potential (V)

  • #data_res_col= field data RX/MN resistance (V/I)

  • #data_ip_wind_col= field data IP

  • #data_std_v_col= field data potential standard deviation

  • #data_std_res_col= field data resistance standard deviation

  • #data_std_ip_col= field data IP standard deviation

  • #data_calc_v_col= calculated potential (V)

  • #data_calc_res_col= calculated resistance (V/I)

  • #data_calc_ip_col= calculated IP

  • #data_calc_std_v_col= calculated potential standard deviation

  • #data_calc_std_res_col= calculated resistance standard deviation

  • #data_calc_std_ip_col= calculated IP standard deviation

  • #data_skip_col= flag to identify skipped data (0 valid measurement ; 1 filtered measurement)

The value -1 stands for column not provided/information not present.

See the small example below:

#data_id_col= 1
#data_a_cable_col= 2
#data_a_elec_col= 3
#data_b_cable_col= 4
#data_b_elec_col= 5
#data_m_cable_col= 6
#data_m_elec_col= 7
#data_n_cable_col= 8
#data_n_elec_col= 9
#data_res_col= 10
#data_ip_wind_col= 11
#data_std_res_col= -1
#data_std_ip_col= -1
#data_calc_res_col= -1
#data_calc_ip_col= -1
#data_calc_std_res_col= -1
#data_calc_std_ip_col= -1
#data_appres= 1
#data_ip_scale= 1000

#data_start
! ID C_A    A    C_B    B    C_M    M    C_N    N      Iab(mA)   Vmn(V)
1     1     1     4     1     4     2     2     1      0.1115     12.2
2     1     1     4     2     4     3     2     1      0.1122      1.5
3     1     1     4     3     4     4     2     1      0.1760      7.6
4     1     1     4     4     4     5     2     1      0.2114      4.4
5     3     1     3     2     3     3     3     4     -0.1130     10.1
6     3     2     3     3     3     4     3     5     -0.1220     44.7
7     3     1     3     3     3     2     3     4      0.1175     16.1
8     3     2     3     4     3     3     3     5      0.1625      3.3
#data_end

Topography

The topography information can be included in the DATA file file by using the appropriate tags. The Topography format requires an #topo_start keyword to indicate the start of the topography listing and an #topo_end keyword to indicate the end of the list. The configuration information may include:

Column identifiers:

  • #topo_x_col= point X location

  • #topo_x_col= point Y location

  • #topo_x_col= point Z location

See the small example below:

#topo_x_col=1
#topo_y_col=2
#topo_z_col=3

#topo_start
!  X          Y         Z
100001     1100020     351
100010     1100001     357
100101     1100045     348
100007     1100106     355
100025     1100092     352
100076     1100060     358
100051     1100044     349
100021     1100036     350
100019     1100082     353
100005     1100011     355
#topo_end

Mesh and Model

This section includes the parameters described also in Run Mesh Generation .

The following parameters are used when generating the mesh grid:

  • #mesh_type= Type of mesh, only mesh type 0 is available

  • #dim_grid_x= Interior Grid Element X Size (m)

  • #dim_grid_y= Interior Grid Element Y Size (m)

  • #dim_grid_z= Interior Grid Element Z Size (m)

  • #foreground_x_min= Mesh Minimum X Distance (m)

  • #foreground_x_max= Mesh Maximum X Distance (m)

  • #foreground_y_min= Mesh Minimum Y Distance (m)

  • #foreground_y_max= Mesh Maximum Y Distance (m)

  • #foreground_z_min= Mesh Minimum Z Value (m)

  • #foreground_z_max= Mesh Maximum Z Value (m)

  • #pads_x_min= Grid Left (-X) Pads (interior X grid units)

  • #pads_x_max= Grid Right (+X) Pads (interior X grid units)

  • #pads_y_min= Grid Back (-Y) Pads (interior Y grid units)

  • #pads_y_max= Grid Front (+Y) Pads (interior Y grid units)

  • #pads_z_min= Grid Bottom (-Z) Pads (interior Z grid units)

  • #pads_z_max= Grid Top (+Z) Pads (interior Z grid units)

  • #flat_grid= flag to create a flat grid (1 yes; 2 no)

  • #use_elec_in_topography= flag to add electrodes Z terrain to topography (1 yes; 2 no)

  • #update_z_surface_electrodes= flag to update elevation for Surface electrodes (1 yes; 2 no)

  • #flat_z_bottom= flag to force the grid bottom to be flat (1 yes; 2 no)

  • #depth_of_investigation= value to calculate the grid bottom from the top when topographic information is used

  • #adapt_grid_to_electrodes= flag to adapt grid to electrodes (1 yes; 2 no)

  • #resistivity_model_type= Type of resistivity model, only model type 0 is available

  • #background_res= Background Resistivity (ohm m)

  • #ip_model_type= Type of IP model, only model type 0 is available.

  • #background_ip= Background Ip Value (mV/V)

To store in the DATA file the Mesh grid is requires also:

  • a #node_start keyword to indicate the start of the data listing and a #node_end keyword to indicate the end of the node list.

  • a #model_start keyword to indicate the start of the data listing and a #model_end keyword to indicate the end of the model list.

The following parameters help to correctly reading the previous lists:

  • #mesh_node_x_size= number of nodes in the X direction

  • #mesh_node_y_size= number of nodes in the Y direction

  • #mesh_node_z_size= number of nodes in the Y direction

  • #mesh_node_x_col= column for node X coordinates

  • #mesh_node_y_col= column for node Y coordinates

  • #mesh_node_z_col= column for node Z coordinates

  • #mesh_node_type_col= column for node type value (1 foreground; 2 background)

  • #model_res_col= column for resistivity (Res) model

  • #model_ip_col= column for chargeability (IP) model

  • #model_sensitivity_col= column for sensitivity model

#mesh_type= 0-Standard
#dim_grid_x= 0.5
#dim_grid_y= 0.5
#dim_grid_z= 0.5
#foreground_x_min= 0
#foreground_x_max= 47
#foreground_y_min= -0.5
#foreground_y_max= 0.5
#foreground_z_min= -7.84
#foreground_z_max= 0
#pads_x_min= 1 2
#pads_x_max= 1 2
#pads_y_min= 1 2
#pads_y_max= 1 2
#pads_z_min= 1 2
#pads_z_max= 0
#flat_grid= 1
#use_elec_in_topography= 2
#update_z_surface_electrodes= 2
#flat_z_bottom= 1
#depth_of_investigation= 7.84
#adapt_grid_to_electrodes= 2

#resistivity_model_type= 0-Standard
#background_res= 4.246
#ip_model_type= 0-Standard
#background_ip= 30.9
#mesh_node_x_size=99
#mesh_node_y_size=7
#mesh_node_z_size=19
#mesh_node_x_col= 1
#mesh_node_y_col= 2
#mesh_node_z_col= 3
#mesh_node_type_col= 4
#model_res_col= 1
#model_ip_col= 2
#model_sensitivity_col= -1

#mesh_node_start
!              X       Y       Z       Type
-1     -1.5    0       2
-0.5   -1.5    0       2
0      -1.5    0       2
...
47     1.5     -8.84   2
47.5   1.5     -8.84   2
48     1.5     -8.84   2
#mesh_node_end

#model_start
!      RES     IP
76.275 30.9
66.416 30.9
52.751 30.9
...
3.461  30.9
3.401  30.9
3.325  30.9
#model_end

Forward Model

This section includes the parameters described also in Run Forward Model , in Run Inversion and in Run Sensitivity .

  • #pc_num_core= number of (virtual) cores used during computation

  • #boundary_conds= array of flags to specify the boundary conditions used on the 6 (-X +X -Y +Y -Z +Z) directions (0 Dirichlet or zero voltage boundaries; 1 Mixed; 2 Neumann or no-flow boundaries)

  • #forw_ssor_omega= Omega (SQR preconditioning) value

  • #forw_tolerance= Forward Solver Tolerance value

  • #forw_max_iterations= Maximum Number of Forward iterations

  • #skip_tx_electrodes_with_no_rx= flag to skip (1) or not (2) modelling of electrodes not used as receiver

  • #model_ip= flag to model IP data also (1 yes; 2 no)

#pc_num_core= 7

#boundary_conds= 1 1 1 1 1 2
#forw_ssor_omega= 1.6
#forw_tolerance= 1e-007
#forw_max_iterations= 4000
#skip_tx_electrodes_with_no_rx= 2
#model_ip= 2

Inversion

This section includes the parameters described also in Run Inversion .

  • #rough_trials_iter= array to set roughness trials at eache iteration

  • #constrain_to_starting= Flag to Constrain to starting model (1 yes; 2 no)

  • #constrain_to_ref= Flag to Constrain to reference model (1 yes; 2 no)

  • #max_num_iterations_rho= Maximum Number Inversion Iterations (Rho)

  • #max_num_iterations_ip= Maximum Number Inversion Iterations (IP)

  • #max_internal_pcg_rho= Maximum Internal Inverse PCG Iterations (Rho)

  • #max_internal_pcg_ip= Maximum Internal Inverse PCG Iterations (IP)

  • #inv_pcg_tolerance_rho= Tolerance for Inverse PCG iterations (Rho)

  • #inv_pcg_tolerance_ip= Tolerance for Inverse PCG iterations (IP)

  • #optimal_rough_factor_rho= Tolerance on target minimum error (Res)

  • #optimal_rough_factor_ip= Tolerance on target minimum error (IP)

  • #rough_multiplier_rho= Multiplier for Changing Roughness Factor (Rho)

  • #rough_multiplier_ip= Multiplier for Changing Roughness Factor (IP)

  • #initial_rough_rho= Initial Roughness Factor (Rho)

  • #initial_rough_ip= Initial Roughness Factor (IP)

  • #x_rough_weight= Value for Roughness Param X Weights

  • #y_rough_weight= Value for Roughness Param Y Weights

  • #z_rough_weight= Value for Roughness Param Z Weights

  • #res_noise_percent= Data Percent Errors [%] (Res)

  • #res_noise_constant= Data Constant Error Term [V/I] (Res)

  • #ip_noise_percent= Data Percent Errors [%] (IP)

  • #ip_noise_constant= Data Constant Error Term [mV/V] (IP)

  • #use_robust_inv= flag to enable Robust inversion algorithm (1 yes; 2 no)

  • #reweight_iterations_rho= number to reweight iteration (Rho)

  • #reweight_iterations_ip= number to reweight iteration (IP)

  • #plot_bounds= array for bound values used during export to .vwer file

  • #save_iterations= flag to save inverted model for each iteration (1 yes; 2 no)

  • #save_full_mesh= flag to save both background and foreground (1 yes; 2 no)

#rough_trials_iter= 4 1 1 1 4 1 1 1 4 1 1 1 4 1 1
#constrain_to_starting= 1
#constrain_to_ref= 2
#max_num_iterations_rho= 3
#max_num_iterations_ip= 15
#max_internal_pcg_rho= 15
#max_internal_pcg_ip= 15
#inv_pcg_tolerance_rho= 0.001
#inv_pcg_tolerance_ip= 0.001
#optimal_rough_factor_rho= 0.9
#optimal_rough_factor_ip= 0.9
#rough_multiplier_rho= 10
#rough_multiplier_ip= 10
#initial_rough_rho= 10
#initial_rough_ip= 10
#x_rough_weight= 1
#y_rough_weight= 1
#z_rough_weight= 0.1

#res_noise_percent= 1
#res_noise_constant= 0.0001
#ip_noise_percent= 5
#ip_noise_constant= 1e-005
#use_robust_inv= 1
#reweight_iterations_rho= 3
#reweight_iterations_ip= 3

#plot_bounds= 0 10 0 10 -5 0
#save_iterations= 1
#save_full_mesh= 1