net
Geolog 6.6
corEVAL TutorialTM
www.fanarco.net
Contents
This tutorial is designed to present the basic concepts behind the corEVAL methods,
software and applications. It will also provide a basic understanding of how to use the
corEVAL application within Geolog6, and demonstrate how the corEVAL application can be
used to integrate core-based and log-based petrophysical interpretations. You will:
Prerequisites
Document Conventions
In this document, all INPUT to the computer is in Bold Courier New, while all OUTPUT
from the computer is in Courier New, but not bold.
Tutorial Data
The following additional files (files not supplied with software) are used in this tutorial:
corEVAL Overview
The corEVAL application provides the user with tools for the interpretation and integration of
core analysis data with wireline log data. The application was written specifically for the
interpretation of the extended corEVAL data set, as well as some special core analysis
(SCAL) data sets (especially capillary pressure, CEC, overburden poro-perm and spectral
gamma data).
The corEVAL concepts and services were developed by ACS Laboratories Pty Ltd over a two
year period, who set out with the objective of making core data more usefully integrated into
standard petrophysical analyses. This objective was tackled on three fronts:
When a corEVAL licence is purchased, a copy of the Core Analysis Information Pack is
provided. This document provides a detailed reference guide to core analysis procedures
and core analysis interpretation techniques. The document is in Adobe Acrobat PDF format
and is fully hyperlinked.
The core analysis Information Pack can be accessed by selecting Petrophysics >
corEVAL > Information Pack from the menu of an applicable Geolog application.
This will start Acrobat Reader and will bring up the Contents page of the
Information Pack.
The information pack consists of 300 pages of high quality text and graphics
detailing the methods of performing core analysis test work as well as the
applications and limitations of the data. The Information Pack is a hyperlinked
document, and includes an extensive index and glossary providing a ready
reference and training tool for geologists, petrophysicists and engineers alike.
Interpretation Tools
The major component of the corEVAL application consists of a series of tools for
the interpretation and display of core analysis data. These tools are found on the
corEVAL menu under the following sub-menus:
corEVAL Mnemonics
This section provides a reference for the set names and log mnemonics used as default
within the corEVAL application.
The corEVAL application runs most efficiently when the user adheres to set and log naming
conventions. The application uses data from the three main sets described in Table 1.
The incorporation of core analysis into petrophysical software is a new concept, and
therefore requires the addition of a new set of mnemonics representing the core analysis
data. Table 2 summarises the list of names used within the corEVAL application.
Procedure
• Load the wells to be used in the tutorial using Geolog’s Connect application.
• Load new data into the existing data.
Overview
You will load data from a pre-existing Geolog-ASCII file, and capillary pressure
data from a text file (this can be any array data) using Geolog’s Connect
application.
Note
When loading data into irregularly sampled data sets, it is important to remember to load the
log with the highest sample number first. Once an irregularly sampled set has been created,
you cannot add new sample depths via Connect.
Exercise 1
In this exercise, you load the wells containing the data required for this tutorial.
6. Click on the Start Load button to load the data (see Figure 2).
Exercise 2
This exercise shows you how to load capillary pressure data from a text file.
Definition
required
3. To define the format, click on the Define Flat Ascii format... button to open
the Flat Ascii window (see Figure 4).
6. Delete all EXCEPT the Reference, and Logs 1 and 2, and change as shown
in Figure 5.
) Note that data for PC_LAB and SW_PC_LAB is identified as array by using
a modified Type definition (Real*6) which identifies an array with 6 elements.
9. Leave all other settings as is and click on the OK button to scan the data.
10. Change the well name to ALNATH (see Figure 6) and then click on the Start
Load button to load the data.
12. Start the Well application and load the ALNATH well.
13. Select Well > View > Text and verify that the SCAL_TEST set has been
loaded.
Procedure
In this section, you are introduced to the components of the Module Launcher interface and
you will:
Overview
Execution of the corEVAL menu items will either bring up a crossplot display in
Geolog’s Xplot application or the Module Launcher window. The Module
Launcher is used extensively throughout Geolog. When some functions are
selected, such as Petrophysics > corEVAL > Corrections > Rw Temperature,
the Module Launcher window opens and displays the relevant information for that
module.
A user defined module can be opened by selecting General > Module... from an
applicable Geolog application menu (e.g. Well or Project). The File Select dialog
box is then displayed to locate and select the required module.
Exercise 1
1. Select Well > Default Set... and select the CORE set.
Selection Section
Input Set
The set displayed is either the set specified for the module, or, if not specified, the
default set specified for the application (displayed on the Title Bar). Logs to be
processed by the module will come from this set, unless otherwise specified. For
example, in Figure 7, if WIRE.DEPTH was entered for DEPTH, the data from the
Wire set would be used instead of the data from the CORE set.
To change, click on the Set Select icon to display the File Select dialog box,
or enter a set name in the field.
In previous versions of Geolog, when the Input Set was changed, all Parameters
were reset to the defaults for the module. This no longer occurs. To reset the
Parameter defaults, select Launcher > Reopen—see "Launcher Menu" on
Page 19 for further details.
To change the Input Set for all subsequent module processing, select
Applicationname > Default Set... (e.g. Well > Default Set...).
Output Set
The set displayed is either the set specified for the module, or, if not specified, the
default set specified for the application (displayed on the Title Bar). Logs to be
processed by the module will be written to this set, unless otherwise specified. For
example, in Figure 7, if WIRE.RW was entered for RW, the data would be stored
in the Wire set instead of the CORE set.
To change, click on the Set Select icon to display the File Select dialog box,
or enter a set name in the field.
Sampling Log
Enter a log name or click on the Log Select icon to open the File Select
dialog box and select a log which will determine the sample rate of data output
when the module is processed.
If this field is left blank, the input/output sample rate is determined by the Input
Set’s reference (e.g. depth) or, if no input set is specified, by the first input log.
It is important in modules such as tp_fill that the sampling control log covers the
entire range of the input log being processed.
Start
Click to process the module. See also "Launcher Menu" on Page 19.
Module Help
Click to display descriptive information on the module.
Parameters Section
Colors
The colors in the table depend on both the Mode and the Location of the module
parameters. Data displayed with a colored background is Read Only. Data with a
white background may be edited.
) See the "Using Geolog" online help documentation for detailed informaton
on using Geolog’s table format.
Depending on the required value(s), there are various methods for entering/
changing data in the Parameters table:
• Click on the field and then begin typing from the keyboard.
OR
• Double click on the field to partially edit the existing contents or select an icon to
display a list of items.
OR
OR
• For large modules, use the Quick Entry function to display a dialog box to
quickly cycle through and select/enter required values for the Value column(s) in
the Table section of the Module Launcher.
— If using multiple value columns (multiple intervals), toggle the ALL column
on, where applicable, (see Figure 2) to simultaneously enter multiple
values.
— Click in a Value field.
— Select Edit > Quick Entry to display the Quick Entry dialog box (see
Figure 8).
double click on the required value in the List field to enter the value in the
Value column and go to the next editable cell;
OR
select a value and then click Apply or press ENTER to enter the value in
the Value column and go to the next editable cell;
OR
where there are no values in the List field, click in the Selection field and
enter a value, then press ENTER or click on Apply to enter the value;
If the ALL column is available and toggled ON, editing continues down;
otherwise, editing continues to the right.
— to skip a field, press ENTER or use the Next button;
— click on Close to finish editing or cancel the operation.
Launcher Menu
Module... Opens the File Select dialog box to locate and select a module.
A module can also be opened by:
• Selecting a relevant menu item (e.g. General > Evaluate);
• OR, selecting General > Module... in a Geolog application to open the
Module Launcher and File Select dialog box;
• OR, selecting Applicationname > Run... (e.g. Well > Run...) and entering
the command applicationname_module in the Run dialog box. An empty
Module Launcher window is displayed—select Launcher > Module... to
open a module. If you know the name of the module you wish to open, in
the Run dialog box enter
applicationname_module module=modulename
For example:
well_module module=tp_calc
Reopen If and when required, use this function to reload the defaults for the currently
open module.
Note: The manual function, Launcher > Reopen, replaces the automatic
function in previous versions of Geolog where, when the Input Set
was changed, the Parameter defaults for the module were
automatically reloaded.
Close Closes the Module Launcher window. Note that if you have not saved the
specifications currently entered, they will be permanently removed (see
"Launcher > Save As" below).
Start Select to start execution of the module.
Cancel Some functions run a series of modules and/or other processes. Use the
Cancel option to cancel the operation before or after execution of any
process in the series. The entire operation will be cancelled and the Module
Launcher window cleared. The function can then be restarted, or the Module
Launcher closed.
Note that the Module Launcher is also cleared after a series of processes
have been run.
Note: When one of the three commands listed below is selected, the Filter field in the File Select dialog
box defaults to *.<modulename> (where <modulename> is the name of the currently open
module) therefore, if you wish to find/save/delete a file with a different extension, you must change
the Filter.
Restore... Restore previously saved or executed specifications for the module. When
the File Select Dialog box opens, select your saved file (see Save As below)
or "previous.<modulename>". Geolog automatically saves the last
specifications used when the module was run in a file called
previous.<module_name> (located in the project's specs directory).
Therefore, when you select the Restore command to retrieve your saved
specifications, you will see files similar to the following:
previous.tp_evaluatespecifications when last executed
mysettings.tp_evalutespecifications you have saved
Note that the "previous" file is always REPLACED, so specifications are only
those relevant to the last execution.
Save As... Save the specifications you have entered in the currently open module. See
"Notes on Saving" below for further information.
Delete... Opens the File Select dialog box to locate and permanently delete files
containing previously saved specifications.
Notes on Saving
When saving specifications, if you do not enter a file name extension, the module
name is used as the extension. If you do enter an extension, the information will be
saved with the file name and extension you specify, but that file will NOT
automatically be displayed when you select Restore (you need to change the
Filter to locate the file).
When the values for a module are first displayed, the Module Launcher checks to see
if a defaults.<module_name> specification exists. If it does, the values in that
specification will be automatically restored. So, if you save your values with the name
defaults, the information will subsequently be automatically restored whenever
you run the module. This is useful if you want to always use the same values.
As well, when you select Launcher > Reopen to reload the parameters, the
defaults file is used, not the original defaults for the module.
3. For the coreval_rw module, enter the following values for the constants:
SHT: 77°F (25°F)
TD: 7650 ft (2331.72 m)
4. To see what depth logs are available for input as DEPTH, double click in the
field and then click on the Log Select icon.
7. To verify this, display the Text view and look at the logs in the COREVAL set.
T 1 + 21.5
Rw T2 = Rw T1 ----------------------- Eq. [1]
T 2 + 21.5
where:
RwT1 = Rw at temperature T1 (ohmm)
T1, T2 = Temperatures (oC)
Procedure
This step explains the various methods available in corEVAL for correcting core data.
You will:
Overview
The Corrections menu options provide the user with a series of modules and crossplots for
the application of common core data corrections that should be performed prior to a core-
enhanced petrophysical interpretation.
The approach taken is to use special core analysis data (stored in the SCAL set) to define
the correction algorithms, and to then apply those corrections to the routine core data.
Alternatively, empirical formation or field algorithms can be applied, where they are known.
Exercise 1
This exercise shows you how to vertically smooth or average core data values to a
resolution similar to that of a wireline log.
As the core gamma data is very noisy, in this exercise you will smooth the data to
a similar resolution as the GR wireline log to assist in the depth shifting procedure
performed in the next exercise.
1. Select Petrophysics > corEVAL > Corrections > Smooth Core Data to
display the coreval_smooth module.
Input log data can be smoothed (averaged) to match the vertical resolution of
different logs. The user has a choice of arithmetic, geometric or harmonic
averages, and a choice of three vertical response filters.
n
Σ ( ki wi )
i=1
k arith = --------------------------------
-
n
Σ ( wi )
i= 1
n
Σ ( wi )
i=1 Eq. [2]
k harm = ---------------------------- -
n w i
Σ -----
i = 1 k i
n wi
k geo = Σ wi Π k i
i=1
where:
ki = Input log value
wi = Weighting due to vertical filter
n = Number of input values
OPT_FILTER allows the user to choose between three different vertical filter
types: box, linear or vertical (see Figure 12). The input parameter VRES is the
required vertical resolution.
— Box Filter
The box filter is the default, and gives an equal weighting to all values
within the defined vertical resolution. Values outside this range are given a
weighting of zero.
— Linear Filter
The linear filter gives maximum weighting of one at the current depth, and
linearly interpolates the weighting between this and zero at a distance
VRES/2 above or below the current depth.
— Circle
The round filter give a maximum weighting of one at the current depth and
zero at VRES/2. Values in between are determined from a circular
function whose radius is VRES/2.
Exercise 2
In this exercise, you will use graphical tools to interactively correct the depth
reference of the core data from drillers depth to loggers depth.
1. Display the WIRE.HSGR log (log at correct depth) in the right hand track—see
Figure 13.
2. To start depth shifting, hold down the CTRL key and select the two logs.
4. Enter CORESHIFT in the Selection section of the Depth-shift Set dialog box.
The magnitude and direction of the shift values will be stored in this set.
5. Click OK.
A ghost image of the core data will be placed on the right hand track. You can
now insert pins to define the exact depth shift values (see Figure 13).
6. Left click to insert, and middle click and drag pins so that the ghost image of
the core data matches the log data as closely as possible.
7. Once you are happy with the pin locations, click on the Done button in the
Depthshift dialog box—the values will be written to the database.
8. Then, to apply those depth shifts to the core data set, select Tools > Depth
Shift > Apply Reference to display the tp_ref_shift module.
11. Check the layout to see that the depth shift has been performed.
12. If you are happy with your correction, apply it to the CORE and SCAL sets
as well.
Block Shifting
The above method can also be used to perform block shifting of core data. For block shifting,
it is important to work systematically from either the top of the data or from the bottom of the
data. Let's assume that the data will be worked with from the top:
Exercise 3
In this exercise, you will correct ambient total, effective and furnace porosity
values for overburden stress by regressing existing SCAL data.
The Porosity Correction module assumes that you either have some OB data on
which to perform a regression, or that you already know what the relevant porosity
reduction factor is for your reservoir.
1. Select Petrophysics > corEVAL > Corrections > Porosity to open the
coreval_phiobcorr module and display the Ambient to OB Core Porosity
crossplot in a Xplot view.
As shown in Figure 15, porosity data that is stored in the SCAL set is
automatically picked up by the crossplot. You now need to perform a
regression on this data so that the information can be used by the module.
2. Select Tools > Regression... from the Xplot menu to display the Regression
dialog box.
4. Click OK—Geolog computes the regression and inserts the regression line
and macro on the crossplot (see Figure 17).
Regression line
Regression macro
5. In the coreval_phiobcorr module, enter the macro name created in Step 3. (in
this example, phiob_regression) in the PHIOB_MACRO field.
9. Set the Default Set to COREVAL. This will ensure that the display is
automatically updated with the corrected core data.
φt = φt C
ob amb
φe = φ t – V wb Eq. [3]
ob ob
φf = φ t + V wc
ob ob
where:
C = Porosity reduction factor
φ tamb = Ambient total porosity (v/v)
φ tob = Overburden total porosity (v/v)
φ eob = Overburden effective porosity (v/v)
φ fob = Overburden furnace porosity (v/v)
Vwb = Bulk volume of bound water (v/v)
Vwc = Bulk volume of crystalline water (v/v)
If the density of the mud filtrate (RHO_MF) is entered, then coreval_phiobcorr will
calculate a bulk density using the following equation:
ρ b = ρ ma – ( φ t ( ρ ma – ρ mf ) ) Eq. [4]
ob ob
where:
ρ ma = Matrix Density (g/cm3)
ρ mf = Mud filtrate density (g/cm3)
ρ bob = Overburden bulk density (g/cm3)
φ tob = Overburden total porosity (v/v)
Exercise 4
Permeability Corrections
In this exercise, you will correct ambient gas permeability data for overburden
stress to effective permeability values by regressing existing SCAL data.
The Ambient to Overburden corrections module assumes that you have some
ambient and overburden permeability core data in the SCAL set that is available
for regression analysis. The correction is done using pre-defined Xplots that are
used to calculate regression macros and create new logs.
1. Select Petrophysics > corEVAL > Corrections > Permeability > Ka-KaOB
to open the coreval_kaobcorr module and display the pre-defined crossplot
that calls on permeability data in the SCAL set.
5. Click OK—the regression line and macro will appear on the crossplot.
7. Click Start to create a new overburden permeability log, which will be updated
on the layout.
8. Repeat the process (both macro creation and module processing) for the
Petrophysics > corEVAL > Corrections > Permeability > Ka-KkOB
correction.
Exercise 5
In this exercise, ambient routine core fluid saturation data for overburden stress
and formation volume changes will be corrected.
You will correct routine fluid saturation data for ambient to overburden porosity
changes, oil bleeding during recovery, and fluid formation volume changes. The
original fluid saturation data is located in the CORE set. The results will be placed
into the COREVAL set.
4. Leave all other parameters as is (see Figure 21) and click on Start to process
the module.
The Corrections layout is updated with the corrected fluid saturation data (see
Figure 22).
5. Select Well > Save to save the results for this well.
Two options are available for the incorporation of a water formation volume factor:
— Values for the salinity (SALRW), reservoir pressure (FP) and temperature
(FTEMP) are required.
— Check that all the remaining I/O boxes are correct.
φt ( φt – 1 )
Sw = S w B w ---------------------------------
amb ob
-
ob amb φt ( φt – 1 )
ob amb
φt ( φt – 1 ) Eq. [5]
So = S o B o E ---------------------------------
amb ob
-
ob amb φt ( φt – 1 )
ob amb
Sg = 1 – Sw – So
ob ob ob
where:
Sw = Core water saturation (v/v)
So = Core oil saturation (v/v)
Bo = Oil formation volume factor at the time of coring (v/v)
Bw = Water formation volume factor (v/v)
E = Bleeding factor, proposed to be 1.11
φt = Total core analysis porosity (v/v)
ob = Overburden measurement
amb = Ambient measurement
The charts on Page 43 are used for the determination of gassy water formation
volume factor at temperature T. The three volume factors are combined to give the
effective water formation volume factor as follows (Lee, 1982):
where:
Bw = Water formation volume factor (v/v)
SALcor = Salinity correction factor
pure =Pure water value
gassy = Gas saturated water value
GASSY_WATER_VOLUME_FACTOR(/YC/) SAL_CORRECT(/YC/)
WATER_VOLUME_FACTOR(/YC/)
Exercise 6
This exercise will convert the spectral gamma curves into an equivalent total API
response to calculate standard spectral ratios, and to calculate normalized
spectral responses.
The Spectral Gamma Normalization module uses the core spectral gamma data to
calculate a total API gamma response, and also standardizes the spectral
response to a user-defined standard shale. The total gamma response can be
used to correlate with CEC or surface area to test the applicability of the GR log as
an excess conductivity indicator. The ratios can be used to obtain qualitative
information about the mineralogy of the sequence, and the standardized
responses provide a means of analysing variations in sediment provenance.
4. Select Petrophysics > corEVAL > Corrections > Spectral Gamma >
Correct Data to display the coreval_sgr_corr module.
6. Click Start to run the module. A new log will appear on the layout called
SGR_CR, which represents the total API gamma response.
7. Select Petrophysics > corEVAL > Corrections > Spectral Gamma >
Th/K Xplot.
This opens the crossplot to investigate the variation in spectral response versus
depth, and give you a qualitative indication of mineralogy.
8. Click on the Tiling Order icon in the bottom right corner of the window.
12. Ensure the Xplot is active (selected) and select Tools > Highlight
Polygons—your display should now look similar to Figure 25.
Figure 25: Polygons from Th/K crossplot displayed in Scale track of layout.
Notice that minerals are identified by having a similar Th/K ratio, so that the three
main mineral groups present in this interval are Kaolinite, mixed layer clays and
K-feldspar. However, the same mineral will plot in different locations according to
the percentage present in the rock.
The advantage of the normalized spectral responses is that the position of the
value is dependent on the relative abundance of elements, rather than the
absolute values, so that the same mineral will plot in the same area regardless of
its volume percentage. This, of course, assumes that the spectral response is
being dominated by one mineral at any depth.
13. Select Petrophysics > corEVAL > Corrections > Spectral Gamma > Tri-plot
to view the results of the normalization.
The SGR corrections module makes two corrections to the input spectral
gamma data:
• Determination of equivalent API value. The API value is determined from the
American Petroleum Institute test pit at Houston. One API unit is defined as 1/
200th of the difference between the background and peak height in a gamma-
log of the test pit. This is equivalent to 0.181 eU (Dickson, 1996). The result is
output to the log SGR_CR.
• Standardization of SGR with respect to standard shale. Spectral gamma values
are standardized according to a user defined standard response. When this
where:
THCR = Core thorium response (ppm)
KCR = Core potassium response (%)
UCR = Core uranium response (ppm)
THSTD = Standard shale thorium response (ppm)
KSTD = Standard shale potassium response (%)
USTD = Standard shale uranium response (ppm)
_std = Standardized spectral response.
Procedure
This step explains the methods available for estimating initial water saturation. You will:
Overview
The corEVAL application provides two options for estimating initial water
saturations from capillary pressure data:
) The input of capillary pressure data into these two modules is via array data
types, so your capillary pressure data must be in array format.
The workflow for interpretation of capillary pressure data is split into Air-Oil/Brine
and Hg-Air data types.
Exercise 1
Prepare Pc Data
Prior to performing the analysis, you should run the Prepare Pc Data module. This
module converts the capillary pressure to reservoir conditions, and puts all data
into 20 element arrays.
3. Select Petrophysics > corEVAL > Capillary Pressure > Air-Oil/Brine >
Prepare Pc Data to display the coreval_pc_to_height module.
The lab Pc is first converted to reservoir Pc using the following standard equation:
Typical values for the IFT and Theta are listed in the "Rock / Fluid Properties
Table" below.
SUMMARY OF ROCK / FLUID INTERFACIAL TENSION AND CONTACT ANGLE VALUES FOR
VARIOUS COMMON SYSTEMS
The height above the free water level is then determined using the following equation:
P c ( res )
HAFWL = ---------------------------------------
- Eq. [9]
0.433 ( ρ w – ρ hc )
P c ( res )
HAFWL = --------------------
- Eq. [10]
P c ( grad )
The input laboratory curves are also placed into new array logs with 20 elelements
for processing and display.
Exercise 3
This exercise will show you how to estimate initial water saturations from individual
core capillary pressure curves using a hyperbolic function from individual samples.
1. Select Petrophysics > corEVAL > Capillary Pressure > Air-Oil/Brine >
Hyperbolic Fit to display the coreval_hyper_fit module to perform a
hyperbolic fit to the capillary pressure data.
Figure 29: Results of hyperbolic curve fits overlaid on capillary pressure data.
Laboratory capillary pressure data stored in array logs can be fitted using this
module to produce a continuous capillary pressure curve for each input sample.
This best fit curve can then be used for the estimation of several other parameters
by other corEVAL modules.
The input data should be in the form of two arrays, PC_LAB_ARRAY[] containing
up to fifty elements, and SW_LAB_ARRAY[] which contains the corresponding
water saturation values. Total porosity (PHIT_CR) is also required as input to
calculate bulk volume.
The equation published by Donaldson et al, (1991) is used to model the capillary
pressure curves. A least squares best fit to input capillary pressure data is
performed to output three coefficients—HYPER_A, HYPER_B and HYPER_C.
The module checks that there are at least three data points with water saturation
less than 95% before performing the best fit. If there are less than three points,
then missing values for the coefficients are output. The input constant SW_MAX is
a water saturation cutoff above which laboratory data will not be included in the
least squares fit. This is there to help remove the effect of scatter in the high Sw
end of the capillary pressure curve. An integer array called SW_ARRAY[] is also
output, which contains the water saturation information from the curve over the
pressure range 0.1 to 100 psi.
( A + BS w )
P c = ------------------------
- Eq. [11]
( 1 + CS w )
where:
A = HYPER_A, coefficient
B = HYPER_B, coefficient
C = HYPER_C, coefficient
Sw = Lab. Wetting phase saturation (v/v)
Pc = Lab. Capillary pressure (psi)
Once the curve fit has been performed, the hyperbolic curve is used as the basis
for further calculations.
Note
Once you have curve fit your capillary pressure data, try correlating the coefficients with other
petrophysical properties such as porosity, GR or V-shale.
The results of the hyperbolic curve fit are also stored as Xplot functions (curve) in
the project's functions directory. These enable the display of the best fit along
with the original capillary pressure data. The name of a best fit function is a
concatenation of "pc_hyper_", wellname and sample number
(e.g. pc_hyper_test1_3.curve). To access these functions, select Format >
Functions from the Xplot menu and then click on the Functions to Use button to
display a list of appropriate function(s).
Exercise 4
You now estimate initial fluid saturations. This module requires the input of several
reservoir fluid properties constants.
1. Select Petrophysics > corEVAL > Capillary Pressure > Air-Oil/Brine >
Sw from Pc curves to display the coreval_sw_init module.
5. Change the SW_J log to SW_HYPER (third track from right) and view the results
(see Figure 31).
The missing values can be filled in with saturations obtained using the
J-function analysis.
Exercise 5
J-function Calculation
In this exercise, you will calculate a J-function from core capillary pressure data
and use this function to predict water saturation at depths where hyperbolic curve
fits could not be performed, or there is no capillary pressure data.
1. Select Petrophysics > corEVAL > Capillary Pressure > Air-Oil/Brine >
J-Function to display the coreval_j_function module.
4. From the Xplot menu, select Insert > Polygon and insert a polygon using the
name coreval_jfunct (see Figure 33).
This module calculates a j-value for all of the capillary pressure data which allows
a regression between LOG10(J[]) and LOG10(SW_LAB_ARRAY[]) to to be
performed.
When the menu item is selected, both the coreval_j_function module and
coreval_j_sw crossplot are opened. Run the module first to calculate a value for J
from all the capillary pressure data. Xplot will then update with a display and j
versus Sw.
Polygon function should be used to select the data for determination of the j-function,
and then tools regression used to cacluate the slope and intercept the j-function. The
values should then be noted and used as input when calculating water saturations
using the Sw from J-Function module (see Page 62).
Pc K
J ( S w ) = 0.2166 ------------------------------------ ---- Eq. [12]
IFT lab cos θ lab θ t
where:
Pc = Capillary pressure (psi)
IFT = Interfacial tension (dynes/cm)
cos θ = Cosine of contact angle (degrees)
K = Core analysis permeability (md)
θt t = Core analysis total porosity (v/v)
lab = Laboratory conditions value
Exercise 6
1. Select Petrophysics > corEVAL > Capillary Pressure > Air-Oil/Brine >
Sw from J-Function to display the coreval_jsw module.
2. Use your regression results, or the results from this example, which are:
J_SLOPE: -0.322
J_INTERCEPT: -0.413
5. Change the SW_HYPER log back to SW_J and review the results.
This module uses a pre-defined J-function, permeability, porosity and known free
water level to compute water saturation profiles. The reservoir capillary pressure is
calculated using the following equation:
where:
An equivalent laboratory capillary pressure and j-value are then calculated, and
the required water saturation determined using the j-function approximation.
Sw = 10 (log(j)JSLOPE + JINTERCEPT)
• The height above/below msl of the free water level should be entered into FWL.
• OPT_SYSTEM provides the option of choosing between a water/oil and water/
gas system.
• The fluid system parameters.
• To estimate irreducible water saturation, a value for PC_SWIR must be entered
which is the pressure for Swir determination.
Exercise 7
Corrections can be made to mercury injection curves. Corrections are made in two
steps. First, the amount of closure correction to be performed is defined
graphically by the user, and then all the corrections are applied.
1. Use Well > View > Text to view the PC_HG_LAB and HGID logs.
A value for the HGID log for each sample that has HgPc data (i.e. hg1, hg2,
hg3,.....hg10—see Figure 36) has been provided. Where there is no Hg data,
it is left as missing.
Note
The loglan requires the values hg1, hg2, etc. (and the Xplot requires the text in lower case)
and therefore, they must be used. Up to 10 samples can be corrected at the one time.
2. Select Petrophysics > corEVAL > Corrections > Hg-Injection Curves >
Pick Closure which will open a crossplot that contains ten points labelled hg1
through to hg10.
3. Select Edit > Properties, click on the SYMBOL tab, and use the Filter
Expression field to display one sample at a time (see Figure 37).
4. Move the appropriate point into position to define the start of the valid
capillary pressure curve.
Point moved
Figure 37:
Xplot showing raw Hg-injection capillary pressure data. The points on this crossplot are moved to
identify the end of sample conformance and the begining of the true capillary pressure curve.
5. Repeat the previous 2 steps until all samples have been defined. Your final
display should look similar to Figure 38.
Figure 38: Display after all closure points have been defined.
This program corrects mercury injection data for the effects of surface
conformance/closure, overburden pressure and for the absence of clay bound
water. It also converts capillary pressure data from Hg injection analysis into
height above the free water level. This allows the data to be displayed in reservoir
terms. Sixty (60) element arrays of the output data are created for display and
processing purposes. Once the module has finished, a new crossplot is
automatically opened to display the corrected data.
1. Once Pick Closure (see Page 65) has been performed, select Petrophysics
> corEVAL > Corrections > Hg-Injection Curves > Correct Curves to open
the coreval_hg_correct module.
3. Click Start to process the module and open the Ambient-OB Core
Permeability Crossplot.
This correction is made based on the user defining the end of the surface closure
effects and the start of the valid capillary pressure curve. Only the Hg saturation
data are corrected.
S hg – S hg ( conf )
S hg ( cor ) = ------------------------------------
- Eq. [14]
1 – S hg ( conf )
where:
Shg = uncorrected HG saturation
Shg(conf) = Hg saturation at start of valid Pc curve
Shg(corr) = Corrected HG saturation
Shg(corr) is limited between 1 and zero.
Both the mercury saturation and the capillary pressure are corrected for the effect
of overburden pressure. The correction to capillary pressure is applied using a
derivation of the Kozeny-Carman equation to estimate the relative decrease in
pore throat size due to OB pressure as follows:
r ob
P c ( cor ) = P c ( hg ) × ------------ Eq. [15]
r amb
where:
rob/ramb is the ratio of overburden to ambient mean pore throat size such that:
r ob K ob φ amb
- =
----------- ---------------------- Eq. [16]
r amb K amb φ ob
φ ob
S hg ( cor ) = S hg ------------ Eq. [17]
φ amb
The Hg injection data is then corrected for the absence of clay bound water.
Mercury injection data are obtained on cleaned samples that have been dried
such that bound water is removed from the sample. If this hydration water is
assumed to be immobile, the volume of void occupied by Hg at any Pc is larger
than the volume of oil that would be contained in this same space in an oil/brine
system. The correction that needs to be applied is as follows:
φe
S hg ( cor ) = S hg ----- Eq. [18]
φt
φe
P c ( cor ) = P c ( hg ) ----- Eq. [19]
φ t
φe is calculated from an estimate of the volume of bound water that would nornally
be associated with the sample. There are two options for estimation of the volume
of bound water.
96
vqh = ------------------------------------ Eq. [20]
( TEMP + 298 )
– 0.5
V wb = φ t Q ( 0.6425 × SALW + 0.22 ) Eq. [22]
v
Pc to Height
Once these corrections have been applied, the lab Pc’s are converted to height
above the free water level and resevoir Pc, and all data is stored in 60 element
arrays.
The lab Pc is first converted to reservoir Pc using the following standard equation:
SUMMARY OF ROCK / FLUID INTERFACIAL TENSION AND CONTACT ANGLE VALUES FOR VARIOUS COMMON
SYSTEMS
The height above the free water level is then determined using the following
equation:
P c ( res )
HAFWL = ---------------------------------------
- Eq. [24]
0.433 ( ρ w – ρ hc )
P c ( res )
HAFWL = --------------------
- Eq. [25]
P c ( grad )
Exercise 9
1. Select Petrophysics > corEVAL > Capillary Pressure > Hg-Air > J-
Function to display the coreval_jfunct_hg_values module.
Exercise 10
1. Select Petrophysics > corEVAL > Capillary Pressure > Hg-Air > Sw from
J-Function to display the coreval_jsw module.
THETA_LAB: 140
Output Logs: Change the names as shown in Figure 43.
Procedure
corEVAL provides some modules for estimating the resistivity of a formation using total
porosity conductivity models. If required, Qv is estimated from CEC measurements and from
surface area measurements. You will:
Exercise 1
2. Select Petrophysics > corEVAL > Electrical Properties > MS-FRF & RI to
display the coreval_mn module.
5. Select Petrophysics > corEVAL > Electrical Properties > Xplots > Co-Cw
to open the coreval_cw_co crossplot.
The Waxman & Smits conductivity model has the following form:
m*
φt n*
C t = ----------- S w + BQ v φ t S w Eq. [26]
a
where:
Cw 25 ⁄ 20
B = 1.5814T 1 – 0.83e Eq. [27]
where:
Cw25 = Brine conductivity @ 25 degrees Celsius (S/m)
T = Formation temperature (°C)
Rw = Brine resistivity (ohmm)
B = Equivalent cation conductance (mmho.cm2/meq)
Dual-Water Conductivity
αv Q Q ν
H
m n
Ct = φ S - ( C bw – C fw )
C fw + --------------- Eq. [28]
T wT S wT
where:
Ct = total conductivity[mho/m]
C bw = clay bound water conductivity [mho/m]
C fw = free water conductivity [mho/m]
m = cementation exponent
n = saturation exponent
Qv = concentration of clay cations in meq per unit por volume [meq/cm3]
= volume of clay bound water for one meq of clay cations [cm3/meq]
H
vQ
S wT = water saturation of total porosity[fraction]
SbwT = clay bound water saturation of total porosity [fraction]
α = expansion factor for diffuse layer
φT = total porosity [fraction]
2 2
Error = Σ ( C 0lab – C 0pred ) Eq. [29]
where:
C0lab = measured conductivity
C0pred = predicted conductivity calculated using the conductivity equation
with Sw set to 100%.
2 2
Error = Σ ( C 0lab – C 0pred ) Eq. [30]
where:
RIlab = measured resitivity index
Once the module has been run, the results can be displayed on the Co-Cw and RI
Xplots by adding the functions which show the best fits to the data.
Exercise 2
1. Select Petrophysics > corEVAL > Electrical Properties > Qv estimate >
...from Multimin Analysis to display the coreval_qv_from_mmin module.
This module estimates Qv using the clay/shale volumes predicted from a multimin,
or deterministic analysis. The volume of shale/clay, the grain density and the CEC
of the shale/clay(s) are combined with porosity using the following equation to
produce a total Qv.
n
Σ i = 1( V
clayi CEC clayi ρ clayi )
Qv = --------------------------------------------------------------
- Eq. [31]
φt
where:
Qv = Exchange capacity per unit pore volume (meq/cc)
Vclayi = Volumn of dry clay
CECclayi = CEC of the clay
Exercise 3
3. Perform a regression using the macro name qv_from_gr (see Figure 47)
Exercise 4
This exercise will show you how to estimate the true conductivity of the formation
using Archie’s equation, given the estimated initial water saturations from capillary
pressure data.
1. Select Petrophysics > corEVAL > Electrical Properties > Rt Profile >
Archie to display the coreval_ct_archie module.
The module allows input of the constants A, M and N on a layer by layer basis.
Note that the module outputs logs with the suffix _ARCH and outputs values
of resistivity for brine saturated rock as well as rock under initial saturation
conditions (see Figure 49).
Figure 49: Archie module for estimating true conductivity of the formation.
The coreval_ct_archie module calculates rock resistivity using the Archie equation
(Archie, 1942). The required log inputs are water saturation (SW_CR), total
porosity (PHIT_CR) and brine resistivity (RW). The constants A, M and N can be
entered on an interval by interval basis. Initial formation conductivity (CT) and
resistivity (RT) logs are calculated, as well as RO and CO. The output logs have
the suffix "_ARCH".
m
φt n
C t = C w -------- S w Eq. [32]
a
where:
Cw = Brine conductivity (S/m)
Ct = Total rock conductivity (S/m)
Exercise 5
This exercise estimates the true conductivity of the formation using the Waxman &
Smit equation, given the estimated initial water saturations from capillary pressure
data, and Qv from surface area measurements.
1. Select Petrophysics > corEVAL > Electrical Properties > Rt Profile >
Waxman & Smit to display the coreval_ct_ws module.
Figure 50: Waxman & Smit module for estimating true conductivity.
Note that the module outputs logs for excess conductivity, the ratio of excess
to total conductivity, and the value of equivalent sodium ion conductance.
3. Click Start.
This module uses the shaly-sand equation derived by Waxman & Smits (1968) to
derive a shale corrected formation conductivity. The required log inputs are water
saturation (SW_CR), total porosity (PHIT_CR), Qv (QV), brine resistivity (RW) and
formation temperature (FTEMP). OPT_B provides the user with a choice of
algorithms for the estimation of B (equivalent cation conductance).
Cw 25 ⁄ 20
B = 38.3 1 – 0.8e Eq. [33]
2
( – 1.28 + 0.225T – 0.000405T )
B = ------------------------------------------------------------------------------ Eq. [34]
1.23
1 + Rw ( 0.045T – 0.27 )
Cw 25 ⁄ 20
B = 1.5814T 1 – 0.83e Eq. [35]
where:
Cw25 = Brine conductivity @ 25 degrees Celsius (S/m)
T = Formation temperature (°C)
Rw = Brine resistivity (ohmm)
B = Equivalent cation conductance (mmho.cm2/meq)
m*
φt n*
Ct = - S w + BQ v φ t S w
---------- Eq. [36]
a
where:
Cw = Brine conductivity (S/m)
Ct = Total rock conductivity (S/m)
φt = Core analysis total porosity (v/v)
Sw = Initial water saturation (v/v)
Also output is a log of the ratio of excess conductivity and total conductivity
(CXT_WS), which gives an estimate of the importance on excess conductivity effects.
Procedure
This step explains Geolog’s options for estimating initial flow properties of the reservoir
interval. You will:
• Calibrate and predict intrinsic permeability using both the Schlumberger K-3 and
Dual Water models.
• Estimate relative permeability using equations developed by Corey & Brooks.
Exercise 1
There are two models available for the estimation of permeability using porosity
and irreducible water saturation, Schlumberger K-3 and Dual Water, and two
crossplots, Kacr-Perm_k3 and Kacr-Perm_dw. For each of the models, a
calibration is first performed and then a prediction is made.
2. Leave the defaults as displayed and click Start to process the module.
This program calibrates parameters for the Timur K3 permeability equation using
core permeability and porosity data. The K3 permeability is defined by the
following equation:
B 2
φt
K = A ---------- Eq. [37]
S wir
where:
φt = Total porosity (v/v)
Swir = Irreducible water saturation (v/v)
A = Constant (default = 100)
B = Exponent (default = 2.25)
The default values were defined using specific samples at a specific irreducible
water capillary pressure. Therefore, in order to apply this equation to your reservoir,
the equation needs to be calibrated by defining new constants (a and b) that are
reservoir specific. The parameters are calculated using a RMA regression technique.
Once these constants are calculated (using this loglan), you can then use the
K3 predict module to predict permeability.
2. Leave the defaults as displayed and click Start to process the module.
3. Select Petrophysics > corEVAL > Permeability > Xplots > Kacr_Perm_k3
to open the relevant crossplot. Your display should look similar to Figure 55.
Before performing a calibration and prediction, the volume of bound water needs
to be limited using the Evaluate module.
4. Select Petrophysics > corEVAL > Permeability > Intrinsic > Dual Water >
Calibrate to display the coreval_perm_dw_calibrate module.
B φ t – V wir 2
K = Aφ e ---------------------- Eq. [38]
V wir
where:
φt = Total porosity (v/v)
φe = Effective porosity (v/v)
A = Constant (default = 100)
B = Exponent (default = 2.25)
Vwir = Bulk volume irreducible water (v/v)
The default values were defined using specific samples at a specific irreducible
water capillary pressure. Therefore, in order to apply this equation to your reservoir,
the equation needs to be calibrated by defining new constants (a and b) that are
reservoir specific. The parameters are calculated using a RMA regression technique.
Once these constants are calculated (using this loglan), you can then use the Dual
Water Predict module to predict permeability.
1. Select Petrophysics > corEVAL > Permeability > Intrinsic > Dual Water >
Predict to display the coreval_perm_dw module.
2. Leave the defaults as displayed and click Start to process the module.
3. Select Petrophysics > corEVAL > Permeability > Xplots > Kacr_Perm_dw
to open the relevant crossplot.
Exercise 2
This exercise shows you how to estimate the initial flow properties of the reservoir
interval by calculating empirical relative permeability curves using the Corey &
Brooks equations.
To estimate initial flow properties of the reservoir based on initial fluid saturation
data and empirical relative permeability curves:
1. Select Petrophysics > corEVAL > Permeability > Relative > Corey &
Brooks to display the coreval_corey_brooks module.
The module provides options for wettability, lithology and the type of
fluid system.
Note that the module outputs the relative permeability and fractional flow
curves (in array form) for each sample. Also, effective gas and water
permeability, as well as initial fractional flow values, are calculated for each
depth at initial reservoir conditions.
3. Select Petrophysics > corEVAL > Permeability > Xplots > Sw-KrGAS to
open the relevant crossplot. Your display should look similar to Figure 61.
Note
Only two phase systems are modeled here.
+ 3λ-
2---------------
S w – S wir λ
K rw = ----------------------- Eq. [39]
1 – S wir
+ λ-
2-----------
1 – Sw λ
K rnw = ------------------- Eq. [40]
1 – S wir
where:
Swir = Irreducible water saturation
Sw = Water saturation
λ = Pore throat sorting parameter (default = 2)
This module outputs relative permeability curve data in the form of three arrays—
KR_WAT_ARRAY[], KR_OIL_ARRAY[] and KR_GAS_ARRAY[], a fractional flow
curve FW_ARRAY[]—and the associated water saturation values SW_KR[]. If
inputs for initial fluid saturation logs exist, then values for initial KR_WAT_CR,
KR_OIL_CR, KR_GAS_CR, FW_CR, K_WAT_CR, K_OIL_CR and K_GAS_CR
are also output.
1
f w = ------------------------------------
- Eq. [41]
µ w K rg ⁄ o
1 + ----------------------
µ g ⁄ o K rw
where:
where:
Kswir = Liquid permeability at irreducible water (mD)
Kphase = Phase relative permeability
Note
These equations provide relative permeability data that may be considered to represent an
average value based on the empirical equations provided. Analysis should be performed to
obtain reservoir specific relative permeability data.
Procedure
This step explains one of corEVAL’s options to quantify the variation in permeability as an
indicator of reservoir heterogeneity. You will:
Exercise 1
2. Select Petrophysics > corEVAL > Heterogeneity > Lorenz Coefficient >
Lorenz Coefficient to display the coreval_lorenz module.
The module only requires the selection of the appropriate permeability log
and depth log. A value for the Lorenz coefficient (LORENZ_C) is output to an
interval log or the well constraints.
Two output wire logs are created—FM and HM. These are created for display
on a Xplot only and do not bear any relation to the reference log.
This module calculates a Lorenz coefficient, and produces output logs suitable for
the plotting of a Lorenz curve. A Lorenz curve is constructed from the calculation
of cumulative flow capacity (Fm) and cumulative thickness (Hm). Data is ordered
according to descending Fm (i.e., kh) and the following values calculated for each
depth (Lake and Jensen, 1991):
m n
∑ ki hi ∑ hi
=1 =1 -
F m = i-------------------
- and H m = i-------------- Eq. [43]
n n
∑ ki hi
∑ hi
i=1 i
where:
ki = Permeability
hi = Thickness
n = Number of samples
m = Current sample number
A plot of Hm versus Fm results in a curve similar to that shown in Figure 62. The
Lorenz coefficient is given by twice the area between a 45° line from the origin,
and the Lorenz curve. This area can be calculated using the trapezoidal rule, and
Lc calculated as follows:
n F
m ( i + 1 ) – Fm ( i ) H
Lc = 2
∑
----------------------------------------- m ( i + 1 )
2
– H m ( i ) – 1
Eq. [44]
i = 1
Required input logs are a permeability log and its associated depth log. Values for
Fm, Hm and a sorted permeability log are output for crossplotting purposes. The
Lorenz coefficient is output as an interval log (LORENZ_C).
Lorenz Curve
Fm A
Lc = 2 x Area (A)
0
0 Hm 1
Exercise 2
Lorenz Crossplots
1. Select Petrophysics > corEVAL > Heterogeneity > Lorenz Coefficient >
Xplots > Lorenz Plot.
The amount of heterogeneity is indicated by the area between the 45° line
and the Lorenz curve. The greater the area, the greater the heterogeneity.
Look at the hole constants for the variable LORENZ_C to see the value for
the Lorenz coefficient.
2. Select Petrophysics > corEVAL > Heterogeneity > Lorenz Coefficient >
Xplots > Perm-Fm to look at a plot of cumulative kh versus permeability. The
type of plots allows easy consideration of the affect of the cutoff value on total
kh over an interval (see Figure 64).
Procedure
This step explains how to obtain characterisation information using two of Geolog’s
characterisation options. You will:
Exercise 1
This exercise will obtain characterisation information from the capillary pressure
curves of the reservoir samples to test their correlation with permeability.
The module picks up the curve fitting constants and the estimated irreducible
water saturation. Output logs are SCAL.PC_D and SCAL.LAMBDA.
2. Click Start.
This module calculates displacement pressure and the pore size heterogeneity
function lambda, using the Corey & Brooks method (Honarpour et al, 1986). A
regression of LOG10(Sw*) versus LOG10(Pc) is calculated. The intercept is equal
to log(Pd) while the slope provides lambda, which is a function of pore throat
sorting or heterogeneity at the plug scale.
* ( S w – S wir )
S w = ---------------------------
- Eq. [45]
( 1 – S wir )
where:
Sw = Water saturation (v/v)
Swir = Irreducible water saturation (v/v)
*
Sw = Normalized water saturation (v/v)
The capillary pressure curve is calculated using the following equation (Donaldson
et al, 1992):
( A + BS w )
P c = ------------------------
- Eq. [46]
( 1 + CS w )
where:
A = HYPER_A coefficient
B = HYPER_B coefficient
C = HYPER_C coefficient
Sw = Laboratory wetting phase saturation (v/v)
Pc = Laboratory capillary pressure (psi)
Values for PC_D and LAMBDA are output for every depth where a valid input
data exists.
Exercise 2
In this exercise, you will define the capillary pressure and relative permeability
properties for rock classes, and produce saturation tables ready for use in
reservoir simulation.
KA_MAX: 100
CLASS_TAG: Rock_Class_2
This program is used to define the capillary pressure and relative permeability
properties for rock classes, and to provide input saturation tables for the eclipse
simulator.
The user defines a rock class using a permeability range. The program performs a
best fit to all capillary pressure data within that range. Once the best fit has been
performed a values for irreducible water saturation is calculated. Then a curve
function is written to the project’s functions directory that can be used for
displaying the results of the best fit (see Figure 67). The curve form used for the
best fit of the data is the hyperbolic (see "Hyperbolic Curve Fit" on Page 52).
The curve fitting parameters are determined by using a least squares technique.
There must be at least three Pc-Sw measurement points for a particluar sample
before a curve fit will be performed. There is an option SW_MAX which is the
maximum Sw that will be used for curve fitting. This is useful for removing the
100% water saturation points that are usually present in low permeability samples.
Once the Pc curve has been defined, a relative permeability curve (to gas) is
estimated using the Corey & Brooks algorithms that are used in the Corey &
Brooks module (see "Estimate Relative Permeability" on Page 102).
Finally a table containg Pc, Swt, Krg is written to a text file, in a format that can be
read directly into some reservoir simulators as a SAT table.
The module should be re-run for every rock class that is defined.
The constant CLASS_TAG defines the name of the rock class being interpreted.
This name is prepended to file and functions names created in this module.
1. Select Petrophysics > corEVAL > Capillary Pressure > Xplots >
PC Curves to open the coreval_pc_sw crossplot.
Figure 67: Average capillary pressure curves created for each rock class.
4. Select Petrophysics > corEVAL > Permeability > Xplots > Sw-KrGAS to
open the coreval_sw_krgas crossplot.
Figure 68: Average relative permeability curves created for each rock class.
Additional Exercises
Following are a few additional exercises to help you become more familiar with the corEVAL
application in Geolog.
Exercise 1
1. In the ALNATH well, extend the permeability prediction beyond the cored
interval using the K-3 equation.
HINT: You will need a value for Swirr at each depth.
2. A nearby well through the same formation (but dominated by a lower quality
facies) has an average permeability of 1 MD. How high above the free water
level shoudl the sand be in this adjacent well if we are to be certain that it will
contain producible gas (assuming the two wells are in pressure
communication)?
HINT: Gas has to overcome displacement pressure before it can start to fill
the pore space.
Exercise 2
2. Use corEVAL to check the water saturations that have been estimated from
the log analysis. You may want to use the following as a rough workflow:
— Perform overburden corrections to routine porosity and permeability data.
— Calculate a J-function.
— Use the J-function to estimate water saturations.