CamPetro

OOIP and OGIP

On this page

Summary

The petrophysical volume of hydrocarbon under one acre is the net thickness times the effective porosity times the hydrocarbon saturation, converted to surface volumes with a formation volume factor. Oil in place per acre uses the oil factor and 7758 barrels per acre-foot, and Gas in place per acre uses the gas factor and 43560 cubic feet per acre-foot. Multiplying by an area gives Original oil in place and Original gas in place. These are per-unit-area petrophysical volumes, not reserves.

Inputs and outputs

Item Units
Input Net pay thickness ft
Input Effective porosity v/v
Input Water saturation v/v
Input Oil formation volume factor rb/stb
Input Gas formation volume factor rcf/scf
Input Drainage area acres
Output Oil in place per acre stb/acre
Output Gas in place per acre Mscf/acre
Output Original oil in place MMstb
Output Original gas in place Bcf

Equations

Hydrocarbon pore thickness per unit area is \(\hNet\,\phie\,(1-\Sw)\) in feet. One acre-foot is 43560 ft³, which is 7758.4 barrels at 5.6146 ft³ per barrel, so the stock-tank oil under one acre is

\[ \NperAcre = \frac{7758\,\hNet\,\phie\,(1-\Sw)}{\Boil} \]

and the surface gas under one acre, in thousands of standard cubic feet, is

\[ \GperAcre = \frac{43560\,\hNet\,\phie\,(1-\Sw)}{1000\,\Bgas} \]

Multiplying by the drainage area gives the totals. With \(\NperAcre\) in stb/acre and \(\GperAcre\) in Mscf/acre,

\[ \OOIPtot = \frac{\Aacre\,\NperAcre}{10^{6}} \quad \text{(MMstb)} \qquad\qquad \OGIPtot = \frac{\Aacre\,\GperAcre}{10^{6}} \quad \text{(Bcf)} \]

The calculator applies both formulas to the same hydrocarbon pore thickness so the two can be compared. In a real interval only one applies: an oil leg uses the oil formula and a gas cap or gas reservoir uses the gas formula. For a sum over several intervals or over log samples, replace \(\hNet\,\phie\,(1-\Sw)\) by the sum of \(\Delta z\,\phie\,(1-\Sw)\) over the net pay samples; see Pore Volume, HCPV, PHIH and KH.

Symbol Variable Units Typical range
\(h_n\) Net pay thickness ft 1 to 300
\(\phi_e\) Effective porosity v/v 0 to 0.35
\(S_w\) Water saturation v/v 0 to 1
\(B_o\) Oil formation volume factor rb/stb 1.0 to 2.5
\(B_g\) Gas formation volume factor rcf/scf 0.002 to 0.02
\(A\) Drainage area acres 10 to 5000
\(N_A\) Oil in place per acre stb/acre 1000 to 100000
\(G_A\) Gas in place per acre Mscf/acre 1000 to 200000
\(N\) Original oil in place MMstb
\(G\) Original gas in place Bcf

Single-value calculator

Behavior

Volume is linear in every input except the formation volume factor, which divides. Against water saturation each curve is a straight line from its maximum at \(S_w\) = 0 to zero at \(S_w\) = 1. At 12% porosity, 30 ft, and \(B_o\) = 1.30, the oil in place is 21,484 stb/acre at \(S_w\) = 0, 17,187 at 0.2, 13,964 at 0.35, 10,742 at 0.5 and 4,297 at 0.8. Porosity scales the whole line: at \(S_w\) = 0.35 the three curves give 9,310, 13,964 and 20,947 stb/acre for 8, 12 and 18% porosity, so a 50% rise in porosity gives a 50% rise in volume. The default case, 640 acres at 13,964 stb/acre, is 8.94 MMstb. The same hydrocarbon pore thickness as gas at \(B_g\) = 0.005 rcf/scf is 20,386 Mscf/acre, or 13.05 Bcf over 640 acres.

Parameter guidance

Net thickness, porosity and saturation come from the petrophysical interpretation, summed over the net pay flag: see Gross, Net Reservoir and Net Pay for how the flag is built and Pore Volume, HCPV, PHIH and KH for the sum. Use effective porosity with effective water saturation, or total porosity with total water saturation, and never a mix; see Total vs Effective Sw. The formation volume factors are best taken from a laboratory PVT report. Without one, use Oil FVF and Bubble Point and Gas FVF and Z-Factor at the reservoir pressure and temperature from Reservoir Pressure and Temperature. Area is a mapping decision and is outside the log analysis. Report the volume per acre and state the area used.

Worked example

A 30 ft net pay at 12% porosity and 35% water saturation, an oil factor of 1.30 rb/stb, a gas factor of 0.0050 rcf/scf and 640 acres. The same pore volume is converted as oil and as gas, and the dissolved gas of the oil case is added with a solution gas-oil ratio of 600 scf/stb:

h, phi, sw, bo, bg, area, rsb = 30.0, 0.12, 0.35, 1.30, 0.0050, 640.0, 600.0
bbl_per_acre_ft = 43560 / 5.614583
print(f"1 acre-ft = 43560 ft3 = {bbl_per_acre_ft:.1f} bbl")
hcpv = h * phi * (1 - sw)
print(f"hydrocarbon pore thickness = {h:g} x {phi:g} x (1 - {sw:g}) = {hcpv:.3f} ft")

n_acre = 7758 * hcpv / bo
g_acre = 43560 * hcpv / bg / 1000
print(f"oil: 7758 x {hcpv:.3f} / {bo:g} = {n_acre:,.0f} stb/acre")
print(f"gas: 43560 x {hcpv:.3f} / {bg:g} / 1000 = {g_acre:,.0f} Mscf/acre")
print(f"over {area:g} acres: OOIP {area * n_acre / 1e6:.3f} MMstb, OGIP {area * g_acre / 1e6:.3f} Bcf")
print(f"solution gas of the oil case: {area * n_acre * rsb / 1e9:.2f} Bcf at Rsb = {rsb:g} scf/stb")

print()
print("one input changed at a time (oil case, change in oil per acre):")
base = n_acre
cases = [('net thickness +10%', dict(h=h * 1.1)), ('porosity +0.01', dict(phi=phi + 0.01)),
         ('Sw +0.05', dict(sw=sw + 0.05)), ('Bo 1.30 -> 1.20', dict(bo=1.20))]
for label, kw in cases:
    a = dict(h=h, phi=phi, sw=sw, bo=bo)
    a.update(kw)
    n = 7758 * a['h'] * a['phi'] * (1 - a['sw']) / a['bo']
    print(f"  {label:18s} {n:9,.0f} stb/acre  ({100 * (n / base - 1):+.1f}%)")

Output

1 acre-ft = 43560 ft3 = 7758.4 bbl
hydrocarbon pore thickness = 30 x 0.12 x (1 - 0.35) = 2.340 ft
oil: 7758 x 2.340 / 1.3 = 13,964 stb/acre
gas: 43560 x 2.340 / 0.005 / 1000 = 20,386 Mscf/acre
over 640 acres: OOIP 8.937 MMstb, OGIP 13.047 Bcf
solution gas of the oil case: 5.36 Bcf at Rsb = 600 scf/stb

one input changed at a time (oil case, change in oil per acre):
  net thickness +10%    15,361 stb/acre  (+10.0%)
  porosity +0.01        15,128 stb/acre  (+8.3%)
  Sw +0.05              12,890 stb/acre  (-7.7%)
  Bo 1.30 -> 1.20       15,128 stb/acre  (+8.3%)

Assumptions and limitations

  • The result is a petrophysical volume per unit area. It is an in-place volume at the stated net pay, saturation and area, not a recoverable volume or a reserves estimate: no recovery factor, drive mechanism, drainage geometry or economic limit is applied.
  • Net thickness, porosity and saturation are averages over the flagged net pay, applied uniformly to the area. Lateral changes in net pay, porosity and contacts are not captured by a single well.
  • Thickness is true vertical thickness. In a deviated well or a dipping bed, measured thickness along the hole overstates the volume.
  • The formation volume factors are for the reservoir pressure and temperature of the interval and the correct fluid. A single factor is used for the whole interval, although it changes with pressure and therefore with depth.
  • Fluid in the net pay is one phase, oil or gas, with an immobile water saturation. A transition zone, a gas cap over an oil leg, or a condensate or retrograde system needs separate treatment.
  • Gas dissolved in oil and condensate in gas are not included in the two formulas. They are added with the gas-oil ratio or the condensate yield.

QC checks

  • The conversion constants: 7758 barrels per acre-foot for oil, 43560 cubic feet per acre-foot for gas. A volume that is off by a factor of 5.615 is a barrels versus cubic feet mistake.
  • The oil factor is greater than 1 and the gas factor is far below 1. Bo near 1.2 to 1.6 and Bg near 0.003 to 0.01 rcf/scf are typical of a deep, moderate-pressure reservoir.
  • Per-acre volume is zero where net pay is zero and it falls as water saturation rises. A volume that does not drop when Sw rises means the wrong saturation, or the saturation, not the hydrocarbon, was used.
  • The result compares with a volumetric estimate from a mapped model or from a nearby analogue within the uncertainty described on the step page.
  • Units of area and volume are carried through: acres give MMstb and Bcf only with the 10^6 divisors above.

Going Deeper

The 7758 constant is the barrels in an acre-foot, and the standard volumetric equation of reservoir engineering is the same calculation with a mapped area and a map-averaged net pay. Petrophysics supplies the three attributes that vary by well. When several wells are combined, the usual practice is to average thickness-weighted porosity and pore-volume-weighted saturation, and to treat the area and the contact as separate uncertainties with a probabilistic combination such as a Monte Carlo draw. The cumulative form of the calculation, summing the volume per foot from the top of the interval downward, shows where in the interval the volume sits and is a useful check on the net pay flag. A volume per acre is also the quantity that connects the log analysis to unconventional well planning, where the unit is often the acre or the section.

References

References will be added once verified.

Python reference implementation

Python reference implementation

The Python reference implementation is available to registered users with a verified email address. Register or sign in to view it.