scieee AI-readable full text Open interactive document viewer

EEMverter Manual: a new inversion tool for Electric and Electromagnetic data

Fiandaca, Gianluca

Abstract

EEMverter runs forward responses and inversions of Electrical and ElectroMagnetic (EEM) data and has born with the intention of handling natively joint inversion of different data types, time-lapse inversion, induced polarization and all dimensionalities (1D,2D & 3D) in the forward response. Several features are implemented in EEMverter for reaching this purpose, i.e.: Definition of distinct meshes for model parameter definition (the model mesh(es), ModMesh), forward computation (the forward mesh(es), ForMesh) and constraint definition (the constraint mesh(es), ConMesh). The model parameters are defined on the nodes of the model mesh(es) and migrated to the forward mesh(es) through (selectable) interpolation(s), and constraints are defined between nodes of mesh(es) and as priors. All ModMesh, ForMesh and ConMesh mesh(es) are defined in vtk format, for being easily visualizable in Paraview (https://www.paraview.org/). Parametric definition of electrical properties, such that the (complex) electrical conductivity (and, possibly, permittivity and susceptibility) is computed through functions, also integratingpetrophysical relations. Examples are the direct inversion of galvanic time-domain induced polarization data in terms of hydraulic conductivity, and the inversion of time-lapse data with direct modelling of temperature. Flexible definition of the inversion objective function, such as the data misfit, roughness misfit & prior misfit can be computed with the use of different norms, such as L1, L2, generalized Minimum (Gradient) Support. Distinct norms of distinct types can be assigned to data sets, roughness and prior constraints, and all norm misfits are monitorable through their identifier throughout the entire inversion process. Iterative inversion splitable in several inversion cycles. In each cycle it is possible to define: the models inverted in the cycle (for time-lapse inversion); the parameters inverted in the cycles; the constraints used; the data used, and the corresponding norms in the data misfit; the type of forward/Jacobian computation, e.g. 1D or 2D/3D; (some) inversion settings, for instance parameter ranges

Full text

1 EEMverter Manual, version 2.1 Milano, 12/11/2025 Gianluca Fiandaca 2 Index EEMverter philosophy and architecture ................................................................................................... 4 Coordinate system and units ................................................................................................................... 5 I/O........................................................................................................................................................... 6 Inputs .................................................................................................................................................. 7 Native (advanced) mode, up to two arguments: .............................................................................. 7 Simplified mode, up to four arguments: ........................................................................................... 8 EEM file ........................................................................................................................................... 8 Configuration (.cfg) file .................................................................................................................. 10 AutoEEMSettings: ...................................................................................................................... 11 InversionSettings: ...................................................................................................................... 13 AutoMeshSettings: .................................................................................................................... 15 ModMesh, ForMesh, ConMesh files ............................................................................................... 18 Outputs ............................................................................................................................................. 18 .M33 file ........................................................................................................................................ 18 ModMesh .vtk file(s) ...................................................................................................................... 19 ForMesh .vtk file(s) ........................................................................................................................ 19 ForMesh misfit .vtk file(s) .............................................................................................................. 19 ForMesh ExtraPar .vtk file(s) .......................................................................................................... 19 ConMesh .vtk file(s) ....................................................................................................................... 19 Data files ........................................................................................................................................... 20 File extensions ............................................................................................................................... 20 Data List file .dls ............................................................................................................................. 22 Galvanic time-domain data format: .qui/.quo/.qua/.tip/.tap files ................................................... 23 Inductive time-domain data format: .emy/.ely/.evy/.lil/.tin files .................................................... 27 Input table and surface files ............................................................................................................... 31 Simplified table, .txt extension ....................................................................................................... 31 Advanced table, .tbl extension ....................................................................................................... 32 Surfaces file, .srf extension ............................................................................................................ 32 The .srf file allows to define the starting/prior/constraint values of the ModMesh and ConMesh by means of regions delimited by surfaces. Used for modelling bathymetry and for Geologically-constrained inversion.Modelling ............................................................................................................................... 32 3 How to run and tune standard inversions .......................................................................................... 33 Model dimensionality and forward dimensionality ........................................................................ 33 Objective function and balance between data and regularization .................................................. 34 Data STDs .................................................................................................................................. 35 Constraint values ....................................................................................................................... 35 Stopping criterion .......................................................................................................................... 36 Starting model ............................................................................................................................... 36 Model discretization ...................................................................................................................... 37 Multi-cycle inversion...................................................................................................................... 38 Integral chargeability or full-decay galvanic IP inversion................................................................. 38 How to run forward responses .......................................................................................................... 39 Forward responses for synthetic modelling .................................................................................... 39 Forward responses for misfit computation..................................................................................... 41 How to run Time-lapse and Cross-mesh inversions ............................................................................ 42 TLX inversions in native mode ........................................................................................................ 42 TLX inversions in simplified mode .................................................................................................. 44 Demo files ......................................................................................................................................... 45 DCIP............................................................................................................................................... 45 Field ........................................................................................................................................... 45 Synthetic .................................................................................................................................... 45 TEM ............................................................................................................................................... 46 Field ........................................................................................................................................... 46 Synthetic .................................................................................................................................... 47 4 EEMverter philosophy and architecture EEMverter runs forward responses and inversions of Electrical and ElectroMagnetic (EEM) data and has born with the intention of handling natively joint inversion of different data types, time-lapse inversion, induced polarization and all dimensionalities (1D,2D & 3D) in the forward response. Several features are implemented in EEMverter for reaching this purpose, i.e.: • Definition of distinct meshes for model parameter definition (the model mesh(es), ModMesh), forward computation (the forward mesh(es), ForMesh) and constraint definition (the constraint mesh(es), ConMesh). The model parameters are defined on the nodes of the model mesh(es) and migrated to the forward mesh(es) through (selectable) interpolation(s), and constraints are defined between nodes of mesh(es) and as priors. All ModMesh, ForMesh and ConMesh mesh(es) are defined in vtk format, for being easily visualizable in Paraview (https://www.paraview.org/). • Parametric definition of electrical properties, such that the (complex) electrical conductivity (and, possibly, permittivity and susceptibility) is computed through functions, also integrating petrophysical relations. Examples are the direct inversion of galvanic time-domain induced polarization data in terms of hydraulic conductivity, and the inversion of time-lapse data with direct modelling of temperature. • Flexible definition of the inversion objective function, such as the data misfit, roughness misfit & prior misfit can be computed with the use of different norms, such as L1, L2, generalized Minimum (Gradient) Support. Distinct norms of distinct types can be assigned to data sets, roughness and prior constraints, and all norm misfits are monitorable through their identifier throughout the entire inversion process. • Iterative inversion splitable in several inversion cycles. In each cycle it is possible to define: the models inverted in the cycle (for time-lapse inversion); the parameters inverted in the cycles; the constraints used; the data used, and the corresponding norms in the data misfit; the type of forward/Jacobian computation, e.g. 1D or 2D/3D; (some) inversion settings, for instance parameter ranges. EEMverter is a command-line software for high-performance computing, without any in-built GUI. Nevertheless, an open-source freeware processing GUI for EEMverter is provided, i.e. EEMstudio (developed in Python). EEMverter is a live project continuously under development, and some features are still under testing and/or implementation and are not released yet for use outside of the EEM Team. Three distinct versions of EEMverter exist: • LITE version, handling: o 2D Modelling of galvanic data with full-decay time-domain IP o Single-sounding 1D EM modelling and inversion o Multi-sounding modelling (with 1D forward/Jacobian) and inversion of ground-based EM data in continuous acquisition, such as ▪ Loupe data ▪ tTEM and FloaTEM data 5 ▪ sTEM profiler data ▪ Tem2Go data ▪ Limitations are applied to the maximum measured time (1 ms) and maximum inverted resistivity (500 Ohmm) o Time-lapse inversion o Synthetic modelling of E&EM data • PLUS version, licensed for research & commercial purposes, offering in addition to the LITE version o Multi-electrode (>2) current injections in galvanic data o Handling of Tx and Rx pitch/roll in EM data o Joint inversion of E & Ground-EM data o Ground EM-IP modelling o 2D & 3D Ground EM & Ground EM-IP modelling o Automatic data processing o Advanced model types (Debye/Warburg, Hydraulic Conductivity, Temperature) o Cross gradient-like constraints among IP parameters o Geologically constrained inversion o Ground Mag & Grav modelling and with external forward/Jacobian kernels • PRO version, exclusive to The EEM Team (https://www.the-eem-team.it/) and to Emergo (https://www.em-ergo.it/) for consultancy and professional use, offering full support of Airborne EM data, in 1D, 2D and 3D, also with IP modelling: o Pro-features are available for Universities, Research Institutions & Geological Services within negotiable ad-hoc agreements. All three versions of EEMverter share the same input and output structure: this means that the user is exposed to all the complexity needed for handling joint inversion, time-lapse inversion, 1D/2D/3D forward dimensionality, but not necessarily with access to all these features. For the users of LITE version interested only in basic functionalities this might come as a nuisance, but the possibility to run the inversions in simplified mode allows for a workflow that shields the user from most of the complexities. Coordinate system and units EEMverter handles input and output data/models that are intrinsically related to positions on the Earth. Data positions, e.g. EM sounding and electrode positions, as well as models, are referred to a Right-HandSide (RHS) cartesian coordinate X-Y-Z system with Z positive upward, positive X pointing toward East and positive Y pointing toward North. For specific data, such as EM data, receiver and transmitter pitch, roll and yaw can be specified. Indicating with small caps the coordinate system in the (moving) EM platform, the attitude is specified with z-y'-x'' yaw-pitch-roll Tait–Bryan angles (https://en.wikipedia.org/wiki/Euler_angles): positive yaw means counterclockwise rotation along the (upward) Z axis measuring from the X axis; positive pitch means counterclockwise rotation along the y' axis of the moving platform, i.e. nosediving platform, with zero pitch meaning horizontal platform; positive roll means counterclockwise rotation along the x'' axis with the right side of the platform moving down and the left side of the platform moving up; 6 Pitch-yaw angles with Z-downward definition can be handled with an input .cfg setting that switches the attitude angles at input: FlipYawAndPitch=1 takes as input in the data file positive pitch for a nose-rising platform and positive yaw for a counterclockwise rotation along a Z downward axis and flips the values within EEMverter. Contrary to geometrical positions, the versus for B and dB/dt sign follows the classic convention of Zdownward positive values. Position units are expressed in meters and angles in degrees. Data/parameter units are described in the data-specific paragraph I/O EEMverter runs in a command window in two different modes, native and simplified: • in native mode the main input is the .EEM file, which offers all the functionalities of EEMverter, but is complex, because it defines explicitly all the relations among model meshes, forward meshes, constraint meshes, norms in the objective functions, parameter ranges, inversion cycles etc. etc.. • in simplified mode the main input is the data file, and the .EEM file is built internally, with all its dependencies. In both modes, native and simplified, a configuration (.cfg) file specifies the settings for running EEMverter (when the .cfg file is not present in the call, default values are used). The output files are: • the .M33 file, containing the inversion misfit (iteration by iteration and cycle by cycle), the inversion settings and the inversion log; • the inversion model mesh ModMesh, and, optionally, forward/constraint meshes and misfit/extrapar meshes, in .vtk format; • the forward data, with format identical to the input data files but different file extensions. Contrary to other inversion software, EEMverter allows for the automatic internal generation of all the meshes used in the inversion process, to minimize the efforts in setting inversions up. The default settings for mesh generation handle most of the needs of the users, with forward meshes adapted to model meshes automatically. Details on automatic mesh generation are found in the description of the configuration file. EEMverter uses an online license system: it must be online for running and offline usage is not permitted. PLUS and PRO versions check through the online license system the features enabled by the user’s license. Figure 1 summarizes the I/O structure of EEMverter. 7 Figure 1. I/O structure of EEMverter. Inputs Native (advanced) mode, up to two arguments: • EEM file name, containing info about model meshes & model/parameter type(s), forward dimensionality and meshes, constraint meshes, inversion cycles, iteration number(s), norms in the objective function, parameter ranges, data lin/log settings, interpolation between model and forward meshes, stopping criterion, data rejection among cycles etc.. The output .M33 file can be used instead of the .EEM file as well, for instance for re-starting an inversion from the last iteration of another one. • .cfg configuration file name, containing the inversion settings. Call examples: • .\EEMverterLITE_V7.10.exe GradM_fwr_2D_MPA_TwoBlocks.EEM inv_2_2D.cfg Using an explicit configuration file • .\EEMverterLITE_V7.10.exe GradM_fwr_2D_MPA_TwoBlocks.EEM Using default configuration settings The EEM file contains the names of the model, forward and constraint meshes. These names can be the name of actual meshes, in .vtk format, containing all info, or the names of .cfg files, which allow EEMverter to build these meshes internally. The names of the .cfg files in the EEM file can be different from the name 8 of the .cfg file in the argument list of the call: a distinct .cfg file can be used for each model/forward/constraint mesh as well. Simplified mode, up to four arguments: • Single Data file name (e.g. .qui file for galvanic data or .emy file for inductive data; for detailed extensions and explanation see section “data files”) or Data file List (which contains multiple files to be modelled jointly, .dls extension) • Configuration file name (extension .cfg), optional (but recommended, because default .cfg values do not handle all types of inversions) • Model type number/keyword, optional, present only if the configuration setting “ModelType” is defined “external” in the .cfg file • File name of the table containing the starting model, optional, present only if the configuration setting “ModelTypeOfInitialValues” is defined “external” in the .cfg file, extension .txt (simplified table) or .tbl (advanced table) Call examples: • .\EEMverterLITE_V7.10.exe GradM.qua fwr_2_2D.cfg MPA TwoBlocks.txt For running a time-domain IP forward response (settings in fwr_2_2D.cfg) on a galvanic sequence (GradM.qua) with Maximum Phase Angle (MPA) Cole-Cole modelling, with a model defined with two conductive/resistive chargeable blocks in a homogeneous medium (TwoBlocks.txt). • .\EEMverterLITE_V7.10.exe GradM_IP.quo inv_2_2D.cfg CPA For running an inversion (settings in inv_2_2D.cfg) on TDIP galvanic synthetic data (GradM_IP.quo) with Constant Phase Angle (CPA) modelling. • .\EEMverterLITE_V7.10.exe ArnOLD_proc.qui For running resistivity-only inversion with default settings on the field data contained in the file ArnOLD_proc.qui • .\EEMverterLITE_V7.10.exe help Default configuration file and list of implemented model types are written EEM file EEM file name, containing info about model meshes & model/parameter type(s), forward dimensionality and meshes, constraint meshes, inversion cycles, iteration number(s), norms in the objective function, parameter ranges, data lin/log settings, interpolation between model and forward meshes, stopping criterion, data rejection among cycles etc.. It is subdivided into different sections, i.e.: • %0, version number • %1, counters, such as number of Models, ModelMeshes, ForwardGroups, ForwardMeshes, ConstraintMeshes, Norms, Interpolations, Ranges, ClippingAreas, StoppingCriteria, DataGroups, inversion Cycles • %2 Model section, where the models to be inverted for (or sed for forward modelling) are defined, for instance in terms of model type (which determines the number of parameters and 9 parameter types), number of models (for instance, in time-lapse inversion, one model for each acquisition time), number of model meshes per model (the parameters are defined on the model meshes, but each parameter of the model type can be defined, in theory, on an independent mesh). Nodes of the Model Mesh(es) have assigned a Region ID, which allows for defining different parameter ranges in the regions and to break automatically constraints among different regions. For each Model Mesh an external file is indicated with the mesh info, either in .vtk format, with explicit definition of the mesh, either in .cfg format, with settings for building the mesh internally in EEMverter. • %3 Model mesh section, in which the type of mesh is specified (structured/unstructured), and which parameters are defined on the mesh and with what ranges. • %4 Forward Group section, which is a bundle of several forward meshes connected to the same Data Group. Each forward mesh may contain more than one mesh, actually (for instance one for each sounding in inductive computations), and all meshes of the forward group account for all data in the Data Group. • %5 Forward Mesh section, with dimensionality definition and “searching radius”, a feature needed for 1D computation for defining how far from a 1D sounding the model mesh is defined. For each Forward Mesh an external file is indicated with the mesh info, either in .vtk format (.vtk format for forward meshes is allowed only for 1D forward meshes), with explicit definition of the mesh, either in .cfg format, with settings for building the mesh internally in EEMverter. • %6 Constraint Mesh section, where we define the Model Mesh to which the Constraint Mesh is connected and the mesh file name. This name is defined for each Constraint Mesh, and indicates the external file with the mesh info, either in .vtk format, with explicit definition of the mesh, either in .cfg format, with settings for building the mesh internally in EEMverter. • %7 Norm section, with Norm IDs, types and labels. Which norm is used for constraints is defined in the Model Mesh (for prior constraints) and Constraint mesh (for roughness and time-lapse constraints). Which norm is used for data is defined in the cycle information (the data norm can change among cycles). • %8 Interpolation section, which defines the interpolation types. The interpolation is set for each Forward Mesh in the Forward Mesh section. If the parameters of the forward Mesh are defined on more than one Model Mesh, a distinct interpolation ID has to be specified for each Model Mesh. • %9 Range section, where the parameter ranges of the Model Meshes are defined. “Default” means ranges in the .cfg file in the argument of the call. A range ID has to be specified for each parameter of the Model Mesh in the Model Mesh section (and for each region). • %10 Clipping areas section, where it is possible to define areas in which to keep or discard data. These areas are actually defined in subareas: for each subarea a polyline is defined (through its nodes, no repetition of first and last node), such that only data inside the subareas (InsideOut=1) or outside the subareas (InsideOut=0) are kept for modelling (InsideOut=-1,-2 and 2 are other options that control what happens when the data are on the edges of the subareas). Alternatively, InsideOut = 3 and 4 keep only data within a certain distance from the polyline (controlled by the configuration setting MaxDistanceFromClippingArea). For galvanic data, the clipping area works on the electrode positions. 16 o area ≤ 5 m2, ModelMaxDepth = 75 m; o area ≤ 20 m2, ModelMaxDepth = 150 m; o area > 20 m2, ModelMaxDepth = 500 m. • ModelDefinedDepth. Optional file name of containing user-defined depths for the model. The file must contain only positive N depths, one per row, with N=ModelNzNodes-1. Default ‘none’. When present, ModelMinDepth and ModelMaxDepth are not used. • MinDepthFactor. Factor for computing automatic minimum depth with galvanic data (minimum depth = minimum pseudodepth*factor). • MaxDepthFactor. Factor for computing automatic maximum depth with galvanic data (maximum depth = maximum pseudodepth*factor). • ModelNzNodes. Number of nodes in the z direction, i.e. number of layers. Given a model minimum and maximum depths, EEMverter computes log-increasing depths with a constant increasing factor between consecutive thicknesses. If the factor becomes smaller than one (i.e. if it is not possible to set constant or increasing thicknesses given the minimum and maximum depths and the number of layers), EEMverter gives an error. • ModelXNodeSpacing. Node spacing in 2D (along the acquisition lines) or 3D (in the x direction) model meshes. A value of -1 means automatic computation of the node spacing. For galvanic data, the mesh nodes are set at the electrode positions. For inductive data, the automatic node spacing depends on the transmitter area as: o area ≤ 5 m2, ModelXNodeSpacing = 5 m; o area ≤ 20 m2, ModelXNodeSpacing = 10 m; o area > 20 m2, ModelXNodeSpacing = 40 m. • ModelYNodeSpacing. Node spacing in 3D (in the y direction) model meshes. A value of -1 means automatic computation of the node spacing, depending on the transmitter area as: o area ≤ 5 m2, ModelYNodeSpacing = 5 m; o area ≤ 20 m2, ModelYNodeSpacing = 10 m; o area > 20 m2, ModelYNodeSpacing = 40 m. • UseAppRhoForInitialValue. 1-> Use average galvanic apparent resistivity as starting value for resistivity/conductivity parameters, instead of ModelInitialValues (when galvanic data are present); 0-> use ModelInitialValues. Do not use UseAppRhoForInitialValue = 1 for forward computations. • ModelTypeOfInitialValues. keyword identifying the type of starting/prior values (the values are specified by the ModelInitialValues/ModelPriorValues settings for keywords ModelType, ModelMesh, autoMPA, autoMIC, autoBIC, autoRCC, autoCCC, autoWHYCDF). Allowed keywords: o ModelType (all values of the model type defined in the EEM file); o ModelMesh (all values of the model mesh defined in the EEM file); o external (fourth argument in EEMverter call, for external .txt/.tbl/.srf look-up table/MultiSurface model); o autoMPA (Rho0,PhiMax,TauPhi,C); In this case the four parameters of the Maximum Phase Angle (MPA) re-parameterization of the Cole-Cole model are listed by the ModelInitialValues/ModelPriorValues settings. These values are used for computing the starting/prior value of the modelling for any ModelType of the inversion. For instance, if 17 ModelType=RCC is set in the AutoEEMSettings, the MPA starting/prior values are transformed by EEMverter into the corresponding RCC (Resistivity Cole-Cole model) parameters. In this way it is possible to start inversions with any Cole-Cole reparameterization from the same starting model without changing the configuration file. For CPA modelling, the maximum phase of any Cole-Cole re-parameterization is used as starting value for the phase of the CPA model. o autoMIC (Sigma0,Sigma2ndMax,TauSigma,C), for Maximum Imaginary Conductivity reparameterization of the Cole-Cole model; o autoBIC (SigmaBulk,Sigma2ndMax,TauSigma,C) for Bulk and Imaginary Conductivity reparameterization of the Cole-Cole model; o autoRCC (Rho0,M0,TauRho,C) for classic resistivity Cole-Cole model; o autoCCC (Sigma0,M0,TauSigma,C) for classic conductivity Cole-Cole model; o autoWHYCDF (SigmaW,HydrCond,Dplus,C,FormFactor) for Water and Hydrualic Conductivity, Diffusion coefficient in theStern layer, frequency exponent C and formation factor F; o .tbl file name (text file containing a look-up table for starting values, prior constraints, parameter regions/ranges and scaling-by-region for roughness constraints, advanced format); o .srf file name (text file containing region definition through delimiting surfaces, together with starting values, parameter ranges, prior constraints and scaling-by-region for roughness constraints; o .txt file name (text file containing a model look-up table, simplified format). • ModelNumberOfInitialValues. Number of initial values, to be defined accordingly to ModelTypeOfInitialValues (always 4 for autoXXX and 5 for autoWHYCDF). • ModelInitialValues. Starting parameters, one for each ModelNumberOfInitialValues. For instance, with ModelTypeOfInitialValues = autoMPA four numbers should be written: Rho0,PhiMax,TauPhi and C. • ModelPriorValues. Prior parameters, one for each ModelNumberOfInitialValues. • ModelPriorConstr. Prior constraints, one for each ModelNumberOfInitialValues. • UseQuiTopo. 1-> use qui topography (not allowed with 3D meshes); 0-> use topography from DEM file (.grd or .asc). • UseEmyTopo. 1-> use emy topography (not allowed with 3D meshes); 0-> use topography from DEM file (.grd or .asc). • RoughnessORTimeLapse. This setting defines if the .cfg file used for defining a constraint mesh in the .EEM file defines intra-mesh constraints (i.e. vertical or horizontal constraints within a model mesh) or cross-meshes constraints (i.e. time-lapse or cross-mesh constraints). 0 -> Roughness constraint mesh; 1 -> Time-lapse/Cross-mesh constraint between distinct meshes: from each node of the corresponding model mesh to the closest node (within RefCrossLineDistance) of the mesh identified by ReferenceModelMeshID; 2 -> Roughness constraint between distinct lines of the same 2D mesh (for inductive models, not for galvanic models): from each node of each line to the closest node of any line within searching distance RefTLXDistance; 3 -> Cross-gradient-like constraint mesh. 18 • MaxTLXDistance. Maximum distance among nodes for setting Time-lapse/Cross-mesh/cross-line constraints (RoughnessORTimeLapse>=1). • RefTLXDistance. Reference distance for scaling the Time-lapse/Cross-mesh/cross-line constraints. Constraint STD=max(InputSTD,InputSTD*Dist/RefTLXDistance), Dist being the closest node distance. • ElevRefHorizConstr. 1 -> Elevation-referenced horizontal constraints; 0 -> Depth-referenced horizontal constraints (RoughnessORTimeLapse=0). • VertConstr. Vertical constraint values (relative values), one for each ModelNumberOfInitialValues (RoughnessORTimeLapse=0). A vertical constraint equal to 1.0 gives a misfit = 1.0 in the objective function when the difference between constrained parameters is within a factor of 1.0 (.i.e. 100% variation). • HorizConstrX. X horizontal constraint values (relative values), one for each ModelNumberOfInitialValues (RoughnessORTimeLapse=0), for constraints in 2D model meshes or for constraints in the X direction in 3D model meshes. • HorizConstrY. Y horizontal constraint values (relative values), one for each ModelNumberOfInitialValues (RoughnessORTimeLapse=0). • TLXReferenceModelMeshID. Time-lapse/cross-mesh reference model mesh ID. The constraints are among the model mesh indicated in the EEM file and the model mesh indicated in the .cfg file through TLXReferenceModelMeshID. • TLXConstr. Time-lapse/Cross-mesh/Cross-line constraint values, one for each ModelNumberOfInitialValues (RoughnessORTimeLapse=1) ModMesh, ForMesh, ConMesh files Explicit meshes in .vtk format can be pointed at in the .EEM file for running inversions. This allows to use, for instance, the model of another inversion as ModMesh. Only 1D Forward meshes in .vtk format are allowed: 2D and 3D forward meshes need to be built internally starting from a .cfg file. Outputs .M33 file It contains five parts and can be used as input as well, instead of the EEM file. In this case, as long as the model meshes have been written during inversion (it depends on the .cfg settings on output writing), the inversion re-starts from the last written iteration of the last active cycle. The five parts of the M33 file are: • IterationMisfit, where the data/prior/roughness/total misfit is shown iteration by iteration, cycle by cycle, but also norm by norm • ExtendedEEM, where the EEM info is present, with extra columns with counters about, for instance: number of data; number of nodes/cells in meshes; data rejection rate, when applied. This part is used when the .M33 file is used as input • All the .cfg settings used in the computations • The inversion log • The total runtime, and how it is spent 19 ModMesh .vtk file(s) It contains the model parameters for forward/inversion computations, the Depth Of Investigation (DOI) estimate and many other info. Always written. Several values are defined in each node of the mesh (POINT-TYPE field vtk format): the meaning of the columns in the point-type field is explained at the end of the file. The DOI info has the following meaning (when computed): 0-> node above DOI; 1-> node below conservative DOI, above deep DOI; 2-> node below DOI. The DOI info is different parameter by parameter. For cutting model areas below DOI, use the “extract component” Paraview filter on the DOI column (column 7, 6 in Paraview that counts columns from 0) and make a threshold on the DOI value (e.g.0<DOI<2 or DOI=0). The “extract component” step is not necessary with newer Paraview versions (e.g. above 5.12). ForMesh .vtk file(s) It contains the forward mesh and the corresponding parameters. Optionally written. The parameters in the forward mesh(es) are obtained interpolating the model parameters into the forward mesh cells. The interpolation function is defined in the .EEM file when running in native mode, or in the .cfg file when running in simplified mode (but the .cfg settings in simplified mode do not control all interpolation features, which depend also on the cycles activated by the settings and by the model type). This mesh is the one visualized by EEMstudio in the Processing/Visualization window. ForMesh misfit .vtk file(s) It contains the data misfit visualizable in 3D space. Optionally written. For galvanic data, the misfit file contains DC/IP data/misfit/STDs pseudosections. For inductive data, a Gate-by-Gate .vtk misfit file is written as well, with gate misfit visualized with depth increasing with time (for multi-moment datasets, higher moments are visualized at higher depths). Misfit files are used and visualized in EEMstudio. ForMesh ExtraPar .vtk file(s) It contains extra info, such as the electrode position (for galvanic data) or the sounding elevation (for inductive data). Optionally written. ConMesh .vtk file(s) It contains the connectivity of the vertical/horizontal constraints, as well as constraint strength and (as output) the constraint misfit. Optionally written. 20 Data files File extensions Differently from all other EEMverter input files, the file extensions of input E&EM data are case sensitive: small caps are used for time-domain data, while capital caps are used for frequency-domain data. All the frequency-domain data files and corresponding computations are still under development. Table 1. File extension of EEMverter data files. File description Extension Italian Disney name English Disney name Picture Hat/hair ribbon Color Data Type Galvanic input file, data measured in the field .qui – TD .QUI – FD Qui Huey Red 2 (res & TD full-decay IP) 21 (res & TD Int IP) 22 (res only) 4 FD IP Galvanic input file, forward data without noise (the noise can be added in EEMverter to data in .quo files also when running inversions) .quo – TD .QUO – FD Quo Dewey Blue 2 (res & TD full-decay IP) 21 (res & TD Int IP) 22 (res only) 4 FD IP Galvanic input file, acquisition sequence (no data included) .qua – TD .QUA – FD Qua Louie Green 2 (res & TD full-decay IP) 21 (res & TD Int IP) 22 (res only) 4 FD IP Galvanic input file, forward data with noise .tip – TD .TIP – FD Tip Morty Red 2 (res & TD full-decay IP) 21 (res & TD Int IP) 22 (res only) 4 FD IP Galvanic input file, forward data with noise and noise values contained in extra columns .tap – TD .TAP – FD Tap Ferdie Blue 2 (res & TD full-decay IP) 21 (res & TD Int IP) 22 (res only) 4 FD IP Inductive input file, data measured in the field .emy – TD .EMY – FD Emy April Yellow 1 TD EM 3 FD EM 21 Inductive input file, forward data without noise (the noise can be added in EEMverter to data in .ely files also when running inversions) .ely – TD .ELY – FD Ely May Blue 1 TD EM 3 FD EM Inductive input file, acquisition sequence (no data included) .evy – TD .EVY – FD Evy June Green 1 TD EM 3 FD EM Inductive input file, forward data with noise .lil – TD .LIL – FD Lily Millie Green 1 TD EM 3 FD EM Inductive input file, forward data with noise and noise values contained in extra columns .tin – TD .TIN – FD Tiny Melody Purple 1 TD EM 3 FD EM External not-native input file, measured data, column based .odd 0 External not-native input file, forward response, column based .bbo 0 Borehole input file, measured data .bHl 5 Borehole input file, forward data .lHd 5 22 Data List file .dls For running inversions in simplified mode with multiple data files, for instance in time-lapse or joint inversions, the data list file (extension .dls) can be used. Inside the data list file, several input data files can be listed, line by line, specifying in each line four things: 1) data file name; 2) datatype (see table 1 for details); 3) the ID of the clipping area (where to keep or discard data, with info contained in the .cfg file); 4) the model id, to specify if we are running a time-lapse inversion with multiple models linked through time-lapse constraints or a join inversion where several datasets point to the same model ID. For example, a .dls file for resistivity Time-Lapse or Cross-Mesh inversion looks like: % FileName DataType ClipAreaID ModelID File1.qui 22 0 1 File2.qui 22 0 2 File3.qui 22 0 3 The .dls file is the standard input for EEMverter generated by EEMstudio and must be present in the folder that contains the inversion results for loading the results in EEMstudio. For this reason, it is possible to generate automatically the .dls file with EEMverter when running an inversion in simplified mode using a single data file as first argument (and not the .dls file), using the .cfg setting WriteDlsFile=1. 23 Galvanic time-domain data format: .qui/.quo/.qua/.tip/.tap files The EEMverter file format for time-domain galvanic data has been designed to handle data acquired with most of the instrumentations available, as well as with features not yet supported. The novelty, when compared to other inversion codes, are: • Piecewise linear current waveform with non-instantaneous turn-on and turn-off, also with the possibility to indicate quadrupole-by-quadrupole intermediate current values. • Multipoles (instead of simple quadrupoles), with multiple current injections and, possibly, with different current waveforms for each current injection. • Multiple IP decays for the same multipole (for instance for handling a fast decay obtained with high base frequency and high stack number and a slow decay with low base frequency and small stack number). • 50% and 100% duty cycle with explicit definition of the stacking procedure. • New definition of integral chargeability, which is defined as the weighted average of the gate values, the weight being the gate widths; commented out data are not used in the computation of integral chargeability. • Definition of electrode positions along lines, which allows to define the induction along cables. • Explicit definition of processing flags for DC and IP data, which allow to comment data out in the inversion procedures, but keeping the data in the file. The galvanic data files, like the .EEM/.M33 files, are defined in sections: • %0 comments. • %1 version number and metadata (metadata are not used in the inversion except for the date in time-lapse inversion modelling thermal diffusion, but they are used in EEMstudio). For general EPSG coordinate system format, CoordRef should be written as EPSG:XXXXX, where XXXXX indicates the EPSG identifier. • %2 counters for all subsequent sections. • %3 scaling section, which allows to change electrode spacing with a few modifications (for synthetic modelling without georeferenced coordinates). • %4 Electrode positions/info. • %5 Lines that contain electrodes (for commenting out group of data easily and for modelling EM effects). • %6 Filter info. Each line represents a filter description, with number of frequencies NFreq, and, for each frequency, settings: Frequency, type (0-> Butterworth filer; 1-> Gaussian filter) and order (<1 for gaussian filter). • %7 Gate info, also with gate type (0-> no gating; 1-> box-car gating; 2-> gaussian gating, not implemented yet). Gate flags allow to comment out gates from the entire dataset. GateTime represents the center gate time, GateWidth the whole gate width. Times written in seconds. • %8 Stack information (too many stacks cause instability with CPA-like modelling with gate integration). Stack info is described as: Stacksize, (t_i, a_i, i=1,StackSize). For instance, in a 50% duty cycle acquisition, two StackID should be defined, with different stack times: 24 one StackID for the DC stacking, indicating the starting times of the voltage raising during the on time and one StackID for the IP stacking, indicating the starting times of the voltage drop in the off time (Figure 3a and 3b). On the contrary, with 100% duty cycle, the same stacking times are used for both DC and IP data (Figure 3c). Figure 3. Examples of stacking times with 50% duty cycle injection for DC data (a) and IP data (b) and with 100% duty cycle injection for both DC and IP data (c). • %9 Current waveform, defined as piecewise linear current. The current waveform is defined by 3 main settings: NCurrValues, WaveType and NWavePoints. NCurrValues defines the number of current measurements used in the waveform definition, Wavetype is the type of waveform (Wavetype 1-> step response; 2-> user-defined piecewise linear waveform) and NWavePoints indicates the number of time-amplitude points defined in the piecewise linear waveform. Typically, NCurrValues=1 and the current values are not indicated explicitly as values, but as keywords with fractions of the measured current values (the measured current values are indicated in section 11, quadrupole by quadrupole). This case is indicated in Figure 4b, where the amplitude values are indicated as i1#x.y, where x.y indicates the fraction of the measured current i1# (i1# because Figure 4b represent a waveform with only one current measurement, i.e. NCurrValues=1). With NCurrentValues=0, the current values should be indicated explicitly in the waveform (Figure 4a). Finally, in Figure 4c for all the 11 points of the waveform (NWavePoints=11) different current measurements are used (NCurrValues=11): in this case for each quadrupole in section 11 current measurements should be indicated. With WaveType=2 both instantaneous (t_i+1=t_i) and non-instantaneous (t_i+1>t_i) turn on and off are allowed. NON-ISTANTANEOUS turn on/off is not compatible with gate integration. 25 Figure 4. Three possible ways of defining the same current waveform in terms of pairs of time and current amplitude. a) with settings NCurrValues=0, WaveType=2 and NWavePoints=11 and explicit current values indicated as amplitudes; b) with settings NCurrValues=1, WaveType=2 and NWavePoints=11, with current amplitudes indicated as fraction of the measured current i1#; c) with NCurrValues=11, WaveType=2 and NWavePoints=11, with all current amplitudes expressed as measured currents. • %10 Gateset section, which specifies the decays associated to each multipole and the IP units, through Transtype. Transtype = 0 -> voltages; Transtype = 1 -> 50% duty cycle mV/V; Transtype = 2 -> 100% duty cycle mV/V. A distinct StackID must be indicated for the DC measurements and the IP decay(s), as well as FilterID. • %11 Data section, one line for each multipole. Multipole because multipole current injections, possibly each with multipole current electrodes, are allowed. Each line contains also the data STDs (which can be re-computed automatically by EEMverter through the .cfg settings) and the processing flags. STDs are stated also for the current measurements. Data are not needed in .qua format. Extra columns with the noise added are present in the .tap format. Commenting flags are allowed for electrodes, lines, gates, resistivity, integral chargeability and all gates in the IP decays. Allowed values: • Flag=1 -> data are entirely commented out and not used in the computations • Flag=2 -> data used in the mesh generation and forward computations, but not used in the model update – beta features, bugs might be present 32 Advanced table, .tbl extension The advanced table, when compared to the simplified table, allows to: • Define different entries for starting and prior values • Define prior STD and region IDs • Define constraint scaling-by-region Surfaces file, .srf extension The .srf file allows to define the starting/prior/constraint values of the ModMesh and ConMesh by means of regions delimited by surfaces. Used for modelling bathymetry and for Geologically-constrained inversion. 33 Modelling Forward modelling and inversion in EEMverter are handled in a similar manner, the main distinction being the number of iterations set in the .EEM file (native mode) or in the .cfg file (simplified mode). In the following guidelines on how to set up forward and inversion modelling are proposed, as well as explanations on the demo files provided with the EEMverter Lite release. How to run and tune standard inversions For understanding how to tune inversions in EEMverter, it is necessary to understand how the objective function and the stopping criterion are defined, in terms of data values and uncertainty and inversion parameters and constraints, as well as how to define starting values and model discretization. In the following, all these topics are briefly treated, together with multi-cycle inversions and integralchargeability/full-decay galvanic inversions. Model dimensionality and forward dimensionality The first consideration to be made for understanding inversions in EEMverter is that the model parameters are defined on (the nodes of) model meshes (ModMesh(es)) and the forward computations are carried out in the forward meshes (ForMesh(es)), in which the parameters are defined interpolating the model parameters into the discretization of the forward meshes. For this reason, two dimensionalities are defined: • The dimensionality of the model meshes, controlled in simplified inversion mode by the .cfg setting ModelDimensionality; • The dimensionality of the forward meshes, controlled in simplified inversion model by the .cfg settings DimensionalityEM and DimensionalityDCIP. This means that for inductive data it is possible to run inversions with: • 2D model meshes and 1D forward meshes (inv_2_1D.cfg configuration file in the EEMstudioLite distribution); in this case the model mesh is automatically built as a ribbon-like mesh that follows the acquisition lines, with uniform spacing along the lines (controlled by the .cfg setting ModelXNodeSpacing) and log-increasing depths; • 3D model meshes and 1D forward meshes (inv_3_1D.cfg configuration file in the EEMstudioLite distribution); in this case the model mesh has a regular XY spacing (controlled by ModelXNodeSpacing and ModelYNodeSpacing) and log-increasing depths; • 2D model meshes and 3D forward meshes; in this case the model mesh is automatically built as a ribbon-like mesh that follows the acquisition lines, with uniform spacing along the lines (controlled by the .cfg setting ModelXNodeSpacing) and log-increasing depths, while the forward meshes are built with domain decomposition and octree topology; • 3D model meshes and 3D forward meshes; in this case the model mesh has a regular XY spacing (controlled by ModelXNodeSpacing and ModelYNodeSpacing) and log-increasing depths, while the forward meshes are built with domain decomposition and octree topology; 34 Similarly, for galvanic data it is possible to combine: • 2D model meshes and 2D forward meshes (inv_2_2D.cfg configuration file in the EEMstudioLite distribution); in this case the model mesh is automatically built as a ribbon-like mesh that follows the acquisition lines, with uniform spacing along the lines (at the electrode positions) and logincreasing depths; • 3D model meshes and 2D forward meshes; in this case the model mesh has a regular XY spacing (controlled by ModelXNodeSpacing and ModelYNodeSpacing) and log-increasing depths, while the forward mesh is built along the acquisition lines. Objective function and balance between data and regularization The objective function of EEMverter is a balance between misfit of data, smoothness constraints, timelapse constraints and prior constraints defined as: 𝜒=√Φ𝑑(𝛿𝒅)+Φ𝑅(𝛿𝒎𝑅)+Φ𝑇𝐿(𝛿𝒎𝑇𝐿)+Φ𝑃(𝛿𝒎𝑃) 𝑁𝑑+𝑁𝑅+𝑁𝑇𝐿+𝑁𝑃=√𝑁𝑑∙𝜒𝑑2+𝑁𝑅∙𝜒𝑅2+𝑁𝑇𝐿∙𝜒𝑇𝐿2+𝑁𝑃∙𝜒𝑃2 𝑁𝑑+𝑁𝑅+𝑁𝑇𝐿+𝑁𝑃 Where: • Φ𝑑(𝛿𝒅)=𝑁𝑑∙𝜒𝑑2 represents the measure of the data misfit vector 𝛿𝒅=𝒅−𝒇, i.e. the difference between data vector 𝒅 and forward response vector 𝒇; for standard L2 norm, the data misfit reduces to 𝜒𝑑=√1 𝑁𝑑∙∑(𝑑𝑖−𝑓𝑖 𝜎𝑑𝑖)2 𝑁𝑑 𝑖=1 , where 𝜎𝑖 represents the standard deviation of the ith datum. • Φ𝑅(𝛿𝒎𝑅)=𝑁𝑅∙𝜒𝑅2 represents the measure of the roughness vector 𝛿𝒎𝑅=−𝑹∙𝒎, i.e. the misfit of the intra-model vertical/horizontal constraints; for standard L2 norm, the roughness misfit reduces to 𝜒𝑅=√1 𝑁𝑅∙∑(𝑚𝑖−𝑚𝑗 𝜎𝑅𝑖,𝑗 )2 𝑖,𝑗 , where 𝜎𝑅𝑖,𝑗 represents the standard deviation of the roughness constraint between the ith and the jth model parameters, . • Φ𝑇𝐿(𝛿𝒎𝑇𝐿)=𝑁𝑇𝐿∙𝜒𝑇𝐿2 represents the measure of the time-lapse roughness vector 𝛿𝒎𝑇𝐿= −𝑹𝑻𝑳∙𝒎, i.e. the misfit of the inter-model constraints; for standard L2 norm, the time-lapse misfit reduces to 𝜒𝑇𝐿=√1 𝑁𝑇𝐿∙∑(𝑚𝑖−𝑚𝑗 𝜎𝑇𝐿𝑖,𝑗 )2 𝑖,𝑗 , where 𝜎𝑇𝐿𝑖,𝑗 represents the standard deviation of the time-lapse constraint between the ith and the jth model parameters. • Φ𝑃(𝛿𝒎𝑃)=𝑁𝑃∙𝜒𝑃2 represents the measure of the prior misfit vector 𝛿𝒎𝑃=𝒎−𝒎𝑷, i.e. the difference between model vector 𝒎 and the prior model vector 𝒎𝑷; for standard L2 norm, the prior misfit reduces to 𝜒𝑃=√1 𝑁𝑃∙∑(𝑚𝑖−𝑚𝑃𝑖 𝜎𝑃𝑖)2 𝑁𝑃 𝑖=1 , where 𝜎𝑃𝑖 represents the standard deviation of the ith prior constraint. 35 The objective function is minimized through an Iterative Reweighted Least Squared (IRLS) approach with Levenberg-Marquardt model update and the inversion process can be split in several inversion cycles: in each cycle it is possible to change the forward computation for each dataset (e.g. from 1D to 3D), as well as to insert/remove data/constraints from the objective function. Nevertheless, in each cycle the balance between data and model measures is not tuned with a Tikhonov method, but it is kept constant among iterations and governed only through the data and constraint standard deviations. Data STDs Data are always weighted through their standard deviations in the objective function and care shall be taken in the STDs definition. In EEMverter it is possible to re-calculate the data STDs (for instance when the instrument does not provide a reliable STD measure), summing two contribution up: a uniform relative standard deviation and a signal-dependent contribution. Furthermore, it is possible to increase the data STDs at the change of sign, for a significant improvement in the robustness of the inversion process. The .cfg settings for STD definition are (see the manual section on Configuration (.cfg) file for detailed explanations): • For galvanic data, GalvanicNoiseLevel, GalvanicUniformStdDC, GalvanicUniformStdIP, GalvanicSumSquaredNoise, GalvanicFirstNegStd, GalvanicNCloseGates, GalvanicNCloseFactor, GalvanicCorrelatedNoise • For inductive data, InductiveNoiseLevel, InductiveUniformStd, InductiveSumSquaredNoise, InductiveFirstNegStd, InductiveNCloseGates, InductiveNCloseFactor. Typically, in full-decay IP inversion the number of IP data greatly surpasses the number of resistivity data, and a larger uniform STD helps in balancing IP and DC data in the objective function (IP uniform STD five/ten times greater than DC uniform STD is usually a good balance). When running inversions of synthetic forward responses, it is possible to add noise to the data (AddNoise setting in .cfg file) not only when running the forward response (see section “How to run forward responses”), but also before running the inversion. In this way, it is possible to test different noise models without the need of re-computing the forward response. All data STDs in EEMverter input files are indicated as relative uncertainty: nor zero-valued STDs nor zerovalued data are allowed. Constraint values Similarly to data STDs, the constraint values (roughness, time-lapse or prior constraint) in EEMverter are defined as relative uncertainties. For example, a vertical constraint equal to 1.0 means that a parameter variation between consecutive layers equal to 100% of the parameter value gives a misfit = 1.0 in the objective function (when the L2 norm is used for constraint definition). The constraint values are the most important settings to tune in the inversion: • Increasing/decreasing (e.g. doubling or halving) vertical and horizontal constraints will diminish/increase the importance of regularization in the inversion and retrieve rougher/smoother models; 36 • Increasing the ratio between vertical and horizontal constraint will favor layered models; decreasing the ratio will be more suitable for non-sedimentary environments and/or anomaly detection; typically, larger ratios between vertical and horizontal constraints are used with inductive data instead of galvanic data (for instance in the default configuration files distributed with EEMstudio). The constraint settings are tuned in the .cfg file through the settings (see the manual section on Configuration (.cfg) file for detailed explanations): • VertConstr, HorizConstrX, HorizConstrY for roughness constraints; • ModelPriorValues, ModelPriorConstr for prior constraints. Stopping criterion The default stopping criterion in EEMverter (MisfitChange in .cfg/.EEM file) stops the iterative inversion in a cycle when none of these two conditions is met: • the difference in the total misfit 𝜒 between consecutive iterations is larger than .cfg/.EEM setting RelNormChange • the total misfit 𝜒 decreases and the difference in data misfit 𝜒𝑑 decreases more than .cfg/.EEM setting RelSubsetNormChange on a subset of the data larger than .cfg/.EEM setting SubsetNormChangeSize. Another stopping criterion selectable in simplified inversion mode is DataMisfit, which stops the inversion when the data misfit 𝜒𝑑 goes below the .cfg threshold DataMisfitThreshold. Starting model The starting model is in importance the second tuning setting of an inversion. Two approaches are used by EEMverter for selecting a good starting (resistivity) model for the inversion: • For galvanic data, the average apparent resistivity is used for resistivity starting model (UseAppRhoForInitialValue = 1 in .cfg file); • For inductive data, an AutoStart inversion cycle is carried out, in which o Only one layer is used in the forward mesh o Tighter vertical/horizontal constraints are used for regularization (through setting SequentialAutoStartCScaling in simplified inversion mode) No automatic approach is implemented in EEMverter for selecting good starting values for IP parameters: • Low or High starting values for chargeability (i.e. 𝜑𝑚𝑎𝑥/𝜑 in MPA/CPA inversions or 𝑚0 in RCC/CCC inversions) might give different inversion models, especially at depth close to the DOI • In Cole-Cole inversions o Starting values for relaxation times 𝜏 outside the sensitivity range of measurements give bad results o Smaller 𝜏 starting values are preferred for inductive data o High starting values for 𝐶 parameter give more sensitivity to 𝜏 and are preferred 37 Great care has been given in EEMverter in assuring equivalent starting models regardless of the ModelType selection in the inversion. Keywords can be used in the .cfg file (autoMPA, autoMIC, autoBIC, autoRCC, autoCCC, autoWHYCDF) for allowing EEMverter to compute automatically the equivalent starting value for any model type. In the default .cfg files of EEMverter distributed with EEMstudio and in the default EEMverter settings, the autoMPA keyword is used for .cfg setting ModelTypeOfInitialValues. With these setting, the starting (and prior) values for parameters are defined in terms of the Maximum Phase Angle (MPA) reparameterization of the Cole-Cole model, and the actual starting parameters of the inversion, which depend on the ModelType selection, are automatically computed by EEMverter. For instance, these two calls of EEMverter start from MPA and RCC equivalent parameters, which give the same initial misfit of the inversion: • .\EEMverterLITE_V7.10.exe GradM_IP.quo inv_2_2D.cfg MPA, for running a Maximum Phase Angle (MPA) inversion. • .\EEMverterLITE_V7.10.exe GradM_IP.quo inv_2_2D.cfg RCC, for running a Resistivity Cole-Cole (RCC) inversion. Model discretization In EEMverter, the model discretization is in importance the third tuning setting of an inversion. It is only the third because EEMverter defines adequate model discretization automatically, depending on the input data. Nevertheless, three main settings are often tuned in inversions: the number of layers, the minimum depth and the maximum depth (a user-defined selection of all model depths is also available through the .cfg setting ModelDefinedDepth). The default value for the number of layers (.cfg setting ModelNzNodes) is 21, which gives a good balance between vertical refinement and parameter sensitivity. In this regard, it is worth noting that no few-layer inversion mode, where model thicknesses enter the model space, is allowed in EEMverter. The minimum and maximum depths of the model meshes can be set automatically in EEMverter (see AutoMeshSettings section in Configuration (.cfg) file description for details): • For galvanic data, as a function of minimum and maximum pseudo-depth through the .cfg settings MinDepthFactor and MaxDepthFactor • For inductive data, as a function of the transmitter size. Especially for inductive data, the automatic min/max depth selection in EEMverter needs some tuning, because nor the model conductivity nor the system gates and signal level are taken into account in the depth selection: • Use smaller min/max depths for very conductive environments; • Use larger min/max depths for very resistive environments; • Consider minimum/maximum acquisition times (in relation to the current waveform) for tuning first/last depths. 38 In EEMverter forward and model meshes are distinct, and the forward mesh discretization is automatically adapted to the model mesh definition. This adaptation is riskless for 1D (inductive) forward computations, but in 2D galvanic and 3D inductive computations choosing min/max depths and number of layers (very) different from the default values might affect forward accuracy. In particular, for galvanic computations it is better to choose a first layer thickness close to half of the minimum pseudo-depth. In this regard, pay attention when you use tables for defining the starting model in which the table dimension (dx, dy, MinDepth and MaxDepth) are explicitly defined. Multi-cycle inversion In EEMverter it is possible to define multiple inversion cycles for the inversion. Two main extra cycles are available in EEMverterLite: • An AutoStart cycle, which retrieves the best starting model for inductive data (turned on by the .cfg setting SequentialAutoStart in simplified inversion mode) • A sharp inversion cycle, which runs after the main inversion cycle and switches from L2 (or L1) model regularization to sharp regularization obtained through the Asymmetric Generalized Minimum Support (AGMS) norm (turned on by the .cfg setting SequentialSharp in simplified inversion mode). In the sharp inversion cycle, the most important tuning setting in simplified inversion mode is the first of the SharpSettings (i.e. alpha), which controls the balance between data and model regularization in the objective function: • Decrease (.e.g. halve) alpha for getting sharper inversion models (this might prevent a proper data fit); • Increase (.e.g. double) alpha for allowing more model variability (this might cause a too-smooth final model). Integral chargeability or full-decay galvanic IP inversion A Time-Domain (TD) galvanic input file containing full-decay data can be inverted in three different modes, by selecting the data type for inversion: data type 2 for full-decay data modelling; data type 21 for integral chargeability data modelling; data type 22 for modeling only apparent resistivity values. The data type selection happens in three different places, depending on the input type used for EEMverter: • by selecting the .cfg setting TDGalvDataType when running in simplified mode and using a single data file in the command arguments; • by writing the proper data type in the .dls file when running in simplified mode with data list input; • by writing the proper data type in the .EEM file when running in native mode. In all cases, the forward modelling can be run with model types that consider IP, but: • inversions with Cole-Cole like models require full-decay data, otherwise the spectral parameters cannot be resolved; • inversions with IP modelling require IP data. 39 How to run forward responses Forward responses in EEMverter can be handled both in native and simplified mode, with the latter being the usual approach. Two main options are provided, controlled by the number of iterations: • Number of iterations = -1 -> synthetic modelling • Number of iterations = 0 -> misfit computation In both cases noise can be added to the data, through the .cfg setting AddNoise. When noise is added to the forward data, the extension of the output files is changed in: • .tip (WriteAddedNoise=0) or .tap (WriteAddedNoise=1, added noise contained in the file) for time-domain galvanic data; • .lil (WriteAddedNoise=0) or .tin (WriteAddedNoise=1, added noise contained in the file) for timedomain inductive data. Forward responses for synthetic modelling When the number of iterations is set to -1, either in the .cfg file in simplified mode (setting CycleNIte) or in the .EEM file for native mode (setting #Ite in section %13), a forward response is carried out, with the following characteristics: • when the standard deviations STDs are re-computed by EEMverter (RecomputeGalvanicSTDs > 0 and/or RecomputeInductiveSTDs > 0), the forward signal, which depends on the model, is used for the STDs computation; • the data misfit is computed using the forward STDs and not the data STDs (this makes a difference only in linear data space); • the DOI is computed using the forward STDs, without considering data misfit (when DOI computation is turned on in the .cfg/.EEM file). For forward computations with non-uniform models, the standard procedure is to call EEMverter in simplified mode using a table for defining the model. This can be done in two ways: defining in the .cfg file “ModelTypeOfInitialValues = external” and indicating the name of the table file as command argument, or assigning directly the name of the table file to ModelTypeOfInitialValues. For a given table file defined in terms of Cole-Cole parameters (or any re-parameterization of Cole-Cole model), it is possible to run forward responses in resistivity or with CPA-like models without modifications to the table. Indeed, the model type of the forward response is indicated in the .cfg setting “ModelType”, which can indicate the model type itself or the “external” keyword, Using “external” in the .cfg table for both “ModelType” and “ModelTypeOfInitialValues” settings, call examples for EEMverter look like: • .\EEMverterLITE_V7.10.exe tTEM.ely fwr_2_2D.cfg MPA TwoBlocks.txt, for running a Maximum Phase Angle (MPA) forward model. In TwoBlocks.txt the model is defined in terms of MPA parameters (ModelType=14), so EEMverter takes the parameter values of the table as written in the file. 40 • .\EEMverterLITE_V7.10.exe tTEM.ely fwr_2_2D.cfg RCC TwoBlocks.txt, for running a Resistivity Cole-Cole (RCC) forward model. In TwoBlocks.txt the model is defined in terms of MPA parameters (ModelType=14), so EEMverter transforms the MPA parameters to the equivalent RCC ones and then runs the forward response. Considering that the MPA and RCC parameters are equivalent, the corresponding complex resistivity is identical in the two modelling, and the forward responses do not differ. • .\EEMverterLITE_V7.10.exe tTEM.ely fwr_2_2D.cfg CPA TwoBlocks.txt, for running a CPA forward model. In TwoBlocks.txt the model is defined in terms of MPA parameters (ModelType=14), so EEMverter takes the first two parameters (resistivity and phase) for the modelling. • .\EEMverterLITE_V7.10.exe tTEM.ely fwr_2_2D.cfg CPA TwoBlocks_RCC.txt, for running a CPA forward model. In TwoBlocks_RCC.txt the model is defined in terms of Resistivity Cole-Cole (RCC) parameters (ModelType=11), so EEMverter transforms the RCC parameters to MPA and takes the first two parameters (resistivity and phase) for the modelling. In all cases, it is recommended to set only one cycle in the .cfg file for forward computation, e.g. turning off AutoStart and SequentialSharp cycles. In the table definition, both for simplified (extension .txt) and advanced (extension .tbl) formats, two main options are available for defining the table dimension: • Explicit definition of horizontal spacings dx and dy, as well as minimum and maximum depths MinDepth and MaxDepth of the model. In this case, the table settings are copied to the .cfg settings defining the model mesh, i.e.: o .cfg setting ModelMinDepth = table setting MinDepth o .cfg setting ModelMaxDepth = table setting MaxDepth o .cfg setting ModelXNodeSpacing = table setting dx o .cfg setting ModelYNodeSpacing = table setting dy o .cfg setting ModelNzNodes = table setting Nz If the horizontal table extension (Nx and Ny) is smaller than the model mesh extension, the table is automatically continued in the x-y directions with the closest model columns. • No definition of table dimension (optional info dx, dy, MinDepth and MaxDepth not defined). In this case, the model mesh dimension (ModelMinDepth, ModelMaxDepth, ModelXNodeSpacing, ModelYNodeSpacing and ModelNzNodes) is independent of the table size (Nx, Ny, Nz), i.e.: o if the table extension (Nx, Ny and Nz) is smaller than the model mesh extension, the table is automatically continued in the x-y-z directions with the closest model columns/row; o layer thicknesses and horizontal distances among nodes depends on the .cfg settings, and with automatic computation of ModelMinDepth, ModelMaxDepth, ModelXNodeSpacing, ModelYNodeSpacing the same table will generate models with different sizes depending on the data file. With both options for table definition, it is possible to indicate with an external file user-defined depths for the model mesh, through the ModelDefinedDepth .cfg setting. The ModelDefinedDepth .cfg setting prevails on the MinDepth/MaxDepth table settings and on the ModelMinDepth/ ModelMaxDepth .cfg settings. 41 Forward responses for misfit computation When the number of iterations is set to 0, either in the .cfg file in simplified mode (setting CycleNIte) or in the .EEM file for native mode (setting #Ite in section %13), a forward response is carried out, with the following characteristics: • when the standard deviations STDs are re-computed by EEMverter (RecomputeGalvanicSTDs > 0 and/or RecomputeInductiveSTDs > 0), the STDs computation depends on the signal level and change of sign (and not on the forward response level/change of sign); • the data misfit is computed using the data STDs; • the DOI is computed using the data STDs, considering data misfit (when DOI computation is turned on in the .cfg/.EEM file): the uncertainty used on DOI computation is the larger between data STD and data misfit.