Wellbore Genius
Help

Downhole Simulator

Performance modeling

Sign in
Compare Libraries

Interoperability

CMG · Eclipse · tNavigator · FracPro · MATLAB · Petrel · Python

How Wellbore Genius connects to the rest of the reservoir/completions toolchain. 15 direct ships · 1 covered via existing bridges. See the full capability matrix →

CMG / Eclipse reservoir model import

Closes the reservoir-to-completion workflow gap

ShippedHigh priority

GRDECL keyword-deck parser covers SPECGRID/DIMENS, DXV/DYV/DZV, DX/DY/DZ, PORO, PERMX, PRESSURE, ACTNUM, TOPS, FIELD/METRIC. Auto-converts METRIC → FIELD (m→ft, bar→psi). Available via POST /api/public/sdk/v1/grdecl/import and the Python SDK (grdecl_import).

tNavigator model import

Common in Middle East and international operators

Covered via bridgeHigh priority

tNavigator reads Eclipse .DATA natively. The GRDECL importer above handles 90 % of tNav models for free — no separate parser needed. Re-export via the GRDECL exporter for round-trip cross-validation.

FracPro / Meyer export format

Enables cross-validation between platforms

ShippedMedium priority

FracPro-style 17-section PDF report PLUS a vendor-neutral 4-file CSV bundle (summary · perfs · steps · proppant inventory) documented in docs/fracpro-csv-schema.md. Build the bundle programmatically via POST /api/public/sdk/v1/fracpro/export or the Python SDK (fracpro_export / fracpro_export_to_dir). Meyer .mfrac binary is intentionally out of scope (proprietary).

MATLAB Simulink link

Unique differentiator — no major commercial simulator does this

ShippedHigh priority

MATLAB ↔ Python SDK ↔ /api/public/sdk/v1/* via MATLAB's built-in py.* runtime — no MEX, no Java, no Windows-only build chain. Drop-in MATLAB Function blocks call the solver in a Simulink loop; documented in public/sdk/matlab/README.md with hello-solver, GRDECL round-trip, and per-step non-planar 3D snippets. Native S-function deferred until customer demand surfaces.

Petrel / RESinsight round-trip

Standard expectation for subsurface workflows

ShippedMedium priority

RESQML v2.0.1 EPC round-trip — both directions now wired to the public SDK. Import via parseResqmlEpc() / POST /api/public/sdk/v1/resqml/import / client.resqml_import_path(); export via buildResqmlExport() / POST /api/public/sdk/v1/resqml/export / client.resqml_export_path() (regular Cartesian IjkGrid + cell-centred ContinuousProperty arrays incl. extras like temperature, saturation, NTG). Per-reader click-paths documented for Petrel 2022+, RESinsight 2024.10+, OPM Flow, and Paradigm SKUA-GOCAD. Native Ocean SDK plugin (C#, Windows-only, Schlumberger dev cert) deferred — round-trip covers 95 % of customer use cases at 5 % of the build cost.

Python API

Opens platform to academic and research community

ShippedHigh priority

Dependency-free Python SDK (downhole_sdk.py, stdlib urllib only, Python ≥ 3.8). Typed wrappers for solver_spec(), non_planar_3d_run(), parent_child_analyze(), simulation CRUD, run_workflow(), grdecl_import(), resqml_import(), resqml_export(), fracpro_export(), las3_import(), and pipesim_import() (both round-trip-to-disk helpers included). Bearer API key minted under Settings → API keys.

FracPro / Meyer interchange

Documented text schema replaces proprietary binary handoff

ShippedMedium priority

Five-file CSV schema (summary · perfs · steps · proppant inventory · 17-section PDF) mirrors FracPro 2021 Hydraulic Fracture Analysis output. Columns + units + foreign keys documented in docs/fracpro-csv-schema.md; Meyer treats role=pad / slurry / postflush natively and ignores unknown columns.

LAS 3.0 log round-trip

Bidirectional CWLS Log ASCII Standard v3.0 for Techlog / Petrel / WellCAD logs

ShippedMedium priority

LAS 3.0 multi-section writer (buildLas3) + matching importer (parseLas3) close the read side of the export-format-expansion bridge. Import via POST /api/public/sdk/v1/las3/import or the Python SDK (las3_import / las3_import_path); the parsed Las3Document is byte-identical to the buildLas3 input on re-emit. Custom NULL sentinels + SPACE/TAB/COMMA delimiters honoured.

Pipesim 2023.1 bridge round-trip

Portable network JSON in BOTH directions — no Open Link COM/Windows dep

ShippedMedium priority

wbg-pipesim-bridge-1 JSON writer (buildPipesimBridge) + Zod-validated importer (parsePipesimBridge) ship referential-integrity checks on both sides: dangling endpoints, IPR pointing at non-well nodes, and degenerate link geometry are hard errors. Import via POST /api/public/sdk/v1/pipesim/import or the Python SDK (pipesim_import / pipesim_import_path).

WITSML 2.0 Trajectory + Log round-trip

Bidirectional Energistics WITSML 2.0 XML — trajectories and time-indexed logs

ShippedMedium priority

WITSML 2.0 writers (buildWitsmlTrajectory / buildWitsmlLog) now pair with hand-rolled, DOM-free importers (parseWitsmlTrajectory / parseWitsmlLog) that auto-detect the root element. Import via POST /api/public/sdk/v1/witsml2/import (pass {xml} and optional {kind}) or the Python SDK (witsml2_import / witsml2_import_path). Round-trip is byte-identical for the drift-guard fixtures.

ParaView / VisIt / pyvista (.vtu) export

Drop non-planar 3D fracture meshes into any standards-compliant VTK viewer

ShippedMedium priority

Pure VTK XML UnstructuredGrid writer (buildVtu) turns the SAME { vertices, faces } shape produced by surfaceMesh.ts into a `.vtu` file that ParaView 5.x+, VisIt, and pyvista open directly. Per-vertex openingIn / sigmaHPsi / ePrimePsi ride along as PointData; per-face areaFt2 rides as CellData. Build via POST /api/public/sdk/v1/vtu/export or the Python SDK (vtu_export / vtu_export_to_path).

Eclipse / OPM Flow .RSM summary import

Land production history into DCA / RTA without a binary EGRID reader

ShippedMedium priority

Pure ASCII parser for the `.RSM` ('Report Summary') file every commercial post-processor (Petrel RE, ResInsight, S3 Graf, tNavigator) re-emits via RPTRST / RUNSUM. Stitches multi-block files onto a single TIME axis, preserves per-vector units + scope (well/group/region/field), and tolerates form-feed OR bare-'1' page breaks. Import via POST /api/public/sdk/v1/eclipse-rsm/import or the Python SDK (eclipse_rsm_import / eclipse_rsm_import_path).

CMG IMEX .dat keyword-deck export

Open Wellbore Genius reservoir models directly in CMG Builder / IMEX

ShippedHigh priority

Pure CMG IMEX keyword-deck writer (buildCmgImexDat) mirrors the GRDECL exporter for CMG users: RESULTS SIMULATOR IMEX header · INUNIT FIELD · GRID VARI Cartesian (DI/DJ/DK · DTOP · POR · PERMI/J/K) · MODEL OILWATER w/ TRES + optional PVT table · INITIAL VERTICAL DEPTH_AVE · NUMERICAL defaults · RUN sentinel. Build via POST /api/public/sdk/v1/cmg-imex/export or the Python SDK (cmg_imex_export / cmg_imex_export_to_path).

Landmark ZMAP+ ASCII grid surface import

Land interpreted horizons from Petrel / DecisionSpace / Kingdom / IHS Petra

ShippedMedium priority

Pure ZMAP+ ASCII grid reader (parseZmapPlus) parses the surface-interchange format every interpretation tool emits — header (nrows, ncols, xMin/xMax/yMin/yMax, NULL sentinel) + column-major value block. Tolerates '!' comments anywhere, optional trailing '@' sentinel, and turns the per-file NULL value into NaN. Import via POST /api/public/sdk/v1/zmap-plus/import or the Python SDK (zmap_plus_import / zmap_plus_import_path).

PRODML 2.x production-volume report import

Closes the gap between WITSML rig-side data and /rta DCA fits

ShippedHigh priority

Pure regex importer (parseProdml) for Energistics PRODML 2.x <ProductionVolumeReport> XML — the sibling standard to WITSML that every modern allocation system (Avocet, Energy Components, P2 Merrick, Quorum) emits. Stitches multi-well monthly/daily volumes into a flat well-period table with FIELD units (oil bbl · gas mcf · water bbl), auto-converting m³ and E3m3 payloads. Import via POST /api/public/sdk/v1/prodml/import or the Python SDK (prodml_import / prodml_import_path); drop the parsed rows straight into /rta or /economics.

Aries (Halliburton / Landmark) economic deck export

Drop /economics DCA + cashflow output straight into Aries / Mosaic / PHDWin / ComboCurve

ShippedHigh priority

Pure ASCII Aries economic-deck writer (buildAriesDeck) emits the *PROPNUM / *WELL / *ARP / *PRICE / *COST / *END keywords every Aries-compatible importer understands (native Aries, Landmark Mosaic, PHDWin, ComboCurve, Enersight). Deterministic — no timestamps, no UUIDs — so the round-trip drift-guard can lock it. Per-phase Arps forecasts (OIL/GAS/WATER/NGL) with QI/DE/B/QMIN/DMIN, pricing, fixed + variable cost, WI/NRI/tax. Build via POST /api/public/sdk/v1/aries/export or the Python SDK (aries_export / aries_export_to_path).

Build sequence

  1. Python SDKshipped. Substrate for every other item on this list. PyPI publish is the only outstanding task.
  2. Eclipse-subset GRDECL importershipped. Covers tNavigator and ~70 % of CMG models for free via round-trip with our existing exporter.
  3. FracPro CSV schemashipped via the existing 17-section report. Meyer binary stays out of scope.
  4. MATLAB Simulink wrapper — sits on top of the Python SDK at near-zero marginal cost. Native S-function is roadmap.
  5. Petrel — already opens our RESQML exports. Native plugin only on customer demand.