← Back to project catalogue
GP-GE-09TN3PBGeologyOpen for request

GemPy structural geology uncertainty modeller

A GemPy 3 project for constructing a three-dimensional structural geological model and testing how contact and orientation uncertainty changes the interpretation.

  • GemPy 3
  • Python
  • PyVista
  • Pandas
  • Docker

Software compatibility

GemPy 3 only

The geomodel, uncertainty scripts, and visualisation workflow are delivered for a pinned GemPy 3 environment. Leapfrog Geo, Micromine, Surpac, and Datamine project files are not included.

Project definition

Problem statement

Sparse contacts and orientations can support multiple plausible subsurface geometries, especially near faults, folds, unconformities, and areas without observations.

Project objectives

  • Build a selected stratigraphic and fault framework from prepared observations.
  • Validate coordinates, formations, orientations, ordering, and structural relationships.
  • Generate an implicit three-dimensional geological model and sections.
  • Perturb contact and orientation inputs within documented uncertainty ranges.
  • Map where model geometry and unit assignment are stable or uncertain.

System design

System modules

01

Input registry

Stores contact points, orientations, formations, faults, topography, source, and confidence.

02

Structural framework

Defines series, stratigraphic order, faults, unconformities, and their relationships.

03

GemPy model

Builds the implicit scalar fields, surfaces, volumes, and sections.

04

Uncertainty runner

Creates controlled input perturbations and repeated geological realisations.

05

Model analyser

Compares unit probabilities, surfaces, topology, volumes, and sections.

Methodology

System workflow

  1. 01
    Validate observations

    Coordinates, labels, dips, azimuths, and geological relationships are checked.

  2. 02
    Build baseline

    A deterministic structural model is calculated and reviewed in map and section.

  3. 03
    Define uncertainty

    Permitted positional and orientation ranges are assigned by data source.

  4. 04
    Generate realisations

    Repeated models sample the documented uncertainties.

  5. 05
    Compare

    Stable and uncertain units, contacts, faults, and volumes are mapped.

Demonstration scenario

A folded stratigraphic sequence with one fault is modelled from sparse contacts and orientations. Repeated realisations show a stable shallow contact but high uncertainty in a deeper faulted unit, visible in sections and probability volumes.

Engineering

Technical architecture

Environment
Pinned GemPy 3 and Python environment with PyVista visualisation.
Model
Implicit interpolation from contact and orientation data with documented structural relations.
Uncertainty
Seeded perturbation or probabilistic sampling with saved input realisations.
Verification
Input reconstruction, section checks, topology review, and synthetic known-geometry cases.

Testing

Evaluation

Evaluation measures

  • Input reconstruction and formation-order correctness
  • Surface and unit agreement in synthetic reference cases
  • Topology consistency across realisations
  • Contact-position and unit-volume uncertainty
  • Sensitivity to observation density and orientation error
  • Runtime and memory across grid and realisation counts

System boundaries

  • Only the pinned GemPy 3 environment is delivered.
  • The model is an interpretation of the supplied observations, not a direct image of the subsurface.
  • No proprietary geomodelling project formats are included.
  • Drilling, resources, hazards, and construction decisions require qualified geologists and additional field and subsurface evidence.

Included

  1. 01Versioned contacts, orientations, topography, and model extent
  2. 02GemPy structural model and uncertainty scripts
  3. 033D surfaces, sections, topology, and uncertainty visualisations
  4. 04Prepared geological inputs, scenarios, and results
  5. 05Complete source code in a private GitHub repository
  6. 06Complete project documentation with synopsis, abstract, methodology, geological sections, uncertainty results, screenshots, and conclusion
  7. 07Setup and usage guide

Project record

No buyer information is collected on this page.

Permanent project ID
GP-GE-09TN3PB
Catalogued
22 Aug 2026
Completed
Pending
Verified
Pending
Demonstration
Added when ready

Handover

After purchase

  1. 01
    Payment is confirmed

    The project is marked unavailable and cannot be purchased again.

  2. 02
    Repository access is granted

    The buyer's submitted GitHub account receives access to the private repository.

  3. 03
    The purchase record is delivered

    The certification sheet is prepared from the reviewed buyer details and sent privately by email.