-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
320 lines (277 loc) · 18.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
<!DOCTYPE html>
<html lang="en" data-content_root="./">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>About — GemPy 2023.2.0b1 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=270d38c7" />
<link rel="stylesheet" type="text/css" href="_static/sg_gallery.css?v=61a4c737" />
<link rel="stylesheet" type="text/css" href="_static/sg_gallery-binder.css?v=f4aeca0c" />
<link rel="stylesheet" type="text/css" href="_static/sg_gallery-dataframe.css?v=2082cf3c" />
<link rel="stylesheet" type="text/css" href="_static/sg_gallery-rendered-html.css?v=1277b6f3" />
<script src="_static/documentation_options.js?v=acace1bb"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="icon" href="_static/favicon.ico"/>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Installation" href="installation.html" />
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head><body>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="about">
<h1>About<a class="headerlink" href="#about" title="Link to this heading">¶</a></h1>
<section id="open-source-software-for-implicit-3d-structural-geological-modeling-in-python">
<h2>Open-source software for implicit 3D structural geological modeling in Python.<a class="headerlink" href="#open-source-software-for-implicit-3d-structural-geological-modeling-in-python" title="Link to this heading">¶</a></h2>
<section id="overview">
<h3>Overview<a class="headerlink" href="#overview" title="Link to this heading">¶</a></h3>
<p><code class="docutils literal notranslate"><span class="pre">GemPy</span></code> is a Python-based, community-driven, <strong>open-source geomodeling library</strong>. It is
capable of constructing complex <strong>3D geological models</strong> including various features such as
fold structures, fault networks and unconformities, based on an underlying
powerful <strong>implicit</strong> approach. From the ground up, <code class="docutils literal notranslate"><span class="pre">GemPy</span></code> was designed to be easily embedded in probabilistic frameworks for conducting
uncertainty analysis regarding subsurface structures.</p>
<p>3D models created with GemPy may look like this:</p>
<img alt="_images/perth_example.png" src="_images/perth_example.png" />
<p>Contents:</p>
<div class="toctree-wrapper compound">
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">About</a></li>
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="installation.html#installing-gempy">Installing <code class="docutils literal notranslate"><span class="pre">GemPy</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="installation.html#enhanced-installation-options">Enhanced Installation Options</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation.html#manual-installation">Manual Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation.html#dependencies">Dependencies</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="projects.html">Additional projects</a><ul>
<li class="toctree-l2"><a class="reference internal" href="projects.html#augmented-reality-geology-sandbox">Augmented-Reality Geology Sandbox</a></li>
<li class="toctree-l2"><a class="reference internal" href="projects.html#remote-geomod-from-googleearth-to-3-d-geology">Remote Geomod: From GoogleEarth to 3-D Geology</a></li>
</ul>
</li>
</ul>
</div>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Getting started</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="tutorials/index.html">GemPy Tutorials</a><ul>
<li class="toctree-l2"><a class="reference internal" href="tutorials/index.html#getting-started">Getting Started</a></li>
<li class="toctree-l2"><a class="reference internal" href="tutorials/index.html#chapter-1-gempy-fundamentals">Chapter 1: GemPy fundamentals</a></li>
<li class="toctree-l2"><a class="reference internal" href="tutorials/index.html#chapter-3-domain-kriging">Chapter 3: Domain Kriging</a></li>
<li class="toctree-l2"><a class="reference internal" href="tutorials/index.html#chapter-4-topological-analysis">Chapter 4: Topological analysis</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="examples/index.html">Examples</a><ul>
<li class="toctree-l2"><a class="reference internal" href="examples/index.html#simple-geometries">Simple geometries</a></li>
<li class="toctree-l2"><a class="reference internal" href="examples/index.html#real-case-studies">Real case studies</a></li>
</ul>
</li>
</ul>
</div>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">API Reference</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="api_reference.html">Code</a><ul>
<li class="toctree-l2"><a class="reference internal" href="api_reference.html#gempy-api">GemPy API</a></li>
<li class="toctree-l2"><a class="reference internal" href="api_reference.html#plot">Plot</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="api_reference.html#data-classes">Data Classes</a><ul>
<li class="toctree-l2"><a class="reference internal" href="api_reference.html#module-gempy.core.data">Modeling Classes</a></li>
<li class="toctree-l2"><a class="reference internal" href="api_reference.html#helper-classes">Helper Classes</a></li>
<li class="toctree-l2"><a class="reference internal" href="api_reference.html#enumerators">Enumerators</a></li>
</ul>
</li>
</ul>
</div>
</section>
<section id="features">
<h3>Features<a class="headerlink" href="#features" title="Link to this heading">¶</a></h3>
<section id="geological-features">
<h4>Geological features<a class="headerlink" href="#geological-features" title="Link to this heading">¶</a></h4>
<!-- Start with an intro to the geological features - instead of algo --><p><code class="docutils literal notranslate"><span class="pre">GemPy</span></code> is capable of modeling complex 3D geological scenarios, including:</p>
<ul class="simple">
<li><p>Multiple conformal layers (e.g. sequences of sedimentary layers)</p></li>
<li><p>Several sequences of layers, with conformal continuation or unconformities</p></li>
<li><p>Magmatic bodies of (almost) arbitrary shapes</p></li>
<li><p>Faults (offset calculated automatically from affected geological objects)</p></li>
<li><p>Full fault networks (faults affecting faults)</p></li>
<li><p>Folds (affecting single layers or entire layer stacks, including overturned and recumbent folds)</p></li>
</ul>
<p>Combining these elements in GemPy allows for the generation of realistic
3D geological models, on a par with most commercial geomodeling software.</p>
<!-- Note: we should inlcude here links to models and/or publications where
gempy has been used for realistic models! --></section>
<section id="interpolation-approach">
<h4>Interpolation approach<a class="headerlink" href="#interpolation-approach" title="Link to this heading">¶</a></h4>
<p>The generation of complex structural settings is based on the powerful
interpolation algorithm underlying <code class="docutils literal notranslate"><span class="pre">GemPy</span></code>, a unviersal cokriging method
devoised by <cite>Lajaunie et al. (1997)</cite> and extended by <cite>Calcagno et al. (2008)</cite>.
This method is used to interpolate a 3D scalar field, such that geologically
significant interfaces are isosurfces in this field.</p>
<p>The algorithm allows for a direct integration of two of the most relevant
geological input data types:</p>
<ul class="simple">
<li><p><strong>Surface contact points</strong>: 3D coordinates of points marking the boundaries
between different features (e.g. layer interfaces, fault planes, unconformities).</p></li>
<li><p><strong>Orientation measurements</strong>: Orientation of the poles perpendicular to
the dipping of surfaces at any point in the 3D space.</p></li>
</ul>
<p><code class="docutils literal notranslate"><span class="pre">GemPy</span></code> also allows for the definition of topological elements such as
combining multiple stratigraphic sequences and
complex fault networks to be considered in the modeling process.</p>
<img alt="_images/modeling_principle.png" src="_images/modeling_principle.png" />
</section>
<section id="integrated-visualization">
<h4>Integrated visualization<a class="headerlink" href="#integrated-visualization" title="Link to this heading">¶</a></h4>
<p>Models generated with <code class="docutils literal notranslate"><span class="pre">GemPy</span></code> can be visualized in several ways:</p>
<ul class="simple">
<li><p>direct visualization of 2D model sections (or geological maps) using
<code class="docutils literal notranslate"><span class="pre">matplotlib</span></code>, including hillshading and other options for intuitive
representation of results;</p></li>
<li><p>interactive 3D visualization and model input manipulation using the
Visualization Toolkit (VTK);</p></li>
<li><p>We also actively develop a link to the fantastic
<a class="reference external" href="https://www.pyvista.org">pyvista</a> project
for even better visualization and model interaction in 3D.</p></li>
</ul>
<p>In addition to visualization, the generated models can be exported
in a variety of ways:</p>
<ul class="simple">
<li><p>Export of VTK files for further visualization and processing in other
software such as ParaView;</p></li>
<li><p>Export of triangulated surface meshes (e.g. for further processing in
meshing programs);</p></li>
<li><p>Export of images (e.g. geological maps).</p></li>
</ul>
<p>We are also currently working on a tighter integration with several
meshing libraries, notably <a class="reference external" href="https://www.cgal.org">CGAL</a> and <a class="reference external" href="https://gmsh.info">gmesh</a>. In addition, we have
established links to several other open-source libraries, including <a class="reference external" href="https://www.pygimli.org">pygiml</a>
for geophysical modeling and inversion. In the current state, however, these
links have to be considered as highly experimental and they are not yet
part of the stable release. If you are interested in these features,
feel free to contact us.</p>
<a class="reference external image-reference" href="https://cgre-aachen.github.io/gempy/_images/sphx_glr_ch1_1_basics_009.png"><img alt="_images/vtkFault.png" src="_images/vtkFault.png" style="width: 70%;" /></a>
</section>
<section id="stochastic-geological-modeling">
<h4>Stochastic geological modeling<a class="headerlink" href="#stochastic-geological-modeling" title="Link to this heading">¶</a></h4>
<p>One of the most advanced features that sets <code class="docutils literal notranslate"><span class="pre">GemPy</span></code> also apart from
available commercial packages is the full integration of stochastic
geological modeling methods.
<code class="docutils literal notranslate"><span class="pre">GemPy</span></code> was designed from the ground up to support stochastic geological
modeling for uncertainty analysis (e.g. Monte Carlo simulations, Bayesian
inference). This was achieved by writing <code class="docutils literal notranslate"><span class="pre">GemPy</span></code>’s core architecture
using the numerical computation library <a class="reference external" href="http://deeplearning.net/software/aesara/">aesara</a>
to couple it with the probabilistic programming
framework <a class="reference external" href="https://pymc-devs.github.io/pymc3/notebooks/getting_started.html">PyMC3</a>.
This enables the use of advanced sampling methods (e.g. Hamiltonian Monte
Carlo) and is of particular relevance when considering uncertainties in
the model input data and making use of additional secondary information
in a Bayesian inference framework.</p>
<p>We can, for example, include uncertainties with respect to the z-position
of layer boundaries in the model space. Simple Monte Carlo simulation
via PyMC will then result in different model realizations.</p>
<!-- Removed images as wobble.gif not anymore included - TODO: include
new images to represent stochastic modeling capabilities!
<p align="center"><img src="docs/source/images/gempy_zunc.png" height="300">
<img src="docs/source/images/model_wobble.gif" height="300"></p>
--><p>aesara allows the automated computation of gradients, opening the door to
the use of advanced gradient-based sampling methods
coupling <code class="docutils literal notranslate"><span class="pre">GemPy</span></code> and
<a class="reference external" href="https://pymc-devs.github.io/pymc3/notebooks/getting_started.html">PyMC3</a>
for advanced stochastic modeling. Also, the use of aesara allows making
use of GPUs through cuda (see the aesara documentation for more information.</p>
<p>Making use of vtk interactivity and <a class="reference external" href="https://github.com/quantopian/qgrid">Qgrid</a> ,
<code class="docutils literal notranslate"><span class="pre">GemPy</span></code> provides a functional interface to interact with input data and models.</p>
<p>For a more detailed elaboration of the theory behind <code class="docutils literal notranslate"><span class="pre">GemPy</span></code>, we refer to the
<strong>open access scientific publication</strong>:
<a class="reference external" href="https://www.geosci-model-dev.net/12/1/2019/gmd-12-1-2019.pdf">“GemPy 1.0: open-source stochastic geological modeling and inversion”
by de la Varga et al. (2019)</a>.</p>
</section>
</section>
<section id="references">
<h3>References<a class="headerlink" href="#references" title="Link to this heading">¶</a></h3>
<ul class="simple">
<li><p>de la Varga, M., Schaaf, A., and Wellmann, F.: GemPy 1.0: <cite>open-source stochastic geological modeling and inversion,</cite> Geosci. Model Dev., 12, 1–32, <a class="reference external" href="https://doi.org/10.5194/gmd-12-1-2019">https://doi.org/10.5194/gmd-12-1-2019</a>, 2019.</p></li>
<li><p>Calcagno, P., Chilès, J. P., Courrioux, G., & Guillen, A. (2008). <cite>Geological modelling from field data and geological knowledge: Part I. Modelling method coupling 3D potential-field interpolation and geological rules.</cite> Physics of the Earth and Planetary Interiors, 171(1-4), 147-157.</p></li>
<li><p><cite>Lajaunie, C., Courrioux, G., & Manuel, L. (1997). `Foliation fields and 3D cartography in geology: principles of a method based on potential interpolation.</cite> Mathematical Geology, 29(4), 571-584.</p></li>
</ul>
</section>
</section>
</section>
<section id="indices-and-tables">
<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Link to this heading">¶</a></h1>
<ul class="simple">
<li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
<li><p><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></p></li>
</ul>
<a class="reference internal image-reference" href="_images/logo_CGRE.png"><img alt="_images/logo_CGRE.png" src="_images/logo_CGRE.png" style="width: 40%;" /></a>
<a class="reference internal image-reference" href="_images/Terranigma.png"><img alt="_images/Terranigma.png" src="_images/Terranigma.png" style="width: 40%;" /></a>
</section>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo">
<a href="#">
<img class="logo" src="_static/logos/gempy.png" alt="Logo"/>
</a>
</p>
<p>
<iframe src="https://ghbtns.com/github-btn.html?user=gempy-project&repo=gempy&type=star&count=true&size=large&v=2"
allowtransparency="true" frameborder="0" scrolling="0" width="200px" height="35px"></iframe>
</p>
<h3>Navigation</h3>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">About</a></li>
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="projects.html">Additional projects</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Getting started</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="tutorials/index.html">GemPy Tutorials</a></li>
<li class="toctree-l1"><a class="reference internal" href="examples/index.html">Examples</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">API Reference</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="api_reference.html">Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="api_reference.html#data-classes">Data Classes</a></li>
</ul>
<div class="relations">
<h3>Related Topics</h3>
<ul>
<li><a href="#">Documentation overview</a><ul>
<li>Next: <a href="installation.html" title="next chapter">Installation</a></li>
</ul></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>document.getElementById('searchbox').style.display = "block"</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
©2017-2023, Gempy Developers.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 7.2.6</a>
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.13</a>
|
<a href="_sources/index.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>