TOC Calculator: Passey DlogR Method from Resistivity and Sonic Logs
Heading to the field? Install this site from your browser menu and this tool works with no signal. See how
Compute total organic carbon from the separation between a resistivity curve and a porosity curve, using the sonic, density or neutron overlay, with maturity entered directly as LOM or derived from vitrinite reflectance.
Enter depth, deep resistivity and the porosity curve reading for each sample. The tool computes the logarithmic separation from the baseline at every depth and converts it to total organic carbon. Blank rows are ignored.
| Depth | Resistivity (ohm m) | Transit time (us/ft) |
|---|

Reading organic carbon off a wireline log
Total organic carbon is a core measurement. You send plugs or cuttings to a laboratory, they burn them, and weeks later a number comes back. That works for the few feet you sampled and nowhere else. The Passey method, published in 1990 by Passey and colleagues at Exxon, gives you a continuous TOC curve everywhere you have a resistivity log and a porosity log, which in practice means everywhere.
The idea rests on two things organic matter does at once. Kerogen is a solid, low density, electrically insulating material that occupies part of the pore system. As it matures it generates hydrocarbon, which replaces conductive formation water and pushes resistivity up. At the same time kerogen and the hydrocarbon it makes are slow to transmit sound, light in density and rich in hydrogen, so the sonic reads longer, the density reads lighter and the neutron reads higher porosity. One property moves the resistivity curve, another moves the porosity curve, and they move in opposite directions on a conventional log display.
Scale the two curves so they sit on top of each other in ordinary, organically lean rock, and any place they come apart is telling you something. That gap is the DlogR separation, and it is what this tool measures.
Where the numbers in the equation come from
For the sonic overlay the separation is the base 10 logarithm of resistivity over baseline resistivity, plus 0.02 times the difference between the transit time and its baseline. That 0.02 is not fitted to anything. It is a scaling choice: two logarithmic resistivity cycles are lined up against 100 microseconds per foot of transit time, so 50 microseconds per foot of separation equals exactly one resistivity decade. One over 50 is 0.02. You can verify this in the tool by holding resistivity flat and raising the transit time by 50, which gives a DlogR of exactly 1.000.
The density overlay uses a coefficient of minus 2.50 per gram per cubic centimetre and the neutron overlay uses plus 4.00 per porosity unit as a fraction. The sign flips for density because organic rock reads lighter, not heavier. All three coefficients express the same alignment of two resistivity cycles against a sensible span of the porosity curve, which is why the three methods return the same separation when the logs are consistent. The default data set loaded in the tool is built so all three overlays agree to fifteen decimal places, and switching the method dropdown demonstrates that.
Converting separation to carbon is where maturity enters. The relationship is TOC equals DlogR multiplied by 10 raised to the power of 2.297 minus 0.1688 times LOM. LOM is the level of organic metamorphism, a maturity scale running roughly from 6 at the onset of the oil window to 12 in dry gas. At LOM 7 the multiplier is 13.04. At LOM 10 it is 4.06. The same log separation therefore means three times more carbon in an immature rock than in a mature one, because in the mature rock a good deal of the resistivity response is coming from generated hydrocarbon rather than from kerogen itself.
The baseline is the whole ball game
Everything in this method is measured relative to a baseline, and picking it badly is the fastest way to a wrong answer. The baseline is a depth, or a set of depths, where the rock is compositionally similar to the source interval but organically lean. A tight, clean shale directly above or below the target is ideal. What you must not do is take the baseline from a sandstone or a limestone when your source rock is a shale, because you will then be measuring lithology contrast rather than organic content.
A useful discipline is to confirm that the baseline gives a DlogR of exactly zero and therefore a TOC of exactly zero. The tool shows this in the status line and in the table, where the baseline row reports zero. If your chosen baseline gives a non zero TOC, it is not a baseline.
The baseline can also drift with depth in a thick section as compaction changes the sonic response. Passey addressed this by allowing a sloping baseline. This tool takes a single baseline pair, which is appropriate for a defined interval of a few hundred feet, and the sensible practice for a thicker section is to work interval by interval rather than forcing one baseline across the whole well.
A worked example
The tool loads a synthetic but realistic shale interval from 8000 to 8160 ft. The baseline sits at the top and bottom of the interval, where resistivity is 5 ohm m and the sonic reads 90 microseconds per foot. Maturity is early mature at LOM 7. Work through the richest sample, at 8080 ft, where resistivity is 9.5 ohm m and the sonic reads 101 microseconds per foot.
- Resistivity term. The base 10 logarithm of 9.5 divided by 5 is 0.2788.
- Sonic term. 0.02 multiplied by the difference of 11 microseconds per foot gives 0.2200.
- Add them. DlogR is 0.4988.
- Maturity multiplier. 10 raised to 2.297 minus 0.1688 times 7 is 10 raised to 1.1154, which is 13.0437.
- Total organic carbon. 0.4988 multiplied by 13.0437 is 6.51 weight percent.
That is a rich but entirely plausible source rock. Now switch the overlay dropdown to density. The tool loads the equivalent density readings, which show 2.462 g/cc at that same depth against a baseline of 2.55 g/cc. The density term is minus 2.50 multiplied by minus 0.088, which is 0.2200, exactly matching the sonic term. The separation and the TOC come out identical. Switch to neutron and the same thing happens with a reading of 0.275 against a baseline of 0.22. Three independent curves, one answer. When that agreement breaks down on real logs, the disagreement is itself the useful signal, usually pointing at gas effect on the neutron or at a borehole problem on the density.
Across the whole interval the mean TOC is 3.12 weight percent, and with a cutoff of 2 weight percent the tool reports 120 ft of net organic rock inside a 160 ft gross interval, a net to gross of 0.75. Those net numbers are what actually feed a resource calculation, and they move sharply with the cutoff, which is why the cutoff is an input you can see and change rather than a constant buried in the code.
Getting maturity right
LOM is the least comfortable input in the method, because few people have an LOM number to hand. Most have vitrinite reflectance instead. The tool will convert for you, using a logarithmic relationship anchored so that a reflectance of about 0.5 percent, the conventional onset of oil generation, lands near LOM 7, and 1.3 percent lands near LOM 8.7.
Treat that conversion as an estimate rather than a measurement. The relationship between reflectance and LOM depends on kerogen type and on heating history, and published correlations differ. If you have a basin specific calibration, or laboratory TOC on a few plugs from the same interval, use those to tune LOM directly. The right workflow is to run the tool with your best guess, compare the resulting curve against whatever core TOC exists, and adjust LOM until they line up. The multiplier is a single number, so this converges quickly.
The TOC background input handles a different problem. Some formations carry a small amount of inert, non generative carbon that shows in laboratory TOC but produces no log separation. If your core data consistently sits about half a percent above the log derived curve, that offset belongs in the background field rather than in the maturity term.
Where the method misleads
- Baseline taken in the wrong lithology. You end up mapping the shale to sand contrast and calling it carbon.
- Overmature rock. Beyond about LOM 11 the multiplier becomes small and the method loses resolution, so a small log error becomes a large TOC error.
- Pyrite. Organic rich shales often carry pyrite, which is conductive and suppresses resistivity, pulling calculated TOC down.
- Borehole washout. The density curve is the most affected, so in a rough hole prefer the sonic overlay.
- Gas effect on neutron. Gas lowers neutron porosity, which works against the organic response and can hide a good source rock.
- Reading TOC where there is no source rock. The method returns a number for any separation, including one caused by a resistive cemented streak. Sanity check against gamma ray and against the geological picture.
Using the tool
Choose the overlay curve you have, then set the baseline. The button beneath the table will take the baseline straight from your shallowest row if that row sits in lean rock. Enter maturity as LOM, or switch the dropdown to derive it from vitrinite reflectance. Then type your log readings into the table, one row per sample, adding rows as needed.
The left panel plots the two curves on the shared overlay scale with the separation shaded, which is the display the method is named for and the fastest way to see whether your baseline is sensible. The right panel is the resulting TOC profile with the cutoff marked. Beneath them the table gives every depth with its separation and carbon, and the step listing reproduces the arithmetic for the richest sample so it can be checked by hand. The export row will download the plots as an image, the table as a CSV file, or print the whole panel.
Related Calculators and Reference
- Vitrinite Reflectance Calculator: Thermal Maturity from Tmax and Ro
- Water Saturation Calculator: Archie Equation for Sw from Resistivity
- Porosity Calculator: Density, Sonic and Neutron Log Methods
- Shale Volume Calculator: Gamma Ray Index and Larionov Correction
- LAS File Viewer: Well Log Petrophysics Tool
- Net to Gross Ratio Calculator: Reservoir Cutoffs
- SPE PetroWiki: Total organic carbon
