Skip to main content
Reading viewAll insights →
BLOG8 min read

Rehearsing on Public Wells: Building Your Pipeline on Open Data Before Spending an NDA-Bound Log

Rehearsing on Public Wells: Building Your Pipeline on Open Data Before Spending an NDA-Bound Log
Narendra Patwardhanby Narendra PatwardhanResearch Collaborator · 18 Sep 2026
Share

On a subsurface-AI engagement the client's wells arrive slowly, under an NDA, and there are never enough of them. So we treated the pipeline itself as the thing to rehearse on free data. The DLIS reader, the classical-CV correlation methods, the pretraining: all of it was built and debugged on open national and competition wells first, so the scarce protected logs were spent only on the one stage that genuinely needs them, the model. This is a data-strategy playbook for which pipeline stage gets built where, grounded in an early DLIS ingestion run that walked 19 channels over 697,502 depth samples and ended in an honest classical-CV crash.

Most write-ups of a subsurface-AI project start at the model. This one starts at a constraint the model never sees: the client's wells arrive slowly, one or two at a time, under an NDA, and there are never as many as you want. In a roughly twenty-month engagement with a major operator in Oman, that constraint set the whole plan. If protected wells are the scarcest input you have, then the question is not "what model do we train" but "what do we build with the wells we do not yet have." The answer we settled on was to treat the pipeline itself as the thing to rehearse, on free public data, so that every scarce log went to the one place a free log cannot substitute.

The reasoning is simple once you separate the pipeline from the model. A pipeline is a sequence of stages: read the raw log format, clean and impute the array, find and fit the structural features, correlate them well to well, pretrain a representation, then train and validate the model that ships. Only the last stage is about this operator's reservoir. Every stage before it is generic engineering that a completely different well can exercise just as well. Public wells are wrong in geology and right in shape, and shape is what a pipeline is made of.

The DLIS reader is generic; the reservoir is not

The clearest example we have of this is the earliest one. A newly received image log came in, and within days the ingestion notebook was pointed straight at it. The reader did a plain, unglamorous job: dlisio opened the file, a channel walk enumerated the 19 channels in the frame (depth, the static image, the four pads and four flaps, calipers, gamma, azimuth), and it pulled 697,502 depth samples out of a single frame. The missing-sample sentinel of -9999 was mapped to NaN, the whitespace-gap columns were dropped, and the image was inverted for thresholding.

Nothing in that paragraph is specific to Oman, or to carbonates, or to this operator. A DLIS reader that walks channels, converts a sentinel to NaN, and hands you a clean array is the same code whether the file came from a client vault or a national archive. Which means it never needed to be written against a protected well at all. If you build it on an open well first, the day a client log finally arrives the reader already works, and the well goes straight to the question only it can answer.

Where the classical methods honestly break

The same run kept going into the part of the pipeline everyone wants to skip past: the classical computer vision that finds sinusoids before any learned model exists. Five cv2 threshold variants were compared side by side at a cutoff of 245. Then medianBlur(5), then Canny(100,255), then a probabilistic Hough transform to pull straight-line evidence out of the edge map. On a clean section this produces candidate lines you can fit into dip and azimuth. On the section in this run it produced nothing, and the notebook ended in an unedited TypeError (a NoneType with no len()) because Hough returned zero lines and the next line of code asked how many there were.

We kept that crash in the record on purpose. It is the cheapest lesson in the whole project: classical line-fitting breaks on real, complex rock, and it breaks silently until something downstream trips over the empty result. Learning that costs you nothing when the well underneath it is a free public log. Learning it on a scarce NDA-bound well is the same lesson at a much worse price, because that well could have been spent on the model instead. The honest failure is exactly the kind of thing you want to happen on the rehearsal track.

The fitting form the classical stage is reaching for is the standard one, a feature described by

y=Asin ⁣(π180x+φ)+offsety = A\,\sin\!\left(\tfrac{\pi}{180}\,x + \varphi\right) + \text{offset}

where the amplitude carries dip, the phase carries azimuth, and the offset is depth. That geometry is the same in the North Sea as it is in an Omani carbonate. The mechanics of picking it are covered in Path-Opening Across 39 Thresholds; the point here is only that all of it can be built and stress-tested on open wells.

Two open pillars, and what each is good for

The open data came from two places. The first is FORCE 2020, the Norwegian Continental Shelf competition set of 118 public wells, which we used to rehearse well-to-well correlation end to end before touching a client log (Well-to-Well at Field Scale). The second is a national public archive, harvested with a small resumable crawler, which gave us practice at the raw, uneven front of the pipeline that a tidy competition set hides (Crawling a National Well Archive). Rather than re-derive either, it is worth being precise about what an open archive is actually good for, and where it stops.

It is good for three things. It is a place to rehearse the pipeline, so the reader, the imputation, and the classical methods are already exercised before the first protected well. It is a pool of pretraining candidates, real logs with real geological structure a representation can learn from without an NDA. And it is a source of negative controls: a public well from the wrong basin should not correlate with the target field, and a method that finds structure there anyway is a method that is fooling itself.

Where it falls short is precisely the geology. The tools differ, and a Norwegian wireline suite is not the imaging tool a carbonate operator ran. The formations differ; clastic North Sea stratigraphy has nothing to say about a dolomitised carbonate. And the label regimes differ, because every archive was annotated for its own purpose, not for yours. So open data can carry the pipeline and warm up a representation, but it cannot supply the target. The manifold the source data teaches has to be aligned onto the client's wells, and that alignment is the job the scarce logs are for.

WHERE EACH PIPELINE STAGE GETS BUILTRehearse the pipeline on open wells; spend NDA wells only on the modelThe DLIS reader and the classical-CV correlation methods can be built for free on FORCE 2020and a harvested national archive. Only the shipped model needs the protected reservoir.OPEN-DATA REHEARSALfree, unlimited rerunsNDA-LOG SPENDscarce, protected, slow to arrive1of 4DLIS ingestion readerdlisio load, 19-ch walk, -9999 to NaN2of 4Classical-CV correlationcutoff 245, Canny(100,255), Hough3of 4Model pretrainingopen logs, real structure, no NDA4of 4Shipped modeltrained + validated on the reservoirTHE REHEARSAL RUN19channels walked697,502depth samples245threshold cutoff100,255Canny lo,hi-9999sentinel to NaNHough found 0 linesNoneType crash keptclassical CV breaking onreal rock, for freeAT THIS FRONTIER3 rehearsed free1 on NDA wellsonly the model needs themREHEARSALFRONTIERall on NDA wellsonly the model on NDA wells3/4
A two-track pipeline-maturity map for spending scarce data well. Each pipeline stage is built on one of two tracks: the open-data rehearsal track (teal, free, rerun as often as you like) or the NDA-log spend track (the scarce, protected client wells). Drag the frontier to set where rehearsal ends and NDA spend begins. Pushed to the right, only the shipped model lands on the NDA track; every earlier stage (the DLIS ingestion reader, the classical-CV correlation methods, the pretraining) was rehearsed for free on open data first. The orange shipped-model node is the only element that argues: it is the one stage that must be trained and validated on the operator's own reservoir, so that is the only place the protected wells are spent. The DLIS-run figures (a 19-channel walk over 697,502 depth samples, the -9999-to-NaN step, the five threshold variants at cutoff 245, Canny(100,255) and the probabilistic Hough that crashed on a zero-line section) are sourced from an early progress report; the open corpus is FORCE 2020 plus a harvested national archive; the frontier position is an illustrative lever, not a measured quantity.

Spending the scarce wells last

The map above is the whole argument in one picture. Each pipeline stage sits on one of two tracks, and you get to choose where the frontier between them falls. Slide it all the way left and you have burned protected wells writing a DLIS reader and debugging a Hough crash, work a free well would have absorbed. Slide it right and every rehearsable stage was built on open data, leaving only the orange node on the NDA track: the shipped model, trained and validated on the operator's own reservoir. That node stays orange wherever the frontier sits, because it is the one stage no public well can stand in for.

None of this makes the client's wells optional. The model that mattered was trained and validated on the operator's confidential logs, because that carbonate reservoir is what the operator was paying us to understand, and the accuracy anyone acted on came from those wells and not the public ones. What the sequencing changed was the order of spending. By the time a protected well arrived, the reader worked, the classical methods had already failed in the ways they were going to fail, and the correlation machinery had run on genuine stratigraphy. The scarce, slow, expensive data was spent last, on the question only it could answer.

For a team starting a similar engagement, the practical rule is short. Before you ask for a single NDA-bound log, get the pipeline running end to end on open wells: pick a national archive for the messy front, a competition set like FORCE 2020 for the clean middle, and let the classical methods crash on public rock where a crash is free. Treat the client's wells as what they are, the one input you cannot rehearse, and spend them only on the model.

Limitations

This is a sequencing argument, not a transfer-learning result. Open data rehearses the pipeline and warms a representation; it does not close the domain gap, and every claim about accuracy in the engagement rests on the client's confidential wells, not the public ones. The DLIS-run figures are from one early ingestion notebook on one well and are illustrative of the reader's shape rather than a benchmark. The rehearsal frontier in the instrument is a lever for reasoning about where stages should be built, not a measured quantity. And the "wrong basin, right shape" premise has real limits: a public archive whose tools and formations are too far from the target may not even rehearse the front of the pipeline faithfully, in which case the free-data track buys less than it does here.

References

[1] Bormann, P., Aursand, P., Dilib, F., Manral, S., and Dischington, P. FORCE 2020 Well log and lithofacies dataset for machine learning competition. FORCE / GitHub (2020). https://github.com/bolgebrygg/Force-2020-Machine-Learning-competition

[2] NLOG, the Dutch Oil and Gas Portal (national subsurface data repository), TNO Geological Survey of the Netherlands. Public well and log records via the mapviewer REST API. https://www.nlog.nl/

[3] dlisio: a Python library for reading Digital Log Interchange Standard (DLIS) files. Equinor open-source release. https://github.com/equinor/dlisio

Narendra Patwardhan
Narendra Patwardhan

Research Collaborator

More from EarthScan

Related research

All insights →
Open Subsurface Data as the Scarcity Antidote: Crawling a National Well Archive
Insight

Open Subsurface Data as the Scarcity Antidote: Crawling a National Well Archive

What Four Reviewer Challenges Actually Asked Us, and How We Answered Without Breaking the NDA
Insight

What Four Reviewer Challenges Actually Asked Us, and How We Answered Without Breaking the NDA

A Tour of Where Subsurface Data Actually Lives
Insight

A Tour of Where Subsurface Data Actually Lives

Stay ahead

EarthScan insights, in your inbox.

Field-tested research on subsurface and energy-transition AI. About twice a month. No noise.

We use your email only for this newsletter. Unsubscribe anytime Privacy.