For twenty years the industry has organised subsurface work around software licences: one package for the static model, another for simulation, another for well performance, another for the surface network, and an engineer in the middle copying numbers from one to the next. The licence defines the workflow. The asset adapts to the tool.
I now work the other way round. Each field gets its own persistent setup: an open-source simulator, a library of Python workflows, a data catalogue, and a set of written procedures that tell both people and AI agents how this particular field is to be studied. The setup belongs to the field, and therefore to the operator, not to a vendor or a consultant.
Why open source has crossed the line
Open-source reservoir simulation is no longer an academic curiosity. The OPM Flow simulator reads industry-standard input decks, runs black-oil problems at field scale, with extensions for CO2 storage, solvent and polymer injection, and is developed in the open by a community that includes research institutes and operators. For the large majority of everyday questions (history matching, infill screening, depletion strategy, aquifer sensitivity, CO2 injection into depleted fields) it does the job.
My working rule of thumb: about 80 percent of field studies can be done this way today. The remaining 20 percent still justify an advanced commercial simulator, and that is where the licence budget should go.
What the setup looks like
- One source of truth per field. Well data, PVT, pressures and production sit in a catalogued store, versioned, so every result can be traced back to the inputs that produced it.
- Workflows as code. Material balance, decline analysis, PVT uncertainty, experimental design and ensemble runs are Python workflows, not spreadsheets passed between people.
- Layered quality control. Every automated step is checked by an independent step that did not produce it: unit checks, physical plausibility, and comparison against analogues.
- Agents that follow the field's rules. AI agents run the routine work (pre-processing, sensitivity sweeps, reporting) inside written procedures, while the engineer spends time on the judgements that move value.
Where it pays
The economics are obvious: licence cost falls, and so does the time lost moving data between tools. The less obvious gain is uncertainty. When a run costs nothing but compute, you stop running three cases and start running hundreds. Decisions then rest on a distribution rather than a single "best" model that was mostly the last one to finish before the deadline.
It also changes who keeps the knowledge. When the engineer who built the model leaves, a licensed project file is often hard to reopen, let alone audit, within a few years. A field setup written as code, data and procedures remains usable by the next engineer and the next agent.
What I am building
I maintain an in-house Python library for this way of working, with workflows for gas condensate and depletion studies, uncertainty and experimental design, reservoir souring, and the reuse of depleted fields for CO2 storage. I am also engaging with the OPM community, with an interest in gas network coupling and souring. The library is described on the code and simulation page; access is by conversation.