ArticlePDF Available

Abstract and Figures

We present a novel methodology for performing experiments with subsurface structural models using a set of flexible and extensible Python modules. We utilize the ability of kinematic modelling techniques to describe major deformational, tectonic, and magmatic events at low computational cost to develop experiments testing the interactions between multiple kinematic events, effect of uncertainty regarding event timing, and kinematic properties. These tests are simple to implement and perform, as they are automated within the Python scripting language, allowing the encapsulation of entire kinematic experiments within high-level class definitions and fully reproducible results. In addition, we provide a link to geophysical potential-field simulations to evaluate the effect of parameter uncertainties on maps of gravity and magnetics. We provide relevant fundamental information on kinematic modelling and our implementation, and showcase the application of our novel methods to investigate the interaction of multiple tectonic events on a pre-defined stratigraphy, the effect of changing kinematic parameters on simulated geophysical potential fields, and the distribution of uncertain areas in a full 3-D kinematic model, based on estimated uncertainties in kinematic input parameters. Additional possibilities for linking kinematic modelling to subsequent process simulations are discussed, as well as additional aspects of future research. Our modules are freely available on github, including documentation and tutorial examples, and we encourage the contribution to this project.
Content may be subject to copyright.
Geosci. Model Dev., 9, 1019–1035, 2016
© Author(s) 2016. CC Attribution 3.0 License.
pynoddy 1.0: an experimental platform for automated 3-D
kinematic and potential field modelling
J. Florian Wellmann1,2, Sam T. Thiele3, Mark D. Lindsay3, and Mark W. Jessell3
1RWTH Aachen University, Graduate School AICES, Schinkelstr. 2, 52062 Aachen, Germany
2ABC/J Geoverbund, RWTH Aachen University, Aachen, Germany
3The University of Western Australia, Centre for Exploration Targeting, 35 Stirling Hwy, 6009 Crawley, Australia
Correspondence to: J. Florian Wellmann (,
Received: 26 October 2015 – Published in Geosci. Model Dev. Discuss.: 13 November 2015
Revised: 17 February 2016 – Accepted: 18 February 2016 – Published: 10 March 2016
Abstract. We present a novel methodology for performing
experiments with subsurface structural models using a set of
flexible and extensible Python modules. We utilize the abil-
ity of kinematic modelling techniques to describe major de-
formational, tectonic, and magmatic events at low compu-
tational cost to develop experiments testing the interactions
between multiple kinematic events, effect of uncertainty re-
garding event timing, and kinematic properties. These tests
are simple to implement and perform, as they are automated
within the Python scripting language, allowing the encapsu-
lation of entire kinematic experiments within high-level class
definitions and fully reproducible results. In addition, we pro-
vide a link to geophysical potential-field simulations to eval-
uate the effect of parameter uncertainties on maps of gravity
and magnetics.
We provide relevant fundamental information on kine-
matic modelling and our implementation, and showcase the
application of our novel methods to investigate the interac-
tion of multiple tectonic events on a pre-defined stratigra-
phy, the effect of changing kinematic parameters on simu-
lated geophysical potential fields, and the distribution of un-
certain areas in a full 3-D kinematic model, based on es-
timated uncertainties in kinematic input parameters. Addi-
tional possibilities for linking kinematic modelling to subse-
quent process simulations are discussed, as well as additional
aspects of future research. Our modules are freely available
on github, including documentation and tutorial examples,
and we encourage the contribution to this project.
1 Introduction
A wide range of methods exists for the computational synthe-
sis of geological models as interpretations about the structure
of the subsurface (see, for example, Jessell et al., 2014, for
a recent overview of methods). Each modelling method fo-
cusses on different aspects of geological data and concepts,
but they can be broadly classified in terms of (1) surface- or
volume-based interpolation techniques, (2) pure geophysical
inversions, and (3) mechanical or kinematic modelling ap-
proaches. We present here a set of open-source Python mod-
ules for the efficient, flexible and reproducible construction
of kinematic structural models to enable the analysis of un-
certainties in geological models.
Structural geological models are generally produced by
combining information from direct observations (e.g. mea-
surements in outcrops or boreholes) and indirect data, for ex-
ample, interpreted from geophysical data. Additional aspects
of the conceptual geological model or the structural setting
are, in the general case, only indirectly taken into account.
Computational methods, which are able to capture several or
all of the previous considerations, are then used to produce
the model.
Regardless of the approach taken, the resulting models al-
ways contain uncertainties. These uncertainties are increas-
ingly recognised (Bond et al., 2007; Caers, 2011; Bond,
2015) and addressed with novel methods for uncertainty
analysis and visualization (e.g. Bistacchi et al., 2008; Suzuki
et al., 2008; Jessell et al., 2010; Polson and Curtis, 2010;
Wellmann et al., 2010; Lindsay et al., 2012; Cherpeau et al.,
2012; Lindsay et al., 2013; Laurent et al., 2015). So far,
Published by Copernicus Publications on behalf of the European Geosciences Union.
1020 J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling
the analysis of uncertainties in kinematic models has been
performed for balanced cross sections (e.g. Judge and All-
mendinger, 2011) and detailed fault displacement models
(Laurent et al., 2013). We contribute here with a methods
to analyse and visualize uncertainties in automatically con-
structed kinematic forward models.
To enable this functionality, we extend the capability of
an existing kinematic modelling method, implemented in the
software Noddy (Jessell, 1981; Jessell and Valenta, 1996),
with a flexible set of dedicated scripting modules developed
in the programming language Python. Our aim is to provide
high-level access to the underlying model construction meth-
ods, enabling (1) flexible and rapid construction of kinematic
models, (2) the definition of fully reproducible modelling ex-
periments, and (3) a framework for automatic model gen-
eration, to enable experiments and analyses that require the
generation of multiple models, such as sensitivity evaluations
or Monte Carlo uncertainty analyses (Metropolis and Ulam,
In the following, we will first describe the concepts of
kinematic modelling as implemented in Noddy, outline the
limitations of this method, and show how we address these
with the newly developed Python modules. We then apply
these new methods to several typical modelling scenarios:
(1) the construction of a structural geological model on the
basis of kinematic considerations, (2) an analysis of the ef-
fect of model uncertainty on calculated gravity fields, and
(3) a sensitivity study of kinematic parameters in a complex
kinematic model of the Gippsland Basin, Australia.
The Python code described here is open-source and freely
available online (see section on “Code availability” and Ap-
pendix A). All of the examples used in this text are also part
of the online repository, and available as executable IPython
2 Materials and methods
Because we extend the functionality of an existing kinematic
modelling package, Noddy (Jessell, 1981; Jessell and Va-
lenta, 1996), we briefly describe its functionality here, and
then provide details about the implementation of the Python
package we have developed, referred to hereafter as pynoddy.
Finally, in order to describe the main difference between our
approach and other commonly used structural interpolation
methods, we also briefly review the relevant approaches in
this direction.
2.1 Structural geological modelling concepts
Structural geological models can be constructed with dif-
ferent approaches, and the choice of a specific modelling
method directly depends on the model applications and the
available input information.
The approach that we apply here is based on kinematic
modelling concepts. The distinction between interpolation
and kinematic methods is most apparent when considering
the types of data and geological constraints that are hon-
oured. The most common approach to construct structural
models is based on surface and volume interpolation meth-
ods (Mallet, 1992; Lajaunie et al., 1997; Sprague et al., 2006;
Caumon et al., 2009; Hillier et al., 2014; Jessell et al., 2014).
An example of the general interpolation function is presented
in Fig. 1a. Structural interpolations focus on honouring pa-
rameterised surface contact points (Caumon et al., 2009),
although secondary data like orientation measurements can
also be taken into account (Lajaunie et al., 1997; Calcagno
et al., 2008; Hillier et al., 2014). Constraints on the shape
of geological surfaces, or the interaction with other units or
faults, are then assigned to different surfaces, according to
observations in the field or the expected geological settings.
While these considerations are clearly based on geological
reasoning, it is not guaranteed that an interpolated structural
model matches all the known aspects of the geological evo-
lution of an area. For example, it is easily possible that con-
straints on thickness of geological units are not consistent, for
example across a fault, leading to a violation of mass conser-
vation. Additionally, a wide range of structures observed in
multiply deformed terranes, such as complex fault networks
or refolded folds, are difficult to construct consistently using
current interpolation methods.
Another endmember in the evaluation of the structural
setting are simulations of physical processes (e.g. Gerya
and Yuen, 2007; Moresi et al., 2007; Kaus et al., 2008;
Regenauer-Lieb et al., 2013). Instead of starting with geolog-
ical observations, these methods are based on mathematical
models capturing relevant physical processes that led to the
formation of specific structures (Fig. 1b). For realistic sim-
ulations, meaningful constitutive models and boundary con-
ditions are required. Multiple different methods exist, which
capture different aspects of the mechanical deformation, and
more and more commonly also the effect of coupled thermal,
hydraulic, mechanical and chemical simulations. However,
these types of simulations are not yet commonly applied to
model the entire complexity of multiply deformed geolog-
ical regions as simulations are computationally demanding
and rock properties and boundary conditions are not always
perfectly known. Furthermore, they require an initial distri-
bution of rock properties in space as initial conditions, of-
ten determined from an explicit or implicit interpolation ap-
Kinematic modelling methods focus on major tectonic
and metamorphic events in geological history (Jessell and
Valenta, 1996) and are therefore conceptually located be-
tween the previously described endmembers (Fig. 1c). In
these models, the complexity of deformation is greatly re-
duced and captured in simplified kinematic functions as sur-
rogate models. This means that direct geological observa-
tions of surface contacts and orientation measurements are
Geosci. Model Dev., 9, 1019–1035, 2016
J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling 1021
(a) Interpolation (b) Kinematic Modelling (c) Process Simulation
Observation points
surface Material, Properties
surface Boundary
Consideration of Physics and geological concepts
Direct observations, data density
Figure 1. Conceptual difference of modelling approaches: (a) interpolation, (b) dynamic process simulations, (c) kinematic models (modified
from Jessell and Valenta, 1996).
not taken into account in the simulation step. However, the
simulations are very fast and enable therefore a quick testing
of different deformational scenarios, and the interaction of
multiple events in geological history. Furthermore, rapid sim-
ulation makes direct (and ideally automated) comparisons
between the model and observed structures feasible, allow-
ing for the indirect incorporation of geological observations.
We will present several examples in which this trade-off be-
tween physical realism and geological observations can lead
to useful insights into the interaction and relevance of defor-
mational events in geological history.
2.2 Kinematic structural modelling with Noddy
Noddy models begin as a layer cake stratigraphy, for which
the heights of the stratigraphic contacts and geophysical rock
properties are defined. A history of relevant events that af-
fected the model region is then developed from a predefined
set of events, including folds, faults, and shear zones; uncon-
formities, dykes, and igneous plugs; regional tilting and ho-
mogeneous strain. In addition to modifying the initial stratig-
raphy, each event can define (geophysical) alteration halos,
penetrative cleavages, and lineations.
Each Noddy event is defined by four classes of properties:
form, position, orientation, and scale (Jessell, 1981; Jessell
and Valenta, 1996). For example, a fault is defined by its dip
and dip direction, the pitch and magnitude of the slip vector,
and the position of one point on its surface (note that more
complex definitions of the fault plane are also possible; cf.
Jessell, 1981). The use of geological descriptions provides
a natural and intuitive framework for geologists to build a
model. Even though the structural events themselves are rel-
atively simple, complex geometries quickly develop as two
or three events are superimposed on one another (see exam-
ples in Sect. 3).
Displacement equations are stored as a “history”, which
provides parameterised definitions of the model kinematics
and rock properties. A voxel model of any 3-D rectangu-
lar volume of interest can be calculated from this history by
considering each voxel independently using the Eulerian (in-
verse) form of the defining Lagrangian displacement equa-
tions, and applying them in reverse chronological order (i.e.
starting with the most recent deformation event). This opera-
tion transforms the x,y, and zposition of each voxel into the
x,y,zposition at the time the associated volume of rock was
created. The properties of this voxel can then be calculated
directly from the base stratigraphy.
New lithologies can also be created during three specific
event types: unconformities, dykes, and plugs. These events
are assumed to be instantaneous, and are ordered relative to
other events. In order to simplify the underlying kinematic
equations, they are all defined in a standard reference frame
that is orthogonal to the symmetry of the deformation event.
The real world reference frame is rotated into the standard
reference frame prior to the calculation of each event, and
then subsequently rotated back to the real world reference
frame using the variations in the zvalues as a continuous
implicit field that can be iso-surfaced to produce stratigraphic
As well as the initial position of the point, a binary “dis-
continuity code” is stored, that records each time a voxel is
affected by an event described by a discontinuous displace-
ment equation (faults, unconformities, dykes, and plugs) but
ignores events described by continuous displacement equa-
tions (folds, shear zones, strain, rotation, foliations, and lin-
eations). This discontinuity code allows for the accurate
transformation of the voxel data set to a vector data set, since
only voxels that have exactly the same sequence of disconti-
nuity codes are part of the same contiguous volume of rock.
If two adjacent voxels have different codes, the difference in
the discontinuity code that occurred most recently defines the
discontinuity that separates them.
The orientations of specific features (bedding, foliation,
fault planes, remanence vectors, etc.) are calculated using Geosci. Model Dev., 9, 1019–1035, 2016
1022 J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling
both the inverse and then the forward displacement equa-
tions. Starting with the current 3-D location of a point, the
position of this point at the time of formation of the struc-
tural feature (which may or may not be the time of forma-
tion of the rock) is calculated. Three points are defined close
to this position, which define a plane with the orientation of
the feature prior to deformation. The positions of these three
points at the final time are then calculated, from which the
final orientation of the structural feature can be calculated.
Similarly, the orientation of a linear feature is calculated
from the intersection of two planes. Thus, both the Eulerian
(inverse) and Lagrangian (forward) descriptions of the dis-
placements must be available for a new deformation event
to be included in the modelling scheme. For this reason, the
displacement equations governing each Noddy deformation
event are kept as simple as possible, and superimposed de-
formation events are combined to produce structural com-
plexity. A full description of the Noddy implementation is
presented in Jessell and Valenta (1996).
2.3 Geophysical potential-field modelling with Noddy
2.3.1 Basic concept
Noddy has the capability to calculate potential field re-
sponses of gravity and magnetics based on the spatial dis-
tribution of rock properties in the subsurface, and this func-
tionality is exposed in pynoddy. The petrophysical rock prop-
erties of a specific volume are defined by their original strati-
graphic value, unless a specific deformation event (faults,
unconformities, plugs, and dykes) has an associated alter-
ation/metamorphic character, with allows for the modifica-
tion or replacement of pre-existing properties based on that
locations distance from the structural feature at the time of
the activity of the event. A further complication is possible
if a model with an anisotropic magnetic susceptibility (a ten-
sor property) or magnetic remanence (a vector property) is
defined, in which case there is the possibility of calculating
the voxel-level reorientation of these properties as a result
of deformation (for example, having a remanence vector de-
formed during a folding event).
For all surveys the rock property of a cube is defined as the
value at the centre of the cube, and for grid surveys (that is,
not arbitrary surveys or borehole surveys) the field strength is
calculated at the x,ylocation above the centre of each cube.
The total magnetic intensity value calculated for all schemes
is actually the value projected onto the Earth’s field, follow-
ing the convention of many modelling schemes. The gravity
field calculated is for the zcomponent only.
Three geophysical computational schemes are available in
Noddy to calculate magnetic and gravity potential fields. The
criteria as to which scheme should be used depends on re-
quired accuracy, speed, and the various geological situations
being modelled. A brief description of each scheme is pro-
vided below.
2.3.2 Spatial convolution scheme
The spatial convolution scheme works by calculating the
summed response of all the cubes within a cylinder cen-
tred on the sensor, with a radius defined by the spatial range
term. The calculation for each cube is based on the analytical
solution for a dipping prism presented by Hjelt (1972) and
Hjelt (1974). In order to calculate solutions near the edge
of a block, extra geology is used to produce a padding zone
around the block equal in width to the spatial range, so that
there are no edge effects in this scheme. The scheme only
provides exact solutions when the range is larger than the
length of the model. For reasonably complex geology this
limitation does not result in inaccurate models; however, for
idealized geometries using a range that is too small results in
a kink in resultant profiles. The spatial convolution scheme
is slower than the spectral scheme for medium ranges (10–
20 cube ranges), but generally much faster than the full spa-
tial calculation. As long as the range is greater than the spac-
ing between high density/susceptibility features, the inaccu-
racies associated with truncating the calculation is probably
not evident. The draped survey and down-hole surveys have
not been implemented for this scheme.
2.3.3 Spectral scheme
This scheme, based on pioneering work by Parker (1972)
works by transforming the rock property distributions into
the Fourier domain, applying a transformed convolution,
and then transforming this result back into the spatial do-
main. The calculation is performed for each horizontal slice
through the geology, and the results are summed vertically.
The spectral scheme produces a different result than the other
two schemes in terms of absolute numbers for three reasons:
1. The Fourier transform implies that the geology is in-
finitely repeating outside the calculation area. This pro-
duces edge effects when high susceptibility or density
bodies are found near the edges of the survey area.
This effect can be lessened by the choice of a suitable
padding around the block, including over specified ar-
eas of interest; however, it cannot be totally removed.
2. The calculation loses the absolute base line of the grav-
ity or magnetic field, so even when comparisons are
made for well-padded spectral and large range spatial
models, an overall offset is apparent between the two
schemes. When trying to model real data this offset is
not a problem as any regional is removed before the
modelling process.
3. There is a high-frequency component to the calculated
field that is of the same wavelength as the cube size and
especially apparent when there are steep gradients in the
values of the rock properties.
Geosci. Model Dev., 9, 1019–1035, 2016
J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling 1023
2.3.4 Full spatial scheme
This is similar to the spatial convolution scheme except
that all the cubes in the model are summed using the Hjelt
schemes in order to calculate the response at any point. It
generally takes significantly longer to apply this calculation
scheme than either of the other schemes. The only excep-
tion is when there is a relatively sparse geological model,
in which case contiguous blocks with identical petrophysical
properties are aggregated to form rectangular blocks, which
reduces computation time. In the extreme case where only
one cube has non-zero values for both density and suscepti-
bility, any cubes that have both zero density and susceptibil-
ity are ignored. This is the only scheme that can accurately
calculate draped surveys, down-hole surveys, and arbitrarily
located airborne surveys.
2.4 Creating input files for kinematic modelling with
Noddy histories are stored as ASCII files with a sim-
ple keyword-value ordering. These files can be written or
adapted with any text editor, and the kinematic modelling re-
sult computed with a compiled command line version of the
program and results visualized with other software.
A graphical user interface (GUI) has previously been cre-
ated to simplify this model set-up, combining convenient in-
put file generation directly with computation and visualiza-
tion of the results. This GUI is freely available (http://tinyurl.
com/noddy-site), though currently only runs on Windows op-
erating systems. The GUI version of Noddy is also limited to
user-driven workflows, restricting further automation or ex-
tension of the methods for scientific experiments.
In order to overcome the problem of either having to work
with a direct text input file, or being restricted by the limi-
tations of a GUI, we have developed flexible modules in the
programming language Python that enable scripted access to
the kinematic modelling functionality and enable the exten-
sion to uncertainty estimations.
2.5 Implementation of pynoddy
Python is an object-oriented scripting language that is widely
used in scientific computation (e.g. Langtangen, 2008). It is
highly flexible language, and contains a variety of program-
ming and visualization libraries ideal for scientific purposes.
Python also runs on virtually every operating system that is
available, meaning that python wrappers retain the platform
independence of C applications.
The pynoddy module described here contains a set of
classes and functions for managing Noddy input files, pass-
ing them to the Noddy command-line application, and pro-
cessing the results. This approach has many advantages, as it
allows automatic generation and analysis of kinematic mod-
pynoddy package
NoddyHistory Noddy
External programs
and Python packages
Output les (g**)
Python objects
VTK Files
Experiment types:
Figure 2. High-level structure of main pynoddy modules and re-
lationship to command-line application Noddy and other python
packages. Important to note is the concept of high-level classes,
defined in the module pynoddy.experiments, to encapsulate
history file and output methods.
els in a Python environment, while retaining the performance
of Noddy itself (which is written in C).
2.5.1 Overall module structure
The package pynoddy contains three main mod-
ules: pynoddy.history,pynoddy.output, and
pynoddy.experiment. The pynoddy.history
and pynoddy.output modules provide interfaces for
managing Noddy inputs and outputs, while classes defined in
pynoddy.experiment provide methods for implement-
ing and performing repeatable modelling experiments. The
output of Noddy simulations can be processed and analysed
with classes in pynoddy.output, and exported in file for-
mats of the Visualization Toolkit (VTK;
for 3-D visualization with appropriate VTK viewers.
The relationship between these main modules and the
command-line application Noddy is presented in Fig. 2.
More details on the implementation and detailed visualiza-
tions of the class structure reflecting the current module state
are given in the documentation (see Appendix B).
2.5.2 Noddy histories
The NoddyHistory class (defined in the module
pynoddy.history) contains methods for generat-
ing, opening, and manipulating Noddy history files.
NoddyHistory instances can be created by (1) loading
existing Noddy history files (including those created using
the Noddy GUI), or (2) programmatically defining an event Geosci. Model Dev., 9, 1019–1035, 2016
1024 J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling
Table 1. Descriptions of the output files produced by the command line version of Noddy. Files for calculated potential fields are calculated
when Noddy is called in Geophysics mode (see Sect. 2.3).
File extension Contents Details
.g00 Model header file Information on the dimensions of the model (voxel size etc.), lithology
names and associated geophysical properties.
.g01 Density Spatial distribution of final density in each voxel
.g02 Susceptibility Spatial distribution of final magnetic susceptibility in each voxel
.g12 Lithology model Contains the lithology ID of each voxel in the model.
.grv Gravity field 2-D field data of Bouguer gravity calculated from Noddy model
.mag Magnetic field 2-D field data of total magnetic intensity calculated from Noddy model.
sequence and all the associated properties. The Noddy
events encapsulated by a NoddyHistory instance can
easily be modified or reordered, and simulation properties,
such as voxel size or geophysical properties, adjusted. Once
aNoddyHistory instance contains the desired properties,
it can be written as a Noddy history file (.his) and passed to
the Noddy application for processing.
2.5.3 Noddy output
Noddy writes the results of a model (defined by a .his file) as
a series of output files, described individually in Table 1. The
NoddyOutput class (defined in the pynoddy.output
module) contains methods for reading, analysing, and visu-
alising these outputs, and can be used to create visual rep-
resentations of sections through the model, or to export a
computed model as a 3-D grid to the VTK format for fur-
ther analysis and visualization using, for example, the open-
source packages Paraview ( or Visit
2.5.4 Experiments combining Noddy input and output
If all steps of a pynoddy experiment are automated prop-
erly, they can be integrated into one script for model set-up
and analysis. This method is leading to a possible reproduc-
tion of results (as an example: see the scripts that generate
the figures in this manuscript; see Appendix B for availabil-
ity). This method is often used successfully to ensure repro-
ducibility. It does, however, have one significant drawback:
intermediate results or adapted simulation settings have to be
stored in separate files and all of those files have to be avail-
able to continue with an experiment at a given state.
In order to overcome this limitation, we follow here the
aim of including an entire experiment, from the definition of
input parameter of the model, to parameters that are specific
to an experiment, to the post-processing of results, within a
single Python object. Specific experiments can then be de-
fined as child classes inheriting a set of useful base methods.
This object can then be stored (for example with a serializa-
tion using the Python pickle package) and retrieved exactly
in the state that it was used and defined for a complete repro-
duction of results, or the adaptation of model parameters to
test different model outputs.
The core of the pynoddy.experiment module is the
Experiment class, which inherits methods from both the
NoddyHistory and NoddyOutput classes, combining
and extending their functionality into a single interface that
allows for a flexible modelling procedure were the Noddy
computations are automatically executed when required and
outputs directly updated. In addition, methods are provided
to encapsulate relevant parameters of an experiment in the
most efficient and flexible way. We consider this last point
essential to ensure a full reproducibility of scientific experi-
ments with kinematic models.
In order to generate a specific type of experiment, new
child classes can then be defined, inheriting from the
Experiment base class. Several classes for specific types
of experiments are already implemented in the pynoddy
package, and we show below the application of one such
child class, the UncertaintyAnalysis, applied to a
Monte Carlo error propagation experiment.
For more details on the implementation and the structure
of the modules in pynoddy, please see the documentation and
associated source code at the pynoddy GitHub directory (see
section on “Code availability” and Appendix B).
3 Applications
This section outlines the functionality and utility of our pyn-
oddy implementation using a variety of case studies. First,
the structural effect of multiple faulting events is investi-
gated, serving mainly as an introduction to the generation
of event histories in pynoddy and the visualization of re-
sults. Then, a model from the Atlas of Structural Geophysics
is used to evaluate the sensitivities of calculated gravity
potential-field values to changes of parameters in kinematic
events. Finally, we use the pynoddy framework to evaluate
uncertainties in a case study of the Gippsland Basin, Aus-
Geosci. Model Dev., 9, 1019–1035, 2016
J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling 1025
Figure 3. Development of a fault network model with pynoddy:
(a) initial stratigraphic pile, (b) effect of the first fault only, (c) effect
of the second fault only, and (d) combined effect of both faults.
3.1 Analysis of fault interactions
We start here with an example that is conceptually simple,
but can quickly lead to complex structural settings: the inter-
action of a sequence of fault events on a predefined stratig-
raphy (Fig. 3a). A more detailed description and interactive
version is available as an IPython notebook as part of the
repository and as Supplement for this manuscript (see sec-
tion on “Code availability” and Appendix B).
This model is constructed from a stratigraphic sequence
containing five units, each 1000m thick. We consider a
model domain of 10000 ×7000×5000 m in x,y, and zdi-
rections. In the following descriptions, we define points with
respect to an origin in the model at the top, SW corner (i.e.:
the point (0,0,1000) is at a depth of 1000m at the south-
west corner). A representation of the model in a (x,z) section
is given in Fig. 3a.
The second event in the model is a fault that affects the
eastern part of the model. We define the fault at the top of
the model at position (2000, 3500, 0) dipping 60090 and
a fault slip of 1000m. The effect of this fault on the previous
stratigraphic pile is visualized in Fig. 3b. The third event is
also a fault, defined with a surface at position (8000, 3500,
0), dipping 60270 and a slip of 1000 m (Fig. 3c).
In terms of this definition of kinematic equations, the two
fault events are symmetrical. However, the combination of
both events leads, as can be expected, to a non-symmetrical
interaction pattern, here clearly visible in the central part of
the model (Fig. 3d).
The previous example is included to present the possibil-
ities for the simple construction of a kinematic model from
start. The model itself is mostly interesting from an instruc-
tion or teaching perspective and we will move to more com-
plex models in the following.
3.2 Potential field modelling and the Atlas of
Structural Geophysics
One motivation for the development of Noddy was to pro-
vide a method to explain and teach the effect of subsequent
geological events, as we presented an example above. The ca-
pability of Noddy to calculate geophysical fields can further-
more be used to provide insights for the interpretation of geo-
physical potential field data. We can, for example, quickly
evaluate how changing the properties of a geological event
(for example the dip angle of a fault) influences a simulated
potential field.
In fact, this capability of Noddy has been a main driver to
develop the Atlas of Structural Geophysics, an online collec-
tion of geological models with their simulated corresponding
potential fields for a wide variety of typical structural geolog-
ical settings (
We provide in pynoddy the functionality to directly load
models from this atlas into python objects, for further test-
ing and manipulation. In addition, the pynoddy.output mod-
ule also contains a class definition to read in the calculated
potential field responses (NoddyGeophysics). In combi-
nation, these methods enable us to quickly test the effect of
different event properties on calculated potential fields.
As an example, we evaluate here how changing properties
of deformational events affects the forward calculated grav-
ity field with a model of a fold and thrust belt (Fig. 4). The
required commands to download a model from the web page,
to adjust cube size (for better representation), to write it to a
file, and to run the model, are combined in a tutorial notebook
for detailed reference (see Appendix B). The 3-D visualiza-
tion in Fig. 3c was generated through the pynoddy export to
VTK and visualized in Paraview (see Sect. 2.5.3).
We calculate the gravity field for this model with the spec-
tral scheme (Sect. 2.3.3) by calling pynoddy.compute in
the geophysics simulation mode. The resulting z-component
of the gravity field is visualized in Fig. 5a.
As a next step, we evaluate how the effect of a different
wavelength in the folding event, as the latest event in the
model history, affects the calculated gravity field. This adap-
tation, as well as the recalculation and visualization of the
geophysical field (Fig. 5b), can be performed with a few lines
of Python code (see tutorial notebook for details). In addi-
tion, we use simple Python commands to calculate and visu-
alize the difference between the gravity fields of the original
and the changed model (Fig. 5c). Geosci. Model Dev., 9, 1019–1035, 2016
1026 J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling
(a) Section in N-S direction
(b) Section in E-W direction
(c) Three-dimensional representation
Layer 1 Layer 2 Layer 3 Layer 4 Layer 5
Figure 4. Sections through the fold and thrust belt model in (a) north–south direction, and (b) east–west direction (vertical exaggeration of
1.5) through the centre of the model. (c) Three-dimensional representation for the central three layers of the fold and thrust belt model. The
grey surfaces correspond to the location of the sections in the figure above.
Figure 5. Evaluation of the effect of a wavelength change in a late folding event on the forward calculated gravity field: (a) gravity field of
original model, (b) gravity field of model with changed event parameters, and (c) difference plot of gravity fields.
With the previous examples, we showed the application
of pynoddy to perform simple kinematical modelling exper-
iments. These types of experiments could also be performed
with the already existing GUI of Noddy, or even on the ba-
sis of the ASCII input files, only. The use of pynoddy does,
however, provide a simple and direct way to adjust models,
and to directly perform additional calculations (e.g. for the
difference of the gravity fields), and to generate high-quality
visualizations with additional Python tools.
With the following example, we now want to highlight an
essential advantage of our new implementation in pynoddy:
the high-level definition of scientific experiments with kine-
matic models.
3.3 Reproducible experiments with pynoddy
One main motivation for the definition of a python pack-
age to access the functionality of kinematic modelling is
the increased level of flexibility that it offers when perform-
ing scientific studies with kinematic models. Specifically, we
can automate the entire model construction processes and
can hence easily perform multiple simulations with differ-
ent parameter settings. This possibility enables a whole new
range of applications, from simple scenario testing (as shown
above), to the analysis of model uncertainties due to the prop-
agation of errors in input parameter and model settings. In
this sense, pynoddy is ideally suited to perform scientific ex-
periments on the basis of kinematic modelling concepts.
If all steps of a pynoddy experiment are automated prop-
erly, they can be integrated into one script for model set-up
and analysis. If implemented properly, this method enables a
complete reproduction of results. As described in Sect. 2.5.4,
we provide a high-level object-oriented method for classes
of full kinematic experiments, combining Noddy input and
output, automatic computation when required, and the addi-
tional integration of further methods from external Python
In the following example, we show how we use the
pynoddy.experiment methods to investigate error
propagation with a Monte Carlo experiment for a complex
geological model of the Gippsland Basin. The tectonic his-
tory input to Noddy is shown in Fig. 6a. This simplified but
representative geological history has been primarily derived
Geosci. Model Dev., 9, 1019–1035, 2016
J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling 1027
Figure 6. (a) Tectonic events in the kinematic model. Symbols indicate main orientation of events, stratigraphic units in blue font; (b) 3-
D visualization of simulated block model (transparency for better visualization of internal fold), colours indicate geological lithologies;
(c) Visualization of uncertainty with information entropy, clearly visible are high uncertainties where effects of uncertain fold and fault
from Rahmanian et al. (1990), Norvik and Smith (2001),
Moore and Wong (2002), and Lindsay et al. (2012). Each
event shown in Fig. 6a corresponds to an event interpreted
from the Gippsland Basin, a Mesozoic to Cenozoic oil and
gas field in southeastern Australia (Cook, 2006; Rahmanian
et al., 1990). Our model basement is Ordovician rocks and
the cover sequences include the Oligocene Seaspray and
Pliocene Angler sequences. Of particular interest for oil and
gas prospectivity is the Paleocene to late Miocene Latrobe
Group, which includes the Cobia, Golden Beach, and Em-
peror subgroups (Bernecker et al., 2001). The basin is cross-
cut by a number of transfer and normal faults; however, we
only model the most pervasive fault sets for this example.
These include the north-northeast to north-east-trending Lu-
cas Point Fault, Spinnaker Fault, and Cape Everard Fault sys-
tems, and the east–west-trending Wron Wron/Rosedale Fault
systems. Some large-scale (10s km wavelength) folding is
observed; however, the basin retains an overall layer-cake
We now want to evaluate how uncertainties in the kine-
matic parameters of the different tectonic events (Fig. 6a)
propagate to the final constructed model (Fig. 6b). The gen-
eral procedure is briefly outlined here, for more details please
see the IPython notebook with the complete example and
more thorough descriptions (see documentation and tutorial,
Sect. B).
We use here the class UncertaintyAnalysis, which
contains methods for Monte Carlo-type error propagation
and subsequent uncertainty analyses. As a first step, we con-
sider relevant kinematic modelling parameters now as ran-
dom variables, instead of deterministic variables. The prop-
erties of these random variables can be described as prob-
ability distributions in several ways. We use here a simple
definition in a table, stored in a comma separated file, that
can be loaded directly into the object.
We assign normal distributions to location points and layer
thicknesses, with a mean value according to the prior mean,
and a standard deviation of 100 m, to reflect the overall uncer-
tainty in defining representative thickness and location values Geosci. Model Dev., 9, 1019–1035, 2016
1028 J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling
on the large scale of the model. The wavelength of the late
folding event (Fig. 6a) has a mean of 15km and we assign a
standard deviation of 2.5km, assuming a high uncertainty in
determining a wavelength for this event. Uncertainties in ori-
entation measures are defined with a von Mises distribution.
We provide details on the parameter distributions in a table
in the Appendix (C2).
With the parameters of the random variables stored in an
external file, we can instantiate the uncertainty analysis ob-
ject with the history file of the kinematic model and the name
of the parameter file as arguments:
ua = UncertaintyAnalysis(history_file,
We can now directly generate nrandom samples from this
model with
The set of results is, by default, saved directly within the
object, and can be extracted in the form of Python numpy
arrays for further processing. In addition, a set of standard
post-processing methods and utility functions is already im-
plemented in the class definition. For example, it is directly
possible to generate analyses and visualizations for the prob-
ability of outcomes for a specific geological lithology per
voxel (Wellmann et al., 2010; Lindsay et al., 2012), and for
the analysis of voxel-based information entropy measures
(Wellmann and Regenauer-Lieb, 2012; Wellmann, 2013).
In this example of the Gippsland Basin, we perform Monte
Carlo error propagation for a set of 32 parameters of all kine-
matic events in the model, and generate 100 random realiza-
tions of the model (see tutorial notebook in documentation).
For post-processing, we analyse and visualize results in a 3-D
plot of cell information entropies (Fig. 6c). The estimated un-
certain areas in the model are clearly visible, and the highest
uncertainties exist in areas where the effect of uncertainties
in different events overlaps (see Fig. 6c).
The previous experiment is a typical example of Monte
Carlo sampling methods (Metropolis and Ulam, 1949). One
characteristic of the sampling is that all realizations are
drawn independently. Therefore, a parallel implementation
of the sampling is directly possible. As one possibility, we
provide a parallel sampling scheme implemented in the
pynoddy.experiment.monte_ carlo.MonteCarlo
class, based on the Python threading module, and we
used this scheme successfully on a supercomputer. For
more information on this possibility, see documentation
(Appendix B) and the source code of the
4 Discussion
We have presented a newly developed python module for per-
forming scientific experiments with kinematic models, and
provided examples of possible applications for investigating
the interaction of tectonic events, assessing the effect of kine-
matic parameters on simulated geophysical potential fields,
and identifying uncertainty within 3-D geological models.
These examples would not have been possible without the
methodology that pynoddy provides for defining, modifying
and realising kinematic models in a scripting environment.
Our developments therefore provide opportunities for per-
forming scientific experiments with kinematic models that
have not been possible before.
One aspect of the developed code is that entire experi-
ments with kinematic models can be encapsulated in a one
class definition. We demonstrated this encapsulation with
the third example (Sect. 3.3), performing complex analy-
ses within a single python class, and hence allowing full re-
producibility. This encapsulation has multiple further advan-
tages, including a simple, but still flexible, way to test effects
of uncertainties in kinematic parameters and the direct inclu-
sion of post-processing and analysis methods, as shown with
the analysis of information entropy (Fig. 6c), to ensure con-
sistency between experiments and subsequent analyses. Sev-
eral experiment classes in addition to the presented Monte
Carlo method are pre-defined, including, for example, meth-
ods for local and global sensitivity analysis. The definition of
custom classes on the basis of this framework is straightfor-
ward. In essence, the combination of input and output gen-
eration with on-demand computation allows for high flexi-
bility, as well as an integration of essential aspects of entire
kinematic experiments in a single object. As the random state
is stored, this encapsulation facilitates easy reproduction of
entire scientific experiments with kinematic models.
Limitations of the modelling approach presented here
are related to (a) the specific kinematic functions available
in Noddy, (b) the conceptual simplification of representing
complex dynamical evolutions with purely kinematic func-
tions in general (see Fig. 1), and (c) the limited consideration
of surface contact information and measurements.
The first limitation is based on the fact that we did not
extend the basic functionality of the kinematic equations im-
plemented in Noddy, and these equations may not be com-
plex enough for specific modelling requirements. For exam-
ple, the fold model in Noddy is based on a simple fold con-
cept, and this may be a limitation when other fold mecha-
nisms need to be modelled. For a full definition of possi-
bilities and limitations, please see Jessell (1981) and Jessell
and Valenta (1996). However, as presented in this manuscript
(Fig. 6), in the examples of the Atlas of Structural Geo-
physics (Sect. A6), or even in recent publications (Armit
et al., 2012), complex models can easily evolve from the in-
teraction of multiple kinematic events.
The second limitation, that is the use of kinematic equa-
tions instead of a full dynamic simulation, is a significant
conceptual simplification and has to be kept in mind when
constructing and interpreting results of kinematic modelling,
to ensure that the methods are used in the scope where they
are valid. With the examples presented in this manuscript,
we wanted to highlight such applications; in addition to the
Geosci. Model Dev., 9, 1019–1035, 2016
J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling 1029
instructive aspect of using kinematic models to teach and vi-
sualize the effect of interacting deformational and magmatic
events, we believe that main advantages come from the po-
tential to automatically generate multiple model realizations.
These methods are facilitated by the fact that the generation
of a single kinematic model is typically very fast (in the order
of seconds to minutes on a single core) compared to full dy-
namic simulations. This possibility therefore enables the in-
vestigation of interaction between simplified deformational
events, but with the consideration of uncertainties in event
parameters, orders, and types.
The final limitation is that kinematic modelling only al-
lows for indirect consideration of actual observations and
measurements in the models. An encouraging avenue of in-
vestigation is the inclusion of observations facilitated by
combining kinematic modelling with interpolation methods
(Fig. 1a). We note at this point the similarity between the
kinematic modelling methods described in our work, and ob-
ject modelling methods in geostatistics (Pyrcz and Deutsch,
2014), which are widely and successfully use in reservoir
modelling. We envisage that experience from applications of
these object modelling methods can be transferred to kine-
matic modelling concepts based on the flexible methods pre-
sented in this work.
The methods we have implemented are platform indepen-
dent, as they are completely implemented in Python, and
Noddy itself in C. It is therefore possible to port developed
experiments and code easily to other computational environ-
ments. We have, for example, tested numerical experiments
on supercomputers, a possibility that is especially important
for the generation of multiple (i.e. thousands or more) high-
resolution model realizations, or the combination with com-
plex post-processing methods. In addition, the platform in-
dependence circumvents a limitation of the current GUI for
Noddy, which is restricted to one operating system. One of
the main motivations for the original development of Noddy,
for use a teaching tool, is therefore also ensured.
Geological modelling is most often not an end in itself,
but the input to further modelling and simulation methods.
For example, structural geological models are often used
as an input for subsequent flow simulation studies, or for
wave propagation experiments. This combination is directly
possible with our developed methods, as the distribution
and properties of lithological units in space are stored in
numpy arrays, that can easily be exported to other mod-
elling methods in Python or similar frameworks. One ex-
ample would be using the generated models as input for
property distribution in hydrothermal experiments with the
widely used flow simulation code TOUGH2, through the
use of the Python package PyTOUGH,
acroucher/PyTOUGH (see Wellmann et al., 2011), or to the
generation of synthetic seismic sections and simulations of
wave propagation with Madagascar,
Future extensions of the developed code will include an
optimised application in parallel environments, including a
better storage of results (e.g. in HDF5 formats), and a bet-
ter link to geological data sets and parameters (e.g. through
the use of GeoSciML, see Sen and Duffy, 2005 and Simons
et al., 2006). In addition, we are actively working on devel-
opments of additional experiment classes, for example for
detailed topological analyses of structural models, and fur-
ther post-processing and uncertainty quantification methods.
Another path of future research is to investigate the possibil-
ity to integrate kinematic modelling with Noddy into infer-
ence frameworks, for example to test the possible inversion
of kinematic parameters from observations and geophysical
measurements. We hope to include functionality developed
by other external users into the main package, and encour-
age an active participation with successfully developed ex-
Code availability
The information provided here is reflecting the current state
of the repository at the time of manuscript preparation. In
case you find information outdated, please contact the corre-
sponding author.
pynoddy is free open-source software. It is currently
hosted on:
For detailed information on the license, see the agree-
ment in the LICENSE file of the repository.
Documentation is available as part of the package and
online: Geosci. Model Dev., 9, 1019–1035, 2016
1030 J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling
Appendix A: pynoddy package information
A1 Notes on installation
A successful installation of pynoddy requires two steps:
1. an installation of the python modules in the package
2. the existance of an executable Noddy(.exe) pro-
Currently, pynoddy and Noddy can be installed in two al-
ternative ways: (a) directly from the source code with the full
repository, or (b) with a direct installation from the Python
Package Index and pre-compiled executables. We suggest us-
ing option (a) for the most recent and most complete version
of the code. Version (b) is suggested for less experienced
users, who would like to quickly test and apply kinematic
modelling methods. We describe the installation the alterna-
tives in the following.
Hereafter, for clarity, we denote command line prompts
with a >symbol:
>command to be executed
A2 Installation of pynoddy
A2.1 Installing pynoddy from the github repository
As a first step, we suggest to clone the current repository
to your local machine. This step can be done with a github
front-end, or simply with the usual git command in a ter-
> git clone
Note: if you do not have a running version of git in-
stalled, then you can also simply download the entire repos-
itory as a zip file from the github page. However, you then
do not have the full flexibility of the entire repository, and
therefore we recommend using git.
Once the repository is cloned (or downloaded), simply
change to the main directory of pynoddy and install the
Python package with the installation script:
>python install
Note that this command adds pynoddy to your global
Python installation. If you plan to develop parts of pynoddy
further yourself, then installation in development mode is
>python develop
In this mode, modifications in the cloned repository are
directly considered when importing the modules in your
Python scripts.
A2.2 Installation of pynoddy from Python Package
pynoddy is hosted on the Python Package Index (https://pypi. and the typical methods can be
used to install the Python packages.
If pip is installed on your system, then the most straight-
forward installation is directly though executing in a termi-
>pip install pynoddy
Alternatively, the package source can be downloaded from
the index page, as well as an installation program for Win-
dows systems.
Please note that the Python package on the index is not
always the newest version, but in a state that reflects the latest
stable developments. For the most current state, we suggest
an installation from the repository (Sect. A2.1).
A3 Installation of the Noddy command line program
A3.1 Using a pre-compiled version of Noddy
The easy way to obtain a executable version of Noddy is sim-
ply to download the appropriate version for your operating
system. Currently, these executables versions are also stored
on github (check the up-to-date online documentation if this
should not anymore be the case) in the directory:
Furthermore, the executables for Windows are also avail-
able for download on the webpage:
Download the appropriate app, rename it to Noddy or
noddy.exe and place it into a folder that is in your local
environment path variable. If you are not sure if a folder is in
the PATH or would like to add new one, see Sect. A3.3.
A3.2 Compiling Noddy from source files
The source code for the executable Noddy is located in the
repository directory noddy. In order to perform the instal-
lation, a gcc compiler is required. This compiler should be
available on Linux and MacOSX operating systems. On Win-
dows, one possibility is to install MinGW. Otherwise, the
code requires no specific libraries.
Note for MacOSX users: some header files have to be
adapted to avoid conflicts with local libraries. The required
adaptations are executed when running the script:
The compilation is then performed (in a Linux, MacOSX,
or Windows MinGW terminal) with the command:
Compilation usually produces multiple warnings, but
should otherwise proceed successfully.
Geosci. Model Dev., 9, 1019–1035, 2016
J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling 1031
The repository is in a state of active further development.
We identified the current state of the repository at the time of
manuscript submission with a git tag to ensure consistency
of examples and descriptions presented in this manuscript.
A3.3 Placing Noddy in the Path
For the most general installation, the executable of Noddy
should be placed in a folder that can be located from any
terminal application in the system. This (usually) means that
the folder with the executable has to be in the PATH environ-
ment variable. On Linux and MacOSX, a path can simply be
added by
> export PATH="path/to/executable/:$PATH"
Note that this command should be placed into your
.bash_profile file to ensure that the path is added when-
ever you start a new Python script.
On Windows, adding a folder to the local environment
variable PATH is usually done through the System Control
Panel (Start – Settings – Control Panel – System). In Ad-
vanced mode, open the Environment Variables sub-menu,
and find the variable PATH. Click to edit the variable, and
add the location of your folder to this path.
A3.4 Specifying path during pynoddy execution
Another option is to tell pynoddy.compute_model the
exact path to the Noddy executable:
noddy_path = ’path/to/program’)
However, this method should only be used as the fall-back
option if adding the executable to a path (Sect. A3.3) does
not work. Also, in this case, the tests (Sect. A4) will most
likely fail.
A4 Testing the installation
A4.1 Testing Noddy
Simply test the installation by running the generated (or
downloaded) executable in a terminal window (on Windows:
or (depending on your compilation or naming convention):
Which should produce the general output:
Arguments <historyfile> <outputfile>
Note: if the executable is correctly placed in a folder,
which is recognised by the (Environment) path variable, then
you should be able to run Noddy from any directory. If this
is not the case, please see Sect. A3.3.
A4.2 Testing pynoddy
The pynoddy package contains a set of tests, which can be
executed in the standard Python testing environment. If you
cloned or downloaded the repository, then these tests can di-
rectly be performed through the set-up script:
>python test
Of specific relevance is the test that determines if the
noddy(.exe) executable is correctly accessible from pyn-
oddy. If this is the case, then the compute_model test
should return:
test_compute_model (test.TestHistory)
... ok
If this test is not ok, then please check carefully the in-
stallation of the noddy(.exe) executable (see either Ap-
pendix A3.1 or A3.2).
If all tests are successful, you are ready to continue.
A5 Noddy executable and GUI
The original graphical user interface for Noddy and the
compiled executable program for Windows can be obtained
from This site also contains
the source code, as well as extensive documentation and tu-
torial material concerning the original implementation of the
software, as well as more technical details on the modelling
method itself.
A6 Atlas of Structural Geophysics
The Atlas of Structural Geophysics contains a collection of
structural models, together with their expression as geophys-
ical potential fields (gravity and magnetics), with a focus on
guiding the interpretation of observed features in potential-
field maps.
The atlas is currently available on
asg. The structural models are created with Noddy and the
history files can be downloaded from the atlas. Together
with the Python package pynoddy, which is presented in this
manuscript, these models can easily be adjusted and recom-
puted to reflect different settings, as shown in the example in
Sect. 3.2. Geosci. Model Dev., 9, 1019–1035, 2016
1032 J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling
Appendix B: Documentation
An up-to-date documentation is available as part of the pyn-
oddy repository, including all source files, a compiled Latex
pdf version (in docs/_build/latex), and a version in
html (in docs/_build/html).
In addition, the documentation is hosted on the readthe-
docs webpage for quick online reference on http://pynoddy.
The most convenient way to get started with pynoddy is
to experiment with the interactive IPython notebooks, for
example to reproduce and adapt the examples given in this
manuscript. These notebooks are a part of the repository. The
only requirement is to have a running Jupyter installation; see for more information. We furthermore plan
to have these interactive notebooks available for web-based
experiments with pynoddy in the future.
Appendix C: Additional information on models and
results in this publication
C1 Example models in this manuscript
All example models presented in this manuscript, respec-
tively the python and pynoddy code to generate them, are
available as part of the repository. The experiments are di-
rectly accessible as Jupyter notebooks to re-generate the
presented experiments, or to test different parameters (in
C2 Gippsland Basin uncertainty study
The Gippsland Basin model was inspired by previous work
of the authors in this region (Lindsay et al., 2012), and fur-
ther references to the geological setting can be found there.
For the purpose of this work, the kinematic parameters for
the geological events, as well as the probability distribution
considerations of these parameters as random variables, are
given in Table C1.
Geosci. Model Dev., 9, 1019–1035, 2016
J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling 1033
Table C1. Distributions and parameters for Gippsland Basin study.
Event Parameter Distribution type Mean Shape parameter Event name
2 Amplitude Normal 500 100 Early fold
2 Wavelength Normal 15000 2500 Early fold
2XNormal 0 500 Early fold
2ZNormal 0 500 Early fold
3ZNormal 250 100 Permian seds.
4|11 Dip von Mises 70 10 Cape Howe Fault
4|11 Dip Direction von Mises 270 5 Cape Howe Fault
4|11 XNormal 23000 100 Cape Howe Fault
4|11 ZNormal 5000 100 Cape Howe Fault
4 Slip Normal 100 100 Cape Howe Fault
5|10 Dip von Mises 70 10 Cape Everard Fault
5|10 Dip Direction von Mises 286 5 Cape Everard Fault
5|10 XNormal 18000 100 Cape Everard Fault
5|10 YNormal 0 100 Cape Everard Fault
5|10 ZNormal 5000 100 Cape Everard Fault
5 Slip Normal 100 100 Cape Everard Fault
6ZNormal 750 100 Strzelecki seds.
7 Dip von Mises 70 10 Lake Wellington Thrust
7 Dip Direction von Mises 180 5 Lake Wellington
7YNormal 13000 100 Lake Wellington
7ZNormal 5000 100 Lake Wellington
7 Slip Normal 500 100 Lake Wellington
8 Dip von Mises 45 10 Foster Thrust
8 Dip Direction von Mises 10 5 Foster Thrust
8XNormal 8730 100 Foster Thrust
8YNormal 0 100 Foster Thrust
8ZNormal 5000 100 Foster Thrust
8 Slip Normal 500 100 Foster Thrust
9ZNormal 750 100 La Trobe seds.
10 Slip Normal 200 100 Cape Everard
11 Slip Normal 200 100 Cape Howe
12 ZNormal 1000 100 Angler–Seaspray seds. Geosci. Model Dev., 9, 1019–1035, 2016
1034 J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling
The Supplement related to this article is available online
at doi:10.5194/gmd-9-1019-2016-supplement.
Acknowledgements. Florian Wellmann would like to acknowledge
the support from the AICES Graduate School, funded by the
German Research Foundation (DFG). Mark Lindsay would like
to acknowledge the support of the Geological Survey of Western
Australia and the Exploration Incentive Scheme. Mark Jessell
would like to acknowledge his Western Australian Fellowship
and the Geological Survey of Western Australia for their support
of this work. We thank Gautier Laurent and Sergio Zlotnik for
their constructive criticism that helped us improve the manuscript.
Furthermore, we would like to thank Andrew King and other early
contributors to the pynoddy package – and everyone who will
contribute in the future, in advance.
Edited by: L. Gross
Armit, R. J., Betts, P. G., Schaefer, B. F., and Ailleres, L.: Con-
straints on long-lived Mesoproterozoic and Palaeozoic defor-
mational events and crustal architecture in the northern Mount
Painter Province, Australia, Gondwana Res., 22, 207–226, 2012.
Bernecker, T., Woollands, M., Wong, D., Moore, D., and Smith, M.:
Hydrocarbon prospectivity of the deep water Gippsland Basin,
Victoria, Australia, APPEA Journal, 41, 91–113, 2001.
Bistacchi, A., Massironi, M., Dal Piaz, V. G., Monopoli, B., Schi-
avo, A., and Toffolon, G.: 3-D fold and fault reconstruction with
an uncertainty model: An example from an Alpine tunnel case
study, Comput. Geosci., 34, 351–372, 2008.
Bond, C. E.: Uncertainty in structural interpretation: Lessons to be
learnt, J. Struct. Geol., 74, 185–200, 2015.
Bond, E. C., Shipton, K. Z., Jones, R. R., Butler, W. R., and Gibbs,
D. A.: Knowledge transfer in a digital world: Field data ac-
quisition, uncertainty, visualization, and data management, Geo-
sphere, 3, 568–576, doi:10.1130/GES00094.1, 2007.
Caers, J.: Modeling Uncertainty in the Earth Sciences, John Wiley
& Sons, Ltd, Chichester, UK, 2011.
Calcagno, P., Chiles, J.-P., Courrioux, G., and Guillen, A.: Geolog-
ical modelling from field data and geological knowledge: Part I.
Modelling method coupling 3-D potential-field interpolation and
geological rules: Recent Advances in Computational Geodynam-
ics: Theory, Numerics and Applications, Phys. Earth Planet. In.,
171, 147–157, 2008.
Caumon, G., Collon-Drouaillet, P., Le Carlier de Veslud, C., Viseur,
S., and Sausse, J.: Surface-Based 3-D Modeling of Geological
Structures, Math. Geosci., 41, 927–945, 2009.
Cherpeau, N., Caumon, G., Caers, J., and Levy, B.: Method for
Stochastic Inverse Modeling of Fault Geometry and Connectivity
Using Flow Data, Math. Geosci., 44, 147–168, 2012.
Cook, P. J.: Carbon dioxide capture and geological storage: re-
search, development and application in Australia, Int. J. Environ.
Stud., 63, 731–749, 2006.
Gerya, T. V. and Yuen, D. A.: Robust characteristics method for
modelling multiphase visco-elasto-plastic thermo-mechanical
problems, computational Challenges in the Earth Sciences, Phys.
Earth Planet. In., 163, 83–105, 2007.
Hillier, M. J., Schetselaar, E. M., de Kemp, E. A., and Perron,
G.: Three-Dimensional Modelling of Geological Surfaces Us-
ing Generalized Interpolation with Radial Basis Functions, Math.
Geosci., 46, 931–953, 2014.
Hjelt, S.-E.: Magnetostatic anomalies of dipping prisms, Geoexplo-
ration, 10, 239–254, 1972.
Hjelt, S.-E.: The gravity anomaly of a dipping prism, Geoexplo-
ration, 12, 29–39, 1974.
Jessell, M.: “Noddy” – An interactive Map creation Package, Mas-
ter’s thesis, Imperial College of Science and Technology, Lon-
don, UK, 1981.
Jessell, M., Aillères, L., de Kemp, E., Lindsay, M., Wellmann, J. F.,
Hillier, M., Laurent, G., Carmichael, T., and Martin, R.: Next
Generation Three-Dimensional Geologic Modeling and Inver-
sion, Society of Economic Geologists Special Publication, 18,
261–272, 2014.
Jessell, M. W. and Valenta, R. K.: Structural geophysics: Integrated
structural and geophysical modelling, in: Structural Geology and
Personal Computers, edited by: De Paor, D. G., 303–324, Perga-
mon, Elsevier, Oxford, 1996.
Jessell, W. M., Ailleres, L., and Kemp, A. E.: Towards an Integrated
Inversion of Geoscientific data: what price of Geology?, Tectono-
physics, 490, 294–306, 2010.
Judge, P. A. and Allmendinger, R. W.: Assessing uncertainties in
balanced cross sections, J. Struct. Geol., 33, 458–467, 2011.
Kaus, B. J., Gerya, T. V., and Schmid, D. W.: Recent advances in
computational geodynamics: Theory, numerics and applications,
recent Advances in Computational Geodynamics: Theory, Nu-
merics and Applications, Phys. Earth Planet. In., 171, 2–6, 2008.
Lajaunie, C., Courrioux, G., and Manuel, L.: Foliation fields and
3-D cartography in geology: Principles of a method based on
potential interpolation, Math. Geol., 29, 571–584, 1997.
Langtangen, P. H.: Python scripting for computational science,
Springer Verlag, New York, USA, 2008.
Laurent, G., Caumon, G., Bouziat, A., and Jessell, M.: A parametric
method to model 3-D displacements around faults with volumet-
ric vector fields, Tectonophysics, 590, 83–93, 2013.
Laurent, G., Caumon, G., and Jessell, M.: Interactive editing of 3-
D geological structures and tectonic history sketching via a rigid
element method, Comput. Geosci., 74, 71–86, 2015.
Lindsay, M., Ailleres, L., Jessell, M., de Kemp, E., and Betts,
P. G.: Locating and quantifying geological uncertainty in three-
dimensional models: Analysis of the Gippsland Basin, southeast-
ern Australia, Tectonophysics, 546–547, 10–27, 2012.
Lindsay, M. D., Perrouty, S., Jessell, M. W., and Ailleres, L.: Mak-
ing the link between geological and geophysical uncertainty:
geodiversity in the Ashanti Greenstone Belt, Geophys. J. Int.,
195, 903–922, 2013.
Mallet, J.-L.: Discrete smooth interpolation in geometric modelling,
Comput. Aided Design, 24, 178–191, 1992.
Metropolis, N. and Ulam, S.: The Monte Carlo Method, J. Am. Stat.
Assoc., 44, 335–341, 1949.
Moore, D. and Wong, D.: Eastern and Central Gippsland Basin,
Southeast Australia; Basement Interpretation and Basin Links,
Victorian Initiative for Minerals and Petroleum Report 69, De-
Geosci. Model Dev., 9, 1019–1035, 2016
J. F. Wellmann et al.: pynoddy: 3-D kinematic and potential field modelling 1035
partment of Natural Resources and Environment, East Mel-
bourne, 2002.
Moresi, L., Quenette, S., Lemiale, V., Mériaux, C., Appelbe, B., and
Mühlhaus, H.-B.: Computational approaches to studying non-
linear dynamics of the crust and mantle, computational Chal-
lenges in the Earth Sciences, Phys. Earth Planet. In., 163, 69–82,
Norvik, M. and Smith, M.: Mapping the plate tectonic reconstruc-
tion of southern and southeastern Australia and implications for
petroleum systems, APPEA Journal, 41, 15–35, 2001.
Parker, R.: The rapid calculation of potential anomalies, Geophys.
J. Roy. Astr. S., 31, 447–455, 1972.
Polson, D. and Curtis, A.: Dynamics of uncertainty in geological
interpretation, J. Geol. Soc. London, 167, 5–10, 2010.
Pyrcz, M. J. and Deutsch, C. V.: Geostatistical reservoir modeling,
Oxford university press, Oxford, 2014.
Rahmanian, V. D., Moore, P. S., Mudge, W. J., and Spring, D. E.:
Sequence stratigraphy and the habitat of hydrocarbons, Gipps-
land Basin, Australia, Geological Society, London, Special Pub-
lications, 50, 525–544, 1990.
Regenauer-Lieb, K., Veveakis, M., Poulet, T., Wellmann, F., Kar-
rech, A., Liu, J., Hauser, J., Schrank, C., Gaede, O., and Trefry,
M.: Multiscale coupling and multiphysics approaches in earth
sciences: Theory, Journal of Coupled Systems and Multiscale
Dynamics, 1, 49–73, 2013.
Sen, M. and Duffy, T.: GeoSciML: development of a generic geo-
science markup language, Comput. Geosci., 31, 1095–1103,
Simons, B., Boisvert, E., Brodaric, B., Cox, S., Duffy, T. R., John-
son, B. R., Laxton, J. L., and Richard, S.: GeoSciML: enabling
the exchange of geological map data, ASEG Extended Abstracts,
2006, 1–4, 2006.
Sprague, K., Kemp, E., Wong, W., McGaughey, J., Perron, G., and
Barrie, T.: Spatial targeting using queries in a 3-D GIS environ-
ment with application to mineral exploration, Comput. Geosci.,
32, 396–418, 2006.
Suzuki, S., Caumon, G., and Caers, J.: Dynamic data integration for
structural modeling: model screening approach using a distance-
based model parameterization, Computat. Geosci., 12, 105–119,
Wellmann, J. F.: Information Theory for Correlation Analysis and
Estimation of Uncertainty Reduction in Maps and Models, En-
tropy, 15, 1464–1485, 2013.
Wellmann, J. F. and Regenauer-Lieb, K.: Uncertainties have a
meaning: Information entropy as a quality measure for 3-D geo-
logical models, Tectonophysics, 526-529, 207–216, 2012.
Wellmann, J. F., Horowitz, F. G., Schill, E., and Regenauer-Lieb,
K.: Towards incorporating uncertainty of structural data in 3-D
geological inversion, Tectonophysics, 490, 141–151, 2010.
Wellmann, J. F., Croucher, A., and Regenauer-Lieb, K.: Python
scripting libraries for subsurface fluid and heat flow simulations
with TOUGH2 and SHEMAT, Comput. Geosci., 43, 197–206,
2011. Geosci. Model Dev., 9, 1019–1035, 2016

Supplementary resource (1)

... The automation of model generation using Noddy was first explored using a genetic algorithm approach to modifying parameters as a way of inverting for potential-field geophysical data, specifically gravity and magnetics (Farrell et al., 1996). Wellmann et al. (2016) developed a modern Python interface to Noddy to allow stochastic variations of the input parameters to be analysed in a Bayesian framework. Finally Thiele et al. (2016a, b) used this ability to investigate the sensitivity of variations in spatial and temporal relationships as a function of variations in input parameters. ...
... As opposed to Wellmann et al. (2016), Thiele et al. (2016) and Guo et al. (2022), who used a Python wrapper to generate stochastic model suites, in this study we have modified the C code itself to simplify use by third parties, although the philosophy of model generation is an extension of, as well as very similar to, these earlier studies. The most significant difference is that we have added petrophysical variations by randomly selecting from a set of stratigraphic groups; see the next section. ...
... As opposed to Wellmann et al. (2016), Thiele et al. (2016) and Guo et al. (2022), who used a Python wrapper to generate stochastic model suites, in this study we have modified the C code itself to simplify use by third parties, although the philosophy of model generation is an extension of, as well as very similar to, these earlier studies. The most significant difference is that we have added petrophysical variations by randomly selecting from a set of stratigraphic groups; see the next section. ...
Full-text available
Unlike some other well-known challenges such as facial recognition, where machine learning and inversion algorithms are widely developed, the geosciences suffer from a lack of large, labelled data sets that can be used to validate or train robust machine learning and inversion schemes. Publicly available 3D geological models are far too restricted in both number and the range of geological scenarios to serve these purposes. With reference to inverting geophysical data this problem is further exacerbated as in most cases real geophysical observations result from unknown 3D geology, and synthetic test data sets are often not particularly geological or geologically diverse. To overcome these limitations, we have used the Noddy modelling platform to generate 1 million models, which represent the first publicly accessible massive training set for 3D geology and resulting gravity and magnetic data sets (, Jessell, 2021). This model suite can be used to train machine learning systems and to provide comprehensive test suites for geophysical inversion. We describe the methodology for producing the model suite and discuss the opportunities such a model suite affords, as well as its limitations, and how we can grow and access this resource.
... The basic premise of this technique-that magma and wall-rock above the Curie temperature are magnetically "transparent"-is well established (Purucker & Whaler, 2015). We used the free aeromagnetic modeling program Noddy (; Jessell, 2001;Wellmann et al., 2016) Figure 4). The goal of each model is to explore the changes in magnetic signal associated with magma movement, not to create perfectly accurate models of the system as a whole. ...
Full-text available
Monitoring of active volcanic systems is a challenging task due in part to the trade‐offs between collection of high‐quality data from multiple techniques and the high costs of acquiring such data. Here we show that magnetic data can be used to monitor volcanoes by producing similar data to gravimetric techniques at significantly lower cost. The premise of this technique is that magma and wall rock above the Curie temperature are magnetically “transparent,” but not stationary within the crust. Subsurface movements of magma can affect the crustal magnetic field measured at the surface. We construct highly simplified magnetic models of four volcanic systems: Mount Saint Helens (1980), Axial Seamount (2015–2020), Kīlauea (2018), and Bárðarbunga (2014). In all cases, observed or inferred changes to the magmatic system would have been detectable by modern magnetometers. Magnetic monitoring could become common practice at many volcanoes, particularly in developing nations with high volcanic risk.
... Probabilistic inversion workflows that incorporate forward geophysics based on forward-modeled 3-D structural geology are, to date, still uncommon, owing in part to computational challenges faced by sampling algorithms. The pyNoddy code (Wellmann et al., 2016) provided a wrapper to Noddy to enable Monte Carlo sampling of 3-D block models and potential fields, but not posterior sampling of an inversion conditioned on gravity or magnetic data. The Obsidian distributed inversion code (McCalman et al., 2014) implemented a geological model of a layered sedimentary basin with explicit unit boundaries to explore geothermal potential (Beardsmore et al., 2016); it featured multiple geophysical sensors and a parallel-tempered MCMC sampler for complete exploration of multi-modal posteriors. ...
Full-text available
Parametric geological models such as implicit or kinematic models provide low-dimensional, interpretable representations of 3-D geological structures. Combining these models with geophysical data in a probabilistic joint inversion framework provides an opportunity to directly quantify uncertainty in geological interpretations. For best results, care must be taken with the intermediate step of rendering parametric geology in a finite-resolution discrete basis for the geophysical calculation. Calculating geophysics from naively voxelized geology, as exported from commonly used geological modeling tools, can produce a poor approximation to the true likelihood, degrading posterior inference for structural parameters. We develop a simple integrated Bayesian inversion code, called Blockworlds, showcasing a numerical scheme to calculate anti-aliased rock properties over regular meshes for use with gravity and magnetic sensors. We use Blockworlds to demonstrate anti-aliasing in the context of an implicit model with kinematic action for simple tectonic histories, showing its impact on the structure of the likelihood for gravity anomaly.
... To date, various works have presented and discussed the use of implicit methods, including cokriging-based modelling (Calcagno et al., 2008;Gonçalves et al., 2017;Hillier et al., 2014;Lajaunie et al., 1997), volume-based modelling (Iskenova et al., 2016;Souche et al., 2013), kinematic modelling (Brandes and Tanner, 2014;Caumon, 2010) and others (Lemon and Jones, 2003;Muzik et al., 2015). In addition, open-source software such as Noddy/pynoddy (Florian Wellmann et al., 2016;Jessell and Valenta, 1996) and GemPy (De La Varga et al., 2019;Schaaf et al., 2020) and commercial software such as GDM Suite (BRGM, 2020), MOVE (Petroleum Experts, 2019), Vulcan 3D/EUREKA (Maptek, 2021), Leapfrog (Seequent, 2021a) and Oasis Montaj (Seequent, 2021b) are powered by these methods. Most of these computer programs contain more than one method, and although they are known as implicit modelers, they benefit from explicit modelling in some stages of geological model evaluation. ...
Full-text available
Geological modelling is an essential aspect of underground investigations, with cross-sections being one of the key aspects. This modelling can be done by experienced geologists or using mathematical methods. We present Geopropy, an open-source decision-making algorithm implemented in Python, that generates 3D cross-sections (the boreholes do not have to be aligned). It performs as an intelligent agent that simulates the steps taken by the geologist in the process of creating the cross-section, coupled with data-driven decisions. The algorithm detects zones with more than one possible outcome and, based on the level of complexity (or user preference), proceeds to automatic, semiautomatic or manual stages. Geopropy could be the basis of a new, simpler, more comprehensible way of looking at geological models in industry and academia while at the same time creating the potential for using novel machine learning algorithms in geological modelling.
... Computing the orientation of a plane based on three points (e.g. Groshong, 2006;Wellmann et al., 2016) was then applied to several cases that differed in the number of points involved in the simulation. For more than three-points involved in a case study, Delaunay triangulation was run. ...
This study presents experimental results from assessing fault orientation using triangulation and a combinatorial algorithm. We constructed two geological surfaces with vertical and inclined faults. These surfaces were documented by boreholes and represented by triangulated surfaces. We first calculated orientations for a small sample of triangles genetically related to faults that were also members of the Delaunay triangulation. To reduce the epistemic uncertainty regarding the true fault strike, we applied a combinatorial algorithm that allowed us to investigate the orientation distribution of all planes genetically related to the fault. The experiment revealed three unintuitive effects that require further studies: 1) greater concentration of observations about the true dip direction; 2) the same dip direction for different triangles; and 3) triangles that dip in the opposite direction to the fault. To conduct spatial clustering within surfaces, we suggest considering a broader interval of orientations related to faults. This broader interval serves to honor the observation that orientations can be genetically related to faults, even if they indicate a relatively high directional within-dissimilarity. We suggest statistical methods for circular data to investigate the resulting distributions. The computer code associated with this study is open source and freely available.
Conventional gravity inversion techniques have limited ability to quantify structural uncertainty in geologic models. In this paper, a stochastic framework is proposed that directly incorporates fault-related and density-related uncertainty into the inversion process. The approach uses Monte Carlo simulation to generate model realizations and the gradual deformation method to further refine models to match observed data. To guarantee that model realizations are structurally restorable, fault displacements are generated using a kinematic modeling approach in which fault model properties such as the number of faults, location, dip, slip, and orientation are considered uncertain. Using a synthetic case study problem, a reference gravity field was inverted to generate a suite of posterior model realizations. Analysis of the posterior models was used to create a fault probability map as well as quantify the distribution of slip and dip of faults in three zones of deformation. Uncertainty in density values was found to be greatly reduced in the top 250 m depth, suggesting limited sensitivity to deeper sources in this example. Following the synthetic case study problem, the inversion approach was applied to a field-observed gravity profile in Dixie Valley, Nevada, and the inversion results were compared to a previously published forward gravity model. By generating a suite of posterior models, structural uncertainty can be better assessed to make more informed decisions in a host of subsurface modeling problems.
Gravity field data constitute an important underlying dataset used in exploration models for new geothermal development, providing constraints on both basin geometry and fault locations. However, the impact of data and model uncertainty on gravity interpretation is often overlooked in conventional gravity modeling approaches, leading to geothermal exploration models that may be biased or undercount risk. In this study, a stochastic approach to gravity modeling is used to investigate these impacts on gravity data from Dixie Valley geothermal field in central Nevada. To address data uncertainty due to interpolation of irregularly spaced gravity measurements, realizations of the gravity field in Dixie Valley are generated by geostatistical simulation and independently inverted to show how inversion results are affected by sparse data sampling. Inversion is performed using a pseudo 3D approach in which subparallel profiles are inverted using a novel stochastic methodology that was developed to account for structural and density uncertainty. Whereas areas with high data density show relatively consistent inversion results across data realizations, areas with low data density show the opposite, indicating that data uncertainty has a marked impact on both depth-to-basement estimates as well as modeled fault locations. Inverted fault locations show high correlation with the total horizontal gravity field gradient, enabling co-simulation of fault-related properties to estimate fault location and density variation beyond profile transects. By employing stochastic modeling approaches, fault properties needed for geothermal exploration such as distance-to-fault maps are estimated with uncertainty bounds at specified depths.
Initial development of shallow subsurface geological models was mostly related to assessments of groundwater resources or mitigation of sources of subsurface pollution. Geological models have become an integral part of major civil engineering design, construction, and management projects. Geological survey organizations exist as both national geological surveys and regional state or provincial geological surveys. Analyses of geological hazards, the stability of underground excavations, and groundwater and surface water interactions involve complex time‐varying processes, and so are 4‐D. Geographic information systems evolved to provide limited 3‐D display capabilities, such as contoured maps or isometric views by treating elevation as a dependent variable, or attribute, of spatial location. During 1988 and 1989, critical performance/cost thresholds were crossed, and the initial commercial 3‐D geological modeling software products were announced and demonstrated. The chapter also presents an overview on the key concepts discussed in this book.
Financial risk due to geological uncertainty is a major barrier for geothermal development. Production from a geothermal well depends on the unknown location of subsurface geological structures, such as faults that contain hydrothermal fluids. Traditionally, geoscientists collect many different datasets, interpret the datasets manually, and create a single model estimating faults' locations. This method, however, does not provide information about the uncertainty regarding the location of faults and often does not fully respect all observed datasets. Previous researchers investigated the use of stochastic inversion schemes for addressing geological uncertainty, but often at the expense of geologic realism. In this paper, we present algorithms and open-source code to stochastically invert five typical datasets for creating geologically realistic structural models. Using a case study with real data from the Patua Geothermal Field, we show that these inversion algorithms are successful in finding an ensemble of structural models that are geologically realistic and match the observed data sufficiently. Geoscientists can use this ensemble of models to optimize reservoir management decisions given structural uncertainty.
Full-text available
Virtual outcrop models are increasingly used in geoscience education to supplement field-based learning but their efficacy for teaching key 3D spatial thinking skills has been little tested. With the rapid increase in online digital learning resources and blended learning, most recently because of the global COVID-19 pandemic, understanding the role of virtual field environments in supporting and developing skills conventionally taught through field-based teaching has never been more critical. Here we show the efficacy of virtual outcrop models in improving 3D spatial thinking and provide evidence for positive perceptions amongst participants using virtual outcrops in teaching and learning. Our results show that, in a simple, multiple-choice scenario, participants were more likely to choose the 3D block diagram that best represents the structure when using a virtual outcrop (59 %) compared to more traditional representations, such as a geological map (50 %) or field photograph (40 %). We add depth to these results by capturing the perceptions of a cohort of students, within our full participant set, on the use of virtual outcrops for teaching and learning, after accessing a virtual field site and outcrops which they had previously visited during a day's field teaching. We also asked all participants if and how virtual outcrops could be used effectively for teaching and training, recording 87 % of positive responses. However, only 2 % of participants felt that virtual outcrops could potentially replace in-field teaching. We note that these positive findings signal significant potential for the effective use of virtual outcrops in a blended learning environment and for breaking barriers to increase the equality, diversity and inclusivity of geoscience field skills and teaching.
Full-text available
Existing three-dimensional (3-D) geologic systems are well adapted to high data-density environments, such as at the mine scale where abundant drill core exists, or in basins where 3-D seismic provides stratigraphic con-straints but are poorly adapted to regional geologic problems. There are three areas where improvements in the 3-D workflow need to be made: (1) the handling of uncertainty, (2) the model-building algorithms themselves, and (3) the interface with geophysical inversion. All 3-D models are underconstrained, and at the regional scale this is especially critical for choosing modeling strategies. The practice of only producing a single model ignores the huge uncertainties that underlie model-building processes, and underpins the difficulty in providing meaningful information to end-users about the inherent risk involved in applying the model to solve geologic problems. Future studies need to recognize this and focus on the characterization of model uncertainty, spatially and in terms of geologic features, and produce plausible model suites, rather than single models with unknown validity. The most promising systems for understanding uncertainty use implicit algorithms because they allow the inclusion of some geologic knowledge, for example, age relationships of faults and onlap-offlap relationships. Unfortunately, existing implicit algorithms belie their origins as basin or mine modeling systems because they lack inclusion of normal structural criteria, such as cleavages, lineations, and recognition of polydeformation, all of which are primary tools for the field geologist that is making geologic maps in structurally complex areas. One area of future research will be to establish generalized structural geologic rules that can be built into the modeling process. Finally, and this probably represents the biggest challenge, there is the need for geologic meaning to be maintained during the model-building processes. Current data flows consist of the construction of complex 3-D geologic models that incorporate geologic and geophysical data as well as the prior experience of the modeler, via their interpretation choices. These inputs are used to create a geometric model, which is then transformed into a petrophysical model prior to geophysical inversion. All of the underlying geologic rules are then ignored during the geophysical inversion process. Examples exist that demonstrate that the loss of geologic meaning between geologic and geophysical modeling can be at least partially overcome by increased use of uncertainty characteristics in the workflow.
Full-text available
A generalized interpolation framework using radial basis functions (RBF) is presented that implicitly models three-dimensional continuous geological surfaces from scattered multivariate structural data. Generalized interpolants can use multiple types of independent geological constraints by deriving for each, linearly independent functionals. This framework does not suffer from the limitations of previous RBF approaches developed for geological surface modelling that requires additional offset points to ensure uniqueness of the interpolant. A particularly useful application of generalized interpolants is that they allow augmenting on-contact constraints with gradient constraints as defined by strike-dip data with assigned polarity. This interpolation problem yields a linear system that is analogous in form to the previously developed potential field implicit interpolation method based on co-kriging of contact increments using parametric isotropic covariance functions. The general form of the mathematical framework presented herein allows us to further expand on solutions by: (1) including stratigraphic data from above and below the target surface as inequality constraints (2) modelling anisotropy by data-driven eigen analysis of gradient constraints and (3) incorporating additional constraints by adding linear functionals to the system, such as fold axis constraints. Case studies are presented that demonstrate the advantages and general performance of the surface modelling method in sparse data environments where the contacts that constrain geological surfaces are rarely exposed but structural and off-contact stratigraphic data can be plentiful.
Full-text available
Numerical models of geological structures are generally built with a geometrical approach, which lacks an explicit representation of the deformation history and may lead to incompatible structures. We advocate that the deformation history should be investigated and represented from the very first steps of the modelling process, provided that a series of rapid, interactive or automated, deformation tools are available for local editing, forward modelling and restoration. In this paper, we define the specifications of such tools and emphasise the need for rapidity and robustness. We briefly review the different applications of deformation tools in geomodelling and the existing deformation algorithms. We select a deformation algorithm based on rigid elements, first presented in the Computer Graphics community, which we refer to as Reed. It is able to rapidly deform any kind of geometrical object, including points, lines or volumes, with an approximated mechanical behaviour. The objects to be deformed are embedded in rigid cells whose displacement is optimised by minimising a global cost function with respect to displacement boundary conditions. This cost function measures the difference in displacement between neighbouring elements. The embedded objects are then deformed based on their original position with respect to the rigid elements. We present the basis of our implementation of this algorithm and highlight its ability to fulfil the specifications we defined. Its application to geomodelling specific problems is illustrated through the construction of a synthetic structural model of multiply deformed layers with a forward modelling approach. A special boundary condition adapted to restore large folds is also presented and applied to the large anticline of Han-sur-Lesse, Belgium, which demonstrates the ability of this method to efficiently perform a volumetric restoration without global projections.
Conference Paper
Full-text available
SUMMARY The CGI data model working group have established an initial geology data model and XML based exchange language to accommodate geological map data, referred to as GeoSciML. The language is based on prior work carried out at North American, European and Australian geological survey and research organisations. Unified Modelling Language (UML) has been used as a design aid for capturing the geological concepts and their properties. The UML model has then been converted to the GML-conformant GeoSciML. The design of GeoSCiML meets the short-term goal of accommodating the geoscience information presented on geological maps, as well as being fully extensible to include the full range of geological concepts covered by the geosciences. To demonstrate the ability of GeoSciML to deliver data via web feature services, a small subset has been selected as a testbed. This testbed will deliver lithostratigraphic units, boreholes, faults, contacts and compound materials from different national geological surveys.
Modeling Uncertainty in the Earth Sciences highlights the various issues, techniques and practical modeling tools available for modeling the uncertainty of complex Earth systems and the impact that it has on practical situations. The aim of the book is to provide an introductory overview which covers a broad range of tried-and-tested tools. Descriptions of concepts, philosophies, challenges, methodologies and workflows give the reader an understanding of the best way to make decisions under uncertainty for Earth Science problems. The book covers key issues such as: Spatial and time aspect; large complexity and dimensionality; computation power; costs of 'engineering' the Earth; uncertainty in the modeling and decision process. Focusing on reliable and practical methods this book provides an invaluable primer for the complex area of decision making with uncertainty in the Earth Sciences.
After 35 years of successful exploration and development, the Gippsland Basin is perceived as a mature basin. Several world class fields have produced 3.6 billion (109) BBL (569 GL) oil and 5.2 TCF (148 Gm3) gas. Without additional discoveries, it is predicted that further significant decline in production will occur in the next decade.However, the Gippsland Basin is still relatively underexplored when compared to other prolific hydrocarbon provinces. Large areas are undrilled, particularly in the eastern deepwater part of the basin. Here, an interpretation of new regional aeromagnetic and deep-water seismic data sets, acquired through State and Federal government initiatives, together with stratigraphic, sedimentological and source rock maturation modelling studies have been used to delineate potential petroleum systems.In the currently gazetted deepwater blocks, eight structural trapping trends are present, each with a range of play types and considerable potential for both oil and gas. These include major channel incision plays, uplifted anticlinal and collapsed structures that contain sequences of marine sandstones and shales (deepwater analogues of the Marlin and Turrum fields), as well as large marine shale-draped basement horsts.The study has delineated an extensive near-shore marine, lower coastal plain and deltaic facies association in the Golden Beach Subgroup. These Late Cretaceous strata are comparable to similar facies of the Tertiary Latrobe Siliciclastics and extend potential source rock distribution beyond that of previous assessments. In the western portion of the blocks, overburden is thick enough to drive hydrocarbon generation and expulsion. The strata above large areas of the source kitchen generally dip to the north and west, promoting migration further into the gazetted areas.Much of the basin’s deepwater area, thus, shares the deeper stratigraphy and favourable subsidence history of the shallow water producing areas. Future exploration and production efforts will, however, be challenged by the 200–2500 m water-depths and local steep bathymetric gradients, which affect prospect depth conversion and the feasibility of development projects in the case of successful exploration.
Southern Australian breakup history is divisible into three phases. The first phase began with Callovian (c.159–165 Ma) rifting in the western Bight Basin. During the Tithonian (c.142–146 Ma), rifting extended eastwards into the Duntroon, Otway and Gippsland Basins. By the Valanginian (c.130–135 Ma), ocean crust formed between India and western Australia. Structural style in the western Bight changed to thermal subsidence. However, fluvio-lacustrine rift sedimentation continued in Duntroon, Otway and Gippsland until the Barremian (c.115–123 Ma) when these basins also changed to thermal subsidence. The diachronous progression of basin fill types produces a progressive shift in ages of potential source, seal and reservoir intervals along the margin.The second phase began during the Cenomanian (c.92–97.5 Ma) with uplift in eastern Australia, stress reorganisation and divergence of basin development. The Otway, Sorell and Great South Basins formed in a transtensional regime. These tectonics resulted in trap generation through faulting, inversion and wrenching. During the Santonian, oceanic spreading began in the southern Tasman Sea (c.85 Ma). Slow extension caused thinning of continental crust in the Bight and Otway Basins and subsidence into deeper water. Ocean crust formed south of the Bight Basin in the Early Campanian (c.83 Ma) and also started extending up the eastern Australian coast.The third stage in development was caused by Eocene changes to fast spreading in the Southern Ocean (c.44 Ma), final separation of Australia and Antarctica, and cessation of Tasman Sea spreading. These events caused collapse of continental margins and widespread marine transgression. The resultant loading, maturation and marine seal deposition are critical to petroleum prospectivity in the Gippsland Basin.
Uncertainty in the interpretation of geological data is an inherent element of geology. Datasets from different sources: remotely sensed seismic imagery, field data and borehole data, are often combined and interpreted to create a geological model of the sub-surface. The data have limited resolution and spatial distribution that results in uncertainty in the interpretation of the data and in the subsequent geological model(s) created. Methods to determine the extent of interpretational uncertainty of a dataset, how to capture and express that uncertainty, and consideration of uncertainties in terms of risk have been investigated. Here I review the work that has taken place and discuss best practice in accounting for uncertainties in structural interpretation workflows. Barriers to best practice are reflected on, including the use of software packages for interpretation. Experimental evidence suggests that minimising interpretation error through the use of geological reasoning and rules can help decrease interpretation uncertainty; through identification of inadmissible interpretations and in highlighting areas of uncertainty. Understanding expert thought processes and reasoning, including the use of visuospatial skills, during interpretation may aid in the identification of uncertainties, and in the education of new geoscientists.