← Back to project catalogue
GP-GE-09TN3PBGeologyReady

GemPy structural geology uncertainty modeller

A GemPy 2026.0.3 study of a synthetic folded and faulted four-unit basin, testing contact, orientation, fault-position, and data-density uncertainty across 75 realisations.

GemPy structural geology uncertainty modeller project visual
GP-GE-09TN3PB · Geology
  • GemPy 2026.0.3
  • Python 3.11
  • NumPy
  • Pandas
  • Matplotlib

Software compatibility

GemPy 2026.0.3 only

The structural model, uncertainty scripts, and reference results use the pinned GemPy 2026.0.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. Contact position, pole-vector uncertainty, fault position, and reduced data density can move interpreted boundaries and change estimated unit volumes.

Project objectives

  • Build a transparent four-unit folded and faulted structural model.
  • Check the baseline against an independent analytical synthetic classifier.
  • Run contact, orientation, and combined uncertainty scenarios with fixed seeds.
  • Calculate cell-level probabilities, confidence, modal classifications, entropy, and unit volumes.
  • Verify observation counts, determinism, geological recovery, probability closure, and result completeness.

Project structure

Project components

01

Synthetic geology

Defines the folded contact equations, dipping fault plane, stratigraphic observations, and independent analytical classifier.

02

GemPy model

Creates the conformable structural series, offset-all fault group, regular grid, and computed lithological solution.

03

Uncertainty runner

Builds 25 contact, 25 orientation, and 25 combined realisations with recorded seeds and observation counts.

04

Probability analyser

Calculates empirical unit probabilities, modal classifications, confidence, Shannon entropy, and unit volumes.

05

Verification

Runs five automated tests and checks 75 realisations, 151 raw files, baseline fidelity, credentials, documents, and typography.

Methodology

Project workflow

  1. 01
    Generate observations

    The scripted geology creates 45 contact points, nine stratigraphic poles, nine fault points, and one fault pole.

  2. 02
    Build baseline

    GemPy computes 19,968 cells with four geological units and distinct fault blocks.

  3. 03
    Compare with reference

    Engine identifiers are mapped to the analytical convention and baseline cell agreement is measured.

  4. 04
    Run uncertainty

    Seventy-five seeded models perturb contact elevation, orientation, fault position, and data density.

  5. 05
    Analyse

    Python produces agreement summaries, cell probabilities, confidence, entropy, sections, slices, and volume plots.

Demonstration scenario

A synthetic four-unit basin with folded contacts and one dipping fault is computed on 19,968 cells. Seventy-five uncertainty realisations show that most of the model is stable while ambiguity concentrates around stratigraphic boundaries and the faulted region.

Engineering

Tools and method

Tools
The project uses GemPy 2026.0.3, Python 3.11, NumPy, Pandas, Matplotlib for subject analysis, simulation, and results.
Environment
Pinned GemPy 2026.0.3 and Python 3.11 packages in a digest-pinned Docker image.
Structural model
Three conformable contacts define four ordered units, while one dipping fault offsets the stratigraphic series.
Uncertainty
Contact sigma of 55 m, pole-vector sigma of 0.045, fault sigma of 60 m, and 30 percent contact removal in the combined case.
Verification
Analytical synthetic truth, deterministic generation, compact real GemPy computation, probability closure, and repository validation.

Testing

Evaluation

Evaluation measures

  • 98.7129 percent baseline agreement with the analytical synthetic reference
  • Mean baseline agreement of 0.9560 for contact perturbation
  • Mean baseline agreement of 0.9921 for orientation perturbation
  • Mean baseline agreement of 0.9530 for the combined scenario
  • 0.9974 modal-model agreement with the baseline and 0.9673 mean cell confidence
  • 5.4237 percent of cells at or above the 0.75-bit entropy review threshold

Project boundaries

  • Only the pinned GemPy 2026.0.3 model and generated results are delivered.
  • All geological observations and the analytical reference are synthetic educational assumptions.
  • The project excludes real topography, boreholes, geophysics, resources, groundwater, hazards, and alternative conceptual histories.
  • Real geological decisions require qualified geologists, site evidence, competing interpretations, current standards, and independent review.

Included

  1. 01Synthetic folded and faulted four-unit geological setting
  2. 0245 stratigraphic contacts, nine orientations, nine fault points, and one fault orientation
  3. 03Baseline model plus 75 contact, orientation, and combined uncertainty realisations
  4. 04Cell-level unit probabilities, modal class, confidence, Shannon entropy, and unit volumes
  5. 05151 raw NPZ and JSON evidence files with PNG and SVG figure sets
  6. 06Complete project files, models, calculations, and analysis material in a private GitHub repository
  7. 0780-page project documentation in PDF and editable Word formats
  8. 08Setup and usage guide

Project record

No information is collected on this page.

Permanent project ID
GP-GE-09TN3PB
Catalogued
22 Aug 2026
Completed
23 Aug 2026
Verified
23 Aug 2026
Demonstration
Included in repository

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.