Skip to content
Brent$117.6Gas TTF$1,192USD453.87 ₸
MunaiHub
Logs and petrophysicsPorosity and lithology Intermediate 16 min read

Lithology and porosity from crossplots

A crossplot is a graph on which the readings of two porosity methods, taken in the same formations, are plotted against each other. Lines for clean rocks with liquid in the pores (sandstone, limestone, dolomite) are drawn on it in advance, with porosity marks. It also carries the points of the evaporites (rocks left behind by evaporating water): anhydrite, rock salt and gypsum. The position of the point of a formation among these lines gives the porosity and, at the same time, shows what mineral the matrix is made of. If the point is shifted, this shows the effect of shale, gas and vugs (cavities in the rock).

Why it matters

When the matrix is unknown, or is made of two minerals in an unknown proportion, one porosity method cannot give the answer. A density of 2.40 g/cm³ means 15% in sandstone and 25% in dolomite. Two methods that sense minerals differently give two equations for two unknowns. A crossplot solves them visually. It also shows at once how far the answer can be trusted: which pair of methods tells which rocks apart, where an error in the choice of minerals is dangerous and where it is almost harmless, and whether gas, shale or vugs have shifted the point.

Quick refresher

  • A crossplot point is two readings of one formation. The lines are clean minerals with liquid in the pores, and the marks on them show porosity. A segment joining equal marks is an isoporosity line (a line of equal porosity). The point of a mixture of two minerals lies between their lines, and its position on the segment gives the fractions of the minerals.
  • The neutron–density crossplot is drawn in limestone units. Neutron porosity is shown as recorded, and density porosity is calculated with a matrix density of 2.71 g/cm³. The limestone line is the diagonal. Sandstone is above and to the left of it, and dolomite is below and to the right.
  • On the neutron–density pair, the porosity hardly depends on which pair of minerals (sandstone, limestone, dolomite, anhydrite) we choose. The mineral fractions depend on this choice strongly.
  • The sonic–density pair hardly tells sandstone, limestone and dolomite apart, but it separates salt, anhydrite and gypsum well. The sonic–neutron pair tells the main reservoir rocks apart well and the evaporites poorly.
  • Shale pulls the point towards the shale point: on neutron–density, down and to the right. Gas takes it up and to the left, almost along the isoporosity lines. Vugs shift only the crossplots that use the sonic log.
Key relationships
ϕD,ls=2.71−ρb2.71−ρf\phi_{D,ls} = \dfrac{2.71 - \rho_b}{2.71 - \rho_f}

density porosity on the limestone scale

L=(1−f) L1(ϕ)+f L2(ϕ)L = (1 - f)\,L_1(\phi) + f\,L_2(\phi)

reading of a formation whose matrix is two minerals: the point lies on an isoporosity segment

ϕ≈ϕN+ϕD,ls2\phi \approx \dfrac{\phi_N + \phi_{D,ls}}{2}

quick estimate of the porosity of a clean formation with liquid in the pores

ΔϕD,ls=kD,ls ϕShr,ΔϕN=−kN ϕShr−Δϕex\Delta\phi_{D,ls} = k_{D,ls}\,\phi S_{hr}, \qquad \Delta\phi_N = -k_N\,\phi S_{hr} - \Delta\phi_{ex}

shift of the point of a gas-bearing formation

Common pitfalls
  • Plotting, on a chart in limestone units, a neutron porosity that has already been converted to sandstone units.
  • Reading the lithology from the point of a gas-bearing or shaly formation without corrections.
  • Trusting the mineral fractions from a crossplot as much as the porosity.
  • Using a chart for another tool or another filtrate.

After this lesson you can

  • explain why two methods with different sensitivity to minerals give both the porosity and the lithology (the rock type), and how the lines and marks of a crossplot are built
  • find the porosity and the fractions of two minerals from a neutron–density crossplot, and estimate how the answer depends on the chosen pair of minerals
  • compare the neutron–density, sonic–density and sonic–neutron pairs by which rocks they can tell apart and how sensitive they are to measurement errors
  • recognise the effect of shale volume, secondary porosity and gas on crossplots, and correct the point of a shaly or gas-bearing formation
  • understand that the lines of a crossplot depend on the tool, the processing and the filtrate, and choose a chart for your own data

Two unknowns, two methods

In a clean formation with liquid in the pores, the reading of each porosity method depends on two things: how many pores the rock has, and what mineral its matrix is made of. If the mineral is known, one method is enough. This is how porosity is calculated in the topics Porosity from the density log, Porosity from the neutron log and Porosity from the sonic log. If the matrix is unknown, or is made of two minerals in an unknown proportion, there are two unknowns. Then we need two methods, and they must be methods that sense minerals differently.

How minerals look to the three methods
Mineral
Quartz (sandstone)
ρma\rho_{ma}, g/cm³
2.65
ϕN\phi_N without pores
about −0.02
Δtma\Delta t_{ma}, µs/m
182
Mineral
Calcite (limestone)
ρma\rho_{ma}, g/cm³
2.71
ϕN\phi_N without pores
0
Δtma\Delta t_{ma}, µs/m
156
Mineral
Dolomite
ρma\rho_{ma}, g/cm³
2.87
ϕN\phi_N without pores
from +0.01 to +0.03
Δtma\Delta t_{ma}, µs/m
143
Mineral
Anhydrite
ρma\rho_{ma}, g/cm³
2.98
ϕN\phi_N without pores
about 0
Δtma\Delta t_{ma}, µs/m
164
Mineral
Rock salt
ρma\rho_{ma}, g/cm³
2.03
ϕN\phi_N without pores
about 0
Δtma\Delta t_{ma}, µs/m
220
Mineral
Gypsum
ρma\rho_{ma}, g/cm³
2.35
ϕN\phi_N without pores
about 0.5
Δtma\Delta t_{ma}, µs/m
172

The densities are as the tool reads them (Density log and photoelectric factor (Pe)). The neutron porosity is in limestone units for a compensated thermal neutron tool. In salt, real tools read several units below zero, and in gypsum 0.5–0.6 (conversion to the matrix). The transit times are the parameters of the time-average equation (Porosity from the sonic log). The values are approximate.

The more the two methods disagree in their “opinion” of the minerals, the better the pair tells the rocks apart. Sandstone and dolomite of the same porosity differ by 0.22 (1−ϕ)0.22\,(1 - \phi) g/cm³ in density, by 4–11 units in neutron porosity, and by 39 (1−ϕ)39\,(1 - \phi) µs/m in interval transit time. Sandstone and limestone differ only by 0.06 (1−ϕ)0.06\,(1 - \phi) g/cm³, 2–4.5 units and 26 (1−ϕ)26\,(1 - \phi) µs/m. So some pairs separate some rocks well and hardly tell others apart.

Reading of a clean formation whose matrix is a mixture of two minerals
L=(1−f) L1(ϕ)+f L2(ϕ)L = (1 - f)\,L_1(\phi) + f\,L_2(\phi)
where:
  • LLreading of a method: bulk density, neutron porosity or interval transit time, g/cm³; fraction; µs/m
  • L1(ϕ), L2(ϕ)L_1(\phi),\ L_2(\phi)readings of formations made of pure mineral 1 and pure mineral 2 at the same porosity and with the same fluid, the same
  • fffraction of the second mineral in the matrix volume, fraction
  • ϕ\phiporosity, fraction

Units: units of the method

Holds when
  • The formation is clean, the pores are filled with liquid of known density, and environmental corrections have been applied.
  • For density the formula is an exact mass balance.
  • For neutron porosity and interval transit time it is an approximation. The contributions of minerals do not add up in a strictly straight-line way, and on real charts the mixture lines are slightly curved.

The point of a mixture lies on the segment joining the points of the two pure minerals with the same porosity, and it divides the segment in the ratio of the mineral fractions. So the segments between equal porosity marks on the lithology lines are isoporosity lines. The line on which the point lies gives the porosity, and the position on that line gives the mineral fraction.

The neutron–density crossplot

The most common pair is the density and neutron logs. The horizontal axis of the crossplot carries the neutron porosity in limestone porosity units, as recorded after the environmental corrections. The vertical axis carries the density, usually converted to density porosity as if the formation were limestone.

Density porosity on the limestone scale
ϕD,ls=2.71−ρb2.71−ρf\phi_{D,ls} = \frac{2.71 - \rho_b}{2.71 - \rho_f}
where:
  • ϕD,ls\phi_{D,ls}density porosity calculated with the density of calcite, fraction
  • ρb\rho_bbulk density from the log, corrected for environmental conditions, g/cm³
  • ρf\rho_ffluid density: 1.0 g/cm³ for fresh filtrate, about 1.1 for salty filtrate, g/cm³

Units: densities in g/cm³; porosity is dimensionless

Holds when
  • This is not a statement that the formation is limestone. It is only a scale common to all the lines.
  • Choose the chart by the filtrate: for fresh and salty muds the lines are different.

On such a scale, clean water-bearing limestone lies on the diagonal ϕD,ls=ϕN\phi_{D,ls} = \phi_N. Sandstone is above and to the left, and dolomite is below and to the right. A value of 0 corresponds to a density of 2.71 g/cm³, a value of 0.20 to 2.37 g/cm³, and a value of 0.40 to 2.03 g/cm³.

Neutron–density crossplot: sandstone, limestone and dolomite lines, evaporites and the example0.00.10.20.30.40.5−0.2−0.10.00.10.20.30.4φN, limestone unitsφD on limestone scale2.712.542.372.202.03ρb102030102030anhydritesaltgypsumXsandstonelimestonedolomite

Chart: the horizontal axis is neutron porosity in limestone units from −0.05 to 0.55, the vertical axis is density porosity on the limestone scale from −0.2 to 0.45, and on the right is the density from 2.71 to 2.03 g/cm³. Three almost parallel rising lines: sandstone is highest, starting near the point (−0.02; 0.04); limestone is the diagonal from zero; dolomite is lowest, starting near (0.02; −0.09). Dashed segments join the marks of 10, 20 and 30% on the three lines. Diamonds: salt at (0; 0.40), anhydrite at (0; −0.16), gypsum at (0.5; 0.21). Point X (0.13; 0.10) lies between limestone and dolomite on the 12% porosity segment.

CalculatedNeutron–density crossplot for fresh filtrate, drawn from the simplified model of the lesson. It shows the lines of sandstone, limestone and dolomite with porosity marks every 0.05 (labelled in per cent), dashed isoporosity lines, the points of anhydrite, rock salt and gypsum, and point X of the example below on its isoporosity line. On the right is the bulk density that matches the scale.
How to read a point
  1. 1
    Plot the point

    Plot the neutron porosity in limestone units after the environmental corrections, and the corrected density, either as ϕD,ls\phi_{D,ls} or directly as ρb\rho_b.

  2. 2
    Choose a pair of minerals

    Choose it from the geology of the area, the cuttings and the photoelectric factor. For example, take limestone and dolomite. The point must lie between their lines.

  3. 3
    Porosity

    Find the isoporosity segment that passes through the point, interpolating between the neighbouring ones. Its mark is the porosity.

  4. 4
    Composition

    The fraction of the second mineral is the distance from the point to the line of the first mineral, divided by the length of the segment.

Worked exampleLimestone, dolomite or sandstone with dolomite?
Given (assumed data)
Formation
clean carbonate formation (gamma ray log, GR, low), pores filled with fresh filtrate
Readings
ρb=2.540\rho_b = 2.540 g/cm³; ϕN=0.134\phi_N = 0.134 in limestone units
Chart
lines of the lesson model (figure above)
Solution
  1. The density porosity on the limestone scale is 2.71−2.5401.71=0.0994\dfrac{2.71 - 2.540}{1.71} = 0.0994. The point (0.1340.134; 0.09940.0994) lies below the diagonal, between the limestone and dolomite lines.
  2. Take the limestone–dolomite pair. An isoporosity segment of 12% passes through the point, from the limestone point (0.1200.120; 0.1200.120) to the dolomite point (0.1750.175; 0.0380.038). The point is 25% of the length of the segment away from limestone. That is how much dolomite there is in the matrix.
  3. The sandstone–dolomite pair: the same point gives a porosity of 12.7%, with 52% dolomite and 48% quartz.
  4. The sandstone–limestone pair does not fit. The point lies beyond the limestone line, and the limestone fraction would come out as 146%, more than 100%.
  5. The quick estimate is (0.134+0.0994)/2=0.117(0.134 + 0.0994)/2 = 0.117.
Answer: The porosity is about 12% with any reasonable pair of minerals. The dolomite fraction is from 25 to 52%, depending on what the rest of the matrix is made of.

What it means. The formation in the example was set up as limestone with 25% dolomite in the matrix and a porosity of 12%. The limestone–dolomite pair returned both. The sandstone–dolomite pair was wrong in porosity by only 0.7 units, but its composition was unrecognisable. Cuttings, core, the photoelectric factor PeP_e (more detail) and the geology of the area decide which pair is right, not the crossplot itself. The data in this example are assumed for illustration.

Why the porosity is stable and the composition is not. The sandstone–limestone and limestone–dolomite isoporosity segments join at the limestone point, and together they run close to the straight sandstone–dolomite segment of the same porosity. So we can assign the point to different pairs of minerals. The porosity changes by fractions of a unit, but the mineral fractions come out quite different. With three or four minerals (quartz, calcite, dolomite and anhydrite), the porosity from the neutron–density pair is still well determined, but the composition is ambiguous. We need a third method or core (Lithology from the photoelectric factor and spectral gamma ray, M–N and MID plots for complex lithologies). Shale and gypsum are not covered by this rule, because they hold too much hydrogen.

For a quick estimate of the porosity of clean formations with liquid, use the mean of the two readings, (ϕN+ϕD,ls)/2(\phi_N + \phi_{D,ls})/2. For sandstone, limestone and dolomite with a porosity of 10% or more, it differs from the true porosity by no more than 1–2 units. In tight dolomite it comes out too low by more (quick estimates). You can recognise the evaporites on this crossplot at once. Salt is far at the top left (density porosity about 0.40 at a neutron porosity of about zero), anhydrite is at the bottom (−0.16 and about zero), and gypsum is on the right (0.21 and about 0.5).

Crossplots with the sonic log

On the sonic–density crossplot, the horizontal axis carries the interval transit time and the vertical axis carries the bulk density, with heavy rocks at the bottom. The lines of sandstone, limestone and dolomite almost merge here. At Δt=250\Delta t = 250 µs/m they give densities of 2.39, 2.36 and 2.45 g/cm³. A difference of a few hundredths is comparable to the measurement error, and an error of 0.02 g/cm³ or 3 µs/m moves the point from one line to another. For porosity, and for choosing among the three main rocks, the pair is almost useless. But the evaporites are far apart. Rock salt, anhydrite and gypsum differ in both density and interval transit time, so the pair recognises them, and their mixtures, well.

Sonic–density crossplot: the lines of the main rocks almost merge, the evaporites are well apart1502002503003502.02.22.42.62.83.0Δt, µs/mρb, g/cm³102030saltanhydritegypsumvugssandstonelimestonedolomite

Chart: the horizontal axis is interval transit time from 140 to 380 microseconds per metre, the vertical axis is density from 1.9 at the top to 3.0 at the bottom. Three lines run from the bottom left to the top right almost on top of one another: limestone from 156 µs/m and 2.71 g/cm³, sandstone from 182 and 2.65 slightly below limestone, dolomite from 143 and 2.87 a little below both. Diamonds: salt at the top at 220 µs/m and 2.03 g/cm³, gypsum on the left at 172 and 2.35, anhydrite at the bottom at 164 and 2.98. The “vugs” point at 212 µs/m and 2.40 g/cm³ lies above all three lines.

CalculatedSonic–density crossplot from the lesson model (time-average equation, fresh filtrate). The lines of sandstone, limestone and dolomite, with porosity marks every 0.05, almost merge, while the points of salt, anhydrite and gypsum are far apart. The “vugs” point is the limestone of the example below.

This pair has one more special use: undercompacted sands. Clean water-bearing sands of the same age fall on it along a straight line that leaves the matrix point. In an undercompacted section this line is flatter than the sandstone line: at the same density, the interval transit time is greater. On this line, the ratio of sonic porosity to density porosity is the compaction correction factor (calibration). Draw the line through sands that you know are clean and water-bearing. Shaly points move away from it towards the shale point, and gas-bearing points towards lower density.

On the sonic–neutron crossplot the lines of the main rocks are well apart. At a neutron porosity of 0.20 in limestone units, sandstone, limestone and dolomite give about 289, 249 and 211 µs/m. An error in choosing the pair of minerals hardly changes the porosity, as on the neutron–density crossplot. The evaporites, though, are hard to tell apart. Both salt and anhydrite show a neutron porosity of about zero and fall at the lower ends of the lines, where they are easily mistaken for tight sandstone or limestone.

Interval transit time is converted to porosity either by the time-average equation or by an empirical transform (empirical transform). So charts with the sonic log may have two sets of lines. Choose the set that core or reference formations have confirmed in the area. The lines in the figures of this lesson come from the time-average equation.

Sonic–neutron crossplot: the lines of the main rocks are well apart, vugs shift the point−0.10.00.10.20.30.40.5150200250300350φN, limestone unitsΔt, µs/m102030102030saltanhydritevugs: 0.14sandstonelimestonedolomite

Chart: the horizontal axis is neutron porosity in limestone units from −0.1 to 0.5, the vertical axis is interval transit time from 130 to 380 microseconds per metre. Three rising lines: sandstone is highest, from 182 µs/m, limestone from 156, dolomite lowest, from 143; at a neutron porosity of 0.2 they lie at levels of about 289, 249 and 211 µs/m. Dashed segments join the marks of 10, 20 and 30%. The diamonds of salt (0; 220) and anhydrite (0; 164) are at the lower ends of the lines. The “vugs” point (0.18; 212) lies between limestone and dolomite with the label 0.14.

CalculatedSonic–neutron crossplot from the lesson model (time-average equation, fresh filtrate). The lines of sandstone, limestone and dolomite are well apart. The dashed lines are isoporosity lines of 10, 20 and 30%. Salt and anhydrite are at the lower ends of the lines. The “vugs” point is the limestone of the example below, read as a mixture of limestone and dolomite.
What each pair can tell apart
Pair of methods
Neutron–density
Tells apart well
sandstone, limestone, dolomite; salt, anhydrite, gypsum
Tells apart poorly
mineral fractions in a mixture of three or more
Notes
the main indicator of gas; the porosity hardly depends on the choice of minerals
Pair of methods
Sonic–density
Tells apart well
salt, anhydrite, gypsum
Tells apart poorly
sandstone, limestone, dolomite
Notes
sensitive to measurement errors; vugs shift the point
Pair of methods
Sonic–neutron
Tells apart well
sandstone, limestone, dolomite
Tells apart poorly
evaporites
Notes
vugs shift the point; two variants of the lines

Shale, vugs and gas on the crossplot

Shale, for a crossplot, is one more “mineral” with its own point, the shale point. We plot it from the readings in neighbouring shale units. On the neutron–density crossplot, shale shows a high neutron porosity (0.30–0.45) with a moderate density porosity, so its point lies at the bottom right. A laminated shaly formation falls on the segment between the point of its clean rock and the shale point, and the greater the shale volume, the nearer it lies to the shale (Determining shale volume). So a shaly sandstone slides towards the limestone and dolomite lines and looks like a carbonate.

Worked exampleA shaly sandstone that looks like limestone
Given (assumed data)
Readings
ρb=2.345\rho_b = 2.345 g/cm³; ϕN=0.237\phi_N = 0.237 in limestone units; GR elevated
Adjacent shales
ρsh=2.48\rho_{sh} = 2.48 g/cm³, ϕN,sh=0.38\phi_{N,sh} = 0.38
Cuttings
quartz sandstone with shale laminae
Solution
  1. The point of the formation is at ϕD,ls=2.71−2.3451.71=0.213\phi_{D,ls} = \dfrac{2.71 - 2.345}{1.71} = 0.213 and a neutron porosity of 0.237, slightly below the diagonal. Read as a clean rock, it would give a limestone with 18% dolomite and a porosity of 0.226.
  2. The shale point is at ϕD,ls=2.71−2.481.71=0.135\phi_{D,ls} = \dfrac{2.71 - 2.48}{1.71} = 0.135 and a neutron porosity of 0.38.
  3. The line from the shale point through the point of the formation crosses the sandstone line at (0.1750.175; 0.2480.248). These are the sand laminae, with a porosity of 0.220.
  4. The point of the formation is at a fraction 0.30 of the way from the sandstone point to the shale point, so the shale volume is Vsh=0.30V_{sh} = 0.30. The effective porosity is (1−0.30)⋅0.220=0.154(1 - 0.30)\cdot 0.220 = 0.154.
Answer: This is a shaly sandstone: laminae with a porosity of 22%, a shale volume of about 30%, and an effective porosity of about 15%, not a limestone with a porosity of 23%.

What it means. Without allowing for shale, the crossplot gave a plausible but wrong answer: a wrong lithology and a porosity 7 units higher than the effective porosity. The construction is valid for laminated shale, when the shale laminae are the same as the adjacent shales. Check the shale volume that you find against GR. Dispersed shale in the pores behaves differently, and the shale point is only an approximation for it. The data in this example are assumed for illustration.

The density and neutron logs count vugs (cavities in the rock), but the sonic log hardly notices them (secondary porosity). So the neutron–density crossplot gives the total porosity of a vuggy formation, while on crossplots with the sonic log the point is shifted. At the same neutron porosity, or the same density, the interval transit time is shorter than for a rock with intergranular pores only. The difference between the total porosity and the sonic porosity is the secondary porosity index.

Worked exampleVuggy limestone on three crossplots
Given (assumed data)
Formation
clean limestone (PeP_e about 5, cuttings), pores filled with fresh filtrate
Readings
ρb=2.402\rho_b = 2.402 g/cm³; ϕN=0.180\phi_N = 0.180 in limestone units; Δt=212\Delta t = 212 µs/m
Solution
  1. Neutron–density: ϕD,ls=2.71−2.4021.71=0.180\phi_{D,ls} = \dfrac{2.71 - 2.402}{1.71} = 0.180. The point is on the diagonal, so this is limestone with a total porosity of 0.180.
  2. Sonic–neutron: for limestone with a neutron porosity of 0.18, the interval transit time would be 156+0.18⋅464=240156 + 0.18\cdot 464 = 240 µs/m. But 212 was recorded, so the point is below the limestone line. Read as a mixture of limestone and dolomite, it gives a porosity of 0.14 and 74% dolomite.
  3. Sonic–density: at 212 µs/m, limestone, sandstone and dolomite give densities of 2.50, 2.54 and 2.60 g/cm³. The measured 2.402 is lighter than any of them, so the point is outside the lines.
  4. The sonic porosity with limestone parameters is (212−156)/464=0.121(212 - 156)/464 = 0.121. The secondary porosity index is 0.180−0.121=0.0590.180 - 0.121 = 0.059.
Answer: The total porosity is 18%, of which about 6 porosity units are vugs. Crossplots with the sonic log, if read without allowing for vugs, are wrong in both porosity and lithology.

What it means. The formation was set up as limestone with a total porosity of 18%, of which 6 units are vugs. The neutron–density pair sees all the voids and gives the right answer. The pairs with the sonic log see only the intergranular pores, and they take the “missing” transit time for dolomite. The disagreement is not an error but information: in clean limestone with liquid, it estimates the fraction of vugs. The data in this example are assumed for illustration.

Gas in the flushed zone raises the density porosity and lowers the neutron porosity (hydrocarbon shifts). For gas the two sensitivities are of the same order: by as much as one porosity rises, the other falls by about the same amount. So the point moves up and to the left, at an angle close to the slope of the isoporosity lines between sandstone and limestone. The porosity read along these lines hardly changes (without the correction it comes out only slightly too low). But the lithology shifts by a whole class: gas-bearing limestone falls on the sandstone line, and gas-bearing sandstone falls beyond it, towards salt. For oil the shift is one or two units upwards, and it is usually not corrected.

Shift of the point of a gas-bearing formation on the neutron–density crossplot
ΔϕD,ls=kD,ls ϕShr,ΔϕN=−kN ϕShr−Δϕex\Delta\phi_{D,ls} = k_{D,ls}\,\phi S_{hr}, \qquad \Delta\phi_N = -k_N\,\phi S_{hr} - \Delta\phi_{ex}
where:
  • ΔϕD,ls, ΔϕN\Delta\phi_{D,ls},\ \Delta\phi_Nshift of the point vertically and horizontally relative to the same formation with liquid in the pores, fraction
  • kD,lsk_{D,ls}sensitivity of density porosity on the limestone scale: (ρmf−ρa,h)/(2.71−ρmf)(\rho_{mf} - \rho_{a,h})/(2.71 - \rho_{mf}), —
  • kNk_Nsensitivity of neutron porosity: 1−HIh/HImf1 - \mathrm{HI}_h/\mathrm{HI}_{mf}, —
  • ϕShr\phi S_{hr}volume fraction of residual gas in the flushed zone, fraction
  • Δϕex\Delta\phi_{ex}excavation-effect correction with the lithology coefficient KK: 1 for sandstone, 1.046 for limestone, 1.173 for dolomite, fraction

Units: fractions

Holds when
  • The coefficients are the same as in the topic on gas, shale and carbonates, but density porosity is calculated for limestone.
  • We estimate the gas volume ϕShr\phi S_{hr} from the saturation of the flushed zone (found with microresistivity tools) and a first estimate of porosity, and then refine it.
  • For oil, kD,lsk_{D,ls} is about 0.15 and kNk_N is close to zero: the point shifts one or two units upwards.

For gas, kD,lsk_{D,ls} and kNk_N are of the same order, and the point moves up and to the left, almost parallel to the isoporosity lines between sandstone and limestone. To read the lithology, move the point back down and to the right by the amount of the shift.

Worked exampleGas-bearing limestone that looks like sandstone
Given (assumed data)
Formation
clean carbonate at a depth of about 2000 m; high resistivity, gas shows while drilling
Readings
ρb=2.371\rho_b = 2.371 g/cm³; ϕN=0.102\phi_N = 0.102 in limestone units
Flushed zone
from the microresistivity tool, the filtrate occupies 60% of the pores: Shr=0.40S_{hr} = 0.40
Gas
methane, 0.13 g/cm³ (apparent density −0.0148 g/cm³, hydrogen index 0.2925); fresh filtrate
Solution
  1. The density porosity on the limestone scale is 2.71−2.3711.71=0.1982\dfrac{2.71 - 2.371}{1.71} = 0.1982, at a neutron porosity of 0.102. The point lies above and to the left of the sandstone line. Along the isoporosity lines, it “reads” as a rock lighter than sandstone with a porosity of 0.16. No clean rock has such readings, so this is gas.
  2. The sensitivities on the limestone scale are kD,ls=1.00−(−0.0148)1.71=0.593k_{D,ls} = \dfrac{1.00 - (-0.0148)}{1.71} = 0.593 and kN=1−0.2925=0.7075k_N = 1 - 0.2925 = 0.7075. The hydrogen index of the flushed-zone fluid is SwH=1−0.7075⋅0.40=0.717S_{wH} = 1 - 0.7075\cdot 0.40 = 0.717.
  3. First correction, with a porosity of 0.1501, the mean of the two readings. The gas volume is 0.1501⋅0.40=0.0600.1501\cdot 0.40 = 0.060. The density porosity decreases by 0.593⋅0.060=0.0360.593\cdot 0.060 = 0.036, and the neutron porosity increases by 0.054 (this includes the excavation effect at K=1.046K = 1.046). The new point is (0.1560.156; 0.1630.163).
  4. The second correction, with a porosity of 0.159, moves the point to (0.1600.160; 0.1600.160), onto the limestone line.
Answer: The formation is a gas-bearing limestone with a porosity of about 16%.

What it means. Gas moved the point almost along an isoporosity line. So the porosity read without the correction came out almost right (0.16), while the mean of the two readings came out 1.0 units too low. But gas distorted the lithology completely. The correction relies on the saturation of the flushed zone from the microresistivity tool. Without it, we cannot separate gas from lithology using two curves. The photoelectric factor, the sonic log and the solution for a known matrix help (porosity and gas from two curves). The data in this example are assumed for illustration.

Shale and gas on the neutron–density crossplot0.00.10.20.30.40.00.10.20.3φN, limestone unitsφD on limestone scalesandstonelimestonedolomite0.10.20.3shaleVsh →GC

Chart: the horizontal axis is neutron porosity from 0 to 0.45, the vertical axis is density porosity on the limestone scale from 0 to 0.35, with thin lines of sandstone, limestone and dolomite. A dashed segment runs from the point of clean sandstone (0.175; 0.247) down and to the right to the diamond of shale (0.38; 0.135); on it the shale volumes 0.1, 0.2 and 0.3 are marked, the third point already below the limestone line. An arrow leads from point G (0.102; 0.198), to the left of the sandstone line, down and to the right to point C (0.16; 0.16) on the limestone line.

CalculatedShale and gas on the neutron–density crossplot (lesson model). The dashed segment is a mixture of clean sandstone of porosity 0.22 and shale, and the points on it show shale volumes of 0.1, 0.2 and 0.3. The arrow is the gas correction for the limestone of the example: point G (the readings) moves to point C (after the correction) on the limestone line.

How to work with a crossplot

  1. 1
    Data and chart

    Use the neutron curve in limestone units with the environmental corrections, and the corrected density. Choose the chart for your tool, processing and filtrate (fresh or salty).

  2. 2
    Quality

    Leave out intervals with washouts in the borehole and a large correction Δρ\Delta\rho: such points can fall anywhere.

  3. 3
    Cloud of points

    Plot many depths at once. Clean formations line up along the lines, shaly ones stretch towards the shale point, and gas-bearing ones move up and to the left. The cloud shows the section as a whole; a single point does not.

  4. 4
    Shale and gas

    Take the shale point from the adjacent shales. Confirm gas with resistivity and gas shows, and correct for it before you read the lithology (Gas, shale, carbonate and pressure effects on porosity logs).

  5. 5
    Porosity and composition

    Choose the pair of minerals from the geology, the cuttings and PeP_e. Read the porosity along the isoporosity lines, and treat the mineral fractions as a guide.

  6. 6
    Check

    Compare with another pair of methods and with core. A disagreement with the sonic log in clean carbonates points to vugs.

Terms and symbols

Crossplot
A graph of the readings of two porosity methods against each other, with the lines of clean minerals drawn on it. It gives the porosity and the lithology.
Lithology line
The positions of the points of a clean formation made of one mineral with liquid in the pores, at different porosities. The marks on it show porosity.
Isoporosity line
A segment joining equal porosity marks on the lines of two minerals. Mixtures of the same porosity lie on it.
Limestone scale
Neutron porosity in limestone units, and density porosity calculated with the density of calcite, 2.71 g/cm³. On this scale limestone is the diagonal.
Shale point
The readings of the adjacent shales on the crossplot. The points of shaly formations shift towards it.
Gas shift
The displacement of the point of a gas-bearing formation up and to the left on the neutron–density crossplot. Correct for it before you read the lithology.

Common mistakes and misconceptions

Wrong

“A point between the limestone and dolomite lines means dolomitised limestone.”

In fact

This is true only if the formation is clean and has no gas. A shaly sandstone and a mixture of sandstone with dolomite fall in the same place. Check GR, PeP_e and the cuttings.

Wrong

“A crossplot finds porosity and composition equally reliably.”

In fact

The porosity hardly depends on the choice of the pair of minerals, but the mineral fractions do. With three or four minerals, the composition from two methods is ambiguous.

Wrong

“The neutron curve can be plotted on a chart in any units.”

In fact

Neutron–density charts are drawn for readings in limestone units. A curve converted to sandstone units shifts the point by several units.

Wrong

“A point above the sandstone line means a rock lighter than sandstone: salt or coal.”

In fact

More often it is gas, which takes the point up and to the left. Salt gives a density of 2.03 g/cm³ at zero neutron porosity, and we recognise it by GR and by washouts in the borehole. We recognise coal by a very low density and a high neutron porosity.

Wrong

“A crossplot with the sonic log gives the total porosity of a carbonate.”

In fact

The sonic log hardly sees vugs. The neutron–density pair gives the total porosity, and the disagreement with the sonic log is the secondary porosity index.

In depth: advanced detail

How reliably a pair of methods tells minerals apart

We can check the qualitative rules for choosing a pair by calculation. Take a mixture of two minerals and see how measurement errors carry over into errors in the porosity and in the mineral fraction when we solve the system of two equations.

Worked exampleSandstone with limestone: which pair can tell them apart
Given (assumed data)
Formation
the matrix is half quartz and half calcite, porosity 0.15, fresh filtrate; lines of the lesson model
Measurement errors
density ±0.015 g/cm³, neutron porosity ±0.01, interval transit time ±3 µs/m (about 1 µs/ft)
Solution
  1. The sensitivity to porosity and to the calcite fraction, per unit of porosity and per the whole fraction respectively, is: density −1.68-1.68 and +0.051+0.051 g/cm³; neutron porosity 1.001.00 and +0.045+0.045; interval transit time 451451 and −22-22 µs/m.
  2. Neutron–density pair: the error is ±0.7 units in porosity and ±0.18 in the calcite fraction.
  3. Sonic–density pair: ±2.6 units and ±0.60.
  4. Sonic–neutron pair: ±0.6 units and ±0.13.
Answer: The sonic–density pair cannot tell sandstone from limestone: the error of the fraction, ±0.60, is comparable to the whole range from 0 to 1. The other two pairs give the porosity to within ±0.6–0.7 units and the fraction to within ±0.13–0.18.

What it means. The reason lies in the ratios of the sensitivities. For density and for interval transit time, replacing quartz by calcite looks almost like a small change of porosity. Both readings shift in the same direction and in almost the same proportion, so the system of equations is close to degenerate (its two equations say almost the same thing). Neutron porosity responds to the mineral differently from the way it responds to pores, so the pairs that include it are stable. For a mixture of limestone with dolomite the sonic–density pair works better, ±0.20 in the fraction, but still worse than the other two. The numbers depend on the model and on the assumed errors. What matters is how the pairs compare. The data in this example are assumed for illustration.

Connections to other topics

Check yourself

  1. 1

    Why do we plot the neutron porosity in limestone units on the neutron–density crossplot, and the density as porosity on the limestone scale?

    1. A.The lines of the chart are built for these scales: on them limestone is the diagonal, and the differences between minerals are already accounted for by the positions of the lines
    2. B.Because most reservoirs are limestones
    3. C.So that density and neutron porosity coincide in any formation
    4. D.The law of conservation of mass requires it
    Show the answer

    Correct answer: A. The lines of the chart are built for these scales: on them limestone is the diagonal, and the differences between minerals are already accounted for by the positions of the lines

    The limestone scale is the common coordinate system of the chart, not an assumption about the rock. The positions of the sandstone and dolomite lines already show the differences between minerals. If we plot a curve that has already been converted to sandstone units, the point shifts by several units and we read the lithology wrongly.

  2. 2

    Clean formation with liquid, GR low: ρb=2.52\rho_b = 2.52 g/cm³, ϕN=0.07\phi_N = 0.07 in limestone units. Estimate the porosity and the lithology.

    Show the answer

    The density porosity on the limestone scale is (2.71−2.52)/1.71≈0.111(2.71 - 2.52)/1.71 \approx 0.111. The point lies above the diagonal, between the limestone and sandstone lines. The quick estimate is (0.07+0.111)/2≈0.09(0.07 + 0.111)/2 \approx 0.09. By the lines of the lesson model, the sandstone–limestone pair gives about 0.09 and about 44% calcite in the matrix, and the sandstone–dolomite pair gives about 0.10 but only about 16% dolomite. The porosity is well determined, but the composition is not. PeP_e, cuttings and core decide whether the sandstone holds calcite or dolomite.

  3. 3

    Which pair of methods tells sandstone, limestone and dolomite apart worst, but separates rock salt, anhydrite and gypsum well?

    1. A.All equally
    2. B.Neutron–density
    3. C.Sonic–neutron
    4. D.Sonic–density
    Show the answer

    Correct answer: D. Sonic–density

    For density and interval transit time, replacing one main mineral by another looks almost like a change of porosity, so the lines of sandstone, limestone and dolomite almost merge. But the evaporites differ sharply in both density (2.03, 2.98 and 2.35 g/cm³) and interval transit time.

  4. 4

    Where will the point of a clean gas-bearing limestone fall on the neutron–density crossplot if no gas correction is applied?

    1. A.On the limestone line
    2. B.Below the dolomite line
    3. C.At the shale point
    4. D.Above and to the left: at the sandstone line or still further left, roughly on the same isoporosity line
    Show the answer

    Correct answer: D. Above and to the left: at the sandstone line or still further left, roughly on the same isoporosity line

    Gas raises the density porosity and lowers the neutron porosity, so the point moves up and to the left, almost parallel to the isoporosity lines. The porosity read along the lines is wrong by only a little, but the lithology is wrong by a lot: limestone looks like sandstone.

  5. 5

    In a vuggy limestone the neutron–density crossplot gave limestone with a porosity of 0.18, and the sonic–neutron one a mixture of limestone and dolomite with a porosity of about 0.14. Which result is right, and what does their disagreement give?

    Show the answer

    The total porosity of 0.18 from the neutron–density pair is right, because both methods count the vugs. The sonic log sees mainly the intergranular pores, so the point on the crossplot with the sonic log shifts towards dolomite and towards a lower porosity. The difference between the total and the sonic porosity is the secondary porosity index. If the sonic porosity is about 0.12, about 0.06 is vugs.

  6. 6

    The point of a shaly sandstone on the neutron–density crossplot fell between the limestone and dolomite lines. Why, and how do we get its porosity?

    Show the answer

    Shale pulls the point towards the shale point, which has a high neutron porosity and a moderate density porosity. That means down and to the right, towards the carbonate lines. Plot the shale point from the adjacent shales, and draw a line from it through the point of the formation to the sandstone line. The intersection gives the porosity of the sand laminae, and the position of the point on the segment gives the shale volume. The effective porosity is the porosity of the laminae multiplied by (1−Vsh)(1 - V_{sh}). Check the result against GR.

Updated: 5 October 2026