You are on page 1of 21

Electromagnetic Propagation (EPT1) Log Interpretation

on the Computer

By Andy May2

1Mark of Schlumberger

2Senior Staff Geologist, Kerr McGee, Oklahoma City


Dielectric logging has been available commercially from
Schlumberger and other logging companies for over 10 years. These
tools are very useful in evaluating formations drilled with oil-
based mud, formations that contain fresh water, and in thin-bedded
reservoirs. In particular, in wells drilled with oil-based mud,
these tools can be invaluable when used to find the top of the oil-
water transition zone. Dielectric tools are also used to correct
for the effect of invaded oil on density and induction logs.1.

Yet, interpreting dielectric logs continues to be very difficult.


The mathematics that describe the tool's response are very complex.
In addition, a battle over which of several complex interpretation
methods is best has been raging in the technical journals for over
ten years.

Unlike the more commonly used logging tools, it is difficult for


the practicing geoscientist and log analyst to get a "feel" for the
EPT. The mathematics that describe the theory of microwave logging
are not the straightforward linear and logarithmic functions that
we associate with density or electric logs. Instead, difficult
functions of complex numbers describe dielectric log response.
These functions fill dielectric logging papers with greek letters
and equations that only die-hard mathematicians could love.

The purpose of this paper is not to present anything new, but to


present a concise synthesis of dielectric log theory, and a
practical, accurate, and up-to-date computer algorithm for
interpreting dielectric logs. The intent is to give the reader
that "feel" for the tool that is so important in interpreting a
log. While researching this paper the author tried just about
every technique proposed for interpreting the dielectric logs, but
only one is presented here.

The "Modified CRIM" method, originally published by Dahlberg and


Ference4, with a few original modifications, is the basis for the
program presented in this paper. Essentially the same algorithm was
independently developed at Schlumberger and published as the CTA
method by Chardac2, Cheruvier and Suau3. The jury is still out on
the subject of the "correct" way to interpret the EPT, but this
method leads the pack today.
Dielectric Logging Theory

EPT porosity is the quantity calculated using the tool


measurements. This porosity(þept) is equivalent to the water-filled
porosity in the near borehole region. This is the volume of water
in the flushed zone, which is equal to porosity(þ) times the
flushed zone water saturation (Sxo). The tool works because the
relative dielectric permittivity (î') of water is about 78 and the
relative dielectric permittivity of oil, gas, and sedimentary rock
is very low, normally less than 10.

A rock's complex dielectric permittivity describes the rock's


electrical properties. This is the quantity that the EPT tool
attempts to measure. The complex dielectric permittivity is
defined as:

î* = î' - (å/þ)i ......................(1)

Where (þ) is the angular frequency (2ãþfrequency), (å) is the


conductivity, (î') is the effective permittivity, and (i) is the
square root of (-1). The equation shows that at low frequencies
(like those used in induction logging) the imaginary part of (î*),
the rock's conductivity, dominates the electrical properties of the
rock. Further, it shows that at very high frequencies the real
part of (î*), or the rock's effective permittivity, is dominant.

Equation (1) has one other property, when the rock's conductivity
is very small compared to the frequency, the complex dielectric
permittivity is a real number and is easily evaluated. This is
true of a non-conductive rock matrix filled with fresh water and
oil or gas. In these situations all the normal methods of
evaluating the EPT work very well. These methods include the TPO
method9, the Complex Refractive Index Method (CRIM)9, and the Hanai-
Bruggeman-Sen(HBS)7,8 method.

Early workers on the dielectric logging tool hoped that the very
high frequencies used by the tool would allow the computation of
water saturation independently of Rw. This is essentially the
assumption made when using the TPO equation. In practice, ignoring
Rw can only be done when Rw is greater than about 0.2 ohms at 75þ
F. In this higher Rw range any of the equations cited above can be
used to evaluate þept. When Rw is less than 0.2 either CRIM or the
more general HBS equations must be used.

Figure 1 shows the effect of salinity on þept. The center line is


an assumed Sxo. The lower line is the computed Sxo if the water
has a salinity of 60,000 PPM. The upper line is the computed Sxo
at 200,000 PPM. The potential error is over 20 at 50% Sxo in this
hypothetical case. The error is very small at low Sxo's,
encouraging the use of the EPT in oil-based mud systems.
Two researchers7,8 have compared both the HBS þept and the CRIM þept
to laboratory measured water volumes, in various rock types and
with waters of varying salinities. These studies were
inconclusive, since one author determined that CRIM was a better
method7 and the other determined that the HBS method was superior8.
But, the studies did show that the CRIM þept was an acceptable
estimate of Sxo under ideal laboratory conditions. The program
presented in this issue uses a derivative of CRIM. The form of the
equations used is very different from the equations presented in
the original CRIM paper9, and so the method used is often called
the Complex Time Average (CTA) method. But, the two methods are
equivalent, as demonstrated elsewhere3,4. The key equations, that
connect the log readings used in the CTA method and the dielectric
permittivity values used in CRIM are:

î'/î0 = 0.09018 (Tpl2 - (Att/60.03)2)................(2)

î"/î0 = (å/þ)/î0 = Att þ Tpl/333.5..................(3)

Tpl is the log propagation time in nano-seconds/meter, Att is the


plane-wave corrected log attenuation in dB/meter. We have divided
the two parts of the complex dielectric permittivity (î' and î") by
the permittivity of a vacuum î0 (8.854 x 10-12) to turn them into
relative dielectric permittivities. This makes the numbers easier
to handle. Typically when one sees a value of dielectric
permittivity quoted for a substance (eg. 79 for water) the number
is a relative dielectric permittivity.

The CTA equations have two common variables, salinity and þept. The
solution process used in the computer program solves for these two
values using the EPT log measured Tpl and Att. The equations are:

þept = (Tpl - Tpm + þt(Tpm-Tphc)) / (Tpw-Tphc).....(4)

þept = Att/Attw....................................(5)

Figure 2 shows how Tpw (the Propagation Time of water in


nanosec/m), Attw (the Attenuation of water in Db/m), and salinity
are related. As salinity (the values posted next to the squares on
the line) increases, the values for Tpw and Attw also increase.
Each salinity predicts a unique pair of Attw and Tpw values and
vice-versa. Thus after equation 4 is used to compute þept, this
value can be used to compute Attw with equation 5. The new value of
Attw predicts a new salinity. The new salinity is used to reenter
equation 4 with a revised Tpw, to compute a new þept. This cycle
continues until the values of salinity and þept stabilize.
Iterating in this fashion will solve the two equations for both
salinity and þept, if the data is accurate.
A second look at Figure 2 and at equations 4 and 5 shows that this
function is somewhat unstable. Notice that as Tpw increases þept
decreases, which in turn causes Attw and salinity to increase.
Thus, if the Att measurement is only slightly in error, the
solution process can proceed up the graph and fly off the end.

The EPT and its sister dielectric logging tools are very sensitive
to mudcake and borehole rugosity5,6. In particular, the attenuation
measurement can be affected severely by the borehole environment,
dipole effects, signal scattering, and spreading loss6. The newer
EPT-G tool can be corrected more accurately for these effects5 than
the older EPT-D. The author has no experience with this new tool,
but if it works as described, it will result in far better answers
when using the program presented in this issue. As Dahlberg and
Ference4 have noted the full CTA method(or any other iterative
method) can give inaccurate results, due to erroneous log measured
attenuations. Cheruvier and Suau3 also made this point.

The attenuation measurement is the additional information used in


CRIM (or CTA) to account for the salinity of the water. It is also
the weakest measurement. That is why the computer program allows
the log analyst to limit the range of salinities considered by the
solution process. Limiting the salinity range as much as possible,
will improve the computer program's accuracy. In water-based muds
the EPT will "see" a salinity that is close to that of the mud
filtrate and in oil based muds the salinity seen will be similar to
the formation water salinity.

Well Example

The accuracy of þept under appropriate logging conditions is


acceptable. In the example wells, the tool was used to pick the
top of the oil-water transition zone. Figure 3 is a graph showing
the Rt derived Sw in well A and the EPT derived Sw from the same
well and an offset, Well B. The EPT Sw is lower than the induction
Sw in the transition zone because the wells were drilled with oil-
based mud and the invading fluid is oil. All three water
saturation curves come together and flatten out at approximately
7912 ft. subsea. This is the top of the oil-water transition zone
based upon the EPT and supporting core data. The sudden increase
in Sw, at 7900 ft, in well B is due to a shale.

The various estimates of water saturation above the top of the


transition zone are compared in Table 1. The Sw's estimated with
the induction log are listed first. In well A the high
resistivities result in a very low estimate of Sw (5.5%) using core
derived values of M and N. Using the same values of M and N the
induction log indicates that well B had an irreducible Sw of 14.5%.
The core measured Sw's, from both the center of the cores (the
vertical plugs taken from well B) and plugs taken from the edge of
the cores (the horizontal plugs) all cluster around 10%.

One would ordinarily assume that the EPT estimates of Sw, above the
transition zone, are valid. Above the top of the oil-water
transition zone, the invading oil from the mud will not move the
connate water since the rock is at irreducible water saturation.
Yet, compared to the Rt and core measured Sw's, the EPT values are
low.

Oil and gas have very low relative dielectric permittivities and
low propagation times (Tpl). The Tpl of the oil-based mud
filtrate, used to drill the example wells, is 4.7 ns/m. This can
cause the EPT signal to "short circuit" through the mud that lies
between the EPT pad and the borehole wall. The example wells have
a very thin mudcake, less than one-eighth inch thick, typical of
wells drilled with oil-based mud, but still some "short-circuiting"
occurs. This has caused the EPT Sw's in the example wells to be
too low, the effect is discussed in the literature5,9. In the
example wells, and in other area wells, the effect is a constant
offset that can be corrected by comparing the EPT Sw's to core
data.

The Program

The main program asks the user for the necessary constants, for the
input file name and for the output file name. If the output file
name is "*" then the program sends the output to the screen.

The first constant requested is the Tpl of the matrix(TPM). This


value can be measured from cores or obtained from a chartbook. To
process the supplied test data, use the sandstone value of 7.2
ns/m. The second and third constants requested are the minimum and
maximum salinity values. These values constrain the solution
process. The function CTA will attempt to solve for salinity and
þept, these minimum and maximum values will keep the solution
process from "going wild," as discussed above, when it encounters
incorrect attenuation values.

Next the main routine asks for the formation temperature in degrees
Fahrenheit. Using the temperature, an array is initialized by the
function LOSS that is used by the function CTA to compute salinity
from water attenuation. Finally the hydrocarbon propagation time
will be requested. This value can be input directly or as a
hydrocarbon density1 in g/cc.

After obtaining the input constants from the user, the main routine
goes into a loop. The input data are read, one depth at a time,
using format 1000. The variables read are described in the
comments preceding the read statement. All of the variables are
not used by the program, some are supplied only for the reader's
information.

Immediately after reading each line (or depth) of data, the value
of KPPMIN (the minimum salinity) is reset to the input value KPPM.
This is done because the function CTA returns the computed salinity
in KPPMIN each time it is called.

After calling CTA to do the computations, the main program calls


either PRTVAL to write the results to a file, or SCRVAL to write
the results to the screen. The variable PAGESZ controls the
placement of the page headings. To remove the page headings
altogether, enter a PAGESZ of zero.

The Calculations

The calculations are performed with the function CTA. The function
returns Sxo. KPPM, the computed salinity, is returned as the
variable KPPMIN. The work of the function is done in the DO loop.
The function calls EPSWA in each loop to compute the values of TPW
(the water propagation time) and ATTW (the water attenuation)
associated with the current estimate of KPPM. The first estimate
of KPPM tried is KPPMIN, the minimum salinity expected by the user.

EPSWA is a function modified from one published by Dahlberg and


Ference4. It is used here with their permission. This function
uses a complex, but accurate, method to compute TPW and ATTW for
water of a particular salinity and temperature.

Next, TPLMET is called to compute Sxo from the TPL and TPW
supplied. This estimate of Sxo is then used to compute ATTW with
the second of the CTA equations. The function SALIN converts the
ATTW to salinity using the table previously built by the function
LOSS.

The computed salinity (SAL) is carefully constrained to the user


defined limits with the next three statements. Convergence is
achieved when the current estimate of salinity is within 10% of the
previous estimate or when the current estimate of Sxo is within
one-half of one percent of the previous estimate.

The program has been tested with the wells used as examples in this
paper and with many other wells drilled with both oil-based and
water-based muds. When properly used the program gives very good
results. The key to successful use is determining KPPMAX and
KPPMIN. Generally, set the range closely around the salinity of
the mud filtrate when processing wells drilled with water-based
muds. Set the range closely around the formation water salinity
when processing wells drilled with oil.

The best salinity range to use can be more accurately set by


running trials on a selected subset of the data. The EPT
attenuation measurement is the reason that the program seldom
converges and the reason why the salinity range is required. If
the attenuation measurement is accurate the program will converge
at the proper salinity, if it is off the program will not converge.
If the program does not converge, the higher estimated salinity
(KPPMAX) will probably be the value used. But the minimum value
may be used in zones of high Sw. The attenuation measurement is
most accurate when the borehole walls are smooth, the mudcake is
thin, and the volume of water (þept) is greater than 0.1. Under
these conditions, the user should see several intervals where the
program reaches convergence on a salinity. These values can be
used to select an appropriate range for KPPMIN and KPPMAX.
References

1. Boyeldieu, C., Coblentz, A., Pelissier-Combescure, J.,


"Formation Evaluation in Oil Base Mud Wells," SPWLA Symposium,
June, 1984, paper BB.

2. Chardac, J. L. M., "EPT Applications in the Middle East,", SPE


13737, SPE 1985 Middle East Oil Technical Conterence, March,
1985.

3. Cheruvier, E. and Suau, J., "Applications of Microwave


Dielectric Measurements in Various Logging Environments,"
paper MMM, 1986 SPWLA Symposium Transactions.

4. Dahlberg, K. E., and Ference, M. V., "A Quantitative Test of


the Electromagnetic Propagation Log (EPT) for Residual Oil
Determination," SPWLA Symposium Transactions, June, 1984.

5. Freedman, R. and Grove, G. P., "Interpretation of EPT-G Logs


in the Presence of Mudcakes," SPE 18116, Presented at the 1988
SPE Conference, Oct., 1988.

6. Gilmore, R. J., Clark, B., Best, D., "Enhanced Saturation


Determination Using The EPT-G Endfire Antenna Array," Paper K,
1987 SPWLA Symposium.

7. Shen, L. C., Savre, W. C., Price, J. M., Athavale, K.,


"Dielectric Properties of Reservoir Rocks at Ultra-High
Frequencies," Geophysics, Vol. 50, No. 4, April, 1985, p. 692-
704.

8. Sherman, Michael M., "The Calculation of Porosity from


Dielectric Constant Measurements: A Study using Laboratory
Data," The Log Analyst, Jan.-Feb., 1986, p. 15-24.

9. Wharton, R. P., Hazen, G. A., Rau, R. N., and Best, D. L.,


"Electromagnetic Propagation Logging: Advances in Technique
and Interpretation," SPE 9267, Presented at the 1980 SPE
Conference, Sept., 1980.
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Table 1 º
º Comparison of Sw Estimates, Above Transition Zone º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º Well Rt Sw EPT Core Core º
º CTA Sw Vert. Sw Horiz. Swº
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º Well A 5.5 4.7 -- 8.3 º
º Well B 14.5 6.1 10.4 12.5 º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
C***************************************************************************
C EPT SW COMPUTATION PROGRAM *
C *
C COMPUTES EPT SW USING THE CTA METHOD *
C *
C BY ANDY MAY *
C MARCH 2, 1990 *
C *
C Compiled, linked and tested with Microsoft Fortran 4.1 *
C OS/2 Version *
C *
C Command lines: FL /AM /c /G2 EPT.FOR *
C LINK /ST:4096 EPT *
C***************************************************************************
C
CHARACTER TITLE*80, TITLE2*80
CHARACTER FNAME2*80
INTEGER LINES, PAGENO, PAGESZ
C
REAL KPPM, KPPMIN, KPPMAX
COMMON /PRINT/ LINES, PAGENO, TITLE, TITLE2, PAGESZ
C
CHARACTER FNAME*80
C
C*******************************************************
C* FORMATS AND INITIALIZATION OF PRINT VARIABLES *
C*******************************************************
C
100 FORMAT(A80)
200 FORMAT(F10.0)
300 FORMAT(' Enter the output file name or an asterisk ("*") to'
1 ' send the output to the screen')
400 FORMAT(I10)
C
TITLE =' DEPTH PHIT SW SXOCTA KPPM CORE'
TITLE2=' (FEET) (XPLOT) (RT) CTA SW SW '
C
LINES = 0
PAGENO = 0
IERR = 0
C
WRITE(*,'(A)') ' Enter the number of lines per page or screen'
READ (*,400) PAGESZ
C
C***************************************
C* ASK FOR FILE NAMES *
C***************************************
C
WRITE(*,'(A)') ' Enter the input file name'
READ (*,100) FNAME
OPEN(UNIT=10,FILE=FNAME,STATUS='OLD', ERR=9000)
C
WRITE(*,300)
READ (*,100) FNAME2
IF (FNAME2(1:1) .NE. '*')
1 OPEN(UNIT=20, FILE=FNAME2, STATUS='NEW', ERR=9000)
C
C***************************************
C* PICK UP CONSTANTS FROM SCREEN *
C***************************************
C
WRITE(*,'(A)') ' Enter the matrix propogation time'
READ(*,200) TPM
C
WRITE(*,'(A)') ' Enter the minimum water salinity in Kppm'
READ(*,200) KPPMIN
KPPM = KPPMIN
C
WRITE(*,'(A)') ' Enter the maximum water salinity in Kppm'
READ(*,200) KPPMAX
C
WRITE(*,'(A)') ' Enter the formation temperature'
READ(*,200) FT
C
C ...BUILD ARRAY OF KPPM AND ATTW VALUES FOR CTA FUNCTION
CALL LOSS(FT)
C
WRITE(*,'(A)') ' Enter the hydrocarbon propogation time'
WRITE(*,'(A)')' or, if unknown, enter hydrocarbon density in g/cc'
READ(*,200) TPHC
C
C ...THE FOLLOWING EQUATION IS FROM BOYELDIEU, ET. AL., 1984
IF (TPHC .LT. 1.3) TPHC = 3.3 + 1.6*(TPHC - 0.2)/0.7
C
C**************************************************************
C* LOOP THROUGH THE INPUT DATA, QUIT AT THE END-OF-FILE *
C**************************************************************
C
C**************************************************************
C* READ A LINE OF INPUT DATA FROM THE INPUT DISK FILE *
C* *
C* DEPTH: MEASURED DEPTH, NOT USED IN THE PROGRAM LOGIC. *
C* SUBSEA: SUBSEA DEPTH, NOT USED IN PROGRAM LOGIC. *
C* PHIT: TOTAL POROSITY, USED TO COMPUTE EPT SXO, THE EQ *
C* IS SXO = PHIEPT/PHIT, NOTE THE PROGRAM *
C* ASSUMES THIS VALUE IS WHOLE NO. PERCENT *
C* PHIE: EFFECTIVE OR SHALE CORRECTED POROSITY, NOT USED *
C* IN PROGRAM LOGIC. *
C* SW: RT COMPUTED SW, NOT USED IN PROGRAM LOGIC. *
C* SWE: SHALE CORRECTED SW, NOT USED IN PROGRAM LOGIC. *
C* TPL: RAW EPT PROPOGATION TIME IN NANOSEC/M. *
C* USE TPL FROM EPT-D AND TPPW FROM EPT-G *
C* ATTEV: SPHERICAL SPREADING LOSS CORRECTED EPT *
C* ATTENUATION. FOR EPT-G USE VALUE CALLED EAPW. *
C* FOR EPT-D USE THE FOLLOWING EQUATION TO CORRECT *
C* THE READING: *
C* ATTEV = EATT - 45 - 1.3*TPL - 0.018*TPL*TPL *
C* CORESW: CORE MEASURED SW, NOT USED IN PROGRAM LOGIC *
C**************************************************************
C
500 READ(10, 1000, END=3000, ERR=9000)
1 DEPTH, SUBSEA, PHIT, PHIE, SW, SWE, TPL, ATTEV, CORESW
1000 FORMAT(F8.0, F9.0, 5F7.0, F9.0, F7.0)
C
C...CTA METHOD
KPPMIN = KPPM
SXOCTA = CTA(TPM, TPHC, PHIT*0.01, TPL, ATTEV, KPPMIN,
1 KPPMAX, FT)*100.0
C
C...PRINT RESULTS
IF (FNAME2(1:1) .NE. '*') THEN
CALL PRTVAL(DEPTH, PHIT, SW, SXOCTA, KPPMIN, CORESW, IERR)
ELSE
CALL SCRVAL(DEPTH, PHIT, SW, SXOCTA, KPPMIN, CORESW)
ENDIF
IF (IERR .EQ. 1) GO TO 9000
C
C...LOOP FOR NEXT SET OF VALUES.
GO TO 500
C.....................................................................
C
C********************************************
C* PROCESSING AND PRINTING FINISHED, STOP *
C********************************************
C
3000 CONTINUE
STOP
C
C*****************************************************************
C* AN ERROR OCCURRED WHILE OPENING, READING OR WRITING TO A FILE *
C*****************************************************************
C
9000 WRITE(*,'(A)') ' I/O ERROR'
STOP
END
C
SUBROUTINE PRTVAL(DEPTH, PHIT, SW, SXOCTA, KPPM, CORESW, IERR)
C
C************************************************************************
C* PRINT RESULTS TO A FILE *
C* *
C* PARAMETERS: *
C* *
C* DEPTH - MEASURED DEPTH OF VALUES *
C* PHIT - THE TOTAL POROSITY OF THE ROCK (PERCENT) *
C* SW - WATER SATURATION FROM RT *
C* SXOCTA - SXO FROM THE CTA METHOD *
C* KPPM - COMPUTED SALINITY *
C* CORESW - CORE SW USING DEAN-STARKE METHOD *
C* IERR - I/O ERROR FLAG: IF 0 OK; IF 1 ERROR *
C* *
C************************************************************************
C
REAL KPPM
CHARACTER TITLE*80, TITLE2*80
INTEGER LINES, PAGENO, PAGESZ
C
COMMON /PRINT/ LINES, PAGENO, TITLE, TITLE2, PAGESZ
C
1000 FORMAT(1X, 'PAGE ',I3)
2000 FORMAT(1X,A79)
3000 FORMAT(5F10.2, F8.2)
C
C...NEW PAGE?
IF ( (LINES .EQ. PAGESZ .OR. LINES .EQ. 0)
1 .AND. PAGESZ .GT. 0) THEN
C
C****************************
C WRITE OUT TITLE LINES *
C****************************
C
LINES = 0
PAGENO = PAGENO + 1
WRITE (20,1000, ERR=9000) PAGENO
C
WRITE(20, 2000, ERR=9000) TITLE, TITLE2
LINES = LINES + 3
C
ENDIF
C
C*************************
C WRITE OUT RESULTS *
C*************************
C
WRITE (20, 3000, ERR=9000) DEPTH, PHIT, SW, SXOCTA, KPPM, CORESW
LINES = LINES + 1
C
RETURN
C
9000 IERR = 1
RETURN
END
C
SUBROUTINE SCRVAL(DEPTH, PHIT, SW, SXOCTA, KPPM, CORESW)
C
C************************************************************************
C* PRINT RESULTS TO SCREEN *
C* *
C* PARAMETERS: *
C* *
C* DEPTH - MEASURED DEPTH OF VALUES *
C* PHIT - THE TOTAL POROSITY OF THE ROCK (PERCENT) *
C* SW - WATER SATURATION FROM RT *
C* SXOCTA - SXO FROM THE CTA METHOD *
C* KPPM - COMPUTED SALINITY *
C* CORESW - CORE SW USING DEAN-STARKE METHOD *
C* *
C************************************************************************
C
C
REAL KPPM
CHARACTER TITLE*80, TITLE2*80, ENTER*4
INTEGER LINES, PAGENO, PAGESZ
C
COMMON /PRINT/ LINES, PAGENO, TITLE, TITLE2, PAGESZ
C
1000 FORMAT(1X, 'PAGE ',I3)
2000 FORMAT(1X,A79)
3000 FORMAT(5F10.2, F8.2)
C
C...END OF SCREEN?
IF (LINES .EQ. PAGESZ .OR. LINES .EQ. 0) THEN
WRITE(*,'(A)') ' >>>> Press enter to continue. <<<<'
READ(*,'(A)') ENTER
C
C****************************
C WRITE OUT TITLE LINES *
C****************************
C
LINES = 0
PAGENO = PAGENO + 1
WRITE (*,1000) PAGENO
C
WRITE(*, 2000) TITLE, TITLE2
LINES = LINES + 4
C
ENDIF
C
C*************************
C WRITE OUT RESULTS *
C*************************
C
WRITE (*, 3000) DEPTH, PHIT, SW, SXOCTA, KPPM, CORESW
LINES = LINES + 1
C
RETURN
END
C
FUNCTION CTA(TPM, TPHC, PHIT, TPL, ATTEV, KPPMIN, KPPMAX, FT)
C
C************************************************************************
C* COMPUTE SXO FROM THE EPT USING THE CTA METHOD. *
C* *
C* ASSUMES THAT THE HARD PART OF THE ROCK IS LOSSLESS. ITERATES FOR *
C* PHIEPT (EPT POROSITY), KPPM(WATER SALINITY). *
C* *
C* THE DIFFERENCE BETWEEN THIS FUNCTION AND CRIM IS THE METHOD OF *
C* COMPUTING THE DIELECTRIC CONSTANT OF WATER AND THE FORM OF THE *
C* EQUATIONS. CRIM USES WHARTON AND THIS FUNCTION USES DALHBERG AND *
C* FERENCE. *
C* *
C* PARAMETERS: *
C* *
C* TPM - THE MATRIX TPL *
C* TPHC - THE HYDROCARBON TPL *
C* PHIT - THE TOTAL POROSITY OF THE ROCK AS A FRACTION *
C* TPL - THE LOG MEASURED PROPOGATION TIME *
C* ATTEV- THE LOSS CORRECTED EPT LOG MEASURED ATTENUATION *
C* KPPMIN - ON INPUT, THE MINIMUM POSSIBLE WATER SALINITY. *
C* ON OUTPUT, THE FUNCTION RETURNS THE BEST ESTIMATE *
C* OF THE WATER SALINITY SEEN BY THE FUNCTION. *
C* KPPMAX - THE MAXIMUM POSSIBLE WATER SALINITY IN THE NEAR *
C* BOREHOLE REGION SEEN BY THE EPT LOG. FOR EXAMPLE, *
C* IN THE CASE OF FRESH MUD AND SALINE FORMATION WATER *
C* SET KPPMIN TO THE MUD SALINITY AND KPPMAX TO THE FORMATION *
C* WATER SALINITY *
C* FT - FORMATION TEMPERATURE IN DEGREES F. *
C* *
C* RETURNS THE COMPUTED VALUE OF SXO, AS A FRACTION *
C* *
C* FUNCTION BASED UPON THE METHOD OF SXO COMPUTATION DESCRIBED BY *
C* CHERUVIER AND SUAU, 1986 SPWLA CONVENTION *
C* *
C************************************************************************
C
REAL KPPM, KPPMIN, KPPMAX
C
C...VALID POROSITY?
CTA = 1.0
IF (PHIT .LE. 0.0) RETURN
C
C...SET INITIAL VALUES
SXOPRV = 0.0
KPPM = KPPMIN
C
C************************************************************************
C ITERATE FOR EPT POROSITY, SXO, AND KPPM A MAXIMUM OF 100 TIMES *
C************************************************************************
C
DO 1000 I=1,100
C
C...COMPUTE TPW AND ATTW, USING DAHLBERG AND FERENCE
CALL EPSWA(FT, KPPM, TPW, ATTW, EPW, EPPW)
C
C...SXO FROM EPT (SXOEPT)
SXOEPT = TPLMET(TPM, PHIT, TPL, TPW, TPHC)
C
ATTW = ATTEV/(PHIT*SXOEPT)

C...CONVERT ATTW TO SALINITY (SAL)


CALL SALIN(SAL, ATTW)
C
C...IF SAL IS -1 THE FUNCTION HAS GONE BEYOND THE END OF THE TABLE
C...SO THIS STATEMENT WILL FORCE A SOLUTION AT THE LAST VALID POINT
IF (SAL .LT. 0.0) SAL = KPPMAX
C
C...SOLUTIONS ARE DIFFICULT TO ACHIEVE WITH THIS FUNCTION.
C...THE FOLLOWING FORCES THE ANSWER TO BE WITHIN REASONABLE BOUNDS
IF (SAL .LT. KPPMIN) SAL = KPPMIN
IF (SAL .GT. KPPMAX) SAL = KPPMAX
C
C
C*************************************************************************
C CHECK FOR CONVERGENCE. IF THE CURRENT ESTIMATE (SAL) IS *
C WITHIN 10% OF THE PREVIOUS ESTIMATE (KPPM) OR THE CURRENT ESTIMATE *
C OF SXO IS WITHIN 0.005 OF THE PREVIOUS ESTIMATE (SXOPRV) THEN RETURN *
C KPPM AND CTA *
C*************************************************************************
C
IF ( ABS(KPPM-SAL)/SAL .LT. 0.10 .OR.
1 ABS(SXOEPT-SXOPRV) .LT. 0.005) THEN
KPPMIN = SAL
CTA = SXOEPT
RETURN
ENDIF
C
SXOPRV = SXOEPT
KPPM = SAL
C
1000 CONTINUE
C................END OF ITERATION LOOP
C
KPPMIN = SAL
CTA = SXOEPT
RETURN
END
C
FUNCTION TPLMET(TPM, PHIT, TPL, TPW, TPHC)
C
C************************************************************************
C* COMPUTE SXO FROM THE EPT USING THE TPL METHOD. *
C* *
C* ASSUMES CONSTANT TPW, EG. TPW = TPL OF MUD FILTRATE, OR IF OBM *
C* USED AND ABOVE TOP OF TRANSITION ZONE TPW = TPL OF FORMATION WATER*
C* *
C* PARAMETERS: *
C* *
C* TPM - THE MATRIX TPL *
C* PHIT - THE TOTAL POROSITY OF THE ROCK AS A FRACTION *
C* TPL - THE LOG MEASURED PROPOGATION TIME *
C* TPW - THE PROPOGATION TIME OF THE WATER *
C* FT - FORMATION TEMPERATURE IN DEGREES F. *
C* TPHC - THE HYDROCARBON PROPOGATION TIME *
C* *
C* RETURNS THE COMPUTED VALUE OF SXO, AS A FRACTION *
C* *
C* THIS METHOD IS RECOMMENDED BY DAHLBERG AND FERENCE, 1984. *
C* *
C************************************************************************
C
TPLMET = 1.0
IF (PHIT .LE. 0.0) RETURN
C
PHIEPT = (TPL - TPM + PHIT*(TPM - TPHC)) / (TPW - TPHC)
C
TPLMET = PHIEPT/PHIT
IF (TPLMET .GT. 1.0) TPLMET = 1.0
IF (TPLMET .LT. 0.000001) TPLMET = 0.000001
C
RETURN
END
C
SUBROUTINE EPSWA(FT, KPPM, TPW, ATTW, EFLP, EFLPP)
C
C************************************************************************
C* COMPUTES TPW AND AW, THE PROPOGATION TIME AND ATTENUATION OF NACL *
C* SOLUTIONS, AS FUNCTIONS OF TEMPERATURE (FAHRENHEIT) AND NACL *
C* CONCENTRATION (KPPM). THE REAL AND IMAGINARY PARTS OF THE FLUID *
C* DIELECTRIC PERMITTIVITY (EFLP AND EFLPP) ARE ALSO CALCULATED. *
C* *
C* THIS SUBROUTINE IS A SLIGHTLY MODIFIED VERSION OF ONE WRITTEN *
C* BY DAHLBERG AND FERENCE. THE ORIGINAL WAS PUBLISHED AS *
C* APPENDIX B, DAHLBERG AND FERENCE, 1984 *
C* *
C* USED WITH THE PERMISSION OF THE AUTHOR. *
C************************************************************************
C
REAL KPPM
DIMENSION TT(5), C(3), Z(3), BB(3,5)
DATA BB /3.47, -6.65, 2.633, -59.21, 198.1, -64.8, 0.4551,
1 -0.2058, 0.005799, -9.346E-5, 7.368E-5, 6.741E-5,
2 -1.766E-6, 8.768E-7, -2.136E-7/
C
C************************************************************************
C FLUID DIECTRIC PERMITTIVITY VIA COLE-COLE EQUATION *
C OLHOEFT, "ELECTRICAL PROPERTIES OF ROCKS AND MINERALS, SHORT *
C COURSE NOTES", GOLDEN, COLO., 1981. *
C************************************************************************
C
C ...FREQUENCY OF THE TOOL IS 1.1 GIGAHERTZ
FREQ = 1.1E9
OMEGA = 2.0*3.14159*FREQ
T = (FT-32.0) * 0.555556
TKELV = T+273.0
C
C ...CONVERT NACL CONCENTRATION FROM KPPM TO MOLAR
CMOLAR = 0.01722*KPPM
IF (KPPM .GT. 60.0) CMOLAR = 0.02*KPPM - 0.15
IF (KPPM .GT. 160.0) CMOLAR = 0.02238*KPPM - 0.53
C
TAU = 5.62E-15 * EXP(2182.0/TKELV)
ALPHA = 0.0026 + 0.02676*CMOLAR - 0.00123*CMOLAR*CMOLAR
1 + 2.71E-5*CMOLAR**3.0
AEXP = 1.0 - ALPHA
A = 1.0 + (OMEGA*TAU)**AEXP * COS(1.5708*AEXP)
B = (OMEGA*TAU)**AEXP * SIN(1.5708*AEXP)
C
XINF = 4.2 + 0.2145*CMOLAR
XST = 295.68 - 1.2283*TKELV + 2.094E-3 * TKELV*TKELV
1 - 1.41E-6*TKELV**3.0
XS = XST - 13.0*CMOLAR + 1.065*CMOLAR*CMOLAR
1 - 0.03006*CMOLAR**3.0
C
XP = XINF + (XS-XINF)*A / (A*A + B*B)
XPP = (XS-XINF)*B / (A*A + B*B)
C
C ...FLUID CONDUCTIVITY (UCOK FORMULA FROM OLHOEFT, IBID.)
TT(1) = 1.0
TT(2) = 1.0/T
TT(3) = T
TT(4) = T*T
TT(5) = T*T*T
C
DO 1000 I=1, 3
Z(I) = 0.0
DO 1000 J=1, 5
Z(I) = Z(I) + BB(I,J)*TT(J)
1000 CONTINUE
C
C(1) = CMOLAR
CMOLAR = AMAX1(CMOLAR, 1.0E-6)
C(2) = ABS(CMOLAR)**1.5
C(3) = CMOLAR**2.0 * ALOG(CMOLAR)
SIGMA = 0.0
C
DO 2000 J=1, 3
SIGMA = SIGMA + C(J)*Z(J)
2000 CONTINUE
C
C*******************************************************
C FLUID COMPLEX DIELECTRIC PERMITTIVITY *
C INCLUDING CONDUCTIVITY TERM *
C*******************************************************
C
EFLP = XP
EPSVAC = 1.0E-9 / (36.0 * 3.14159)
EFLPP = XPP + SIGMA/(OMEGA*EPSVAC)
EFLA = SQRT(EFLP**2.0 + EFLPP**2.0)
C
C... TPW = WATER PROPOGATION TIME IN NANOSEC/M
TPW = 3.3333333 * SQRT((EFLA+EFLP)/2.0)
C
C... ATTW = THE ATTENUATION OF THE WATER IN DB/M
ATTW = 8.686*(OMEGA/3.0E8) * SQRT((EFLA-EFLP)/2.0)
C
RETURN
END
C
SUBROUTINE LOSS(FT)
C
C***************************************************************************
C* COMPUTE ATTW AS A FUNCTION OF KPPM FOR TEMPERATURE FT. *
C* STORE RESULTS IN LOSSES FOR USE BY CTA *
C***************************************************************************
C
REAL KPPM, LOSSES
COMMON /DWCORR/ LOSSES(2,15)

DO 1000 I=0, 14
KPPM = I*25
C
C ...COMPUTE VALUES FOR TEMPERATURE FT AT VARIOUS SALINITIES KPPM
CALL EPSWA(FT, KPPM, TPW, ATTW, EFLP, EFLPP)
C
C ...STORE RESULTS IN COMMON /DWCORR/
LOSSES(1,I+1) = KPPM
LOSSES(2,I+1) = ATTW
C
1000 CONTINUE
RETURN
END
C
SUBROUTINE SALIN(KPPM, ATTW)
C
C***************************************************************************
C* COMPUTE KPPM USING THE TABLE LOSSES AND THE SUPPLIED ATTW *
C***************************************************************************
C
REAL KPPM, LOSSES
COMMON /DWCORR/ LOSSES(2,15)

DO 1000 I=1, 15
C
C LOSSES(1,I) = KPPM
C LOSSES(2,I) = ATTW
C
IF (ATTW .LT. LOSSES(2,I) .AND. ATTW .GT. 0.0) THEN
A = LOSSES(1,I) - LOSSES(1,I-1)
B = LOSSES(2,I) - ATTW
C = LOSSES(2,I) - LOSSES(2,I-1)
KPPM = A * (B/C) + LOSSES(1,I-1)
RETURN
ENDIF
C
1000 CONTINUE
C
C... FLEW OFF THE END
KPPM = -1.0
RETURN
END
Following is the test data for the EPT program. When this data is processed
with the following input constants the results shown on the next page should
be obtained.

Input: Tpm=7.2, Kppm(min)=67, Kppm(max)=90, Ft=150, Tphc=4.7.

DEPTH SUBSEA PHIT PHIE SW SWE TPL ATTEV CORSWC


-------- -------- ------ ------ ------ ------ ------ -------- ------
7931.5 7847.1 34.8 34.4 3.8 2.7 7.1 115.2 8.5
7932.0 7847.6 34.8 34.0 3.2 1.0 7.0 114.9
7941.0 7856.6 35.4 35.3 4.5 4.3 6.9 120.8
7941.5 7857.1 35.9 35.9 4.6 4.6 6.9 121.6 8.7
7951.0 7866.6 35.2 35.2 7.2 7.2 6.9 124.9
7951.5 7867.1 35.2 35.1 7.1 6.7 6.9 125.1 7.6
7952.0 7867.6 34.8 34.8 8.2 8.2 6.9 124.9
7961.5 7877.1 35.1 34.3 6.9 4.8 9.4 114.7 8.4
7971.0 7886.6 34.3 34.3 5.4 5.4 6.9 123.2
7971.5 7887.1 34.1 34.1 5.4 5.4 6.9 122.9 6.8
7972.0 7887.6 34.4 34.4 5.2 5.2 6.9 122.9
7972.5 7888.1 34.0 33.9 5.0 4.7 6.9 123.0
7987.0 7902.5 33.5 33.5 6.0 6.0 7.0 127.5
7987.5 7903.0 33.6 33.6 6.1 6.1 7.0 127.5
7988.0 7903.5 34.1 34.1 6.0 6.0 7.0 127.5
7988.5 7904.0 34.0 32.7 3.9 1.0 7.1 127.5
7989.0 7904.5 33.9 33.6 5.3 4.5 7.1 127.6
8011.0 7926.5 33.4 33.4 16.7 16.7 7.6 135.6
8011.5 7927.0 34.0 33.4 15.2 13.7 7.6 136.1 12.5
8012.0 7927.5 34.4 34.4 16.7 16.6 7.6 136.4
8012.5 7928.0 33.9 33.6 16.3 15.5 7.7 136.7
8013.0 7928.5 33.6 32.6 14.8 12.4 7.7 137.2
8020.0 7935.5 33.0 32.9 20.3 20.0 7.6 141.0
8020.5 7936.0 33.2 33.2 20.9 20.9 7.6 143.5
8021.0 7936.5 33.3 33.3 21.2 21.2 7.6 144.4
8021.5 7937.0 33.6 33.6 21.1 20.9 7.6 146.0
8022.0 7937.5 33.4 32.8 20.0 18.4 7.6 145.2 15.1
8022.5 7938.0 33.8 33.3 20.6 19.4 7.7 145.1
8023.0 7938.5 34.2 33.6 20.4 19.0 7.7 144.2
8029.5 7945.0 34.8 34.8 29.7 29.7 7.9 147.8
8030.0 7945.5 34.9 34.4 29.2 28.3 7.9 148.5
8030.5 7946.0 34.8 34.8 32.1 32.1 8.0 149.6
8031.0 7946.5 35.2 35.2 33.3 33.3 8.0 150.8
8031.5 7947.0 35.4 35.4 34.8 34.8 8.0 152.6 23.4
8032.0 7947.5 35.5 35.5 36.6 36.6 8.0 154.6
8204.0 8122.0 31.4 31.4 100.0 100.0 11.4 404.0
8204.5 8122.5 30.9 30.9 100.0 100.0 11.4 397.8
8205.0 8123.0 30.6 30.6 100.0 100.0 11.4 378.0 25.8
8205.5 8123.5 30.3 29.9 100.0 100.0 11.7 374.7
8206.0 8124.0 29.4 29.4 100.0 100.0 11.8 370.1
8206.5 8124.5 29.1 29.1 100.0 100.0 12.0 382.3
8207.0 8125.0 29.5 29.5 100.0 100.0 12.4 387.9
8207.5 8125.5 31.1 30.6 100.0 100.0 13.1 393.0
8208.0 8126.0 32.8 31.9 100.0 100.0 14.1 388.9
8208.5 8126.5 33.1 31.1 99.8 99.7 14.8 398.4
8209.0 8127.0 31.9 29.1 100.0 100.0 15.1 402.2 40.2
8209.5 8127.5 31.2 31.2 100.0 100.0 14.6 410.8
8210.0 8128.0 32.9 32.9 100.0 100.0 14.3 423.6
Following is the test case output. These results should be obtained when the
test data on the previous page is run.

PAGE 1
DEPTH PHIT SW SXOCTA KPPM CORE
(FEET) (XPLOT) (RT) CTA SW SW

7931.5 34.80 3.80 5.38 90.00 8.50


7932.0 34.80 3.20 4.69 90.00 .00
7941.0 35.40 4.50 4.02 90.00 .00
7941.5 35.90 4.60 4.05 90.00 8.70
7951.0 35.20 7.20 4.01 90.00 .00
7951.5 35.20 7.10 4.01 90.00 7.60
7952.0 34.80 8.20 3.99 90.00 .00
7961.5 35.10 6.90 23.09 67.00 8.40
7971.0 34.30 5.40 3.96 90.00 .00
7971.5 34.10 5.40 3.94 90.00 6.80
7972.0 34.40 5.20 3.96 90.00 .00
7972.5 34.00 5.00 3.94 90.00 .00
7987.0 33.50 6.00 4.63 90.00 .00
7987.5 33.60 6.10 4.64 90.00 .00
7988.0 34.10 6.00 4.66 90.00 .00
7988.5 34.00 3.90 5.37 90.00 .00
7989.0 33.90 5.30 5.37 90.00 .00
8011.0 33.40 16.70 9.00 90.00 .00
8011.5 34.00 15.20 8.95 90.00 12.50
8012.0 34.40 16.70 8.91 90.00 .00
8012.5 33.90 16.30 9.67 90.00 .00
8013.0 33.60 14.80 9.71 90.00 .00
8020.0 33.00 20.30 9.03 90.00 .00
8020.5 33.20 20.90 9.02 90.00 .00
8021.0 33.30 21.20 9.01 90.00 .00
8021.5 33.60 21.10 8.98 90.00 .00
8022.0 33.40 20.00 9.00 90.00 15.10
8022.5 33.80 20.60 9.68 90.00 .00
8023.0 34.20 20.40 9.64 90.00 .00
8029.5 34.80 29.70 10.98 90.00 .00
8030.0 34.90 29.20 10.97 90.00 .00
8030.5 34.80 32.10 11.68 90.00 .00
8031.0 35.20 33.30 11.61 90.00 .00
8031.5 35.40 34.80 11.58 90.00 23.40
8032.0 35.50 36.60 11.57 90.00 .00
8204.0 31.40 100.00 38.64 90.00 .00
8204.5 30.90 100.00 39.16 90.00 .00
8205.0 30.60 100.00 39.49 90.00 25.80
8205.5 30.30 100.00 42.23 90.00 .00
8206.0 29.40 100.00 44.16 90.00 .00
8206.5 29.10 100.00 46.23 90.00 .00
8207.0 29.50 100.00 48.98 90.00 .00
8207.5 31.10 100.00 53.65 87.58 .00
8208.0 32.80 100.00 61.97 72.61 .00
8208.5 33.10 99.80 67.04 67.00 .00
8209.0 31.90 100.00 71.79 67.00 40.20
8209.5 31.20 100.00 69.03 73.04 .00
8210.0 32.90 100.00 63.40 67.00 .00