Emeraude v5.20 - Doc v5.20.03 © KAPPA 1988-2019 PL Tutorial #1 - PLEX01 - 1/26
Emeraude v5.20 - Doc v5.20.03 © KAPPA 1988-2019 PL Tutorial #1 - PLEX01 - 1/26
Emeraude v5.20 - Doc v5.20.03 © KAPPA 1988-2019 PL Tutorial #1 - PLEX01 - 1/26
1. Introduction
This session illustrates the basic software features and the interpretation workflow offered by Emeraude.
The data comes from a nearly vertical well, logged with a Fullbore Spinner, Water hold-up probes, Gas Hold-up
probes, Nuclear density, Pressure, Temperature and Caliper. The flow is 3 phases from a flowing survey. The
flowing passes, after a data quality check, will be processed to obtain the flow profile and zonal contributions,
using different calculation methods. The hold-up measurements correspond to the arithmetic averages of the
optical and electrical probes, and they will be used directly, not going through the MPT (Multi Probe Tool)
processing. The emphasis is on the software mechanics rather than interpretation methodology.
The necessary data files are located in the ‘Examples’ folder under the ‘Emr520’ directory (by default in C:\Program
files (x86)\KAPPA).
Click on the ‘New’, , icon to create a document, from the File tab or the application toolbar. In the Information
tab, ensure that the type of interpretation is set to PL. You don’t need to fill the other information. Go to the
Document Units, and check that the unit system is ‘Oil field’. Click on to proceed.
The Survey information dialog will pop up, prompting us to provide some details about the new survey. In
name, write ‘Flowing’. Enter the surface rates Qw= 4077 stb/d, Qo=7713 stb/d, Qg= 48000 Mscf/d.
Click on the ‘Details’, , icon from the Well tool strip. In the ‘Internal Diameter’ tab define a constant ID as [0
ft. – 6.184’’].
In the Perfos tab, define the following intervals [14900 – 14940ft], [15008 – 15080ft] and [15096 – 15125 ft.]
In the Markers A tab, we will define the following depths and marker’s name: [14896 – Top Sand 1], [15007 –
Top Sand 2], [15093 – Top Sand 3]. Check the box, next to the marker’s name column.
We will proceed loading logs, using the option. Find the ’PLEX01 – General well data.las’ file, which
contains TVD vs MD, and Gamma Ray information. Click on Import.
A specific track called ‘Z’ (for ‘Zones display’) is created to show, by now, only the perforations. The Gamma
Ray and ID channels are also automatically created, and displayed in the corresponding tracks.
4. Load PL data
Emeraude can load data in DLIS, LIS, LAS, or ASCII format. The load option automatically recognizes the file
format and decodes it as appropriate. When nothing in the file is recognized, the inconsistency is pointed out
and the user is prompted to correct it. In this session the survey data consists of 6 passes, 3 up and 3 down.
They are physically stored in Log ASCII Standard (LAS) files and the file names indicate their type and index:
PLEX01 –Down1.las, PLEX01 –Down2.las, PLEX01 –Down3.las, PLEX01 –Up1.las, PLEX01 –Up2.las, PLEX01 –
Up3.las.
Click on the ‘Load’, , icon from the Survey tool strip and . Select the 6 files PLEX01*.las. You
can select all files at once with the ‘Shift’ key pressed or one after the other with the ‘Ctrl’ key pressed. You can
also click on ‘Add...’ every time a new file is selected. Be sure to enter up, down and pass numbers as
appropriate.
default, click on .
If the plots are not occupying the whole work space, use ‘Tile the plots’ to resize the tracks.
Emeraude automatically creates a plot for each channel type and each mnemonic found in the up and down
passes. All channels in a particular pass are plotted with a unique aspect corresponding to the index of the
pass in the type (red=1, green=2, etc) defined by the Display Settings.
The Marker will only be displayed in the GR track. If you want the markers to be displayed in all the tracks,
check the option , in the Markers tab of the Well details window.
All the plots can be dragged from the title bar, in order to re-arrange the layout. If a plot is dragged above the
plotting area, the plot will be hidden. Another way to manipulate the plots is explained below:
Click on the ‘Show’, , option. The list on the left shows the hidden plots, while the one on the right
shows the displayed plots. Click in Internal Diameter (ID), and using move it to the ‘Hide’ list. Using the
up and down arrows, re-arrange the order of the plots, as shown in the following image:
We will save this layout, by taking a snapshot. Click on , and then . Call this snapshot ‘PL
Data’.
The window is divided into two areas. On the left is a hierarchical tree view of the data in the file. A node in the
tree starting with a ‘+’ can be unfolded with a click on the ‘+’. The window can be attached to any side of the
application (always visible or in auto-hide mode), or can be left floating.
A node labelled ‘Log data’ contains all passes. This node in turn unfolds to show the individual pass nodes,
which contain the individual channels, or curves. Inside the survey icon also appears a ‘Data Store’ icon. The
data store is used to store copies of existing channels for data manipulation, averaging, etc. The right side of
the browser contains four tabs: List, Info, Grid, Plot vs Time, used when the selected node in the tree is a
channel.
In addition to providing a clear view of the data structure, the browser gives access to most of the Emeraude
editing options, also found in the Edit/QAQC tab. Options are selected in the browser toolbar or alternatively
with a right mouse button click in the browser window. A quick description of the browser toolbar options can
be obtained by moving the mouse successively on top of each button (without clicking).
In Tool info , define the density tool DENR as a nuclear tool. Enter the SPIN blade diameter at 3.5’’.
8. Edit/QAQC
The Edit/QAQC tab contains a series of Editing options. For the sake of the demonstration, the filter and the
derivative option will be used.
Using the ‘Pick nearest’, , icon, click on the GHHM channel. The exact position of the click is not important.
The browser will open, displaying the mnemonic and the pass selected by this option.
Click on .
The Filter dialog displays the selected curve. Clicking on , the type of filter and the window can be
selected. Let’s apply an Average filter, with a 4 ft. window. Include all the passes contained in the survey. Exit
with OK.
When exiting the Filter dialog with OK, the operation is automatically launched and the corresponding plot is
updated. Note that this operation is irreversible.
Click on in the Edit/QAQC tab. Note also that the editing options are present on the left side of the
browser.
When clicking on OK, the derivative algorithm is automatically launched, and a new plot is created to display
the calculated temperature derivative. The browser now contains a new node in
the down passes.
The temperature derivative works as a magnifying glass to amplify the temperature changes, which may be
related with fluid inflows.
Create a new PL interpretation, by clicking on the ‘Info’, , icon of the Control Panel. Accept the default
name. We will start using the Zoned method, with a strict slip model compliance. In the Spinner tab, select the
only one available.
Go to Reference Channels tab. Click on the ‘Define’, , icon and select all the down passes for the
Temperature, Pressure, Density, Gas Hold-up and Water Hold-up.
Note that by selecting all the down passes, a lateral average is created. If you hover the mouse over the Define
button, you can recall the selection made.
Using the ‘Show’ button, display the following tracks only: Depth, Zone Display, Flowmeter, Cable Speed,
Interpretation #1, Density match, Water Holdup match, Gas holdup match.
In the image above, showing the Input logs, it can be seen that the internal diameter that will be used for the
rate calculations comes from the ID loaded before, using the ‘Details’ icon. The current dataset contains a
Caliper, that can be used for the Interpretation. This can be done from the browser, drag and dropping a caliper
measurement from a pass to the Input node of the interpretation. We are not going to do this in this example.
Before accessing to the spinner calibration plot, it is necessary to indicate what data will be plotted on it, this
is, we need to create the spinner calibration zones. The rps and Cable speed data has to be steady, and also in
a constant fluid type.
Using the ‘Zone grid Editing’, , icon from the Main tab, insert manually the spinner calibration intervals. Go
to the third tab, Calibration, and enter the following: [14845 – 14865 ft.] and [15083 – 15090 ft.].
Click on ‘Calibrate’ . The Calibration plot shows the two lines corresponding to the different zones. The
active one is highlighted in red. To activate a different zone you may click on the vertical schematic, or use
the . Right click on the plot window, and a zoom option is available.
Select the bottom calibration zone, and zoom in around the point (right click in the plot to access the zoom
options):
The triangles pointing up correspond to up passes, while the ones pointing down are the down passes. The
color of the triangles is the same as the colors used in the curves.
Repeat the same procedure for the Up 3 pass. The line is automatically recomputed when a point is added or
removed.
In this dataset it’s not possible to find the spinner threshold, as there is no clear no flow zone. A value of +/- 3
ft./min will be used for both calibration zones. Therefore, we can use Calibration Mode 1:
Click on and enter a value of 3 ft./min. Repeat the same with , using a value of -3
ft./min.
We will skip the Transitions tab now, and will proceed with the generation of the apparent velocity. Clicking on
, this process is automatically launched. We will use all the passes, so the weight remains 1. Set a cut
off of 0.5 rps, to avoid the non-linear region of calibration. Also, make sure that the ‘Keep Vapp for each pass’
is checked.
Click on .
Two new tracks are created, one showing the Vapp for each of the selected curves (VASPIN), and the Velocity
match track, showing the average of all the VASPIN curves. The apparent velocity, and therefore these tracks
will be automatically updated every time the Vapp generation is launched. We will save this current Vapp to
compare it with a new one, adding Transitions between the calibration zones.
We will define the spinner calibration application zones. The slope and thresholds found in the calibration plot
corresponds only to the fluid where the spinner was immersed, in that specific calibration zone. In this survey,
the fluid changes between the upper and the lower calibration zones, however, no stable calibration intervals
were found.
Go back to Calibrate, and second tab ‘Transitions’. Select the ‘Free’ transition type, and set the Apply to and
Apply from, as shown in the picture below:
Exit with , apply to all and generate the apparent velocity with all the defaults.
The bottom calibration parameters will apply from the bottom of the logged interval to the top of the lower
orange zone. In between the two application zones, an interpolation of the calibration parameters will be
carried out.
A new fluid velocity is generated and the Velocity match track is updated. We will compare it to the previous
one.
From the drop down list of the ‘New’, , icon, select . A blank track is added on the right of the
workspace. Open the browser, and drag and drop the Fluid velocity curve under , and the one saved
in the data Store.
At this stage, we don’t use the rps and cable speed data any more. Clean the work space so it looks like the
image below, and update the ‘Interpretation channels’ snapshot.
When the PVT model is created or changed, the definition of each phase’s properties has to be performed
sequentially from left to right using the corresponding toolbar. For each phase dialog, input data are entered
and correlations are selected in the first page; each additional page is assigned a property.
In the PVT window define the fluid type as saturated oil with water. Enter 1100 cf/bbl for the solution GOR,
Water salinity = 2000 ppm, gas SG = 0.786, oil gravity = 35.5° API.
The fluid modeling consists on a black oil PVT, which is initialized by the inputs mentioned above and
correlations. These correlations can be constrained with Lab PVT data.
In the Oil window , click on the Pb tab. Then click on Constraints , and add the following Temperature vs
Bubble point values: [205 F, 4650.4 psia], [265 F – 4832.6 psia]. Accept with OK, and Match constraints .
The plot shows how the actual Lab data values are used to constraint the PVT correlations:
In the zoned method the rates are calculated only at the Rate calculation zones. As a Strict slip compliance is
used, the holdups are dictated by the slippage correlations. First, we need to define the rate calculation zones,
to be selected in regions of stable fluid velocity and holdups, and also above and below any perforation.
By default, between 2 Rate calculation zones, one inflow zone is created (in blue). As
the perforations depth was informed, the Inflow zones are of the same size than the
perforations. However, if no perforations were defined, the inflow zones will occupy
the full gap between the rate calculation zones.
Note that the perforation may not be producing homogenously from the full interval.
Therefore, the size of the inflow zone may be modified to account for the actual
contributing length. Later we will analyze whether this is necessary or not.
In the fifth tab of the Edit button, the Inflow zones are defined. Set (right click) the
inflow type of the three zones to Producing:
Now that the rate calculation zones are defined, we can proceed with the actual rate calculation.
Clicking on the ‘Rates’ , icon the ‘initialize rate calculation zones’ dialog pops-up.
In the first tab, Init, the 3 Phase L-G model is proposed, based on the PVT and reference channels. We will use
this model, with the suggested correlations.
In the Rate Calculation tab, the values displayed in the dialog correspond to a given calculation zone. Similar
to the spinner calibration dialog, a small schematic shows the active zone and can be used to change the zone
under investigation.
The measured and calculated values (shown in the ‘match’ views) are also presented, with the percentage of
error between them. If certain measurement is not to be used, for example due to bad data quality, remove
the check from . The weight of the measurement on the non-linear regression can also be controlled from
here.
To summarize, for any assumption of the rates at a given depth, and any flow correlation, we can calculate the
simulated apparent velocity, and the simulated density and holdups. Emeraude can then run a non-linear
regression in order to match measured and simulated values. The displayed values of rates result from this
calculation.
Move to the bottom zone (Zone 4) with . This zone is below the bottom most perforation zone, so it should
show zero rate. Due to a non-perfect spinner calibration, this is not the case, and some rate is predicted from
here. Click on to force this zone to zero rate (make sure that you are in zone 4).
Accept with .
Two new plots were created: QZT showing the cumulative Production, and QZI showing the contributions from
the different inflow zones. The ‘match’ views now show the simulated values, as well as the measured values.
On the top of QZT plot, a bar shows the surface reported contributions, taken to downhole rates using the
volume factors. In this case, there is a good agreement between the PLT calculated and the surface reported
rates.
To help solving the first situation we will reduce the inflows length of the top and bottom perf, and subdivide
the middle perf in small inflow zones. Go to the Edit button, fourth tab ‘Rate calculation zones’, and copy the
values below:
New inflow zones are created in the middle perforation. Go to the Inflow zones tab, and modify these inflow
zones.
The dialog displays the list of the inflow zones, and the contribution for each phase. All values in the dialog are
editable; if a value is changed the cumulative rates are recalculated. If you change a value before running
‘Global Improve’, the value can be fixed by checking the lock checkbox. Contributions from the well bottom
are zero and they do not need to be taken as variables. They are already locked.
The contributions of the different inflow zones are displayed. Note the positive and negative signs, indicating
The Global Regression starts. Values inside the grid are updated after each iteration. This time, all zones are
treated simultaneously and the unknowns are the contributions. The goal is not only to match the input
measurements, but also to satisfy the defined constraints. When the regression is over, a text at the bottom of
the dialog gives the value of the objective function, an indication of the match quality (the lower, the better).
It can be seen that the sign constraint has been honored and the Global regression ends up with the best
possible match, given those constraints and the input measurements. As in the first step of the diagnosis, it is
important to realize that the Global regression only worries about the error on the calculation zones. The match
outside of those zones is simply not considered. Therefore, everything relies on the position of the calculation
zones, and the stability of the data in those zones.
Click on the ‘Logs’, , icon. The Rate logs settings are controlled from this dialog. At the bottom, the
box offers the possibility of plotting the QZT and QZI at standard conditions. In this case,
this won’t be very convenient as the gas will expand and the oil and water won’t be visible. Leave it unchecked.
Check the box, to compute the Complete logs.
A new track, 'Q’, is generated. In the Complete log calculation, the same non-linear regression scheme as used
in Zone Rates is applied at every depth specified by the user.
This ends the interpretation using the Zoned method, and strict slip compliance. Let’s apply a different
calculation method.
From the interpretation tool strip, click on . Call this interpretation ‘Loose slip compliance’
and copy all the elements:
The Interpretation settings window pops up, with a copy of the previous interpretation settings and reference
channels. Modify the slip model compliance to Loose:
Go to the Contributions tab, and set All contribution sign to , and then .
Exiting with OK the plots are updated, and a new track is generated:
As the Loose slip compliance method allows the holdups to differ from the slip model holdup prediction, the
slip velocity match track shows the difference between the slip model predictions (solid lines) and the slip
velocities used by Emeraude (lines with markers) for liquid-gas (in red) and for oil-water (in blue). Only the
deviation from the slip models allows matching closely the holdups and the density.
Note that in this case, the calculations are still at the rate calculation depth. To consider the full data, let’s
investigate the last type of interpretation method.
The ‘Continuous’ method differs from the ‘Zoned’ method in seeking in the Global Regression an agreement
between the schematic logs and the data everywhere, and not just on the calculation zones. If we look at the
previous plots obtained, we see that schematics are ... schematic, i.e. they do not show much variation outside
inflow zones. This is linked to the fact that holdups are controlled by the slip model predictions. In order to
give the schematics the ability to reproduce the local variations seen on the data, the ‘Continuous’ method
treats the holdups as variables (in addition to the rates) but constrains them by the slip model holdup
predictions. In other words, the holdups are freed but the process tries ‘not to go too far’ from the slip model
prediction.
From the interpretation tool strip, click on . Call this interpretation ‘Continuous’ and copy
all the elements.
In the interpretation settings dialog, now change the interpretation method to Continuous:
‘Rates’ is renamed ‘Inflows’ to emphasize that the ‘Continuous’ method is really about solving at once for
the inflows, rather than solving the zones individually. The dialog takes you directly to the ‘Contributions’ tab.
Set All contribution sign to , Uncheck the ‘Constrain slippage sign’ box, and then .
The schematics are updated after each iteration and the successive rates are seen on the QZT and QZI tracks.
Finally, validate with OK.
The loose slip compliance in zone method should bring no real benefit here; it would only if we had some
phase velocities or rates, something to match against that would implicitly determine the slips. In fact, we see
that there are only very small differences between the two-zoned interpretations.
The continuous method can bring more confidence by matching the global picture better. Again, in the
absence of additional constraints or measurements that would “auto-determine” slips, the picture will not be
affected much, as we see. Of course with other measurements, or incorporating Temperature, things would be
different.
It is possible to couple the Global Regression with a pre-processing called HGA, for ‘Hybrid Genetic Algorithm’.
This pre-processing is particularly suited at avoiding local traps or finding a better starting point for the
regression. In the contributions tab, check the box.
HGA is not ‘biased’ by the starting point and it will usually start with solutions having a much higher (worse)
objective functions than the base case. Also, a Genetic Algorithm improves the solution iteratively, but unlike
a classical optimization, it does not provide a systematic improvement at each iteration. This will be translated
in the plot where new points are drawn only when there is an improvement. So the plot may seem to be halted
for some time and then start again. An automatic scaling is executed every 5 new points.
If HGA finds a solution with an objective function smaller than the base case, then after completion or
termination, this solution will be used as the new starting point of the Global Regression. If HGA stops without
such a better solution, the Global Regression starts from the base case. Note that you can stop HGA at any
point, in particular if you see that it successfully reduced the objective function.
Click on the ‘Table’, , icon. The results of the active interpretation of the current survey are reported at the
inflow zone level.
Click on the ‘Export File to folder’, , icon. Any pass or interpretation curve can be exported in LAS, LIS or
ASCII format. The image below shows how to export the Inputs and outputs of the Continuous interpretation: