Blog

2026-09-23 · RRS Team

TOC From Well Logs: Passey Delta-Log-R, Schmoker Density, and Why the Order of Operations Matters

How total organic carbon is read from resistivity, sonic and density logs, why kerogen has to come out of the porosity before saturation is computed, and how adsorbed gas gets booked without double counting.

Every petrophysicist who has worked a shale play has met the same three failures of the conventional workflow. The density log reads kerogen as porosity, because kerogen is light. The gamma ray reads uranium as clay, because organic matter fixes uranium. And total organic carbon, the number the whole play is priced on, is estimated in a spreadsheet that nothing downstream can see.

None of these is a hard problem on its own. The difficulty is that they interact, and the interaction is an ordering problem. This post walks through the estimators, the corrections, and the order in which they have to run.

Reading TOC from the logs

Passey delta-log-R

The workhorse is Passey et al. (1990). In a lean shale, the sonic and the deep resistivity track each other: both respond to porosity and compaction. Organic matter breaks the relationship in two ways. Kerogen slows the sonic, and in a mature rock the hydrocarbon it generated raises the resistivity. Overlay the sonic on the resistivity, scaled so the two curves lie together in the lean shale, and the separation that opens in the source rock is the signal.

That separation is delta-log-R:

ΔlogR = log10(Rt / R_baseline) + 0.02 · (Δt − Δt_baseline)
TOC   = ΔlogR · 10^(2.297 − 0.1688 · LOM)

The same construction works on the density log (factor 2.5 per g/cc) and the neutron (factor 4.0 per porosity unit). LOM, the level of organic metamorphism, is the maturity term. It comes from vitrinite reflectance, from Rock-Eval Tmax through the Jarvie relation, or, better, from a profile fitted to core Ro against depth so a deep source rock is not read at a shallow maturity.

Two things about Passey are worth keeping in mind. The baseline is a lean shale, and lean shales are rarely at zero TOC, so the method reads TOC above the baseline rock's own TOC. And the resistivity term is a hydrocarbon response, which means it over-reads in a gas-charged interval and reads nothing in an immature one.

Schmoker density

Schmoker's approach ignores resistivity entirely. Kerogen at 1.1 to 1.3 g/cc dilutes a rock whose organic-free density is 2.6 to 2.7. The volume of kerogen is the density deficit:

V_k = (ρ_organic-free − ρ_b) / (ρ_organic-free − ρ_k)
TOC = 100 · V_k · ρ_k · C_k / ρ_b

with C_k the carbon fraction of the kerogen, around 0.8 for a mature Type II. The organic-free density is the trap. It is not a constant; it depends on how much clay is in the rock, so it should follow the clay volume from the Vsh step rather than sit as one typed number.

Uranium

Organic matter fixes uranium out of seawater, so in marine source rocks spectral gamma ray uranium correlates with TOC. The relation is local, a slope and intercept fitted to core, and it is the one estimator that does not care about gas, compaction or maturity. It fails in the other direction: a phosphatic bed or a uranium-rich detrital layer reads as rich without being so.

Fusing them honestly

Each method fails somewhere specific. The right response is not to pick one but to weight them per depth by where each is known to fail: the overlays lose weight in gas zones, above a resistivity cap that marks tight rock, and in over-mature section; the density methods drop out in bad hole. The fused curve then carries a confidence at every depth and a reason flag where it is low. A TOC of 2 wt% with confidence 0.9 and a TOC of 2 wt% with confidence 0.3 and a gas flag are different answers, and a zone table that reports only the first number hides that.

Why the order matters

Here is the ordering problem. Porosity needs the kerogen volume to correct the density log. The kerogen volume needs TOC. TOC by Schmoker needs the organic-free density, which needs the clay volume. And Vsh from the gamma ray needs the uranium removed first.

So the chain that works is:

  1. Vsh on a computed gamma ray, GR minus 8.09 times uranium in ppm, so organic-bound uranium is not counted as clay. The shale points picked here become the Passey baselines.
  2. Organic matter: TOC from the fused estimators, kerogen volume from TOC, maturity and kerogen type.
  3. Porosity with the kerogen subtracted from the matrix on every log: density corrected by V_k times (ρ_matrix − ρ_k), neutron by the kerogen's hydrogen index, sonic by its slowness.
  4. Saturation on the corrected porosity.
  5. Net pay with a TOC cut-off beside the usual three.

Run it the other way, porosity first, and a 6 pu shale with 10 percent kerogen reads as 14 pu, saturation is computed on pore space that does not exist, and the hydrocarbon pore volume comes out roughly double.

Calibrating to core

The fits are cheap once the core is in the workspace. Core TOC against delta-log-R through the origin gives the slope, and the slope gives LOM directly, which is a better maturity than a typed Ro. Core TOC against bulk density gives Schmoker's two densities from the line's intercept and slope. Core TOC against uranium gives the regression. And the fused curve against core gives a linear calibration whose residuals tell you which zone the estimators disagree in.

One detail matters here. A line through the origin should be scored against the uncentred sum of squares, not the mean-centred one. The centred form has no intercept to absorb the mean and reads near zero on a good fit. It is a small thing, and it makes the calibration plot lie.

Rock-Eval adds two checks. HI against Tmax places the kerogen type. S1 over TOC, the oil saturation index, marks where retained oil crosses 100 mg per gram of TOC, the Jarvie crossover that separates a source rock from a producible one.

Gas in place without double counting

Shale gas is booked in two places. Free gas sits in the pores and follows the conventional formula: pore volume times gas saturation over Bg. Adsorbed gas sits on the rock, on the organic surfaces mostly, and follows Langmuir:

G_c = V_L · P / (P_L + P)    scaled by TOC / TOC_reference

corrected from the isotherm temperature to formation temperature and from the laboratory's dry-ash-free basis to in situ. Adsorbed gas in place is then rock volume times rock tonnage times G_c. No Bg and no water saturation appear in that term; it is not in the pore space.

The double-counting risk comes at the hand-off. If a petrophysics workspace reports total gas per zone and a volumetrics module also computes free gas from the same porosity and saturation, adding the two counts free gas twice. The clean hand-off carries only the adsorbed gas content into volumetrics, which computes the free term itself and adds the adsorbed term on the bulk rock volume. In Monte Carlo the gas content is sampled like any other input and appears in the tornado.

Brittleness belongs with the moduli

Completion engineers ask for brittleness, and there are two different quantities under that name. Rickman's elastic index normalises Young's modulus over 1 to 8 million psi and Poisson's ratio over 0.40 to 0.15 and averages the two. Jarvie's and Wang and Gale's mineralogical indices are quartz, or quartz plus dolomite, over the total including clay, with kerogen counted as ductile. The first needs the mechanical earth model; the second needs mineral volumes from a multimineral solve. Neither is a property of the organic-matter step, and putting them beside the geomechanics outputs is where a reviewer expects to find them.

In the platform

In Reservoir Risk Solutions, the organic-matter step is the second step of the deterministic route in Formation Evaluation, switched on per case. The Passey overlay tracks draw on the main log viewer with the separation shaded. The core crossplots and the maturity profile are one dialog each. The kerogen correction happens inside the porosity models with no switch to remember. The zone table reports TOC with richness classes and Langmuir gas in place, the bridge carries the adsorbed gas content into Volumetrics, and the brittleness indices sit in the geomechanics workspace. It runs in the browser on a project folder you choose; the log files never leave your machine.

References

  • Passey, Q. R., Creaney, S., Kulla, J. B., Moretti, F. J., and Stroud, J. D. (1990). A practical model for organic richness from porosity and resistivity logs. AAPG Bulletin, 74(12).
  • Schmoker, J. W., and Hester, T. C. (1983). Organic carbon in Bakken Formation, United States portion of Williston Basin. AAPG Bulletin, 67(12).
  • Jarvie, D. M., Hill, R. J., Ruble, T. E., and Pollastro, R. M. (2007). Unconventional shale-gas systems: the Mississippian Barnett Shale of north-central Texas. AAPG Bulletin, 91(4).
  • Rickman, R., Mullen, M., Petre, E., Grieser, B., and Kundert, D. (2008). A practical use of shale petrophysics for stimulation design optimization. SPE 115258.
  • Wang, F. P., and Gale, J. F. W. (2009). Screening criteria for shale-gas systems. Gulf Coast Association of Geological Societies Transactions, 59.