FAQ, and recommendations: 
Guidelines for using UBC-GIF codes


[ Running codes | Meshs | Data, errors | Inversion TheoryDCIP2D | MAG3D | GRAV3D | EM1DFM | MeshTools3D ] (June 2005)

NOTES on using this page:

  • All information is on one page so that you can use your browser's "find" function to look for keywords related to your question.
  • The contents list above appears periodically throughout this page. Use it to find information on specific aspects of using UBC-GIF codes.
  • This should not be a "primary" resource for fundamentals or details about codes. Use software manuals and tutorials where appropriate, either on the UBC-GIF web site or in the IAG CD-ROM.

Introduction

These recommendations and guidlines are based upon commonly occuring questions about using UBC-GIF modelling and inversion codes.

Citing UBC-GIF inversion codes in publications you write: Please refer to these programs as follows. The date can be found in the "about" section under the program's "Help" menu of it's Graphical User Interface.

    DCIP2D; A Program Library for Forward Modelling and Inversion of DC Resistivity and Induced polarization Data over 2D Structures, version x.x (date). Developed under the consortium research project Joint/Cooperative Inversion of Geophysical and Geological Data, UBC-Geophysical Inversion Facility, Department of Earth and Ocean Sciences, University of British Columbia, Vancouver, British Columbia.

    MAG3D; A Program Library for Forward Modelling and Inversion of Magnetic Data over 3D Structures, version x.x (date). Developed under the consortium research project Joint/Cooperative Inversion of Geophysical and Geological Data, UBC-Geophysical Inversion Facility, Department of Earth and Ocean Sciences, University of British Columbia, Vancouver, British Columbia.

    GRAV3D; A Program Library for Forward Modelling and Inversion of Gravity Data over 3D Structures, version x.x (date). Developed under the consortium research project Joint/Cooperative Inversion of Geophysical and Geological Data, UBC-Geophysical Inversion Facility, Department of Earth and Ocean Sciences, University of British Columbia, Vancouver, British Columbia.

    EM1DFM; A Program Library for Forward Modelling and Inversion of Frequency Domain Electromagnetic Data over 1D Structures, version x.x (date). Developed by the UBC-Geophysical Inversion Facility, Department of Earth and Ocean Sciences, University of British Columbia, Vancouver, British Columbia.

    EM1DTM; A Program Library for Forward Modelling and Inversion of Time Domain Electromagnetic Data over 1D Structures, version x.x (date). Developed by the UBC-Geophysical Inversion Facility, Department of Earth and Ocean Sciences, University of British Columbia, Vancouver, British Columbia.

Running UBC-GIF inversion and modelling codes

  • File names: What do UBC-GIF codes do about input and output file names?
    • Except for EM1DFM, all output file names used by UBC-GIF codes have pre-defined names. Therefore you must use directories to keep track of your work rather than file names. See the manuals of individual codes for details.
  • Directories:
    • IMPORTANT: because the codes have fixed file names for output information, you MUST run separate inversions from separate directories. You are expected to keep track of a collection of results by using directories rather than file names.
  • Scripting to running several inversions sequentially (for DCIP2D, MAG3D, or GRAV3D):
    • Place each data set that needs inverting into a separate directory, all under a common root.
    • Build an inversion input file for each run, ensuring that all files needed (input data, reference models, and so on) are referenced with complete and correct directory path information.
    • Build a DOS batch file which starts in the "root" directory of all your work, changes to working directories, and runs the code using command line parameters, one directory at a time.
    • Instructions for running the codes from the command line (in a "DOS" or command line window) are given in chapter 3 of all the manuals.
    • The EM1DFM user interface is designed to run many 1D inversions, so setting up batch files should not be necessary for this code.
  • Stopping an inversion run prematurely:
    • There is a "stop run" button in the graphical user interfaces for inversion programs.
    • If running from the command line, press CTRL-C.
  • Program quits with no result, and no apparent error message.
    • Check the log file for indications of "bad" data points.
    • All information in the data file must be numeric. Check for erroneous data points including "####'s", "#div/0" or other non-numeric information.
  • UNIX / MS Windows etc ...
    • Only MSWindows versions of the inversion and forward modelling codes are available for licensing. Codes should run on all versions of MSWindows at and before the date of the code you are using (see "Help" menu in the Graphical User Interface). However ...
    • ... if you have codes that did run on older versions of MSWindows but that fail on newer versions of the operating system, please contact your distributor about obtaining a more recently compiled copy of your codes.
    • Data files should be in the correct ASCII format for the Windows DOS environment.
  • Should target misfit always be met?  See target misfit below.
  • Smooth models but NOT smooth geology? See using smooth models below.
  • Source code: UBC-GIF is not able to provide source code for any of their programs.

[ Running codes | Meshs | Data, errors | Inversion TheoryDCIP2D | MAG3D | GRAV3D | EM1DFM | MeshTools3D | top ]

Meshs

  • 3D Mesh Format
    • 3D models are defined using a 2-file format. The "mesh" file describes how the earth is descritized. The "model" file lists the physical property values for all cells in a mesh. A model file is meaningless without an associated mesh file. The first value is for the model's top-front-right, (top-south-west) corner cell.
    • Both mesh and model files are in ASCII text format so they can be viewed and edited using any text editor. However, please see the NOTE on tabs vs spaces in the "Data" section of this page.
    • Mesh files are defined in the MAG3D and GRAV3D manuals, section 2.2 "FILE: mesh".
    • Model files are defined in the MAG3D and GRAV3D manuals, section 2.2 "FILE: model.sus" or "FILE": model.den".
  • 3D Mesh design guidelines.
    • Potential field measurements (gravity, mangetics, DC potentials) decay with increasing distance from the causitive features. Therefore you should use smaller cells near the surface (in the range of elevations which include the topography variations) and increase the cell thickness with the model depth.
    • The inversion can only assign constant susceptibility for each cell so if there is structure at a scale smaller than your surface cells, it will not be possible to recover unless the cell size is reduced. Of course small cells means more of them, hence a much larger problem.
    • If there are anomalies close to the edges of your data set, include padding cells around the main zone of interest.   Three cells on all sides should be OK, and their sizes should increas by factors of two (i.e. if your model earth has cells of size "1", then the first padding cell should have size "2", the next size "4" and the third size "8"). This will not guarantee that susceptibility won't be placed within the main model, but it might be easier than trying to remove a complicated "regional" field.
  • 2D mesh design
    • The program builds a default mesh with two cells between each horizontal electrode location, and cell aspect ratios of 2:1 (horizontal dimension to vertical dimension).  If the survey array is not dipole-dipole, or pole-pole, or pole-dipole, you must build your own mesh file. The array can have uneven electrode spacing, but the mesh file will be complicated.
    • If you build your own mesh, cells do not have to be all the same size, but the electrodes do have to be on nodes. The program can not work if electrodes are placed in the middle of cells. As noted above, uneven arrays should be OK.
    • Mesh size: Reasonable models have on the order of 2000 cells. Ten times that is starting to get rather large.
    • Current source locations: You must not use the edge of the mesh for a current source because the mathematics must be able to have current flowing into the ground on both sides of the current source. Therefore, for a pole-dipole survey that starts on the left, the first station must be on the node between the first and second cells. For a real survey, it is necessary to add extra cells on both sides, and below, the region of surveying so that mathematical boundary conditions can be managed properly. See the DCIP2D manual page on meshes.
    • See also UBC-GIF Technical note TN-004 on 2D mesh design.
    • See also the DCIP2D workflow.
  • Topography and UBC-GIF meshes
    • The top of the mesh must be above the topography.
    • Data must never be inside cells below the topography, except for borehole data.
    • In data files, the "Elevation" (3rd) column (called Elevn in the manuals) must contain values that are true elevations NOT "altitude" above ground.
    • Error message "Point xxxx: (*******,*******,  yyy.y) is inside the model" usually means that elevations specified for one or many data points in the data file (obs.grv in the manuals) is/are not above the topography.
    • Please read the chapters on FILE: topo.dat in the MAG3D or GRAV3D user manuals.
  • Adding extra cells to a mesh for characterizing detail:
    • The best way to make smaller cells in a particular region is to add lines to the default mesh created by the program when you first run the inversion. You can observe the mesh being used in any final model by selecting the View menu, Mesh option in the model viewing window.
    • In our experience, adding extra cells at depth does not usually help the result. The default mesh normally divides the Earth into cells that can be reasonably well resolved with the corresponding geophysical method and the survey provided.
  • Extracting a portion of the values from a mesh:
    • There is no direct method to extract a column or bock of values from a 3D model. Some users have written utility programs to convert mesh/model file-pairs into X-Y-Z-Value column format, then a spreadsheet can be used to sort and extract portions.
    • Alternatively you can view the model in on the screen. When you point the mouse to any cell the value and location are displayed in the window's status bar. It helps to turn on the mesh grid when doing this.

[ Running codes | Meshs | Data, errors | Inversion TheoryDCIP2D | MAG3D | GRAV3D | EM1DFM | MeshTools3D | top ]

Data and data errors

  • No Tabs Please!
    • Please separate columns and parameters of input files with spaces, not tab characters. Saving data from spreadsheets out to "text" files usually results in tab-delimited data files, so these must be changed in a text editor by replacing all tab characters with space characters. Several spaces is OK.
  • Positioning and UTM coordinates, etc.
    • All UBC-GIF codes work in metres. If DCIP2D is used with feet for positions, the resulting resistivities will have units of "Ohm-feet". This could be changed after the fact, or all position information could be converted to metres first.
    • For UBC-GIF 3D inversion codes, the volume is define by specifying the position of the South-West- Top corner of the volume of ground (the "mesh"), and then all dimensions are in metres after that. This corner could be (0,0,0), or it could be the correct location in UTM based upon the data set, or it could be a position on some survey grid. If the last is true, we would need to align the survey grid onto the UTM coordinate system to get geographically correct positions. These could be converted to Lat/Long if necessary using the GSC facilities.
    • Note that UTM coordinates often involve many digits. It may be appropriate to retain only those digits that change over the survey area for the purposes of inversion. The digits that were dropped can always be put back for final presentation purposes if desired.
    • For Canadian locations, conversion between UTM and Lat/Long is easily done using the GSC's online or downloadable facility called GSRUG. There is all sorts of information on the UTM projection at that site. Individual locations can be converted either directly on line, or a DOS-PC program can be down loaded for managing batches of locations.
  • Data and mesh size:
    • A brief outline of MAG3D's data requirements is provided in a separate text file.
    • There is no need for more than a few data points for each cell at the surface of the mesh. The inversion result can not recover details of geology at a smaller scale than your mesh, so including more than a few data points over each surface cell may make convergence slow or impossible. Airborne data sets are often huge, and they will require decimating before inversion routines can handle them. Under 10,000 data points is reasonable for most problems while several tens of thousands of data points is begining to become a very large inverse problem.
    • Data along wide-spaced lines: If there will be several cells between data lines with no data points over them, it is possible that artifacts may be introduced, or that models will look "stripy", with structure predominantly underneath the lines of data. Careful gridding of such data sets might help, but gridding can introduce artifacts into the data set, so take care! Alternatively upward continue data sets so that they are roughly half the line-spacing in elevation.
      • For example, if data were collected along 200 m spaced lines, with a 25 m spacing along the lines, and model cell horizontal dimensions were 20 m x 20 m, then artefacts may be created in the model due to the irregular distribution of the data points.  Instead of that,  try replacing the input data with gridded data.
    • Mesh size: For 3D meshes, try for 10,000 to 50,000 cells to begin. If there is a need, you can try finer meshs once your problem is under control at the coarser scale. (However, recall that 3D problems become extremly large very quickly. For example, if you define a mesh that has 200 by 200 by 200 cells, there will be 8,000,000 unknowns in your problem. If you then try to invert 4,000 data over this mesh then the program will have to manage a matrix that has 32x10^9 elements.
  • How to tell if you defined an inversion problem that is too big?
    • You can always start the program running, and if the computer appears to be hitting the hard disk often, then the problem is to big to fit in your computer's RAM (memory).  It is possible to reduce the problem size by adjusting wavelet compression parameters, but we have not got any well defined rules as to the cost (in terms of model resolution) of more agressive compression.  Most users now use a gigabyte or more of RAM because memory is generally relatively cheap.
  • Data preparation for 3D inversions.
    • If possible constrain data sets so that they have no anomalies close to (or crossing) their edges.
    • For gravity data especially, removal of a regional trend is an important, and not necessarily easy step. Try to end up with a residual data set that has anomalous values of zero near the edges of your data set. This may not be possible, so include padding cells.
    • Upward continue gravity or magnetics data to an elevation around 1/2 cell width. This is to help remove information in the data that was caused by features in the ground that are smaller than your cell sizes. Again, this will improve the chances of successful convergence within a reasonable time. Upward continuation may not be necessary for airborne data sets.
    • Filtering: Simple filtering of data sets (other than noise reduction) is NOT encouraged. Smoothing should be done by upward continuation because it does not introduce artifacts if done properly.
  • Defining data errors
    • Errors arise from many sources including position errors, elevation errors, instrument noise, etc. Therefore you should assign a reasonable value for all data points - say on the order of 5% of the average value.
    • It is wise estimate error using both a percentage and a constant value. This is especially true for data that can be close to zero, or which can be both positive and negative because using a percentage only means that values close to zero would end up being considered as nearly perfect. See the definition of ERRi in the user's manual of the code you are using (for example, the page on input data formats for DCIP2D).
    • If the noise on data are not Gaussien, random, etc. you may have to loosen the misfit critia. In DCIP2D, either specify a value greater than 1 for ChiFact, or examine the data carefully and specify larger errors for data points you don't trust as well. In other words, "default" errors calculated by the program are not always appropriate.
    • When errors are not known: In GRAV3D, MAG3D or EM1DFM there are several ways finding optimal solutions without having to specify a Chifact. These are the L-curve or GCV options. Discussion is provided in the tutorial on linear inversion (large PDF).
    • Default errors for DCIP2D are calculated as explained under "ERRi" in the manual.
    • There are a few comments from a user of DCIP2D inversion and forward modelling codes, in a separate text file.

[ Running codes | Meshs | Data, errors | Inversion TheoryDCIP2D | MAG3D | GRAV3D | EM1DFM | MeshTools3D | top ]

DCIP2D

  • Data types
    • Input data for DC resistivity inversions (the 5th column of DCIP2D input file) are in units of voltage NOT resistivity. This value of potential is always normalized to unit current amplitude. Therefore values are easily obtained from pseudosection data (which are usually in units of apparent resistivity) by applying the geometric factor equation for the appropriate array type to obtain "V/I", which is "V" assuming I=1 (the required datum).
    • Input data for IP can be in any of the standard forms (time domain in units of msec or mV/V, phase in units of mrad, or frequency domain in PFE). These are all directly proportional to "theoretical" chargeability. Therefore you can use recorded chargeabilities directly as input values, and recovered model chargeabilities will be in the same units. In the 1994 Li and Oldenburg paper (Geophysics V59 p.1327) this is noted when the field example is discussed. See also the induced polarization data section of the DCIP2D software manual.
    • Wenner and Schlumberger, and other array types ... see below.
    • Only one type of survey array can be included in a single file, but arrays with different spacings of the same configuration can be mixed in the same file. For example, two pole-dipole arrays with a 50 m dipole and a 100 m dipole respectively can be in the same file.
    • Pole-pole; dipole-dipole, etc... Does it matter? See the a short summary in the UBC-GIF tutorial on DC resistivity methods (in the IAG - array comparison is not available on the web). This also illustrates the difference between pole-pole, dipole-dipole, pole-dipole and dipole-pole electrode configurations for 2D DC / IP surveys. Other configurations are not mentioned, but see more comments below.
  • Units of chargeability?
    • The scale for chargeability pseudosections and models is not labelled because it depends upon what type of data are supplied (time domain, PFE, frequency domain, etc). See also above (Input data for IP). The DCIP manual's page describing data also has relevant information.
  • What is "small" chargeability?
    • Intrinsic time domain chargeabilities of 70-100 msecs are considered large. In other words, a secondary voltage (at turn-off) that is 10% of the primary, on-time, voltage, would represent a "large" capacity for the ground to become charged. The IP inversion code in the DCIP2D package is linearlized by assuming chargeabilities are "small", which basically means m<0.1, or intrinsic time domain chargeabilities are less than 70msec or so.
  • Forward modelling IP data
    • UBC-GIF forward modelling (not inversion) of induced polarization requires the earth's chargeability to be defined in unitless IP values scaled between 0 and 1. This is because the forward code does a complete forward modelling as per eqn 6 in the DCIP2D manual's background chapter. To convert "normal" chargeability values into unitless values, M,  use the conversion factors M = 0.1 ~ 10PFE ~ 70mrad ~ 70msec. The output (a pseudosection of data) can then be scaled back up to "normal" units using the reverse of your initial conversion.
    • Inversion of IP data can work happily with normal field units (see "Input data for IP" above) because the forward calculation within DCIP2D only needs to solve eqns 14 (see Inversion of IP data, in the DCIP2D manual), which are valid so long as chargeability is "small" (which means less than around 0.1 (unitless) or less than around 140msec.).
  • Forward modelling error "Number of cells in the mesh is not the same as in the model"
    • The mesh used for forward modelling and inversion must be the same. It is common to generate a synthetic model, then invert it, and then not be able to view the result. This is often because you let the inversion program build it's own mesh for your synthetic data, and this may not be the same as the mesh used to define the synthetic earth. Make sure you specify the correct mesh in the inversion program rather than letting it make it's own mesh.
  • Default errors for DCIP2D are calculated as explained under "ERRi" in the manual.
  • Conductivity models for inversion of IP data
    • The chargeability inversion requires a resistivity model to proceed. While a uniform half space can be used, the resulting chargeability model will not represent the true earth as closely as if the correct resistivity model is used. Please read the manuals, in particular the last paragraph ("NOTE 5") of the DCIP2D manual's page on inversion of IP data.
  • Negative apparent chargeabilities
    • There are several reasons why negative apparent chargeabilites might be measured. Therefore they should be included in data that are inverted. (Note however that there is no such thing as negative intrinsic (true) chargeability.) See the IP tutorial for more details.
  • Wenner and Schlumberger Arrays
    • See also a brief "how to do it" text file.
    • All array configurations can be accommodated for inversion, but only pole-pole, pole-dipole or dipole-dipole can be specified on the input file's first line.
    • For Wenner, Schlumberger, gradient, or irregular survey arrays, you must enter all electrode positions explicitely and specify dipole-dipole on the second line of obs.dat. You must also mesh file, initial and reference models, and "alpha" parameters. See the page on input file parameters in the DCIP2D manual.
    • The Graphical User Interface for Windows95/98 can estimate default parameters and display pseudosections for pole-pole, pole-dipole or dipole-dipole arrays only. See the GUI documentation for details.
  • Gradient array data:
    • Can you invert gradient array data? This is a little tricky, but the short answer is yes.
    • Inverting gradient array data is a bit tricky for at least a couple of reasons.
      • The restriction that electrodes must be on mesh nodes results in large meshes because the source is so far apart yet potential electrodes tend to be relatively close together.
      • Also, with such widely spaced source electrodes, there is a higher likelyhood of 3D effects creeping in. Current will flow (and may be channeled) in areas that are no where near the 2D survey line. This may make it difficult for a 2D inversion routine to find a suitable structure to account for the data.  In fact, gradient data are often used as a rapid reconnaisance tool, and area maps of response may be a better interpretation tool than 2D inversion.
    • It is probably better to invert gradient data using DCIP3D because of said 3D effects. However, this doesn't give that much more that a plan view of the data because there are so view transmitter locations.  It is only really worth inverting if there is other electrical data to constrain the depth of objects.
    • Another approach, would be to use MAG3D and define the inducing "magnetic" field to lie in the direction of the electrodes. When doing this, adjustment of the depth weighting for different runs would be useful to see how the model changes, and how well any other geologic information is supported.  Of course the model's physical property values will be on a relative scale and actual conductivities/chargeabilities will be hard to recover.
  • How do I generate a “DOI” image?
    • To generate a DOI image, two inversions must be run using two different reference models. A good choice is the reference used by a “default” inversion, and a second one that is near the minimum resistivity (or chargeability). NOTE: two inversions must be run from two separate directories - see General Practice FAQs above.
  • Dip of geologic structures:
    • Interpreting dip from simple "default" inversions: recall that when UBC-GIF inversion programs are run without adjusting any of the model objective function parameters, resulting models  will be smooth and close to a reference. Therefore the actual dip of geologic structures may be masked by these "optimally smooth and small" models.
    • Can prior knowledge about dip be incorporated? One approach to finding alternate models is to adjust the objective function parameters (alpha_x etc). The DCIP2D tutorial page on the model objective function describes the effects of adjusting these parameters.
    • Reference:  Methods of augmented the model objective function, and the effects on inversion results are discussed in Li Y., and Oldenburg D.W. (2000), "Incorporating geologic dip information into geophysical inversions" , Geophysics, 65, #1, pp 148-157.
    • Currently licensable versions of DCIP2D do permit this kind of work but there is no documentation yet. Please contact UBC-GIF if you would like to know how to do this. It is not difficult!
  • When conductivity of geology varyies by 4-5 orders of magnitude: See Using smooth models below.
  • Contoured plan maps from parallel 2D models
    • UBC-GIF does not have a utility to extract resistivity or chargeability values so that you can contour these model values at a given depth from several parallel 2D models. You will need to build a utility program or spreadsheet that uses the mesh and model files to pick out model parameters from one specified depth (row in the model) for each inverted line. Then those rows can be concatinated, and appropriate x and y coordinates added, to build a file that can be contoured using a standard contouring package.
  • 1D resistivity inversions
    • There are no UBC-GIF codes for inverting 1D resistivity (IP) soundings. Only 2D surveys can be inverted with DCIP2D. Truly 3D data sets need a 3D inversion code to invert, such as DCIP3D.
    • See also a few comments on interpreting 1D, 2D, 3D situations in a separate text file.
  • Error message: Data has a wrong sign for current        x, potential   y”.
    • Try swapping the potential electrode columns, or the source electrode columns.
    • Note that if the resistivity / IP pseudosection data viewing program (dcip2d-data-viewer) shows data properly the data file is OK for input to the inversion programs.
  • Error message (DCIPF2D): *ERR* LI-04 argument(s) must not be zero” or similar
    • The input file probably has a typing error somewhere in it.

[ Running codes | Meshs | Data, errors | Inversion TheoryDCIP2D | MAG3D | GRAV3D | EM1DFM | MeshTools3D | top ]

MAG3D

  • Depth to a magnetic target?
    • It is important to realize that potential fields data (gravity and mangetics) actually contain no inherent information about the depth to a target. You can explain any data set using a susceptibility distribution confined to a single layer at any depth.
    • The MAG3D code has a depth weighting term included in the model objective function which effectively allows all depths an equal probability of having susceptible material.  If the real earth only has susceptible material in a thin layer near the surface then this weighting term will cause the solution to appear too deep. There are parameters in the user interface (called "depth weighting") that can be adjusted. Normaly we recommend leaving these alone but if alternate information suggests a results should be shallower, by all means try adjusting these parameters. See the MAG3D manual, section 1.4 for more details.
  • Earth's mangetic field:
    • The conventions for MAG3D are: Inclination is positive in the northern hemisphere; Declination is positive to the west of D=0; Field strength is always positive. One way to check if everything is as expected is to generate data for a simple buried susceptible block.
  • Mag3D Outline
  • General recommendations
  • Gradient magnetic data:
    • Mag3D can not handle Gradient data. It requires total field anomalies corrected for diurnal variations.
  • Extremely large susceptibilities:
    • MAG3D does not account for demagnetization or remenant magnetization. So it will give the wrong results if demagnetization is significant (i.e. if susceptibilty is extreme). At this time (May 2002), this is a research topic which UBC-GIF is working on.
  • Making use of susceptibilites from drillhole core, measured in the field
    • Using susceptibility values from core (or borehole measurements) is definately something that people want to do. UBC-GIF has students experimenting with this problem (2002). It turns out to be rather complicated because relating physical rock properties at the scale of a few centimetres to properties at the scale of tens or hundreds of metres is complicated. UBC is developing a research project to address this and other related issues. That means that there may be people studying this problem "soon" (as of summer 2002).
  • Inversion won’t run:
    • Check that the inclination, declination, and geomag (field strength) are correct on the 1st line of the data file. Geomag must NOT be zero.
  • Upward continue the data
    • Recall that you can not resolve features smaller than your cell size, yet ground-based data are certainly affected by smaller-scale variations in susceptibility (or density for gravity data).  Convergence will be difficult if the inversion program is trying to fit data gathered on the ground using cells that are larger than the scale of variability close to the instrument.
    • Filtering is not really a good idea, but upward continuing the data to an elevation roughly equal to half a cell width is highly recommended.
  • Artifacts on model edges.
    • MAG3D computes susceptibility models assuming that all sources come from within the model grid, and the sucseptibility outside the model is zero.  This means that if susceptibility-contrast anomalies are located near the border of the model, the inversion will create artefacts near the borders of the model.
    • See also Mesh Design and Data Preparation above.
  • Message: "Cannot complete line search without positivity ... ".
    • This indicates that the program is having trouble finding a regularization parameter in the inversion step that occurs before positivity is imposed. Try increasing ChiFact, or assign larger errors to the data, especially to any questionable data points. You could try one inversion using a ChiFact that is around 10 times what you expect it to be just to ensure that the program can deal with this data set. Then re-run with more sensible misfit specifications (i.e. Chifact and/or error assignments).
  • Upon what algorithm is the forward modelling in MAG3D based?
    • The code in MAG3D was initially based on Bhattacharyya's (Geophysics, 1964, p517-531) and a later simplification by Rao and Babu (Geophysics,1991). But the the code in version 3.0 is based more on Sharma (1966, Pure Appl. Geophys., vol 64, p89-109), which is basicaly the dyadic Green's tensor notation we had in the borehole paper.
  • Simultaneously inverting ground and airborne data:
    • We have jointly inverted data sets at different levels and it hasn't posed a problem. Just a couple of comments:
      • One way to check the consistency is to upward/downward continue the different data sets to a common plane.
      • Also, if there is magnetic material near the surface then maybe the ground data should be upward continued to a height equal to half a cell size.
  • Data elevations:
    • Enter the elevation of the sensor above the ground (eg. 2m for ground-based data sets). This must be greater than zero because data points can not be on mesh nodes or cell edges, or within mesh cells.

[ Running codes | Meshs | Data, errors | Inversion TheoryDCIP2D | MAG3D | GRAV3D | EM1DFM | MeshTools3D | top ]

GRAV3D

  • Data
    • When inverting gravity data, the assumption is that the data input to the inversion algorith represents the gravitational attraction of the buried anomalous targets ONLY. In other words, it is assumed that all effects due to the geoid, the elevation, and "host" rocks around the target (including topographic effects) have been removed. Therefore the best data set you can use is one that includes all possible corrections, including terrain corrections if that topography is substantial. Of course it is assumed that the correct density for "host rocks" was used in the Bouguer correction.
    • NOTE: upward continuation is highly recommended, although it is by no means a trivial process. See comments elsewhere.
    • Remember that complete Bouguer corrected data are NOT moved to some ficticious flat plane. All data points should remain at the locations and elevations at which they were collected.
    • When topography is not sever Bouguer corrected data will suffice. 
    • You do not need to supply the densities used in the Bouguer correction.
    • Units should be mGal (milliGals).
  • Topography:
    • If topography is not flat you must include a “topo.dat” file. See the GRAV3D manual section 2.2.
  • Results are relative density contrast in gm/cc, NOT absolute density.
  • Depth to a density contrast target?
    • Please read the related comment under MAG3D above - it is entirely relevant to GRAV3D. The reference in the GRAV3D manual is also section 1.4.
  • Artifacts on model edges.
    • GRAV3D computes density-contrast models assuming that all sources come from within the density-contrast  model grid, and the density-contrast outside the model is zero.  This means that if density-contrast anomalies are located near the border of the density model, the inversion will create artefacts near the borders of the model.
    • See also Mesh Design and Data Preparation above.
  • Removal of a regional trend is an important, and not necessarily easy step. Try to end up with a residual data set that has anomalous values of zero near the edges of your data set. This may not be reasonable, so include padding cells.
  • Upward continue the data:  See this comment under MAG3D - it is relevant for gravity data too.
  • Recommend depth for models?
    • This is related to the horizontal size of the survey and to the size of the anomalies. Try for a depth of interest that is 1/4 and 1/2 of the shortest horizontal dimension, then add padding cells to the base as per horizontal padding.

[ Running codes | Meshs | Data, errors | Inversion TheoryDCIP2D | MAG3D | GRAV3D | EM1DFM | MeshTools3D | top ]

EM1DFM

  • THERE ARE NO FaQS FOR EM1DTM - THIS IS A NEW CODE (2007) AND EXPERIENCE IS ONLY NOW BEGINNING TO GROW.
  • Creating input data files.
    • Data input files for EM1DFM are complicated because the program can accomodate any conceivable combination of transmitter and receiver loop orientation and frequency combinations. See the EM1DFM documentation for detailed descriptions, and for examples of DIGEM-style helicopter EM, EM-31, and MaxMin data sets.
  • Are there any codes for converting column-style data sets (Geosoft, DIGEM, etc) into EM1DFM format? 
    • There is a limited command-line code available. See "Software manuals => Utility Codes" on the UBC-GIF website.
  • EM-31 or similar data?
    •  EM1DFM is a 1D inversion program. We have experimented with some EM-31 data, but most work has involved multiple-frequency airborn or ground data. EM-31 "soundings" tend to be rather inappropriate for smooth 1D interpretation because at best there will only be a few measurements at each location (Quad- and in-phase, with two coil orientations, and 1 or more elevations above ground).
    • See an example given in the EM1DFM documentation.
  • "Please tell me everything about loop-loop EM" ... An email with several questions, and the responses, is provided in a separate text file.

MeshTools3D, and other utilities

  • MeshTools3D Features:
    • The MeshTools3D manual describes all the features of this 3D volume viewing tool.
    • Note that the program can only work with 3D volumes of values that are defined using the UBC-GIF mesh / value file system.
  • The data and model plotting tools that are freely available from UBC-GIF are made to help expedite inversion and forward modelling, NOT for building publication or commercial qualtity plots or maps. All users are expected to make use of other graphing tools for generating final high quality output images.
  • Error message "Could not find program DCINV2D" when running dcip2d-gui.exe
    • The utility program dcip2d-gui.exe is a graphical front end for UBC-GIF inversion program. The inversion program (and forward modelling codes) must be licensed. See our web page on licensing for details. dcip2d-gui.exe is provided on the web as an update to currently licensed users.
  • Can't run Mag3D GUI
    • Mag3dGUI is the graphical front end for the UBC-GIF inversion software, which carries out 3D inversion of magnetic data. It can not run unless the inversion program can be found in the same directory. You must have a licensed copy of the inversion code, and all executable programs must reside in the same directory. It is listed in the utilities area of the UBC-GIF website so that fully licensed users of inversion codes can download the latest version of the graphical user interface tools.
    • The tool that permits 3D visualization of models produced by inversion using UBC-GIF codes is MeshTools3D. It is a free utility available for downloading off our website.
  • Colour scales for data and model plots
    • The initial colour scales are determined by the minimum and maximum values of the data or model being plotted.
    • Use the Options menu, Min/Max option to change the colour scale.
    • To compare several different plots use this option to set consistent colour scales in all plots.
    • In DCIP2D you can choose between conductivity or resistivity, and between linear or log colour scales.
    • You can always have as many versions of any utility code running as you like.
  • Viewing DC resistivity / IP data as pseudosections
    • The UBC-GIF utility dcip2d-data-viewer can display 2D survey data gathered in the pole-pole, pole-dipole, or dipole-dipole configurations. Unfortunately other formats can not be viewed. See also above.
    • This utility and the necessary input file format is described in the program's manual.
  • MeshTools3D says you are missing a OPENGL32.DLL file.
    • If you are using Windows95 you may need to obtain this file from the microsoft website. The error should not appear with later versions of the Windows operating system.
  • Are conductivity models in units of S/m or log S/m?
    • See documentation for MeshTools3D, which has been slightly upgraded to address this confusion regarding whether conductivity model files are in units of log or linear S/m. 

Inversion theory

  • What is meant by “initial model”, and “reference model”?
    • See inversion code manuals under “input parameters” or similar headings
    • The initial model is a model of the earth compatible with the model type being produced by the inversion code (1D, 2D, or 3D) that is used to get the iterative inversion process started. It is usually a uniform value (of the relevant physical property), but it can be a more complex model. For example, when generating 2D models for data gathered along parallel lines, one successful result could be used as the initial model for inversion of data along an adjacent line, if you think the structures do not change very rapidly from line to line.
    • See also http://www.eos.ubc.ca/research/ubcgif/documentation/dcipgui/guicontrol.htm
    • The reference model is part of the model objective function. See section 4.1 (Model Objectives) of the Inversion Tutorial, or, for example, http://www.eos.ubc.ca/research/ubcgif/tutorials/invtutorial/objfun.html.
    • For the method used by DCIP2D to find it's default reference and initial models see notes above.
  • What does "model norm" mean?  It is displayed on the right scale of the data misfit curves display (DCIP2D).
    • Model norm is the value of the "model objective function" calculated on the current model. The value is representative of just how "smooth" and/or close to a reference, the model is.
    • The inversion algorithm's objective is to simultaneously minimize the model norm, subject to attaining acceptible data misfit.
    • This is a fundamental question regarding inversion theory and it is important for you to understand the essentials. Please read the tutorials on inversion theory that were supplied on your distribution CD.
  • What is DOI (depth of investigation)?
  • Should the target misfit always be met?
    • If an inversion converges, the resulting model is "valid" only in the sense that it is capable of reproducing your observations to the degree specified by your choice of Chifact and your choice of error for each datum. You could ask for models which generate predicted data that are closer and closer to your observations, until you reach a point where some details of the model structure are actually reproducing noise. Then your misfit is too close.
    • In fact, the program may be unable to converge if there are some data points that it is unable to reproduce (within the error specified for that point). If there are individual "bad" data points, they should either have large errors assigned to them individually, or you could drop them from the data set altogether. Observe the misfit map to see if there are individual troublesome data points.
    • For more on these issues see the tutorials.
  • Interpreting a complicated Earth with "smooth" models
    • Why "smooth" models?
      • The nonuniqueness of inversion is constrained in an unbiased, rigorous way when smoothness and closeness to a reference are the defining mathematical goals for the algorithm.  Recall that these programs allow you can specify the degree to which smoothness and closeness to a reference are honoured.
      • Also, when there is no prior information it makes sense to search for the simplest possible structure that can explain the data.
      • Now, with a decade of experience using these types of algorithms, there are several organizations researching other objective functions and minimization techniques that will address the nonuniqueness in ways that produce other types of models.
    • UBC-GIF inversion codes are very flexible because the model objective function can be adjusted to emphasis smoothness (in either geometric direction) or closeness to a reference; the reference itself can be as complicated or as simple as desired; and weightings can be applied. However, the minimization is always an L2-norm calculation so models will be inherently smooth.
    • Sometimes the Earth can be very "un-smooth", particularly in terms of electrical conductivity. It is possible to have adjacent geologic units that have electrical conductivities that vary by 4-5 orders of magnitude. Under such conditions DCIP2D may have trouble finding a model that can satisfy the observations, especially if it is forced to run with default parameters. The program may even quite after trying to produce a model that generates an impossible predicted data set. What to do?
      • Consider a larger Chifact (value of 5-10 perhaps) to get started.
      • Set your own value for the reference model, to something close to the higher resistivites of your situation (1000 Ohm-m for example).
      • Try adjusting alpha's so that smoothness in the horizontal (or vertical) direction is de-emphasized. For example, try (as, ax, az) = (.001, .001, 1), or (as, ax, az) = (1, .001, 1).
      • Build a model (using the dcip2d model maker utility) with your best estimate of structure based purely on interpretation of the pseudosection. Then use that as a reference model in the inversion.
      • Try combination of these ideas.
  • The Last Word in geophysical inversion: This is the last paragraph of Oldenburg and Li (1994), quoted verbatim.
    • "The important aspect of our inversion methodology is that the generic model objective function that is minimized provides great flexibility to generate different models. With a properly designed objective function it is possible to incorporate additional information about the distribution of conductivity or chargeability and to generate a model that is in accordance with geologic constraints. Such a model may be regarded as a best estimate for the true earth structure and can be used in a final interpretation. However, altering the objective function and carrying out additional inversions allows exploration of model space and provides an indication of which features are demanded by the data. These two aspects of constructing a most-likely model and exploring the range of acceptable models, form the foundation of a responsible interpretation."

[ Running codes | Meshs, data, errors | Inversion TheoryDCIP2D | MAG3D | GRAV3D | EM1DFM | MeshTools3D | top ]



ubcgif tiny logo UBC-GIF home
| Top