Copyright 2020, Junnan Ma
Transcript of Copyright 2020, Junnan Ma
History Matching for Reservoir Simulation by Use of Semi-Automatic Iteration
Sample Method
by
Junnan Ma, B.S.
A Thesis
In
Petroleum Engineering
Submitted to the Graduate Faculty
of Texas Tech University in
Partial Fulfillment of
the Requirements for
the Degree of
MASTER OF SCIENCE
Approved
Dr. Sheldon Gorell
Chair of Committee
Dr. Habib K. Menouar
Dr. Steven K. Henderson
Mark Sheridan
Dean of the Graduate School
December, 2020
Texas Tech University, Junnan Ma, December 2020
ii
ACKNOWLEDGMENTS
I would like to express my gratitude to my supervising professor, Dr. Sheldon
Gorell, who has guided me over the years. During my thesis study, he has provided me
with continuous motivation, encouragement, guidance, and was always open to discuss
new ideas and thoughts. This enabled me to overcome all obstacles smoothly and
produce this valuable research. I also want to thank Dr. Habib K. Menouar and Dr.
Steven K. Henderson for serving on my thesis committee and for their time and valuable
suggestions.
I feel deeply grateful to the Texas Tech Graduate School and the Department of
Petroleum Engineering for offering me this study opportunity to obtain a Master’s
degree in Petroleum Engineering.
Thanks are also due to Mr. Justin Andrew and Mr. Yiran Liu from the
Department of Petroleum Engineering for their help and many discussions about their
research experience. I also would like to thank all my friends at Texas Tech University
for their support, partnership, and encouragement. Two years have gone by so fast
because of their company.
Finally, I would like to express my sincerest love and gratitude to my parents
and girlfriend for their endless love and support throughout my studies. I could not have
come this far without their patience, love, and encouragement.
Texas Tech University, Junnan Ma, December 2020
iii
TABLE OF CONTENTS
ACKNOWLEDGMENTS .................................................................................... ii
ABSTRACT ........................................................................................................... v
LIST OF TABLES ............................................................................................... vi
LIST OF FIGURES ............................................................................................ vii
CHAPTER I ........................................................................................................... 1
INTRODUCTION ................................................................................................. 1
1.1 Background ................................................................................................. 1
1.2 Research approach ...................................................................................... 2
1.3 Thesis objectives ......................................................................................... 7
1.4 Thesis organization ..................................................................................... 8
CHAPTER II ......................................................................................................... 9
METHODOLOGY ................................................................................................ 9
2.1 Model descriptions ...................................................................................... 9
2.2 The objective function............................................................................... 13
2.3 Summary of algorithm .............................................................................. 14
2.4 Parameters sensitivity................................................................................ 17
2.5 Workflow .................................................................................................. 18
CHAPTER III ..................................................................................................... 28
RESULTS ............................................................................................................ 28
3.1 Best model of Model 1 .............................................................................. 28
3.2 Best model of Model 2 .............................................................................. 37
CHAPTER IV ...................................................................................................... 46
DISCUSSION ...................................................................................................... 46
4.1 Production rates and bottomhole pressure ................................................ 46
4.1.1 Oil production rates .......................................................................... 46
4.1.2 Gas production rates ......................................................................... 47
4.1.3 Water production rates ..................................................................... 47
Texas Tech University, Junnan Ma, December 2020
iv
4.1.4 Bottomhole Pressures ....................................................................... 48
4.2 Models comparison ................................................................................... 49
4.3 Unusual fluctuation ................................................................................... 51
4.4 True parameters model .............................................................................. 52
4.5 Related theory ........................................................................................... 53
CHAPTER V ....................................................................................................... 55
CONCLUSIONS AND FUTURE STUDY ........................................................ 55
5.1 Conclusions ............................................................................................... 55
5.2 Future study ............................................................................................... 56
BIBLIOGRAPHY ............................................................................................... 57
Texas Tech University, Junnan Ma, December 2020
v
ABSTRACT
Reservoir history matching is a complicated inverse problem in the oil industry.
The goal of history matching is to minimize the difference between simulated data and
historical data, so oil companies can use this model to predict the future. The quality of
history matching can dramatically influence the economic decision of a petroleum
project. Therefore, improving the accuracy and efficiency of history matching is
essential in the petroleum industry. Traditionally, history matching is often done using
the trial-and-error method, which requires engineers to try different parameters until a
good match is obtained. History matching usually requires running hundreds of models
to get a good match, and the procedure is onerous and time-consuming. Oil companies
are always looking for new methods and algorithms to improve the history matching
procedure.
In this paper, we develop a semi-automatic history matching method by using
the idea of the hill-climbing algorithm and randomly sampling method. The goal of this
research is to prove the method is effective. The method is evaluated using two 3D
synthetic reservoir models that use production data as a condition: for model 1, was
provided with a list of 8 parameters to change to get a match; Model 2 was a variant of
Model 1, with significant changes in number of wells and other properties. For this
model, a list of 40 possible parameters to change for this match was provided. We wrote
a Python program to achieve the semi-automatic procedure. The hill-climbing
algorithm’s most significant issue is that it is very easy to be trapped in a local minimum.
This paper shows that using the randomly sampling method and hill climbing algorithm
together can significantly reduce the chance that the algorithm is trapped by a local
minimum.
The results of this research demonstrate that the method can improve the
efficiency of the history matching procedure and give a relatively good result. It can be
used as a powerful tool to perform reservoir history matching. The semi-automatic
iteration sample procedure can easily handle hundreds of runs at the same time, and it
allows us to work more efficiently with complicated reservoir models.
Texas Tech University, Junnan Ma, December 2020
vi
LIST OF TABLES
Table 2.1: Parameters changed for Model 1 ......................................................... 10
Table 2.2: Parameters changed for Model 2 ......................................................... 12
Table 2.3: Example of objective function calculation table .................................. 25
Table 3.1: History-Matching parameters of the best model for Model 1 .............. 29
Table 3.2: History-Matching parameters of the best model for Model 2 .............. 37
Table 4.1: Comparison of the History-Matching parameters of the true
model (above) with the best model (bottom) for Model 2 .................. 52
Texas Tech University, Junnan Ma, December 2020
vii
LIST OF FIGURES
Figure 1.1: Approx. number of papers on history matching prepared each
year for conferences and journals worldwide (Rwechungura et
al. 2011)................................................................................................. 2
Figure 1.2: Classification of history matching ........................................................ 4
Figure 1.3: Graph example of hill climbing (Eswarawaka et al. 2016) .................. 6
Figure 2.1: Oil saturation graph of Model 1 ......................................................... 10
Figure 2.2: Oil saturation graph of Model 2 ......................................................... 12
Figure 2.3: Graph of local minimum (maximum) and plateau (flat)
(Jacobson and Yucesan 2004) ............................................................ 16
Figure 2.4: Flow chart of workflow for history matching .................................... 18
Figure 2.5: CPU time vs. number of simulations .................................................. 21
Figure 3.1: Objective functions of best models in each set vs. iteration ............... 30
Figure 3.2: Oil production rates vs. time for the simulated data (green
lines) and the historical data (blue lines) for the best history-
matched model (bottom) and original model (top) ............................ 31
Figure 3.3: Gas production rates vs. time for the simulated data (red lines)
and the historical data (green lines) for the best history-
matched model (bottom) and original model (top) ............................ 32
Figure 3.4: Water production rates vs. time for the simulated data (deep
blue lines) and the historical data (light blue lines) for the best
history-matched model (bottom) and original model (top) ................ 33
Texas Tech University, Junnan Ma, December 2020
viii
Figure 3.5: Bottomhole pressure vs. time for the simulated data (red lines)
and the historical data (green lines) for original model (top)
and best history-matched model (bottom) for well 1 (left) and
well 2 (right) ....................................................................................... 34
Figure 3.6: Bottomhole pressure vs. time for the simulated data (red lines)
and the historical data (green lines) for original model (top)
and best history-matched model (bottom) for well 3 (left) and
well 4 (right) ....................................................................................... 35
Figure 3.7: Bottomhole pressure vs. time for the simulated data (red lines)
and the historical data (green lines) for original model (top)
and best history-matched model (bottom) for well 5 (left) and
well 6 (right) ....................................................................................... 36
Figure 3.8: Objective functions of best models in each set vs. iteration ............... 38
Figure 3.9: Oil production rates vs. time for the simulated data (green
lines) and the historical data (blue lines) for the original model
(top) and best history-matched model (bottom) ................................. 39
Figure 3.10: Oil production rates vs. time for the simulated data (red lines)
and the historical data (green lines) for the original model
(top) and best history-matched model (bottom) .............................. 40
Figure 3.11: Water production rates vs. time for the simulated data (deep
blue lines) and the historical data (light blue lines) for
original model (top) and best history-matched model
(bottom) ........................................................................................... 41
Figure 3.12: Bottomhole pressure vs. time for the simulated data (red
lines) and the historical data (green lines) for original model
(top) and best history-matched model (bottom) for well 1
(left) and well 2 (right) ..................................................................... 42
Figure 3.13: Bottomhole pressure vs. time for the simulated data (red
lines) and the historical data (green lines) for original model
(top) and best history-matched model (bottom) for well 3
(left) and well 4 (right) ..................................................................... 43
Texas Tech University, Junnan Ma, December 2020
ix
Figure 3.14: Bottomhole pressure vs. time for the simulated data (red
lines) and the historical data (green lines) for original model
(top) and best history-matched model (bottom) for well 5
(left) and well 6 (right) ..................................................................... 44
Figure 3.15: Bottomhole pressure vs. time for the simulated data (red
lines) and the historical data (green lines) for original model
(top) and best history-matched model (bottom) for well 7
(left) and well 8 (right) ..................................................................... 45
Figure 4.1: Comparison of the best objective functions in each set for
model 1 (top) and model 2 (bottom) .................................................. 49
Figure 4.2: Bottomhole pressure vs. time of the simulated data (red lines)
and the historical data (green lines) for the best history-
matched model for well 6 in model 1 ................................................. 51
Texas Tech University, Junnan Ma, December 2020
1
CHAPTER I
INTRODUCTION
1.1 Background
Reservoir history matching is a complicated inverse problem in the oil industry.
A petroleum recovery project’s economic viability can be greatly influenced by the
reservoir production performance under the current and future operating conditions.
Therefore, evaluating the past and present reservoir performance and forecast of its
future are essential in the reservoir management process (Rwechungura et al. 2011). The
goal of history matching is to minimize the difference between simulated data and
historical data so that the reservoir model can reproduce the past behavior. The historical
production data and simulated data should be matched as closely as possible. The ideal
difference is zero. Once the history matching is done, the oil company can use the model
to simulate the reservoir’s future behavior. The quality of history matching dramatically
influences the economic decision of a petroleum project. A good history matching can
give higher confidence to make an important decision in a reservoir project. Therefore,
many oil companies are giving increasing weight to history matching.
Traditionally, history matching is often done by hands, using the trial-and-error
method. Reservoir engineers analyze the difference between the simulated and observed
value and manually change one or a few parameters at a time to improve the match. In
such an approach, reservoir parameters are updated manually, and it usually requires
running hundreds of models to obtain a good match. (Mattax and Dalton 1991, Saleri
and Toronyi 1988). The procedure is onerous, time-consuming, and can be inaccurate.
This type of history matching quality largely depends on the engineer’s experience and
the budget amount. Since reservoirs are usually very heterogeneous, there are hundreds
of thousands of grid blocks in a typical reservoir simulation model to estimate reservoir
parameters in high resolution. Addition to the grid blocks, there are some other factors
Texas Tech University, Junnan Ma, December 2020
2
such as phase behavior, equilibrium information etc. that can also affect history
matching. Therefore, manual history matching is often not reliable for long periods and
is always associated with many uncertainties (Rwechungura et al. 2011). Since history
matching stands such an essential role in the oil industry, traditional history matching
procedures are often not reliable. Oil companies are always looking for new methods
and algorithms to improve the history matching procedure. Figure 1.1 below shows the
number of the papers published on history matching from 1990 to 2010, indicating a
growing interest and demand in history matching. (Rwechungura et al. 2011)
Figure 1.1 Approx. number of papers on history matching prepared each year for
conferences and journals worldwide (Rwechungura et al. 2011)
1.2 Research approach
The aspect of the reservoir history-matching problem that distinguishes it from
other parameter estimation problems in science and engineering is the large
dimensionality of both the system state and power. As a result of this large
dimensionality, computational efficiency becomes a prime consideration in the
Texas Tech University, Junnan Ma, December 2020
3
implementation of a history-matching method (Watson et al. 1980). Therefore, many
new optimization techniques have been adopted by the petroleum industry for
computer-aided history matching. The reason is that compared to the traditional trial-
and-error history matching method, the new methods can provide a more efficient and
accurate benefit. General history matching can be divided into manual, semi-automatic
and automatic history matching. Figure 1.2 shows different classification of history
matching. Starting with an initial reservoir description, these optimization techniques
automatically vary reservoir parameters until stopping conditions are achieved, and a
history match of field performance is obtained. This process is known as “automatic
history matching.” (Tavassoli et al. 2004) And yet, such automatic history matching
techniques are not easy to handle: they may get unstable if used carelessly, and their
results are not always easily interpretable.
Texas Tech University, Junnan Ma, December 2020
4
Figure 1.2 Classification of history matching
History matching is a complicated process. The potential matching parameters
are large, and the relationship between input and output is non-linear. This non-linear
entry makes history matching processes and results not always predictable. Any mistake
can happen during the matching process. The process can then be stopped at any
iteration without having to perform useless reservoir simulations. The idea is semi-
automatic history matching (ory et al. 1997). The semi-automatic history matching is a
process where most of the heavy work is done by the simulation and related algorithm,
but it still requires human inputs to help to direct the path of the optimization. Using
semi-automatic processing, history matching can be performed much faster than the
History Matching
Automatic History
Matching
1. Construct a mathmatical model
2. Define an objective function
3. Apply a minimization allgorithm
Semi-Automatic History
Matching
1. Construct a mathmatical model
2. Define an objective function
3. Apply a minimization allgorithm
4. Human intervention
Manual History Matching
Texas Tech University, Junnan Ma, December 2020
5
conventional trial-and-error method. It is handled by the engineer. An engineer can stop
the process at any time, any iteration if there is an error occurred.
The other aspects that make the reservoir history-matching problem so
complicated are large dimensionality, phase behavior, and equilibrium information etc.
In a real-world case, reservoirs are heterogeneous. This heterogeneous indicates huge
numbers of parameters in the model, and the response to variation of the parameters is
non-linear. This complex relationship requires engineers to run hundreds of models to
obtain a good match. It may spend days working on the problem for engineers using the
conventional history method. However, the semi-automatic procedure can easily handle
hundreds of runs at the same time and allows us to work more efficiently with large
parameters reservoir models.
History matching is an optimization problem. There is significant active research
on optimization problems in many other scientific and engineering areas. While many
techniques from other fields, such as genetic algorithms, differential evolution, particle
swarm optimization, and the ensemble Kalman filter have been tried in the oil industry,
more recent and effective ideas have yet to be tested (Abdollahzadeh et al. 2013). One
of these relatively untested ideas is an artificial intelligence algorithm known as hill
climbing search algorithms (HCSA). Hill climbing search algorithm is an algorithm
used for mathematical optimization problems in the field of artificial intelligence (AI).
The Hill climbing search algorithm tries to find number of solutions to a specific
question by using a provided input set and a mathematical function. For hill climbing
algorithm, we are given a state of the model with the parameters we decide to change.
Then we look in all direction, and we change the state based on the steepest value that
will help us to get a better optimization. Hill climbing is used for mathematical
optimization problems, which means it solves the problems we need to maximize or
minimize a given real function by choosing values from the given inputs (Russell and
Norvig 2003). The goal of history matching is to minimize the difference between
simulated data and historical data, and this makes the hill climbing algorithm suitable
Texas Tech University, Junnan Ma, December 2020
6
for the history matching problems. Figure 1.3 illustrate the process of hill climbing. It
starts with a steepest value, but it then gets stuck by a local minimum. That is why if we
perturb the solution, we can often get out of the local minimum until we find the best
answer. Hill climbing can solve maximization problems. However, as what we see in
figure 1.3, it illustrates how hill climbing solves a minimization problem.
Figure 1.3 Graph example of hill climbing (Eswarawaka et al. 2016)
Using a hill climbing algorithm, two problems should be overcome. First, it
should give a good solution in a reasonable time range, but the solution may not be a
global minimum or maximum. Second, the hill climbing search algorithm is easy to get
Texas Tech University, Junnan Ma, December 2020
7
stuck at a local minimum. A global maximum is the best possible state in the state space
diagram. This because at this stage, the objective function has the lowest/highest value.
A local minimum is a state which is better than its neighboring state however there
exists a state which is better than it (global maximum). This state is better because here
the value of the objective function is lower/higher than its neighbors. (Russell and
Norvig 2003) To solve these problems, we apply a random sampling method (RSM) to
the algorithm. Random sampling is a part of the sampling technique in which each
sample has an equal probability of being chosen. A randomly chosen sample is meant
to be an unbiased representation of the total population (Taherdoost 2015). Randomly
sampling is one of the most important methods of collecting data from the total
population. Instead of choosing all neighbor data, we can randomly choose data from a
relatively large area. This randomly choosing makes the history matching process more
efficient and avoids being trapped by the local minimum. The other advantage of using
this method is instead of giving just one best result, it gives a range of good solutions.
Once we have enough good solution, we can determine the global minimum.
1.3 Thesis objectives
This paper introduces a semi-automatic history matching method using the idea
of the hill climbing search algorithm (HCSA) and random sampling method (RSM). We
write a Python program to achieve the semi-automatic procedure. The workflow chart
will be introduced in a later chapter. This research aims to introduce the detail of the
method and prove the method is effective. To test the method, we have created synthetic
production data from a variation on the starting model and gave a list of parameters that
might need to be changed. Model 1 is used to construct and test the automatic process
of the method, and we were told there are 8 history matching parameters in the model
and what these parameters are. Model 2 is used to test the application of the method.
We did not know how many and what parameters to use, but we have gotten a hint that
it could be up to 40 parameters should be changed in this model, and the potential
Texas Tech University, Junnan Ma, December 2020
8
parameters should from Permeability, Porosity, parameters for the relative
permeabilities and capillary pressures, Equilibrium information, and bubble point
pressure. The model detail will be introduced in a later chapter.
1.4 Thesis organization
In order to make the thesis clear and organized, this thesis follows the order
below, which can be divided into four chapters:
Chapter 2 is the methodology. It outlines the workflow carried out in the project
and gives the specific details of the reservoir model used to test the method. This chapter
also introduces the hill climbing algorithm and random sampling method in more detail
and how they work as a proper history matching method.
Chapter 3 describes the results of the thesis. It provides numbers of experimental
data, diagrams, and tables and explains the properties and purpose of this information.
Besides, it also compares the models before and after history matching.
Chapter 4 gives a discussion section. It compares two reservoir models. We
apply the same history matching method to both models. The comparison result can tell
us how the semi-automatic history matching method performs on both models. The
model with smoother result means the semi-automatic process performs more
successful. How the information of figures should be interpreted is included in this
chapter. This chapter also explains some unexpected results relate to what other
engineers that found in the past.
Chapter 5 summarizes all findings in this research and gives conclusions. It
shows how the research results answer the question from the beginning and state
limitations of this thesis’s work. In the end of this section, this chapter gives suggested
future research.
Texas Tech University, Junnan Ma, December 2020
9
CHAPTER II
METHODOLOGY
2.1 Model descriptions
To test the history matching method, we create two 3D three-phase reservoir
models. We have created synthetic production data from a variation on the starting
model and gave a list of parameters that might need to be changed. Model 1 is used to
construct and test the automatic process of the method, and we were told there are 8
history matching parameters in the model and what these parameters are. Model 2 is
used to test the application of the method. To ensure the accuracy of the research, the
model is complex mimicking real case models. We did not know how many and what
parameters to use in this model, but we have gotten a hint that it could be up to 40
parameters should be changed in this model, and the potential parameters should from
Permeability, Porosity, parameters for the relative permeabilities and capillary pressures,
Equilibrium information, and bubble point pressure. As a result, we change 40 possible
parameters to obtain a good match.
Model 1 is a 50 × 50 × 10-grid blocks, three-phase, heterogeneous reservoir
model. It has 6 production wells, and all these wells are vertical. The wells are located
in the middle and upper areas. The reservoir contains 10 layers, and there is no fault in
the reservoir. Oil-water contact is at 8210 feet, and bubble point pressure is 4100 psi.
The wells were produced from the year 2010 to 2017. Figure 2.1 is the oil saturation
graph of Model 1. As we mentioned, for model 1, was provided with a list of 8
parameters to change to get a match. This was to test the method. The 8 changed history
matching parameters are contained in table 2.1.
Texas Tech University, Junnan Ma, December 2020
10
Figure 2.1 Oil saturation graph of Model 1
Table 2.1 Parameters changed for Model 1
Index Parameters
1 Permx4
2 Permx5
3 Permx8
4 Porv Right
Texas Tech University, Junnan Ma, December 2020
11
(Table 2.1 Continued)
5 Porv Middle
6 Porv Left
7 Pcowmax
8 Pcowexp
Model 2 was a variant of Model 1, with significant changes in number of wells
and other properties. For this model, a list of 40 possible parameters to change for this
match was provided. Model 2 is a 50 × 50 × 10 -grid blocks, three-phase,
heterogeneous reservoir model. It has 8 production wells, and all these wells are vertical.
The wells are located in the middle and upper areas. The reservoir contains 10 layers,
and there is no fault in the reservoir. Original oil-water contact is 8210 feet, and the
original bubble point pressure is 4100 psi. The production wells were produced from
the year 2010 to 2020. Figure 2.2 is the oil saturation graph of Model 2. The difference
between Figure 2.1 and 2.2 is that the oil saturation of Model 1 is larger than Model 2.
In addition, Model 2 has more production wells than Model 1. Model 2 is used to test
the application of the method, and we treat this model as a real case model. We did not
know how many and what parameters to use in this model, but we have gotten a hint
that it could be up to 40 parameters should be changed in this model, and the potential
parameters should from Permeability, Porosity, parameters for the relative
permeabilities and capillary pressures, Equilibrium information, and bubble point
Texas Tech University, Junnan Ma, December 2020
12
pressure. As a result, we changed 40 possible parameters in this model. The 40 changed
parameters are showed in table 2.2.
Figure 2.2 Oil saturation graph of Model 2
Table 2.2 Parameters changed for Model 2
Index Parameters Index Parameters
1 Permx 1 21 Porosity 1
2 Permx 2 22 Porosity 2
3 Permx 3 23 Porosity 3
4 Permx 4 24 Porosity 4
5 Permx 5 25 Porosity 5
6 Permx 6 26 Porosity 6
7 Permx 7 27 Porosity 7
8 Permx 8 28 Porosity 8
9 Permx 9 29 Porosity 9
Texas Tech University, Junnan Ma, December 2020
13
(Table 2.2 Continued)
10 Permx 10 30 Porosity 10
11 Krwo0 31 Krow0
12 Swc 32 Sorw
13 Woexp 33 Owexp
14 Pcowmin 34 pcowmax
15 Pcowexp 35 Krgo0
16 goexp 36 Ogexp
17 sgc 37 Sorg
18 Pcgomax 38 Pcgomin
19 pcgoexp 39 Initial pressure
20 OWC 40 PBVD
2.2 The objective function
The definition of objective function depends on the observed variables available
and is defined as the amount of discrepancy between observation data such as seismic
survey, reservoir production historical data, field pressure, and the simulator response
for a given set of parameters. To calculate the objective function, it is necessary to know
the distance between the simulated curves and observed data related to each parameter
included in the process (Dadashpour 2009).
In this thesis, we use least-square formulation as our objective function. The
least-square formulation is also commonly used as an objective function in history
matching problems.
The equation below is the objective function we use in this thesis:
𝑂𝐹 = ∑ ∑ √∑𝑊𝑖𝑗𝑘
𝑁𝑖𝑗𝑘
𝑁𝑡
𝐾=1
× (𝑠𝑖𝑚𝑖𝑗𝑘 − 𝐻𝑖𝑠𝑡𝑖𝑗𝑘
𝐹𝑎𝑐𝑡𝑜𝑟𝑖𝑗𝑘)2
𝑁𝐴𝑇𝑇𝑖
𝑗=1
𝑁𝑊
𝑖=1
Texas Tech University, Junnan Ma, December 2020
14
Where i is well, j is attribute, and k is time. NW represents the number of wells. NATT
is the number of attributes; in this research, the attributes are oil production rate, water
production rate, gas production rate, and bottomhole pressure. Nt is the number of time-
steps. Model 1 was produced from Jan 2010 to Jan 2017, so the time-steps (Nt) are 85
(month). W is individual weights for each measurement; in this research, we assume the
weight is 1. Sim represents simulated data, and Hist is historical data. To make the result
dimensionless, we divided it by a value factor. A value factor can be a standard deviation
of historical data, mean of historical data, etc. In this research, we use the mean of
historical data as our value factor.
2.3 Summary of algorithm
Before discussing the research workflow, we want to introduce more about the
hill climbing algorithm and randomly sampling method, and how we use them in our
method.
The Hill climbing algorithm is an informed search method. It uses information
around the search space to search in a reasonably efficient manner. The advantage of a
hill climbing algorithm is that it always moves towards an optimal solution. With a good
objective function, it will find the closest path to the goal. The name “hill climbing”
comes from how this algorithm works. It simulates a hiker climbing the hill. The hiker
loses his way in a mountain at night and is trying to climb to the top of the hill. Stepping
up is the only way he can steps towards the top, even if he cannot see the path. (Jacobson
and Yucesan 2004)
The general steps for the hill climbing algorithm is as follows:
1. Start with an initial model
2. Select an operator that can generate a new model
3. Choose an objective function to evaluate this model
4. If the model is worse, ignore the model; if the model is better, continue with the
Texas Tech University, Junnan Ma, December 2020
15
new model
5. Repeat 2 until reaching the goal
Our workflow is generated based this general-steps, and we will introduce our
workflow chart in Section 2.5. The general-steps above shows that the hill climbing
algorithm is quite simple, and the key for this algorithm is having a reasonable objective
function and a reasonable evaluation mechanism. This algorithm is sensitive to the
initial state. Use randomly sampling method to search a large neighborhood and
applying a random solution to minimize the chance of getting a bad set of initial
solutions.
There are some issues in this algorithm that can be solved by applying a
randomly sampling method to it. The major problems in the hill climbing algorithm are
local minimum and plateau. A local minimum is a point that the value of this point is
better than its neighbors, but there exists some other point which has a better value than
this point. Plateau is a point where all neighboring points have similar or the same values,
so it is hard to find a best path of optimization. One solution we can use is backtracking.
Backtracking to some earlier set and try to use other different paths to reach the goal
point. Applying a randomly sampling method to hill climbing algorithm can also
decrease the chance of being trapped by a local minimum or plateau. It enlarges the
search area and increases efficiency by reducing useless points selection. Figure 2.3
shows what is a local minimum (maximum) and what is a plateau.
Texas Tech University, Junnan Ma, December 2020
16
Figure 2.3 Graph of local minimum (maximum) and plateau (flat) (Jacobson and
Yucesan 2004)
Once the problem can be solved, hill climbing algorithm’s property makes it a
suitable algorithm for history matching. The most significant advantage is it is simple.
Some other artificial intelligence algorithms can be used for history matching, but many
of them are extremely complicated. With understanding the theory of hill climbing
algorithm, anyone can use this algorithm. The second advantage is efficiency. With a
reasonable initial state and objective function, the algorithm can find a good solution
within a reasonable time range. The third advantage is instead of giving one result, the
method gives a range. Tavassoli et al. (2004) report a good fit for the production data
does not necessarily have a good estimation for the reservoir’s parameters, which means
the parameters we generate from a good fit of the production data may not be the true
parameters we want. Therefore, using the parameters to predict the future behavior of
the reservoir model may lead to a bad forecast. This history matching method generate
many results with similar production data fit but different parameters. Multiple results
Texas Tech University, Junnan Ma, December 2020
17
have a better chance to get a range of estimates of future production and give a more
valuable forecast than conventional history matching.
2.4 Parameters sensitivity
Sensitivity analysis is the study to measure the impacts of fluctuations
in parameters of a mathematical model or system on the outputs or performance of the
system. In other words, sensitivity analysis can be employed to apportion the changes
in outputs of a system to different sources of uncertainty in its inputs. (Saltelli 2002) If
we choose N parameters in reservoir simulation, we should pick three values for each
parameter, high, medium, and low. Parameters sensitivity analysis requires us first run
base case with all medium value. Then, run simulations for each case for only changing
the medium value to high value and medium value to low value. In this way, we can see
how the single parameter affects the whole model. If we have N parameters in a model,
the number of runs to do a sensitivity analysis are:
𝑇𝑜𝑡𝑎𝑙 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑟𝑢𝑛𝑠 = 2 × 𝑁 + 1
We do sensitivity analysis in reservoir simulation because there are extensive unknown
parameters, and the total number of the permutation is too large for some cases.
However, one of the benefits of semi-automatic history matching is that it can easily
handle many parameters. People usually do sensitivity analysis before the history
matching. We did not do the sensitivity analysis before the history matching process,
but we did something similar to the parameters sensitivity. For Model 2, there are 40
parameters we have changed, which is a large number. During the research, instead of
changing all parameters, we sometimes only change several parameters to see if the
results become better. We find that keep some parameters the same and only change
some other parameters make the objective function decrease faster than changing all
parameters at the same time.
Texas Tech University, Junnan Ma, December 2020
18
2.5 Workflow
Figure 2.4 Flow chart of workflow for the history matching method
Texas Tech University, Junnan Ma, December 2020
19
Figure 2.4 is the workflow chart of this research. We use the idea of hill climbing
and randomly sampling method into this workflow. From the “base case” part to the
“run RSM reader” part can be seen as a data screening, and objective function
calculation and comparison are data evaluation. We compare the current smallest
objective with the previous objective function. If the result is getting better, we can
continue work with the current model. If the result is getting worse, we ignore the
current model and move to the next best model in the set. Keep doing an iterative work
until either the objective function becomes zero or the objective function does not
change anymore. This process can save lots of workforce and time. The detail of this
workflow is as follows:
1. Base case. A history matching process always start with generating a base case.
A base case is an original reservoir model. This means we do not change any
parameters in the base case. To generate a base case, we need to put historical
data to the model, so the historical data can be well constraints for the model. In
this step, we run a base case and calculate an objective function of it. We will
use the production rate graph and the objective function of the base case to
compare with the best model in the later section to show the quality of the history
matching.
2. Determine the number of models per set. The next step is to determine the
number of simulations per set, so the computer knows how many simulations it
should run each time. This number is a key part of the research. If the number of
simulations is less, the speed of simulation is fast. However, fewer simulations
mean smaller search areas and less data selection, which will decrease the
simulation’s accuracy. When we said accuracy, we talked about the chance of
sampling a better point from search area. If we use a large number of models,
more models do not mean any more accurate. In addition, the speed of simulation
Texas Tech University, Junnan Ma, December 2020
20
is decreased, and this will reduce the efficiency of the simulation. In order to
balance between accuracy of sampling a better point and efficiency, a simulation
numbers sensitivity analysis is done. In this sensitivity, we compare 30
simulations per set, 50 simulations per set, 100 simulations per set, 200
simulations per set, 300 simulations per set, and 500 simulations per set vs. CPU
(computation) time. For 30 and 50 simulations per set, CPU time is less, but it
may miss sampling some better points. 200 simulations per set seems good for
both sampling good points and CPU time. However, its accuracy does not
increase much and CPU time double compare to 100 simulations per set. For
300 and 500 simulations per set, their CPU time are high. As the number of
simulations increase, the CPU time increases linearly. 500 simulations per set
require too much time to operate. As a result, 100 simulations per set is a
reasonable number to use. It balances accuracy of sampling good points and
efficiency (CPU time). Figure 2.5 is CPU time vs. number of simulations graph
for both models. Since two models have a similar CPU time, we plot one graph
to present both models. In the graph, the unit of CPU time is second. The Points
of the graph are CPU time of 30, 50, 100. 200, 300, 500 simulations. The CPU
time of one model is 82 second. As we increase the number of simulations, the
CPU time increase linearly. The CPU time of 100 models is 8200 second, which
is 2.3 hrs. The CPU time of 500 models is 41000 second, which is 11.4 hrs. If
we decide to use 500 models per set, the CPU time is too long.
Texas Tech University, Junnan Ma, December 2020
21
Figure 2.5 CPU time vs. number of simulations
3. Choose parameters. Once we determine how many models we want to run in
each set, the next thing we should do is to decide what parameters to change
during history matching process. As we mentioned in the model description
section, we were told there are 8 history matching parameters and what these
parameters are for Model 1. As a result, we do not have to worry about Model 1.
The parameters we change for Model 1 are in table 2.1. For Model 2, we were
told it could be up to 40 parameters should be changed in the model, and we
have also got a hint that the potential parameters may from Permeability for any
layer, Porosity for any layer, Any parameters for the relative permeabilities and
capillary pressures, Equilibrium initial pressure, Equilibrium Water Oil Contact
and Bubble Point Pressure. Based on this information, we choose 40 possible
parameters to change. The parameters we change for Model 2 are in table 2.2.
Texas Tech University, Junnan Ma, December 2020
22
4. Determine the proper parameter range and pick parameters from the range.
Since we run 100 simulations at the same time, there are 100 results generated.
The parameter range determination is between “best model” in the current set
with “best model” from the last set. This part can be divided into two cases. The
first case is in initial set, because there is no “best model” from the last set, the
only principle is that we should make the search area as large and reasonable as
possible. For instance, oil-water contact changing should not exceed too much
from the original number, because oil water contact can affect OOIP (original
oil in the place).
The second case is for the sets other than the initial set, the distance
between the current “best model” with the previous “best model” is the key part
of determining the parameter range. we use the distance formula to calculate the
dimensionless distance between two-model. The distance formula is:
𝑑 = √(𝑥2 − 𝑥1)2 + (𝑦2 − 𝑦1)2 + (𝑧2 − 𝑧1)2
Where d is the distance, 𝑥2, 𝑦2, 𝑧2 are parameters in the current set,
𝑥1, 𝑦1, 𝑧1 are parameters in the last set. We try 3 different ways to determine the
parameter range.
First, we calculate the dimensionless distance between the current “best
model” with the previous “best model”. We use this distance as a radius
and the current best answer as a center to draw a circle. This circle is our
search area, and we pick parameter values from this range.
Second, we calculate the dimensionless distance between the current
“best model” with the previous “best model”. and add 10% to this
distance to make this new distance slightly larger than the original
distance. We use this distance as a radius and the current best model as a
Texas Tech University, Junnan Ma, December 2020
23
center to draw a circle. This circle is our search area, and we pick
parameter values from this range.
Third, we calculate the dimensionless distance between the current “best
model” with the previous “best model” and minus 10% to this distance
to make the new distance slightly smaller than the original distance. We
use this distance as a radius and the current best answer as a center to
draw a circle. This circle is our search area, and we pick parameter values
from this range.
When We test our semi-automatic history matching method on model 1,
we try all 3 method to determine the search area. Third method works best, and
it usually give a better result than other two method. As a result, we only use the
third method to determine search area in model 2.
5. Data files generation. This part is an automatic process done by a Python
program that was written, which duplicates the template data file and generates
100 copies. Then, the specific characters in these data files are replaced to some
random numbers, and the random numbers are sampling from the range that we
have done in step 4.
6. Run simulator. All simulations in this research are run in Schlumberger
reservoir simulator ECLIPSE (E100). ECLIPSE can be operated by Python and
perform automatically once valid data files are provided. The data files
generated from the step 5 is in ECLIPSE format.
7. Run RSM reader. RSM file is a file type generated by ECLIPSE simulator. It
is a good identification that if a successful simulation is performed. All data we
need for objective function calculation is contained in the RSM file. RSM reader
is a software developed by TTU faculty and student, and It uses the open-source
Texas Tech University, Junnan Ma, December 2020
24
program Python. It is extremely useful for analyzing and plotting simulator
results. RSM reader allows us to extract specific data from the RSM file and
transfer it to a CSV file used in Microsoft Excel. This process makes our work
much easier.
8. Objective function calculation. Once data is extracted from the RSM file and
transfer to the CSV file, we can calculate the objective function. The objective
function is an index that measures the quality of history matching. A smaller
objective function means better quality of history matching. The goal of the
objective function is zero. However, we do not expect zero objective-function in
real life. The objective function itself is hard to interpret, and it should evaluate
with some plots together. In this research, the historical data we use are the
historical oil production rate, historical gas production rate, historical water
production rate, and historical bottomhole pressure. The calculation process is
also done by a Python program that was written, and the order of operation is as
follows:
1. Determine the number of time-steps and value factors for each attribute.
2. Assume the weight factor w is 1. Simulated data minus historical data
and then divide by value factors. Square the results, time weight factors,
divide by the number of time-step, then square root the results.
3. The results of last step are the objective function of every time-step. For
model1, there are 85 time-steps. We sum 85 objective functions up, and
this result is the objective function for every well.
4. Finally, we sum up all wells. The result is the objective function for each
simulation. Table 2.3 is one of the Excel table to calculate the objective
function. Because the whole Excel table is too large, we have deleted
some column before we put this table into the paper. In Table 2.3, the last
column is the objective function for each model in a set.
Texas Tech University, Junnan Ma, December 2020
25
Table 2.3: Example of objective function calculation table
Texas Tech University, Junnan Ma, December 2020
26
9. Evaluate the objective function. Once we calculate the objective functions, we
sort all the results and choose the smallest objective function. Compare this
result to the best result from the previous simulations set. If this objective
function result is better, it becomes the current state. We continue to work with
this result, go back to the step 4 and do the workflow iterative until the objective
function becomes 0, or until it cannot be minimized. If the objective function is
not getting better than the previous best model, the workflow goes to step 10.
10. Choose the second “best model” and backtrack. As we mentioned earlier, this
algorithm can be trapped by a local minimum. Although applying a randomly
sampling method to the algorithm can decrease the chance to be trapped by the
local minimum, this issue still occurs sometimes. Once the local minimum traps
the algorithm, we may not find better results in the next few simulations sets.
When this happens, we may want to choose another path to move forward. In
this research, choose another path to move forward presents choose second “best
result”. If the second “best result” still gives no better points, we can choose the
third “best result”, fourth “best result “… as long as the result is better than the
“best result” in last simulation sets. If all the models in the last set give bad
results, we need backtrack to earlier simulation sets. It is like we miss and go
into a dead end, and all we need do is going back to the intersection and choose
another way to try. Same as what we do for this research. We backtrack to an
earlier set and try. If it does not work, we backtrack to earlier sets and so on until
we find another better result. Then, we can go back to the step 3 and follow the
iterative workflow.
There is another problem that should be addressed, Plateau (flat local
minimum). During the research process, we encounter a situation like this: the
results of several history matching sets are very closed to each other. The results
are getting better, but the improvement is too small. The solution backtrack is
Texas Tech University, Junnan Ma, December 2020
27
used to solve the local minimum. In the situation as the improvement being too
small, we need a big jump in some direction. A big jump can make us get a new
search area to get rid of the plateau problem.
To connect all the steps in the workflow together, we have a clear image
that how this semi-automatic process processes. Starting with an initial model
set, we first determine there are 100 models in each set during history matching
process. We want to make the search area of each model in the initial set as large
as possible. Then using the ECLIPSE simulator to run the models in the initial
set and calculate the objective function for each model. After the calculation, we
choose the model with smallest objective function in the set and use the method
we mention in the step 3 to restrict the search area, sampling parameters from
this search area. We use these parameters to generate a new model set and
calculate the objective function for each model. Choose the best model from the
set and compare it with the best model from last set. If the objective function is
getting smaller, we use this model as a best model and continue work with it. If
the objective function is not getting smaller, we ignore the model and backtrack
to last set to choose next best model. We keep doing this iteration until either
the objective function become zero or the objective function does not change
anymore.
Texas Tech University, Junnan Ma, December 2020
28
CHAPTER III
RESULTS
In this chapter, we present the results of history matching by using the new
method. A model with the best match to the historical production data is the best history-
matched model, which also means a model with the smallest objective function.
However, as we mentioned earlier, the objective function itself is hard to interpret. We
should provide matched graphs to show how good the models match, and the graphs are
the most straightforward ways to determine the effect of the new method.
3.1 Best model of Model 1
For Model 1, we run 113 simulations sets in total to get the best history-matched
model. The best history-matched model is in sets 100, and the objective function of the
best model is 5.47. The number of the history-matching parameters we changed for this
model are 8. The properties of the best model are in table 3.1. The permeabilities and
pore volumes in this table are multipliers.
Texas Tech University, Junnan Ma, December 2020
29
Table 3.1 History-Matching parameters of the best model for case 1
Parameters Data
Permx for Layer 4 0.00249
Permx for Layer 5 11.577
Permx for Layer 8 3.589
Porv Right 0.509
Porv Middle 69.816
Porv Left 11.919
Pcowmax 15
Pcowexp 15
Texas Tech University, Junnan Ma, December 2020
30
Figure 3.1 below is the objective function of the best models in each set vs. iterations
for Model 1.
Figure 3.1 Objective functions of the best models in each set vs. iteration
Figure 3.2 to 3.4, we plot the oil, gas, and water production rates vs. time (days)
graphs for both the simulated data and historical data. We also plot the production rates
vs. time graphs for the original model to compare the original models and simulated
models (best history-matched model).
Texas Tech University, Junnan Ma, December 2020
31
Figure 3.2 Oil production rates vs. time for the simulated data (green lines) and the
historical data (blue lines) for the best history-matched model (bottom) and original
model (top)
Texas Tech University, Junnan Ma, December 2020
32
Figure 3.3 Gas production rates vs. time for the simulated data (red lines) and the
historical data (green lines) for the best history-matched model (bottom) and original
model (top)
Texas Tech University, Junnan Ma, December 2020
33
Figure 3.4 Water production rates vs. time for the simulated data (deep blue lines) and
the historical data (light blue lines) for the best history-matched model (bottom) and
original model (top)
Texas Tech University, Junnan Ma, December 2020
34
Figure 3.5 through 3.7 are bottomhole pressures vs. time (days) graphs for both
simulated data and historical data for each well. Bottomhole pressure is only based on
each well, so there is no field bottomhole pressure. There are 6 production wells in this
case. As a result, more figures are made to demonstrate the fitting condition for
bottomhole pressures than production rates.
Figure 3.5 Bottomhole pressure vs. time for the simulated data (red lines) and the
historical data (green lines) for original model (top) and best history-matched model
(bottom) for well 1 (left) and well 2 (right)
Texas Tech University, Junnan Ma, December 2020
35
Figure 3.6 Bottomhole pressure vs. time for the simulated data (red lines) and the
historical data (green lines) for original model (top) and best history-matched model
(bottom) for well 3 (left) and well 4 (right)
Texas Tech University, Junnan Ma, December 2020
36
Figure 3.7 Bottomhole pressure vs. time for the simulated data (red lines) and the
historical data (green lines) for original model (top) and best history-matched model
(bottom) for well 5 (left) and well 6 (right)
Texas Tech University, Junnan Ma, December 2020
37
3.2 Best model of Model 2
For Model 2, Since the model is more complicated than Model 1, we run 132
simulations sets in total to get the best history-matched model. The best history-matched
model is in sets 125, and the objective function of the best model is 6.9. The numbers
of the history-matching parameters we changed for this model are 40, and the best model
properties are in table 3.2. The permeabilities and porosities in this table are multipliers.
Table 3.2 History-Matching parameters of the best model for Model 2
Parameters Data Parameters Data
Permx 1 0.123 Porosity 1 2.180
Permx 2 0.54 Porosity 2 0.426
Permx 3 1.235 Porosity 3 0.766
Permx 4 0.298 Porosity 4 0.105
Permx 5 1.749 Porosity 5 0.428
Permx 6 0.758 Porosity 6 0.227
Permx 7 0.348 Porosity 7 0.971
Permx 8 0.583 Porosity 8 0.435
Permx 9 0.009 Porosity 9 0.461
Permx 10 1.58 Porosity 10 1.576
Krwo0 0.288 Krow0 0.699
Swc 0.2697 Sorw 0.113
Woexp 0.663 Owexp 0.946
Pcowmin 0 pcowmax 86.30
Pcowexp 4.48 Krgo0 0.59
goexp 2.23 Ogexp 2.20
sgc 0.036 Sorg 0.11
Pcgomax 4.73 Pcgomin 0
pcgoexp 2.65 Initial pressure 3789.017
OWC 8192.097 PBVD 4181.317
Texas Tech University, Junnan Ma, December 2020
38
Figure 3.8 below is the objective function of the best models in each set vs. iterations
for Model 2.
Figure 3.8 Objective functions of the best models in each set vs. iteration
Figure 3.9 through 3.11 shows the oil, gas, and water production rates vs. time
(days) graphs for both the simulated data and historical data. We also plot the production
rates vs. time graphs for the original model to compare the original models and
simulated model (best history-matched model).
Texas Tech University, Junnan Ma, December 2020
39
Figure 3.9 Oil production rates vs. time for the simulated data (green lines) and the
historical data (blue lines) for the original model (top) and best history-matched model
(bottom)
Texas Tech University, Junnan Ma, December 2020
40
Figure 3.10 Oil production rates vs. time for the simulated data (red lines) and the
historical data (green lines) for the original model (top) and best history-matched
model (bottom)
Texas Tech University, Junnan Ma, December 2020
41
Figure 3.11 Water production rates vs. time for the simulated data (deep blue lines)
and the historical data (light blue lines) for the original model (top) and best history-
matched model (bottom)
Texas Tech University, Junnan Ma, December 2020
42
Figure 3.12 through 3.15 are bottomhole pressures vs. time (days) graphs for
both simulated data and historical data for each well. Bottomhole pressure is only
based on each well, so there is no field bottomhole pressure. We have 8 production
wells for Model 2. As a result, more figures are made to demonstrate the fitting
condition for bottomhole pressure than production rates.
Figure 3.12 Bottomhole pressure vs. time for the simulated data (red lines) and the
historical data (green lines) for original model (top) and best history-matched model
(bottom) for well 1 (left) and well 2 (right)
Texas Tech University, Junnan Ma, December 2020
43
Figure 3.13 Bottomhole pressure vs. time for the simulated data (red lines) and the
historical data (green lines) for original model (top) and best history-matched model
(bottom) for well 3 (left) and well 4 (right)
Texas Tech University, Junnan Ma, December 2020
44
Figure 3.14 Bottomhole pressure vs. time for the simulated data (red lines) and the
historical data (green lines) for original model (top) and best history-matched model
(bottom) for well 5 (left) and well 6 (right)
Texas Tech University, Junnan Ma, December 2020
45
Figure 3.15 Bottomhole pressure vs. time for the simulated data (red lines) and the
historical data (green lines) for original model (top) and best history-matched model
(bottom) for well 7 (left) and well 8 (right)
Texas Tech University, Junnan Ma, December 2020
46
CHAPTER IV
DISCUSSION
We have exposed the principles of a semiautomatic history matching technique
based on the iterative sampling method. Instead of automatically letting the computers
perform all the iterations automatically until optimization, we make the process stop at
each iteration and let engineers direct the path of optimization. The change is performed
under the idea of a hill climbing algorithm and randomly sampling method. This chapter
explains the results and interprets the data in the results chapter, and it also evaluates
the importance of the research. In this chapter, we compare Model 1 with Model 2 to
see the results between them. Since we apply the same method to both models, we want
to do a comparison to see how the method works in each model. From the results
explanation and models comparison, we can point out some limitations of our research.
At the end of this chapter, we discuss a find related to other theory.
The permeabilities, pore volumes, and porosities in both tables 2 & 3 are
parameters multiplier. The original parameters must multiply these multipliers, and the
results of the multiplication are the parameters that the simulator used as simulation
parameters. In other words, 0.00249 in table 2 does not mean permeabilities in layer 4
is 0.00249. It means the permeabilities in layer 4 become 0.00249 times of the original
number.
4.1 Production rates and bottomhole pressure
4.1.1 Oil production rates
Figure 3.2 is oil production rates vs. time graph for Model 1. The first thing is
always to match the oil production in a history matching. If the oil production rates
cannot be matched, there must be something wrong. In the original model, the simulated
data’s oil production rate is lower than historical data from day 800 to day 1600. After
Texas Tech University, Junnan Ma, December 2020
47
history matching, this problem is solved, and the matching between simulated data and
historical data is perfect.
Figure 3.9 is oil production rates vs. time graph for Model 2. Both the original
model and best history-matched model match well.
4.1.2 Gas production rates
Figure 3.3 is gas production rates vs. time graph for Model 1. In the original
model, the beginning and end sections fit good. The gas production rate of the simulated
data is lower than historical data from day 1000 to 1600. After history matching, this
problem is solved, and the matching between simulated data and historical data is pretty
good.
Figure 3.10 is gas production rates vs. time graph for Model 2. The gas
production rates are pretty fluctuation for both the original and simulated models. In the
original model, the historical data is higher than the simulated data from the beginning
to the end, and the two data is not really to fit each other. After history matching, the
simulated data becomes higher and fits the historical data pretty well.
4.1.3 Water production rates
Figure 3.4 is water production rates vs. time graph for Model 1. It is obvious the
original model has a terrible fit. The historical data’s water production rate is much
higher than the simulated data, and they have not fit each other. The simulated data is
higher after history matching, but the simulated data after day 1600 is still lower than
the historical data. The fitting condition is not as good as oil and gas models, but it
improved greatly compared to the original water model.
Figure 3.11 is water production rates vs. time graph for Model 2. Same as what
happened in Model 1, the historical data is much higher than the simulated data in the
original model, and they are like two parallel lines. They do not look related to each
other, and they do not have the same changing trend. After the history matching, the
situation becomes better. The simulated data becomes higher, and the two data have the
same changing trend, but the simulated data is still lower than the historical data. The
Texas Tech University, Junnan Ma, December 2020
48
fitting condition is not very good, but it improves greatly compare to the original water
model.
4.1.4 Bottomhole Pressures
Figure 3.5 through 3.7 are bottomhole pressures vs. time graphs for Model 1.
From the graphs, we see that all original models have bad matches, and the historical
data is much higher than simulated data from the beginning to the end. After history
matching, the simulated data becomes higher. The qualities of the fittings are greatly
improved. There are very good fits between the simulated and historical data for each
well. From figure 3.5 to 3.7, we can see that the simulated data does not match the
historical data at the beginning part. There is no graph of the historical data for the first
few hundred days. This missing data is because we do not have historical data for the
periods. Many reasons can cause this problem, such as data loss, geological data error,
etc. Since we do not have the data for these periods, we assume the simulated data is the
same as historical data. In addition, we take the error off when we calculate the objective
function.
Figure 3.12 through 3.15 are bottomhole pressures vs. time graphs for Model 2.
From the graphs, we see that all original models match badly. Simulated data is much
higher than historical data. They do not look related to each other, and they do not have
the same changing trend. After the history matching, the simulated data is lower and
matches the historical data. There are some tiny mismatches in well 6 and 8, but the
matching quality improves greatly compared to the original model. Also, there are some
parts that historical data is zero, but simulated data is not zero. This missing data is the
same reason as case 1. All zero historical data mismatched should be ignored.
After seeing all production rates and bottomhole pressure graphs, we find the
new method is an effective method to match oil, gas production rate, and bottomhole
pressure. It is not sensitive to the water production rate. Water can be a limitation to the
new method. However, although it cannot perfectly match the water production rate, it
can greatly improve the match’s quality.
Texas Tech University, Junnan Ma, December 2020
49
4.2 Models comparison
One way to compare the two models is that directly compare their objective
functions. Since we apply the same method to both models, we compare Model 1 and 2
to see how the method is performed in each model. Figure 4.1 below compares the
objective functions of the best models in each set for Model 1 and 2.
Figure 4.1 Comparison of the best objective functions in each set for model 1 (top)
and model 2 (bottom)
Texas Tech University, Junnan Ma, December 2020
50
Model 1 is a heterogeneous model with 6 production wells and 8 history-
matching parameters changed. In addition, we were told what these history matching
parameters are. fewer and clear parameters make this model easier than model 2. Model
2 is a heterogeneous model with 8 production wells. We do not know what and how
many history-matching parameters to use for this model, but we have gotten a hint that
it could be up to 40 parameters should be changed in this model, and the potential
parameters should from Permeability, Porosity, parameters for the relative
permeabilities and capillary pressures, Equilibrium information, and bubble point
pressure. Based on this information, 40 possible parameters are chosen to be history-
matching parameters. 40 unknown parameters are a large number in a history matching
problem. A large number of unknown parameters makes this model more complicated
and realistic than model 1. The fluctuation in figure 4.1 (bottom) reflects this
complicated.
After comparing two graphs in figure 4.1, we see that the downtrend of the
objective function graph of Model 1 is smooth, which means the process of semi-
automatic history matching is smooth. Compared to model 1, the objective function
graph of model 2 is full of ups and downs. The end results of Model 1 are local minima.
We totally run 113 sets simulations for Model 1, and we have gotten our best result in
100th set. After we have the best results, we run another 13 sets to see if we can still
make the objective function become lower. The results do not change or even get worse
in the next 13 sets. As a result, we realize that the best result is a local minimal. Several
points in the second graph have a higher objective function compared to earlier points;
this is where our process meets plateau. As we mentioned earlier, the solution to the
plateau is a big jump. As a result, we enlarge the search area and pick the new parameters
from this area. It is like to start from a new starting point, so the next objective function
becomes larger.
Compare to model 2, model 1 reaches a smaller objective function, and the
history matching process of model 1 is smoother. There are not many polylines and
Texas Tech University, Junnan Ma, December 2020
51
plateau problems that occur during the process in model 1. The reason is that the
complexity of the model 2 is higher than model 1. As a result, we consider that as a
history matching problem become more complicated, the initial errors of the method
tend to increase. This hypothesis may need a further research.
4.3 Unusual fluctuation
Figure 4.2 Bottomhole pressure vs. time of the simulated data (red lines) and the
historical data (green lines) for the best history-matched model for well 6 in model 1
Figure 4.2 is bottomhole pressure result graph for well 6 in model 1. From the
graph, we can see an obvious mismatch area (red circle) where the historical data is zero,
but simulated data is not zero. This is where the well was shut down. When the well was
shut down, the bottomhole pressure becomes zero. As a result, we do not have historical
data at this period. However, simulator does not know the well was shut down, so it still
generates the simulated data. This is why the historical data is zero, but the simulated
Texas Tech University, Junnan Ma, December 2020
52
data is not zero in this time period. We usually ignore this miatached in the matching
graph, and we take this error off when we calculate the objective function.
4.4 True parameters model
Table 4.1 Comparison of the History-Matching parameters of the true parameters
model with the best model for Model 2
Parameters True Model Best Model
Permx 4 0.679 0.298
Permx 5 1.586 1.749
Permx 8 0.922 0.583
Porosity 4 1.213 0.105
Porosity 5 0.843 0.428
Porosity 8 1.118 0.435
Permz 0.007 0.1
Porv1 314.702 1
Porv2 13.602 1
Porv3 1516.003 1
Krwo0 0.1 0.288
Swc 0.25 0.269
Woexp 2 0.663
Pcowmin 0 0
Pcowexp 4 4.48
goexp 2 2.23
sgc 0.02 0.036
Pcgomax 100 4.73
pcgoexp 4 2.65
Krow0 0.2 0.699
Sorw 0.15 0.113
Owexp 1.5 0.946
pcowmax 100 86.30
Texas Tech University, Junnan Ma, December 2020
53
(Table 4.1 Continued)
Krgo0 0.4 0.59
Ogexp 1.5 2.20
Sorg 0.15 0.11
Pcgomin 0 0
Initial pressure 6100 3789.017
PBVD 4081.3 4181.317
OWC 8213.8 8192.097
The table above is the true history matching parameters for Model 2. To ensure
the accuracy of the true model, we calculate the objective function of it. The objective
function is 0.631, which indicates this model is the true model. After comparing the
history matching parameters between the true model with the best model, we see that
except for those parameters that we did not count as history matching parameters such
as pore volumes and Permz, most of the other parameters are close to the true parameters.
This comparison again ensures the effective of the new method. We also see a limitation
of the method from this comparison. If we do not know what unknown parameters to
match in a real case model, we will easily miss matching some unknown parameters. It
is like we miss pore volume and Permz in Model 2. This missing can be a major reason
to cause mismatching. As a result, doing parameters sensitivity before history matching
is necessary for a complicated history matching problem.
4.5 Related theory
Tavassoli et al. (2004) report the results of history matching is not unique. Two
different parameters may give the same objective function. As a result, a good fit for the
production data does not necessarily have a good estimation for the reservoir’s
parameters. This means even though we fit the production data for a reservoir model in
a history matching problem, the parameters we estimate from the best model may not
Texas Tech University, Junnan Ma, December 2020
54
be the correct answer. If we use these parameters to do a future prediction, it may lead
to a bad forecast for the performance of the reservoir.
We obtain the same result in our research. For Model 1, we run the model twice
with different starting points to ensure the history matching results’ accuracy. The two
history matchings give us a very closed objective function (5.47 and 5.5) but different
estimated parameters. This finding certifies Tavassoli’s theory and leads to the benefit
of using the history matching method we developed. Using the semi-automatic iterative
sampling method can deal with the problem in Tavassoli’s paper. Instead of giving one
best model, the method we present offers hundreds of models with similar production
data fitting. Multiple results have a better chance to get a range of estimates of future
production and give a more valuable forecast than conventional history matching. For
conventional history matching, we usually just have one best model. Our method can
give a range rather than just one point. A range is always better than a point in history
matching. This hypothesis may need a further research.
Texas Tech University, Junnan Ma, December 2020
55
CHAPTER V
CONCLUSIONS AND FUTURE STUDY
5.1 Conclusions
In this paper, we develop a semi-automatic iteration sampling history-matching
method that uses the idea of a hill climbing algorithm and a random sampling method.
The method was tested on two synthetic reservoir models. Model 1 is used to construct
and test the automatic process of the method, and this model is simpler. Model 2
represented a real case history matching scenario that provided extensive unknown
parameters, and this model is more complicated and realistic. From the results generated,
the following conclusions can be drawn from this research:
1. The method was tested successfully with both the limited and more extensive
unknown parameters models. It can be an effective history matching method that
provides an efficient process.
2. Using the hill climbing algorithm and random sampling method together can
deal with some local minimum and plateau problems in the history matching
process.
3. As a history matching problem become more complicated, the initial errors of
the method tend to increase.
4. Result with good fit for the production data does not necessarily have an
estimation for the parameters of the reservoir.
Texas Tech University, Junnan Ma, December 2020
56
5.2 Future study
More real case models should be done to indicate if the method’s errors increase
as the models become more complicated. We think doing a parameter sensitivity is
necessary to an extensive parameters’ reservoir model. More real case models can be
tested to verify the thought and running more real case models can also test if water is
always a problem in history matching. We would like to use the parameters we estimate
from the best model in model 2 to do a future prediction, and compare the forecast result
to the result from conventional history method to ensure the method we developed can
give a better forecast than conventional history matching method. We will develop the
workflow of this method and make it to a software.
The AI algorithms have become popular in recent years, and the hill climbing
algorithm is a simple AI algorithm. More complete algorithms can be used in a history
matching process to make history matching even more efficiency. The quality of the
water production match is a concern in the two models we tested. Using some other
algorithm or method with the current method together may be a solution to solve the
water problem.
Texas Tech University, Junnan Ma, December 2020
57
BIBLIOGRAPHY
Abdollahzadeh, A., Reynolds, A., Christie, M., Corne, D. W., Williams, G. J., & Davies,
B. J. (2013). Estimation of Distribution Algorithms Applied to History Matching.
SPE Journal, 18(03), 508-517. doi:10.2118/141161-pa
Al-Qasim, A., & Aldawsari, M. A. (2017). Comparison Study of Asphaltene
Precipitation Models Using UTCOMP, CMG/GEM and ECLIPSE Simulators.
SPE Oil and Gas India Conference and Exhibition. doi:10.2118/185370-ms
Arenas, E., Kruijsdijk, C. V., & Oldenziel, T. (2001). Semi-Automatic History
Matching Using the Pilot Point Method Including Time-Lapse Seismic Data.
SPE Annual Technical Conference and Exhibition. doi:10.2118/71634-ms
Chakra, N. C., & Saraf, D. N. (2015). History matching of petroleum reservoirs
employing adaptive genetic algorithm. Journal of Petroleum Exploration and
Production Technology, 6(4), 653-674. doi:10.1007/s13202-015-0216-4
Dadashpour, M., Ciaurri, D. E., Mukerji, T., Kleppe, J., & Landrø, M. (2009). Simple
Zonation and Principal Component Analysis for Speeding Up Porosity and
Permeability Estimation from 4D Seismic and Production Data. 71st EAGE
Conference and Exhibition Incorporating SPE EUROPEC 2009.
doi:10.3997/2214-4609.201400249
Eide, A. L., Holden, L., Reiso, E., & Aanonsen, S. I. (1994). Automatic History
Matching by use of Response Surfaces and Experimental Design. ECMOR IV -
4th European Conference on the Mathematics of Oil Recovery.
doi:10.3997/2214-4609.201411186
Eswarawaka, R., Pagadala, P. K., Reddy, B. E., & Rao, T. (2016). Parallelization of
Simulated Annealing Algorithm for FPGA Placement and Routing. Advances in
Intelligent Systems and Computing Proceedings of Fifth International
Conference on Soft Computing for Problem Solving, 1001-1013.
doi:10.1007/978-981-10-0448-3_84
Jacobson, S. H., & Yücesan, E. (2004). Analyzing the Performance of Generalized Hill
Climbing Algorithms. Journal of Heuristics, 10(4), 387-405.
doi:10.1023/b:heur.0000034712.48917.a9
Mattax, C. C., & Dalton, R. L. (1990). Reservoir Simulation (includes associated papers
21606 and 21620 ). Journal of Petroleum Technology, 42(06), 692-695.
doi:10.2118/20399-pa
Texas Tech University, Junnan Ma, December 2020
58
Neddermeijer, H. G., Oortmarssen, G. V., Piersma, N., & Dekker, R. (n.d.). A
framework for Response Surface Methodology for simulation optimization.
2000 Winter Simulation Conference Proceedings (Cat. No.00CH37165).
doi:10.1109/wsc.2000.899707
Oliver, D. S., & Chen, Y. (2010). Recent progress on reservoir history matching: A
review. Computational Geosciences, 15(1), 185-221. doi:10.1007/s10596-010-
9194-2
Ory, J., Guedeney, K., Brefort, B., & Schirrer, L. (1997). A Semi-Automatic History
Matching Technique Applied to Aquifer Gas Storages. SPE Annual Technical
Conference and Exhibition. doi:10.2118/38862-ms
Roggero, F., Ding, D. Y., Berthet, P., Lerat, O., Cap, J., & Schreiber, P. (2007).
Matching of Production History and 4D Seismic Data--Application to the
Girassol Field, Offshore Angola. SPE Annual Technical Conference and
Exhibition. doi:10.2118/109929-ms
Russell, S. J., & Norvig, P. (2003). Artificial intelligence: A modern approach (pp. 111-
114). Upper Saddle River, NJ: Prentice Hall.
Rwechungura, R. W., Dadashpour, M., & Kleppe, J. (2011). Advanced History
Matching Techniques Reviewed. SPE Middle East Oil and Gas Show and
Conference. doi:10.2118/142497-ms
Saleri, N., & Toronyi, R. (1988). Engineering Control in Reservoir Simulation: Part I.
SPE Annual Technical Conference and Exhibition. doi:10.2118/18305-ms
Saltelli, A. (2002). Sensitivity Analysis for Importance Assessment. Risk Analysis,
22(3), 579-590. doi:10.1111/0272-4332.00040
Taherdoost, H. (2016). Sampling Methods in Research Methodology; How to Choose a
Sampling Technique for Research. SSRN Electronic Journal.
doi:10.2139/ssrn.3205035
Tavassoli, Z., Carter, J. N., & King, P. R. (2004). Errors in History Matching. SPE
Journal, 9(03), 352-361. doi:10.2118/86883-pa
Wantawin, M., Yu, W., & Sepehrnoori, K. (2017). An Iterative Work Flow for History
Matching by Use of Design of Experiment, Response-Surface Methodology, and
Markov Chain Monte Carlo Algorithm Applied to Tight Oil Reservoirs. SPE
Reservoir Evaluation & Engineering, 20(03), 613-626. doi:10.2118/185181-pa