Copyright 2020, Junnan Ma

69
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

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

Copyright 2020, Junnan Ma

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 semi­automatic 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

Texas Tech University, Junnan Ma, December 2020

59

Watson, A., Seinfeld, J., Gavalas, G., & Woo, P. (1980). History Matching in Two-

Phase Petroleum Reservoirs. Society of Petroleum Engineers Journal, 20(06),

521-532. doi:10.2118/8250-pa