165
Master Thesis Reservoir Coupling with Pipe-It - A Scripted Logic Controller Approach In Partial Fulfillment of the Requirements for TPG4920 - Petroleum Engineering, Master Thesis Luky Hendraningrat Advisor: Professor Curtis H. Whitson Trondheim, July 2010 Department of Petroleum Engineering and Applied Geosciences Spring Semester 2010

Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

Embed Size (px)

Citation preview

Page 1: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

Master Thesis

Reservoir Coupling with Pipe-It - A Scripted Logic Controller Approach

In Partial Fulfillment of the Requirements for TPG4920 - Petroleum Engineering, Master Thesis

Luky Hendraningrat

Advisor: Professor Curtis H. Whitson Trondheim, July 2010

Department of Petroleum Engineering and Applied

Geosciences

Spring Semester 2010

Page 2: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir
Page 3: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – MSc. Thesis, 2010      i

ABSTRACT

The main purpose of this thesis is to propose Reservoir Coupling (RC) solution using a scripted logic controller approach through Pipe-It. The Pipe-It is the open interface framework that allows an entire project to be executed that involves external or third-party programs such ECLIPSE. The motivation is to solve current limitation of RC feature in one commercial Reservoir Simulator ECLIPSE. The logic approach formulation has been developed to manage production-scheme logic under target and constraint at field. The feedbacks of production and injection rates provide dynamic system in the coupled reservoir model. The case example is taken from ECLIPSE RC datasets and the results verified with ECLIPSE results run.

Keywords: Reservoir Coupling, Pipe-It, Scripted logic controller, ECLIPSE, Production-scheme logic, Dynamic feedback, Black oil models

Page 4: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – MSc. Thesis, 2010      ii

ACKNOWLEDGMENT

I would like to express my utmost gratitude towards my advisor, Prof. Curtis H. Whitson, not only for his insights and guidance, but also for his patience and encouragement when things did not go so well. I wish to express my gratitude to my co-advisors Dr. Mohammad Faizul Hoda and Arif Kuntadi, PhD-Candidate, who have abundantly helpful and offered invaluable assistance, support and technical guidance. This study would not also have been possible accomplished unless support from colleague at PERA office. Therefore I owe my deepest gratitude to Silvya D. Rahmawati, PhD-Candidate. She always had time to discuss, offered invaluable assistance and suggestion although she was very busy. I would like to acknowledge PERA, IPT-NTNU and their staffs for supporting and granting me free software access and licenses during accomplishing this study. I would like thank to QUOTA Scheme Programme for giving me a scholarship during two years completing Master Degree at the Department of Petroleum Engineering and Applied Geophysics of the Norwegian University of Science and Technology. I am indebted to my new big family, PPI Trondheim, who always support me during staying in Trondheim. Eventually, I wish to express my love and gratitude to my beloved family, my wife Isma Nurlina, who always boosted me when I felt down and also my son, Muhammad Rafif Shaquille, for giving me a wonderful day, understanding and endless love through the duration of my thesis.

Trondheim, July 2010

Luky Hendraningrat

Page 5: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – MSc. Thesis, 2010      iii

TABLE OF CONTENTS

ABSTRACT....................................................................................................................i ACKNOWLEDGMENT................................................................................................ii TABLE OF CONTENTS............................................................................................. iii 1. INTRODUCTION .................................................................................................1

1.1. Background....................................................................................................1 1.2. Motivation and Objective ..............................................................................1 1.3. Project Description.........................................................................................2 1.4. Software Description .....................................................................................3

1.4.1. ECLISPE................................................................................................3 1.4.2. Pipe-It.....................................................................................................3 1.4.3. Optimizer ...............................................................................................4 1.4.4. Streamz ..................................................................................................4 1.4.5. Linkz and Maplinkz ...............................................................................5 1.4.6. Pipe-Itc...................................................................................................5 1.4.7. Plot .........................................................................................................5

1.5. Visual Basic Scripting....................................................................................6 1.6. Specification of Personal Computer Employed.............................................6

2. RESERVOIR COUPLING ....................................................................................7 2.1. Philosophy......................................................................................................7 2.2. Master and Slave Data ...................................................................................7 2.3. Reservoir Coupling Feature in ECLIPSE ......................................................9 2.4. Group Control of Production and Injection ...................................................9 2.5. Guide Rate and Potential Rate .....................................................................10 2.6. Synchronization Mechanism........................................................................11 2.7. Activation ECLIPSE RC Feature in Stand-alone Mode ..............................12

2.7.1. Check Available License .....................................................................12 2.7.2. User Configuration File .......................................................................12 2.7.3. Installing Intel Message Passing Interface (MPI)................................13

2.8. Special Keywords of ECLIPSE Reservoir Coupling Feature......................13 3. RESERVOIR COUPLING APPROACHES .......................................................14

3.1. Reservoir Model Description.......................................................................14 3.2. Coupling Scheme .........................................................................................16 3.3. Logic Approach ...........................................................................................16

3.3.1. Production Constraint ..............................................................................16 3.3.2. Injection Constraint..................................................................................19

3.4. Sample Approach: RC with ECLIPSE RC Special Feature ........................21 3.5. Proposed Approach: RC with Scripted Logic Controller ............................22

3.5.1. Initial Run ............................................................................................22 3.5.2. Transition Run .....................................................................................24 3.5.3. Restart Run...........................................................................................28

Page 6: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – MSc. Thesis, 2010      iv

3.5.4. Data Collection Aggregation ...............................................................28 3.5.5. Results and Plots ..................................................................................28

4. RESULTS AND DISCUSSION..........................................................................29 4.1. Verification Result .......................................................................................29

4.1.1. Production and Injection Profile ..........................................................29 4.1.2. Cumulative Production and Injection ..................................................31 4.1.3. Computation time.................................................................................31 4.1.4. Sensitivity Study to Project Time Step ................................................32

4.2. Benefit and Limitation .................................................................................32 5. CONCLUDING REMARKS AND RECOMMENDATIONS ...........................34

5.1. Concluding Remarks....................................................................................34 5.2. Recommendations........................................................................................34

NOMENCLATURE ....................................................................................................36 REFERENCES ............................................................................................................39 APPENDIX A - Figures...............................................................................................41 APPENDIX B - Tables ................................................................................................69 APPENDIX C - VBScript............................................................................................70 APPENDIX D - Example Calculation.......................................................................100 APPENDIX E - ECLIPSE Datasets: Master and Slaves ...........................................103 APPENDIX F - ECLIPSE Restart File......................................................................143

Page 7: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 1 of 165

1. INTRODUCTION

1.1. Background

One-way reservoir coupling is still widely used where this method only gathers the production and injection from a number of reservoir models without introducing feedback from surface model to reservoir model due to constraint on the surface facilities limitation capacity such as gas-water surface production and injection. Fully coupling multi-reservoirs models offers increased degree of precision in prediction and optimization of reservoir deliverability and in forecasting full-field performance. It will balance and optimize the potential flow rate of wells in the reservoir models, honoring all individual well constraints, based on surface facilities model limitation. The potential flow rate and control mode from groups of wells will be run as the optimization process. Then the results will transfer back as dynamic feedback to the individual reservoir runs to keep balancing and repeating as iterations. This process is called full reservoir coupling as shown in Fig.1. Reservoir simulator suite like ECLIPSE currently has special extension for Reservoir Coupling (RC) feature. This feature provides fully reservoir coupling technique in reservoir simulation. However, based on ECLIPSE technical description version 2009.2, current RC feature in commercial reservoir simulator (ECLIPSE) is only limited to black oil reservoir models (ECL100). It means that if we want to couple multi-reservoir types simultaneously (e.g. with compositional model) it is not possible yet. It is also mentioned that RC feature in ECLIPSE is only limited to 20 slaves (ECLIPSE Technical Description, 2009). Indeed, it is rare that in actual case that we have around 20 reservoirs in a field. 1.2. Motivation and Objective It is common that in real field case, it consists of several reservoir models and types; Black Oil, Volatile, Retrograde Gas, Wet Gas and/or Dry Gas, which are isolated from each other. They might be black oil or compositional type. Then their streams will be comingled to each other and linked to the surface facilities as integrated system. The main purpose of this study is development of an alternative RC solution by solving the current limitation in fully RC dynamic models through Pipe-It Project. The “black box” inside of RC ECLISPE must be understood prior to do this study. This study offers RC solution using scripted logic controller to solve those current limitations with some engineering logic approach.

Page 8: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 2 of 165

The scripted logic controller and Optimizer act as Master Datasets in ECLIPSE RC feature. They will control and distribute the global production and injection constraints data to individual isolated reservoir models so-called Slaves which are running in parallel execution. In addition it will resolve the flow rate goal to be applied to each individual reservoir models at particular time step as dynamic feedback. Through Pipe-it project, it might be possible to implement RC models as many as we have because it does not require ECLIPSE RC license. In addition, it is not only limited to one commercial reservoir simulator, but it also will provide for several commercial reservoir simulator as third party runs simultaneously. Certainly, each method has benefit and limitation. Prior to those, the verification result with RC ECLIPSE runs should be done with matching satisfaction. 1.3. Project Description The project will develop alternate Reservoir Coupling (RC) solution by using scripted logic controller with Pipe-It. The reservoir models were taken from RC ECLIPSE example dataset which consist of three black oil reservoir models. The main reason is easier to compare the results as verification. The RC approaches will run on a single computer. All of employed software in this project is installed in stand-alone mode. Particularly ECLIPSE suite simulator is using server licenses for all licenses such black oil and reservoir coupling feature. Besides the verification results of production and injection profile of each approach, the benefit and limitation found also will be explained later. The approaches are as follows.

1. Sample Approach Coupled three black oil reservoir models that have been run by using Reservoir Coupling (RC) feature in ECLIPSE special extension (see in Fig.2). This feature will be launched by using Pipe-It instead of ECLIPSE launcher. It needs several licenses both black oil models and RC special license, which depends on how many slaves, master and reservoir coupling run.

2. Propose Approach Coupled three black oil reservoir models using scripted logic controller that are run with ECLIPSE simulator (without RC ECLIPSE license). Each slave is simultaneously run (parallel execution) for input to Pipe-It project. The scripter and command should be developed in open interface logic controller module where the Optimizer featuring with VBScript will act as Super master dataset and logic controller instead of Master data (C.H. Whitson and M.F. Hoda, 2010). The integrated process overview can be seen in Fig.3.

Page 9: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 3 of 165

1.4. Software Description

1.4.1. ECLISPE ECLIPSE simulator suite has become a widely used reservoir simulator that has been developed by Schlumberger. It is comprised of two types of reservoir simulators. The first is ECLIPSE 100 (ECL100), which is specified for black oil reservoir modeling. Another is ECLIPSE 300 (ECL300) which is specified for compositional modeling. FORTRAN is coding language used in writing both simulators. The latest ECLIPSE version 2009.2 has been employed for this project. Reservoir coupling is one of special extensions from ECLIPSE simulator suite with a separate license from ECLIPSE reservoir model. The ability of this feature is to couple a number of reservoir models to allow for constraints on their overall production and injection rates, and optionally the sharing of a common surface network (ECLIPSE Technical Description, 2009). It will provide a convenient way of uniting these reservoir models to comply global production and injection constraints, with minor change to their input data. The reservoir simulation models are run as separate processes, under the control of a master process which commands their production and injection constraints at each time step. The current Reservoir coupling feature is provided for ECLIPSE 100 (Black oil models) only. The reservoir coupling examples given in ECLIPSE simulator suite dataset consist of three black oil reservoir model called Slave and one Master Dataset to command their production and injection constraints at each time step.

1.4.2. Pipe-It Nowadays there are large numbers of commercial software to integrate the project in petroleum industries; one of them is Pipe-It. This software has been developed by Petrostreamz AS. Pipe-It allows a project to be visualized with an intuitive graphical layout design. Visualization can be created to give a clear vision of the project from a top-level management point of view (Petrostreamz AS, 2010). That is the reason why we called Pipe-It here as Open Interface controller module. Pipe-It components can be seen in Fig.4. Pipe-It also allows an entire project or elements of a project to be executed. This might involve executing external programs or third party programs, such as ECLIPSE and HYSYS, to be coupled then describing their performance of reservoirs, wells, pipelines, process facilities until final-destination refining. The basic principle behind Pipe-It is to send a stream of information from a resource through a process into another resource which in turn might be a resource for another process to form a chain of processes replicating the flow of petroleum in a producing

Page 10: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 4 of 165

field. By using Graphical User Interface (GUI), it is easy to visual the connection process of the project (Petrostreamz AS, 2010).

1.4.3. Optimizer Optimizer is one of Pipe-It components that have several purposes. It is an optimization engine options in Pipe-It that has a main purpose in global and or local optimization. In this project, Optimizer acts as Master data in RC ECLIPSE feature which control and transfer the global production and injection constraints data (see illustration in Fig.5). In addition it will resolve the flow rate goal to be applied to each individual reservoir models at particular time step. The Optimization engine will use both in-house solvers as well as third party solvers. The solvers utilized by Pipe-It uses plug-in technology to allow users & researchers to plug-in their solvers encapsulated in dlls, documented of the API is provided to facilitate this. The solvers that can be chosen are: Reflection, Random sampler, Experimental design, Reflection, Trivial, Nonlinear or it is possible to run our own solver. The detail explanation can be read from Petrostreamz support website. The optimization engine consists of several optimization “variables” as follows: (Petrostreamz AS, 2010)

o VAR: User- or Optimizer-specified. May be written to file. Updated before any other variable and before model execution.

o AUX: Either set by equation, read from file, or user-specified, in that order of priority. If set by equation, may also be written to file. Updated after VARs but before model execution.

o CON: Unless a user-specified constant, either read from file or set by equation, after model execution. (Note: Constraints are recognized for all variables, not just the results labeled CON).

o OBJ: Same as CON, except the Optimizer will try to minimize or maximize it. Pipe-It Optimizer allows the interface to attach, modify & monitor numerical variables in files linked to resources. This functionality in itself is quite unique and powerful and can be used for “manual” optimization without a proper solver or regression routine (Petrostreamz AS, 2010). The example of Optimizer file can be seen in Fig.6.

1.4.4. Streamz

Streamz is a generic program to convert fluid streams from one to another characterization. It describes the number and names of components making up the stream, and optionally their properties such as molecular weight, critical pressure and temperature and other properties. Streamz is driven by a single or more input file so-

Page 11: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 5 of 165

called driver and with an include file or more (Petrostreamz AS, 2010). It is comprised of named characterizations, their properties, and defines conversions among them (see Fig.7). This file allows the user to specify opening of stream files, containing the streams in particular characterizations, and also commands for filtering, combining and copying streams from one file to another. The program automatically invokes conversions among the differing characterizations as required (see Fig.8). Typically the program commands are generated by the pre-processors or modules, ensuring the syntax to be correct. This program also allows us to get standard output file so-called log file. Inside this file, we can see various messages during Streamz execution such as error file (Petrostreamz AS, 2010).

1.4.5. Linkz and Maplinkz In order to connect input or output file (as number and or strings) into Optimizer, Linkz is needed. Then Optimizer will execute to be optimized or other purposes. This is a unique technology from Pipe-It that is shown in Fig.9. One or more number and or strings are able to connect in one file. In order to make it fast to connect, it can be set to search the line and token either from beginning or at the end of the file (see Fig.10). The token that we have could be addressed within Pipe-It, either by the MapLinkz (LinkzUtil) or Optimizer as shown in Fig.11.

1.4.6. Pipe-Itc Pipe-Itc allows Pipe-It to be embedded within any other software that can launch an OS command-line. It means Pipe-It can recursively call many instances of itself from within a top-level graphical instance as shown in Fig.12. This is the basis of multi-level local and global optimization made possible by Pipe-It. Pipe-Itc is non-GUI version of Pipe-It that can be invoked from other programs or by Pipe-It itself, which means it allows running a model from a command line. In such case the Pipe-It Runner is only being invoked directly. The user has to specify the Optimizer file-name and the composite-path within which optimization should be run. Whenever this process is finished, the sub-Pipe-It run is terminated and the main run can continue with the process next in line.

1.4.7. Plot Plot application allows depict the graphs directly from Streamz format into various format such as bitmap/JPG format, Portable Document Format (PDF), etc. It can be found in the Petrostreamz installation as default plotting program (so-called Plot.exe). The script can be written as command. This command is created into plot format. The Plot results are shown in APPENDIX A.

Page 12: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 6 of 165

1.5. Visual Basic Scripting The Visual Basic Scripting (VBScript) is a light version of Microsoft's programming language Visual Basic. Microsoft VBScript Edition brings active scripting to a wide variety of environments. it uses the component object model to access elements of the environment within which it is running like File System Object (FSO) is used to create, read, update and delete files (Wikipedia, 2010). In this study, VBScript is being used for scripting logic controller in RC project for control, formulate and distribute the data within Pipe-It project. The script can be seen in APPENDIX C. There are at least three reasons of using VBScript in this project as taken from reference (Wikipedia, 2010). Firstly, VBScript is widely used among system administrators in the Microsoft environment (Operating System with Microsoft Windows). This situation may change with the promotion and increased use of Windows PowerShell. Secondly, VBScript is the scripting language for Quick Test Professional, a test automation tool. The last reason is the adoption of VBScript as the internal scripting language for some embedded applications, such as industrial operator interfaces and human machine interfaces. The format of VBScirpt file is using stand-alone format (file extension.vbs). The script can be invoked in two ways (Wikipedia, 2010).

1. Wscript.exe is used to display output and receive input through a GUI, such as dialog and input boxes.

2. Cscript.exe is used in a command line environment. Table 1 shows the key point of VBScript language such as: procedures, control structures, constants, variables, user interaction, array handling, date/time functions, error handling, mathematical functions, objects, regular expressions, string manipulation, and so on. 1.6. Specification of Personal Computer Employed The simultaneously parallel running a number of reservoir models are commonly performed in several computers. However, this thesis is tried running in one machine (stand-alone mode). In order to do this, it should be modified in some files that will be described in next section. The consequence, it is going to run slower because it has many jobs to do in the same time. However the reservoir models run here is quite simple. Hence there is no significant effect to stand-alone mode. This study is using author’s PC with the specification as shown on Table 2. All of dataset and extension were running with the similar condition of CPU.

Page 13: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 7 of 165

2. RESERVOIR COUPLING 2.1. Philosophy The purpose of reservoir coupling is to keep hold of the original simulation models of the individual reservoirs dataset and run them parallel as separate processes either on one or several machines/computers. Recent years, fully coupling scheme becomes an important issue as a part of Integrated Asset Management. Generally it consists of three main modules which are Sub-surface module, Controller module and Surface network module whereas the network balancing is kept among them. To link and control the inter-process communication among them, the PVM passing message is usually used. Reservoir coupling is part of sub-surface module and becomes a main focus on this study. It usually consists of one Master data and one or several Slaves data. Master data may characterize one of the slave data or as a” dummy” reservoir. The master run as a “brain” where responsible for allocating rate targets to the slave groups, and to comply with the global constraints of the coupled system to keep balancing. The homework that should be done is how logical process behind it. At the beginning of each time step in the master run, it commands each slave group what it can produce and inject at the current reservoir conditions proportionally. Actually each slave may also have their own flow constraints which must be applied at a lower level, hence forming a hierarchy of production and injection constraints (see Fig.13). The higher the level, the smaller the level number then the constraint in the lower level could be replaced by the higher one. Combining the production and injection streams to obey all the constraints can be a difficult task (Haugen, Holmes and Selvig, 1995). This process is called RC dynamic model. Therefore in this study, one of the tasks is to solve this dynamic problem with some logical approachment by using scripted logic controller. 2.2. Master and Slave Data This part will describe general terms that are using in RC runs. The Master and Slaves data described as follow are the useful and contains as general use in ECLIPSE. Besides Master is responsible for allocating rate targets to the slave groups, and to act upon the global constraints of the coupled system, it should contain the group hierarchy down to the slave groups in the each slave reservoirs. Whereas slave groups themselves are present in both the master and the slave runs to be synchronized with particular keyword. Therefore, they will connect to all groups mentioned from all slaves reservoir and then simulations will be coupled. The synchronization process would be described next.

Page 14: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 8 of 165

As mentioned above, RC usually consists of one master dataset and one or more slaves dataset. They are two methods how to create master data (ECLIPSE Technical Description, 2009):

1. Master data from one of slave dataset

Master data is created from one of slave reservoirs dataset where it has its own wells, groups, PVT and fluid properties, schedule, etc. In addition it also contains the group hierarchy down to the top level groups of the slave reservoirs datasets. This method would be suitable for a main reservoir having a number of smaller satellite reservoirs producing into its surface network facilities (Haugen, Holmes and Selvig, 1995). Fig.14 depicts a schematic representation of three coupled reservoirs, one of slaves as master run process and the other two as Slaves. In each slave Reservoir, one or more groups must be designated to have their production and injection targets set by the master that is called as slave groups. 2. Master data as “dummy” reservoir

Master data as “dummy” reservoir is created as it is of common format of dataset. However the data such as PVT, Rock and fluid properties, grid would be created as dummy from one of slave data. However it must contain the group hierarchy but no wells. However it also contains the group hierarchy down to the top level groups of the slave reservoirs datasets. The start date event must be earlier than all slaves. Then master datasets is responsible for allocating rate targets to the slave groups, and to obey the global constraints of the coupled system. Fig.15 depicts a schematic representation of three coupled-reservoirs as slaves, with one dummy reservoir as master run process. Conversely, a slave reservoir may have more than one slave group if necessary, as long as one slave group is not subordinate to another.

The Slave dataset is similar with what usual dataset have such as PVT, rock and fluid properties, grid block size, start date, well schedule, etc. In addition, it is needed a special keywords to synchronize with master dataset. The special keywords needed would be described next. They will be coupled to the master process by group production and injection constraints. Once more, it should be remembered that the setting of start date in each slave dataset must be later than the start date of the master dataset run.

Page 15: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 9 of 165

2.3. Reservoir Coupling Feature in ECLIPSE Reservoir Coupling (RC) is one of the special extensions from ECLIPSE simulator suite and its license is separated from ECLIPSE reservoir model. The function of this feature is to couple a number of black oil reservoir models to allow for constraints on their overall production and injection rates, and optionally the sharing of a common surface network. It provides a convenient way of uniting these reservoir models to comply global production and injection constraints, with minor change to their input data. The reservoir simulation models are run as separate processes, under the control of a master process which commands their production and injection constraints at each time step. The current RC coupling feature is only limited for ECLIPSE 100 (Black oil models) and maximum runs for 20 Slaves. 2.4. Group Control of Production and Injection The production and injection target phase value can be controlled and distributed with group control level. In addition, it will also give the feedback to the lower level like each subgroup or wells if the production and injection higher than target or constraint. The purpose is to keep balancing between subsurface and surface process capacities. This logical process is trying to be adapted and translated into scripted logic controller approach as dynamic model process. It is common to have several wells grouped into particular group name and one field has possible more than one group. In order to control from the groups, ECLIPSE provides control tools using keyword GCONPROD and GCONINJE located in SCHEDULE section for the production and injection respectively. As we can see from Fig.13, the hierarchy of group control is higher the well control. Hence if those keywords above existed, they will follow the group control rules. The box below is an example for group control. Based on ECLIPSE Technical Description 2009.2 version, the group’s target rate is apportioned between the individual wells in proportion to each well’s specified guide rate or potential rate (if no specific guide rate).

Page 16: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 10 of 165

2.5. Guide Rate and Potential Rate There are two control methods here, Group control and Individual control. The former means that a well that is producing its full share of the group’s production target. Meanwhile the latter means a well constrained by its own flow or pressure limits. In this study, group control is the main focus. The guide rate and potential rate become important issues in reservoir coupling mechanism in both techniques approach. The target rates of the wells under group control are set in proportion to their guide rates, to meet the group or field production target. If the guide rate phase differs from the phase under control, the guide rate is translated into a guide rate for the controlled phase using the well’s flow rates at the beginning of each time step. By default, the well’s guide rate is set equal to its production potential of the phase under group control (Technical Description, 2009). Master data will control each phase automatically to meet the target and constraint data. This mechanism above is used here by using VBScript as scripted logic controller. The logic approximation is used to give a dynamic feedback to each group each time step hence the constraint will change depend on their previous production and injection. Since the constraint will give a great affect to the production and control system. This logic approximation controls the group level production and injection as Master Data does in ECLIPSE. The detail logic approximation is described in the next part. The script can be seen in APPENDIX C. The potential rate is the flow rate the well would instantaneously achieve in the absence of any rate constraints or lower the target or constraint set as represent the

SCHEDULE GCONPROD -- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID -- NAME MODE RATE RATE RATE RATE ACTION FLD RATE 'FIELD' 'ORAT' 40000 / 'PLAT-A' 'LRAT' 2* 70000 20000 'RATE' 'NO' / 'PLAT-B' 'NONE' 2* 55000 1* 'RATE' 'YES' / 'GR-*' 'NONE' 5* 'YES' 1000 'LIQ' / GCONINJE -- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID GRAT -- NAME INJ MODE FLD RATE DEFN 'FIELD' 'GAS' 'REIN' 1* 1* 0.5 / 'FIELD' 'WAT' 'VREP' 1* 1* 1* 0.8 / 'PLAT-A' 'GAS' 'FLD' 1* 1* 1* 1* 1* 1* 'VOID' / 'PLAT-A' 'WAT' 'FLD' 1* 1* 1* 1* 1* 1* 'NETV' / 'SP-C' 'GAS' 'FLD' 1* 1* 1* 1* 1* 1* 'VOID' / 'SP-C' 'WAT' 'FLD' 1* 1* 1* 1* 1* 1* 'NETV' / 'SP-B' 'WAT' 'VREP' 1* 1* 1* 1.0 'NO' / 'GR-*' 'GAS' 'FLD' 5* 100 'RATE' / 'GR-*' 'WAT' 'FLD' 5* 100 'RATE' /

Page 17: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 11 of 165

production or injection rate. The acting constraint for a well’s potential is thus either its BHP limit or its THP limit, whichever is the more restrictive (Technical Description, 2009). At the start of the time step, the master will command each slave to report its unconstrained flow potentials. These calculations are performed sequentially, but they take up a very small fraction of the overall time. At the time step starts each iteration, Master Dataset determines the flow targets of the slave groups, and asks the slaves to report the flows they can sustain under the constraints. The relationship between guide rate and potential rate are shown in the formula (Eq.1):

FD

Ap

p RERCBPOT

GR)()(

)(

21 ++=

……………………………. (1) Where the GRp is the well’s or groups guide rate of the nominated phase (oil, water, gas or liquid), POTP is well’s or groups potential flow rate of the nominated phase (oil, water, gas or liquid), Alphabets (A-F) are user-supplied power and coefficients. The R1 and R2 are the phase potentials ratios which depend on the nominated phase above. 2.6. Synchronization Mechanism The procedure flowchart of synchronization in the ECLIPSE reservoir coupling for each time step Master data run can be seen in Fig. 16. As mentioned before that the Master data should have start date earlier than all slaves. Each slave may have different start date. Then the slave, who starts later, will be a quiescent until Master data starts it without contributing any production and injection. Thus the couple between Master and slaves data is synchronized with time steps of Master process. At the beginning of each time step in the master process, it requests each slave group what it can produce and inject at the current reservoir conditions. It uses this information to apportion the global production and injection rate targets between the slave groups. The procedure continues until the master run finishes. Its final task is to send a signal to the slave runs to terminate. If a slave run finishes before the master run, the master run will continue without any production or injection from the slave. However, the master run can be made to stop in these circumstances by setting the “end run” flag of its master groups in item 8 of keyword GECON. Of course, if a slave runs stops due to an error condition, the master and all the other slave runs will also stop. To make a greater accuracy, the coupling event can be made by reducing the maximum time step size in the Master data using keyword TUNING (ECLIPSE Technical Description, 2009).

Page 18: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 12 of 165

2.7. Activation ECLIPSE RC Feature in Stand-alone Mode In this study, the RC feature in ECLIPSE is launched by a using single computer (laptop) and stand-alone mode. It means that the ECLIPSE simulator suite is installed in the laptop and run by using server license/s. The ECLIPSE simulator suite 2009.2 version is used here. Since Reservoir coupling is the special extension of ECLIPSE simulator suite, it should do special things prior to activate reservoir coupling feature as follows:

2.7.1. Check Available License The Reservoir coupling has its own FLEX license in ECLIPSE simulator suite 2009.2. It could be checked to the c:\ecl\ to the license.txt file. The example of available license for reservoir coupling is written in license.txt file as follows:

In addition, the FLEX license checking procedure checks for the availability of an appropriate license for an ECLIPSE Options when a keyword activating the feature is encountered. For instance in reservoir coupling as follows:

2.7.2. User Configuration File The eclrun.config file is installed automatically during an ECLIPSE installation on a local or remote machine. The default location is c:\ecl\macros. The eclrun.config is a XML formatted file. The new XML format of the file is consistent across all the supported configuration files in the hierarchy. The configuration file is meant to be used for debugging and testing purposes only (ECLIPSE ECL-Run, 2009). The user configuration file content are separated depends on the Operating System used. Since in this thesis Windows Vista is used as operating system, the default content for Windows as follows:

<Configuration> <Eclrun> </Eclrun> </Configuration>

RUNSPEC … LICENSES 'rescoupling' / /

FEATURE rescoupling lmgrd.slb 2005.000 permanent uncounted \3613EBB29BC8VENDOR_STRING=GEO HOSTID=ANYSIGN=C393D30017A6

Page 19: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 13 of 165

Once ECLRUN is to launch a parallel case, it checks to see if there are adequate processors to run the process. To do this, it takes the number of ECLIPSE processes currently running and adds the number of processors that it requires. Then it compares resulting total to the value set by the ECLNJOBS configuration variable (ECLIPSE Manual Reference, 2009). If the value of the ECLNJOBS configuration variable is greater than or equal to the number of processors required, as summarized by ECLRUN then the job is launched. Otherwise it will terminate with an error stating that there is an insufficient number of CPUs. The EclNJobs variable defaults to the number of CPUs of the machine. As default, the CPUs machine used here has 2 processors. It means that only 2 jobs can be run. To solve this, check DATA file and ECLRUN configuration files. There is only positive integers are accepted in EclNJobs configuration value. For instance we have to run one master data file and 3 slave’s data run process. Totally we have 4 jobs running. Then we can re-configure as follows:

2.7.3. Installing Intel Message Passing Interface (MPI) The Intel Message Passing Interface (MPI) installation is necessary to run stand-alone RC feature in ECLIPSE. This software is included in ECLIPSE CD software package as third party software where it should be installed separately from ECLIPSE feature. The step of installation can be read from ECLIPSE suite installation guide. After installing this software, it must register with stand-alone domain and user name. The purpose of installing Intel MPI is to run Eclipse Model in parallel mode such reservoir coupling. 2.8. Special Keywords of ECLIPSE Reservoir Coupling Feature Table 3 shows keywords control output of data relevant to the Reservoir Coupling Facility either in Master or Slave dataset are optional to be added. Those keywords are intended to examine the rate constraints in the file that are applied to the slave groups and located at SUMMARY section on ECLIPSE dataset. Once no rate limit is being applied, the value of the limit is normally set default to 1.0E20. Towards avoid this, infinite rate limits are reset to zero before writing to the Summary File. Those keywords could be located at SCHEDULE section on ECLIPSE datasets. It should be note that especially for running standalone each slaves, we can only deactivate keyword GRUPSLAV.

<Configuration> <Eclrun> <EclNJobs>5</EclNJobs> </Eclrun> </Configuration>

Page 20: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 14 of 165

3. RESERVOIR COUPLING APPROACHES

3.1. Reservoir Model Description In order to develop alternate RC solution, the comparison and verification of the results between two approaches of reservoir coupling should be made. The examples application was taken from ECLIPSE examples dataset that are provided in ECLIPSE 2009.2 version. They are three isolated black oil reservoirs contribute to an offshore oil field, so-called Reservoir-A (RCSLAVE-1), Reservoir-B (RCSLAVE-2) and Reservoir-C (RCSLAVE-3). In the future, Reservoir-B is included to account for tie-ins of satellite Platform (called SP-B) at Platform-B. This case has multiple operating conditions that need to be honored at different levels from Field to the group level. The desired operating conditions, as illustrated in Fig.2, are plateau field oil target, liquid-facility limit, and gas-facility limit. According to logic controller approach, the modification should be done each Slave dataset in group control level within keyword GECONPROD and GECONINJE since originally the Slave is controlled by ECLIPSE Master Dataset. The detail of each reservoir models can be described as follows. Reservoir-A (RCSLAVE-1) The simulation reservoir model of Reservoir-A is saturated oil-gas system, three-phase with dry gas (no vaporized oil), oil and water. It has 3x9x3 grid system (81 grids), divided into three layers with thick oil layer 1,990 ft. The reservoir is homogenous with equal horizontal-lateral permeability to 300 md with vertical-horizontal permeability ratio is 0.1 and constant porosity at 30%. The initial condition was taken to be saturated oil reservoir which has thin gas cap 10 ft and aquifer. Top of reservoir located at 7,000 ft, where GOC and WOC located at 7,010 ft and 9,000 ft respectively. Initial reservoir pressure was taken at datum (GOC) of 4,000 psia. This reservoir has 10 wells both production and injection which is divided into 2 groups: Group-A1 and Group-A2. There are only some wells opened at the beginning. Group-A1 has 3 oil production wells and 1 gas injection well. Meanwhile group-A2 has 3 oil production wells and 3 water injection wells. The rest will be opened if the target or constraint can not be reached or out of limitation. This reservoir has its local constraint of production and injection data. The minimum Bottom Hole Pressure (BHP) for all production wells is 2000 psia and for both gas and water injection is 5500 psia. The economic limit rate for minimum oil production and maximum water cut (WC) are 500 BOPD and 70% respectively. A half gas produced is injected to Group-A1 only. Meanwhile Group-A2 is injected by water produced approximately

Page 21: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 15 of 165

80 %. The hierarchy level of wells is located at second level. The start date for this reservoir is January 1st, 2010 and will be end after 730 days. Reservoir-B (RCSLAVE-2) The simulation reservoir model of Reservoir-B is dead-oil system, two-phase with oil and water without contain dissolved gas. It has also 3x9x3 grid system (81 grids) similar with previous Reservoir, divided into three layers with thick oil layer 1,990 ft. The permeability, vertical-horizontal permeability and porosity are identical with Reservoir-A. All of the production from Reservoir-B will gather to Satellite Platform-B (SP-B). This reservoir is going to enter the Platform-B 2 months after Reservoir-A and Reservoir-C started producing. The SP-B is divided into 2 groups: Group-B1 and Group-B2. Currently, Group-B1 has 3 production wells and Group-B2 has 3 production wells and 3 water injection wells. In the future, total this reservoir has 9 wells both production and injection. This reservoir has also its local constraint of production and injection data. The minimum Bottom Hole Pressure (BHP) for all production wells is 2000 psia and for both gas and water injection is 6000 psia. The economic limit rate for minimum oil well production and maximum water cut (WC) are 500 BOPD and 70% respectively. The hierarchy level of wells is located at third level. Reservoir-C (RCSLAVE-3) The simulation reservoir model of Reservoir-C is saturated oil–gas system, three-phase with dry gas (no vaporized oil), oil (with dissolve gas) and water. This reservoir is identical with Reservoir A. This reservoir also has 10 wells both production and injection which is divided into 2 groups: Group-C1 and Group-C2. However all of the group production from Reservoir-C will gather to Satellite Platform-C (SP-C). Currently Group-C1 has 3 oil production wells and 1 gas injection well. Meanwhile group-C2 has 3 oil production wells and 3 water injection wells. This reservoir has its local constraint of production and injection data. The minimum Bottom Hole Pressure (BHP) for all production wells is 2000 psia and for both gas and water injection is 5500 psia. The economic limit rate for minimum oil production and maximum water cut (WC) are 500 BOPD and 70% respectively. The start and finish event date for this reservoir is similar to Reservoir-A. A half total gas produced is injected to Group-C1 only. Meanwhile Group-C2 is injected by water produced approximately 80 %. The hierarchy level of the well is located at the lowest level (third level).

Page 22: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 16 of 165

3.2. Coupling Scheme The coupling scheme in this study is developed as similar as original ECLIPSE Master Dataset where the group control (keywords GECONPROD and GECONINJE in SCHEDULE section) each slaves level becomes the main focus of controlling, formulating and distributing the target and constraint. The production streams from those reservoirs above are coupled by the field production rate constraints, which are imposed by the process capacities of the platform. Reservoir-A production stream will be gathered to Platform-A (PLAT-A). The others will be gathered into Platform-B (PLAT-B). Each platform has their own production and injection rate constraints, which are dictated from Master data. The event date is going to start on January 1st, 2010 and has 730 days time steps running. The coupling scheme of this project is shown in Fig.2. 3.3. Logic Approach A Heuristic method has been applied to overcome an optimal constraint solution. In this case, reservoir engineering knowledge is used to manage the main problem in controlling the constraint rate each phase in each slave. Therefore the mathematics logic approximation should be developed and proven to match with ECLIPSE RC dataset.

3.3.1. Production Constraint

The oil field production target becomes the highest priority target to be fulfilled that is set equal to the plateau rate of 40,000 BOPD and platforms PLAT-A and PLAT-B are required to produce equivalent or less than then quantities of liquid and gas constraint, then PLAT-A and PLAT-B should be given equal guide rates for the liquid phase as shown in Fig.2.

Foio

n

iQQ ,,

1≤∑

=

, (BOPD) …...…………. (2)

Fgig

n

iQQ ,,

1≤∑

= , (Mscf/day) …..……….. (3)

Fwiw

n

i

QQ ,,1

≤∑= , (BWPD) …...………… (4)

Ffif

n

iQQ ,,

1≤∑

= , (BFPD) …...…………. (5) Where i is number of reservoir or group or well (i, n = 1, 2, …. , n) and FpQ , is phase

field target and constraint.

Page 23: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 17 of 165

At the initiate of the time step, the master will command each slave to report its unconstrained production and injection flow rate potentials. These calculations are performed sequentially, but they take up a very small fraction of the overall time. At the time step starts each iteration, it determines the flow targets of the slave groups, and asks the slaves to report the flows they can sustain under the constraints. The liquid guide rates are translated into oil guide rates by multiplying them by each platform’s oil-liquid ratio from the previous time step. Both platforms are then given oil rate targets in proportion to their oil guide rates, and placed under control from the higher (field) level. Hence in the logic approachment, it assumes if GOR and WC constraints are constants for next time step target and constraints. The balancing procedure should be developed to fulfil target rate. The logic scheme this case here, if the PLAT-A which has only Reservoir-A, is unable to fulfil its oil target due to its constraint of gas and water handling, PLAT-B will produce oil higher to cover the remains of to fulfil the oil field rate target. Following equations are logical translation of the coupling scheme above:

BPLAToAPLAToFo QQQ −− += ,,, , (BOPD) …...…………. (6)

AoAPLATo QQ ,, =− , (BOPD) ...……………. (7) The entering new reservoirs that will tie-in with existing reservoir are common occurrence in the real case. In this example, Reservoir-B will enter to PLAT-B and shared their production and injection to fulfill the target oil rate. At the beginning when reservoir pressure in Reservoir-B is still high, then Reservoir-C should reduce the production to keep balancing. At the beginning of n-days, PLAT-B is fully contributed from Reservoir-C. Afterwards, the both Reservoir-B tie in and produce proportionally with Reservoir-C to fulfill the main field rate target.

CoBPLATo QQ ,, =− , at time step < n-days …………..... (8)

CoBoBPLATo QQQ ,,, +=− , at time step ≥ n-days; (Qo,B = Qo,C) (9) Since this field is contributed from two Platforms, PLAT-A and PLAT-B, which each Platform has its own production rate constraints. These constraints are set due to capacity limitation at the surface process. In definition, production and injection of PLAT-A is contributed only from Reservoir-A. Meanwhile, PLAT-B is divided into two: Reservoir-B (SLAVE2) and Reservoir-C (RCSLAVE3). The PLAT-A has liquid and gas process limitation capacities: 20,000 BFPD of liquid and 70,000 Mscf/day of gas. The liquid constraint is put in higher priority than gas constraint. Meanwhile PLAT-B has gas produced capacity handling where the maximum of 55,000 Mscf/day.

Page 24: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 18 of 165

Since oil field production target (Qo,f) is given to 40,000 BOPD and liquid constraint for PLAT-A is 20,000 BFPD, the balancing production rate as follows:

APLAToFoBPLATo QQQ −− −= ,,, , (BOPD) ……………… (10)

AwAfoAAPLATo QQQQ ,,, −==− , (BOPD) ……………… (11) The liquid guide rates are translated into oil guide rates by dividing them to each platform is water-liquid ratio (WC) from the previous time step. Hence the WC is assumed constant for next time step. The oil and water flow rate are taken from previous time step for Slave-N, with the example calculation for PLAT-A as follow:

)(,

)(,)(

TSTSNf

TSTSNwTSN Q

QWC

Δ−

Δ−= , (fraction) ……………. (12)

)1( )(,)(, TSAAfTSAPLATo WCQQ −=− , (BOPD) ……………… (13) From Equation above, the constraint oil rate for PLAT-B in Eq. 6 can be calculated. Therefore the oil rate constraint for Reservoir-B and Reservoir-C can be solved. If all reservoirs could not fulfill the oil field target, a new well can be drilled and opened. Afterwards, the oil rate can be allocated based on their potential rate with Bottom Hole Pressure (BHP) as limitation. For gas production constraint case, PLAT-A and PLAT-B have gas production constraint of 70,000 Mscf/day and 55,000 Mscf/day respectively. Then it is not true if we put proportionally divided by each group. Besides it represent as not feedback dynamic model, it will affect to liquid produce from each wells. It should be remembered that each well has own well constraint for oil, WC and gas-oil ratio (GOR). To solve this problem by assuming constant GOR from previous time step, following approximation is used as approach for gas production group constraint by choosing the lowest gas production rate each group in a reservoir.

)(1,

1,

1,,,

)(,

)(

TSTS

n

iigi

n

iig

n

iigig

TSig

QQ

QxQQ

Δ−==

=

⎟⎟⎟⎟

⎜⎜⎜⎜

+=

∑∑

,( dayMscf / )…………… (14) Where gas rate ( ,,igQ ) and gas injection rate ( igiQ , ), is taken from previous time step.

Since during Plateau rate, the GOR will be higher and higher until some time, then the constraint should have a threshold for next calculation. The gas threshold constraint has set to be greater or equal to gas rate at previous time step.

Page 25: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 19 of 165

If )(, TSigQ is greater than gas threshold constraint, then use )(, TSigQ as gas constraint for

next calculation (Use the greater value between )(, TSigQ and gas threshold for next

time step gas rate constraint). Then for another group, the gas constraint form higher gas rate can be formulated as follows:

igjg QConstraGasQ ,, int−=

, ( dayMscf / ) …...…….. (15) Where the subscript i and j are refer to group name of a reservoir. Because Reservoir-B is dead-oil reservoir which is containing non-zero Gas-Oil Ratio (GOR) and none gas injected there, then the gas rate constraint should be set to infinity as default (1.E+20 Mscf/day) each group then Eq. 15 could be applied. The developed logical approachment here is only local approachment to the current case that depends on the production- scheme management. The logical approachment above is therefore going to be translated and scripted into logical controller, Optimizer and VBScript to develop alternate RC solution. In RC ECLIPSE feature the group constraint in the slave’s dataset will follow automatically the master dataset. In this example, the applied reservoir management scenario and process capacity limits are chosen with the purpose of illustrating production and injection coupling effects. The reason of allocation strategy is also not necessary to discuss intensively here or it might be an optimization scenario after alternate RC solution has been verified with RC ECLIPSE feature.

3.3.2. Injection Constraint Both gas and water injection rate are a function of the production performance (see Fig.2). The half field gas produced is being re-injected to Reservoir-A and Reservoir-C. Meanwhile the 0.8 water produced is being injected to those reservoirs. The main difficult part is how pre-estimating the injection rate since Reservoir-B also will contribute the gas production after it enters the production system after 58 days. For water injection, it is easier because the all water produced from Reservoir-B is directly re-injected without sharing with other reservoirs in the system. At the ECLIPSE master runs, it apportioned the available injection gas between Reservoir-A and Reservoir-C in proportion to their volumetric voidage. Each Reservoir/Slave has two groups that has different injection phase to them. If the injection phase to the groups are equal, the group rate constraint (for phase defined such as: oil, water, liquid, gas) in keyword GCONPROD put proportionally. For instance, Reservoir-A (RCSLAVE-1) has two groups that have been described above. The Group-A1 is injected by gas which is from a half of gas surface produced,

Page 26: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 20 of 165

another is injected by water. Through using engineering sense, Group-A1 is going to produce more gas than in Group-A2. However, when each slave was simulated individually the injection constraints had to be pre-estimated and formulated. The first step is put all reservoirs unconstrained to know their injection potential then choose the highest gas injection rate one in reservoir as a base formulation. Thereafter formulate the injection factor (α) each phase (subscript p) as the injection control to the possibly highest injected rate reservoir. The following approximation is used in the logical scripted logic controller.

( )10,

..1,

1,

.1,.,,

≤<⎟⎠

⎞⎜⎝

⎛+

⎟⎠

⎞⎜⎝

⎛++

=

−+==

−=

∑∑

∑p

resinjNonresinj

n

iipi

n

iip

resinjNon

n

iipresinjipiip

p

QQ

QQQαα

, (fraction) ….... (16)

For Gas injection factor;

( )10,

..1

,1

,

.1,.,,

≤<⎟⎠

⎞⎜⎝

⎛+

⎟⎠

⎞⎜⎝

⎛++

=

−+

∑∑

==

−=

gn

iigi

n

iig

resinjNon

n

iigresinjigiig

g

resinjNonresinj

QQ

QQQαα

, (fraction) ….... (17)

For Water injection factor;

( )10,

..1

,1

,

.1,.,,

≤<⎟⎠

⎞⎜⎝

⎛+

⎟⎠

⎞⎜⎝

⎛++

=

−+

∑∑

==

−=

wn

iiwi

n

iiw

resinjNon

n

iiwresinjiwiiw

w

resinjNonresinj

QQ

QQQ

αα

, (fraction) …... (18) Where ipQ , phase (gas, water) flow is rate for highest possibility injection rate

potential in particular reservoir and ipiQ , is phase (gas, water) injection flow rate for

highest possibility injection rate. At the beginning, the injection allocation gives Reservoir-A and Reservoir-C an equal share of the available field injection rate. Once Reservoir-B is put on production, then the apportioned injection with formulas above will be applied.

Page 27: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 21 of 165

3.4. Sample Approach: RC with ECLIPSE RC Special Feature In this technique, the RC feature in ECLIPSE is initialized and launched through Pipe-It project (see Fig.19). The previous section has described how to activate ECLIPSE Reservoir Coupling Feature in stand-alone mode. The process of reservoir coupling is similar to ECLIPSE Launcher. To launch ECLIPSE through Pipe-It project, it needs writing a command to the scripter in the Pipe-It component. There are two keywords can be written to the scripter in the Pipe-It for stand-alone mode, here as follows:

The scripts above will call the RCMASTER.DATA and run reservoir coupling mode. The reservoir coupling model comprises three separate simulation models controlled by a master model. The master model that was created is the second type of master as “dummy” reservoir without wells and has single grid block. Prior to execute into ECLIPSE, Master model should be run into PRE-ECL with Platform Summary file (PSM) input file which is containing detail information for platforms, wells, and perforations. All slaves should be connected to scripter and run together with Master run. Then every slaves and master has report file (PRT format). The schematic of this sample approach through Pipe-It is depicted in Fig. 17. The licenses that we need to process this case are 4 licenses (for a master file and 3 slaves) and 1 license for reservoir coupling. Hence the RC simulation could not run without having RC license. In addition, Pipe-It project needs additional keywords for running RC ECLIPSE feature. By adding keywords UNIFOUT and UNIFIN in the RUNSPEC section of dataset to release UNSMRY file that needed to convert ECLIPSE output File to Streamz/strexcel with Streamz format (.str). Then with creating driver file, Streamz will collect and launch the results of production and injection profile. These results (with Streamz format) then will be compared and discussed in the next part.

Scripts to launch and run ECLiPSE Master run: c:\ecl\macros\eclrun.exe eclipse RCMASTER.data OR cmd /c $eclipse RCMASTER

Page 28: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 22 of 165

3.5. Proposed Approach: RC with Scripted Logic Controller In this section, it is going to develop alternative RC solution in by solving the current limitation in fully RC dynamic models through Pipe-It Project. In this technique, it is introducing how to replace the Master Dataset which contains global production and injection constraint with Optimizer and VBScript as Superset Master and logic controller. Optimizer and VBScript logical approximation are made as equal as Master run does in RC ECLIPSE feature. In the Coupling Scheme part, it has been described the logical approximation behind the Master runs. Of course, the minor changes to each original Slave dataset should be done. It will need more effort to do this especially to logical process flow as shown in Fig.3. In this approach, the input file will be separated into five integrated sections (see Fig.18) that Optimizer and VBScript become a key control as follows:

3.5.1. Initial Run The essential purpose of initial run each slave reservoir models is to construct and provide the potential production and injection rate each individual reservoir. This potential rate is needed as guide rate for controlling production and injection rate each group at next time step (transition and restart runs). At the initial runs, the production and injection of each group are set proportionally. The VBScript will command to fetch production and injection value from report file (PRT format) that is needed for next time step input calculation as described above (see APPENDIX C). There are two methods in executing the composite: Parallel and Sequential. Since RC ECLIPSE is running in parallel mode, then each slave here will be run in parallel execution as well through Pipe-It. Prior to run the project, minor change should be done inside slave dataset. For instance, the modification in RCSLAVE-1 dataset is shown in Fig.21. Several modifications and their purpose are described as follows:

o RUNSPEC Section In this section, there are located additional keywords to support this RC approach which are: UNIFOUT, UNIFIN and SAVE. It is necessary to put keyword SAVE for restart run where the file has to be saved for each time step

RUNSPEC TITLE DIMENS .... .... .... .... UNIFOUT UNIFIN

Page 29: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 23 of 165

report. However, it needs modification in SOLUTION and SHEDULE sections as well to create SAVE file. Hence this construction then as a part of preparation for restart runs (if using fast restart).

o SOLUTION Section In this section, it is necessary in ECL100 runs to add keyword RPTRST to create restart files which is followed by integer value. This keyword is put in the SOLUTION section. In this case, we use basic equal to two. This means restart files are created at every report time until this switch is reset and all are kept.

In other hand, in keyword RPTSOL, it can be added keyword 'RESTART=2' to create restart files. The meaning of this keyword is and mnemonic “2” is to give output of the initial RESTART file every report time until the switch is reset and one are deleted.

o SCHEDULE Section Similar with RPTSOL, keyword RPTSCHED, it is added keyword 'RESTART=2'. The meaning of this keyword and mnemonic “2” is RESTART files are created at every report time until the switch is reset and one are deleted. If both keywords are showed, the RPTRST has higher prioritized and others will be overridden. However keyword RPTRST is more flexible such if we want to put additional data to restart file. In this case we add keyword RPTSCHED to report production and injection summary, that are needed data to be extracted there. The further explanation will be seen in restart runs section. In order to make easier the link inside the Pipe-It, the group control production and injection is separated as include file. The initial time step (tinit) run is put at day 1 (one) or January 2nd, 2010. The keyword SAVE file is needed for restart run that will be explained more detail in the next section.

RUNSPEC TITLE GRID EDIT PROPS REGIONS SOLUTION … RPTRST BASIC=2 /

Page 30: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 24 of 165

3.5.2. Transition Run

The essential purpose of transition run is to translate logical approachment in Coupling Scheme section above, formulate with scripter and distribute new input the production and injection constraints using VBScript and Maplinkz (with Optimizer) to each group in each Reservoir (see Fig.20). However fetching input file in this section has been done by using Maplinkz. This purpose is demonstrating if Pipe-It is flexible of transferring the data file. The initial target input that has provided from previous runs (at 1 day) will be processed by VBScript (see APPENDIX C) to give a new constraint input to each Reservoir for particular time step. Following all reservoir runs parallel, then proceed as initial runs script command to take a new constraint of the group production and injection rate from current report file for restart runs.

RUNSPEC ... ... ... ... UNIFIN UNIFOUT SAVE / GRID ... EDIT ... PROPS ... REGIONS ... SOLUTION ... RPTRST BASIC=2 / RPTSOL 'PRES' 'SWAT' 'RS' 'FIP=2' 'EQUIL' 'RESTART=2' 'RSVD' / SUMMARY ... SCHEDULE RPTSCHED 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'RESTART=2' 'WELSPECS' / INCLUDE SCHEDULE1-INIT.INC / TSTEP tinit / /

Page 31: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 25 of 165

The production and injection constraint of each group are set based on recommendation from VBScript. Therefore the scripted will keep running as dynamic feedback as possible each time step runs. However, there is some keywords should be deactivated before running the transition runs each Slave dataset (from original datasets). These keywords are SKIPREST and QDRILL are deactivated. The SKIPREST instruct ECLIPSE to skip the subsequent keywords in Schedule section of restart runs time step of restart run reached, including the group control data (GCONPROD and GECONINJE). If this keyword is activated, it will instruct to use the previous group control data. Therefore it does not give a dynamic feedback condition. The keyword QDRILL is also should be deactivated since these data has been provided before at initial runs. The calculation results that becomes the include file for Restart data, are shown as follows: Input file as include named SCHEDULE1-R.inc for Reservoir-A (RCSLAVE-1):

GCONPROD -- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID -- NAME MODE RATE RATE RATE RATE ACTION FLD RATE 'G-A1' 'LRAT' 1* 1* QgA1 QfA1 'RATE' 'NO' / 'G-A2' 'LRAT' 1* 1* QgA2 QfA2 'RATE' 'NO' /

/ GCONINJE -- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID -- NAME INJ MODE FLD RATE

'G-A1' 'GAS' 'REIN' 1* 1* αg /

'G-A2' 'WAT' 'VREP' 1* 1* 1* αw / / -- Previous time step calculation TSTEP (CurrentSimstart) / -- UsertimeStep TSTEP (UserTimeStep- CurrentSimstart-tinit) / SAVE

Page 32: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 26 of 165

Input file as include named SCHEDULE2-R.inc for Reservoir-B (RCSLAVE-2):

GCONPROD -- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID -- NAME MODE RATE RATE RATE RATE ACTION FLD RATE 'GR-B1' 'ORAT' 0 0 1* 0 'RATE' 'NO' / 'GR-B2' 'ORAT' 0 0 1* 0 'RATE' 'NO' / / -- GCONINJE -- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID -- NAME INJ MODE FLD RATE -- 'GR-B2' 'WAT' 'VREP' 1* 1* 1* 1.0 NO / -- / TSTEP (Current Sim. Start) / --Time Reservoir-2 entering the system TSTEP (TIMESLAVE-2) / GCONPROD -- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID -- NAME MODE RATE RATE RATE RATE ACTION FLD RATE 'GR-B1' 'ORAT' Qo B1 1* 1* 1* 'RATE' 'NO' / 'GR-B2' 'ORAT' Qo B2 1* 1* 1* 'RATE' 'NO' /

/ GCONINJE -- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID -- NAME INJ MODE FLD RATE 'GR-B2' 'WAT' 'VREP' 1* 1* 1* 1.0 NO / / -- Previous time step calculation TSTEP (TIMESLAVE-2) / -- UsertimeStep TSTEP (UserTimeStep - (2*TIMESLAVE-2) - CurrentSimstart-tinit) / SAVE

Page 33: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 27 of 165

Input file as include named SCHEDULE3-R.inc for Reservoir-C (RCSLAVE-3):

--Before Reservoir-B entering the system GCONPROD -- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID -- NAME MODE RATE RATE RATE RATE ACTION FLD RATE 'GR-C1' 'ORAT' QoC1 1* QgA1 1* 'RATE' 'NO' / 'GR-C2' 'ORAT' QoC2 1* QgA2 1* 'RATE' 'NO' /

/ GCONINJE -- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID -- NAME INJ MODE FLD RATE

'GR-C1' 'GAS' 'REIN' 1* 1* (1-αg ) /

'GR-C2' 'WAT' 'VREP' 1* 1* 1* (1-αw ) / / TSTEP (Current Sim. Start) / --Time Reservoir-2 entering the system TSTEP (TIMESLAVE-2) / --After Reservoir-B entering the system GCONPROD -- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID -- NAME MODE RATE RATE RATE RATE ACTION FLD RATE 'GR-C1' 'ORAT' QoC1 1* QgA1 1* 'RATE' 'NO' / 'GR-C2' 'ORAT' QoC2 1* QgA2 1* 'RATE' 'NO' /

/ GCONINJE -- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID -- NAME INJ MODE FLD RATE

'GR-C1' 'GAS' 'REIN' 1* 1* (1-αg ) /

'GR-C2' 'WAT' 'VREP' 1* 1* 1* (1-αw ) / / -- Previous time step calculation TSTEP (TIMESLAVE-2) / -- UsertimeStep TSTEP (UserTimeStep - (2*TIMESLAVE-2) - CurrentSimstart-tinit) / SAVE

Page 34: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 28 of 165

3.5.3. Restart Run The essential purpose of Restart run each slaves reservoir models is equal purpose to transition runs with updating group constraint each reservoir per time step run using VBScript (see APPENDIX C). Then, it will stop running until time step end reached. In this process renaming the new files for restart runs becomes one of important part. It will be handled by Maplinkz and Optimizer. They will run the similar data file as in Transition runs and replace every new time step runs. Besides, the Optimizers will provide and handle optimization method of time step end iterations. As we can see from APPENDIX F, the format is provided for flexible restart runs. They are two restarting methods in ECLIPSE, fast and flexible. The reasons of using flexible restart than Fast restart here are there is no restriction to allow restarts from different version of ECLIPSE. In addition, it is able to run the restart with modification from RUNSPEC to REGIONS section.

3.5.4. Data Collection Aggregation The result from initial until the end of time step will be collected in Streamz format. By using Streamz driver file script, it will collect and tabulate each time step recorded. The tabulated data could be chosen by Slave, group or well. Since we control in the group level, the tabulated data by Slave and Group are more necessary.

3.5.5. Results and Plots All the result that needed to be plotted and compared is located at reporting section. The calculation and optimization results in Streamz format are transferred as input from Data collection and Aggregation section and connected to Plot application. The Plot application with particular scripting is flexible for producing the output Plot. The plot can be produced in bitmap/JPG format or Portable Document Format (PDF). In this project, the results will be shown in the PDF. The main reason of producing output Plot in PDF is it can produce multi-plot in one file of PDF. Otherwise it is needed one file each plot if using bitmap. Hence besides the smaller size, PDF has advance than bitmap format. The Plot output is going to be used in the result and discussion part.

Page 35: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 29 of 165

4. RESULTS AND DISCUSSION 4.1. Verification Result The demonstration and explanation between two method approaches have been done in previous section. The results evaluation of both should be performed as verification. This case has multiple operating conditions that need to be honored at different levels. The desired operating conditions are plateau field oil target, liquid-facility limit, and gas-facility limit (as illustrated in Fig.2).

4.1.1. Production and Injection Profile The results of the production and injection behavior of two approaches are shown APPENDIX A (Figs.22 through 35) featuring with y-axis error bar of 5%. The production scenario is 365 days and restart keyword is implemented each year. The total production time is 730 days (2 years). As a base case, the project time step is run in each 365 days as similar as ECLIPSE RC. The field oil production performance has matched fulfilling the field oil target of 40,000 BOPD at first 211 days (see Fig.22). The scripted logic approximation gives longer Plateau rate than ECLIPSE RC does. However after 288 days, it gives steeper oil rate. Meanwhile the oil production each reservoir (Reservoir-A, B and C) also gives a good matched between two approaches as plotted in Figs.27 through 29. The variation occurred greatly in Reservoir-A going steeper after first 400 days. The maximum gas and liquid rate constrained its oil production. The decreasing oil production in Reservoir-A was the main reason of the oil field rate has declining. Otherwise the production from Reservoir-B and Reservoir-C was increased proportionally to still fulfill the oil field production target. Evaluation of propose approach is depicted in Figs.36 through 41 especially in gas production constraint and injection constraint. As we can see in Fig.36, the gas rate constraint for Group-A1 which is being injected by gas was put too small. However gas production rate constraint of proposes approach for Group-A2 has a good match at first 280 days (See Fig.37). Since the gas rate constraint of propose approach was too pessimistic, then the new well could not open at the same time at ECLIPSE RC from Reservoir-A to fulfill the oil field target at time step 408.5 days. At that time in ECLIPSE RC, the existing well PA-1 at Group-A1 has closed due to its GOR over the limit of 10 Mscf/STB. Then well PA-3 and PA5 were opened. However at Pipe-It RC, these wells were not opened yet due to GOR of existing wells were still below the limit.

Page 36: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 30 of 165

The evaluation of gas and water injection factor (α) has a good match before entering Reservoir-B (before day 58). Afterwards, gas and water injection factor for propose approach has showed inversely with the sample approach. It is probably caused by assumption of using constant GOR from previous time step is too long where at the initial step, between shared Injected reservoir gives equal gas injection potential. After entering Reservoir-B, then Reservoir-C reduced its oil production. It will cause the gas production from Reservoir-A greatly higher than Reservoir-C. In the future, the logic approximation should be evaluated and improved with advance one. The difficulty of using logic approach here to honor the desired operating conditions for this problem arises from interdependencies of the involved target and limits. An indication of these dependencies such if changing the particular group constraint to meet oil target, it affect one or more of the rest operating criteria including another group/s. In both sample and propose approaches of RC, the master dataset can only control the wells indirectly through group constraints. Consequently the intervention type well management events such as work over or drilling new well cannot be triggered by global constraints. If the field or group’s gas or water limit capacity is reached, the order to close or work over the wells with highest water cut will not be passed on to the slaves. Instead, each slave would have to have its work over well management keywords. For instance, water production rate also matched with between two approaches until 500 days but not in gas production rate. The discrepancies observed of the approximation errors in predicting gas and water rate (production and injection) limitation each reservoir since injection rate was a function of the production performance. Based on ECLIPSE RC, additional well (at 408.5 days) has been opened (due to another well over GOR limit then shut in) in water injected-group (well PA-5 at Group-A2), then it will cause greater water production from this group. In the Pipe-It RC, this well did not opened yet because the GOR was still below the limit. In addition, the used assumption of gas and water rate constraint remain constant from previous time step as a substitute for a dynamic feedback will affect to the production and injection system. For instance, if the time step calculation put on 365 days, then the fluid production and injection constraint remain constant during that period. This becomes error of the calculation. In the sensitivity analysis part, reducing the project time step has been performed. Overall, the developed of logic approach control in reservoir coupling has succeed to demonstrate and replace the Master runs but it needs more improvement and advance in algorithm approximation especially in predicting injection rate constraint.

Page 37: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 31 of 165

4.1.2. Cumulative Production and Injection The cumulative fluid production and injection at 730 days between two approaches are shown in Figs.42 through 45. Overall, propose approach gives smaller fluid production and injection than sample approach (ECLIPSE RC). The cumulative oil and gas production differs 4.1% and 5% respectively. The greatest discrepancy of cumulative oil occurred in Reservoir-A with differences 15%. As explained above, the gas rate constraint that was set in Reservoir-A was too small then it affect the both its production and injection rate. Meanwhile the water production differs 31.8% that mainly occurred after first 500 days where the reason has explained above. As mentioned above, due to difficulties in predicting gas and water injection each reservoir, the gas and water injection give enormous differences with more than 20% each between two approaches.

4.1.3. Computation time

Both approaches that launched from Pipe-It project has been tested and recorded for 30-times running due to stability of machine used. Once should be remembered that both approaches has been performed using ECLISPE stand-alone mode and server license. It means that it requires some time for checking the ECLIPSE license. The checking license is function of project time step (differs with simulation time step). The checking license was required average 15.3 second at testing condition. Pipe-It required at least 3 times for checking ECLIPSE server licenses each section (Initial, transition and Restart). However ECLIPSE RC needed once parallel time for checking the license. The average total computation time for ECLIPSE RC and Pipe-It RC were 50.83 and 66.8 second respectively (including checking the license of 15.3 second at testing condition). Theoretically in case this project will run without checking license, ECLIPSE RC and Pipe-It RC required of 35.53 and 20.55 second respectively (see Fig.46). The simulation time step until 730 days both ECLIPSE RC is higher than Pipe-It where ECLIPSE RC has total 35 data and Pipe-It RC has total 21 data. Since the computation time is function of simulation time step. In case if we compare at the same total time step, the actual variation computation performance believes pretty similar. In addition the propose approach involved separated integration process to accomplish its result. The breakdown of its process actually is shown by integrated timeline console view within Pipe-It project (see example Timeline in Fig.47). The longest time-consuming has arisen when running the restart process (see Fig.48). It takes 31.2 % time-consuming of all process. The initial and transition runs take

Page 38: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 32 of 165

place 27.9 and 30% respectively. The collection and aggregation only takes 11% time-consuming.

4.1.4. Sensitivity Study to Project Time Step Sensitivity to Project Time Step (PTS) has performed to know the effect of constraint determination as dynamic feedback to degree of accuracy compare to ECLIPSE RC data set. The sensitivity has done with put shorter of PTS from 365 days as base case to 73 days. The result can be seen in Fig.49-54. Once production and injection constraint determines every 73 days, it will optimize the production and injection rate. As shows in Fig.49, oil production profile has a good match at first 380 days. The shortest project time step at Pipe-It project would update the constraint more often. The gas production profile also gave closer with ECLIPSE RC. Otherwise water production profile going far away from ECLIPSE RC. Comparing with ECLIPSE RC, cumulative oil production of Reservoir-A Group-A1 variation of PTS 365 days and 73 days are 10.1% and 10.7% respectively. Meanwhile Group-A2 variation of PTS 365 days and 73 days are 14.5% and 7.2% respectively. Both cases could not reach the maximum GOR limit each well. Consequently there were no additional wells to be opened to fulfill the target oil rate. It demonstrates complexity of using logic approach here to honor the desired operating conditions for this problem arises from interdependencies of the involved target and limits. 4.2. Benefit and Limitation Following with the result verification, it could be noticed that Optimizer and VBScript has successfully been act as Master runs using scripted logic controller and could replace the Master file in RC feature in ECLIPSE with advance improving in logic approximation later on. Therefore the limitation of current RC feature has been solved by using Pipe-It RC. Pipe-It also provides for a new reservoir or satellite platform as tie-in (in the future) to be easily integrated to the system. This case has been demonstrated in this study with entering Reservoir-B. This reservoir entered to the system after particular time step started. In the future, there is no limitation anymore to couple black oil reservoir and compositional model into the system since Pipe-It does not require RC ECLIPSE license to perform RC scheme. In addition, there is no limitation number of slaves could be coupled (it is possible greater than 20 Slaves simultaneously with proper machine). Fetching output file and distributing input file stream starts from one section to next section has been demonstrated by two methods: using VBScript and Maplinkz with Optimizer. Besides formulating, VBScript can be used both for fetching and distributing the output file. However, if the output file or keyword is changing each

Page 39: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 33 of 165

time step, it is rather complex script should be made. Then Maplinkz with optimizer could be a solution for this case. Hence Pipe-It is flexible for fetching and distributing input and output stream file. By using Pipe-It project, sensitivity scenario can be made easily from Optimizer without changing manually from simulation dataset as long as we have made links what we desire. This case has been demonstrated by performing PTS sensitivity. The proposed approach need improvement and advance logical algorithm to increase the degree of accuracy. It does not have good capability of estimating injection requirements. Since injection rate was a function of the production performance. Dealing with Pipe-It project preparation, dataset must be modified and logic controller should be developed to perform RC scheme with Pipe-It. Therefore the preparation with Pipe-It will take some time. However the basic technique and keywords has already explained in this study, then it is not a big deal to perform reservoir coupling within Pipe-It.

Page 40: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 34 of 165

5. CONCLUDING REMARKS AND RECOMMENDATIONS

5.1. Concluding Remarks 1. Both Reservoir Coupling (RC) approaches have been successfully developed,

constructed and launched with Pipe-It project then verified the production and injection results with overall matched between two approaches with cumulative oil error of 4.1%. The discrepancies observed of the approximation errors due to difficulties in predicting injection rate and assumption used in the propose approach.

2. The limitation of current RC feature has been solved. Optimizer and VBScript has

successfully been act as Master runs using scripted logic controller with Pipe-It and could replace the Master file in RC feature in ECLIPSE with advance improving in logic approximation.

3. The scripted logic approach does not have adequate capability of estimating

injection requirements. Since injection rate was a function of the production performance. Therefore it requires improvement and advance logical algorithm to increase the degree of accuracy.

4. The average total computation time for ECLIPSE RC and Pipe-It RC were 50.83

and 66.8 second respectively (including checking the license of 15.3 second at testing condition). Theoretically in case this project will run without checking license, ECLIPSE RC and Pipe-It RC required of 35.53 and 20.55 second respectively. The simulation time step until 730 days both ECLIPSE RC is higher than Pipe-It where ECLIPSE RC has total 35 data and Pipe-It RC has total 21 data. Since the computation time is function of simulation time step. In case if we compare at the same total time step, the actual variation computation performance believes pretty similar.

5. The Pipe-It project has flexibility in doing sensitivity, fetching, formulating and

distributing input/output file. Pipe-It also provides for a new reservoir or satellite platform as tie-in (in the future) to be easily integrated to the system.

5.2. Recommendations The extension work to make this study more comprehensive might be as follows: 1. Improvement in logical algorithm and approximation is necessary to increase the

degree of accuracy especially in predicting injection rate constraint.

Page 41: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 35 of 165

2. Implementation of coupled among compositional reservoir models currently has

been developed within Pipe-It Project by others (Rahmawati, S.D, et al, 2010). This study purpose is to verify if current limitation has been proved to be solved. Furthermore, Pipe-It could be an alternate RC solution with variety of Reservoir model by improving in logic approximation to increase the degree of accuracy.

3. For more complex reservoir models such as full-field case, it is not recommend

running in one machine (stand-alone mode). Besides the computer should be work harder and need higher specification, it will very time consuming. It can be run in parallel on different machines.

Page 42: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 36 of 165

NOMENCLATURE

A,B,C,D,E,F user-supplied power and coefficients API American Petroleum Institute AS Aksjeselskap (Company Abbreviations in Norway, Denmark) BHP Bottom hole pressure BO Oil factor volume formation CPU Central Processing Unit Cum. Cumulative ECL100 ECLIPSE 100 for black oil model ECL300 ECLIPSE 300 for compositional model Fig./Figs. Figure/s FSO File System Object ft Foot (unit) GB Gyga bytes GCONPROD Group Control Production GCONINJE Group Control Injection GOR Gas-oil ratio

pGR well’s or groups guide rate of the nominated phase (oil, water, gas or liquid) GUI Graphics User Interface IAM Integrated Asset Management Inc. Include (file) Init. Stand for initial condition JPG Joint Photographic Group, a bitmap compression formats for picture and image filesmd Milidarcies MPI Message Passing Interface Mscf/day Thousand Standard cubic feet per day P Pressure PDF Portable Document Format

pPOT well’s or groups potential flow rate of the nominated phase POTN Potential rate PPO Pipe-It Optimizer format file PPV Pipe-It project Visual format file PTS Project Time Step psi pounds per square inch absolute PSM Platform Summary file, Petrostreamz format file PVM Parallel Virtual Machine PVT Pressure Volume Temperature

FoQ , Oil field rate target

APLAToQ −, Oil rate constraint of Platform-A

BPLAToQ −, Oil rate constraint of Platform-B

Page 43: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 37 of 165

AoQ , Oil rate constraint of Reservoir-A

BoQ , Oil rate constraint of Reservoir-B

CoQ , Oil rate constraint of Reservoir-C

AfQ , Fluid rate of Reservoir-A

1, AfQ Fluid rate constraint of Group-A1

2, AfQ Fluid rate constraint of Group-A2

AwQ , Water rate constraint of Reservoir-A

)(, TSTSNfQ Δ− Fluid rate constraint of Platform –N at previous time step

)(, TSTSNwQ Δ− Water rate constraint of Platform –N at previous time step

igQ , Gas rate constraint fore lowest gas production rate

TSigQ ,, Gas rate constraint at current time step for group-i

,gQ Gas rate constraint of Platform –A

jgQ , Gas rate constraint fore highest gas production rate

igiQ , Gas Injection rate for group-i

ipQ , Production Rate at particular phase (gas and water) for group-i

ipiQ , Injection Rate at particular phase (gas and water) for group-i

iwQ , Water Production Rate for group-i

iwiQ , Water Injection Rate for group-i

1R , 2R phase potentials ratios which depend on the nominated phase RC Reservoir Coupling RS solution gas oil ratio RB/D reservoir barrel per day SC Standard Condition sec Second (time unit) STB/D stock tank barrel per day THP Tubing Head Pressure VBScript Visual Basic Scripting

)(TSNWC Water Cut Platform –N at current time step

)(nAWC Water Cut Platform –A at current time step WSH Windows Script Host % Percentage

Page 44: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 38 of 165

GREEK SYMBOL

α Injection Factor (g =gas, w = water) Ʃ Summation of the numbers indicated Δ Increment in a variable, Interval

Page 45: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 39 of 165

REFERENCES ECLIPSE Simulator Suite, Version 2009.2 Technical Description. 2009. Schlumberger. ECLIPSE Simulator Suite, Version 2009.2 Reference Manual. 2009. Schlumberger. ECLIPSE Simulator Suite, Version 2009.2 ECL-Run. 2009. Schlumberger. Haugen, E.D., Holmes, J.A., and Selvig, A. 1995. Simulation of Independent Reservoirs Coupled by Global Production and Injection Constraints. Paper SPE 29106-MS presented at SPE Reservoir Simulation Symposium, San Antonio, Texas, USA, 12-15 February 1995. Personal communication with C.H. Whitson. 2010. Trondheim: NTNU & PERA AS. Personal communication with M.F. Hoda. 2010. Trondheim: PERA AS. Petrostreamz AS. 2010. Pipe-It Manual, http://support.petrostreamz.com/ (accessed April 2010). Petrostreamz AS. 2010. Strexcel Command Specification, http://trac.petrostreamz.com:9000/wiki/StrExcel (accessed May 2010). Petrostreamz AS. 2010. Strexcel Function Specification http://trac.petrostreamz.com:9000/wiki/StrExcel (accessed May 2010). Streamz, Version 1.1 Manual. October 2002. Trondheim, Norway. PERA AS. Rahmawati, S.D., Whitson, C.H., Foss, B., and Kuntadi, A. 2010. Field Asset Integrated Optimization Benchmark. Paper SPE 130768 presented at the SPE EUROPEC/EAGE Annual Conference and Exhibition held in Barcelona, Spain, 14–17 June 2010. Wikipedia. 2010. VBScript, http://en.wikipedia.org/wiki/VBScript (accessed May 2010).

Page 46: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 40 of 165

SI Metric Conversion Factors bbl x 1.589873 E-01 = m3 ft3 x 2.831685 E-02 = m3 psi x 6.894757 E+00 = kPa

Page 47: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 41 of 165

APPENDIX A - Figures

Fig.1 – Fully Reservoir Coupling Overview

Fig.2 – ECLIPSE Reservoir Coupling Overview

Page 48: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 42 of 165

Fig.3 – The RC Process Overview in Scripted Logic Controller Module within Pipe-It Project

Fig.4 – Pipe-It Elements and Components

Page 49: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 43 of 165

Fig.5 – Optimizer and Project Relationship (Adopted from Petrostreamz AS, 2010)

Fig.6 – Optimizer: An Example file

Solver option

Objective/Target Direction

Number of Iteration

Page 50: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 44 of 165

Fig.7 – Streamz Flow and I/O (Adopted from Petrostreamz AS, 2010)

Fig.8 – Invoking Streamz: An Example

Double click on Streamz

Page 51: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 45 of 165

Fig.9 – Linkz Window: An Example

Fig.10 – How to Linkz: An Example

Page 52: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 46 of 165

Fig.11 – Maplinkz Application

Fig.12 – Pipe-Itc Application: An Example

Double click on Process

Double click on Process

Launch Pipe-Itc.exe Remarks: --pc : desired composite address to be activated --po : desired of optimizer file name ( *.ppo) file name and also the flag to launch the

optimizer instead of runner

Page 53: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 47 of 165

Fig. 13 – Schematic and Level of Hierarchy Reservoir Coupling in this Thesis

GR-A2GR-A1

PLAT-A PLAT-B

FIELD

SP-CSP-B

GR-B1 GR-B2 GR-C2GR-C1

SLAVE-1Reservoir #2

SLAVE-2Reservoir #3

MASTERReservoir #1

1

2

3

Level of Hierarchy

Fig. 14 – Master data from one of slave dataset

Fig. 15 – Master data as Dummy Reservoir

Page 54: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 48 of 165

Fig. 16 –Synchronization procedure in the ECLIPSE RC for each time step Master data run

Page 55: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 49 of 165

Fig. 17 –ECLIPSE run launched from Pipe-It Project (Stand-alone mode)

Fig. 18 –Process flow of RC Solution using Scripted Logic Controller in Pipe-It Project

Script Command: c:\ecl\macros\eclrun.exe eclipse "Ecl_RC\RCMASTER-PSM.DATA"

Page 56: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 50 of 165

Fig. 19 –Process flow of ECLIPSE RC invoked by Pipe-It Project

Fig. 20 –Process flow of Pipe-It RC: Example of Transition runs

Page 57: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 51 of 165

Original from ECLIPSE Dataset (Previously controlled by Master Dataset)

After modified to be controlled by Scripted Logic Controller

Fig. 21 –Modification examples of Reservoir-A (RCSLAVES-1) from original (above)

GCONPROD -- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID -- NAME MODE RATE RATE RATE RATE ACTION FLD RATE 'G-A1' 'LRAT' 1* 1* QgA1 QfA1 'RATE' 'NO' / 'G-A2' 'LRAT' 1* 1* QgA2 QfA2 'RATE' 'NO' / / GCONINJE -- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID -- NAME INJ MODE FLD RATE

'G-A1' 'GAS' 'REIN' 1* 1* αg /

'G-A2' 'WAT' 'VREP' 1* 1* 1* αw / /

GCONPROD -- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID -- NAME MODE RATE RATE RATE RATE ACTION FLD RATE 'G-*' 'LRAT' 3* 8000 'RATE' 'NO' / / GCONINJE -- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID GRAT -- NAME INJ MODE FLD RATE DEFN 'G-A1' 'GAS' 'RATE' 10 / 'G-A2' 'WAT' 'RESV' 1* 10 / /

Page 58: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 52 of 165

Oilfield Production Performance

0

10 000

20 000

30 000

40 000

50 000

0 100 200 300 400 500 600 700 800

Time, days

Oilf

ield

Rat

e, B

OP

DECLIPSE RC

PIPE-IT RC

Fig. 22 – Field Oil Production Profile: ECLIPSE RC vs. Pipe-It RC The field oil production performance has matched fulfilling the field oil target of 40,000 BOPD at first 211 days (featuring with y-axis error bar of 5%). Since the gas rate of Pipe-It RC was too pessimistic, then the new well could not open at the same time at ECLIPSE RC from Reservoir-A to fulfill the oil field target at time step 408.5 days. At that time in ECLIPSE RC, the existing well PA-1 at Group-A1 has closed due to its GOR over the limit of 10 Mscf/STB. Then well PA-3 and PA5 were opened. However at Pipe-It RC, these wells were not opened due to GOR of existing wells were still below the limit.

Field Gas Production Performance

0

50 000

100 000

150 000

200 000

0 100 200 300 400 500 600 700 800

Time, days

Gas

Rat

e, M

scf/

day

ECLIPSE RC

PIPE-IT RC

Fig. 23 – Field Gas Production Profile: ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%. The variation of gas production at the beginning is affected due to gas production constraint at Reservoir-A was too small. It caused by assumption of using constant GOR from previous time step where at the initial step, between shared Injected reservoir gives equal gas injection potential. After entering Reservoir-B, then Reservoir-C reduced its oil production. It will cause the gas production from Reservoir-A greatly higher than Reservoir-C.

Page 59: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 53 of 165

Field Water Production Performance

0

1 000

2 000

3 000

4 000

5 000

0 100 200 300 400 500 600 700 800

Time, days

Wat

er R

ate,

BW

PD

ECLIPSE RC

PIPE-IT RC

Fig. 24 – Field Water Production Profile: ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%. Based on ECLIPSE RC, additional well (at 408.5 days) has been opened (due to another well over GOR limit then shut in) in water injected-group (well PA-5 at Group-A2), then it will cause greater water production from this group. In the Pipe-It RC, this well did not opened yet because the well’s GOR was still below the limit.

Field Water Injection Performance

0

5 000

10 000

15 000

20 000

25 000

30 000

35 000

40 000

45 000

50 000

0 100 200 300 400 500 600 700 800

Time, days

Wat

er I

nej

ctio

n R

ate,

BW

PD

ECLIPSE RC

PIPE-IT RC

Fig. 25 – Field Water Injection Profile: ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%. The discrepancies observed of the approximation errors due to difficulties in predicting gas and water rate (production and injection) limitation each reservoir since injection rate was a function of the production performance.

Page 60: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 54 of 165

Field Gas Injection Performance

0

20 000

40 000

60 000

80 000

100 000

0 100 200 300 400 500 600 700 800

Time, days

Gas

In

ject

ion

Rat

e, M

scf/

day

ECLIPSE RC

PIPE-IT RC

Fig. 26– Field Water Injection Profile: ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%.

Oil Production PerformancePlatform-A (Reservoir-A)

0

10 000

20 000

30 000

40 000

50 000

0 100 200 300 400 500 600 700 800Time, days

Oil

Rat

e, B

OP

D

ECLIPSE RC

PIPE-IT RC

Fig. 27 – Oil Production Profile of Platform-A (Reservoir-A): ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%.

Page 61: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 55 of 165

Oil Production PerformancePlatform-B (Reservoir-B and Reservoir-C)

0

10 000

20 000

30 000

40 000

50 000

0 100 200 300 400 500 600 700 800

Time, days

Oil

Rat

e, B

OP

DECLIPSE RC

PIPE-IT RC

Fig. 28 – Oil Production Profile of Platform-B (Reservoir-B and C): ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%. The Platform-B oil production profile has good match.

Oil Production PerformanceReservoir-B

0

10 000

20 000

30 000

40 000

50 000

0 100 200 300 400 500 600 700 800

Time, days

Oil

Rat

e, B

OP

D

ECLIPSE RC

PIPE-IT RC

Fig. 29 – Oil Production Profile of Reservoir-B: ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%. The variation of starting point (at 58 days) is due to the average calculation of time step.

Page 62: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 56 of 165

Oil Production PerformanceReservoir-C

0

10 000

20 000

30 000

40 000

50 000

0 100 200 300 400 500 600 700 800

Time, days

Oil

Rat

e, B

OP

DECLIPSE RC

PIPE-IT RC

Fig. 30 – Oil Production Profile of Reservoir-C: ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%. The variation of starting point (at 58 days) is due to the average calculation of time step.

Gas Production & Injection PerformancePlatform-A (Reservoir-A)

0

10 000

20 000

30 000

40 000

50 000

60 000

70 000

80 000

90 000

100 000

0 100 200 300 400 500 600 700 800

Time, days

Pro

du

ctii

on G

as R

ate,

Msc

f/d

ay

0

10000

20000

30000

40000

50000

60000

70000

80000

90000

100000

Inje

ctio

in G

as R

ate,

Msc

f/d

ay

ECLIPSE RC (Prod) PIPE-IT RC (Prod)ECLIPSE RC (inj) PIPE-IT RC (Inj)

Fig. 31 –Gas Production and Injection Profile of Platform (Reservoir-A): ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%. The variation of gas production at the beginning is affected due to gas production constraint at Reservoir-A was too small. It caused by assumption of using constant GOR from previous time step where at the initial step, between shared Injected reservoir gives equal gas injection potential. After entering Reservoir-B, then Reservoir-C reduced its oil production. It will cause the gas production from Reservoir-A greatly higher than Reservoir-C.

Page 63: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 57 of 165

Gas Production and Injection PerformancePlatform-B (Reservoir-B and Reservoir-C)

0

10 000

20 000

30 000

40 000

50 000

60 000

70 000

80 000

90 000

100 000

0 100 200 300 400 500 600 700 800

Time, days

Pro

du

ctio

n G

as R

ate,

Msc

f/d

ay

0

10000

20000

30000

40000

50000

60000

70000

80000

90000

100000

Inej

ctio

n G

as R

ate,

Msc

f/d

ay

ECLIPSE RC (Prod) PIPE-IT RC (Prod)ECLIPSE RC (Inj) PIPE-IT RC (Inj)

Fig. 32 – Gas Production and Injection Profile of Platform-B (Reservoir-B and Reservoir-C): ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%.

Water Production and Injection PerformancePlatform-A (Reservoir-A)

0

500

1 000

1 500

2 000

2 500

3 000

3 500

0 100 200 300 400 500 600 700 800

Time, days

Wat

er R

ate,

BW

PD

0

2000

4000

6000

8000

10000

12000

14000

Wat

er I

nje

ctio

n R

ate,

BW

PD

ECLIPSE RC (Prod) PIPE-IT RC (Prod)ECLIPSE RC (Inj) PIPE-IT RC (Inj)

Fig. 33 – Water Production and Injection Profile of Platform-A (Reservoir-A): ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%.

Page 64: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 58 of 165

Water Production Performance of Platform-B (Reservoir-B and Reservoir-C)

0

400

800

1 200

1 600

2 000

0 100 200 300 400 500 600 700 800

Time, days

Wat

er P

rod

uct

ion

Rat

e, B

WP

D

ECLIPSE RC (Prod)

PIPE-IT RC (Prod)

Fig. 34 – Water Production Profile of Platform-B (Reservoir-B and Reservoir-C): ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%.

Water Injection Performance of Platform-B (Reservoir-B and Reservoir-C)

0

2 000

4 000

6 000

8 000

10 000

0 100 200 300 400 500 600 700 800

Time, days

Wat

er I

nje

ctio

n R

ate,

BW

PD

0

5000

10000

15000

20000

25000

Wat

er I

njec

tion

Rat

e, B

WP

D

PIPE-IT RC

ECLIPSE RC

Fig. 35 – Water Injection Profile of Platform-B (Reservoir-B and Reservoir-C): ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%.

Page 65: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 59 of 165

Gas Production Rate Constraint Profile for Group-A1 (Reservoir-A)Sample vs. Propose Approach

0

20 000

40 000

60 000

80 000

100 000

0 100 200 300 400 500 600 700 800

Time, days

Gas

Pro

du

ctio

n R

ate

Con

stra

int,

Msc

f/d

ayECLIPSE RC

PIPE-IT RC

Fig. 36 – Gas Production Rate Constraint Profile of Group-A1 (Reservoir-A): Calculation of Sample vs. Propose Approach This plot is featured with y-axis error bar of 5%. The variation of gas production rate constraint of proposes approach is shifting after entering Reservoir-B to the system. Reservoir-B is contributing to field gas production and gas injection rate is function of gas production. The Group-A1 is injecting by gas.

Gas Production Constraint Profile for Group-A2 (Reservoir-A)Sample vs. Propose Approach

0

20 000

40 000

60 000

80 000

100 000

0 100 200 300 400 500 600 700 800

Time, days

Gas

Pro

du

ctio

n R

ate

Con

stra

int,

Msc

f/d

ay

ECLIPSE RC

PIPE-IT RC

Fig. 37 – Gas Production Rate Constraint Profile of Group-A2 (Reservoir-A): Calculation of Sample vs. Propose Approach This plot is featured with y-axis error bar of 5%. The variation of gas production rate constraint of proposes approach has a good match at first 280 days.

Page 66: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 60 of 165

Gas Injection Factor (αg) of Platform-ASample vs. Propose Approach

0.00

0.20

0.40

0.60

0.80

1.00

0 100 200 300 400 500 600 700 800

Time, days

Gas

In

ject

ion

Fac

tor

( α

g )

ECLIPSE RC

PIPE-IT RC

Fig. 38 – Gas Injection Factor Profile at Platform-A: Calculation of Sample vs. Propose Approach This plot is featured with y-axis error bar of 5%. Determination of gas injection factor at Platform-A was over the objective. It caused by the gas constraint at Group-A1 was too high. Otherwise Group-A2 has gas constraint too small.

Gas Injection Factor (αg) of Platform-BSample vs. Propose Approach

0.00

0.20

0.40

0.60

0.80

1.00

0 100 200 300 400 500 600 700 800

Time, days

Gas

In

ject

ion

Fac

tor

( α

g )

ECLIPSE RC

PIPE-IT RC

Fig. 39 – Gas Injection Factor Profile at Platform-B: Calculation of Sample vs. Propose Approach This plot is featured with y-axis error bar of 5%. Determination of gas injection factor at Platform-B was below the objective.

Page 67: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 61 of 165

Water Injection Factor (αw) of Platform-ASample vs. Propose Approach

0.00

0.20

0.40

0.60

0.80

1.00

0 100 200 300 400 500 600 700 800Time, days

Wat

er I

nje

ctio

n F

acto

r ( α

w)

ECLIPSE RC

PIPE-IT RC

Fig. 40 – Water Injection Factor Profile at Platform-A: Calculation of Sample vs. Propose Approach This plot is featured with y-axis error bar of 5%. Determination of water injection factor at Platform-A was over the objective.

Water Injection Factor (αw) of Platform-BSample vs. Propose Approach

0.00

0.20

0.40

0.60

0.80

1.00

0 100 200 300 400 500 600 700 800Time, days

Wat

er I

nje

ctio

n F

acto

r ( α

wB

)

ECLIPSE RC

PIPE-IT RC

Fig. 41 – Gas Injection Factor Profile at Platform-B: Calculation of Sample vs. Propose Approach This plot is featured with y-axis error bar of 5%. Determination of gas injection factor at Platform-B was below the objective.

Page 68: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 62 of 165

Cumulative Oil Production @ 730 days

0

1000

2000

3000

4000

5000

6000

7000

8000

GR-A1 GR-A2 GR-B1 GR-B2 GR-C1 GR-C2

Group Name

Cu

m. O

il, M

STB

ECLIPSE RC

PIPE-IT RC

Fig. 42 – Cumulative Oil Production Comparison: ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%. The greatest discrepancy occurred from Reservoir-C with differences 16.7%. Overall, the variation of both approaches for cumulative oil is 4.1 %.

Cumulative Water Production @ 730 days

0

100

200

300

400

500

600

GR-A1 GR-A2 GR-B1 GR-B2 GR-C1 GR-C2

Group Name

Cu

m. W

ater

Pro

d, M

STB

ECLIPSE RC

PIPE-IT RC

Fig. 43 – Cumulative Water Production Comparison: ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%. Overall, the cumulative water variation of both approaches is 31.8 %. This is caused by the gas rate limitation at Group-A2 and Group-C2 was too small. Then it greatly affected to the water production. However if they were put into higher level, the oil rate will be lower level. This is called interdependencies variable of the involved target and limits.

Page 69: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 63 of 165

Cumulative Gas Production @ 730 days

0

5000

10000

15000

20000

25000

30000

35000

40000

GR-A1 GR-A2 GR-B1 GR-B2 GR-C1 GR-C2

Group Name

Cu

m. G

as P

rod

, MM

SCF

ECLIPSE RC

PIPE-IT RC

Fig. 44 – Cumulative Gas Production Comparison: ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%. The greatest discrepancy occurred from Group-A2 is 23.3%. Overall, the variation of both approaches for cumulative gas production is 4.9 %.

Cumulative Gas and Water Injection @ 730 days

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

GR-A1 (GasInj)

GR-A2 (WaterInj)

GR-B1 GR-B2 GR-C1 GR-C2

Group Name

Cu

m. W

ater

In

ject

ion

, MST

B

0

5000

10000

15000

20000

25000

30000

Cum

. Gas

In

j, M

MSC

F

ECLIPSE RC Wat.Inj

PIPE-IT RC Wat.Inj

ECLIPSE RC Gas.Inj

PIPE-IT RC Gas.Inj

Fig. 45 – Cumulative Gas and Water Injection Comparison: ECLIPSE RC vs. Pipe-It RC This plot is featured with y-axis error bar of 5%. The variation of both approaches for cumulative gas and water injection are 28.0% and 23.5% respectively.

Page 70: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 64 of 165

Rough Computation Time Comparison(After reducing with Checking License)

0

20

40

60

80

100

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Number of Run

Ela

pse

d T

ime,

sec

.ECLIPSE RCPIPE-IT RC

Fig. 46 – Computation time Comparison: ECLIPSE RC vs. Pipe-It RC The average total computation time for ECLIPSE RC and Pipe-It RC were 50.83 and 66.8 second respectively (including checking the license of 15.3 second at testing condition). Theoretically in case this project will run without checking license, ECLIPSE RC and Pipe-It RC required of 35.53 and 20.55 second respectively. The simulation time step until 730 days both ECLIPSE RC is higher than Pipe-It where ECLIPSE RC has total 35 data and Pipe-It RC has total 21 data. Since the computation time is function of simulation time step. In case if we compare at the same total time step, the actual variation computation performance believes pretty similar.

Fig. 47 – Integrated Timeline Console View in Pipe-It Project: Example of Transition Runs

The different due to total simulation time step ECL RC is greater than Pipe-It RC

Page 71: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 65 of 165

Fig. 48 – Breakdown Integrated Process of Reservoir Coupling using Pipe-It The longest time-consuming has arisen when running the restart process. It takes 31.2 % time-consuming of all process. The initial and transition runs take place 27.9 and 30% respectively. The collection and aggregation only takes 11% time-consuming.

Breakdown Integrated ProcessPipe-IT Reservoir Coupling

Transition Runs; 30.0%

Initial Runs; 27.9%

Restart Runs; 31.2%

Collection and Aggregation; 11.0%

Breakdown Integrated ProcessECLIPSE Reservoir Coupling launched from Pipe-It

Launch ECL100; 98.5%

Pre-Ecl; 0.4%

Ecl2Str; 0.5%Streamz; 0.6%

Breakdown Integrated Process: Transition Runs

Maplinkz; 14.0%

VBScript; 0.0%

Restart ECL100; 78.7%

Copy File; 7.3%

Breakdown Integrated Process: Initial Runs

VBScript; 5.0%

Streamz 1.5%Copy file; 0.5%

Launch ECL; 88.2%

Ecl2Str; 4.9%

Breakdown Integrated Process: Restart Runs

Ecl2Str; 5.7%

Restart ECL100; 73.9%

VBScript; 1.3%Maplinkz; 19.0%

Breakdown Integrated Process: Collection and Aggregation

Split Production and Injection data; 21.4%

Streamz; 74.0%

Copy file; 4.5%

Page 72: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 66 of 165

Sensitivity to Project Time StepOil Production Performance

Platform-A (Reservoir-A)

0

10 000

20 000

30 000

40 000

50 000

0 100 200 300 400 500 600 700 800Time, days

Oil

Rat

e, B

OP

D

ECLIPSE RC

PIPE-IT RC (Prod) @ PTS 365 days

PIPE-IT RC (Prod) @PTS 73 days

Fig. 49 – Sensitivity Analysis to Project Time Step: 365 days (base case) and 73 days Example of Reservoir-A Oil production rate This plot is featured with y-axis error bar of 5%. The shortest project time step at Pipe-It project would update the constraint more often. The oil production rate profile closer to ECLIPSE’s profile at first 380 days.

Sensitivity to Project Time StepGas Production & Injection Performance

Platform-A (Reservoir-A)

0

20 000

40 000

60 000

80 000

100 000

0 100 200 300 400 500 600 700 800

Time, days

Pro

du

ctii

on G

as R

ate,

M

scf/

day

0

20000

40000

60000

80000

100000In

ject

ioin

Gas

Rat

e, M

scf/

day

ECLIPSE RC (Prod) PIPE-IT RC (Prod) @PTS 365 daysPIPE-IT RC (Prod) @PTS 73 days ECLIPSE RC (inj)PIPE-IT RC (Inj) PIPE-IT RC (Inj) @PTS 73 days

Fig. 50 – Sensitivity Analysis to Project Time Step: 365 days (base case) and 73 days. Example of Reservoir-A Gas production and Injection rate This plot is featured with y-axis error bar of 5%.

Page 73: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 67 of 165

Sensitivity to Project Time StepWater Production and Injection Performance

Platform-A (Reservoir-A)

0

500

1 000

1 500

2 000

2 500

3 000

3 500

0 100 200 300 400 500 600 700 800

Time, days

Wat

er R

ate,

BW

PD

0

2000

4000

6000

8000

10000

12000

14000

Wat

er I

nje

ctio

n R

ate,

BW

PD

ECLIPSE RC (Prod) PIPE-IT RC (Prod) @PTS 365 days PIPE-IT RC (Prod) @PTS 73 days

ECLIPSE RC (Inj) PIPE-IT RC (Inj) @PTS 365 days PIPE-IT RC (Inj) @PTS 73 days

Fig. 51 – Sensitivity Analysis to Project Time Step: 365 days (base case) and 73 days. Example of Reservoir-A Water production and Injection rate This plot is featured with y-axis error bar of 5%.

Sensitivity to Project Time StepCumulative Oil Production of Reservoir-A @ 730 days

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

GR-A1 GR-A2

Group Name

Cu

m. O

il, M

STB

ECLIPSE RC

PIPE-IT RC @ 365 days

PIPE-IT RC @ 73 days

Fig. 52 – Sensitivity Analysis to Project Time Step: 365 days (base case) and 73 days: Cumulative Oil Production This plot is featured with y-axis error bar of 5%. Comparing with ECLIPSE RC, cumulative oil production of Reservoir-A Group-A1 variation of PTS 365 days and 73 days are 10.1% and 10.7% respectively. Meanwhile Group-A2 variation of PTS 365 days and 73 days are 14.5% and 7.2% respectively.

Page 74: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 68 of 165

Cumulative Gas Production of Reservoir-A @ 730 days

0

5000

10000

15000

20000

25000

30000

35000

40000

GR-A1 GR-A2

Group Name

Cu

m. G

as P

rod

, MM

SCF

ECLIPSE RC @PTS 365days

PIPE-IT RC @PTS 365days

PIPE-IT RC @PTS 73days

Fig. 53 – Sensitivity Analysis to Project Time Step: 365 days (base case) and 73 days: Cumulative Gas Production This plot is featured with y-axis error bar of 5%. Comparing with ECLIPSE RC, cumulative gas production of Reservoir-A Group-A1 variation of PTS 365 days and 73 days are 4.51% and 22% respectively. This is caused by a Group-A1 has closed for 70 days towards at the end of simulation.

Cumulative Gas and Water Injection of Reservoir-A @ 730 days

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

GR-A1 (Gas Inj) GR-A2 (Water Inj)

Group Name

Cu

m. W

ater

In

ject

ion

, MST

B

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

50000

Cum

. Gas

Inj

(M

MSC

F)

ECLIPSE RC Wat.Inj

PIPE-IT RC Wat.Inj @PTS 365days

PIPE-IT RC Wat.Inj @PTS 73days

ECLIPSE RC Gas.Inj

PIPE-IT RC Gas.Inj @PTS 365days

PIPE-IT RC Gas.Inj @PTS 73days

Fig. 54 – Sensitivity Analysis to Project Time Step: 365 days (base case) and 73 days: Cumulative Gas and Water Injection This plot is featured with y-axis error bar of 5%. Comparing with ECLIPSE RC, cumulative gas injection of shorter PTS will give more discrepancies of Gas injection due to Group-A1 has closed for 70 days towards at the end of simulation. Otherwise, water injection of shorter PTS will give higher water injection cumulative since during some wells closed, this group is pushed to be allocated more oil production.

Page 75: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 69 of 165

APPENDIX B - Tables

TABLE 1 – KEYPOINTS OF INTRODUCTION VBScript LANGUAGE

Key point Description Procedure A “procedure” is the main construct in VBScript for separating code into smaller

modules. VBScript distinguishes between a function, which can return a result in an assignment statement, and a subroutine, which cannot. Parameters are positional, and can be passed by value or by reference.

Control Structures

Control structures include the usual iterative and conditional Do Loops, If-Then-Else statements, and Case statements, with some more complex variants, such as ElseIf and nested control structures.

Constants As a memory aid in coding, and certainly for readability, there are a large number of constants, such as True and False for logical values, vbOKCancel and vbYesNo for MsgBox codes, vbBlack and vbYellow for color values, vbCR for the carriage return character, and many others.

Variables Variables by default have “Variant” type, but it is possible (and sometimes necessary) using conversion functions to force a particular type (integer, date, etc.) using conversion functions (Cint, CDate, etc.)

User interaction

User interaction is provided through the functions MsgBox and InputBox which provide a simple dialogue box format for messages and input. Both functions display prompting messages, with the former returning a standard response, and the latter returning one user-supplied text or numeric value. For more elaborate GUI interaction with controls, VBScript can be used in combination with HTML, for example, in an HTML Application. Event-driven forms are not supported as in Visual Basic or Visual Basic for Applications.

Names Names are not case-sensitive; therefore, for example, MsgBox and msgbox, or FileSystemObject and filesystemobject, are treated as the same name. However, as usual, it is considered a best practice of VBScript style to be consistent and to capitalize judiciously.

TABLE 2 - CPU EMPLOYED SPECIFICATION

Manufacturer : Toshiba Sat. A205 Processor : Intel Core 2 Duo T520; 1.5GHz Memory/Ram : 4.0 GB System Type : 32 Bit Operating System : Windows Vista Home Premium

TABLE 3 – ECLIPSE RC SUMMARY OUTPUT GROUP CONTROL

Keyword Control Level Description GOPRL Group Group Oil Production Rate Limit GOIRL Group Group Water Production Rate Limit GWPRL Group Group Oil Injection Rate Limit GWIRL Group Group Water Injection Rate Limit GGPRL Group Group Gas Production Rate Limit GGIRL Group Group Gas Injection Rate Limit GLPRL Group Group Liquid Production Rate Limit GVPRL Group Group reservoir Volume Production Rate Limit GVIRL Group Group reservoir Volume Injection Rate Limit

Page 76: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 70 of 165

APPENDIX C - VBScript 'Title: VBScript at Initial Run as Logic Controller 'Purpose: To fetch / extract Production and Injection Rate from Report file each Group and Optimize Reservoir-B (RCSLAVE2) as preparation of input file in Transition run Dim objFSO, objIFile1, objIFile2, objIFile3, objIFile4, objOFile Dim curDir, Output, Input1, Input2, Input3, Input4 Set WshShell = WScript.CreateObject ("WScript.Shell") WScript.Echo (WshShell.CurrentDirectory) curDir = WshShell.CurrentDirectory Set objArgs = WScript.Arguments If objArgs.Count > 0 Then WScript.Echo objArgs.Count WScript.Echo objArgs.Length Input1 = curdir & "\" & objArgs.item(0) Input2 = curdir & "\" & objArgs.item(1) Input3 = curdir & "\" & objArgs.item(2) Input4 = curdir & "\" & objArgs.item(3) Output = curdir & "\" & objArgs.item(4) Else Wscript.Echo "Didn't Find any Arguments in Command Line Exiting The Script" WScript.Quit End If For i = 0 To objArgs.Count-1 WScript.Echo objArgs.item(i) Next di = 0 ' Data to ignore On Error Resume Next Set objFSO = CreateObject("Scripting.FileSystemObject") Set objIFile1 = objFSO.OpenTextFile(Input1, 1) Set objIFile2 = objFSO.OpenTextFile(Input2, 1) Set objIFile3 = objFSO.OpenTextFile(Input3, 1) Set objOFile = objFSO.CreateTextFile(Output, 2)

Page 77: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 71 of 165

'Reservoir-A (RCSLAVE-1) objOFile.WriteLine("Reservoir-A (RCSLAVE-1)") Dim groups() Dim orats Dim wrats Dim grats Dim ginjs Dim winjs i = 0 Set orats = CreateObject("Scripting.Dictionary") Set wrats = CreateObject("Scripting.Dictionary") Set grats = CreateObject("Scripting.Dictionary") Set ginjs = CreateObject("Scripting.Dictionary") Set winjs = CreateObject("Scripting.Dictionary") no_group = -1 no_groupw = -1 no_groupg = -1 no_groupgi= -1 no_groupwi= -1 Do Until objIFile1.AtEndOfStream line = objIFile1.ReadLine a = Split(line, ":") CNTLMODE =(a(2)) CNTLMODEG = (a(4)) CNTLMODEW = (a(3)) 'Identification Control Mode keyword in Production Report RCSLAVE-1 if CNTLMODE = "LRAT" then QO = a(3) QW = a(4) QG = a(5) group = Trim(a(1)) no_group = no_group + 1 ReDim Preserve groups(no_group) groups(no_group) = group orat = QO orats.Add group, orat groupw = Trim(a(1)) no_groupw = no_groupw+1 ReDim Preserve groupws(no_groupw) groupws(no_groupw) = groupw wrat = QW wrats.Add groupw, wrat

Page 78: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 72 of 165

groupg = Trim(a(1)) no_groupg = no_groupg+1 ReDim Preserve groupgs(no_groupg) groupgs(no_groupg) = groupg grat = QG grats.Add groupg, grat End If 'Identification Control Mode keyword in Injection Report RCSLAVE-1 'Gas Injection 'Identification Control Mode keyword in Gas Injection Report RCSLAVE-1 if CNTLMODEG = "REIN" then QGi = a(7) WScript.Echo QGi groupgi = Trim(a(1)) no_groupgi = no_groupgi + 1 ReDim Preserve groupgis(no_groupgi) groupgis(no_groupgi) = groupgi ginj = QGi ginjs.Add groupgi, ginj End If 'Water Injection 'Identification Control Mode keyword in Water Injection Report RCSLAVE-1 if CNTLMODEW = "VREP" then QWi = a(6) WScript.Echo QWi groupwi = Trim(a(1)) no_groupwi = no_groupwi + 1 ReDim Preserve groupwis(no_groupwi) groupwis(no_groupwi) = groupwi winj = QWi winjs.Add groupwi, winj End If Loop ' The notation (i*2) to reduce twice reporting For i = 0 To UBound(groups) WScript.Echo "Oil rate (BOPD) of " & groups(i*2) & " is " & orats.Item(groups(i*2)) objOFile.WriteLine("OilRate(BOPD)"&groups(i*2)&"is "& orats.Item(groups(i*2))) Next For i = 0 To UBound(groups) WScript.Echo "Water rate (BWPD) of " & groups(i*2) & " is " & wrats.Item(groups(i*2)) objOFile.WriteLine("WaterRate(BWPD)of"&groups(i*2)& "is"& wrats.Item(groups(i*2))) Next For i = 0 To UBound(groups)

Page 79: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 73 of 165

WScript.Echo "Gas rate (Mscf/day) of " & groups(i*2) & " is " & grats.Item(groups(i*2)) objOFile.WriteLine("GasRate(Mscf/day)of"&groups(i*2)& "is"& grats.Item(groups(i*2))) Next For i = 0 To UBound(groups) WScript.Echo "Gas Injection rate (Mscf/day) of " & groups(i*2) & " is " & ginjs.Item(groups(i*2)) objOFile.WriteLine("GasInjectionRate(Mscf/day)of"& groups(i*2)&"is" & ginjs.Item(groups(i*2))) Next For i = 0 To UBound(groups) WScript.Echo "Water Injection rate (Mscf/day) of " & groups(i*2) & " is " & winjs.Item(groups(i*2)) objOFile.WriteLine("WaterInjectionRate(BWPD)of"&groups(i*2)&"is"& winjs.Item(groups(i*2))) Next Dim Totalginj Totalginj = 0 For i = 1 To ginjs.Count Totalginj = Totalginj + ginjs.Item(groups(i)) Next Wscript.Echo "The total gas injection(Mscf/day) of Reservoir-A is " & Totalginj objOFile.WriteLine("TotalGasInjection(Mscf/day)ofReservoir-Ais " & Totalginj) Dim Totalwinj Totalwinj = 0 For i = 1 To winjs.Count Totalwinj = Totalwinj + winjs.Item(groups(i)) Next Wscript.Echo "The total Water injection(BWPD) of Reservoir-A is " & Totalwinj objOFile.WriteLine("TotalWaterInjection(BWPD)ofReservoir-Ais " & Totalwinj) ' RESERVOIR-B (RCSLAVE-2) objOFile.WriteLine("Reservoir-B (RCSLAVE-2)") Dim groups2() Dim orats2 Dim wrats2 Dim grats2 Dim ginjs2 Dim winjs2 i = 0 Set orats2 = CreateObject("Scripting.Dictionary") Set wrats2 = CreateObject("Scripting.Dictionary") Set grats2 = CreateObject("Scripting.Dictionary")

Page 80: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 74 of 165

Set ginjs2 = CreateObject("Scripting.Dictionary") Set winjs2 = CreateObject("Scripting.Dictionary") no_group2 = -1 no_groupw2 = -1 no_groupg2 = -1 no_groupgi2= -1 no_groupwi2= -1 Do Until objIFile2.AtEndOfStream line = objIFile2.ReadLine a = Split(line, ":") CNTLMODE2 =(a(2)) CNTLMODEG2 = (a(4)) CNTLMODEW2 = (a(3)) 'Identification Control Mode keyword in Production Report RCSLAVE-2 'Start after Time Step 58 days (TIMESLAVE2) if CNTLMODE2 = "ORAT" then QO2 = a(3) QW2 = a(4) QG2 = a(5) group2 = Trim(a(1)) no_group2 = no_group2 + 1 ReDim Preserve groups2(no_group2) groups2(no_group2) = group2 orat2 = QO2 orats2.Add group2, orat2 groupw2 = Trim(a(1)) no_groupw2 = no_groupw2+1 ReDim Preserve groupws2(no_groupw2) groupws2(no_groupw2) = groupw2 wrat2 = QW2 wrats2.Add groupw2, wrat2 groupg2 = Trim(a(1)) no_groupg2 = no_groupg2+1 ReDim Preserve groupgs2(no_groupg2) groupgs2(no_groupg2) = groupg2 grat2 = QG2 grats2.Add groupg2, grat2 End If 'Identification Control Mode keyword in Injection Report RCSLAVE-2 'Gas Injection if CNTLMODEG2 = "REIN" then

Page 81: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 75 of 165

QGi2 = a(7) WScript.Echo QGi2 groupgi2 = Trim(a(1)) no_groupgi2 = no_groupgi2 + 1 ReDim Preserve groupgis2(no_groupgi2) groupgis2(no_groupgi2) = groupgi2 ginj2 = QGi2 ginjs2.Add groupgi2, ginj2 End If 'Water Injection 'Identification Control Mode keyword in Water Injection Report RCSLAVE-1 if CNTLMODEW2 = "VREP" then QWi2 = a(6) WScript.Echo QWi2 groupwi2 = Trim(a(1)) no_groupwi2 = no_groupwi2 + 1 ReDim Preserve groupwis2(no_groupwi2) groupwis2(no_groupwi2) = groupwi2 winj2 = QWi2 winjs2.Add groupwi2, winj2 End If Loop 'Tie in Reservoir-B (RCSLAVE-2) Dim CURRENTSIMSTART, TIMESLAVE2, CURRENTSIMEND Set objIFile4 = objFSO.OpenTextFile(Input4, 1) i = 0 Do Until objIFile4.AtEndOfStream Redim Preserve arrFileLines(i) arrFileLines(i) = objIFile4.ReadLine c = Split(arrFileLines(i) , "=") Wscript.Echo c(0) & " -> " & c(1) if c(0) = "CURRENTSIMSTART" then CURRENTSIMSTART = c(1) end if if c(0) = "TIMESLAVE2" then TIMESLAVE2 = c(1) end if if c(0) = "CURRENTSIMEND" then CURRENTSIMEND = c(1) end if i = i + 1

Page 82: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 76 of 165

Loop if (CInt(CURRENTSIMSTART) < CInt(TIMESLAVE2)) THEN orats2 = 0 grats2 = 0 wrats2 = 0 ginjs2 = 0 for i = 0 to UBound(groups2) objOFile.WriteLine("OilRate(BOPD) of " & groups2(i*2) & " is 0") Next for i = 0 to UBound(groups2) objOFile.WriteLine("WaterRate(BWPD) of " & groups2(i*2) & " is 0") Next for i = 0 to UBound(groups2) objOFile.WriteLine("GasRate(Mscf/day) of " & groups2(i*2) & " is 0") Next for i = 0 to UBound(groups2) objOFile.WriteLine("GasInjectionRate(Mscf/day) of " & groups2(i*2) & " is 0") Next for i = 0 to UBound(groups2) objOFile.WriteLine("WaterInjectionRate(BWPD) of " & groups2(i*2) & " is 0") Next else ' The notation (i*2) to reduce reporting twice For i = 0 To UBound(groups2) WScript.Echo "OilRate(BOPD) of " & groups2(i*2) & " is " & orats2.Item(groups2(i*2)) objOFile.WriteLine("OilRate(BOPD)of"&groups2(i*2)&"is " & orats2.Item(groups2(i*2))) Next For i = 0 To UBound(groups2) WScript.Echo "Water rate (BWPD) of " & groups2(i*2) & " is " & wrats2.Item(groups2(i*2)) objOFile.WriteLine("WaterRate(BWPD)of "& groups2(i*2)&"is " & wrats2.Item(groups2(i*2))) Next For i = 0 To UBound(groups2) WScript.Echo "Gas rate (Mscf/day) of " & groups2(i*2) & " is " & grats2.Item(groups2(i*2)) objOFile.WriteLine("GasRate(Mscf/day)of" & groups2(i*2) & "is"& grats2.Item(groups2(i*2))) Next For i = 0 To UBound(groups2) WScript.Echo "Gas Injection rate (Mscf/day) of " & groups2(i*2) & " is " & ginjs2.Item(groups2(i*2)) objOFile.WriteLine("GasInjectionRate(Mscf/day)of" & groups2(i*2) & "is"& ginjs2.Item(groups2(i*2))) Next

Page 83: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 77 of 165

For i = 0 To UBound(groups2) WScript.Echo "Water Injection rate (BWPD) of " & groups2(i*2) & " is " & winjs2.Item(groups2(i*2)) objOFile.WriteLine("WaterInjectionRate(BWPD)of"& groups2(i*2)&"is" & winjs2.Item(groups2(i*2))) Next Dim Totalginj2 Totalginj2 = 0 For i = 1 To ginjs2.Count Totalginj2 = Totalginj2 + ginjs2.Item(groups2(i)) Next Wscript.Echo "The total gas injection(Mscf/day) of Reservoir-B is " & Totalginj2 objOFile.WriteLine("TotaGasInjection(Mscf/day)ofReservoir-Bis " & Totalginj2) Dim Totalwinj2 Totalwinj2 = 0 For i = 1 To winjs2.Count Totalwinj2 = Totalwinj2 + winjs2.Item(groups2(i)) Next Wscript.Echo "TotalWaterInjection(BWPD) of Reservoir-B is " & Totalwinj2 objOFile.WriteLine("TotalWaterInjection(BWPD)ofReservoir-Bis" & Totalwinj2) end if ' Reservoir-C (RCSLAVE-3) objOFile.WriteLine("Reservoir-C (RCSLAVE-3)") Dim groups3() Dim orats3 Dim wrats3 Dim grats3 Dim ginjs3 Dim winjs3 i = 0 Set orats3 = CreateObject("Scripting.Dictionary") Set wrats3 = CreateObject("Scripting.Dictionary") Set grats3 = CreateObject("Scripting.Dictionary") Set ginjs3 = CreateObject("Scripting.Dictionary") Set winjs3 = CreateObject("Scripting.Dictionary") no_group3 = -1 no_groupw3 = -1 no_groupg3 = -1 no_groupgi3= -1 no_groupwi3= -1

Page 84: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 78 of 165

Do Until objIFile3.AtEndOfStream line = objIFile3.ReadLine a = Split(line, ":") CNTLMODE3 =(a(2)) CNTLMODEG3 = (a(4)) CNTLMODEW3 = (a(3)) 'Identification Control Mode keyword in Production Report RCSLAVE-3 '() = column location if CNTLMODE3 = "ORAT" then QO3 = a(3) QW3 = a(4) QG3 = a(5) group3 = Trim(a(1)) no_group3 = no_group3 + 1 ReDim Preserve groups3(no_group3) groups3(no_group3) = group3 orat3 = QO3 orats3.Add group3, orat3 groupw3 = Trim(a(1)) no_groupw3 = no_groupw3+1 ReDim Preserve groupws3(no_groupw2) groupws3(no_groupw3) = groupw3 wrat3 = QW3 wrats3.Add groupw3, wrat3 groupg3 = Trim(a(1)) no_groupg3 = no_groupg3+1 ReDim Preserve groupgs3(no_groupg2) groupgs3(no_groupg3) = groupg3 grat3 = QG3 grats3.Add groupg3, grat3 End If 'Identification Control Mode keyword in Injection Report RCSLAVE-2 'Gas Injection if CNTLMODEG3 = "REIN" then QGi3 = a(7) WScript.Echo QGi3 groupgi3 = Trim(a(1)) no_groupgi3 = no_groupgi3 + 1 ReDim Preserve groupgis3(no_groupgi3) groupgis3(no_groupgi3) = groupgi3 ginj3 = QGi3

Page 85: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 79 of 165

ginjs3.Add groupgi3, ginj3 End If 'Water Injection 'Identification Control Mode keyword in Water Injection Report RCSLAVE-1 if CNTLMODEW3 = "VREP" then QWi3 = a(6) WScript.Echo QWi3 groupwi3 = Trim(a(1)) no_groupwi3 = no_groupwi3 + 1 ReDim Preserve groupwis3(no_groupwi3) groupwis3(no_groupwi3) = groupwi3 winj3 = QWi3 winjs3.Add groupwi3, winj3 End If Loop ' The notation (i*2) to reduce twice reporting For i = 0 To UBound(groups3) WScript.Echo "Oil rate (BOPD) of " & groups3(i*2) & " is " & orats3.Item(groups3(i*2)) objOFile.WriteLine("OilRate(BOPD)of"& groups3(i*2)& "is" & orats3.Item(groups3(i*2))) Next For i = 0 To UBound(groups3) WScript.Echo "Water rate (BWPD) of " & groups3(i*2) & " is " & wrats3.Item(groups3(i*2)) objOFile.WriteLine("WaterRate(BWPD)of" & groups3(i*2) & "is" & wrats3.Item(groups3(i*2))) Next For i = 0 To UBound(groups3) WScript.Echo "GasRate (Mscf/day) of " & groups3(i*2) & " is " & grats3.Item(groups3(i*2)) objOFile.WriteLine("GasRate(Mscf/day)of" & groups3(i*2) & "is" & grats3.Item(groups3(i*2))) Next For i = 0 To UBound(groups) WScript.Echo "Gas Injection rate (Mscf/day) of " & groups3(i*2) & " is " & ginjs3.Item(groups3(i*2)) objOFile.WriteLine("GasInjectionRate(Mscf/day)of"& groups3(i*2) &"is" & ginjs3.Item(groups3(i*2))) Next For i = 0 To UBound(groups) WScript.Echo "WaterInjectionRate (Mscf/day) of " & groups3(i*2) & " is " & winjs3.Item(groups3(i*2)) objOFile.WriteLine("WaterInjectionRate(BWPD)of" & groups3(i*2) & "is" & winjs3.Item(groups3(i*2))) Next Dim Totalginj3 Totalginj3 = 0

Page 86: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 80 of 165

For i = 1 To ginjs3.Count Totalginj3 = Totalginj3 + ginjs3.Item(groups3(i)) Next Wscript.Echo "The total gas injection(Mscf/day) of Reservoir-C is " & Totalginj3 objOFile.WriteLine("TotalGasInjection_Mscf/day_ofReservoir-Cis " & Totalginj3) Dim Totalwinj3 Totalwinj3 = 0 For i = 1 To winjs3.Count Totalwinj3 = Totalwinj3 + winjs3.Item(groups3(i)) Next Wscript.Echo "The total Water injection(BWPD)ofReservoir-Cis " & Totalwinj3 objOFile.WriteLine("TotalWaterInjection(BWPD)ofReservoir-Cis " & Totalwinj3)

Page 87: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 81 of 165

'Title: Transition Logical Controller 'Purpose: To Formulate and distribute new input constraint to Transition runs (after initial run 1 day) Dim objFSO, objIfile, objOFile, objOFile1, objOFile2 Dim curDir, Input, Output1, Output2, Output3 Dim OILFIELDRATE, CONSLIQRATEPLATA, CONSGASRATEPLATA, CONSGASRATEPLATB, OILRATEGRA1, OILRATEGRA2, WATRATEGRA1, WATRATEGRA2, GRATGRA1, GRATGRA2, GASINJE_PLATA, GASINJE_PLATB, WRATGRC1, WRATGRC2, WINJGRA2, WINJGRC2 'CONSLIQRATEPLATA = Constraint Liquid Rate Plat-A 'CONSGASRATEPLATA = Constraint Gas Rate Plat-A 'CONSGASRATEPLATB = Constraint Gas Rate Plat-B 'OILRATEGRA1 = Oil rate actual Group A-1 'OILRATEGRA2 = Oil rate actual Group A-2 'WATRATEGRA1 = Water rate actual Group A-1 'WATRATEGRA2 = Water rate actual Group A-2 'GASINJE_PLATA = Gas injection rate actual PLAT-A 'GASINJE_PLATB = Gas injection rate actual PLAT-B 'OILRATEPLATA, TOTALOILPOTNRCSLAVE1, TOTALOILPOTNRCSLAVE2, TOTALOILPOTNRCSLAVE3 Dim CURRENTSIMSTART, USERTSTEP, CURRENTSIMEND, TIMESLAVE2 Set WshShell = WScript.CreateObject ("WScript.Shell") WScript.Echo (WshShell.CurrentDirectory) curDir = WshShell.CurrentDirectory Set objArgs = WScript.Arguments If objArgs.Count > 0 Then WScript.Echo objArgs.Count WScript.Echo objArgs.Length Input = curdir & "\" & objArgs.item(0) Output1 = curdir & "\" & objArgs.item(1) Output2 = curdir & "\" & objArgs.item(2) Output3 = curdir & "\" & objArgs.item(3) Else Wscript.Echo "Didn't Find any Arguments in Command Line Exiting The Script" WScript.Quit End If For i = 0 To objArgs.Count-1 WScript.Echo objArgs.item(i) Next di = 0 ' Data to ignore On Error Resume Next Set objFSO = CreateObject("Scripting.FileSystemObject") Set objIfile = objFSO.OpenTextFile(Input, 1) Set objOFile = objFSO.CreateTextFile(Output1, 2)

Page 88: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 82 of 165

Set objOFile1 = objFSO.CreateTextFile(Output2, 2) Set objOFile2 = objFSO.CreateTextFile(Output3, 2) Dim arrFileLines() i = 0 Do Until objIfile.AtEndOfStream Redim Preserve arrFileLines(i) arrFileLines(i) = objIfile.ReadLine a = Split(arrFileLines(i) , "=") Wscript.Echo a(0) & " -> " & a(1) If a(0) = "OILFIELDRATE" Then OILFIELDRATE = a(1) Wscript.Echo OILFIELDRATE End If If a(0) = "CONSLIQRATEPLATA" Then CONSLIQRATEPLATA = a(1) Wscript.Echo CONSLIQRATEPLATA End If If a(0) = "CONSGASRATEPLATA" Then CONSGASRATEPLATA = a(1) Wscript.Echo CONSGASRATEPLATA End If If a(0) = "CONSGASRATEPLATB" Then CONSGASRATEPLATB = a(1) Wscript.Echo CONSGASRATEPLATB End If If a(0) = "OILRATEGRA1" Then OILRATEGRA1 = a(1) Wscript.Echo OILRATEGRA1 End If If a(0) = "OILRATEGRA2" Then OILRATEGRA2 = a(1) Wscript.Echo OILRATEGRA2 End If If a(0) = "WATRATEGRA1" Then WATRATEGRA1 = a(1) Wscript.Echo WATRATEGRA1 End If If a(0) = "WATRATEGRA2" Then WATRATEGRA2 = a(1) Wscript.Echo WATRATEGRA2 End If If a(0) = "GRATGRA1" Then GRATGRA1 = a(1)

Page 89: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 83 of 165

Wscript.Echo GRATGRA1 End If If a(0) = "GRATGRA2" Then GRATGRA2 = a(1) Wscript.Echo GRATGRA2 End If If a(0) = "GASINJE_PLATA" Then GASINJE_PLATA = a(1) Wscript.Echo GASINJE_PLATA End If If a(0) = "GRATGRC1" Then GRATGRC1 = a(1) Wscript.Echo GRATGRC1 End If If a(0) = "GRATGRC2" Then GRATGRC2 = a(1) Wscript.Echo GRATGRC2 End If If a(0) = "WRATGRC1" Then WRATGRC1 = a(1) Wscript.Echo WRATGRC1 End If If a(0) = "WRATGRC2" Then WRATGRC2 = a(1) Wscript.Echo WRATGRC2 End If If a(0) = "WINJGRA2" Then WINJGRA2 = a(1) Wscript.Echo WINJGRA2 End If If a(0) = "WINJGRC2" Then WINJGRC2 = a(1) Wscript.Echo WINJGRC2 End If If a(0) = "GASINJE_PLATB" Then GASINJE_PLATB = a(1) Wscript.Echo GASINJE_PLATB End If If a(0) = "CURRENTSIMSTART" Then CURRENTSIMSTART = a(1) Wscript.Echo CURRENTSIMSTART End If

Page 90: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 84 of 165

If a(0) = "CURRENTSIMEND" Then CURRENTSIMEND = a(1) Wscript.Echo CURRENTSIMEND End If If a(0) = "USERTSTEP" Then USERTSTEP = a(1) Wscript.Echo USERTSTEP End If If a(0) = "USERTSTEP" Then USERTSTEP = a(1) Wscript.Echo USERTSTEP End If If a(0) = "TIMESLAVE2" Then TIMESLAVE2 = a(1) Wscript.Echo TIMESLAVE2 End If i = i + 1 Loop 'Heuristic Method 'Liquid Constraint Calculation' Dim WCGRA1, WCGRA2, WCPLATA, OILPLATA, OILPLATB, CONSLIQRATEGRA1, CONSLIQRATEGRA2 WCGRA1 = 0 WCGRA1 = WCGRA1 + (WATRATEGRA1) /(WATRATEGRA1 + OILRATEGRA1) WScript.Echo ("WCGRA1 is ") & WCGRA1 WCGRA2 = 0 WCGRA2 = WCGRA2 + (WATRATEGRA2) / (WATRATEGRA2 + OILRATEGRA2) WScript.Echo ("WCGRA2 is ") & WCGRA2 WCPLATA = 0 WCPLATA = WCPLATA + ((WCGRA1+WCGRA2)/ 2) WScript.Echo ("WCPLATA is ") & WCPLATA OILPLATA = 0 OILPLATA = CONSLIQRATEPLATA * (1 - WCPLATA) WScript.Echo ("OILPLATA is ") & OILPLATA OILPLATB = OILFIELDRATE - OILPLATA WScript.Echo ("OILPLATB is ") & OILPLATB 'Liquid are proportional to each Group to keep gas and water constraint 'CONSLIQRATEGRA1 = 0 'CONSLIQRATEGRA1 = WATRATEGRA1 + OILRATEGRA1) CONSLIQRATEGRA1 = CONSLIQRATEPLATA/2 CONSLIQRATEGRA2 = CONSLIQRATEPLATA/2

Page 91: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 85 of 165

WScript.Echo ("CONSLIQRATEGRA1 is ") & CONSLIQRATEGRA1 WScript.Echo ("CONSLIQRATEGRA2 is ") & CONSLIQRATEGRA2 'Gas Rate Constraint Calculation Reservoir-A Dim CONSGASRATEGRA, CONSGASRATEGRA1, CONSGASRATEGRA2, GCONTRESHOLDA, GASTOTA GASTOTA = GRATGRA1 + GRATGRA2) WScript.Echo ("GASTOTA is ") & GASTOTA GCONTRESHOLDA = GRATGRA2 WScript.Echo ("GCONTRESHOLD is ") & GCONTRESHOLDA CONSGASRATEGRA2 = GRATGRA2 * GASTOTA / (GASTOTA + GASINJE_PLATA) if (CONSGASRATEGRA2) >= (GCONTRESHOLDA) then CONSGASRATEGRA2 = CONSGASRATEGRA2 CONSGASRATEGRA1 = CONSGASRATEPLATA - CONSGASRATEGRA2 WScript.Echo ("CONSGASRATEGRA1 = ") & CONSGASRATEGRA1 WScript.Echo ("CONSGASRATEGRA2 = ") & CONSGASRATEGRA2 else CONSGASRATEGRA2 = GCONTRESHOLDA CONSGASRATEGRA1 = CONSGASRATEPLATA - CONSGASRATEGRA2 WScript.Echo ("CONSGASRATEGRA1 = ") & CONSGASRATEGRA1 WScript.Echo ("CONSGASRATEGRA2 = ") & CONSGASRATEGRA2 end if 'Reservoir B & Reservoir C Calculation Dim CONSGASRATEGRC, CONSGASRATEGRC1, CONSGASRATEGRC2, CONSGASRATEGRB, CONSGASRATEGRB1, CONSGASRATEGRB2, GASTOTB, GRATGRB1, GRATGRB2, GRATGRC1, GRATGRC2, GCONTRESHOLDB GASTOTB = GRATGRB1 + GRATGRB2 + GRATGRC1 + GRATGRC2 WScript.Echo ("GASTOTB is ") & GASTOTB GCONTRESHOLDB = GRATGRC2 CONSGASRATEGRC2 = (GRATGRC2 * GASTOTB) / (GASTOTB + GASINJE_PLATB) if CONSGASRATEGRC2 >= (GCONTRESHOLDB) then CONSGASRATEGRC2 = CONSGASRATEGRC2 CONSGASRATEGRC1 = CONSGASRATEPLATB - CONSGASRATEGRC2 WScript.Echo ("CONSGASRATEGRC1 = ") & CONSGASRATEGRC1 WScript.Echo ("CONSGASRATEGRC2 = ") & CONSGASRATEGRC2 else CONSGASRATEGRC2 = GCONTRESHOLDB CONSGASRATEGRC1 = CONSGASRATEPLATB - CONSGASRATEGRC2

Page 92: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 86 of 165

WScript.Echo ("CONSGASRATEGRC2 = ") & CONSGASRATEGRC2 end if 'Special case for Reservoir-C when Reservoir-B is still not opening Dim CONSOILRATEGRB1, CONSOILRATEGRB2, CONSOILRATEGRB1a, CONSOILRATEGRB2a, CONSOILRATEGRC, CONSOILRATEGRC1, CONSOILRATEGRC2,CONSOILRATEGRCa, CONSOILRATEGRC1a, CONSOILRATEGRC2a CONSOILRATEGRCa = OILPLATB CONSOILRATEGRC1a = (CONSOILRATEGRCa / 2 ) CONSOILRATEGRC2a = (CONSOILRATEGRCa / 2) CONSOILRATEGRB1a = 0 CONSOILRATEGRB2a = 0 If (CURRENTSIMEND) < (TIMESLAVE2) Then CONSOILRATEGRC = OILPLATB CONSOILRATEGRC1 = (CONSOILRATEGRC / 2) CONSOILRATEGRC2 = (CONSOILRATEGRC / 2) WScript.Echo "CONSOILRATEGRC" & CONSOILRATEGRC Else CONSOILRATEGRC = OILPLATB / 2 CONSOILRATEGRB = OILPLATB / 2 CONSOILRATEGRB1 = CONSOILRATEGRB / 2 CONSOILRATEGRB2 = CONSOILRATEGRB / 2 CONSOILRATEGRC1 = CONSOILRATEGRC / 2 CONSOILRATEGRC2 = CONSOILRATEGRC / 2 WScript.Echo "current sim end" & CURRENTSIMEND End if 'Gas Injection Gas Constraint for Platform-A and Platform-B Dim GIFA, GIFC, GASFIELD, GRATGRB1a, GRATGRB2a 'GIFA = Gas Injection Factor (Based on ECL Original Scheme) @ PLATFORM-A 'GIFB = Gas Injection Factor (Based on ECL Original Scheme) @ PLATFORM-C GASFIELD = GASTOTA + GASTOTB + GRATGRB1a + GRATGRB2a WScript.Echo ("Total Gas Production is ") & GASFIELD GIFA = (GASTOTA + GASINJE_PLATA + GRATGRB1a + GRATGRB2a) / (GASFIELD + GASINJE_PLATA + GASINJE_PLATB)) GIFB = 1 - GIFA WScript.Echo ("Gas Injection constraint for Plat-A is ") & GIFA WScript.Echo ("Gas Injection constraint for Plat-B is ") & GIFB 'Water Injection factor below is not used since the water injection has set proportional directly from ECLIPSE 'This equation below is used if Reservoir-B shares its water production (but no injection) or proportional

Page 93: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 87 of 165

'Dim WIFA, WIFC, WINJA, WRATGRB1, WRATGRB2, WATFIELD, WATOTA, WATOTC 'WATOTA = WATRATEGRA1 + WATRATEGRA2 'WATOTC = WRATGRC1 + WRATGRC2 + WRATGRB1 + WRATGRB2 'WATFIELD = WATOTA + WATOTC 'WIFA = (WASTOTA + WINJGRA2)) / (WATFIELD + WINJGRA2 + WINJGRC2) 'WScript.Echo ("WIFA is ") & WIFA 'WIFC = 1 - WIFA 'WScript.Echo ("Water Injection Factor for Reservoir-A is ") & WIFA 'WScript.Echo ("Water Injection Factor for Reservoir-C is ") & WIFC WScript.Echo ("Liquid Rate Constraint for Group-A1 is ") & CONSLIQRATEGRA1 WScript.Echo ("Gas Rate Constraint for Group-A1 is ") & CONSGASRATEGRA1 WScript.Echo ("Liquid Rate Constraint for Group-A2 is ") & CONSLIQRATEGRA2 WScript.Echo ("Gas Rate Constraint for Group-A2 is ") & CONSGASRATEGRA2 WScript.Echo ("Oil Rate Constraint for Group-B1 is ") & CONSOILRATEGRB1 WScript.Echo ("Gas Rate Constraint for Group-B1 is ") & CONSGASRATEGRB1 WScript.Echo ("Oil Rate Constraint for Group-B2 is ") & CONSOILRATEGRB2 WScript.Echo ("Gas Rate Constraint for Group-B2 is ") & CONSGASRATEGRB2 WScript.Echo ("Oil Rate Constraint for Group-C1 is ") & CONSOILRATEGRC1 WScript.Echo ("Gas Rate Constraint for Group-C1 is ") & CONSGASRATEGRC1 WScript.Echo ("Oil Rate Constraint for Group-C2 is ") & CONSOILRATEGRC2 WScript.Echo ("Gas Rate Constraint for Group-C2 is ") & CONSGASRATEGRC2 WScript.Echo ("Gas Injection Factor for Plat-A is ") & GIFA WScript.Echo ("Gas Injection Factor for Plat-B is ") & GIFB WScript.Echo ("Water Injection Factor for Reservoir -A is ") & WIFA WScript.Echo ("Water Injection Factor for Reservoir-C is ") & WIFC 'SLAVE 1 constraint output file 'WScript.Echo CURRENTSIMSTART objOFile.WriteLine("GCONPROD") objOFile.WriteLine("-- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID") objOFile.WriteLine("-- NAME MODE RATE RATE RATE RATE ACTION FLD RATE") objOFile.WriteLine("'G-A1' 'LRAT'" & " " & "1*" & " " & "1*" & " " & CONSGASRATEGRA1 & " " & CONSLIQRATEGRA1 & " " & "'RATE' 'NO' /") objOFile.WriteLine("'G-A2' 'LRAT'" & " " & "1*" & " " & "1*" & " " & CONSGASRATEGRA2 & " " & CONSLIQRATEGRA2 & " " & "'RATE' 'NO' /") objOFile.WriteLine("/") objOFile.WriteLine("") objOFile.WriteLine("GCONINJE") objOFile.WriteLine("-- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID") objOFile.WriteLine("-- NAME INJ MODE FLD RATE") objOFile.WriteLine("'G-A1' 'GAS' 'REIN'" & " " & "1*" & " " & "1*" & " " & GIFA & " " & "/") objOFile.WriteLine("'G-A2' 'WAT' 'VREP'" & " " & "1*" & " " & " 1*" & " " & " 1*" & " " & "0.8" & " " & "/") objOFile.WriteLine("/") objOFile.WriteLine("") objOFile.WriteLine("TSTEP") objOFile.WriteLine(CURRENTSIMSTART) objOFile.WriteLine("/") objOFile.WriteLine("") objOFile.WriteLine("TSTEP")

Page 94: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 88 of 165

objOFile.WriteLine(USERTSTEP-2*CURRENTSIMSTART) objOFile.WriteLine("/") objOFile.WriteLine("") objOFile.WriteLine("SAVE") 'SLAVE 2 constraint output file objOFile1.WriteLine("GCONPROD") objOFile1.WriteLine("-- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID") objOFile1.WriteLine("-- NAME MODE RATE RATE RATE RATE ACTION FLD RATE") objOFile1.WriteLine("'GR-B1' 'ORAT'" & " " & CONSOILRATEGRB1a & " " & "0" & " " & "1*" & " " & "0" & " " & "'RATE' 'NO' /") objOFile1.WriteLine("'GR-B2' 'ORAT'" & " " & CONSOILRATEGRB2a & " " & "0" & " " & "1*" & " " & "0" & " " & "'RATE' 'NO' /") objOFile1.WriteLine("/") objOFile.WriteLine("") objOFile1.WriteLine("-- GCONINJE") objOFile1.WriteLine("-- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID") objOFile1.WriteLine("-- NAME INJ MODE FLD RATE") objOFile1.WriteLine("-- 'GR-B2' 'WAT' 'VREP'" & " " & "1*" & " " & "1*" & " " & "1*" & " " & "1.0" & " " & "NO" & " " & "/") objOFile1.WriteLine("-- /") objOFile.WriteLine("") objOFile1.WriteLine("TSTEP") objOFile1.WriteLine(CURRENTSIMSTART) objOFile1.WriteLine("/") objOFile1.WriteLine("") objOFile1.WriteLine("TSTEP") objOFile1.WriteLine(TIMESLAVE2) objOFile1.WriteLine("/") objOFile1.WriteLine("") objOFile1.WriteLine("GCONPROD") objOFile1.WriteLine("-- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID") objOFile1.WriteLine("-- NAME MODE RATE RATE RATE RATE ACTION FLD RATE") objOFile1.WriteLine("'GR-B1' 'ORAT'" & " " & CONSOILRATEGRB1 & " " & "1*" & " " & "1*" & " " & "1*" & " " & "'RATE' 'NO' /") objOFile1.WriteLine("'GR-B2' 'ORAT'" & " " & CONSOILRATEGRB2 & " " & "1*" & " " & "1*" & " " & "1*" & " " & "'RATE' 'NO' /") objOFile1.WriteLine("/") objOFile.WriteLine("") objOFile1.WriteLine("GCONINJE") objOFile1.WriteLine("-- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID") objOFile1.WriteLine("-- NAME INJ MODE FLD RATE") objOFile1.WriteLine("'GR-B2' 'WAT' 'VREP'" & " " & "1*" & " " & "1*" & " " & "1*" & " " & "1.0" & " " & "NO" & " " & "/") objOFile1.WriteLine("/") objOFile.WriteLine("") objOFile1.WriteLine("TSTEP") objOFile1.WriteLine(TIMESLAVE2) objOFile1.WriteLine("/") objOFile1.WriteLine("") objOFile1.WriteLine("TSTEP") objOFile1.WriteLine(USERTSTEP-2*TIMESLAVE2-2*CURRENTSIMSTART) objOFile1.WriteLine("/") objOFile1.WriteLine("")

Page 95: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 89 of 165

objOFile1.WriteLine("SAVE") 'SLAVE 3 constraint output file objOFile2.WriteLine("GCONPROD") objOFile2.WriteLine("-- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID") objOFile2.WriteLine("-- NAME MODE RATE RATE RATE RATE ACTION FLD RATE") objOFile2.WriteLine("'GR-C1' 'ORAT'" & " " & CONSOILRATEGRC1a & " " & "1*" & " " & CONSGASRATEGRC1 & " " & "1*" & " " & "'RATE' 'NO' /") objOFile2.WriteLine("'GR-C2' 'ORAT'" & " " & CONSOILRATEGRC2a & " " & "1*" & " " & CONSGASRATEGRC2 & " " & "1*" & " " & "'RATE' 'NO' /") objOFile2.WriteLine("/") objOFile2.WriteLine("") objOFile2.WriteLine("GCONINJE") objOFile2.WriteLine("-- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID") objOFile2.WriteLine("-- NAME INJ MODE FLD RATE") objOFile2.WriteLine("'GR-C1' 'GAS' 'REIN'" & " " & "1*" & " " & "1*" & " " & GIFB & " " & "/") objOFile2.WriteLine("'GR-C2' 'WAT' 'VREP'" & " " & "1*" & " " & "1*" & " " & "1*" & " " & "0.8" & " " & "/") objOFile2.WriteLine("/") objOFile2.WriteLine("") objOFile2.WriteLine("TSTEP") objOFile2.WriteLine(CURRENTSIMSTART) objOFile2.WriteLine("/") objOFile2.WriteLine("") objOFile2.WriteLine("TSTEP") objOFile2.WriteLine(TIMESLAVE2) objOFile2.WriteLine("/") objOFile2.WriteLine("") objOFile2.WriteLine("GCONPROD") objOFile2.WriteLine("-- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID") objOFile2.WriteLine("-- NAME MODE RATE RATE RATE RATE ACTION FLD RATE") objOFile2.WriteLine("'GR-C1' 'ORAT'" & " " & CONSOILRATEGRC1 & " " & "1*" & " " & CONSGASRATEGRC1 & " " & "1*" & " " & "'RATE' 'NO' /") objOFile2.WriteLine("'GR-C2' 'ORAT'" & " " & CONSOILRATEGRC2 & " " & "1*" & " " & CONSGASRATEGRC2 & " " & "1*" & " " & "'RATE' 'NO' /") objOFile2.WriteLine("/") objOFile2.WriteLine("") objOFile2.WriteLine("GCONINJE") objOFile2.WriteLine("-- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID") objOFile2.WriteLine("-- NAME INJ MODE FLD RATE") objOFile2.WriteLine("'GR-C1' 'GAS' 'REIN'" & " " & "1*" & " " & "1*" & " " & GIFB & " " & "/") objOFile2.WriteLine("'GR-C2' 'WAT' 'VREP'" & " " & "1*" & " " & "1*" & " " & "1*" & " " & "0.8" & " " & "/") objOFile2.WriteLine("/") objOFile2.WriteLine("") objOFile2.WriteLine("TSTEP") objOFile2.WriteLine(TIMESLAVE2) objOFile2.WriteLine("/") objOFile2.WriteLine("") objOFile2.WriteLine("TSTEP") objOFile2.WriteLine(USERTSTEP-2*TIMESLAVE2-2*CURRENTSIMSTART) objOFile2.WriteLine("/") objOFile2.WriteLine("") objOFile2.WriteLine("SAVE")

Page 96: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 90 of 165

'Title: Restart Logical Controller 'Purpose: To Formulate and distribute new constraint as input to each Slave for Restart File Dim objFSO, objIfile, objOFile, objOFile1, objOFile2 Dim curDir, Input, Output1, Output2, Output3 Dim OILFIELDRATE, CONSLIQRATEPLATA, CONSGASRATEPLATA, CONSGASRATEPLATB, ORATGRA1_R_R, ORATGRA2_R_R, WRATGRA1_R, WRATGRA2_R, GRATGRA1_R, GRATGRA2_R, WINJGRA1, WINJGRA2_R, GINJGRA1_R, GINJGRA2_R, ORATGRB1_R, ORATGRB2_R, WRATGRB1_R, WRATGRB2_R, GRATGRB1_R, GRATGRB2_R, WINJGRB1_R, WINJGRB2_R, GINJGRB1_R, GINJGRB2_R, ORATGRC1_R, ORATGRC2_R, WRATGRC1_R, WRATGRC2_R, GRATGRC1_R, GRATGRC2_R, WINJGRC1_R, WINJGRC2_R, GINJGRC1_R, GINJGRC2_R 'CONSLIQRATEPLATA = Constraint Liquid Rate Plat-A 'CONSGASRATEPLATA = Constraint Gas Rate Plat-A 'CONSGASRATEPLATB = Constraint Gas Rate Plat-B 'ORATGRA1_R = Oil rate actual Group A-1 'ORATGRA2_R = Oil rate actual Group A-2 'WRATGRA1_R = Water rate actual Group A-1 'WRATGRA2_R = Water rate actual Group A-2 'GINJGRA1_R = Gas injection rate actual PLAT-A 'GINJGRC1_R = Gas injection rate actual PLAT-B Dim CURRENTSIMSTART, USERTSTEP, CURRENTSIMEND, TIMESLAVE2 'Reservoir-A data Set WshShell = WScript.CreateObject ("WScript.Shell") WScript.Echo (WshShell.CurrentDirectory) curDir = WshShell.CurrentDirectory Set objArgs = WScript.Arguments If objArgs.Count > 0 Then WScript.Echo objArgs.Count WScript.Echo objArgs.Length Input = curdir & "\" & objArgs.item(0) Output1 = curdir & "\" & objArgs.item(1) Output2 = curdir & "\" & objArgs.item(2) Output3 = curdir & "\" & objArgs.item(3) Else Wscript.Echo "Didn't Find any Arguments in Command Line Exiting The Script" WScript.Quit End If For i = 0 To objArgs.Count-1 WScript.Echo objArgs.item(i) Next di = 0 ' Data to ignore On Error Resume Next Set objFSO = CreateObject("Scripting.FileSystemObject")

Page 97: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 91 of 165

Set objIfile = objFSO.OpenTextFile(Input, 1) Set objOFile = objFSO.CreateTextFile(Output1, 2) Set objOFile1 = objFSO.CreateTextFile(Output2, 2) Set objOFile2 = objFSO.CreateTextFile(Output3, 2) Dim arrFileLines() i = 0 Do Until objIfile.AtEndOfStream Redim Preserve arrFileLines(i) arrFileLines(i) = objIfile.ReadLine a = Split(arrFileLines(i) , "=") Wscript.Echo a(0) & " -> " & a(1) If a(0) = "OILFIELDRATE" Then OILFIELDRATE = a(1) Wscript.Echo OILFIELDRATE End If If a(0) = "CONSLIQRATEPLATA" Then CONSLIQRATEPLATA = a(1) Wscript.Echo CONSLIQRATEPLATA End If If a(0) = "CONSGASRATEPLATA" Then CONSGASRATEPLATA = a(1) Wscript.Echo CONSGASRATEPLATA End If If a(0) = "CONSGASRATEPLATB" Then CONSGASRATEPLATB = a(1) Wscript.Echo CONSGASRATEPLATB End If If a(0) = "ORATGRA1_R" Then ORATGRA1_R = a(1) Wscript.Echo ORATGRA1_R End If If a(0) = "ORATGRA2_R" Then ORATGRA2_R = a(1) Wscript.Echo ORATGRA2_R End If If a(0) = "WRATGRA1_R" Then WRATGRA1_R = a(1) Wscript.Echo WRATGRA1_R End If If a(0) = "WRATGRA2_R" Then WRATGRA2_R = a(1) Wscript.Echo WRATGRA2_R End If If a(0) = "GRATGRA1_R" Then

Page 98: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 92 of 165

GRATGRA1_R = a(1) Wscript.Echo GRATGRA1_R End If If a(0) = "GRATGRA2_R" Then GRATGRA2_R = a(1) Wscript.Echo GRATGRA2_R End If If a(0) = "WINJGRA1_R" Then WINJGRA1_R = a(1) Wscript.Echo WINJGRA1_R End If If a(0) = "WINJGRA2_R" Then WINJGRA2_R = a(1) Wscript.Echo WINJGRA2_R End If If a(0) = "GINJGRA1_R" Then GINJGRA1_R = a(1) Wscript.Echo GINJGRA1_R End If If a(0) = "GINJGRA2_R" Then GINJGRA2_R = a(1) Wscript.Echo GINJGRA2_R End If If a(0) = "ORATGRB1_R" Then ORATGRB1_R = a(1) Wscript.Echo ORATGRB1_R End If If a(0) = "ORATGRB2_R" Then ORATGRB2_R = a(1) Wscript.Echo ORATGRB2_R End If If a(0) = "WRATGRB1_R" Then WRATGRB1_R = a(1) Wscript.Echo WRATGRB1_R End If If a(0) = "WRATGRB2_R" Then WRATGRB2_R = a(1) Wscript.Echo WRATGRB2_R End If If a(0) = "GRATGRB1_R" Then GRATGRB1_R = a(1) Wscript.Echo GRATGRB1_R End If

Page 99: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 93 of 165

If a(0) = "GRATGRB2_R" Then GRATGRB2_R = a(1) Wscript.Echo GRATGRB2_R End If If a(0) = "WINJGRB1_R" Then WINJGRB1_R = a(1) Wscript.Echo WINJGRB1_R End If If a(0) = "WINJGRB2_R" Then WINJGRB2_R = a(1) Wscript.Echo WINJGRB2_R End If If a(0) = "GINJGRB1_R" Then GINJGRB1_R = a(1) Wscript.Echo GINJGRB1_R End If If a(0) = "GINJGRB2_R" Then GINJGRB2_R = a(1) Wscript.Echo GINJGRB2_R End If If a(0) = "ORATGRC1_R" Then ORATGRC1_R = a(1) Wscript.Echo ORATGRC1_R End If If a(0) = "ORATGRC2_R" Then ORATGRC2_R = a(1) Wscript.Echo ORATGRC2_R End If If a(0) = "WRATGRC1_R" Then WRATGRC1_R = a(1) Wscript.Echo WRATGRC1_R End If If a(0) = "WRATGRC2_R" Then WRATGRC2_R = a(1) Wscript.Echo WRATGRC2_R End If If a(0) = "GRATGRC1_R" Then GRATGRC1_R = a(1) Wscript.Echo GRATGRC1_R End If If a(0) = "GRATGRC2_R" Then GRATGRC2_R = a(1) Wscript.Echo GRATGRC2_R End If

Page 100: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 94 of 165

If a(0) = "WINJGRC1_R" Then WINJGRC1_R = a(1) Wscript.Echo WINJGRC1_R End If If a(0) = "WINJGRC2_R" Then WINJGRC2_R = a(1) Wscript.Echo WINJGRC2_R End If If a(0) = "GINJGRC1_R" Then GINJGRC1_R = a(1) Wscript.Echo GINJGRC1_R End If If a(0) = "GINJGRC2_R" Then GINJGRC2_R = a(1) Wscript.Echo GINJGRC2_R End If If a(0) = "CURRENTSIMSTART" Then CURRENTSIMSTART = a(1) Wscript.Echo CURRENTSIMSTART End If If a(0) = "CURRENTSIMEND" Then CURRENTSIMEND = a(1) Wscript.Echo CURRENTSIMEND End If If a(0) = "USERTSTEP" Then USERTSTEP = a(1) Wscript.Echo USERTSTEP End If If a(0) = "USERTSTEP" Then USERTSTEP = a(1) Wscript.Echo USERTSTEP End If If a(0) = "TIMESLAVE2" Then TIMESLAVE2 = a(1) Wscript.Echo TIMESLAVE2 End If If a(0) = "ORATGRA1_R_R" Then ORATGRA1_R_R = a(1) Wscript.Echo ORATGRA1_R_R End If i = i + 1

Page 101: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 95 of 165

Loop 'Liquid Constraint Calculation Dim WCGRA1, WCGRA2, WCPLATA,OILPLATA, OILPLATB, CONSLIQRATEGRA1, CONSLIQRATEGRA2 WCGRA1 = 0 WCGRA1 = WCGRA1 + (WRATGRA1_R)/(WRATGRA1_R + ORATGRA1_R) WScript.Echo ("WCGRA1 is ") & WCGRA1 WCGRA2 = 0 WCGRA2 = WCGRA2 + (WRATGRA2_R) /(WRATGRA2_R + ORATGRA2_R) WScript.Echo ("WCGRA2 is ") & WCGRA2 WCPLATA = 0 WCPLATA = WCPLATA + ((WCGRA1_R + WCGRA2_R)/ 2) WScript.Echo ("WCPLATA is ") & WCPLATA OILPLATA = 0 OILPLATA = CONSLIQRATEPLATA * (1 - WCPLATA) WScript.Echo ("OILPLATA is ") & OILPLATA OILPLATB = OILFIELDRATE - OILPLATA WScript.Echo ("OILPLATB is ") & OILPLATB CONSLIQRATEGRA = CONSLIQRATEPLATA/2 CONSLIQRATEGRA2 = CONSLIQRATEPLATA - CONSLIQRATEGRA1 'Gas Injection Constraint Calculation Reservoir-A Dim CONSGASRATEGRA, CONSGASRATEGRA1, CONSGASRATEGRA2, GCONTRESHOLDA, GASTOTA GASTOTA = GRATGRA1_R + GRATGRA_R WScript.Echo ("GASTOTA is ") & GASTOTA GCONTRESHOLDA = GRATGRA2_R WScript.Echo ("GCONTRESHOLDA is ") & GCONTRESHOLDA CONSGASRATEGRA2 = (GRATGRA2_R * GASTOTA) / (GASTOTA + GINJGRA1_R) if (CONSGASRATEGRA2) >= (GCONTRESHOLDA) then CONSGASRATEGRA2 =CONSGASRATEGRA2 CONSGASRATEGRA1 = CONSGASRATEPLATA - CONSGASRATEGRA2 WScript.Echo ("CONSGASRATEGRA1 = ") & CONSGASRATEGRA1 WScript.Echo ("CONSGASRATEGRA2 = ") & CONSGASRATEGRA2 else CONSGASRATEGRA2 = GCONTRESHOLDA CONSGASRATEGRA1 = CONSGASRATEPLATA - CONSGASRATEGRA2 WScript.Echo ("CONSGASRATEGRA1 = ") & CONSGASRATEGRA1 WScript.Echo ("CONSGASRATEGRA2 = ") & CONSGASRATEGRA2

Page 102: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 96 of 165

end if ' Reservoir B & Reservoir C Calculation Dim CONSGASRATEGRC, CONSGASRATEGRC1, CONSGASRATEGRC2, CONSGASRATEGRB, CONSGASRATEGRB1, CONSGASRATEGRB2, GASTOTB, GCONTRESHOLDB GASTOTB = GRATGRB1_R) + GRATGRB2_R + GRATGRC1_R + GRATGRC2_R WScript.Echo ("GASTOTB is ") & GASTOTB GCONTRESHOLDB = GRATGRC2_R CONSGASRATEGRC2 = (GRATGRC2_R * GASTOTB) / (GASTOTB + GINJGRC1_R) if (CONSGASRATEGRC2) >= (GCONTRESHOLDB) then CONSGASRATEGRC2 = CONSGASRATEGRC2 CONSGASRATEGRC1 = CONSGASRATEPLATB - CONSGASRATEGR2 WScript.Echo ("CONSGASRATEGRC1 = ") & CONSGASRATEGRC1 WScript.Echo ("CONSGASRATEGRC2 = ") & CONSGASRATEGRC2 else CONSGASRATEGRC2 = GCONTRESHOLDB CONSGASRATEGRC1 = CONSGASRATEPLATB - CONSGASRATEGRC2 WScript.Echo ("CONSGASRATEGRC1 = ") & CONSGASRATEGRC1 WScript.Echo ("CONSGASRATEGRC2 = ") & CONSGASRATEGRC2 end if Dim CONSOILRATEGRB1, CONSOILRATEGRB2, CONSOILRATEGRC, CONSOILRATEGRC1, CONSOILRATEGRC2,CONSOILRATEGRCa, CONSOILRATEGRC1a, CONSOILRATEGRC2a 'Constraint for Platform-B CONSOILRATEGRC = OILPLATB / 2 CONSOILRATEGRB = OILPLATB / 2 CONSOILRATEGRB1 = CONSOILRATEGRB / 2 CONSOILRATEGRB2 = CONSOILRATEGRB / 2 CONSOILRATEGRC1 = CONSOILRATEGRC / 2 CONSOILRATEGRC2 = CONSOILRATEGRC / 2 Dim GIFA, GIFB, GASFIELD 'GIFA = Gas Injection Factor (Based on ECL Original Scheme) @ PLATFORM-A 'GIFB = Gas Injection Factor (Based on ECL Original Scheme) @ PLATFORM-B GASFIELD = GASTOTA + GASTOTB WScript.Echo ("Total Gas Production is ") & GASFIELD GIFA = (GASTOTA + GINJGRA1_R + GRATGRB1_R + GRATGRB2_R) / (GASFIELD + GINJGRA1_R + GINJGRC1_R)) GIFB = 1 - GIFA

Page 103: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 97 of 165

WScript.Echo ("Gas Injection constraint for Plat-A is ") & GIFA WScript.Echo ("Gas Injection constraint for Plat-B is ") & GIFB 'Water Injection factor below is not used since the water injection has set proportional directly from ECLIPSE 'This equation below is used if Reservoir-B shares its water production (but no injection) or proportional 'Dim WIFA, WIFC, WINJA, WATFIELD, WATOTA, WATOTC 'WATOTA = (WRATGRA1_R) + (WRATGRA2_R) 'WATOTC = (WRATGRC1_R) +( WRATGRC2_R) +(WRATGRB1_R) +( WRATGRB2_R) 'WATFIELD = WATOTA + WATOTC 'WIFA = (WASTOTA + WINJGRA2_R)) / (WATFIELD + WINJGRA2_R + WINJGRC2_R) 'WScript.Echo ("WIFA is ") & WIFA 'WIFC = 1 - WIFA 'WScript.Echo ("Water Injection Factor for Reservoir-A is ") & WIFA 'WScript.Echo ("Water Injection Factor for Reservoir-C is ") & WIFC WScript.Echo ("Liquid Rate Constraint for Group-A1 is ") & CONSLIQRATEGRA1 WScript.Echo ("Gas Rate Constraint for Group-A1 is ") & CONSGASRATEGRA1 WScript.Echo ("Liquid Rate Constraint for Group-A2 is ") & CONSLIQRATEGRA2 WScript.Echo ("Gas Rate Constraint for Group-A2 is ") & CONSGASRATEGRA2 WScript.Echo ("Oil Rate Constraint for Group-B1 is ") & CONSOILRATEGRB1 WScript.Echo ("Gas Rate Constraint for Group-B1 is ") & CONSGASRATEGRB1 WScript.Echo ("Oil Rate Constraint for Group-B2 is ") & CONSOILRATEGRB2 WScript.Echo ("Gas Rate Constraint for Group-B2 is ") & CONSGASRATEGRB2 WScript.Echo ("Oil Rate Constraint for Group-C1 is ") & CONSOILRATEGRC1 WScript.Echo ("Gas Rate Constraint for Group-C1 is ") & CONSGASRATEGRC1 WScript.Echo ("Oil Rate Constraint for Group-C2 is ") & CONSOILRATEGRC2 WScript.Echo ("Gas Rate Constraint for Group-C2 is ") & CONSGASRATEGRC2 WScript.Echo ("Water Injection Factor for Reservoir -A is ") & WIFA WScript.Echo ("Water Injection Factor for Reservoir-C is ") & WIFC 'SLAVE 1 'WScript.Echo CURRENTSIMSTART objOFile.WriteLine("GCONPROD") objOFile.WriteLine("-- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID") objOFile.WriteLine("-- NAME MODE RATE RATE RATE RATE ACTION FLD RATE") objOFile.WriteLine("'G-A1' 'NONE'" & " " & "1*" & " " & "1*" & " " & CONSGASRATEGRA1 & " " & CONSLIQRATEGRA1 & " " & "'RATE' 'NO' /") objOFile.WriteLine("'G-A2' 'NONE'" & " " & "1*" & " " & "1*" & " " & CONSGASRATEGRA2 & " " & CONSLIQRATEGRA2 & " " & "'RATE' 'NO' /") objOFile.WriteLine("/") objOFile.WriteLine("") objOFile.WriteLine("GCONINJE") objOFile.WriteLine("-- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID") objOFile.WriteLine("-- NAME INJ MODE FLD RATE") objOFile.WriteLine("'G-A1' 'GAS' 'REIN'" & " " & "1*" & " " & " 1*" & " " & GIFA & " " & "/") objOFile.WriteLine("'G-A2' 'WAT' 'VREP'" & " " & "1*" & " " & " 1*" & " " & " 1*" & " " & "0.8" & " " & "/") objOFile.WriteLine("/")

Page 104: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 98 of 165

objOFile.WriteLine("") objOFile.WriteLine("TSTEP") objOFile.WriteLine(CURRENTSIMSTART) objOFile.WriteLine("/") objOFile.WriteLine("") objOFile.WriteLine("TSTEP") objOFile.WriteLine(USERTSTEP) objOFile.WriteLine("/") objOFile.WriteLine("") objOFile.WriteLine("SAVE") 'SLAVE 2 objOFile1.WriteLine("GCONPROD") objOFile1.WriteLine("-- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID") objOFile1.WriteLine("-- NAME MODE RATE RATE RATE RATE ACTION FLD RATE") objOFile1.WriteLine("'GR-B1' 'NONE'" & " " & CONSOILRATEGRB1 & " " & "1*" & " " & "1*" & " " & "1*" & " " & "'RATE' 'NO' /") objOFile1.WriteLine("'GR-B2' 'NONE'" & " " & CONSOILRATEGRB2 & " " & "1*" & " " & "1*" & " " & "1*" & " " & "'RATE' 'NO' /") objOFile1.WriteLine("/") objOFile.WriteLine("") objOFile1.WriteLine("GCONINJE") objOFile1.WriteLine("-- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID") objOFile1.WriteLine("-- NAME INJ MODE FLD RATE") objOFile1.WriteLine("'GR-B2' 'WAT' 'VREP'" & " " & "1*" & " " & "1*" & " " & "1*" & " " & "1.0" & " " & "NO" & " " & "/") objOFile1.WriteLine("/") objOFile.WriteLine("") objOFile1.WriteLine("TSTEP") objOFile1.WriteLine(CURRENTSIMSTART) objOFile1.WriteLine("/") objOFile1.WriteLine("") objOFile1.WriteLine("TSTEP") objOFile1.WriteLine(USERTSTEP) objOFile1.WriteLine("/") objOFile1.WriteLine("") objOFile1.WriteLine("SAVE") 'SLAVE 3 objOFile2.WriteLine("GCONPROD") objOFile2.WriteLine("-- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID") objOFile2.WriteLine("-- NAME MODE RATE RATE RATE RATE ACTION FLD RATE") objOFile2.WriteLine("'GR-C1' 'NONE'" & " " & CONSOILRATEGRC1 & " " & "1*" & " " & CONSGASRATEGRC1 & " " & "1*" & " " & "'RATE' 'NO' /") objOFile2.WriteLine("'GR-C2' 'NONE'" & " " & CONSOILRATEGRC2 & " " & "1*" & " " & CONSGASRATEGRC2 & " " & "1*" & " " & "'RATE' 'NO' /") objOFile2.WriteLine("/") objOFile2.WriteLine("") objOFile2.WriteLine("GCONINJE") objOFile2.WriteLine("-- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID") objOFile2.WriteLine("-- NAME INJ MODE FLD RATE") objOFile2.WriteLine("'GR-C1' 'GAS' 'REIN'" & " " & "1*" & " " & "1*" & " " & GIFB & " " & "/") objOFile2.WriteLine("'GR-C2' 'WAT' 'VREP'" & " " & "1*" & " " & "1*" & " " & "1*" & " " & "0.8" & " " & "/")

Page 105: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 99 of 165

objOFile2.WriteLine("/") objOFile2.WriteLine("") objOFile2.WriteLine("TSTEP") objOFile2.WriteLine(CURRENTSIMSTART) objOFile2.WriteLine("/") objOFile2.WriteLine("") objOFile2.WriteLine("TSTEP") objOFile2.WriteLine(USERTSTEP) objOFile2.WriteLine("/") objOFile2.WriteLine("") objOFile2.WriteLine("SAVE")

Page 106: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 100 of 165

APPENDIX D - Example Calculation

Extracted INPUT from Report file using Maplinkz given from Transition to restart file: Extract Restart Data (Maplinkz) RESERVOIR_A ORATGRA1_R=7101.1 ORATGRA2_R=8282.4 WRATGRA1_R=20.2 WRATGRA2_R=213.9 GRATGRA1_R=55036.2 GRATGRA2_R=14963.8 WINJGRA1_R=0.0 WINJGRA2_R=8852.7 GINJGRA1_R=31319.8 GINJGRA2_R=0.0

RESERVOIR_B ORATGRB1_R=5000.4 ORATGRB2_R=5000.4 WRATGRB1_R=5.1 WRATGRB2_R=3.3 GRATGRB1_R=6000.4 GRATGRB2_R=6000.4 WINJGRB1_R=0.0 WINJGRB2_R=5159.3 GINJGRB1_R=0.0 GINJGRB2_R=0.0

RESERVOIR_C ORATGRC1_R=5000.4 ORATGRC2_R=5000.4 WRATGRC1_R=6.7 WRATGRC2_R=18.3 GRATGRC1_R=15958.9 GRATGRC2_R=7275.8 WINJGRC1_R=0.0 WINJGRC2_R=4473.4 GINJGRC1_R=6907.1 GINJGRC2_R=0.0

Constraint: OILFIELDRATE=40,000 BOPD CONSLIQRATEPLATA=20,000 BFPD CONSGASRATEPLATA=70,000 Mscf/day CONSGASRATEPLATB=55,000 Mscf/day Calculation: Eq.12

00284.0)ORATGRA1_RWRATGRA1_R(

WRATGRA1_R1 =

+=−AGRWC

0252.0)ORATGRA2_RWRATGRA2_R(

WRATGRA2_R2 =

+=−AGRWC

014.02

21 =+

= −−−

AGRAGRAPLAT

WCWCWC

Eq.13

BOPDWCQ APLATAPLATo 720,19)1(*EPLATACONSLIQRAT, =−= −− Result from Eq.13 used if Reservoir-A has own oil target with keyword ORAT. Since in this case is using liquid constraint (LRAT), then another approximation used directly with total oil from Previous time step.

BOPDQQQ AoAoAPLATo 5.383,152,1,, =+=−

Liquid constraint put in the equal between Group-A1 and A-2 as ECLIPSE does:

BFPDQ

Q AfAf 000,10

2,

1, ==

Page 107: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 101 of 165

BFPDQ

Q AfAf 000,10

2,

1, ==

BFPDQQQ AfAfAf 000,101,,2, =−=

'Constraint for Platform-B Eq.13

BOPDQQQ APLAToFoBPLATo 5.616,245.383,15000,40,,, =−=−= −− Constraint for Oil Rate at Platform-B is equal to all groups

BOPDQ

Q BPLAToBo 25.308,12

2,

, == −

Eq.9

CoBoBPLATo QQQ ,,, +=− BOPDQQQ BoBPLAToCo 25.308,12,,, =−= −

Hence, Constraint the oil rate each group at Platform-B are:

BOPDQ

Q BoBo 13.154,6

2,

1, ==

BOPDQ

Q BoBo 13.154,6

2,

2, ==

BOPDQ

Q CoCo 13.154,6

2,

1, ==

BOPDQ

Q CoCo 13.154,6

2,

2, ==

Gas Rate Constraint Calculation Reservoir-A

dayMscfQQQ AgAg

n

iAg /000,708.149632.036,7552,1,

1, =+=+==∑

= Determine the gas threshold from Group which has lowest gas prodoction rate at previous time step:

dayMscfQGasTreshold Ag /8.149632, === Eq.14

dayMscfx

QQ

QxQQ

TSTS

n

iAgi

n

iAg

n

iAgAg

TSAg /75.153.108.319,31000,70

000,708.963,14)(

)(1,

1,

1,,2,

)(2, =⎟⎠

⎞⎜⎝

⎛+

=⎟⎟⎟⎟

⎜⎜⎜⎜

+=

Δ−==

=

∑∑

Page 108: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 102 of 165

Since, the )(2, TSAgQ < Treshold gas, then use bigger value as next gas constraint for lower gas production rate group.

dayMscfQ TSAg /8.963,14)(2, = Eq.15

dayMscfQAPLATConstraGasQ AgAg /036,558.963,14000,70int 2,1, =−=−−=

dayMscfQ TSAg /8.963,14)(2, = 'Gas Rate Constraint Calculation Reservoir-C Similar to Reservoir-A calculation flow, got:

dayMscfQ TSCg /8.7275)(2, = dayMscfQBPLATConstraGasQ CgCg /2.724,478.7275000,55int 2,1, =−=−−=

'Gas Injection Constraint Calculation Reservoir-A Since Reservoir-B contributes gas production, where a half-gas produced will be re-injected then use Eq.17. The first step is put all reservoirs unconstrained to know their injection potential then choose the highest gas injection rate one in reservoir as a base formulation:

( )10,

..1

,1

,

.1,.,,

≤<⎟⎠

⎞⎜⎝

⎛+

⎟⎠

⎞⎜⎝

⎛++

=

−+

∑∑

==

−=

gn

iigi

n

iig

resinjNon

n

iigresinjigiig

gA

resinjNonresinj

QQ

QQQαα

)8.313196907.1()8.72759.958,15()4.60004.6000(000,708.31319)4.60004.6000(000,70

+++++++++

=gAα

77.0=gAα Gas Injection factor for Plat-B:

23.01 =−= gAgB αα In this case, Eq.18 is not used since the water injection factor has set proportionally from ECLIPSE each 0.80. Those calculation results then as new input for restart run which located in file: SCHEDULE(n)-R.inc which n is name of Reservoir or Slave.

Page 109: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 103 of 165

APPENDIX E - ECLIPSE Datasets: Master and Slaves NOTE: BLUE FONT INDICATES WOULD CHANGE / MODIFY SAMPLE APPROACH DATASETS (Original RC ECLIPSE Dataset) ------------------------------------------------------------------------------------------------------------------------------------ -- MASTER RUNS OF ECLIPSE RC DATSET WITH DUMMY ------------------------------------------------------------------------------------------------------------------------------------ RUNSPEC ============================================================== TITLE MULTI-LEVEL GROUP CONTROL IN COUPLED RESERVOIRS - MASTER RUN DIMENS 1 1 1 / OIL WATER

GAS DISGAS FIELD TABDIMS 1 1 16 15 3 15 / REGDIMS 3 1 0 0 / WELLDIMS 1 1 10 1 / -- Original was 1 'JAN' 1994 START 1 'JAN' 2010 / -- Checking available Reservoir Coupling ECLIPSE License LICENSES 'rescoupling' / / NSTACK 4 / -- To release UNSMRY file UNIFOUT UNIFIN GRID ============================================================== EQUALS

Page 110: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 104 of 165

'DX' 1000 / 'DY' 1000 / 'DZ' 20 / 'PERMX' 300 / 'PERMY' 300 / 'PERMZ' 30 / 'PORO' 0.3 / 'TOPS' 7000 / / NOGGF

-- Report Levels for Grid Section Data RPTGRID / INIT PROPS ============================================================== -- THE PROPS SECTION DEFINES THE REL. PERMEABILITIES, CAPILLARY -- PRESSURES, AND THE PVT PROPERTIES OF THE RESERVOIR FLUIDS -- WATER RELATIVE PERMEABILITY AND CAPILLARY PRESSURE ARE TABULATED AS -- A FUNCTION OF WATER SATURATION. -- A FUNCTION OF WATER SATURATION. SWFN -- SWAT KRW PCOW 0.22 0 7 0.3 0.07 4 0.4 0.15 3 0.5 0.24 2.5 0.6 0.33 2 0.8 0.65 1 0.9 0.83 0.5 1 1 0 /

-- A FUNCTION OF GAS SATURATION. SGFN -- SGAS KRG PCOG 0 0 0 0.04 0 0.2 0.1 0.022 0.5 0.2 0.1 1 0.3 0.24 1.5 0.4 0.34 2 0.5 0.42 2.5 0.6 0.5 3 0.7 0.8125 3.5 0.78 1 3.9 / -- A FUNCTION OF OIL SATURATION. SOF3 -- SOIL KROW KROG 0 0 0 0.2 0 0 0.38 0.00432 0 0.4 0.0048 0.004 0.48 0.05288 0.02 0.5 0.0649 0.036 0.58 0.11298 0.1 0.6 0.125 0.146

Page 111: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 105 of 165

0.68 0.345 0.33 0.7 0.4 0.42 0.74 0.7 0.6 0.78 1 1 / PVTW -- REF. PRES.(psia) REF. FVF COMPRESSIBILITY(psia-1) REF VISCOSITY(cp) VISCOSIBILITY 3000 1.00341 3.0D-6 0.96 0 / ROCK -- REF. PRES(psia) COMPRESSIBILITY(psia-1) 3600 4.0D-6 / DENSITY -- OIL WATER GAS 45 63.02 0.0702 / -- PVT PROPERTIES OF DRY GAS (NO VAPOURISED OIL) -- WE WOULD USE PVTG TO SPECIFY THE PROPERTIES OF WET GAS PVDG -- PGAS BGAS VISGAS 400 5.9 0.013 800 2.95 0.0135 1200 1.96 0.014 1600 1.47 0.0145 2000 1.18 0.015 2400 0.98 0.0155 2800 0.84 0.016 3200 0.74 0.0165 3600 0.65 0.017 4000 0.59 0.0175 4400 0.54 0.018 4800 0.49 0.0185 5200 0.45 0.019 5600 0.42 0.0195 / -- PVT PROPERTIES OF LIVE OIL (WITH DISSOLVED GAS) PVTO -- RS POIL FVFO VISO 0.165 400 1.012 1.17 / 0.335 800 1.0255 1.14 / 0.500 1200 1.038 1.11 / 0.665 1600 1.051 1.08 / 0.828 2000 1.063 1.06 / 0.985 2400 1.075 1.03 / 1.130 2800 1.087 1.00 / 1.270 3200 1.0985 0.98 / 1.390 3600 1.11 0.95 / 1.500 4000 1.12 0.94 / 1.600 4400 1.13 0.92 / 1.676 4800 1.14 0.91 / 1.750 5200 1.148 0.9 / 1.810 5600 1.155 0.89 6000 1.1504 0.89 6400 1.1458 0.89 6800 1.1412 0.89 7200 1.1367 0.89 / / RPTPROPS /

Page 112: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 106 of 165

SOLUTION ============================================================ -- DATUM DATUM OWC OWC GOC GOC RSVD RVVD SOLN -- DEPTH PRESS DEPTH PCOW DEPTH PCOG TABLE TABLE METH EQUIL 7010 4000 9000 0.0 7010 0.0 0 0 5 / SUMMARY ============================================================= -- THIS SECTION SPECIFIES DATA TO BE WRITTEN TO THE SUMMARY -- FILES, WHICH MAY LATER BE USED WITH THE GRAPHICS PACKAGE. ============================================================= FOPR FWPR FGPR GLPR 'PLAT-A' / GOPR / GWPR / GGPR / FWIR FGIR GWIR / GGIR / GVIR / FMCTP GMCTP / FMCTW GMCTW / FMCTG GMCTG /

Page 113: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 107 of 165

DATE -- HAVE THESE QUANTITIES TABULATED IN THE PRINT FILE RUNSUM SEPARATE SCHEDULE ============================================================== SKIPREST SLAVES -- slave datafile machine directory -- name root hostname of data file 'slave1' 'rcslave1' '*' '.' / 'slave2' 'rcslave2' '*' '.' / 'slave3' 'rcslave3' '*' '.' / / DUMPCUPL 'U' / DRSDT 1E20 / RPTSCHED 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'WELSPECS' / GRUPTREE 'GR-A1' 'PLAT-A' / 'GR-A2' 'PLAT-A' / 'SP-B' 'PLAT-B' / 'SP-C' 'PLAT-B' / 'GR-B1' 'SP-B' / 'GR-B2' 'SP-B' / 'GR-C1' 'SP-C' / 'GR-C2' 'SP-C' / / GRUPMAST -- MASTER SLAVE SLAVE LIMITING -- GROUP NAME GROUP RATE CHANGE 'GR-A1' 'SLAVE1' 'G-A1' 0.1 / 'GR-A2' 'SLAVE1' 'G-A2' 0.1 / 'GR-B1' 'SLAVE2' 1* 0.1 / 'GR-B2' 'SLAVE2' 1* 0.1 / 'GR-C1' 'SLAVE3' 1* 0.1 / 'GR-C2' 'SLAVE3' 1* 0.1 / / GCONPROD -- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID -- NAME MODE RATE RATE RATE RATE ACTION FLD RATE 'FIELD' 'ORAT' 40000 / 'PLAT-A' 'LRAT' 2* 70000 20000 'RATE' 'NO' / 'PLAT-B' 'NONE' 2* 55000 1* 'RATE' 'YES' / 'GR-*' 'NONE' 5* 'YES' 1000 'LIQ' / /

Page 114: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 108 of 165

GCONINJE -- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID GRAT -- NAME INJ MODE FLD RATE DEFN 'FIELD' 'GAS' 'REIN' 1* 1* 0.5 / 'FIELD' 'WAT' 'VREP' 1* 1* 1* 0.8 / 'PLAT-A' 'GAS' 'FLD' 1* 1* 1* 1* 1* 1* 'VOID' / 'PLAT-A' 'WAT' 'FLD' 1* 1* 1* 1* 1* 1* 'NETV' / 'SP-C' 'GAS' 'FLD' 1* 1* 1* 1* 1* 1* 'VOID' / 'SP-C' 'WAT' 'FLD' 1* 1* 1* 1* 1* 1* 'NETV' / 'SP-B' 'WAT' 'VREP' 1* 1* 1* 1.0 'NO' / 'GR-*' 'GAS' 'FLD' 5* 100 'RATE' / 'GR-*' 'WAT' 'FLD' 5* 100 'RATE' / / -- The TUNING data is kept on the restart file so that it will apply to any subsequent -- restart run unless it is reset in the restart run. -- Whenever TUNING is declared with the TSINIT field defaulted, then TSINIT is set -- equal to 1.0. TUNING 1 50 / / -- The number represents the minimum timestep length that can be imposed by a group’s limiting -- flow rate fractional change. RCMASTS 10 / DATES 11 'JAN' 2010 / 20 'FEB' 2010 / 1 'APR' 2010 / 1 'JLY' 2010 / 1 'OCT' 2010 / / -- RESTART FILE DUMP RPTSCHED 'RESTART=2' 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'WELSPECS' / DATES 1 'JAN' 2011 / / RPTSCHED 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'WELSPECS' / DATES 1 'APR' 2011 / 1 'JLY' 2011 / 1 'OCT' 2011 / 1 'JAN' 2012 / / END ==============================================================

Page 115: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 109 of 165

-------------------------------------------------------------------------------------------------------------- -- RESERVOIR-A (RCSLAVE1) ORIGINAL DATASET -------------------------------------------------------------------------------------------------------------- RUNSPEC ============================================================== TITLE MULTI-LEVEL GROUP CONTROL IN COUPLED RESERVOIRS - SLAVE1 DIMENS 3 9 3 / OIL WATER GAS DISGAS FIELD TABDIMS 1 1 16 15 3 15 / REGDIMS 3 1 0 0 / WELLDIMS 10 3 4 6 / START 1 'JAN' 2010 / NSTACK 4 / GRID ============================================================== EQUALS 'DX' 1000 / 'DY' 1000 / 'DZ' 20 / 'PERMX' 300 / 'PERMY' 300 / 'PERMZ' 30 / 'PORO' 0.3 / 'TOPS' 7000 1 3 1 1 1 1 / 'TOPS' 7020 1 3 2 2 1 1 / 'TOPS' 7040 1 3 3 3 1 1 / 'TOPS' 7060 1 3 4 4 1 1 / 'TOPS' 7080 1 3 5 5 1 1 / 'TOPS' 7100 1 3 6 6 1 1 / 'TOPS' 7120 1 3 7 7 1 1 / 'TOPS' 7140 1 3 8 8 1 1 / 'TOPS' 7160 1 3 9 9 1 1 / /

Page 116: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 110 of 165

NOGGF RPTGRID / PROPS ============================================================== SWFN 0.22 0 7 0.3 0.07 4 0.4 0.15 3 0.5 0.24 2.5 0.6 0.33 2 0.8 0.65 1 0.9 0.83 0.5 1 1 0 / SGFN 0 0 0 0.04 0 0.2 0.1 0.022 0.5 0.2 0.1 1 0.3 0.24 1.5 0.4 0.34 2 0.5 0.42 2.5 0.6 0.5 3 0.7 0.8125 3.5 0.78 1 3.9 / SOF3 0 0 0 0.2 0 0 0.38 0.00432 0 0.4 0.0048 0.004 0.48 0.05288 0.02 0.5 0.0649 0.036 0.58 0.11298 0.1 0.6 0.125 0.146 0.68 0.345 0.33 0.7 0.4 0.42 0.74 0.7 0.6 0.78 1 1 / PVTW 3000 1.00341 3.0D-6 0.96 0 / ROCK 3600 4.0D-6 / DENSITY 45 63.02 0.0702 / PVDG 400 5.9 0.013 800 2.95 0.0135 1200 1.96 0.014 1600 1.47 0.0145 2000 1.18 0.015

Page 117: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 111 of 165

2400 0.98 0.0155 2800 0.84 0.016 3200 0.74 0.0165 3600 0.65 0.017 4000 0.59 0.0175 4400 0.54 0.018 4800 0.49 0.0185 5200 0.45 0.019 5600 0.42 0.0195 / PVTO 0.165 400 1.012 1.17 / 0.335 800 1.0255 1.14 / 0.500 1200 1.038 1.11 / 0.665 1600 1.051 1.08 / 0.828 2000 1.063 1.06 / 0.985 2400 1.075 1.03 / 1.130 2800 1.087 1.00 / 1.270 3200 1.0985 0.98 / 1.390 3600 1.11 0.95 / 1.500 4000 1.12 0.94 / 1.600 4400 1.13 0.92 / 1.676 4800 1.14 0.91 / 1.750 5200 1.148 0.9 / 1.810 5600 1.155 0.89 6000 1.1504 0.89 6400 1.1458 0.89 6800 1.1412 0.89 7200 1.1367 0.89 / / RPTPROPS / SOLUTION ============================================================== -- DATUM DATUM OWC OWC GOC GOC RSVD RVVD SOLN -- DEPTH PRESS DEPTH PCOW DEPTH PCOG TABLE TABLE METH EQUIL 7010 4000 9000 0.0 7010 0.0 0 0 5 / RPTSOL -- Initialisation Print Output -- 'PRES' 'SWAT' 'RS' 'FIP=2' 'EQUIL' 'RSVD' / SUMMARY ============================================================== FOPR FWPR FGPR FLPR FVPR GOPR

Page 118: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 112 of 165

'G-A1' 'G-A2' / GWPR 'G-A1' 'G-A2' / GGPR 'G-A1' 'G-A2' / FWIR FGIR FVIR GMCTP 'G-A1' 'G-A2' / GMCTW 'G-A2' / GMCTG 'G-A1' / WMCTL / FMWPR FMWIN DATE RUNSUM SCHEDULE ============================================================== SKIPREST DRSDT 1E20 / RPTSCHED 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'WELSPECS' / WELSPECS -- WELL GROUP LOCATION BHP PREF DRAIN BACK SHUT/ -- NAME NAME I J DEPTH PHAS RAD PRES STOP 'PA1' 'G-A1' 3 2 1* 'OIL' -1.0 'NO' 'SH' / 'PA2' 'G-A1' 1 3 1* 'OIL' -1.0 'NO' 'SH' / 'PA3' 'G-A1' 2 4 1* 'OIL' -1.0 'NO' 'SH' / 'PA4' 'G-A2' 2 7 1* 'OIL' -1.0 'NO' 'SH' / 'PA5' 'G-A2' 1 6 1* 'OIL' -1.0 'NO' 'SH' / 'PA6' 'G-A2' 3 5 1* 'OIL' -1.0 'NO' 'SH' / 'IGA' 'G-A1' 1 1 1* 'GAS' -1.0 / 'IWA1' 'G-A2' 1 9 1* 'WAT' -1.0 / 'IWA2' 'G-A2' 2 9 1* 'WAT' -1.0 / 'IWA3' 'G-A2' 3 9 1* 'WAT' -1.0 / / GRUPSLAV -- SLAVE EQUIV OIL WAT/LIQ GAS RESV OIL WAT GAS

Page 119: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 113 of 165

-- GROUP MASTER PROD PROD PROD PROD INJ INJ INJ -- NAME GROUP LIMITS LIMITS LIMITS LIMITS LIMITS LIMITS LIMITS 'G-A1' 'GR-A1' / 'G-A2' 'GR-A2' / / COMPDAT -- WELL -LOCATION- OPEN/ SAT CONN BORE -- NAME I J K1-K2 SHUT TAB FACT DIAM 'PA1' 3 2 1 3 'OPEN' 0 0.0 0.333 / 'PA2' 1 3 1 3 'OPEN' 0 0.0 0.333 / 'PA3' 2 4 1 3 'OPEN' 0 0.0 0.333 / 'PA4' 2 7 1 3 'OPEN' 0 0.0 0.333 / 'PA5' 1 6 1 3 'OPEN' 0 0.0 0.333 / 'PA6' 3 5 1 3 'OPEN' 0 0.0 0.333 / 'IGA' 1 1 1 1 'OPEN' 0 0.0 0.333 / 'IWA1' 1 9 2 3 'OPEN' 0 0.0 0.333 / 'IWA2' 2 9 2 3 'OPEN' 0 0.0 0.333 / 'IWA3' 3 9 2 3 'OPEN' 0 0.0 0.333 / / -- Original Data -- 'P*' 0 0 1 3 'OPEN' 0 0.0 0.333 / -- 'IG*' 0 0 1 1 'OPEN' 0 0.0 0.333 / -- 'IW*' 0 0 2 3 'OPEN' 0 0.0 0.333 / -- / WCONPROD -- WELL OPEN/ CNTL OIL WATER GAS LIQU VOID BHP -- NAME SHUT MODE RATE RATE RATE RATE RATE 'P*' 'SHUT' 'GRUP' 2* 3E4 2* 2000 / / WELOPEN 'PA1' / 'PA2' / 'PA4' / / WCONINJE -- WELL INJ OPEN/ CNTL FLOW RESV BHP -- NAME TYPE SHUT MODE RATE RATE 'IG*' 'GAS' 'OPEN' 'GRUP' 2* 5500 / 'IW*' 'WAT' 'OPEN' 'GRUP' 2* 5500 / 'IWA2' 'WAT' 'SHUT' 'GRUP' 2* 5500 / / QDRILL 'PA3' 'PA5' 'PA6' 'IWA2' / WECON -- WELL MIN MIN MAX MAX MAX WORK END -- NAME OIL GAS WCT GOR WGR OVER RUN 'P*' 500 1* 0.7 10.0 1* 'CON' 'NO' / / GCONPROD -- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID -- NAME MODE RATE RATE RATE RATE ACTION FLD RATE 'G-*' 'LRAT' 3* 8000 'RATE' 'NO' / /

Page 120: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 114 of 165

GCONINJE -- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID GRAT -- NAME INJ MODE FLD RATE DEFN 'G-A1' 'GAS' 'RATE' 10 / 'G-A2' 'WAT' 'RESV' 1* 10 / / DATES 11 'JAN' 2010 / 20 'FEB' 2010 / 1 'APR' 2010 / 1 'JLY' 2010 / 1 'OCT' 2010 / / -- RESTART FILE DUMP RPTSCHED 'RESTART=2' 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'WELSPECS' / DATES 1 'JAN' 2011 / / RPTSCHED 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'WELSPECS' / DATES 1 'APR' 2011 / 1 'JLY' 2011 / 1 'OCT' 2011 / 1 'JAN' 2012 / / END ============================================================== --------------------------------------------------------------------------------------------------------------

Page 121: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 115 of 165

-- RESERVOIR-B (RCSLAVE2) ORIGINAL DATASET -------------------------------------------------------------------------------------------------------------- RUNSPEC ============================================================== TITLE MULTI-LEVEL GROUP CONTROL IN COUPLED RESERVOIRS - SLAVE2 DIMENS 3 9 3 / OIL WATER FIELD TABDIMS 1 1 16 15 3 15 / REGDIMS 3 1 0 0 / WELLDIMS 10 3 4 6 / START 1 'MAR' 2010 / NSTACK 4 / GRID ============================================================== EQUALS 'DX' 1000 / 'DY' 2000 / 'DZ' 20 / 'PERMX' 300 / 'PERMY' 300 / 'PERMZ' 30 / 'PORO' 0.3 / 'TOPS' 7000 1 3 1 1 1 1 / 'TOPS' 7020 1 3 2 2 1 1 / 'TOPS' 7040 1 3 3 3 1 1 / 'TOPS' 7060 1 3 4 4 1 1 / 'TOPS' 7080 1 3 5 5 1 1 / 'TOPS' 7100 1 3 6 6 1 1 / 'TOPS' 7120 1 3 7 7 1 1 / 'TOPS' 7140 1 3 8 8 1 1 / 'TOPS' 7160 1 3 9 9 1 1 / / NOGGF RPTGRID /

Page 122: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 116 of 165

PROPS ============================================================== SWFN 0.22 0 7 0.3 0.07 4 0.4 0.15 3 0.5 0.24 2.5 0.6 0.33 2 0.8 0.65 1 0.9 0.83 0.5 1 1 0 / SOF2 0 0 0.2 0 0.38 0.00432 0.4 0.0048 0.48 0.05288 0.5 0.0649 0.58 0.11298 0.6 0.125 0.68 0.345 0.7 0.4 0.74 0.7 0.78 1 / PVTW 3000 1.00341 3.0D-6 0.96 0 / ROCK 3600 4.0D-6 / DENSITY 45 63.02 0.0702 / PVDO 1400 1.05 1.0 7200 1.01 1.0 / RSCONST 1.2 3100 / RPTPROPS / SOLUTION ============================================================== -- DATUM DATUM OWC OWC GOC GOC RSVD RVVD SOLN -- DEPTH PRESS DEPTH PCOW DEPTH PCOG TABLE TABLE METH EQUIL 7010 4000 9000 0.0 7010 0.0 0 0 5 / RPTSOL -- Initialisation Print Output -- 'PRES' 'SWAT' 'RS' 'FIP=2' 'EQUIL' 'RSVD' /

Page 123: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 117 of 165

SUMMARY ============================================================== FOPR FWPR FLPR FVPR GOPR 'GR-B1' 'GR-B2' / GWPR 'GR-B1' 'GR-B2' / FWIR FVIR GMCTP 'GR-B1' 'GR-B2' / GMCTW 'GR-B2' / WMCTL / FMWPR FMWIN DATE RUNSUM SCHEDULE ============================================================== SKIPREST DRSDT 1E20 / RPTSCHED 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'WELSPECS' / WELSPECS -- WELL GROUP LOCATION BHP PREF DRAIN BACK SHUT/ -- NAME NAME I J DEPTH PHAS RAD PRES STOP 'PB1' 'GR-B1' 3 2 1* 'OIL' -1.0 'NO' 'SH' / 'PB2' 'GR-B1' 1 3 1* 'OIL' -1.0 'NO' 'SH' / 'PB3' 'GR-B1' 2 4 1* 'OIL' -1.0 'NO' 'SH' / 'PB4' 'GR-B2' 2 7 1* 'OIL' -1.0 'NO' 'SH' / 'PB5' 'GR-B2' 1 6 1* 'OIL' -1.0 'NO' 'SH' / 'PB6' 'GR-B2' 3 5 1* 'OIL' -1.0 'NO' 'SH' / 'IWB1' 'GR-B2' 1 9 1* 'WAT' -1.0 / 'IWB2' 'GR-B2' 2 9 1* 'WAT' -1.0 / 'IWB3' 'GR-B2' 3 9 1* 'WAT' -1.0 /

Page 124: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 118 of 165

/ GRUPSLAV 'GR-B1' / 'GR-B2' / / COMPDAT -- WELL -LOCATION- OPEN/ SAT CONN BORE KH SKIN -- NAME I J K1-K2 SHUT TAB FACT DIAM 'PB1' 3 2 1 3 'OPEN' 0 0.0 0.333 / 'PB2' 1 3 1 3 'OPEN' 0 0.0 0.333 / 'PB3' 2 4 1 3 'OPEN' 0 0.0 0.333 / 'PB4' 2 7 1 3 'OPEN' 0 0.0 0.333 / 'PB5' 1 6 1 3 'OPEN' 0 0.0 0.333 / 'PB6' 3 5 1 3 'OPEN' 0 0.0 0.333 / 'IWB1' 1 9 2 3 'OPEN' 0 0.0 0.333 1* -3 / 'IWB2' 2 9 2 3 'OPEN' 0 0.0 0.333 1* -3 / 'IWB3' 3 9 2 3 'OPEN' 0 0.0 0.333 1* -3 / / -- Original data could not read 0 IJ on streamz -- 'P*' 0 0 1 3 'OPEN' 0 0.0 0.333 / -- 'IW*' 0 0 2 3 'OPEN' 0 0.0 0.333 1* -3 / -- / WCONPROD -- WELL OPEN/ CNTL OIL WATER GAS LIQU VOID BHP -- NAME SHUT MODE RATE RATE RATE RATE RATE 'P*' 'SHUT' 'GRUP' 3* 2* 2000 / / WELOPEN 'PB1' / 'PB2' / 'PB4' / / WCONINJE -- WELL INJ OPEN/ CNTL FLOW RESV BHP -- NAME TYPE SHUT MODE RATE RATE 'IW*' 'WAT' 'OPEN' 'GRUP' 2* 6000 / 'IWB2' 'WAT' 'SHUT' 'GRUP' 2* 6000 / / QDRILL 'PB3' 'PB5' 'PB6' 'IWB2' / WECON -- WELL MIN MIN MAX MAX MAX WORK END -- NAME OIL GAS WCT GOR WGR OVER RUN 'P*' 500 1* 0.7 10.0 1* 'CON' 'NO' / / GCONPROD -- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID -- NAME MODE RATE RATE RATE RATE ACTION FLD RATE 'GR-*' 'ORAT' 10 3* 'RATE' 'NO' / /

Page 125: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 119 of 165

GCONINJE -- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID GRAT -- NAME INJ MODE FLD RATE DEFN 'GR-B2' 'WAT' 'RESV' 1* 10 / / DATES 11 'MAR' 2010 / 1 'MAY' 2010 / 1 'JLY' 2010 / 1 'OCT' 2010 / / --RESTART FILE DUMP RPTSCHED 'RESTART=2' 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'WELSPECS' / DATES 1 'JAN' 2011 / / RPTSCHED 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'WELSPECS' / DATES 1 'APR' 2011 / 1 'JLY' 2011 / 1 'OCT' 2011 / 1 'JAN' 2012 / / END ============================================================== --------------------------------------------------------------------------------------------------------------

Page 126: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 120 of 165

-- RESERVOIR-C (RCSLAVE3) ORIGINAL DATASET -------------------------------------------------------------------------------------------------------------- RUNSPEC ============================================================== TITLE MULTI-LEVEL GROUP CONTROL IN COUPLED RESERVOIRS - SLAVE3 DIMENS 3 9 3 / OIL WATER GAS DISGAS FIELD TABDIMS 1 1 16 15 3 15 / REGDIMS 3 1 0 0 / WELLDIMS 10 3 4 6 / START 1 'JAN' 2010 / NSTACK 4 / GRID ============================================================== EQUALS 'DX' 1000 / 'DY' 1000 / 'DZ' 20 / 'PERMX' 300 / 'PERMY' 300 / 'PERMZ' 30 / 'PORO' 0.3 / 'TOPS' 7000 1 3 1 1 1 1 / 'TOPS' 7020 1 3 2 2 1 1 / 'TOPS' 7040 1 3 3 3 1 1 / 'TOPS' 7060 1 3 4 4 1 1 / 'TOPS' 7080 1 3 5 5 1 1 / 'TOPS' 7100 1 3 6 6 1 1 / 'TOPS' 7120 1 3 7 7 1 1 / 'TOPS' 7140 1 3 8 8 1 1 / 'TOPS' 7160 1 3 9 9 1 1 / / NOGGF RPTGRID

Page 127: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 121 of 165

/ PROPS ============================================================== SWFN 0.22 0 7 0.3 0.07 4 0.4 0.15 3 0.5 0.24 2.5 0.6 0.33 2 0.8 0.65 1 0.9 0.83 0.5 1 1 0 / SGFN 0 0 0 0.04 0 0.2 0.1 0.022 0.5 0.2 0.1 1 0.3 0.24 1.5 0.4 0.34 2 0.5 0.42 2.5 0.6 0.5 3 0.7 0.8125 3.5 0.78 1 3.9 / SOF3 0 0 0 0.2 0 0 0.38 0.00432 0 0.4 0.0048 0.004 0.48 0.05288 0.02 0.5 0.0649 0.036 0.58 0.11298 0.1 0.6 0.125 0.146 0.68 0.345 0.33 0.7 0.4 0.42 0.74 0.7 0.6 0.78 1 1 / PVTW 3000 1.00341 3.0D-6 0.96 0 / ROCK 3600 4.0D-6 / DENSITY 45 63.02 0.0702 / PVDG 400 5.9 0.013 800 2.95 0.0135 1200 1.96 0.014 1600 1.47 0.0145 2000 1.18 0.015 2400 0.98 0.0155 2800 0.84 0.016 3200 0.74 0.0165

Page 128: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 122 of 165

3600 0.65 0.017 4000 0.59 0.0175 4400 0.54 0.018 4800 0.49 0.0185 5200 0.45 0.019 5600 0.42 0.0195 / PVTO 0.165 400 1.012 1.17 / 0.335 800 1.0255 1.14 / 0.500 1200 1.038 1.11 / 0.665 1600 1.051 1.08 / 0.828 2000 1.063 1.06 / 0.985 2400 1.075 1.03 / 1.130 2800 1.087 1.00 / 1.270 3200 1.0985 0.98 / 1.390 3600 1.11 0.95 / 1.500 4000 1.12 0.94 / 1.600 4400 1.13 0.92 / 1.676 4800 1.14 0.91 / 1.750 5200 1.148 0.9 / 1.810 5600 1.155 0.89 6000 1.1504 0.89 6400 1.1458 0.89 6800 1.1412 0.89 7200 1.1367 0.89 / / RPTPROPS / SOLUTION ============================================================ -- DATUM DATUM OWC OWC GOC GOC RSVD RVVD SOLN -- DEPTH PRESS DEPTH PCOW DEPTH PCOG TABLE TABLE METH EQUIL 7010 4000 9000 0.0 7010 0.0 0 0 5 / RPTSOL -- Initialisation Print Output -- 'PRES' 'SWAT' 'RS' 'FIP=2' 'EQUIL' 'RSVD' / SUMMARY ============================================================= FOPR FWPR FGPR FLPR FVPR GOPR 'GR-C1' 'GR-C2' / GWPR

Page 129: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 123 of 165

'GR-C1' 'GR-C2' / GGPR 'GR-C1' 'GR-C2' / FWIR FGIR FVIR GMCTP 'GR-C1' 'GR-C2' / GMCTW 'GR-C2' / GMCTG 'GR-C1' / WMCTL / FMWPR FMWIN DATE RUNSUM SCHEDULE ============================================================= SKIPREST DRSDT 1E20 / RPTSCHED 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'WELSPECS' / WELSPECS -- WELL GROUP LOCATION BHP PREF DRAIN BACK SHUT/ -- NAME NAME I J DEPTH PHAS RAD PRES STOP 'PC1' 'GR-C1' 3 2 1* 'OIL' -1.0 'NO' 'SH' / 'PC2' 'GR-C1' 1 3 1* 'OIL' -1.0 'NO' 'SH' / 'PC3' 'GR-C1' 2 4 1* 'OIL' -1.0 'NO' 'SH' / 'PC4' 'GR-C2' 2 7 1* 'OIL' -1.0 'NO' 'SH' / 'PC5' 'GR-C2' 1 6 1* 'OIL' -1.0 'NO' 'SH' / 'PC6' 'GR-C2' 3 5 1* 'OIL' -1.0 'NO' 'SH' / 'IGC' 'GR-C1' 1 1 1* 'GAS' -1.0 / 'IWC1' 'GR-C2' 1 9 1* 'WAT' -1.0 / 'IWC2' 'GR-C2' 2 9 1* 'WAT' -1.0 / 'IWC3' 'GR-C2' 3 9 1* 'WAT' -1.0 / / GRUPSLAV 'GR-C1' / 'GR-C2' / /

Page 130: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 124 of 165

COMPDAT -- WELL -LOCATION- OPEN/ SAT CONN BORE -- NAME I J K1-K2 SHUT TAB FACT DIAM 'PC1' 3 2 1 3 'OPEN' 0 0.0 0.333 / 'PC2' 1 3 1 3 'OPEN' 0 0.0 0.333 / 'PC3' 2 4 1 3 'OPEN' 0 0.0 0.333 / 'PC4' 2 7 1 3 'OPEN' 0 0.0 0.333 / 'PC5' 1 6 1 3 'OPEN' 0 0.0 0.333 / 'PC6' 3 5 1 3 'OPEN' 0 0.0 0.333 / 'IGC' 1 1 1 1 'OPEN' 0 0.0 0.333 / 'IWC1' 1 9 2 3 'OPEN' 0 0.0 0.333 / 'IWC2' 2 9 2 3 'OPEN' 0 0.0 0.333 / 'IWC3' 3 9 2 3 'OPEN' 0 0.0 0.333 / / -- Original data could not read 0 IJ on streamz -- 'P*' 0 0 1 3 'OPEN' 0 0.0 0.333 / -- 'IG*' 0 0 1 1 'OPEN' 0 0.0 0.333 / -- 'IW*' 0 0 2 3 'OPEN' 0 0.0 0.333 / -- / WCONPROD -- WELL OPEN/ CNTL OIL WATER GAS LIQU VOID BHP -- NAME SHUT MODE RATE RATE RATE RATE RATE 'P*' 'SHUT' 'GRUP' 2* 3E4 2* 2000 / / WELOPEN 'PC1' / 'PC2' / 'PC4' / / WCONINJE -- WELL INJ OPEN/ CNTL FLOW RESV BHP -- NAME TYPE SHUT MODE RATE RATE 'IG*' 'GAS' 'OPEN' 'GRUP' 2* 5500 / 'IW*' 'WAT' 'OPEN' 'GRUP' 2* 5500 / 'IWC2' 'WAT' 'SHUT' 'GRUP' 2* 5500 / / QDRILL 'PC3' 'PC5' 'PC6' 'IWC2' / WECON -- WELL MIN MIN MAX MAX MAX WORK END -- NAME OIL GAS WCT GOR WGR OVER RUN 'P*' 500 1* 0.7 10.0 1* 'CON' 'NO' / / GCONPROD -- GROUP CNTL OIL WATER GAS LIQU LIMIT AVAIL GUID -- NAME MODE RATE RATE RATE RATE ACTION FLD RATE 'GR-*' 'ORAT' 10 3* 'RATE' 'NO' / / GCONINJE -- GROUP PHASE CNTL SRAT VRAT REIN VREP AVAIL GUID GRAT

Page 131: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 125 of 165

-- NAME INJ MODE FLD RATE DEFN 'GR-C1' 'GAS' 'RATE' 10 / 'GR-C2' 'WAT' 'RESV' 1* 10 / / DATES 11 'JAN' 2010 / 20 'FEB' 2010 / 1 'APR' 2010 / 1 'JLY' 2010 / 1 'OCT' 2010 / / -- RESTART FILE DUMP RPTSCHED 'RESTART=2' 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'WELSPECS' / DATES 1 'JAN' 2011 / / RPTSCHED 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'WELSPECS' / DATES 1 'APR' 2011 / 1 'JLY' 2011 / 1 'OCT' 2011 / 1 'JAN' 2012 / / END ==============================================================

Page 132: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 126 of 165

PROPOSE APPROACH DATASETS ------------------------------------------------------------------------------------------------------------------------------------ -- RESERVOIR-A (RCSLAVE1) DATASET AT INITIAL RUNS ------------------------------------------------------------------------------------------------------------------------------------ RUNSPEC ============================================================== TITLE MULTI-LEVEL GROUP CONTROL IN COUPLED RESERVOIRS - SLAVE1 DIMENS 3 9 3 / OIL WATER GAS DISGAS FIELD TABDIMS 1 1 16 15 3 15 / REGDIMS 3 1 0 0 / WELLDIMS 10 3 4 6 / START 1 'JAN' 2010 / -- ORIGINAL FILE -- 1 'JAN' 1994 / NSTACK 4 / UNIFOUT UNIFIN SAVE / GRID ============================================================== EQUALS 'DX' 1000 / 'DY' 1000 / 'DZ' 20 / 'PERMX' 300 / 'PERMY' 300 /

Page 133: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 127 of 165

'PERMZ' 30 / 'PORO' 0.3 / 'TOPS' 7000 1 3 1 1 1 1 / 'TOPS' 7020 1 3 2 2 1 1 / 'TOPS' 7040 1 3 3 3 1 1 / 'TOPS' 7060 1 3 4 4 1 1 / 'TOPS' 7080 1 3 5 5 1 1 / 'TOPS' 7100 1 3 6 6 1 1 / 'TOPS' 7120 1 3 7 7 1 1 / 'TOPS' 7140 1 3 8 8 1 1 / 'TOPS' 7160 1 3 9 9 1 1 / / NOGGF RPTGRID / PROPS ============================================================== -- Water Saturation Function SWFN 0.22 0 7 0.3 0.07 4 0.4 0.15 3 0.5 0.24 2.5 0.6 0.33 2 0.8 0.65 1 0.9 0.83 0.5 1 1 0 / -- Gas Saturation Function SGFN 0 0 0 0.04 0 0.2 0.1 0.022 0.5 0.2 0.1 1 0.3 0.24 1.5 0.4 0.34 2 0.5 0.42 2.5 0.6 0.5 3 0.7 0.8125 3.5 0.78 1 3.9 / -- Oil Saturation Function SOF3 0 0 0 0.2 0 0 0.38 0.00432 0 0.4 0.0048 0.004 0.48 0.05288 0.02 0.5 0.0649 0.036 0.58 0.11298 0.1 0.6 0.125 0.146 0.68 0.345 0.33 0.7 0.4 0.42 0.74 0.7 0.6

Page 134: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 128 of 165

0.78 1 1 / -- Water PVT -- Press Density Compressibility Viscousity -- psiea psi-1 cp PVTW 3000 1.00341 3.0D-6 0.96 0 / -- Rock pressure and compressibility ROCK 3600 4.0D-6 / -- Oil, Water and Gas density (API, field unit) DENSITY 45 63.02 0.0702 / -- Dry gas PVT PVDG 400 5.9 0.013 800 2.95 0.0135 1200 1.96 0.014 1600 1.47 0.0145 2000 1.18 0.015 2400 0.98 0.0155 2800 0.84 0.016 3200 0.74 0.0165 3600 0.65 0.017 4000 0.59 0.0175 4400 0.54 0.018 4800 0.49 0.0185 5200 0.45 0.019 5600 0.42 0.0195 / PVTO 0.165 400 1.012 1.17 / 0.335 800 1.0255 1.14 / 0.500 1200 1.038 1.11 / 0.665 1600 1.051 1.08 / 0.828 2000 1.063 1.06 / 0.985 2400 1.075 1.03 / 1.130 2800 1.087 1.00 / 1.270 3200 1.0985 0.98 / 1.390 3600 1.11 0.95 / 1.500 4000 1.12 0.94 / 1.600 4400 1.13 0.92 / 1.676 4800 1.14 0.91 / 1.750 5200 1.148 0.9 / 1.810 5600 1.155 0.89 6000 1.1504 0.89 6400 1.1458 0.89 6800 1.1412 0.89 7200 1.1367 0.89 / / RPTPROPS /

Page 135: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 129 of 165

SOLUTION ============================================================== -- DATUM DATUM OWC OWC GOC GOC RSVD RVVD SOLN -- DEPTH PRESS DEPTH PCOW DEPTH PCOG TABLE TABLE METH EQUIL 7010 4000 9000 0.0 7010 0.0 0 0 5 / RPTRST BASIC=2 / RPTSOL -- Initialisation Print Output 'PRES' 'SWAT' 'RS' 'FIP=2' 'EQUIL' 'RESTART=2' 'RSVD' / SUMMARY ============================================================== FOPR FWPR FGPR FLPR FVPR GOPR 'G-A1' 'G-A2' / GWPR 'G-A1' 'G-A2' / GGPR 'G-A1' 'G-A2' / GWIR 'G-A1' 'G-A2' / GGIR 'G-A1' 'G-A2' / FWIR FGIR FVIR GMCTP 'G-A1' 'G-A2' / GMCTW 'G-A2' / GMCTG 'G-A1' / WMCTL / FMWPR FMWIN DATE RUNSUM

Page 136: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 130 of 165

SCHEDULE ============================================================== SKIPREST DRSDT 1E20 / RPTSCHED 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'RESTART=2' 'WELSPECS' / WELSPECS -- WELL GROUP LOCATION BHP PREF DRAIN BACK SHUT/ -- NAME NAME I J DEPTH PHAS RAD PRES STOP 'PA1' 'G-A1' 3 2 1* 'OIL' -1.0 'NO' 'SH' / 'PA2' 'G-A1' 1 3 1* 'OIL' -1.0 'NO' 'SH' / 'PA3' 'G-A1' 2 4 1* 'OIL' -1.0 'NO' 'SH' / 'PA4' 'G-A2' 2 7 1* 'OIL' -1.0 'NO' 'SH' / 'PA5' 'G-A2' 1 6 1* 'OIL' -1.0 'NO' 'SH' / 'PA6' 'G-A2' 3 5 1* 'OIL' -1.0 'NO' 'SH' / 'IGA' 'G-A1' 1 1 1* 'GAS' -1.0 / 'IWA1' 'G-A2' 1 9 1* 'WAT' -1.0 / 'IWA2' 'G-A2' 2 9 1* 'WAT' -1.0 / 'IWA3' 'G-A2' 3 9 1* 'WAT' -1.0 / / -- Deactivated keywords GRUPSLAV in stand-alone running -- GRUPSLAV -- SLAVE EQUIV OIL WAT/LIQ GAS RESV OIL WAT GAS -- GROUP MASTER PROD PROD PROD PROD INJ INJ INJ -- NAME GROUP LIMITS LIMITS LIMITS LIMITS LIMITS LIMITS LIMITS -- 'G-A1' 'GR-A1' / -- 'G-A2' 'GR-A2' / -- / COMPDAT -- WELL -LOCATION- OPEN/ SAT CONN BORE -- NAME I J K1-K2 SHUT TAB FACT DIAM 'PA1' 3 2 1 3 'OPEN' 0 0.0 0.333 / 'PA2' 1 3 1 3 'OPEN' 0 0.0 0.333 / 'PA3' 2 4 1 3 'OPEN' 0 0.0 0.333 / 'PA4' 2 7 1 3 'OPEN' 0 0.0 0.333 / 'PA5' 1 6 1 3 'OPEN' 0 0.0 0.333 / 'PA6' 3 5 1 3 'OPEN' 0 0.0 0.333 / 'IGA' 1 1 1 1 'OPEN' 0 0.0 0.333 / 'IWA1' 1 9 2 3 'OPEN' 0 0.0 0.333 / 'IWA2' 2 9 2 3 'OPEN' 0 0.0 0.333 / 'IWA3' 3 9 2 3 'OPEN' 0 0.0 0.333 / / -- Original Data -- 'P*' 0 0 1 3 'OPEN' 0 0.0 0.333 / -- 'IG*' 0 0 1 1 'OPEN' 0 0.0 0.333 / -- 'IW*' 0 0 2 3 'OPEN' 0 0.0 0.333 / -- / WCONPROD -- WELL OPEN/ CNTL OIL WATER GAS LIQU VOID BHP

Page 137: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 131 of 165

-- NAME SHUT MODE RATE RATE RATE RATE RATE 'P*' 'SHUT' 'GRUP' 2* 3E4 2* 2000 / / WELOPEN 'PA1' / 'PA2' / 'PA4' / / WCONINJE -- WELL INJ OPEN/ CNTL FLOW RESV BHP -- NAME TYPE SHUT MODE RATE RATE 'IG*' 'GAS' 'OPEN' 'GRUP' 2* 5500 / 'IW*' 'WAT' 'OPEN' 'GRUP' 2* 5500 / 'IWA2' 'WAT' 'SHUT' 'GRUP' 2* 5500 / / QDRILL 'PA3' 'PA5' 'PA6' 'IWA2' / WECON -- WELL MIN MIN MAX MAX MAX WORK END -- NAME OIL GAS WCT GOR WGR OVER RUN 'P*' 500 1* 0.7 10.0 1* 'CON' 'NO' / / INCLUDE SCHEDULE1-INIT.INC / TSTEP 1 / SAVE END ==============================================================

Page 138: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 132 of 165

------------------------------------------------------------------------------------------------------------------------------------ -- RESERVOIR-B (RCSLAVE2) DATASET AT INITIAL RUNS ------------------------------------------------------------------------------------------------------------------------------------ RUNSPEC ============================================================== TITLE MULTI-LEVEL GROUP CONTROL IN COUPLED RESERVOIRS - SLAVE2 DIMENS 3 9 3 / OIL WATER FIELD TABDIMS 1 1 16 15 3 15 / REGDIMS 3 1 0 0 / WELLDIMS 10 3 4 6 / -- The entering date has been written with separated file named TIMESLAVE2 in Pipe-It project START 1 'JAN' 2010 / -- Original dataset -- 1 'MAR' 1994 / -- Linear Solver Stack size NSTACK 4 / UNIFOUT UNIFIN SAVE / GRID ============================================================== EQUALS 'DX' 1000 / 'DY' 2000 / 'DZ' 20 / 'PERMX' 300 / 'PERMY' 300 / 'PERMZ' 30 / 'PORO' 0.3 / 'TOPS' 7000 1 3 1 1 1 1 / 'TOPS' 7020 1 3 2 2 1 1 / 'TOPS' 7040 1 3 3 3 1 1 / 'TOPS' 7060 1 3 4 4 1 1 /

Page 139: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 133 of 165

'TOPS' 7080 1 3 5 5 1 1 / 'TOPS' 7100 1 3 6 6 1 1 / 'TOPS' 7120 1 3 7 7 1 1 / 'TOPS' 7140 1 3 8 8 1 1 / 'TOPS' 7160 1 3 9 9 1 1 / / NOGGF RPTGRID / PROPS ============================================================== SWFN 0.22 0 7 0.3 0.07 4 0.4 0.15 3 0.5 0.24 2.5 0.6 0.33 2 0.8 0.65 1 0.9 0.83 0.5 1 1 0 / SOF2 0 0 0.2 0 0.38 0.00432 0.4 0.0048 0.48 0.05288 0.5 0.0649 0.58 0.11298 0.6 0.125 0.68 0.345 0.7 0.4 0.74 0.7 0.78 1 / PVTW 3000 1.00341 3.0D-6 0.96 0 / ROCK 3600 4.0D-6 / DENSITY 45 63.02 0.0702 / PVDO 1400 1.05 1.0 7200 1.01 1.0 / RSCONST 1.2 3100 / RPTPROPS /

Page 140: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 134 of 165

SOLUTION ============================================================== -- DATUM DATUM OWC OWC GOC GOC RSVD RVVD SOLN -- DEPTH PRESS DEPTH PCOW DEPTH PCOG TABLE TABLE METH EQUIL 7010 4000 9000 0.0 7010 0.0 0 0 5 / RPTRST BASIC=2 / RPTSOL -- Initialisation Print Output -- 'PRES' 'SWAT' 'RS' 'FIP=2' 'EQUIL' 'RSVD' / SUMMARY ============================================================== FOPR FWPR FLPR FVPR GOPR 'GR-B1' 'GR-B2' / GWPR 'GR-B1' 'GR-B2' / FWIR FVIR GMCTP 'GR-B1' 'GR-B2' / GMCTW 'GR-B2' / WMCTL / FMWPR FMWIN DATE RUNSUM SCHEDULE ============================================================== SKIPREST DRSDT

Page 141: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 135 of 165

1E20 / RPTSCHED 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'WELSPECS' / WELSPECS -- WELL GROUP LOCATION BHP PREF DRAIN BACK SHUT/ -- NAME NAME I J DEPTH PHAS RAD PRES STOP 'PB1' 'GR-B1' 3 2 1* 'OIL' -1.0 'NO' 'SH' / 'PB2' 'GR-B1' 1 3 1* 'OIL' -1.0 'NO' 'SH' / 'PB3' 'GR-B1' 2 4 1* 'OIL' -1.0 'NO' 'SH' / 'PB4' 'GR-B2' 2 7 1* 'OIL' -1.0 'NO' 'SH' / 'PB5' 'GR-B2' 1 6 1* 'OIL' -1.0 'NO' 'SH' / 'PB6' 'GR-B2' 3 5 1* 'OIL' -1.0 'NO' 'SH' / 'IWB1' 'GR-B2' 1 9 1* 'WAT' -1.0 / 'IWB2' 'GR-B2' 2 9 1* 'WAT' -1.0 / 'IWB3' 'GR-B2' 3 9 1* 'WAT' -1.0 / / -- Deactivated keywords GRUPSLAV in stand-alone running -- GRUPSLAV -- 'GR-B1' / -- 'GR-B2' / -- / COMPDAT -- WELL -LOCATION- OPEN/ SAT CONN BORE KH SKIN -- NAME I J K1-K2 SHUT TAB FACT DIAM 'PB1' 3 2 1 3 'OPEN' 0 0.0 0.333 / 'PB2' 1 3 1 3 'OPEN' 0 0.0 0.333 / 'PB3' 2 4 1 3 'OPEN' 0 0.0 0.333 / 'PB4' 2 7 1 3 'OPEN' 0 0.0 0.333 / 'PB5' 1 6 1 3 'OPEN' 0 0.0 0.333 / 'PB6' 3 5 1 3 'OPEN' 0 0.0 0.333 / 'IWB1' 1 9 2 3 'OPEN' 0 0.0 0.333 1* -3 / 'IWB2' 2 9 2 3 'OPEN' 0 0.0 0.333 1* -3 / 'IWB3' 3 9 2 3 'OPEN' 0 0.0 0.333 1* -3 / / WCONPROD -- WELL OPEN/ CNTL OIL WATER GAS LIQU VOID BHP -- NAME SHUT MODE RATE RATE RATE RATE RATE 'P*' 'SHUT' 'GRUP' 3* 2* 2000 / / WELOPEN 'PB1' / 'PB2' / 'PB4' / / WCONINJE -- WELL INJ OPEN/ CNTL FLOW RESV BHP -- NAME TYPE SHUT MODE RATE RATE 'IW*' 'WAT' 'OPEN' 'GRUP' 2* 6000 / 'IWB2' 'WAT' 'SHUT' 'GRUP' 2* 6000 / /

Page 142: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 136 of 165

QDRILL 'PB3' 'PB5' 'PB6' 'IWB2' / WECON -- WELL MIN MIN MAX MAX MAX WORK END -- NAME OIL GAS WCT GOR WGR OVER RUN 'P*' 500 1* 0.7 10.0 1* 'CON' 'NO' / / INCLUDE SCHEDULE2-INIT.INC / TSTEP 1 / SAVE END ==============================================================

Page 143: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 137 of 165

------------------------------------------------------------------------------------------------------------------------------------ -- RESERVOIR-C (RCSLAVE3) DATASET AT INITIAL RUNS ------------------------------------------------------------------------------------------------------------------------------------ RUNSPEC ============================================================== TITLE MULTI-LEVEL GROUP CONTROL IN COUPLED RESERVOIRS - SLAVE3 DIMENS 3 9 3 / OIL WATER GAS DISGAS FIELD TABDIMS 1 1 16 15 3 15 / REGDIMS 3 1 0 0 / WELLDIMS 10 3 4 6 / START 1 'JAN' 2010 / -- Original -- 1 'JAN' 1994 / NSTACK 4 / UNIFOUT UNIFIN SAVE / GRID ============================================================== EQUALS 'DX' 1000 / 'DY' 1000 / 'DZ' 20 / 'PERMX' 300 / 'PERMY' 300 / 'PERMZ' 30 / 'PORO' 0.3 / 'TOPS' 7000 1 3 1 1 1 1 / 'TOPS' 7020 1 3 2 2 1 1 /

Page 144: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 138 of 165

'TOPS' 7040 1 3 3 3 1 1 / 'TOPS' 7060 1 3 4 4 1 1 / 'TOPS' 7080 1 3 5 5 1 1 / 'TOPS' 7100 1 3 6 6 1 1 / 'TOPS' 7120 1 3 7 7 1 1 / 'TOPS' 7140 1 3 8 8 1 1 / 'TOPS' 7160 1 3 9 9 1 1 / / NOGGF RPTGRID / PROPS ============================================================== SWFN 0.22 0 7 0.3 0.07 4 0.4 0.15 3 0.5 0.24 2.5 0.6 0.33 2 0.8 0.65 1 0.9 0.83 0.5 1 1 0 / SGFN 0 0 0 0.04 0 0.2 0.1 0.022 0.5 0.2 0.1 1 0.3 0.24 1.5 0.4 0.34 2 0.5 0.42 2.5 0.6 0.5 3 0.7 0.8125 3.5 0.78 1 3.9 / SOF3 0 0 0 0.2 0 0 0.38 0.00432 0 0.4 0.0048 0.004 0.48 0.05288 0.02 0.5 0.0649 0.036 0.58 0.11298 0.1 0.6 0.125 0.146 0.68 0.345 0.33 0.7 0.4 0.42 0.74 0.7 0.6 0.78 1 1 / PVTW 3000 1.00341 3.0D-6 0.96 0 / ROCK 3600 4.0D-6 /

Page 145: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 139 of 165

DENSITY 45 63.02 0.0702 / PVDG 400 5.9 0.013 800 2.95 0.0135 1200 1.96 0.014 1600 1.47 0.0145 2000 1.18 0.015 2400 0.98 0.0155 2800 0.84 0.016 3200 0.74 0.0165 3600 0.65 0.017 4000 0.59 0.0175 4400 0.54 0.018 4800 0.49 0.0185 5200 0.45 0.019 5600 0.42 0.0195 / PVTO 0.165 400 1.012 1.17 / 0.335 800 1.0255 1.14 / 0.500 1200 1.038 1.11 / 0.665 1600 1.051 1.08 / 0.828 2000 1.063 1.06 / 0.985 2400 1.075 1.03 / 1.130 2800 1.087 1.00 / 1.270 3200 1.0985 0.98 / 1.390 3600 1.11 0.95 / 1.500 4000 1.12 0.94 / 1.600 4400 1.13 0.92 / 1.676 4800 1.14 0.91 / 1.750 5200 1.148 0.9 / 1.810 5600 1.155 0.89 6000 1.1504 0.89 6400 1.1458 0.89 6800 1.1412 0.89 7200 1.1367 0.89 / / RPTPROPS / SOLUTION ============================================================== -- DATUM DATUM OWC OWC GOC GOC RSVD RVVD SOLN -- DEPTH PRESS DEPTH PCOW DEPTH PCOG TABLE TABLE METH EQUIL 7010 4000 9000 0.0 7010 0.0 0 0 5 / RPTRST BASIC=2 / RPTSOL -- Initialisation Print Output -- 'PRES' 'SWAT' 'RS' 'FIP=2' 'RESTART=2' 'EQUIL' 'RSVD' /

Page 146: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 140 of 165

SUMMARY ============================================================= FOPR FWPR FGPR FLPR FVPR GOPR 'GR-C1' 'GR-C2' / GWPR 'GR-C1' 'GR-C2' / GGPR 'GR-C1' 'GR-C2' / FWIR FGIR FVIR GMCTP 'GR-C1' 'GR-C2' / GMCTW 'GR-C2' / GMCTG 'GR-C1' / WMCTL / FMWPR FMWIN DATE RUNSUM SCHEDULE ============================================================== SKIPREST DRSDT 1E20 / RPTSCHED 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'RESTART=2' 'WELSPECS' / WELSPECS -- WELL GROUP LOCATION BHP PREF DRAIN BACK SHUT/ -- NAME NAME I J DEPTH PHAS RAD PRES STOP

Page 147: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 141 of 165

'PC1' 'GR-C1' 3 2 1* 'OIL' -1.0 'NO' 'SH' / 'PC2' 'GR-C1' 1 3 1* 'OIL' -1.0 'NO' 'SH' / 'PC3' 'GR-C1' 2 4 1* 'OIL' -1.0 'NO' 'SH' / 'PC4' 'GR-C2' 2 7 1* 'OIL' -1.0 'NO' 'SH' / 'PC5' 'GR-C2' 1 6 1* 'OIL' -1.0 'NO' 'SH' / 'PC6' 'GR-C2' 3 5 1* 'OIL' -1.0 'NO' 'SH' / 'IGC' 'GR-C1' 1 1 1* 'GAS' -1.0 / 'IWC1' 'GR-C2' 1 9 1* 'WAT' -1.0 / 'IWC2' 'GR-C2' 2 9 1* 'WAT' -1.0 / 'IWC3' 'GR-C2' 3 9 1* 'WAT' -1.0 / / -- Deactivated keywords GRUPSLAV in stand-alone runnig -- GRUPSLAV -- 'GR-C1' / -- 'GR-C2' / -- / COMPDAT -- WELL -LOCATION- OPEN/ SAT CONN BORE -- NAME I J K1-K2 SHUT TAB FACT DIAM 'PC1' 3 2 1 3 'OPEN' 0 0.0 0.333 / 'PC2' 1 3 1 3 'OPEN' 0 0.0 0.333 / 'PC3' 2 4 1 3 'OPEN' 0 0.0 0.333 / 'PC4' 2 7 1 3 'OPEN' 0 0.0 0.333 / 'PC5' 1 6 1 3 'OPEN' 0 0.0 0.333 / 'PC6' 3 5 1 3 'OPEN' 0 0.0 0.333 / 'IGC' 1 1 1 1 'OPEN' 0 0.0 0.333 / 'IWC1' 1 9 2 3 'OPEN' 0 0.0 0.333 / 'IWC2' 2 9 2 3 'OPEN' 0 0.0 0.333 / 'IWC3' 3 9 2 3 'OPEN' 0 0.0 0.333 / / WCONPROD -- WELL OPEN/ CNTL OIL WATER GAS LIQU VOID BHP -- NAME SHUT MODE RATE RATE RATE RATE RATE 'P*' 'SHUT' 'GRUP' 2* 3E4 2* 2000 / / WELOPEN 'PC1' / 'PC2' / 'PC4' / / WCONINJE -- WELL INJ OPEN/ CNTL FLOW RESV BHP -- NAME TYPE SHUT MODE RATE RATE 'IG*' 'GAS' 'OPEN' 'GRUP' 2* 5500 / 'IW*' 'WAT' 'OPEN' 'GRUP' 2* 5500 / 'IWC2' 'WAT' 'SHUT' 'GRUP' 2* 5500 / / QDRILL 'PC3' 'PC5' 'PC6' 'IWC2' / WECON -- WELL MIN MIN MAX MAX MAX WORK END -- NAME OIL GAS WCT GOR WGR OVER RUN 'P*' 500 1* 0.7 1* 1* 'CON' 'NO' /

Page 148: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 142 of 165

/ INCLUDE SCHEDULE3-INIT.INC / TSTEP 1 / SAVE END ==============================================================

Page 149: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 143 of 165

APPENDIX F - ECLIPSE Restart File NOTE: BLUE FONT INDICATES WOULD CHANGE / MODIFY ------------------------------------------------------------------------------------------------------------------------------------ -- FLEXIBLE RESTART OF THE RCSLAVE1 DATASET USING UNRST FILE -- N = NUMBER OF REPORT (TIMESTEP) ------------------------------------------------------------------------------------------------------------------------------------ RUNSPEC TITLE MULTI-LEVEL GROUP CONTROL IN COUPLED RESERVOIRS - SLAVE1 DIMENS 3 9 3 / OIL WATER GAS DISGAS FIELD TABDIMS 1 1 16 15 3 15 / REGDIMS 3 1 0 0 / WELLDIMS 10 3 4 6 / START 1 'JAN' 2010 / -- Linear Solver Stack size NSTACK 4 / UNIFOUT UNIFIN SAVE /

Page 150: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 144 of 165

GRID ============================================================== EQUALS 'DX' 1000 / 'DY' 1000 / 'DZ' 20 / 'PERMX' 300 / 'PERMY' 300 / 'PERMZ' 30 / 'PORO' 0.3 / 'TOPS' 7000 1 3 1 1 1 1 / 'TOPS' 7020 1 3 2 2 1 1 / 'TOPS' 7040 1 3 3 3 1 1 / 'TOPS' 7060 1 3 4 4 1 1 / 'TOPS' 7080 1 3 5 5 1 1 / 'TOPS' 7100 1 3 6 6 1 1 / 'TOPS' 7120 1 3 7 7 1 1 / 'TOPS' 7140 1 3 8 8 1 1 / 'TOPS' 7160 1 3 9 9 1 1 / / NOGGF RPTGRID / PROPS ============================================================== -- Water Saturation Function SWFN 0.22 0 7 0.3 0.07 4 0.4 0.15 3 0.5 0.24 2.5 0.6 0.33 2 0.8 0.65 1 0.9 0.83 0.5 1 1 0 / -- Gas Saturation Function SGFN 0 0 0 0.04 0 0.2 0.1 0.022 0.5 0.2 0.1 1 0.3 0.24 1.5 0.4 0.34 2 0.5 0.42 2.5 0.6 0.5 3 0.7 0.8125 3.5 0.78 1 3.9 /

Page 151: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 145 of 165

-- Oil Saturation Function SOF3 0 0 0 0.2 0 0 0.38 0.00432 0 0.4 0.0048 0.004 0.48 0.05288 0.02 0.5 0.0649 0.036 0.58 0.11298 0.1 0.6 0.125 0.146 0.68 0.345 0.33 0.7 0.4 0.42 0.74 0.7 0.6 0.78 1 1 / -- Water PVT PVTW -- Press Density Compressibility Viscousity -- psiea psi-1 cp 3000 1.00341 3.0D-6 0.96 0 / -- Rock pressure and compressibility ROCK 3600 4.0D-6 / -- Oil, Water and Gas density (API, field unit) DENSITY 45 63.02 0.0702 / -- Dry gas PVT PVDG 400 5.9 0.013 800 2.95 0.0135 1200 1.96 0.014 1600 1.47 0.0145 2000 1.18 0.015 2400 0.98 0.0155 2800 0.84 0.016 3200 0.74 0.0165 3600 0.65 0.017 4000 0.59 0.0175 4400 0.54 0.018 4800 0.49 0.0185 5200 0.45 0.019 5600 0.42 0.0195 / PVTO 0.165 400 1.012 1.17 / 0.335 800 1.0255 1.14 / 0.500 1200 1.038 1.11 / 0.665 1600 1.051 1.08 / 0.828 2000 1.063 1.06 /

Page 152: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 146 of 165

0.985 2400 1.075 1.03 / 1.130 2800 1.087 1.00 / 1.270 3200 1.0985 0.98 / 1.390 3600 1.11 0.95 / 1.500 4000 1.12 0.94 / 1.600 4400 1.13 0.92 / 1.676 4800 1.14 0.91 / 1.750 5200 1.148 0.9 / 1.810 5600 1.155 0.89 6000 1.1504 0.89 6400 1.1458 0.89 6800 1.1412 0.89 7200 1.1367 0.89 / / RPTPROPS / SOLUTION ============================================================ -- Input Unified Restart file (RST-file name) with latest number of Report from previous runs -- This renaming can be handle automatically by Maplinkz RESTART -- Unified Base or Restart filename format and latest number of report to be restarted 'RCSLAVE1-INIT-PSM' 1 / SUMMARY ============================================================= ============================================================== -------- THIS SECTION SPECIFIES DATA TO BE WRITTEN TO THE SUMMARY FILES -------- AND WHICH MAY LATER BE USED WITH THE ECLIPSE GRAPHICS PACKAGE ------------------------------------------------------------------------------------------------------------------------------------ -- Pre-ECL process -- **************************** -- * PSM SUMMARY include file * -- **************************** INCLUDE 'RCSLAVE1-INIT-PSM.summary' / FOPR FWPR FGPR FLPR FVPR GOPR 'G-A1' 'G-A2' / GWPR 'G-A1' 'G-A2' / GGPR 'G-A1' 'G-A2' / GWIR

Page 153: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 147 of 165

'G-A1' 'G-A2' / GGIR 'G-A1' 'G-A2' / FWIR FGIR FVIR GMCTP 'G-A1' 'G-A2' / FMWPR FMWIN DATE RUNSUM SCHEDULE ============================================================= DRSDT 1E20 / RPTSCHED 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'RESTART=2' 'WELSPECS' / WELSPECS -- WELL GROUP LOCATION BHP PREF DRAIN BACK SHUT/ -- NAME NAME I J DEPTH PHAS RAD PRES STOP 'PA1' 'G-A1' 3 2 1* 'OIL' -1.0 'NO' 'SH' / 'PA2' 'G-A1' 1 3 1* 'OIL' -1.0 'NO' 'SH' / 'PA3' 'G-A1' 2 4 1* 'OIL' -1.0 'NO' 'SH' / 'PA4' 'G-A2' 2 7 1* 'OIL' -1.0 'NO' 'SH' / 'PA5' 'G-A2' 1 6 1* 'OIL' -1.0 'NO' 'SH' / 'PA6' 'G-A2' 3 5 1* 'OIL' -1.0 'NO' 'SH' / 'IGA' 'G-A1' 1 1 1* 'GAS' -1.0 / 'IWA1' 'G-A2' 1 9 1* 'WAT' -1.0 / 'IWA2' 'G-A2' 2 9 1* 'WAT' -1.0 / 'IWA3' 'G-A2' 3 9 1* 'WAT' -1.0 / / COMPDAT -- WELL -LOCATION- OPEN/ SAT CONN BORE -- NAME I J K1-K2 SHUT TAB FACT DIAM 'PA1' 3 2 1 3 'OPEN' 0 0.0 0.333 / 'PA2' 1 3 1 3 'OPEN' 0 0.0 0.333 / 'PA3' 2 4 1 3 'OPEN' 0 0.0 0.333 / 'PA4' 2 7 1 3 'OPEN' 0 0.0 0.333 / 'PA5' 1 6 1 3 'OPEN' 0 0.0 0.333 / 'PA6' 3 5 1 3 'OPEN' 0 0.0 0.333 / 'IGA' 1 1 1 1 'OPEN' 0 0.0 0.333 / 'IWA1' 1 9 2 3 'OPEN' 0 0.0 0.333 / 'IWA2' 2 9 2 3 'OPEN' 0 0.0 0.333 / 'IWA3' 3 9 2 3 'OPEN' 0 0.0 0.333 / / WCONPROD

Page 154: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 148 of 165

-- WELL OPEN/ CNTL OIL WATER GAS LIQU VOID BHP -- NAME SHUT MODE RATE RATE RATE RATE RATE 'P*' 'SHUT' 'GRUP' 2* 3E4 2* 2000 / / WELOPEN 'PA1' / 'PA2' / 'PA4' / / WCONINJE -- WELL INJ OPEN/ CNTL FLOW RESV BHP -- NAME TYPE SHUT MODE RATE RATE 'IG*' 'GAS' 'OPEN' 'GRUP' 2* 5500 / 'IW*' 'WAT' 'OPEN' 'GRUP' 2* 5500 / 'IWA2' 'WAT' 'SHUT' 'GRUP' 2* 5500 / / -- Deactivated QDRILL after mentioning in initial runs -- QDRILL -- 'PA3' 'PA5' 'PA6' 'IWA2' / WECON -- WELL MIN MIN MAX MAX MAX WORK END -- NAME OIL GAS WCT GOR WGR OVER RUN 'P*' 500 1* 0.7 10.0 1* 'CON' 'NO' / / -- Include file is attached after formulating with VBScript INCLUDE SCHEDULE1-R.INC / END ==============================================================

Page 155: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 149 of 165

----------------------------------------------------------------------------------------------------------------------------

-- THIS CASE IS A SAVE/LOAD TYPE RESTART OF RCSLAVE2 DATASET. -- N = NUMBER OF REPORT (TIMESTEP) ---------------------------------------------------------------------------------------------------------------------------- RUNSPEC TITLE MULTI-LEVEL GROUP CONTROL IN COUPLED RESERVOIRS - SLAVE2 DIMENS 3 9 3 / OIL WATER FIELD TABDIMS 1 1 16 15 3 15 / REGDIMS 3 1 0 0 / WELLDIMS 10 3 4 6 / -- The entering date has been written with separated file named TIMESLAVE2 in Pipe-It project START 1 'JAN' 2010 / -- Linear Solver Stack size NSTACK 4 / UNIFOUT UNIFIN SAVE / GRID ============================================================== EQUALS 'DX' 1000 / 'DY' 2000 / 'DZ' 20 / 'PERMX' 300 / 'PERMY' 300 / 'PERMZ' 30 /

Page 156: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 150 of 165

'PORO' 0.3 / 'TOPS' 7000 1 3 1 1 1 1 / 'TOPS' 7020 1 3 2 2 1 1 / 'TOPS' 7040 1 3 3 3 1 1 / 'TOPS' 7060 1 3 4 4 1 1 / 'TOPS' 7080 1 3 5 5 1 1 / 'TOPS' 7100 1 3 6 6 1 1 / 'TOPS' 7120 1 3 7 7 1 1 / 'TOPS' 7140 1 3 8 8 1 1 / 'TOPS' 7160 1 3 9 9 1 1 / / NOGGF RPTGRID / PROPS ============================================================== SWFN 0.22 0 7 0.3 0.07 4 0.4 0.15 3 0.5 0.24 2.5 0.6 0.33 2 0.8 0.65 1 0.9 0.83 0.5 1 1 0 / SOF2 0 0 0.2 0 0.38 0.00432 0.4 0.0048 0.48 0.05288 0.5 0.0649 0.58 0.11298 0.6 0.125 0.68 0.345 0.7 0.4 0.74 0.7 0.78 1 / PVTW 3000 1.00341 3.0D-6 0.96 0 / ROCK 3600 4.0D-6 / DENSITY 45 63.02 0.0702 / PVDO

Page 157: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 151 of 165

1400 1.05 1.0 7200 1.01 1.0 / RSCONST 1.2 3100 / RPTPROPS / SOLUTION ============================================================== -------- THE SOLUTION SECTION DEFINES THE INITIAL STATE OF THE SOLUTION -------- VARIABLES (PHASE PRESSURES, SATURATIONS AND GAS-OIL RATIOS) ------------------------------------------------------------------------------------------------------------------------------------ RESTART -- Unified Base or Restart filename format and latest number of report to be restarted 'RCSLAVE2-INIT-PSM' 1 / SUMMARY ============================================================== -------- THIS SECTION SPECIFIES DATA TO BE WRITTEN TO THE SUMMARY FILES -------- AND WHICH MAY LATER BE USED WITH THE ECLIPSE GRAPHICS PACKAGE ------------------------------------------------------------------------------------------------------------------------------------ -- **************************** -- * PSM SUMMARY include file * -- **************************** INCLUDE 'RCSLAVE2-INIT-PSM.summary' / FOPR FWPR FLPR FVPR GOPR 'GR-B1' 'GR-B2' / GWPR 'GR-B1' 'GR-B2' / FWIR FVIR GMCTP 'GR-B1' 'GR-B2' / GMCTW 'GR-B2' / WMCTL / FMWPR FMWIN DATE RUNSUM

Page 158: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 152 of 165

SCHEDULE ============================================================= --SKIPREST DRSDT 1E20 / RPTSCHED 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'RESTART=2' 'WELSPECS' / WELSPECS -- WELL GROUP LOCATION BHP PREF DRAIN BACK SHUT/ -- NAME NAME I J DEPTH PHAS RAD PRES STOP 'PB1' 'GR-B1' 3 2 1* 'OIL' -1.0 'NO' 'SH' / 'PB2' 'GR-B1' 1 3 1* 'OIL' -1.0 'NO' 'SH' / 'PB3' 'GR-B1' 2 4 1* 'OIL' -1.0 'NO' 'SH' / 'PB4' 'GR-B2' 2 7 1* 'OIL' -1.0 'NO' 'SH' / 'PB5' 'GR-B2' 1 6 1* 'OIL' -1.0 'NO' 'SH' / 'PB6' 'GR-B2' 3 5 1* 'OIL' -1.0 'NO' 'SH' / 'IWB1' 'GR-B2' 1 9 1* 'WAT' -1.0 / 'IWB2' 'GR-B2' 2 9 1* 'WAT' -1.0 / 'IWB3' 'GR-B2' 3 9 1* 'WAT' -1.0 / / COMPDAT -- WELL -LOCATION- OPEN/ SAT CONN BORE KH SKIN -- NAME I J K1-K2 SHUT TAB FACT DIAM 'PB1' 3 2 1 3 'OPEN' 0 0.0 0.333 / 'PB2' 1 3 1 3 'OPEN' 0 0.0 0.333 / 'PB3' 2 4 1 3 'OPEN' 0 0.0 0.333 / 'PB4' 2 7 1 3 'OPEN' 0 0.0 0.333 / 'PB5' 1 6 1 3 'OPEN' 0 0.0 0.333 / 'PB6' 3 5 1 3 'OPEN' 0 0.0 0.333 / 'IWB1' 1 9 2 3 'OPEN' 0 0.0 0.333 1* -3 / 'IWB2' 2 9 2 3 'OPEN' 0 0.0 0.333 1* -3 / 'IWB3' 3 9 2 3 'OPEN' 0 0.0 0.333 1* -3 / / WCONPROD -- WELL OPEN/ CNTL OIL WATER GAS LIQU VOID BHP -- NAME SHUT MODE RATE RATE RATE RATE RATE 'P*' 'SHUT' 'GRUP' 3* 2* 2000 / / WELOPEN 'PB1' / 'PB2' / 'PB4' / / WCONINJE -- WELL INJ OPEN/ CNTL FLOW RESV BHP

Page 159: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 153 of 165

-- NAME TYPE SHUT MODE RATE RATE 'IW*' 'WAT' 'OPEN' 'GRUP' 2* 6000 / 'IWB2' 'WAT' 'SHUT' 'GRUP' 2* 6000 / / -- Deactivated QDRILL after mentioning in initial runs --QDRILL --'PB3' 'PB5' 'PB6' 'IWB2' / WECON -- WELL MIN MIN MAX MAX MAX WORK END -- NAME OIL GAS WCT GOR WGR OVER RUN 'P*' 500 1* 0.7 10.0 1* 'CON' 'NO' / / INCLUDE 'SCHEDULE2-R.INC' / END ==============================================================

Page 160: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 154 of 165

----------------------------------------------------------------------------------------------------------------------------

-- THIS CASE IS A SAVE/LOAD TYPE RESTART OF RCSLAVE3 DATASET. -- N = NUMBER OF REPORT (TIMESTEP) ---------------------------------------------------------------------------------------------------------------------------- RUNSPEC TITLE MULTI-LEVEL GROUP CONTROL IN COUPLED RESERVOIRS - SLAVE3 DIMENS 3 9 3 / OIL WATER GAS DISGAS FIELD TABDIMS 1 1 16 15 3 15 / REGDIMS 3 1 0 0 / WELLDIMS 10 3 4 6 / START 1 'JAN' 2010 / NSTACK 4 / UNIFOUT UNIFIN SAVE / GRID ============================================================== EQUALS 'DX' 1000 / 'DY' 1000 / 'DZ' 20 /

Page 161: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 155 of 165

'PERMX' 300 / 'PERMY' 300 / 'PERMZ' 30 / 'PORO' 0.3 / 'TOPS' 7000 1 3 1 1 1 1 / 'TOPS' 7020 1 3 2 2 1 1 / 'TOPS' 7040 1 3 3 3 1 1 / 'TOPS' 7060 1 3 4 4 1 1 / 'TOPS' 7080 1 3 5 5 1 1 / 'TOPS' 7100 1 3 6 6 1 1 / 'TOPS' 7120 1 3 7 7 1 1 / 'TOPS' 7140 1 3 8 8 1 1 / 'TOPS' 7160 1 3 9 9 1 1 / / NOGGF RPTGRID / PROPS ============================================================== SWFN 0.22 0 7 0.3 0.07 4 0.4 0.15 3 0.5 0.24 2.5 0.6 0.33 2 0.8 0.65 1 0.9 0.83 0.5 1 1 0 / SGFN 0 0 0 0.04 0 0.2 0.1 0.022 0.5 0.2 0.1 1 0.3 0.24 1.5 0.4 0.34 2 0.5 0.42 2.5 0.6 0.5 3 0.7 0.8125 3.5 0.78 1 3.9 / SOF3 0 0 0 0.2 0 0 0.38 0.00432 0 0.4 0.0048 0.004 0.48 0.05288 0.02

Page 162: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 156 of 165

0.5 0.0649 0.036 0.58 0.11298 0.1 0.6 0.125 0.146 0.68 0.345 0.33 0.7 0.4 0.42 0.74 0.7 0.6 0.78 1 1 / PVTW 3000 1.00341 3.0D-6 0.96 0 / ROCK 3600 4.0D-6 / DENSITY 45 63.02 0.0702 / PVDG 400 5.9 0.013 800 2.95 0.0135 1200 1.96 0.014 1600 1.47 0.0145 2000 1.18 0.015 2400 0.98 0.0155 2800 0.84 0.016 3200 0.74 0.0165 3600 0.65 0.017 4000 0.59 0.0175 4400 0.54 0.018 4800 0.49 0.0185 5200 0.45 0.019 5600 0.42 0.0195 / PVTO 0.165 400 1.012 1.17 / 0.335 800 1.0255 1.14 / 0.500 1200 1.038 1.11 / 0.665 1600 1.051 1.08 / 0.828 2000 1.063 1.06 / 0.985 2400 1.075 1.03 / 1.130 2800 1.087 1.00 / 1.270 3200 1.0985 0.98 / 1.390 3600 1.11 0.95 / 1.500 4000 1.12 0.94 / 1.600 4400 1.13 0.92 / 1.676 4800 1.14 0.91 / 1.750 5200 1.148 0.9 / 1.810 5600 1.155 0.89 6000 1.1504 0.89 6400 1.1458 0.89 6800 1.1412 0.89 7200 1.1367 0.89 / /

Page 163: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 157 of 165

RPTPROPS / SOLUTION =============================================================== -------- THE SOLUTION SECTION DEFINES THE INITIAL STATE OF THE SOLUTION -------- VARIABLES (PHASE PRESSURES, SATURATIONS AND GAS-OIL RATIOS) ---------------------------------------------------------------------------------------------------------------------------- RESTART -- Unified Base or Restart filename format and latest number of report to be restarted 'RCSLAVE3-INIT-PSM' 1 / SUMMARY ============================================================== -------- THIS SECTION SPECIFIES DATA TO BE WRITTEN TO THE SUMMARY FILES -------- AND WHICH MAY LATER BE USED WITH THE ECLIPSE GRAPHICS PACKAGE ------------------------------------------------------------------------------------------------------------------------------------ -- **************************** -- * PSM SUMMARY include file * -- **************************** INCLUDE 'RCSLAVE3-INIT-PSM.summary' / FOPR FWPR FGPR FLPR FVPR GOPR 'GR-C1' 'GR-C2' / GWPR 'GR-C1' 'GR-C2' / GGPR 'GR-C1' 'GR-C2' / FWIR FGIR FVIR FMWPR FMWIN DATE RUNSUM SCHEDULE ============================================================== -------- THE SCHEDULE SECTION DEFINES THE OPERATIONS TO BE SIMULATED ------------------------------------------------------------------------------------------------------------------------------------

Page 164: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 158 of 165

DRSDT 1E20 / RPTSCHED 'WELLS=2' 'SUMMARY=2' 'CPU=2' 'RESTART=2' 'WELSPECS' / WELSPECS -- WELL GROUP LOCATION BHP PREF DRAIN BACK SHUT/ -- NAME NAME I J DEPTH PHAS RAD PRES STOP 'PC1' 'GR-C1' 3 2 1* 'OIL' -1.0 'NO' 'SH' / 'PC2' 'GR-C1' 1 3 1* 'OIL' -1.0 'NO' 'SH' / 'PC3' 'GR-C1' 2 4 1* 'OIL' -1.0 'NO' 'SH' / 'PC4' 'GR-C2' 2 7 1* 'OIL' -1.0 'NO' 'SH' / 'PC5' 'GR-C2' 1 6 1* 'OIL' -1.0 'NO' 'SH' / 'PC6' 'GR-C2' 3 5 1* 'OIL' -1.0 'NO' 'SH' / 'IGC' 'GR-C1' 1 1 1* 'GAS' -1.0 / 'IWC1' 'GR-C2' 1 9 1* 'WAT' -1.0 / 'IWC2' 'GR-C2' 2 9 1* 'WAT' -1.0 / 'IWC3' 'GR-C2' 3 9 1* 'WAT' -1.0 / / -- Deactivated keywords GRUPSLAV in stand-alone running -- GRUPSLAV -- 'GR-C1' / -- 'GR-C2' / -- / COMPDAT -- WELL -LOCATION- OPEN/ SAT CONN BORE -- NAME I J K1-K2 SHUT TAB FACT DIAM 'PC1' 3 2 1 3 'OPEN' 0 0.0 0.333 / 'PC2' 1 3 1 3 'OPEN' 0 0.0 0.333 / 'PC3' 2 4 1 3 'OPEN' 0 0.0 0.333 / 'PC4' 2 7 1 3 'OPEN' 0 0.0 0.333 / 'PC5' 1 6 1 3 'OPEN' 0 0.0 0.333 / 'PC6' 3 5 1 3 'OPEN' 0 0.0 0.333 / 'IGC' 1 1 1 1 'OPEN' 0 0.0 0.333 / 'IWC1' 1 9 2 3 'OPEN' 0 0.0 0.333 / 'IWC2' 2 9 2 3 'OPEN' 0 0.0 0.333 / 'IWC3' 3 9 2 3 'OPEN' 0 0.0 0.333 / / WCONPROD -- WELL OPEN/ CNTL OIL WATER GAS LIQU VOID BHP -- NAME SHUT MODE RATE RATE RATE RATE RATE 'P*' 'SHUT' 'GRUP' 2* 3E4 2* 2000 / / WELOPEN 'PC1' / 'PC2' / 'PC4' / /

Page 165: Reservoir Coupling with Pipe-It - A Scripted Logic ...petrostreamz.com/wp-content/uploads/2014/10/Luky-Hendraningrat... · Reservoir Coupling with Pipe-It ... of ECLIPSE Reservoir

                                                                Reservoir Coupling with Pipe­It – A Scripted Logic Controller Approach 

Luky Hendraningrat – M.Sc. Thesis, 2010    Page 159 of 165

WCONINJE -- WELL INJ OPEN/ CNTL FLOW RESV BHP -- NAME TYPE SHUT MODE RATE RATE 'IG*' 'GAS' 'OPEN' 'GRUP' 2* 5500 / 'IW*' 'WAT' 'OPEN' 'GRUP' 2* 5500 / 'IWC2' 'WAT' 'SHUT' 'GRUP' 2* 5500 / / -- Deactivated QDRILL after mentioning in initial runs -- QDRILL --'PC3' 'PC5' 'PC6' 'IWC2' / WECON -- WELL MIN MIN MAX MAX MAX WORK END -- NAME OIL GAS WCT GOR WGR OVER RUN 'P*' 500 1* 0.7 1* 1* 'CON' 'NO' / / INCLUDE 'SCHEDULE3-R.INC' / END ==============================================================