Publication History: This article is based on "Crain's Petrophysical Pocket Pal" by E. R. (Ross) Crain, P.Eng., first published in 1987, and updated annually until 2016. This webpage version is the copyrighted intellectual property of the author.

Do not copy or distribute in any form without explicit permission.


If you have sufficient training and experience with logs, log analysis methods, and a year or two in the oil and gas industry, you can probably perform the basic petrophysical analysis tasks without learning everything on this website. In fact, many engineers, geologists, and technical staff are given, or build for themselves, calculator or spreadsheet programs that can do a credible job with very minimal training.

Some of the quicklook methods embedded in these programs may be "local" or contain assumptions that do not apply universally. The following material provides simplified, quicklook math suitable for programmable calculator or spreadsheet software that covers about 95% of the world/s oil and gas reservoirs. More detail on the methods, and alternate methods, are contained elsewhere in this Handbook.

This presentation assumes that you have mastered the concept of the log response equation and the visual log analysis rules contained in other sections of this Chapter.

A spreadsheet that performs the math is available for
download and is illustrated here.


Shale Volume

Shale is an imprecise term used to describe a rock composed of clay, silt, and bound water. The clay type and silt composition can vary considerably from one place to another. These can be determined from appropriate cross plots of PE, thorium, and potassium logs. The bound water volume varies with clay type, depth of burial, and burial history. Some shales have not lost as much water as others at similar depths and are called overpressured shales. Most shales are radioactive due to potassium and thorium, and sometimes due to uranium.


Shale volume, shown in black, can be estimated from logs in a number of ways. The result is
 the average over the interval measured by a log and is independent of the shale distribution. Blue shading represents the effective porosity.

Shale volume estimation is the first calculation step in a log analysis. All other calculations depend on the shale volume being known from this step.


STEP 1: Convert density log (gm/cc or kg/m3) to porosity units if a density porosity log is not available (skip this step if density data is already in porosity units):

1: PHIDSH = (DENSSH – KD2) / (KD1 – KD2) – do this once in an obvious shale zone

2: PHID = (DENS – KD2) / (KD1 – KD2) – do this for every data level


Where:  KD1 = 1.00 for English units

 KD1 = 1000 for Metric units

 KD2 = 2.65 for English units Sandstone scale log

 KD2 = 2650 for Metric units Sandstone scale log

 KD2 = 2.71 for English units Limestone scale log

 KD2 = 2710 for Metric units Limestone scale log

 KD2 = 2.87 for English units Dolomite scale log

 KD2 = 2870 for Metric units Dolomite scale log


NOTE: The choice for KD2 must match the neutron log units – if neutron is in Limestone units, KD2 must be 2.71 for gm/cc or 2710 for kg/m3 log scale.


STEP 2: Calculate shale volume from the three common  methods:

 3: Vshg = (GR - GR0) / (GR100 - GR0)

 4: Vshs = (SP - SP0) / (SP100 - SP0)

 5: Vshx = (PHIN - PHID) / (PHINSH - PHIDSH)

NOTE: Trim Vsh values between 0.0 and 1.0. If too many values fall outside this range, check the clean and shale parameters. Do not calculate methods which fail to pass all usage rules listed below.

STEP 3: Adjust gamma ray method for young rocks, if needed:

 8: Vshc = 1.7 - (3.38 - (Vshg + 0.7) ^ 2) ^ 0.5


STEP 4: Take minimum of available methods:

 9: Vsh = Min (Vshg, Vshs, Vshr, Vshx, Vshc) 



GR0 = 8 to 45                           GR100 = 75 to 150

SP0 = -20 to -120                      SP100 = +20 to -20

PHIDSH = -0.06 to +0.20           PHINSH = 0.15 to 0.45

All values must be picked from logs or assumed from previous experience.




Pore Volume

The second calculation step in a log analysis is to find shale corrected porosity. Pore volume is the space in a rock filled with oil, gas, or water. Total porosity includes the bound water in the shale and is called PHIt. Effective porosity does not include bound water, and is called PHIe. When there is no shale, PHIe equals PHIt.


Logs read total porosity. All our analysis methods correct for shale, so the answers from any method presented below will give effective porosity. Some analysis methods NEED total porosity as an intermediate step, so you may also need to calculate it.


Raw log porosity, as presented in the field by the service company, does NOT take into account shale or lithology effects, so raw log readings should NEVER be used as answers. Log analysis MUST ALWAYS be done to find the correct porosity. All our analysis methods also account for matrix rock (lithology), but YOU may be required to define the rock type for some methods. Other methods will define the lithology for you.



Porosity From The Complex Lithology Density Neutron Crossplot

While there are many other porosity methods, the best method available for modern, simple, log analysis involves the density neutron crossplot. Several variations on the theme are common, but not all models are recommended. A crossplot method, called the shaly sand model was once widely used. It was found to be a poor model for any sandstone that contained other minerals in addition to quartz. The complex lithology model works equally well in quartz sands as in mixtures, so it is the preferred model today. Although the name of the method is complicated, the mathematics are not.




STEP 1: Shale correct the density and neutron log data for each layer:

 1: PHIdc = PHID – (Vsh * PHIDSH)

 2: PHInc = PHIN – (Vsh * PHINSH)


PHIDSH and PHINSH are constants for each zone, and are picked only once.


STEP 2: Check for gas crossover after shale corrections and calculate porosity for each layer from the correct equation:

 3: IF PHInc >= PHIdc, there is no gas crossover

 4: THEN PHIxdn = (PHInc + PHIdc) / 2


The density neutron crossplot porosity, PHIxdn, after all corrections are applied, is called the effective porosity, PHIe.





CASE 1: IF gas is known to be present AND gas crossover occurs after shale corrections, apply the following gas correction:

 6: IF PHInc < PHIdc, there is gas crossover

 7: THEN PHIxdn = ((PHInc ^ 2 + PHIdc ^ 2) / 2) ^ 0.5


CASE 2: IF gas is known to be present but no crossover occurs after shale corrections, this usually means gas in dolomite or in a sandstone with lots of heavy minerals, apply the following gas correction:

 8: PHIx = – PHIdc / (PHInc / 0.8 – 1) / (1 + PHIdc / (0.8 – PHInc))

 9: PHIxdn = PHIx + KD3 * (0.30 – PHIx) * (DENSMA / KD1 – KD2)


Where:  KD1 = 1.00 for English units

 KD1 = 1000 for Metric units

 KD2 = 2.65 for Sandstone scale log

 KD2 = 2.71 for Limestone scale log

 KD3 = 1.80 for Sandstone scale log

 KD3 = 2.00 for Limestone scale log


CASE 3: IF rock is dolomite AND porosity is less than 5%, use the following instead of Equation 4 or 5:

 10: E = (4 - (3.3 + 10 ^ (-5 * PHInc - 0.16))

 11: PHIxdn = (E * PHIdc + 0.754 * PHInc) / (E + 0.754)


This option can be used instead of equation 4 as long as there is no gas crossover after shale corrections. It is slightly more accurate, but requires a computer or preprogrammed calculator.


Bad hole, high shale volume, and statistical variations can cause erratic results in both very low and high porosities. Values from any method used should be trimmed by the following:

 1: IF PHIe < 0

 2: THEN PHIe = 0

 3: IF PHIe > PHIMAX * (1 - Vsh)

 4: THEN PHImx = PHIMAX * (1 - Vsh)

 5: AND PHIe = Min (PHIe, PHImx)



  PHIDSH                      -0.06 - 0.15   (choose from log)

  PHINSH                      0.15 - 0.45   (choose from log)



Formation Water Resistivity

For  simplicity, we have left out the third step in a typical log analysis job, finding the lithology of the rock. Refer to Chapter 13 on the main index page for these calculations.


The fourth step in a log analysis is to determine the water resistivity since most methods for computing water saturation require knowledge of this value. Water resistivity data can be sparse or overwhelming, depending on where you are working at the moment.


Catalogs and lab reports usually provide results at 77'F (25'C) and this value must be transformed to a different value based on the formation temperature.


STEP 1: Calculate formation temperature:




STEP 2: Calculate water resistivity at formation temperature:

 3: RW@FT = RW@TRW * (TRW + KT1) / (FT + KT1)


Where:  KT1 = 6.8 for English units

 KT1 = 21.5 for Metric units


If water salinity is reported instead of resistivity, as may happen in reporting direct from the well site, convert salinity to resistivity with:

 4: RW@FT = (400000 / FT1 / WS) ^ 0.88


NOTE: FT1 is in Fahrenheit


In some cases, salinity is reported in parts per million Chloride instead of the more usual parts per million salt (NaCl). In this situation convert Chloride to NaCl equivalent with:

 5: WS = Ccl * 1.645


To convert a downhole RW to a surface temperature, reverse the terms in equation 3:

6: RW@SUFT = RW@FT * (FT + KT1) / (SUFT + KT1)


Where:  KT1 = 6.8 for English units

 KT1 = 21.5 for Metric units

Sometimes, it is nice to know what the resistivity log would read in a water zone (R0). For quick look work, use the following:
            7: R0 = RW@FT ‘ (PHIe ^ 2)


For example, If RW@FT = 0.10 and PHIe = 0.20, then R0 = 0.10 / (0.20^2) = 2.5 ohm-m.


If an obvious water zone exists, calculate water resistivity from the porosity and resistivity, as shown below.


STEP 1: Calculate water resistivity from an obvious water zone:

 1: PHIwtr = (PHIDwtr + PHINwtr) / 2    

 2: RW@FT = (PHIwtr ^ M) * R0 / A


R0 is the resistivity of a known or obvious WATER layer and PHIwtr is the total porosity of the zone where R0 was chosen




If no obvious or known water zones exist, many zones may be calculated with the above equations and results scanned for low values which MIGHT be water zones. This is called the RWa method instead of the R0 method, but the math is the same:

 1: RWai = (PHIti ^ M) * RESDi / A


Scan the list of Rwai values to find the minimum value of Rwa in clean, moderately high porosity zones close to the zone of interest. This Rwa value becomes RW@FT:

 2: RW@FT = Min (RWai)


The above step is the equivalent to finding RW@FT directly from an "obvious" water zone:

 3: RW@FT = (PHIwtr ^ M) * R0 / A


Note that this is the same as the Rwa equation, but R0, the resistivity of a defined water zone replaces RESD.




 for sandstone              A = 0.62   M = 2.15   N = 2.00

 for carbonates             A = 1.00   M = 2.00   N = 2.00

NOTE: A, M, and N should be determined from special core analysis if possible.




Water and Hydrocarbon Saturation

The fifth step in a log analysis is to find water saturation. Water saturation is the ratio of water volume to pore volume. Water bound to the shale is not included, so shale corrections must be performed if shale is present. We calculate water saturation from the effective porosity and the resistivity log. Hydrocarbon saturation is 1 (one) minus the water saturation.


Reservoir at initial saturation conditions; black is hydrocarbon, white is irreducible water (left); same
 reservoir after depletion with residual oil and higher water saturation (right).


The most common saturation method was developed by Gus Archie in 1941. It is widely used in all parts of the world and is suitable for carbonates, clean sands, and shaly sands where RSH is above 8 ohm-m. Where shale resistivity is low, the Archie method will be pessimistic in shaly sands.


STEP 1: Calculate water saturation:

 1: PHIt = (PHID + PHIN) / 2

 2: Rwa = (PHIt ^ M) * RESD / A

 3: SWa = (RW@FT / Rwa) ^ (1 / N)


The term (1/N) is usually ½ or 0.5, which represents the square root. Hence:

            3A: SWa = Sqrt (RW@FT / Rwa)


·         The Archie method should only be used when Vsh < 0.20 and RSH > 8.0. If Vsh is high or RSH is low, then SWa is too high and a shale corrected method should be used.



 for sandstone              A = 0.62   M = 2.15   N = 2.00

 for carbonates             A = 1.00   M = 2.00   N = 2.00

 for fractured zones      M = 1.2 to 1.7 

NOTE: A, M, and N should be determined from special core analysis if possible.



One of the first successful shale corrected methods is this one, proposed by P. Simandoux in 1963. It reduces to the Archie formula when Vsh = 0.


STEP 1: Calculate intermediate terms:

 1: C = (1 – Vsh) * A * RW@FT / (PHIe ^ M)

 2: D = C * Vsh / (2 * RSH)

 3: E = C / RESD


STEP 2: Calculate quadratic solution for water saturation:

 4: SWs = ((D ^ 2 + E) ^ 0.5 – D) ^ (2 / N)


The water saturation from the Simandoux method (SWs) is called the effective water saturation, Sw. To calculate Sxo, replace RESD with RESS and RW@FT with RMF@FT.





·         Use Simandoux method when Vsh > 0.20 and RSH < 8.0. The dual water method may also be used and the choice is usually a personal preference.


·         The (2 / N) exponent in Equation 4 is an approximation and works when N is near 2. More sophisticated iterative techniques are available when N is far from 2.


·         Calibrate water saturation to core by preparing a porosity vs SW# graph from capillary pressure data. Adjust RW, A, M, N, RSH, Vsh, PHIe  until a satisfactory match is achieved.


Another common method, based on the cation exchange capacity equation proposed by Waxman and Smits, is the Schlumberger dual water model.


STEP 1: Calculate the apparent water resistivity in shale:


1: RWSH = (BVWSH ^ M) * RSH / A


RWSH is a constant for each zone. Note that this is the Archie equation applied to the shale zone.


STEP 2: Calculate the resistivity of the zone as if it were 100% wet:

 2: C = 1 + (BVWSH * Vsh / PHIt * (RW@FT – RWSH) / RWSH)

 3: Ro = A * RW@FT / (PHIt ^ M) * C


C can be larger than 1.0 if RW@FT is greater than RWSH.


STEP 3: Calculate total and effective water saturation:

 4: SWt = (Ro / RESD) ^ (1 / N)

 5: SWd = (PHIt * SWt – Vsh * BVWSH) / PHIe


This equation reverts to Archie when Vsh = 0. Schlumberger uses a term called SWb, which is the bound water expressed as a saturation, and is not the same as the SWd calculated above.



Irreducible Water Saturation

Hydrocarbon zones with water saturation (Sw) above irreducible saturation (SWir) will produce some water along with hydrocarbons. This can occur in transition zones between the oil and water legs, or after water influx into a reservoir due to production of oil or gas.


Irreducible water saturation is a necessary value for water cut and permeability calculations.


STEP 1: Find Buckles number from special core analysis or from log analysis in a known clean pay zone that produced initially with zero water cut.

 1: KBUCKL = PHIe * Sw (in a CLEAN zone that produced initially with no water, or from core data)


STEP 2: Solve for irreducible water saturation in each zone.

 2: IF zone is obviously hydrocarbon bearing

 3: THEN SWir = Sw

 4: OTHERWISE SWir = KBUCKL / PHIe / (1 – Vsh)

 5: IF SWir > Sw

 6: THEN SWir = Sw


An easier,  equivalent, model is:
             7: SWir = Min (1.0, Sw, KBUCKL / PHIe / (1 – Vsh))



Sandstones                  Carbonates              KBUCKL

 Very fine grain            Chalky                          0.120

 Fine grain                   Cryptocrystalline          0.060

 Medium grain             Intercrystalline             0.030

 Coarse grain               Sucrosic                      0.020

 Conglomerate             Fine vuggy                   0.010

 Unconsolidated           Coarse vuggy               0.005

 Fractured                    Fractured                     0.001








The sixth step in a log analysis is to estimate permeability and productivity. These values determine whether a zone is commercially attractive. There are a number of methods for calculating matrix permeability.


The general form of this equation has been used by many authors, with various correlations between log and core data. Individual analysts routinely calibrate their core and log data to this equation.


STEP 1: Calculate permeability

 1: PERMw = CPERM * (PHIe ^ DPERM) / (SWir ^ EPERM)




                            CPERM                         DPERM            EPERM

*                   OIL or WATER    GAS


 Morris-Biggs      65000       6500                 6.0                    2.0

 Timur                  6500         650                 4.5                    2.0






Values of CPERM as low as 10 000 and as high as 1 000 000 have been used in the Morris - Biggs equation. It is also called the Tixier equation.



Permeability is often a semi-logarithmic function of porosity, unfortunately with a fairly large deviation. Core data is usually plotted to determine the equation of the best fit line: it can be calibrated to air, absolute, maximum, or Klinkenberg corrected permeability from core analysis,



STEP 1: Calculate permeability

 1: PERMp = 10 ^ (HPERM * PHIe + JPERM)




     Sandstones                  Carbonates
                                                                        JPERM        HPERM

 Very fine grain            Chalky                          –3.00                16

 Fine grain                   Cryptocrystalline-         –2.50                18

 Medium grain              Intercrystalline            –2.20                20

 Coarse grain               Sucrosic-                     –2.00                22

 Conglomerate             Fine vuggy                   –1.80                24

 Unconsolidated           Coarse vuggy               –1.50                26

 Fractured                    Fractured                     –1.00                30






The medium grain parameters approximate the Wyllie - Rose equation. These parameters should be calibrated to core data whenever possible.

BEYOND HERE, THERE BE DRAGONS! See "This Chapter" Menu at the Right ==>


Page Views ---- Since 01 Jan 2015
Copyright 1978 - 2019 E. R. Crain, P.Eng. All Rights Reserved