| |
Manual for running the program "EM1DFM"
Version 1.0
Developed under the IMAGE consortium research project
INVERSION AND MODELLING OF APPLIED GEOPHYSICAL ELECTROMAGNETIC
DATA
UBC - Geophysical Inversion Facility,
Department of Earth & Ocean Sciences,
University of British Columbia,
Vancouver, CANADA.
July, 2000.
|
Contents
Help for the Graphical User Interface
is provided on a separate page.
1. Overview
2. Theoretical background (basic outline and details
in separate documents)
3. Necessary files
3.1 Input files
3.1.1 Main input file
Examples
3.1.2 Observations file
3.1.3 Files for starting and reference models
(up to six)
3.1.4 File for additional model-norm weights;
3.2 Output files
3.2.1 Standard output (i.e., the screen);
3.2.2 The main output file
3.2.3 The final model(s)
3.2.4 Final forward-modelled data;
3.2.5 Final components of the objective function
3.2.6 Iteration-by-iteration one-dimensional models
for each sounding
3.2.7 Iteration-by-iteration forward-modelled data
for each sounding
3.2.8 Diagnostics for each iteration for each inversion
3.2.9 Misfit line search values
3.2.10 GCV function line search values
3.2.11 L-curve line search diagnostics
3.2.12 Diagnostics for LSQR subroutine
4. Stand-alone forward modelling program: "em1dfmfwd"
5. Utility codes
5.1 "ab1dcon"
5.2 "mkmodel"
5.3 "em1d3d"
6. Three examples
Note that the Graphical User Interface for EM1DFM has it's own help
file.
1. Overview
The name "EM1DFM" derives from: electromagnetics ("EM"), one-dimensional
models ("1D"), frequency-domain observations ("F"), and magnetic (dipole)
sources and receivers ("M"). This inversion program is designed to construct
one of four types of 1D models, using any type of geophysical frequency
domain loop-loop data using one of four variations of the inversion algorithm.
Observations
The observations are the inphase and/or quadrature components of
-
the secondary H-field normalized by the primary (i.e., free-space) field
in ppm, or
-
the secondary H-field normalized by the primary field in %, or
-
the secondary H-field in A/m, or
-
the total H-field in A/m.
Receiver coils can be oriented in x-, y- or z-directions, and they can
be at any position relative to their respective magnetic dipole transmitter.
Transmitters can be at any height, can be oriented in the x-, y- or z-
directions, and any frequency or set of frequencies may be involved. All
the observations (in any combination) to be used to construct the one-dimensional
model at a particular horizontal location are grouped together as one "sounding".
Measurement uncertainties can be in the same units as the observations
or as relative uncertainties in percent.
Inversion
The inversion program can construct ...
-
an electrical conductivity model (with magnetic susceptibility fixed),
or
-
a strictly-positive magnetic susceptibility model (with conductivity fixed),
or
-
both conductivity and strictly-positive susceptibility models, or
-
both conductivity and susceptibility (with no positivity constraint) models.
Models of the Earth are composed of many layers of uniform conductivity/susceptibility
with fixed interface depths. The value of the conductivity/susceptibility
in each layer is sought by the inversion. Multiple soundings can be handled
in a single run of the program. Each sounding is interpreted independantly
with a one-dimensional model produced under the sounding location. When
all soundings have been inverted, a composite two-dimensional model is
written out to facilitate interpretation of a line of soundings.
There are four variations of the inversion algorithm:
-
constant (user-supplied) trade-off parameter in the objective function
being minimized, or
-
the trade-off parameter is automatically chosen to achieve a user-supplied
target misfit, or
-
the trade-off parameter is automatically chosen using the generalized cross
validation (GCV) criterion, or
-
the trade-off parameter is automatically chosen using the L-curve criterion.
Full flexibility of the sum-of-squares measure of model structure is provided.The
balance between conductivity and susceptibility components is adjustable
(if both are active in the inversion). The balance between "flattest" and
"smallest" parts of both conductivity and susceptibility components is
also adjustable. Reference models can be included in either or both the
"smallest" and "flattest" parts, and additional user-supplied weighting
of the layers in the model can be incorporated.
Clearly, many permutations of model type, data type and algorithm choice
are possible, therefore the program is significantly more complexe to manage
than previous UBC-GIF inversion codes. Also, input file structures are
complicated in order to facilitate this flexibility.
Documentation is provided in four parts.
-
Background theory is provided in an Acrobat PDF document.
It summarizes the detailed mathematical basis of the forward modelling
and inversion algorithms.
-
The document you are reading now is the "Manual for Program EM1DFM". It
contains detailed descriptions of the main input file, the observations
file, model files, and output files and messages. There are also brief
descriptions of two utility programs and the independant forward modelling
program.
-
Examples are given showing application
of the inversion algorithm to synthetic and real field data sets.
-
The two components of the graphical user interface
(GUI) are described using two frames-based HTML documents.
- EM1DFM GUI
- 1D Model viewing utility
2. Background
Detailed background theory is provided in a separate PDF
document.
3. Input & Output Files
3.1 Input files
3.1.1 Main input file (Required, and called
"em1dfm.in")
This is the main input file containing the parameters specifying the model
and inversion algorithm types, the name of the file containing the observations,
and information specifying the various starting and reference models.
The structure of the file "em1dfm.in" is as follows. Click
the parameter name for details. Note that parameters vary depending on
exactly what type of inversion has been requested. Please read the specifications
very carefully.
| Line # |
Parameter(s) |
Description |
Comment |
| 1 |
rootname |
root for names of output files |
String with length <= 20 characters |
| 2 |
obsfname |
name of file containing the observations |
String with length <= 99 characters |
| 3 |
mtype |
type of model in the inversion |
|
| 3a |
stconfname |
starting conductivity model |
String with length <= 99 characters |
| 3b |
stsusfname |
starting susceptibility model |
String with length <= 99 characters |
| 3c |
rsconfname |
reference (smallest), or background, conductivity model |
String with length <= 99 characters |
| 3d |
rssusfname |
reference (smallest), or background, susceptibility model |
String with length <= 99 characters |
| 3e |
rzconfname |
reference (flattest) conductivity model |
String with length <= 99characters,
"NONE" if no ref model is supplied |
| 3f |
rzsusfname |
reference (flattest) susceptibility model |
String with length <= 99 characters,
"NONE" if no ref model is supplied |
| 4 |
NONE |
information about additional model weights |
String with length <= 99 characters |
| 5 |
DEFAULT acs acz ass asz |
coefficients of model norm components |
Real numbers >= 0 |
| 6 |
iatype |
type of inversion algorithm |
Integer |
| 7 |
iapara(s) |
additional inversion algorithm parameter(s) |
Real number(s) |
| 8 |
maxniters |
maximum number of iterations in an inversion |
Positive integer |
| 9 |
DEFAULT |
stretch factor for logarithmic barrier term |
Required if mtype=2,3; otherwise omit |
| 10 |
DEFAULT |
small number for convergence tests |
Positive real number |
| 11 |
DEFAULT |
number of explicit evaluations of Hankel transform kernels |
Integer |
| 12 |
outflg |
flag indicating amount of output |
Warning** |
** Set outflg = 2,or 3 only if very few soundings
are being processed.
|
See below for two examples.
NOTE: For all
file names and their paths, please avoid spaces. The Fortran 90 code can
not handle spaces in file names and paths to files. For example, do not
place programs under the "c:\Program Files" directory on a Windows
machine. This goes for all file names.
Input file details by line number:
-
line 1, rootname is the root for the names
of all output files.

-
line 2, obsfname is the name of the file
containing the observations (see section 3.1.2).

-
line 3, mtype indicates the type of model
in the inversion. Your choice here affects exactly what is required for
several other parameters, especially the starting and reference models.
Please check all parameter lines carefully.
-
mtype = 1 implies just conductivity is active in the inversion;
-
mtype = 2 implies just susceptibility (with positivity constrained
by means of a logarithmic barrier term) is active in the inversion;
-
mtype = 3 implies both conductivity and susceptibility are
active with susceptibility constrained to be positive;
-
mtype = 4 implies both conductivity and susceptibility are
active but with no constraints on the susceptibility;

-
line 3a, stconfname is the name of the
file containing the starting conductivity model (see section 3.1.3
for the format). Note: this can be a layers only file (layer thicknesses
but no conductivity column) if the best-fitting halfspace is to be used
as the starting model. See also the GUI instructions.,
section on "starting conductivity model".
-
Required if mtype = 1, 3 or 4;
-
omit if mtype = 2.

-
line 3b, stsusfname is the name of the
file containing the starting susceptibility model (see section 3.1.3
for the format).
-
Omit if mtype = 1.
-
For mtype=2: starting susceptibility model, OR
layers-only file (layer thicknesses but no susceptibility column) if the
best-fitting halfspace is to be used as the starting model.
-
For mtype=3, 4: starting susceptibility model, OR value
of halfspace susceptibility, OR "default" if
the best-fitting halfspace is to be used as the starting model. See also
the GUI instructions., section on "starting
susceptibility model".

-
line 3c, rsconfname is a file name (format
as for all models), OR a value for a halfspace OR "default"
if the best-fitting halfspace is to be used. This file or parameters is
used as:
-
the reference conductivity model for the smallest component
of the model norm (see section 3.1.3).
-
the background conductivity model if only susceptibility is active
in the inversion.
-
Required if mtype = 1, 3 or 4, and acs
> 0, or if
mtype = 2
-
Enter "none" if not required.

-
line 3d, rssusfname is a file name (format
as for all models), OR a value for a halfspace OR "default"
if the best-fitting halfspace is to be used. This file or parameters is
used as:
-
the reference susceptibility model for the smallest component
of the model norm (see section 3.1.3)
-
the background susceptibility model if only conductivity is active
in the inversion.
-
Required if
mtype = 2, 3 or 4, and ass
> 0, or if mtype = 1
-
Enter "none" if not required.

-
line 3e, rzconfname is a file name (format
as for all models), OR a value for a halfspace OR "default"
if the best-fitting halfspace is to be used. This file or parameters is
used as:
-
the reference conductivity model for the flattest component
of the model norm (see section 3.1.3).
-
optional for mtype = 1, 3, or 4. If such a model is supplied in
a file whose name is given here then it well be used in the inversion,
-
if "none" is given there will be no reference conductivity
model in the flattest component of the model norm.

-
line 3f, rzsusfname is a file name (format
as for all models), OR a value for a halfspace OR "default"
if the best-fitting halfspace is to be used. This file or parameters is
used as:
-
the reference susceptibility model for the flattest component
of the model norm (see section 3.1.3)
-
optional for mtype = 2, 3, or 4. If such a model is supplied in
a file whose name is given here then it well be used in the inversion,
-
If "none" is given there will be no reference susceptibility model
in the flattest component of the model norm.

-
line 4, either
-
"NONE" to indicate that no additional user-supplied weights are
to be provided for use in the model norm,
-
or the name of the file containing the additional weights for the model
norm (see section 3.1.4 for the format of this file).

-
line 5, Coefficients of model norm components:
-
if mtype = 1, the two parameters acs and
acz
are
required, or,
-
if
mtype = 2, the two parameters
ass
and asz
are
required, or,
-
if
mtype = 3 or 4 enter either:
-
the string "DEFAULT" and all four parameters acs
,
acz
,
ass
and
asz
are
required, or
-
the six parameters
Ac
,
As,
acs
,
acz
,
ass
and
asz,
where the value of Ac
is Ac in the expression for the
model norm below, the value of
As is As, the value of
acs
is
sc,
the value of acz is zc,
the value of ass is ss,
and the value of asz is zs:
-
line 6, iatype indicates the type of inversion
algorithm to be used,
-
iatype = 1 implies a fixed, user-supplied value for
the trade-off parameter,
-
iatype = 2 implies that the trade-off parameter will
be chosen by means of a line search so that a target misfit is achieved
(or, if this is not possible, then the smallest misfit),
-
iatype = 3 implies the trade-off parameter will be chosen
using the GCV criterion, and
-
iatype = 4 implies that the trade-off parameter will
be chosen using the L-curve criterion;

-
line 7, Parameters required by the specified
inversion algorithm:
-
if iatype = 1, the value of the trade-off parameter
is expected, or
-
if
iatype = 2, both the target misfit (in terms
of the factor chifac where the target misfit is chifac times
the total number of observations for the sounding) and the greatest allowed
decrease in the misfit at any one iteration are expected (in terms of
mfac
where
;
see eq (58) section 2.5.3 of the theory section), or
-
if
iatype = 3 or 4, the greatest allowed decrease
in the trade-off parameter at any one iteration (in terms of bfac where
n+1
= max( *,
bfac
x n);
see eq (62) of the theory section);
-
line 8, maxniters is the maximum number
of iterations to be carried out in an inversion;

-
line 9, Logarithmic barrier term stretch factor:
-
either "DEFAULT" can be entered to indicate that the default value
of 1 is to be used as the coefficient in the logarithmic barrier term,
or
-
some other value (a strictly positive real number) can be entered (only
required if mtype = 2 or 3);

-
line 10, "Small" number for convergence tests:
-
either "DEFAULT" can be entered to indicate that the default value
of 0.01 is to be used in the tests of convergence for an inversion, or,
-
if another value is desired, it can be entered on this line;

-
line 11, Number of explicit evaluations of Hankel
transform kernels:
-
either "DEFAULT" can be entered to indicate the kernel of the
Hankel transforms is to be explicitly evaluated the default number of times
( = 50), or,
-
if there are concerns about the accuracy of the Hankel transform computations,
a number greater than 50 can be entered on this line;

-
line 12, outflg is the flag indicating
the amount of output from the program. (WARNING: it is highly recommended
that outflg = 3 or 4 is NOT specified if there are more than a few
soundings to be inverted in a single run.)
-
outflg = 1 implies the output of a brief convergence
/ termination report for each sounding plus the final two-dimensional composite
model (cond &/or susc) for all the soundings, and the corresponding
forward-modelled data. If only one sounding is being considered the model(s)
are output in one-dimensional format.
-
outflg = 2 implies output as for outflg = 1 plus
an
iteration by iteration summary of the various components of the objective
function.
-
outflg = 3 implies output as for outflg = 2 plus
the
one-dimensional models and corresponding predicted data for each iteration
for each sounding. The diagnostics file is also produced.
-
outflg = 4 implies output as for outflg = 3 plus
any line-search information from misfit, GCV function or L-curve curvature
versus trade-off paramenter. Also produced is a diagnostics file for the
LSQR solution routine if it is used.

Two example input files:
eg 1:
test
test.obs
1
start.con
ref.con
back.sus
NONE
NONE
0. 1.
1
10.
15
DEFAULT
DEFAULT
3 |
! Root for output file names.
! Name of the observations file.
! Model type -- just conductivity.
! Starting conductivity model file.
! Reference conductivity model file.
! Background susceptibility model file.
! Reference (flattest) conductivity.
! Additional model weights.
! alpha s & alpha z.
! Type of inversion algorithm -- fixed trade-off param.
! The value of the trade-off parameter.
! Maximum number of iterations.
! Convergence test parameter.
! Number of evaluations of the Hankel transform kernel.
! Amount of output. |
|
eg 2:
hssmz
hssmz.obs
3
layers.dat
0.
DEFAULT
0.
NONE
NONE
NONE
DEFAULT 0.01 1. 0.01 1.
3
0.5
15
DEFAULT
DEFAULT
DEFAULT
1 |
! Root for output file names.
! Name of the observations file.
! Model type -- cond. & susc. (with posit.).
! Starting conductivity model.
! Starting susceptibility model.
! Reference conductivity model.
! Reference susceptibility model.
! Reference (flattest) conductivity.
! Reference (flattest) susceptibility.
! Additional model weights.
! Cond.-susc. balance, acs, acz, ass & asz.
! Type of inversion algorithm -- GCV.
! Max. decrease of trade-off param. at an iteration.
! Maximum number of iterations.
! Coefficient in log barrier term.
! Convergence test parameter.
! Number of evaluations of the Hankel transform kernel.
! Amount of output -- minimum. |
|
3.1.2 Observations file (Required)
Recall that you should avoid spaces for all file
names and their paths.
The file that contains the observations and all the survey parameters,
with five lines including parameters as follows:
-
the number of soundings;
-
the x- and y-coordinates of each sounding, and the number of frequencies
per sounding;
-
each frequency, and the number of transmitters for each frequency;
-
the dipole moment of each transmitter, their z-coordinates and orientations,
and the number of receivers for each;
-
the last line contains all of
-
the dipole moment of each receiver,
-
the transmitter-receiver separation in the x- and y-directions,
-
the z-coordinate and orientation of each receiver,
-
what type of normalization has been applied to the observations,
-
whether inphase and/or quadrature data are present,
-
the actual observed field values for this receiver, and
-
the type of uncertainties and their values.
The structure of the observations file is as follows. Click on the letter
labels for variable names, and for parameter details:
Line# Params
1 A
2 B C D
3 E F
4 G H I J
5 K L M N O P Q R S T
See example below, and also the separate set of examples.
Observations file parameter definitions:
-
A. nsounds
is
the number of soundings;

-
B. soundx_a(is)
is the x-coordinate of the isth sounding;

-
C. soundy_a(is)
is the y-coordinate of the isth sounding;

-
D. nfreqs_a(is)
is the number of frequencies for the isth sounding;

-
E. freq_a(if,is)
is the frequency (Hz) of the ifth frequency for the isth
sounding;

-
F. nt_a(if,is)
is the number of transmitters for the ifth frequency for the
isth sounding;

-
G. momt_a(it,if,is)
is the dipole moment (A m2) of the itth transmitter
for the ifth frequency for the isth sounding.
-
This number is used as a simple scaling within the program. If momt_a
= 2, then the forward-modelled observations are twice what they would be
if momt_a = 1;
-
See NOTE under momr_a(ir,it,if,is)
;

-
H. zt_a(it,if,is)
is the z-coordinate (metres, negative upwards from zero on the Earth's
surface) of the itth transmitter for the ifth frequency
for the isth sounding;

-
I. ot_a(it,if,is)
is the orientation of the itth transmitter for the ifth
frequency for the isth sounding ("x" for an x-directed
dipole, "y" for a y-directed dipole, and "z" for a vertical
(downward-directed) dipole);

-
J. nr_a(it,if,is)
is the number of receivers for the itth transmitter for the
ifth frequency for the isth sounding;

-
K. momr_a(ir,it,if,is)
is a scale factor for the irth receiver for the itth
transmitter for the ifth frequency for the isth sounding
which allows the incorporation of any necessary parameters of the receiver
that might mean the observations are not simply point measurements of the
H-field.
-
An example of necessary paramenters could be coil area and/or number of
turns and/or orientation (e.g., momr_a = -1
for an upward-pointing z-directed receiver dipole).
-
This number simply appears as a scale factor within the code - if
momr_a
= 2, then the forward-modelled observations are twice what they would be
if momr_a = 1;
-
NOTE: Some common data formats (such as DIGEM coaxial data - not
coplanar data) require momr_a = -1 to make these data compatible
with the normalization convention used by EM1DFM. The first example
requires this type of normalization;

-
L. trx_a(ir,it,if,is)
is the transmitter-receiver separation (m) in the x-direction between the
irth receiver and the itth transmitter for the ifth
frequency for the isth sounding;

-
M. try_a(ir,it,if,is)
is the transmitter-receiver separation (m) in the y-direction between the
irth receiver and the itth transmitter for the ifth
frequency for the isth sounding;

-
N. zr_a(ir,it,if,is)
is the z-component (metres, negative upwards from zero on the Earth's surface)
of the irth receiver for the itth transmitter for
the ifth frequency for the isth sounding;

-
O. or_a(ir,it,if,is)
is the orientation of the irth receiver for the itth
transmitter for the ifth frequency for the isth sounding.
-
"x" for an x-directed dipole,
-
"y" for a y-directed dipole, and
-
"z" for a vertical (downward-directed) dipole;
-
P. ontype_a(ir,it,if,is)
is the type of normalization of the data/datum for the irth
receiver for the itth transmitter for the ifth frequency
for the isth sounding.
-
ontype_a = 1 indicates the data are values in ppm of
the secondary magnetic field normalized by the free-space magnetic field,
-
ontype_a = 2 indicates the data are values in % of the
secondary magnetic field normalized by the free-space magnetic field,
-
ontype_a = 3 indicates the data are values of the secondary
H-field in A/m, and
-
ontype_a = 4 indicates the data are values of the total
H-field in A/m;

-
Q. octype_a(ir,it,if,is)
Observation type for the irth receiver for the itth
transmitter for the ifth frequency for the isth sounding:
-
octype_a = "b" indicates both inphase and quadrature
observations are present ,
-
octype_a = "i" just the inphase observation
is present,
-
octype_a = "q" just the quadrature datum.

-
R. obs_a(ir,it,if,is)
is the pair of inphase and quadrature observations, or just the inphase
observation, or just the quadrature observation, for the irth
receiver for the itth transmitter for the ifth frequency
for the isth sounding;

-
S. utype_a(ir,it,if,is)
indicates the form in which the uncertainties are provided for the irth
receiver for the itth transmitter for the ifth frequency
for the isth sounding
-
utype_a = "v" for absolute uncertainties in
the same units as the observations, and
-
utype_a = "p" percentage uncertainties.

-
T. uncert_a(ir,it,if,is)
is the pair of uncertainties for the inphase and quadrature observations,
or the uncertainty in just the inphase observation, or the uncertainty
in just the quadrature observation, for the irth receiver for
the itth transmitter for the ifth frequency for the
isth sounding.

Observations File Discussion:
This structure of the observations file is designed to be as general
as possible, enabling the program to handle any conceivable survey configuration.
The lines in the file form a series of nested loops. Repetition occurs
over the indices
ir = 1,¼, nr_a(it,if,is);
it = 1,¼, nt_a(if,is);
if = 1,¼, nfreq_a(is);
and is = 1,¼, nsounds.
In other words,
-
line 5 is repeated for each receiver for a particular transmitter for a
particular frequency for a particular sounding;
-
line 4 and the associated line(s) 5 are repeated for each transmitter for
a particular frequency for a particular sounding;
-
line 3 and the associated line(s) 4 and line(s) 5 are repeated for each
frequency for a particular sounding; and
-
line 2 and the associated line(s) 3, line(s) 4 and line(s) 5 are repeated
for each particular sounding.
All the information for a particular receiver is expected on the same single
line in the file.
Example observations file for a single sounding:
1
0. 0. 5
880. 1
1. -40. z 1
1. 8.1 0. -40. z 1 b 2.474 30.29 v 1.00 1.58
7213. 1
1. -40. z 1
1. 8.1 0. -40. z 1 b 75.52 203.4 v 3.94 9.92
55840. 1
1. -40. z 1
1. 6.3 0. -40. z 1 b 261.2 208.3 v 13.2 11.0
5848. 1
1. -40. x 1
-1. 8.1 0. -40. x 1 b 13.44 43.13 v 1.00 2.12
1082. 1
1. -40. x 1
-1. 8.1 0. -40. x 1 b 2.035 10.93 v 1.00 1.00
|
This would be the observations file for a single sounding (that is, a single
one-dimensional model) at x = 0 m, y = 0 m for
an airborne-type configuration.
-
There are three frequencies for the horizontal coplanar loop configuration
(880, 7213, 55840 Hz);
-
a z-directed magnetic dipole transmitter (dipole moment =
1 A m2) and receiver (dipole moment =
1 A m2) for each frequency separated by 8.1 m, 8.1 m and
6.3 m respectively in the x-direction, 0 m in the y-direction;
-
both transmitter and receiver for each frequency are at a height of 40
m above the Earth's surface,
-
There are two frequencies for the coaxial loop configuration (5848 and
1082 Hz);
-
an x-directed magnetic dipole transmitter (dipole moment =
1 A m2) and receiver (dipole moment = -1
A m2) for both frequencies separated by 8.1 m in the x-direction
and 0 m in the y-direction;
-
both transmitter and receiver for each frequency are at a height of 40
m above the Earth's surface.
-
The observations are values of the secondary magnetic field normalized
by the free-space field and expressed in terms of parts-per-million (ppm).
-
Both inphase and quadrature components of the field are supplied.
-
The uncertainties are expressed in absolute terms in the same units as
the observations (i.e., ppm).
Example observations file for EM-31 data for two soundings
2
60.0 0. 1
9800. 4
1 -1.0 z 1
-1. 3.66 0.0 -1.0 z 2 q -0.6613E+01 v 0.3307E+00
1 -1.0 y 1
-1. 3.66 0.0 -1.0 y 2 q -0.5286E+01 v 0.2643E+00
1 -0.05 z 1
-1. 3.66 0.0 -0.05 z 2 q 0.8821E+01 v 0.4410E+00
1 -0.05 y 1
-1. 3.66 0.0 -0.05 y 2 q 0.9712E+01 v 0.4856E+00
60.0 -10.0 1
9800. 4
1 -1.0 z 1
-1. 3.66 0.0 -1.0 z 2 q -0.6665E+01 v 0.3332E+00
1 -1.0 y 1
-1. 3.66 0.0 -1.0 y 2 q -0.4623E+01 v 0.2311E+00
1 -0.05 z 1
-1. 3.66 0.0 -0.05 z 2 q -0.9256E+01 v 0.4628E+00
1 -0.05 y 1
-1. 3.66 0.0 -0.05 y 2 q -0.8282E+01 v 0.4141E+00
|
This would be the observations file for EM31-type data for two soundings,
-
Sounding locations are at x = 60 m & y = 0
m and x = 60 m & y = -10
m.
-
There is one frequency (9.6 kHz),
-
There are four instrument positions:
-
at waist height (1 m) and on the ground (0.05 m),
-
held both normally (vertical transmitter and receiver coil axes) and on
its side (horizontal coil axes).
-
The transmitter and receiver coils are separated by 3.66 m in the x-direction.
Only the quadrature part of the normalized secondary H-field (in %) is
provided as data,
-
The uncertainties are absolute in %.
3.1.3 Files for reference and starting models
Starting conductivity model file (Required if mtype
= 1, 3 or 4)
This is the file containing the starting conductivity model for all soundings
if conductivity is active in the inversion. The relevant quantities are
the number of layers, and the thickness (m) and conductivity (S/m) of each
layer. A dummy value for the thickness of the basement halfspace is required
in this file, but nothing is ever done with it after it is read in. If
conductivity is active in the inversion, it is from this file that the
program gets the number of layers and their thicknesses, which then must
be the same for all other models read in by the program. This file is therefore
required for mode mtype = 1, 3 or 4 (i.e. conductivity
is active in the inversion).
This file can also be a layers-only file to indicate that the best-fitting
halfspace is to be used as the starting model. See also the input
file specifications.
The structure of this file is as follows (just as for all 1D model files).
For a layers-only file the conductivity column is left blank.
| nlayers |
|
| thicks_a(1) |
con_a(1) |
| thicks_a(2) |
con_a(2) |
| . . . |
|
| thicks_a(nlayers-1) |
con_a(nlayers-1) |
| 0. |
con_a(nlayers) |
|
-
nlayers is the number of layers in the model,
-
thicks_a(j) is the thickness in metres of the jth layer
and
-
con_a(j) is the conductivity in S/m of the jth layer.
Here is an example:
12
4.7987
5.0994
5.7584
6.9101
8.8117
11.941
17.194
26.311
42.785
73.931
135.76
0.0 |
0.30E-03
0.30E-03
0.30E-03
0.30E-03
0.30E-03
0.30E-03
0.30E-03
0.30E-03
0.30E-03
0.30E-03
0.30E-03
0.30E-03 |
|
This would be the file for a conductivity model made up of 12 layers
(including the basement halfspace). The thicknesses of the first eleven
layers increase from 4.7987 m to 135.76 m. This model is a homogeneous
halfspace of 0.3 milliSeimens per m.
Starting susceptibility model file (Required
if mtype = 2)
This file contains the starting susceptibility model for all soundings
if susceptibility is active in the inversion. The file contains the number
of layers, and the thickness (m) and susceptibility (SI units) of each
layer. A dummy value for the thickness of the basement halfspace is required,
but nothing is done with it after it is read in.
If only susceptibility is active (i.e., mtype =
2), the inversion program gets it's information about the number of layers
in the model and their thicknesses from this file. If both conductivity
and susceptibility are active (i.e., mtype = 3
or 4), the program gets the number of layers and their thicknesses from
the starting conductivity model - see above.
All other models (e.g., reference models) read in must then have the same
number of layers with exactly the same thicknesses.
The structure of this file is as follows (just as for all 1D model files).
For a layers-only file the susceptibility column is left blank.
| nlayers |
|
| thicks_a(1) |
sus_a(1) |
| thicks_a(2) |
sus_a(2) |
| . . . |
|
| thicks_a(nlayers-1) |
sus_a(nlayers-1) |
| 0. |
sus_a(nlayers) |
|
-
nlayers is the number of layers in the model,
-
thicks_a(j) is the thickness in metres of the jth layer
and
-
sus_a(j) is the susceptibility in SI units of the jth layer.
File for reference conductivity model (for smallest
model component) (Optional)
The parameter describing the reference conductivity model for the smallest
component of the model norm if one is required for the inversion, or describing
the reference conductivity model if only susceptibility is active in the
inversion. The parameter is either "NONE", OR a file OR
a value for a halfspace OR "default" if the best-fitting
halfspace is to be used. It is required if mtype
= 1, 3 or 4 and acs > 0, or if mtype
= 2. If a file is used, it must have the same format as the
starting conductivity model file (see above), and
it must have the same number of layers with exactly the same thicknesses
as the starting conductivity and/or susceptibility model.
File for reference susceptibility model (for smallest
model component) (Optional)
The parameter describing the reference susceptibility model for the smallest
component of the model norm if one is required for the inversion, or describing
the reference susceptibility model if only conductivity is active in the
inversion. That is, this model is required if mtype
= 2, 3 or 4 and ass > 0, or if mtype
= 1. The parameter is either "NONE", OR a file OR
a value for a halfspace OR "default" if the best-fitting
halfspace is to be used. If a file is used, it must be in the same
format as all model files (see above), and must have
the same number of layers with exactly the same thicknesses as the starting
conductivity and/or susceptibility model.
File for reference conductivity model (for flattest
model component) (Optional - not available in the GUI)
The parameter describing the reference conductivity model for the flattest
component of the model norm if one is required for the inversion. Whether
or not this parameter is specified in "em1dfm.in" determines whether
or not such a reference model plays a part in the inversion. The parameter
is either "NONE", OR a file OR a value for a halfspace
OR
"default" if the best-fitting halfspace is to be used. If
a file is used, it must be in the same format as the starting conductivity
model file (see section
above), and must have the
same number of layers with exactly the same thicknesses as the starting
conductivity and/or susceptibility model.
File for reference susceptibility model (for flattest
model component) (Optional - not available in the GUI)
The parameter describing the reference susceptibility model for the flattest
component of the model norm if one is required for the inversion. Whether
or not this parameter is specified in "em1dfm.in" determines whether
or not such a reference model plays a part in the inversion. The parameter
is either "NONE", OR a file OR a value for a halfspace
OR
"default" if the best-fitting halfspace is to be used. If
a file is used, it must be in the same format as the starting susceptibility
model file (see section
above), and must have the
same number of layers with exactly the same thicknesses as the starting
conductivity and/or susceptibility model.
3.1.4 File for additional model-norm weights(Optional)
The file containing the information about the additional weighting of the
layers for some or all of the four possible components of the model norm:
smallest and flattest components for conductivity and susceptibility.
-
The first line of this file must contain two (if mtype
= 1 or 2) or four (if
mtype = 3 or 4) integers
(which can either have the value 0 or 1) to indicate that weights are being
supplied for use in the two or four components of the model norm
-
e.g., "1 0" for mtype = 1 implies that additional
weights are supplied for use in the smallest component of the model norm
but not the flattest component for only conductivity active in the inversion;
-
"1 0" for mtype = 2 implies that additional weights
are supplied for use in the smallest component of the model norm but not
the flattest component for only susceptibility active in the inversion;
-
"1 0 1 0" for mtype = 3 or 4 implies that additional
weights are supplied for both the smallest component of the conductivity
portion of the model norm and the smallest component of the susceptibility
portion of the model norm, but not for the flattest components, when both
conductivity and susceptibility are active in the inversion.
-
The second line of this file must contain the number of layers in the model.
The order of the four possibilities must be the same as shown below, with
any set of weights that is not needed by the program simply omitted.
ics icz iss isz
nlayers
(uswcs_a(j), j = 1, ...,
nlayers
)
(uswcs_a(j), j = 1, ...,
nlayers
)
(uswss_a(j), j = 1, ..., nlayers)
(uswcz_a(j), j = 1, ..., nlayers-1)
(uswsz_a(j), j = 1, ...,
nlayers-1) |
-
ics, icz, iss & isz are the four
integers that indicate the presence of weights for the smallest and flattest
components of the model norm for conductivity and the smallest and flattest
components of the model norm for susceptibility (if
mtype = 2,ics
& icz are omitted),
-
nlayers is the number of layers in the model;
-
uswcs_a(j) is the weight for the jth layer in the smallest
component of the conductivity portion of the model norm;
-
uswss_a(j) is the weight for the jth layer in the smallest
component of the susceptibility portion of the model norm;
-
uswcz_a(j) is the weight for the difference between the
jth and (j+1)th layers in the flattest component of the conductivity component
of the model norm; and
-
uswsz_a(j) is the weight for the difference between the
jth and (j+1)th layers in the flattest component of the susceptibility
component of the model norm.
The supplied weights must be greater than zero. A weight greater than one
increases the weight relative to the default setting, and a weight less
than one decreases the weight relative to the default setting
3.2 Output files
Recall that you should avoid spaces for all file
names and their paths.
3.2.1 Standard output (i.e., the screen) (Always)
Reports on the progress of the inversion are written to the standard output
(usually the screen). The amount of this output depends on the value of
outflg
(see
line 12 of the input file). Any error messages generated by the program
will also be written to the standard output, and also to the file "em1dfm.out",
which is described next.
Example of output messages:
We use here the first input file example "em1dfm.in"
from section 3.1.1, and the first observations file example
from section 3.1.2. Our starting conductivity file is the one from section
3.1.3, and the reference models were: conductivity =10-4
S/m and susceptibility = 0 SI units. Since outflg = 3, the following
was written to the standard output:
PROGRAM "EM1DFM" (v1.0).
Start at 17:34:57.344, 28/06/2000.
Sounding 1 (0.0,0.0).
Initial phid= 2080.0, beta= 10.000, phim= 0.0000, Phi= 2080.0.
Iteration 1: phid= 1168.7, beta= 10.000, phim= 0.19895, Phi= 1170.7.
Iteration 2: phid= 736.22, beta= 10.000, phim= 0.18341, Phi= 738.06.
Iteration 3: phid= 380.57, beta= 10.000, phim= 0.24765, Phi= 383.05.
Iteration 4: phid= 114.11, beta= 10.000, phim= 0.30980, Phi= 117.20.
Iteration 5: phid= 12.815, beta= 10.000, phim= 0.15531, Phi= 14.368.
Iteration 6: phid= 6.2389, beta= 10.000, phim= 0.18378, Phi= 8.0767.
Iteration 7: phid= 6.0415, beta= 10.000, phim= 0.13129, Phi= 7.3544.
Iteration 8: phid= 5.6881, beta= 10.000, phim= 0.15350, Phi= 7.2230.
Iteration 9: phid= 5.7826, beta= 10.000, phim= 0.14203, Phi= 7.2029.
Convergence.
Final conductivity model written to "test.con".
Predicted data written to "test.prd".
The End! [17:35:52.387, 28/06/2000]
|
This shows the iteration-by-iteration variation of the components of
the objective function: the misfit, the trade-off parameter, the model
norm and the complete objective function.
For exactly the same example, but for outflg =
1, the output gives only a summary of the final state of the inversion.
Note that the final values of the components of the objective function
are also printed out.
PROGRAM "EM1DFM" (v1.0).
Start at 17:43:57.855, 28/06/2000.
Sounding 1 (0.0,0.0).
Convergence: n= 9, phid= 5.7826, beta= 10.000, phim= 0.14203, Phi=
7.2029.
Final conductivity model written to "test.con".
Predicted data written to "test.prd".
The End! [17:44:50.798, 28/06/2000]
|
The possible status messages, and their explanation are as follows:
|
Status message
|
Explanation
|
| Convergence |
Convergence according to the criteria given in eqs. 68 & 69 of
the document "Background for Program EM1DFM". That is,
the relative change in the objective function from one iteration to the
next and the relative change in the model norm are less than the convergence
parameter on line 10 of the input parameter file. |
| Convergence (small gradient). |
Convergence according to the criterion given in eq. 70 of the document
"Background for Program EM1DFM". That is, the gradient
is essentially zero. |
| Target misfit not attained: convergence to minimum |
For inversion algorithm 2 the target misfit could not be reached, but
convergence to the minimum misfit has occurred. |
| No suitable step found. |
No step length was found that decreased the objective function, even
after being decreased by a factor of 2*nnmax. See eq. 55
in section 2.5 of the document "Background for Program EM1DFM".
See also the diagnostics file, section 3.2.8. |
| Max number of iterations done without convergence. |
The convergence criteria have not been satisfied in the specified
maximum number of iterations. |
| Starting susceptibilities reset because of small values. |
When positivity is being enforced, the starting values of the susceptibilities
are bumped up to be at least 0:001 SI units. |
The possible parameters that could be listed (next to "convergence"
in the above example) are:
3.2.2 The main output file (Always, and called
"em1dfm.out")
This file contains a copy of all the progress reports that are written
to the standard output (see section 3.2.1 above).
The extent of these reports depends on the parameter
outflg(see
line 12, section 3.1.1). In addition, a summary of
the inputs read in by the program are printed at the top of this file.
For the first example given in section
3.2.1
above, the file "em1dfm.out"
is:
PROGRAM "EM1DFM" (v1.0).
Run started at 11:57:59.223, 29/06/2000.
Reading inputs . . .
Filename root:
Number of soundings:
Observations file:
Model type:
Starting conductivity file:
Ref. (small.) cond. file:
Background susc. file:
Ref. (flat.) cond. file:
Additional model weights:
alpha s:
alpha z:
Inversion algorithm:
Supplied trade-off parameter:
Max. number of iterations:
Convergence param. (default):
No. of lambdas (default):
Level of output:
Finished reading inputs. |
"test".
1.
"test.obs".
1 (conductivity).
"start.con".
"ref.con".
"back.sus".
NONE.
NONE.
0.00.
1.00.
1 (fixed trade-off parameter).
10.00.
15.
0.100E-01.
50.
3. |
Sounding 1 (0.0,0.0).
Initial phid= 2080.0, beta= 10.000, phim= 0.0000, Phi= 2080.0.
Iteration 1: phid= 1168.7, beta= 10.000, phim= 0.19895, Phi= 1170.7.
Iteration 2: phid= 736.22, beta= 10.000, phim= 0.18341, Phi= 738.06.
Iteration 3: phid= 380.57, beta= 10.000, phim= 0.24765, Phi= 383.05.
Iteration 4: phid= 114.11, beta= 10.000, phim= 0.30980, Phi= 117.20.
Iteration 5: phid= 12.815, beta= 10.000, phim= 0.15531, Phi= 14.368.
Iteration 6: phid= 6.2389, beta= 10.000, phim= 0.18378, Phi= 8.0767.
Iteration 7: phid= 6.0415, beta= 10.000, phim= 0.13129, Phi= 7.3544.
Iteration 8: phid= 5.6881, beta= 10.000, phim= 0.15350, Phi= 7.2230.
Iteration 9: phid= 5.7826, beta= 10.000, phim= 0.14203, Phi= 7.2029.
Convergence.
Conductivity model: "test.con".
Predicted data: "test.prd".
Diagnostics: "test 001.dgns".
The End! [11:59:26.530, 29/06/2000]
For the second example given in section 3.2.1 above,
for outflg = 1, the file "em1dfm.out" is:
PROGRAM "EM1DFM" (v1.0).
Run started at 17:43:57.893, 28/06/2000.
Reading inputs ...
Filename root:
Number of soundings:
Observations file:
Model type:
Starting conductivity file:
Ref. (small.) cond. file:
Background susc. file:
Ref. (flat.) cond. file:
Additional model weights:
alpha s:
alpha z:
Inversion algorithm:
Supplied trade-off parameter:
Max. number of iterations:
Convergence param. (default):
No. of lambdas (default):
Level of output:
Finished reading inputs. |
"test".
1.
"test.obs".
1 (conductivity).
"start.con".
"ref.con".
"back.sus".
NONE.
NONE.
0.00.
1.00.
1 (fixed trade-off parameter).
10.00.
15.
0.100E-01.
50.
1. |
Finished reading inputs.
Sounding 1 (0.0,0.0).
Convergence: n= 9, phid= 5.7826, beta= 10.000, phim= 0.14203, Phi=
7.2029.
Conductivity model: "test.con".
Predicted data: "test.prd".
The End! [17:44:50.798, 28/06/2000]
For the possible listed quantities, see section 3.2.1.
Any error messages generated by the program because of premature termination
are written to this file as well as to the standard output.
3.2.3 The final model(s) (Always)
If only a single sounding is being inverted,
-
the final one-dimensional conductivity model (if conductivity is active
in the inversion, i.e., mtype = 1, 3 or 4) will
be written to the file "rootname.con". It has the same
format as the input one-dimensional conductivity models (see section 3.1.3),
-
the final one-dimensional susceptibility model (if susceptibility is active
in the inversion, i.e., mtype = 2, 3 or 4) will
be written to the file "rootname.sus". It has the same
format as the input one-dimensional susceptibility models (see section
3.1.3).
If two or more soundings are being inverted, the final one-dimensional
conductivity models for all soundings (if conductivity is active in the
inversion) are written to the file "rootname_ con.mod",
and the final one-dimensional susceptibility models for all soundings (if
susceptibility is active in the inversion) are written to the file "rootname_
sus.mod". The structure of these files is as follows:
Number of layers: nlayers
Layer thicknesses (m): thicks_a(1) . .
. thicks_a(nlayers-1)
Number of soundings: nsounds
Sounding x- & y-coordinates, Conductivities (S/m)
...
soundx_a(1) soundy_a(1) val_a(1,1)
. . . val_a(nlayers,1)
. . .
soundx_a(nsounds) soundy_a(nsounds)
val_a(1,nsounds)
. . . val_a(nlayers,nsounds) |
-
nlayers is the number of layers in the one-dimensional models for
all soundings,
-
thicks_a(j), j = 1, . . ., nlayers-1,
are the thicknesses of the layers in the one-dimensional models,
-
nsounds
is the number of soundings,
-
soundx_a(i) and
soundy_a(i), i = 1, . . .,
nsounds,
are the x- and y-coordinates of the soundings, and
-
val_a(j,i) is the value of the model (either conductivity in S/m
or susceptibility in SI units) in the jth layer for the ith soundings.
If susceptibility is being written out, then "Conductivities (S/m)"
on line 4 is replaced with "Susceptibilities (SI units)". The
final model(s) for each sounding are appended to this/these file(s) as
soon as the inversion for each sounding has completed.
3.2.4 The final forward-modelled data (Always)
The forward-modelled data for the final model is written to the file "rootname.prd".
The format for this file is the same as that for the input observations
file (see section 3.1.2 above), but without the information
about the uncertainties. The data for each sounding are appended to this
file as soon as the inversion for each sounding has completed.
3.2.5 Final components of the objective function
(Always if nsounds > 1)
If there are more than one sounding, the components of the objective function
(see section 2.5.1 of the document "Background for "EM1DFM")
for the final model for each sounding are written out to the file "rootname_
phis.out".
All information for a sounding is written on one line in this file. The
possible column headings are:
x
y
phid
beta
phim
gamma
phiLB
Phi
phim con
phim sus |
The x-coordinate of the sounding.
The y-coordinate of the sounding.
The misfit.
The trade-off parameter.
The model norm.
The coefficient of the logarithmic barrier term.
The logarithmic barrier term.
The whole objective function.
The conductivity part of the model norm.
The susceptibility part of the model norm. |
The values are appended to this file on completion of the inversion
for each sounding.
.
3.2.6 Iteration-by-iteration one-dimensional models
for each sounding (If outflg >= 3)
If outflg >= 3, the one-dimensional conductivity
and/or susceptibility model(s) obtained at each iteration in the inversion
for each sounding are written out.
-
The conductivity models are written to the files "rootname_ isound_
iter.con"
where isound is the number of the sounding and iter is the
number of the iteration (iter = 0 indicates the
starting conductivity model). These files have the same format as the input
conductivity files (see section 3.1.3).
-
The susceptibility models are written to the files "rootname_ isound_
iter.sus"
where isound is the number of the sounding and iter is the
number of the iteration (iter = 0 indicates the
starting susceptibility model). These files have the same format as the
input susceptibility files (see section 3.1.3).
-
If only conductivity is active in the inversion, the background susceptibility
is written out to the file "rootname_ isound.sus".
-
If only susceptibility is active in the inversion, the background conductivity
is written out to the file "rootname_ isound.con".
3.2.7 Iteration-by-iteration forward-modelled data
for each sounding (If outflg >= 3)
If outflg >= 3, the forward-modelled data
for each iteration for each sounding are written out to the files "rootname_isound_iter.dprd"
where
isound is the number of the sounding and iter is the
number of the iteration (iter = 0 indicates the
forward-modelled data for the starting model). The data are written out
as they are ordered in the input observations file, but with none of the
survey parameters. The observations (including their uncertainties) for
each sounding are also written out in this format to the file "rootname_
isound.dobs".
3.2.8 Diagnostics for each iteration for each inversion
(If outflg >= 3)
If outflg >= 3, the values of all the interesting
quantities at each iteration for each sounding are written to the file(s)
"rootname_ isound.dgns", where isound is
the number of the sounding. The possible quantities in these files are
summarized in the following table. References to equations are from section
2.5 of the document "Background for "EM1DFM".
| tau |
The convergence parameter (see eqs. 68 & 69 ). |
| epsilon |
The small number against which the norm of the gradient is compared
(eq. 70) |
| nnmax |
The max. number of times the step length can be halved. |
| Iter |
Iteration number. |
| normg |
The norm of the gradient. |
| phid |
The misfit. |
| beta |
The trade-off parameter. |
| phim |
The model norm. |
| gamma |
The coefficient of the logarithmic barrier term. |
| phiLB |
The logarithmic barrier term. |
| Phi |
The whole objective function. |
| (Phi) |
Previous objective function: previous d
, m
& LB
and current
& gamma. See eq. (57). |
| lambda |
The step length. |
| normdm |
The norm of the change in the model |
| normm |
The norm of the model. |
|
The same status message as that written to the standard output and em1dfm.out
is also written to this file.
3.2.9 Misfit line search values (If
outflg
= 4 and iatype = 2)
If outflg = 4, and iatype = 2 (i.e., a line search
over the misfit is used at each iteration to choose the trade-off parameter
- see section 2.5.3 of the document "Background for "EM1DFM"),
the values of the trade-off parameter and the corresponding values of the
misfit during each line search at each iteration of each inversion are
written to the file "phidvsbeta". There is just a single such
file for a whole run of the program with information from each iteration
separated by pairs of dashed lines. Note that the pairs of values of the
trade-off parameter and misfit are written out in the order in which they
are computed during the line search: they are not re-ordered.
3.2.10 GCV function line search values (If
outflg
= 4 and iatype = 3)
If outflg = 4, and iatype = 3 (i.e., a line search
over the GCV function is used at each iteration to choose the trade-off
parameter - see section 2.5.4 of the document "Background for "EM1DFM"),
the values of the trade-off parameter and the corresponding values of the
GCV function during each line search at each iteration of each inversion
are written to the file "GCVvsbeta". There is just a single such
file for a whole run of the program with information from each iteration
separated by pairs of dashed lines. Note that the pairs of values of the
trade-off parameter and GCV function are written out in the order in which
they are computed during the line search: they are not re-ordered.
3.2.11 L-curve line search diagnostics (If
outflg
= 4 and iatype = 4)
If outflg = 4, and iatype = 4 (i.e., a line search over the
curvature of the L-curve is used at each iteration to choose the trade-off
parameter - see section 2.5.5 of the document "Background for "EM1DFM"),
the values of the trade-off parameter and the corresponding values of the
linearized misfit and the model norm during each line search at each iteration
of each inversion are written to the file "phisvsbeta", and the
values of the trade-off parameter and the corresponding values of the curvature
computed in log-log/linear space are written to the files "curlovsbeta"/"curvlivsbeta".
There is just a single version of each of these files for a whole run of
the program with the information for each iteration separated from that
for others by pairs of dashed lines.
3.2.12 Diagnostics for LSQR subroutine (If
outflg
= 4)
If outflg = 4, diagnostics are written out from
Saunder's LSQR subroutine to the file "lsqr.out". Warning:
this file can become very large very quickly if there is more than one
sounding.
4. The forward-modelling program "EM1DFMFWD"
The program "EM1DFMFWD" provides a means of forward-modelling
a data-set for given layered conductivity and susceptibility models. It
uses exactly the same algorithm as that used within program
EM1DFM
(see section 2.3 in the document "Background for "EM1DFM").
The option of adding Gaussian random noise to the forward-modelled data
is available. Four input files, which are described below, are required:
a control file "em1dfmfwd.in", a file containing the
frequencies, and transmitter and receiver locations and orientations (in
nearly the same format as an observations file for program
EM1DFM),
and two files with the layered conductivity and susceptibility models for
which the forward modelling is desired (in the format for program EM1DFM).
Recall that you should avoid spaces for all
file names and their paths.
Control file em1dfmfwd:
| Line # |
Parameter |
Explanation |
Comment |
| 1 |
obstypefname |
name of file containing the survey parameters; |
Character string of length < = 99 |
| 2 |
confname |
conductivity model; |
Character string of length < = 99 |
| 3 |
susfname |
susceptibility model; |
Character string of length < = 99 |
| 4 |
nlambdas |
number of explicit evaluations of Hankel transform kernels; |
integer > = 50 |
| 5 |
nchar |
flag indicating if noise is to be added; |
Character string of length = 1 |
| 5a |
perc thre seed |
percentage, threshold and seed. |
real #, real #, pos integer |
|
Control file parameter definitions:
-
obstypefname is the name of the file containing
the frequencies, and the transmitter and receiver orientations and relative
positions - this file has exactly the same format as an observations file
for program EM1DFM (see the EM1DFM manual section 3.1.2),
but excluding the actual observations and uncertainties;

-
confname is the name of the file containing the
conductivity model in the same format as all one-dimensional models for
program EM1DFM (see the EM1DFM manual section 3.1.3)
;

-
susfname is the name of the file containing the
susceptibility model (with the same number of layers and same layer thicknesses
as the conductivity model) in the same format as all one-dimensional models
for program EM1DFM (see the EM1DFM manual section 3.1.4)
;

-
nlambdas is the number of values of
at which the kernels of the Hankel transforms are explicitly computed; 
-
nchar indicates whether Gaussian noise is to be
added to the forward-modelled data: nchar = "y"
indicates yes, nchar = "n" indicates
no;
-
(not required if nchar = "n"),
-
perc is the percentage of the absolute value of a datum that is
used as the standard deviation of the noise added to that datum,
-
thre is the minimum value (in the same units as the forward-modelled
data are to be output) of the standard deviation of the noise to be added
to any datum, and
-
seed is a positive integer used as the seed in the random number
generator (the same seed will give the same sequence of random numbers:
different seeds will give different sequences).

EM1DFMFWD output
The output from program EM1DFMFWD is a file called "em1dfmfwd.out".
It is either in the same format as the predicted data files output from
program EM1DFM (see the EM1DFM manual manual section
3.2.4)
if noise has not been added to the data, or it is in the same format as
the observations files for program
EM1DFM (see the EM1DFM
manual section 3.1.2) with the standard deviations
of the noise added to each data written out in place of uncert_a
.
In addition, if noise has been added, the actual noise added to each datum
and the total chi-squared sum of the noise are appended to the bottom of
the file em1dfmfwd.out along with the noise-free observations.
An example of the control file em1dfmfwd.in is:
| test.obstype |
! Name of the observations-type file. |
| sigma.in |
! Conductivity model file. |
| susc_hs.in |
! Susceptibility model file |
| 100 |
! Number of evaluations of the Hankel transform kernel. |
| y |
! Is noise to be added? |
| 5. 1. 1. |
! Percentage noise, threshold & seed. |
|
and the observations type file "test.obstype" is
1
0. 0. 5
880. 1
1. -40. z
1. 8.1 0.
-40. z 1 b
7213. 1
1. -40. z
1. 8.1 0.
-40. z 1 b
55840. 1
1. -40. z
1. 6.3 0.
-40. z 1 b
5848. 1
1. -40. x
-1. 8.1 0. -40.
x 1 b
1082. 1
1. -40. x
-1. 8.1 0. -40.
x 1 b |
The conductivity and susceptibility model files "sigma.in" and
"susc_hs.in" are:
| 3 |
|
| 20.0 |
0.005 |
| 30.0 |
0.005 |
| 0.0 |
0.0001 |
------------
| 3 |
|
| 20.0 |
0.0 |
| 30.0 |
0.0 |
| 0.0 |
0.0 |
The resulting output file "em1dfmfwd.out" is:
1
0. 0. 5
880. 1
1. -40. z
1. 8.1 0. -40. z 1 b 2.474 30.29 v 1.00 1.58
7213. 1
1. -40. z
1. 8.1 0. -40. z 1 b 75.52 203.4 v 3.94 9.92
55840. 1
1. -40. z
1. 6.3 0. -40. z 1 b 261.2 208.3 v 13.2 11.0
5848. 1
1. -40. x
-1. 8.1 0. -40. x 1 b 13.44 43.13 v 1.00 2.12
1082. 1
1. -40. x
-1. 8.1 0. -40. x 1 b 2.035 10.93 v 1.00 1.00
Added noise, N(0,1) Added noise
inphase quadrature inphase quadrature
| -8.85E-02 |
-0.804 |
-8.85E-02 |
-1.27 |
| -0.835 |
0.5 |
-3.29 |
4.96 |
| -0.187 |
-1.04 |
-2.46 |
-11.4 |
| -1.27 |
0.361 |
-1.27 |
0.765 |
| 1.11 |
1.34 |
1.11 |
1.34 |
Total chi-squared noise added = 7.478
Noise-free data:
1
0. 0. 5
880. 1
1. -40. z
1. 8.1 0. -40. z 1 b 2.563 31.56
7213. 1
1. -40. z
1. 8.1 0. -40. z 1 b 78.81 198.4
55840. 1
1. -40. z
1. 6.3 0. -40. z 1 b 263.7 219.8
5848. 1
1. -40. x
-1. 8.1 0. -40. x 1 b 14.71 42.37
1082. 1
1. -40. x
-1. 8.1 0. -40. x 1 b 0.930 9.59
|
5. Utility programs
5.1 "AB1DCON"
Program AB1DCON converts airborne horizontal-coplanar observations
in the format for program AB1D (see the JACI Annual Report for
1994) into the format required by program EM1DFM. The name of
the AB1D control file is required via the standard input. This
file, and the corresponding file containing the columns of data, are then
read and the information rewritten to a file in the format described in
the EM1DFM manual section 3.1.2.
5.2 "MKMODEL"
This program generates a conductivity or susceptibility model in the format
required by program EM1DFM (see the EM1DFM manual section
3.1.3).
The depth to the top of the basement halfspace and the number of layers
in the model (including the basement halfspace) are required from the standard
input. The thicknesses, tj, of the layers are then computed
using the formula:
where the factor ,
and the thickness of the top layer, t1, is obtained by
inverting the expression
5.3 "em1d3d"
This utility takes an EM1DFM output file that has soundings gathered at many locations over an area, and covertes the 1D results into a 3D mesh that can be viewed using MeshTools3D. You tell the program what the dx and dy cell dimensions for the mesh, and the program builds a volume with physical properties interpolated from soundings generated by EM1DFM. Type the program's name at the command line to see what the arguments are.
NOTE: There are three examples
provided on a separate page.
File translated from TEX by TTH,
version 2.72.
Authored by Colin
Farquharson, July 2000
Modified to HTML by Francis
Jones, July 2000.
|
|