Petrophysics · Intelligence · Insight

PetroARX
Interpretation Platform

A desktop platform for well-log interpretation, built in Python and PyQt5. It takes a LAS file from raw curves through quality control, formation evaluation and machine-learning analytics to a defensible net-pay answer — in one workspace.

10+ modules LAS 2.0 / 3.0 · CSV Multi-well AI analytics 3D wellbore
PetroARX start-up screen: the logo beside a stylised rig with coloured well-log curves running down through layered subsurface horizons.
13
Interpretation tabs, dashboard to ELAN
150+
Public data sources in the downloader
92.4%
Facies classification accuracy, 6 classes
3
Operating systems from one codebase

Walkthrough

See a full interpretation run

A recorded session through the platform — loading a LAS file, running quality control, computing shale volume, porosity and saturation, then reading the net-pay result.

Walkthrough recording coming soon

The screen recording is still being produced. Every screen it will cover is already captured in the interface gallery below.

Browse the interface instead

Drop the recording at assets/video/petroarx-demo.mp4 and this player picks it up automatically — no other change needed.

Capabilities

What the platform does

Ten core modules, reachable from a single project workspace. Curves loaded once are available to every calculation downstream.

Well data management

Import and manage LAS 2.0/3.0 and CSV datasets with full curve metadata and unit validation, organised into projects by field, basin and operator.

Quality control engine

Automated QC for missing values, outliers and spikes using IQR, Z-score and Isolation Forest, with before/after comparison and a depth-indexed issues register.

Multi-track log viewer

Configurable depth-track plots, triple-combo presets, crossplots, histograms, pair plots and violin plots, all synchronised to the active depth range.

3D wellbore visualisation

Trajectories rendered as colour tubes with log ribbons, formation tops and perforations, under full camera, lighting and cross-section control.

Petrophysical modules

Integrated shale volume, porosity, water saturation, permeability and net-pay workflows, each with its own parameter panel and result summary.

AI analytics

Facies classification, missing-log prediction and ML-driven quality control, trained inside the application with cross-validation and uncertainty reporting.

Advanced interpretation

Pore-pressure prediction, geomechanics analysis and image-log processing, plus multi-mineral ELAN inversion with a least-squares solver.

Open data downloader

A curated, searchable index of 150+ public seismic, well-log, geological, satellite and research datasets, filterable by category, access type and region.

Embedded Python console

The active well is exposed as a DataFrame so any workflow the interface does not cover can be scripted in place and run against live data.

Reporting and export

Export cleaned curves, computed logs, QC registers and figures as PDF, PNG, SVG or CSV, with an export-report action on every analysis tab.

Workflow

From raw LAS to net pay

The tab order mirrors the interpretation sequence, so the workspace itself carries the method.

IngestLAS 2.0/3.0 and CSV, with unit validation
InspectCoverage, null fraction, per-curve statistics
Quality controlStatistical and Isolation Forest passes
VisualiseMulti-track, crossplots, 3D trajectory
Shale volumeLarionov, Clavier, Steiber or linear
PorosityDensity, neutron and sonic, shale corrected
SaturationArchie from Rt and PHIE
Net payCutoffs, pay flags and zone summaries

AI analytics

Machine learning, inside the interpretation loop

Models are trained in the application against the loaded project, not bolted on afterwards — so predictions, their cross-validated scores and their uncertainty all travel with the well.

Facies classification

A Random Forest, XGBoost and SVM ensemble assigns electrofacies across six classes, with balanced class weights, early stopping and per-fold validation scoring.

92.4%Accuracy
0.91F1 score
6Facies classes

Ensemble (RF + XGBoost + SVM) · 4,251 samples · 80/20 split

Missing log prediction

An XGBoost regressor trained on complete wells reconstructs absent curves, returning actual against predicted tracks, residual diagnostics and a 95% confidence band.

5Training wells
15,368Training samples
5-foldCross-validation

XGBoost Regressor · 7 features · 95% prediction interval

Anomaly-based log QC

Isolation Forest scores every sample against multi-curve features, ranking anomalies by depth and reporting which curves drove each detection.

95%QC score
69Anomalies flagged
5%Contamination

Isolation Forest · multi-curve features · CSV export

Engineering

How it is built

A modular PyQt5 application over the scientific Python stack, packaged to run identically on Windows, Linux and macOS.

Architecture

  • GUI frameworkPyQt5
  • Layout toolingQt Designer
  • PatternMVC, modular
  • Scripting surfaceEmbedded Python
  • PlatformsWindows · Linux · macOS

Data layer

  • LAS parsinglasio
  • Tabular datapandas
  • NumericsNumPy
  • StatisticsSciPy
  • FormatsLAS 2.0/3.0 · CSV · XLSX

Visualisation

  • Log tracksMatplotlib
  • Statistical plotsseaborn
  • Interactive chartsPlotly
  • 3D renderingMatplotlib 3D, Phong
  • Figure exportPNG · PDF · SVG

Machine learning

  • Core libraryscikit-learn
  • Gradient boostingXGBoost
  • Anomaly detectionIsolation Forest
  • ValidationK-fold cross-validation
  • Inversion solverLeast-squares (NNLS)

Explore PetroARX

Read the user guide, browse the development repository, or get in touch for a walkthrough of the platform against your own log suite.