Andy McDonaldPetrophysicist · Product manager
PETROPHYSICS / PYTHON / AI & ML

Subsurface data, made usable.

I'm Andy McDonald, a petrophysicist and product manager. I turn messy, incomplete well data into something trusted, before the machine learning ever gets a look in.

Andy McDonald portrait
Petrophysicist · Product manager
LATEST ARTICLE · 26 SEPT 2026

Pore Lab: Seeing Inside Reservoir Sandstone

From an X Post to a 3D Pore-Scale Simulator in an Hour

Read on Substack ↗
NEWSLETTER
200+

readers of Subsurface Syntax: AI, ML and Python for the subsurface.

Subscribe →
PAPERS
10

Journal and conference publications

OPEN DATA
13

Public well data sources, catalogued

LATEST VIDEO

Structuring and Organising Streamlit Apps

BOOK · WORKING COPY

Python for Well Log Analysis

Read the draft →
LABS · 600 m

Interactive labs

All labs →

Interactive 3D explainers for subsurface concepts. Change the rock, drill the well, and see what happens.

WRITING · 1,100 m

More from the blog

All writing →
PROJECTS · 1,800 m

Selected work

PUBLIC / OPEN

Python & Petrophysics Notebook Series

A series of notebooks showing how I load, QC, analyse, and visualise well log and petrophysical data in Python, using real-world messy datasets rather than perfect examples.

GitHub →
PUBLIC / SPWLA

SPWLA 2021 Machine Learning Workshop

Co-instructor workshop materials covering applied ML workflows for well logs, with emphasis on QA/QC, interpretability, and what breaks when real data gets involved.

GitHub →
UK CONTINENTAL SHELF (UKCS)

Building Consistent Sand Flags at Regional Scale

Standardised QC and sand flagging across a large mixed-vintage dataset to produce comparable sand flags for fairway, reservoir, and seal analysis.

OFFSHORE INDONESIA (WEST MADURA)

Petrophysics & Geomechanics Under Incomplete Log Data

QA/QC, conditioning, and repair of log data to support 1D/3D geomechanical modelling, including synthetic shear where key inputs were missing.

TD · 2,500 m

Want the next one in your inbox?

Subsurface Syntax: AI, ML and Python for the subsurface.

Subscribe →