A surrogate of OPM Flow that runs 100000x faster & predicts NPV with only 0.5% error

Every number on this page comes from OPM Flow. The surrogate finds the best controls. Then we run those controls in OPM Flow, and OPM Flow sets the final NPV, water, gas and energy numbers.

Speed

The Norne field, on 1 CPU core:

OPM Flow 167 seconds per run, from setting the well controls to getting NPV
Our surrogate 1 millisecond on the same CPU

Why this matters

With Everest, more than 5 random starts or smaller learning steps take far too much compute. With our surrogate, we can start from an almost unlimited number of random controls, with much smaller learning steps.

It also lets us go beyond NPV. Conventional solvers are too slow for this. We can keep NPV at its max and also:

  • delay water breakthrough
  • cut gas injected and gas produced
  • cut water injected and water produced
  • use less energy

The numbers

One optimization roundFrom a random control to an optimized control

Everest 1.2 hours even with large learning steps. The exact solver is slow, so the compute cost is high.
Our surrogate 0.48 seconds with learning steps 26x smaller

So we searched much more of the control space

We ran 100 rounds instead of 5, in only 48 seconds. The same 100 rounds in Everest would take:

48 secondsOur surrogate, 100 rounds
120 hoursEverest, with its larger steps (26x larger, which is not ideal)
3,120 hoursEverest, with the same small steps we used

Where 3,120 hours comes from: small steps follow the NPV surface more closely, so they are less likely to jump over a better plan. But each step moves less, so a round needs about 26x more steps to cover the same ground. One Everest round then takes about 26 × 1.2 = 31.2 hours, and 100 rounds take 100 × 31.2 = 3,120 hours. That is about 130 days of nonstop computing.

Training cost: 11 hours on only 1 CPU core, paid once upfront

This one-time compute built the surrogate, and it covers all the results on this page. Even with this cost included, we are faster: 11 hours plus 48 seconds of optimization, against 120 hours for 100 Everest rounds with large steps.

And we can keep using the surrogate with no more training, as long as the history-matched model and the field structure do not change much.

Bar chart for a new geological realization of Norne: Everest reaches 2,637 million USD NPV in one optimization round of 1.6 hours; the surrogate reaches 3,167 million USD, validated in OPM Flow, from 100 optimization starts in 48 seconds (+20% NPV).

The result: 9.1% more NPV in the base geology

Norne is a real oil field in the Norwegian Sea, run by Equinor. For 2007–2017, in OPM Flow:

$2.77 billion NPV
Everest’s best plan
$3.02 billion NPV
Our best plan, with the same oil and handling prices over the same 10 years

That is 9.1% more, worth $0.26 billion. This number comes from an OPM Flow run of our plan, not from the surrogate’s prediction, so the surrogate’s 0.5% error (see Hyper accuracy below) does not affect it.

Bar chart: best NPV of five Everest benchmark runs, from 2,546 to 2,765 million USD, and of our best plan, 3,016 million USD.

Same max NPV, better everything else

We searched the control space widely. We found 5 other control plans with the same max NPV (within 0.5%; three of them are even higher). These plans:

  • produce 6–11% less gas and inject 5–10% less gas
  • produce 2–5% less water and inject 2–6% less water
  • use 4–9% less energy
  • delay field water breakthrough from month 1 to month 28–32 (in four of the five plans)
Bar chart of the 5 alternative Norne plans with NPV kept within 0.5%: improvement over the best-NPV plans in oil produced, gas produced, gas injected, water produced, water injected, energy use and energy per unit of oil; bars show the average and dots show each plan.

What else you get

  • Hyper accuracy

    We tested the surrogate on plans it never saw in training. Its NPV is off by only 0.5% on average compared with OPM Flow (an RMSE of about $15 million out of about $3,000 million).

    Still, we never report the surrogate’s numbers. We run every plan we deliver in OPM Flow, and OPM Flow sets the final numbers. Our surrogate is accurate enough that we are happy to have you rerun its plans the old way.

    Scatter plot of surrogate NPV against OPM Flow NPV on 253 held-out Norne runs; the points lie close to the diagonal, with R² = 0.99 and an average error of 0.5%.
  • A benchmark you already trust

    We always run a full conventional Everest optimization on your field and compare our results to it. You get a reference your reservoir team can rerun and audit for every plan.

  • Every realization optimized, not just one

    Our surrogate is very fast. You can optimize NPV and your other goals together, across all your realizations, and get a clearer P10/P50/P90 picture of uncertainty. At more than 100,000x the speed of conventional solvers, we find plans that work across the realizations you trust.

    Example Everest ensemble benchmark with 50 realizations sorted by optimal NPV, showing the best plan for each realization and one robust plan for all realizations, with P10, P50 and P90 lines.
    Example Everest ensemble benchmark with 50 realizations: cumulative oil over time for the robust optimized plan, showing the mean and the P90 to P10 range.
  • What-if screening

    Put in any well control plan (rates and BHP). In the blink of an eye, 100,000x faster than conventional solvers, you get:

    • NPV
    • water injected
    • water produced
    • gas injected
    • gas produced
    • energy used
    • water breakthrough

About

CompuFlair is founded by Ardavan Borzou, PhD, a physicist and data scientist building physics-based neural networks, and Razie Yousefi, PhD, also a physicist and data scientist.

To discuss your field

Send us an email or a LinkedIn message with a few time slots when you are available, and we will pick one and send a Google Meet link.