Carbonate Analysis
On this page
Purpose
Carbonate analysis supplies the parts of a petrophysical evaluation that a siliciclastic workflow gets wrong. In a carbonate, porosity does not predict permeability or saturation, because pore structure is set by grain size and diagenesis, and because part of the porosity (separate vugs and moulds) carries no flow. Resistivity responds to this too, so a constant cementation exponent fails. The step uses Lucia's rock fabric approach to describe the pore structure with one number and to compute permeability, capillary saturation and an adjusted cementation exponent from it.
Position in the workflow
Upstream. The step needs total porosity (Porosity), a sonic log for the vug estimate, and core permeability and descriptions where they exist. The resistivity Sw calculation (Water Saturation) supplies a saturation to compare with.
Downstream. The results feed:
- permeability, used in cutoffs and flow capacity (Cutoffs Analysis),
- irreducible and capillary saturation, in Swirr from Lucia and Sw from Lucia, and
- the cementation exponent for a vuggy-rock resistivity saturation.
Error propagation. Permeability is a steep function of the rock fabric number and the porosity: a change of one class changes permeability by about an order of magnitude. The vug porosity is the difference of two logs and carries the error of both, and it passes straight into the cementation exponent.
Key concepts
Rock fabric number. A continuous measure of interparticle pore size, 0.5 to 4, grouped in three classes by particle size (Lucia Rock Fabric Number). The rock fabric number is a Rock fabric number that is shared by permeability, Swirr and Sw.
Interparticle and separate-vug porosity. Total porosity is the sum of Interparticle porosity, which controls flow and capillary behaviour, and Separate-vug porosity, which adds storage and nothing else.
Sonic-derived vug porosity. The sonic reads mostly the interparticle porosity, so total minus sonic porosity estimates the vug porosity (Sonic-Derived Secondary Porosity).
Lucia m. Separate vugs raise the cementation exponent in proportion to the vug fraction (Lucia m).
One number, three results. Permeability, Swirr and Sw all come from the same rock fabric number (Lucia Permeability, Swirr and Sw).
Method selection guide
| Method | Inputs | Use when | Strengths | Weaknesses |
|---|---|---|---|---|
| Lucia Rock Fabric Number | Interparticle porosity and permeability, or a core description | Core data or descriptions exist and you need a pore-size class | Ties pore structure to geology; continuous scale | Needs interparticle porosity; unusable below porosity of about 0.04 |
| Lucia m | Total porosity, vug porosity, Rt, Rw | A resistivity Sw is needed in vuggy carbonate | Corrects the main error of constant m in vuggy rock | Depends on a noisy vug porosity; not for touching vugs or fractures |
| Sonic-Derived Secondary Porosity | Density, neutron, sonic, matrix values | Density, neutron and sonic are all good and the rock is clean | Gives vug and interparticle porosity without core | Difference of two logs; sensitive to matrix slowness, gas and shale |
| Lucia Permeability, Swirr and Sw | Interparticle porosity, rock fabric number, heights | A consistent permeability and saturation from one number is wanted | One parameter for all three; no resistivity needed | Empirical; steps at class boundaries |
The capillary saturation and Swirr relations themselves are on Sw from Lucia and Swirr from Lucia.
Decision guidance
- If core permeability and porosity exist, solve the rock fabric number from them and use it as the reference.
- If only logs exist, take the interparticle porosity from the sonic difference, and a rock fabric number from description or from a calibration to saturation.
- If the rock is not vuggy (the sonic and the total porosity agree), use total porosity as interparticle porosity and skip Lucia m.
- If the rock is fractured or has touching vugs, the vug-based methods do not apply.
- If no core exists at all, treat the permeability as a class estimate, good to about an order of magnitude.
Shared parameter picking
Rock fabric number. One value per zone from core, the permeability solution, the saturation solution, or a user value. It is the parameter that links the permeability, Swirr and Sw.
Matrix and fluid properties. Matrix density, Matrix slowness and Fluid slowness set the sonic porosity and so the vug porosity. Use the values of the same mineralogy used in the porosity step.
Free water level and column height. Height above free water level and Height above free water level are from pressures or contacts and are used by the capillary relations.
Rw, n and the constant m. The resistivity-based Sw needs the usual Archie parameters from the water saturation step.
Zones. Choose all of these by zone: mineralogy and rock fabric change from layer to layer in carbonate.
Recommended default approach
Absent other information, a careful generalist would:
- Compute total porosity from density and neutron on the right lithology scale, and the sonic porosity from the time-average relation with the right matrix slowness.
- Take the difference as the vug porosity and the remainder as interparticle porosity. Compare with core porosity and image logs.
- Solve the rock fabric number from core permeability and interparticle porosity, and compare with the class from thin sections.
- Compute permeability, Sw and Swirr from that number, and compare permeability with core.
- Where a resistivity Sw is wanted, use Lucia m from the vug fraction and compare the result with the capillary Sw. Investigate where they differ.
Combining methods
The rock fabric number can come from three sources: core (permeability or description), the saturation solution and a user value. Core is the best where it exists. The saturation solution is a calibration aid that is only meaningful near irreducible saturation. Where several exist, compare them over the cored interval and carry the core-calibrated one over the rest by facies. Do not average numbers from different sources without understanding why they differ. The capillary Sw and the resistivity Sw (with Lucia m) answer the same question in different ways and a persistent difference is a diagnostic, not something to average away.
QC of results
A good result:
- has vug porosity near zero in non-vuggy rock and high only where core or images show vugs,
- has a rock fabric number within 0.5 to 4 that follows facies,
- has permeability within a factor of about 2 to 3 of core,
- has a capillary Sw close to the resistivity Sw in clean parts of the column, and
- has Lucia m between 1.76 and about 3.
Signs of a bad result: rock fabric numbers at the limits of 0.5 or 4, vug porosity that is a constant offset, permeability that is biased against core, and a resistivity Sw that is much higher than the capillary Sw in vuggy rock.
Common pitfalls
- Using total porosity where interparticle porosity is needed in vuggy rock.
- Using the wrong matrix slowness: it shifts the whole vug porosity curve.
- Applying the separate-vug relations to fractured or touching-vug rock.
- Letting the rock fabric number change from sample to sample as noise.
- Using the saturation solution of the rock fabric number far below the top of the column.
- Using neutron porosity on the wrong lithology scale.
- Treating class boundaries as sharp when assigning a class from a log.
- Repeating the capillary relations in two places with different constants.
Going Deeper
The carbonate approach grew out of the observation that lithology alone does not control carbonate reservoir properties. Lucia's classification replaced it with the size of the particles in the interparticle pore space and the fraction of separate vugs, so that porosity, permeability, saturation and resistivity could each be related to a geological description. Later work, including image logs and NMR, has examined the vug and pore-size distribution directly. The method remains an empirical fit to a set of fields, and the constants may not extend to rock of a different origin. A more recent development is to compute the rock fabric number continuously along the well from logs and to check it against core, as is done here.