PET-320 · Lesson 2 of 12 · 20 min
Volumetric estimates of oil and gas in place
Lena gives Ethan the first task of the study: an independent volumetric estimate of the oil in the study unit of the Bakken pool. 'Geology has new maps from the 3-22H well, its sister well and the offset verticals,' she says. 'Petrophysics has updated porosity and saturation for the middle Bakken. Before we look at a single production number, I want to know what the static data say. Then, when material balance gives us a different answer, and it will, we'll know which way to look.'
Volumetric estimation is the oldest and most widely used method in reservoir engineering. It needs no production history, so it is the only method available before a pool is developed, and it remains the reference against which performance methods are checked. This lesson covers the volumetric equations for oil and gas, how each input is obtained, and how to express the result as a range rather than a single number.
The volumetric equation for oil
Oil in place is the pore volume of the reservoir rock multiplied by the fraction of that pore volume occupied by oil, converted from reservoir volume to stock-tank volume. The original oil in place, N, is usually written as follows.
Here A is the area of the pool, h the average net pay thickness, φ the average porosity of the net pay, Sw the average water saturation, and Boi the initial oil formation volume factor, which converts reservoir barrels or cubic meters of oil, with its dissolved gas, into stock-tank volume at surface. The product A h is the net rock volume, often called the net pay volume, and A h φ is the pore volume.
In oilfield units, with A in acres and h in feet, the rock volume is in acre-feet, and one acre-foot holds 7,758 barrels. Oil in place in stock-tank barrels is then N = 7,758 A h φ (1 − Sw)/Boi.
Where the inputs come from
Area and thickness come from maps. Geologists and geophysicists map the top and base of the reservoir from well picks and seismic, and the fluid contacts from pressure data and logs (lesson 1). Net pay is the part of the gross reservoir thickness that is good enough to contribute: it excludes shale beds and rock with too little porosity or permeability, or too much water, using cut-offs agreed between petrophysics and engineering. A net pay isopach map, contoured in thickness, is planimetered or gridded to give the net rock volume.
Porosity comes from logs calibrated to core (PET-250). Each well gives an average over its net pay; a porosity map or a pore-volume map spreads the values across the pool. Water saturation comes from resistivity logs through Archie's equation or from capillary pressure data, and it varies with height above the free water level, so saturation should be averaged with the pore volume as the weight, not the thickness alone.
The formation volume factor comes from the PVT analysis of a reservoir fluid sample (lesson 3). It matters more than it looks: a light oil with a lot of dissolved gas may have a Boi of 1.4 or more, so each reservoir volume holds only about 70 percent of its volume as stock-tank oil.
Gas in place
For a gas reservoir the same idea applies, with the gas formation volume factor Bgi converting reservoir volume to standard surface volume. Because gas is so compressible, Bgi is small: at typical reservoir conditions one reservoir volume may hold 150 to 250 standard volumes of gas.
In oilfield units, with p in psia and T in degrees Rankine, Bgi = 0.02827 z T/p in reservoir cubic feet per standard cubic foot, using standard conditions of 14.65 to 14.73 psia and 60 °F, depending on the jurisdiction. Gas in place in standard cubic feet is then 43,560 A h φ (1 − Sw)/Bgi, with A in acres and h in feet.
The z-factor, the gas deviation factor, corrects the ideal gas law for real gas behavior (lesson 3). For an oil reservoir with a gas cap, the free gas in the cap is calculated the same way, and the gas dissolved in the oil is N Rsi, where Rsi is the initial solution gas-oil ratio.
Deterministic and probabilistic estimates
A deterministic estimate uses one best value for each input and gives one answer. It is simple and transparent, but it hides the uncertainty. Every input has a range: the area depends on how far the reservoir extends beyond the wells; net pay depends on the cut-offs; porosity and saturation depend on log interpretation and on how well the wells sample the pool. Reporting only the best estimate invites false confidence.
Engineers commonly express uncertainty in two ways. The scenario approach builds a low, best and high case from consistent sets of inputs: for example, the low case uses the area mapped only within the drilled part of the pool, the high case adds the area that seismic suggests. The probabilistic approach assigns a probability distribution to each input and combines them by Monte Carlo simulation: the computer draws a random value of each input, calculates the oil in place, and repeats thousands of times. The results form a distribution.
The distribution is usually shown as a cumulative exceedance curve: for each value of oil in place, the probability that the true value is at least that large. Three points are reported. P90 is the value with a 90 percent chance of being exceeded, the low estimate. P50 is the median. P10, with only a 10 percent chance of being exceeded, is the high estimate. Because the inputs multiply, the result is often skewed to the right, with the mean above the median.
The quality of a Monte Carlo result depends on the input distributions. Triangular distributions, defined by a minimum, most likely and maximum, are common because they are easy to explain. Lognormal distributions often suit thickness and permeability. Inputs that are related should be correlated in the sampling: for example, high porosity often comes with low water saturation, and ignoring that makes the range too narrow or too wide. The P90 to P10 range should be checked against experience; a range of less than about a factor of 1.3 is often a sign that the inputs are too narrow.
# Volumetric oil in place: a deterministic estimate and a Monte Carlo range (P90, P50, P10)
import random
SI = False
random.seed(320)
if SI: # pool area in hectares, net pay in m; oil in place in m3 of stock-tank oil
A, h, phi, sw, boi = 1150.0, 6.5, 0.14, 0.30, 1.29
ooip = lambda a, hh, p, s: a * 1.0e4 * hh * p * (1 - s) / boi
ranges = {"A": (900, 1150, 1350), "h": (5.0, 6.5, 8.0)}
unit, scale = "10^6 m3", 1.0e6
else: # one 1,280-acre spacing unit, net pay in ft; oil in place in STB
A, h, phi, sw, boi = 1280.0, 45.0, 0.08, 0.35, 1.456
ooip = lambda a, hh, p, s: 7758.0 * a * hh * p * (1 - s) / boi
ranges = {"A": (1280, 1280, 1280), "h": (38.0, 45.0, 52.0)}
unit, scale = "MMSTB", 1.0e6
ranges["phi"] = (0.12, 0.14, 0.155) if SI else (0.065, 0.08, 0.09)
ranges["sw"] = (0.25, 0.30, 0.38) if SI else (0.30, 0.35, 0.45)
print(f"deterministic (most likely) oil in place: {ooip(A, h, phi, sw)/scale:.2f} {unit}")
tri = lambda lo, ml, hi: lo if lo == hi else random.triangular(lo, hi, ml)
trials = sorted(ooip(tri(*ranges["A"]), tri(*ranges["h"]), tri(*ranges["phi"]), tri(*ranges["sw"])) for _ in range(20000))
pct = lambda f: trials[int(f * len(trials))] / scale
mean = sum(trials) / len(trials) / scale
print(f"Monte Carlo, 20,000 trials: P90 {pct(0.10):.2f} P50 {pct(0.50):.2f} P10 {pct(0.90):.2f} mean {mean:.2f} {unit}")
print("(P90 = 90 % chance the true value is at least this large)")
# Gas in place in the Birch Coulee gas pool
if SI:
Ag, hg, pg, swg, z, T, p = 2400.0, 8.0, 0.12, 0.25, 0.88, 75 + 273.15, 21000.0
bgi = (101.325 / p) * (T / 288.15) * z # reservoir m3 per standard m3
G = Ag * 1e4 * hg * pg * (1 - swg) / bgi
print(f"gas pool: Bgi = {bgi:.5f} rm3/sm3, OGIP = {G/1e9:.2f} x 10^9 m3 ({G*35.315/1e9:.0f} Bcf)")
else:
Ag, hg, pg, swg, z, T, p = 6000.0, 26.0, 0.12, 0.25, 0.88, 167 + 459.67, 3050.0
bgi = 0.02827 * z * T / p # reservoir ft3 per scf
G = 43560.0 * Ag * hg * pg * (1 - swg) / bgi
print(f"gas pool: Bgi = {bgi:.5f} ft3/scf, OGIP = {G/1e9:.0f} Bcf")deterministic (most likely) oil in place: 15.96 MMSTB Monte Carlo, 20,000 trials: P90 13.20 P50 15.19 P10 17.28 mean 15.23 MMSTB (P90 = 90 % chance the true value is at least this large) gas pool: Bgi = 0.00511 ft3/scf, OGIP = 120 Bcf
The deterministic estimate for the 1,280-acre unit, with 45 ft of net pay, 8 percent porosity, 35 percent water saturation and a Boi of 1.456, is 15.96 MMSTB. The Monte Carlo run gives P90 13.20, P50 15.19 and P10 17.28 MMSTB. The P50 is below the deterministic value because the water saturation range is skewed toward higher values: the most likely value is 35 percent but the maximum is 45 percent. Lena points out that this is typical, and that in the Bakken the bigger uncertainty for development is not the oil in place but how much of it the fractured wells can reach, which is a recovery question for later lessons.
Recovery and the volumetric method
Volumetrics give hydrocarbons in place. To estimate recoverable volumes, the oil in place is multiplied by a recovery factor, which can come from analogous pools, from correlations, from material balance or simulation, or from decline curves once wells have produced. For gas reservoirs the volumetric method can also give recovery directly: the gas remaining at an abandonment pressure is the pore volume divided by Bg at that pressure, so recovery is 1 − Bgi/Bga for a reservoir without water influx (lesson 8).
The recovery factor carries as much uncertainty as the in-place volume, and often more. Many reserves estimates in early development are volumetric with an analog recovery factor, and they are later revised once performance data arrive. Engineers should record the source and range of every recovery factor they use.
The Birch Coulee gas pool adds a gas volume to the study. With 6,000 acres, 26 ft of net pay, 12 percent porosity, 25 percent water saturation and an initial pressure of 3,050 psia at 167 °F, Bgi is 0.00511 ft³/scf and the gas in place is about 120 Bcf. Lesson 8 compares this with the material balance.
Common sources of error
The largest volumetric errors usually come from the geometry: the area and the net pay. Contact depths, the edges of the pool, faults that may or may not seal, and channel sands that pinch out between wells all change the rock volume. Porosity and saturation errors matter too, especially in shaly or low-porosity rock where log interpretation is uncertain. A small systematic error in saturation, for example from a wrong Archie exponent, applies to the whole pool and does not average out.
Engineers check volumetric estimates against other evidence: the area that pressure tests and interference tests show is connected, the volumes material balance gives, and the production performance of wells. When the methods disagree, the disagreement is information. A material balance volume smaller than the volumetric one may mean parts of the pool are not connected to the wells; a larger one may mean an aquifer is supplying energy, or the pool extends beyond the map.
Worked problem
Oil in place and its range
A unit covers 640 acres with 30 ft of net pay, 10 percent porosity, 30 percent water saturation and Boi = 1.35. Find the oil in place. If the net pay could be as little as 24 ft, by how much does the estimate fall?
Show solution
- N = 7,758 × 640 × 30 × 0.10 × (1 − 0.30)/1.35.
- 7,758 × 640 = 4,965,120; × 30 = 148,953,600 bbl of rock; × 0.10 = 14,895,360 bbl of pores; × 0.70 = 10,426,752 reservoir bbl of oil.
- N = 10,426,752/1.35 = 7.72 MMSTB.
- With 24 ft, N scales with thickness: 7.72 × 24/30 = 6.18 MMSTB, a fall of 20 percent.
Answer: About 7.72 MMSTB; 6.18 MMSTB with the thinner pay.
Common mistakes
MistakeAveraging water saturation by thickness only.
InsteadWeight saturation by pore volume (thickness times porosity), because water-rich low-porosity rock holds little oil.
MistakeForgetting the formation volume factor.
InsteadReservoir oil includes dissolved gas; divide by Boi to get stock-tank oil.
MistakeReporting P90 as the 'high' case.
InsteadP90 is the low estimate: there is a 90 percent chance of exceeding it.
MistakeSampling correlated inputs independently in Monte Carlo.
InsteadCorrelate related inputs such as porosity and saturation, or the range will be wrong.
MistakeApplying a recovery factor without stating its source.
InsteadRecord whether recovery comes from analogs, correlations, material balance or performance, and its range.
Summary and key terms
- Oil in place is N = A h φ (1 − Sw)/Boi; gas in place is G = A h φ (1 − Sw)/Bgi.
- Area and net pay come from maps, porosity and saturation from logs calibrated to core, and formation volume factors from PVT data.
- Deterministic estimates hide uncertainty; scenarios and Monte Carlo simulation express it.
- P90 is the low estimate, P50 the median and P10 the high estimate; the distribution is often skewed so that the mean exceeds the median.
- Recovery factors convert in-place volumes to recoverable volumes and carry their own uncertainty.
- Disagreement between volumetric and performance estimates points to connectivity, aquifers or mapping errors.
- Net pay
- The part of the reservoir thickness that meets the cut-offs to contribute to production.
- Pore volume
- The volume of pores in the rock, A h φ.
- Initial oil formation volume factor (Boi)
- Reservoir volume of oil and its dissolved gas per unit volume of stock-tank oil, at initial conditions.
- Gas formation volume factor (Bg)
- Reservoir volume of gas per unit volume at standard conditions.
- Monte Carlo simulation
- A method that combines input distributions by repeated random sampling to give a distribution of results.
- P90, P50, P10
- Values with 90, 50 and 10 percent probability of being equalled or exceeded.
- Recovery factor
- The fraction of in-place volume that is produced.
Practice problems
Work each problem on paper first, then reveal the answer to check.
How many acre-feet of rock are in 640 acres with 30 ft of net pay?
Show answer
19,200 acre-ft.
Why is the mean of a Monte Carlo oil-in-place distribution usually higher than the median?
Show answer
Multiplying several positive, uncertain inputs gives a right-skewed result, with a long tail of high values.
A gas reservoir has Bgi = 0.0050 and an abandonment Bg of 0.050 ft³/scf with no water influx. What fraction of the gas is recovered?
Show answer
1 − 0.0050/0.050 = 0.90, or 90 percent.
Material balance gives a smaller oil in place than volumetrics. Give two possible reasons.
Show answer
Parts of the pool may be isolated from the wells by faults or pinch-outs, or the mapped area, pay or saturation may be too optimistic.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.