Skip to content

petekSuite

petekSuite is the umbrella for a subsurface-modelling ecosystem: a small family of Rust libraries (with Python bindings) that take raw subsurface data all the way to static volumes and dynamic forecasts.

The suite root itself builds no code — it coordinates the peer libraries, keeps their seams coherent, and holds the shared conventions that make them a family rather than a monolith. Dependencies flow one direction, downward only — no cycles, no sideways sharing of code. Libraries share conventions freely and share code only downward through the graph; each library stays usable standalone.

   petekIO      DATA        ingest · normalize · validate · interpret
      │                     → model-ready inputs
   petekStatic  GEOMODEL    structural framework · grid · property modelling
      │                     · volumetrics + static uncertainty → StaticModel
   petekSim     SIMULATION  dynamic / engineering forecast · PVT ·
                            the `peteksim` Python product facade

   petekTools   TOOLKIT     horizontal · shared · domain-agnostic:
                            numeric kernels + units + container + viewer

The four libraries

Library Layer What it does
petekTools TOOLKIT Domain-agnostic numerics: scattered-data gridding / kriging / warm-start / SGS kernels, a units system, the liftable container, and the generic bundle viewer. A pure leaf — serves every layer.
petekIO DATA Ingests, normalizes, validates and interprets subsurface files (surfaces, wells, tops, logs) into clean, model-ready inputs.
petekStatic GEOMODEL Turns model-ready inputs into a populated StaticModel — framework + grid + property cubes — and owns volumetrics + static uncertainty (GRV / in-place, Monte-Carlo, P-curves).
petekSim SIMULATION Dynamic / engineering simulation (decline, p/z, material balance, PVT) and the productpeteksim, the single Python-facing facade over the whole stack.

Where to start

  • :material-download: Install — the cargo + pip matrix and the pinned versions.
  • :material-sitemap: Architecture & the DAG — the four layers, the coupling rule, the seams.
  • :material-school: Tutorials — one guide per workflow, from data ingest to the flagship static-model build.
  • :material-notebook: Notebooks — eight fully executed, runnable notebooks on synthetic data.
  • :material-book-open-variant: Reference — the Python API for each wheel + Rust docs.rs links.
  • :material-image-multiple: Gallery — the viewer on a synthetic asset.

Everything here runs on synthetic data

Every example, tutorial and notebook in this site is built on fully synthetic subsurface data generated from deterministic seeds — fictional fields, wells and coordinates. No confidential dataset is referenced or embedded anywhere.