Pore Volume, HCPV, PHIH and KH
On this page
Summary
Pore volume, hydrocarbon pore volume, porosity-thickness and permeability-thickness are thickness-weighted sums of log results over the net pay. Porosity-thickness is the pore volume per unit area as a length, Hydrocarbon pore thickness counts only the hydrocarbon share of it, and Permeability-thickness is the flow capacity. They summarize an interval in a few numbers and are the quantities to compare between wells and zones.
Inputs and outputs
| Item | Units | |
|---|---|---|
| Input | Net thickness, zone 1 | ft |
| Input | Porosity, zone 1 | v/v |
| Input | Water saturation, zone 1 | v/v |
| Input | Permeability, zone 1 | mD |
| Input | Net thickness, zone 2 | ft |
| Input | Porosity, zone 2 | v/v |
| Input | Water saturation, zone 2 | v/v |
| Input | Permeability, zone 2 | mD |
| Output | Total net thickness | ft |
| Output | Porosity-thickness | ft |
| Output | Hydrocarbon pore thickness | ft |
| Output | Permeability-thickness | mD·ft |
| Output | Thickness-weighted porosity | v/v |
| Output | Pore-volume-weighted water saturation | v/v |
| Output | Thickness-weighted permeability | mD |
| Output | Pore volume per acre | rb/acre |
Equations
Let \(i\) index the net pay intervals, or the net pay samples of a log, with thickness \(h_i\) in feet (the sample step for a log sample). The totals over the interval are
The averages that go with them are weighted by the quantity the sum represents. Porosity is weighted by thickness, saturation by pore volume, and permeability by thickness:
The pore volume under one acre follows from the barrels in an acre-foot:
and the hydrocarbon volume at reservoir conditions per acre is \(7758\,\HCPVs\), which is divided by the formation volume factor to give the surface volume in the OOIP and OGIP formulas. The sums are taken only over samples that pass the net pay flag, so \(h_i\) is zero in non-pay and the sum is not diluted by it. The calculator uses two intervals; the same equations apply to any number.
| Symbol | Variable | Units | Typical range |
|---|---|---|---|
| \(\phi_e\) | Effective porosity | v/v | 0 to 0.35 |
| \(S_w\) | Water saturation | v/v | 0 to 1 |
| \(H\) | Total net thickness | ft | |
| \(\Phi H\) | Porosity-thickness | ft | |
| \(\mathrm{HCPV}\) | Hydrocarbon pore thickness | ft | |
| \(kh\) | Permeability-thickness | mD·ft | |
| \(\bar{\phi}\) | Thickness-weighted porosity | v/v | |
| \(\bar{S}_w\) | Pore-volume-weighted water saturation | v/v | |
| \(\bar{k}\) | Thickness-weighted permeability | mD | |
| \(PV_A\) | Pore volume per acre | rb/acre |
Single-value calculator
Behavior
The calculator has a thick, better interval and a thinner, tighter one: zone 1 is 12 ft at 14% and zone 2 is 8 ft at 9%. At the default saturations the totals are \(\Phi H\) = 2.40 ft, HCPV = 1.572 ft and \(kh\) = 24.4 mD·ft over 20 ft. Hydrocarbon pore thickness falls in a straight line as the saturation of zone 2 rises. For zone 2 at 9% porosity it is 1.896 ft with \(S_w\) = 0 and 1.176 ft with \(S_w\) = 1, where only zone 1 contributes; the other two curves have the same end value and a lower or higher start, depending on the porosity of zone 2. The averages differ in what they weight. The pore-volume-weighted saturation is 0.345, which is higher than the zone 1 value of 0.30 because the tighter zone has a higher saturation. The thickness-weighted permeability is 1.22 mD, nearly all of it from zone 1: the 8 ft of tighter rock carries 1.6% of the permeability-thickness.
Parameter guidance
Net pay flag. The sums are over net pay. Set the cutoffs and the minimum bed thickness as described in Choosing Cutoffs, Gross, Net Reservoir and Net Pay and Minimum Bed Thickness. A change in the cutoff changes the thickness and the averages in the same direction, so state the cutoffs with every result. Which gross level to sum. Summing over gross reservoir, net reservoir or net pay gives three different numbers. Hydrocarbon volume belongs to net pay, and the porosity-thickness and permeability-thickness for storage and flow capacity are often reported over net reservoir. Porosity and saturation pair. Use effective porosity with effective saturation, or total with total. Permeability. The arithmetic sum is correct for flow along the bedding, in a layered interval. For flow across layers, the harmonic mean applies, and for a mixture of high and low permeability the arithmetic mean is dominated by the high values.
Worked example
Four net pay intervals of one well, with thickness, porosity, water saturation and permeability. The sums are taken as written above, and the plain averages of the interval values are shown to illustrate why weighting matters:
import numpy as np
h = np.array([6.0, 14.0, 3.0, 9.0]) # net thickness, ft
phi = np.array([0.16, 0.10, 0.19, 0.08]) # porosity, v/v
sw = np.array([0.25, 0.40, 0.20, 0.55]) # water saturation, v/v
k = np.array([5.0, 0.2, 12.0, 0.05]) # permeability, mD
H = h.sum()
phih = (h * phi).sum()
hcpv = (h * phi * (1 - sw)).sum()
kh = (h * k).sum()
print(f"H = {H:g} ft PHIH = {phih:.3f} ft HCPV = {hcpv:.3f} ft kh = {kh:.2f} mD.ft")
print(f"thickness-weighted porosity = {phih / H:.4f} (plain mean {phi.mean():.4f})")
print(f"pore-volume-weighted Sw = {1 - hcpv / phih:.4f} (plain mean {sw.mean():.4f}, thickness-weighted {(h * sw).sum() / H:.4f})")
print(f"thickness-weighted k = {kh / H:.3f} mD (plain mean {k.mean():.3f}, geometric mean {np.exp(np.log(k).mean()):.3f})")
print(f"share of kh from the best interval = {100 * (h * k).max() / kh:.0f}%, share of thickness = {100 * h[np.argmax(h * k)] / H:.0f}%")
print(f"pore volume per acre = 7758 x {phih:.3f} = {7758 * phih:,.0f} rb/acre; hydrocarbon = {7758 * hcpv:,.0f} rb/acre")
bo = 1.30
print(f"oil in place per acre at Bo = {bo:g}: {7758 * hcpv / bo:,.0f} stb/acre")
Output
H = 32 ft PHIH = 3.650 ft HCPV = 2.340 ft kh = 69.25 mD.ft
thickness-weighted porosity = 0.1141 (plain mean 0.1325)
pore-volume-weighted Sw = 0.3589 (plain mean 0.3500, thickness-weighted 0.3953)
thickness-weighted k = 2.164 mD (plain mean 4.312, geometric mean 0.880)
share of kh from the best interval = 52%, share of thickness = 9%
pore volume per acre = 7758 x 3.650 = 28,317 rb/acre; hydrocarbon = 18,154 rb/acre
oil in place per acre at Bo = 1.3: 13,964 stb/acre
Assumptions and limitations
- The intervals are the net pay flagged by cutoffs on porosity, clay volume, water saturation and, if used, permeability. A different cutoff changes every sum, so the sums are only comparable between wells with the same cutoffs.
- Each interval has one average value of porosity, saturation and permeability. The result depends on how the averages inside each interval were computed. Summing the log samples directly avoids a separate averaging step.
- Thickness is true vertical thickness. In a deviated well, or in a dipping bed, the measured thickness is larger than the vertical thickness, and the sums need a correction.
- The permeability-thickness is the sum for a layered system with flow parallel to the layers and no cross flow. It is a flow capacity for a well draining all of the layers, not a measured well-test value.
- Hydrocarbon pore thickness counts every pore not filled with water as hydrocarbon. It includes residual hydrocarbon and does not distinguish movable from bound water.
QC checks
- HCPV is not greater than PHIH, and PHIH is not greater than the total net thickness. Thickness-weighted porosity lies between the lowest and highest porosity in the sum.
- The pore-volume-weighted saturation lies between the saturations of the intervals, and is closer to the saturation of the thicker and more porous interval. A value outside the range is an error.
- The sums scale with the net thickness: changing a cutoff that increases the net thickness by 10 percent should change PHIH, HCPV and kh in the same direction, with the averages moving only slightly.
- kh is dominated by the highest-permeability interval. If the best interval carries most of kh in a thin bed, check that the permeability transform is not extrapolating there.
- Compare PHIH and kh across wells in the same zone. A well that deviates from the trend by more than the log uncertainty is a candidate for a log or cutoff problem.
Going Deeper
Porosity-thickness and permeability-thickness are the standard well-to-well comparison quantities of reservoir description. A porosity map multiplied by the net thickness map is PHIH, and mapping HCPV directly is the usual route to a hydrocarbon in place map: multiplying the HCPV map by 7758 and dividing by the formation volume factor gives stock-tank barrels per acre without further assumptions. Storage and flow capacity are often combined in cross plots of PHIH against kh, or in the cumulative flow capacity against cumulative storage capacity plot, which shows how concentrated the flow is in a few layers. The last of these is related to the Lorenz coefficient, and it connects to the flow-capacity fractions in the cutoff topic. The arithmetic thickness-weighted permeability is the exact effective value for flow along the layers and an overestimate for flow across them, where the harmonic mean applies. In unconventional plays the same sums are used with a kerogen-corrected porosity, and the adsorbed volume is added on separately.
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.