← Projects

Python · Well logs

pyLogCrafter

pyLogCrafter is for basin-scale well-log quality control, spatial normalization, gap filling, electrofacies and lithofacies tools, and visualization.

  • Version0.5.0
  • LicenseProprietary
pyLogCrafter logo: two overlapping well-log traces

Overview

pyLogCrafter cleans large sets of well logs, lines them up without erasing real geology, and fills gaps from companion logs and nearby wells. It is built for large collections of LAS files where every well is incomplete, with mixed vendors, curve names, units, and coverage.

pyLogCrafter is developed by Larry Syu-Heng Lai at the Quantitative Clastics Laboratory (QCL), Bureau of Economic Geology, The University of Texas at Austin. It is not open source: Larry Lai and QCL hold the source, and use can be arranged by contacting them. Check every output before relying on it.

Animations

Part 1: Clean, line up, and fill the logs

In reservoir analysis and basin modeling, log quality control is often the slow step before the science can start. The package reads many LAS files, sorts out curve names and units, joins runs from the same well, and flags samples that are out of range, flat, or out of step with nearby wells. Formation tops line the wells up, and each well is rescaled against its neighbors, so a tool shift can be removed without forcing one basin-wide average curve. A missing stretch is filled from that well’s other logs and the shape of nearby wells, not drawn as a straight line. Similar log patterns can be grouped into electrofacies, porosity and permeability can be calibrated to core, and plots cover single wells, maps, and cross-sections. Cleaned, gap-filled logs can also feed automated correlation and tops picking.

Full overview, about two minutes. It opens on a map of the wells and then walks through neighbors, cleaning, tops, alignment, QC, normalization, gap filling, and export.

Part 2: Extend to the whole basin

Most wells have logs, but only a few have real rock data, and the wells with precious cores often come with poor or incomplete logs. The usual fix is to drop those wells, and I've often seen 90+% of the well data get tossed that way, like throwing out most of a puzzle because a few pieces are chipped. After Part 1, every well in the Delaware Mountain Group has a complete set of 6 log types. Part 2 shows pyLogCrafter automating core-to-log calibration from there, giving lithofacies predictions (deterministic and probabilistic) and porosity and permeability estimates for every well, at every depth. The early results look promising to me: whole-basin lithofacies and property models that are ready for stratigraphic correlation (they aren't correlated yet), for scaling up to 3D geomodeling, and maybe for laying better groundwork for future GeoAI model training.

Starting from the QC-ed, gap-filled logs from Part 1, pyLogCrafter calibrates the logs against core data and predicts lithofacies, porosity and permeability for 10,000+ wells across the Delaware Mountain Group, Permian Basin.

Key features

01

Bring in many wells

Read many LAS files, resolve curve names and units, join runs, read deviation surveys, and flag bad samples.

02

Line up and rescale locally

Align wells on formation tops, then rescale each well against nearby wells instead of one basin-wide average.

03

Fill gaps sensibly

Fill missing stretches from the well’s other logs and the shape of nearby wells.

04

Group and plot

Group similar log patterns into electrofacies and plot single wells, maps, and cross-sections.

05

Calibrate to core

Fit porosity to measured or core porosity well by well, and fit core-based porosity–permeability trends.

Next project pyRockImageLab Crop, orthorectify, stitch, and mosaic geological core photographs.