Aspects of the present disclosure relate generally to systems and methods for developing forecasts and models of oil wells and, more particularly, to predictive modeling to forecast oil and water production in complex waterflood operations (such as waterflood injection, drawdown, infill drilling, injection well, etc.) utilizing deep learning and computer vision techniques.
Production of hydrocarbons involves forming one or more wells in a subterranean formation to retrieve the hydrocarbons from beneath the surface. In some instances, multiple wells may be formed in what is known as a “field” to access one or more subsurface reservoirs. To improve the location of wells in the field, predictive models may be built and used to forecast oil and water production from the wells. Typically, forecast models for an individual well use historical data from that well. One potential technology for forecasting includes using two segmented hyperbolic-decline type curves for each reservoir area. However, the type curve methodology may have high error rates when applied on an individual well basis. One of the main sources of high error values from the forecasts using the type curve methodology is due to the interactions between nearby injectors and producers. More particularly, many fields may utilize waterflooding or water injection processes to inject water into an oil reservoir to maintain pressure in the reservoir and drive the oil towards the wells to increase well production. Type curve forecast models, however, are typically unable to address the interactions between wells and injectors such that errors of the forecast models may be high.
It is with these observations in mind, among others, that various aspects of the present disclosure were conceived and developed.
Implementations described and claimed herein address the foregoing problems by providing systems and methods for generating a forecast model of a well field. In one implementation, an input dataset comprising dividing an input dataset comprising field data into a plurality of timeframes. Further, the divided input dataset may be restructured based on a spatial component associated with a target well of the well field. Based on the divided and restructured input dataset and utilizing a deep learning computing technique, a plurality of trained production forecast models and an optimized production forecast model from the plurality of trained production forecast models may be selected and stored.
Other implementations are also described and recited herein. Further, while multiple implementations are disclosed, still other implementations of the presently disclosed technology will become apparent to those skilled in the art from the following detailed description, which shows and describes illustrative implementations of the presently disclosed technology. As will be realized, the presently disclosed technology is capable of modifications in various aspects, all without departing from the spirit and scope of the presently disclosed technology. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not limiting.
Aspects of the present disclosure involve systems and methods for dynamic waterflood forecast modeling utilizing deep thinking computational techniques to reduce the processing time for generating the forecast model and improving the accuracy of resulting forecasts. In one particular implementation, a dataset of a field may be restructured into the spatio-temporal framework and data driven deep neural networks may be utilized to learn the nuances of data interactions to make more accurate forecasts for each well in the field. Further, the generated model may forecast a single time segment and build the complete forecast through recursive prediction instances. The temporal component of the restructured data may, in some instances, include all or a portion of the production history of the field divided into equally spaced time intervals (referred to herein as “epochs”). The spatial component of the restructure data may include, within each epoch and for each well, a computed or estimated spatial relationships of all existing wells. In one particular example, for each producing well that exists at a specific epoch, nearby producing and injecting wells are identified and assigned to four circles of increasing distance from the target well. Various features for each of spatially-distant circles may be calculated, including but not limited to, a number of producers, injectors, total fluid produced/injected, and average production/injection. These spatial features may be used as input to the deep learning model, presenting a representation through the training data of the impact to the target wells' production from interactions between nearby wells. In general, the output targets of the deep learning model are well production parameters, such as liquid rate and oil rate of each interval as affected by nearby wells. As such, the output of the forecast model provides a higher accuracy result than previous technologies that utilize data from a single well to determine a production forecast. Other advantages will be apparent from the present disclosure.
To begin a detailed discussion of an example asset development system 100, reference is made to
A server 108 may, in some instances, host the system. In one implementation, the server 108 also hosts a website or an application that users may visit to access the network environment 100, including the dynamic waterflood modeling system 102. The server 108 may be one single server, a plurality of servers with each such server being a physical server or a virtual machine, or a collection of both physical servers and virtual machines. In another implementation, a cloud hosts one or more components of the system. The dynamic waterflood modeling system 102, the user devices 106, the server 108, and other resources connected to the network 104 may access one or more additional servers for access to one or more websites, applications, web services interfaces, etc. that are used for reservoir modeling.
The data flow 200 may include accessing a database 202 of field data and extracting raw data 204 as an input to a deep learning system. The extracted raw data 204 may include, among other types of data, completion parameters, daily production data, daily injection data, fault polygon shapefiles, geology data (such as geology maps), petrophysics data and/or maps, wellbore trajectory data, well event data, and the like. In general, the number and types of extracted data 204 may vary such that no particular types of field data 202 is required to generate the dynamic waterflood forecast model. Rather, any datasets may be supplied as input to the model generation system 208, although additional data may result in a more detailed dynamic waterflood forecast model provided by the dynamic waterflood modeling system 102.
Portions of the data flow 200 of
Beginning in operation 302, the computing device may receive any field-related dataset 204 for inclusion in modeling an extraction field of wells. As explained above, such a dataset 204 may include field-specific data (such as geology data or maps of the field), general data (such as petrophysics data), and/or production data (such as completion parameters, daily production data, daily injection data). Such data may be obtained and stored in field database 202 illustrated in
As mentioned, the duration of the epochs 408 into which the dataset may be divided may be defined. For example, the duration of one or more of the epochs 408 may be set by the computing device as part of the dynamic waterflood modeling system 102. In another example, a user of the modeling system 102 may, such as through a user interface described in more detail below, instruct or otherwise provide the dynamic waterflood modeling system on a duration of one or more of the epochs 408. In one particular example, epoch intervals of one quarter of a year (e.g., three months) may be selected for the duration of the epochs 408, although other intervals may also be selected or determined. In one instance, the duration of the epochs 408 may be based on a size of the extracted dataset 204. For example, a longer epoch duration may be selected for a larger dataset of historical field data while a shorter epoch duration may be selected for a smaller dataset, to prevent overloading the processing of the dynamic waterflood modeling system 102. In general, increasing or decreasing the time interval or duration of the epochs 408 may introduce trade-offs between overly smoothing out meaningful events in the former or introducing too much process noise in the latter.
In addition to dividing the field dataset into defined epochs, the computing device may also, in operation 306, restructure the dataset in a spatial context to one or more of the wells of the field. In particular, within each epoch 408, spatial relationships of the existing wells may be computed or estimated.
Various features for each of these distance rings 504-510 from the target well 502 may be calculated or otherwise determined from the extracted raw data 204, including but not limited to the number of producer wells 514 within the corresponding distance ring, the number of injector wells 512, a total fluid produced/injected within the corresponding distance ring, an average production/injection within the corresponding distance ring, drawdown/wellhead pressures, and age of the wells in terms of cumulative producing/injecting hours, and the like. As mentioned above, the data may be spatially restructured for each active or producing well in a field for a particular epoch 408. Thus, the computing device may restructure the dataset into a spatio-temporal framework, represented by the data manipulation block 206 of the data flow 200 of
Returning to the method 300 of
In one implementation, model optimization 210 may be applied to each generated model from the model generation system 208 to determine an accuracy of the model to the input datasets 206. Through a determined error obtained from the application of the various models to the model optimization 210, the dynamic waterflood modeling system 102 may determine how accurate or how closely the generated model corresponds to the input dataset 206. The dynamic waterflood modeling system 102 may then alter the generated model based on the determined error to address and attempt to eliminate the error. This process of model generation and optimization may be repeated until the determined error of the model falls below a threshold value. In this manner, the dynamic waterflood modeling system 102 may utilize techniques to generate or alter generated models that are trained, through the above-described iterative process, to accurately represent the dataset 206.
In some instances, the dynamic waterflood modeling system 102 may communicate with a user interface through which a user may interact the generated forecast models. Thus, in operation 310, one or more of the generated and optimized forecast models may be utilized, perhaps through the user interface, to make a prediction of an aspect of the well field that accounts for data obtained from all or a portion of the wells of the field. Further, as described in more detail below with reference to
The generated forecasting model may be utilized to provide two types (among others) of prediction/forecasting of the field. In one example, referred to herein as “recursive prediction”, a prediction of a production of the field is made against the history of the production wells of the field. The recursive prediction may, in particular, be used as a benchmarking feature for the field, such as measuring performance of the deep learning model against other models e.g. type curves, and for generating results for ‘what-if’ scenarios (observing the change in model output with respect to different set of input parameters), although other uses of the recursive prediction function are contemplated. In another example, a “recursive forecast” technique may be used to forecast the future performance of the wells of the field. In one instance, the recursive forecast technique includes input of assumed injection and production profiles strategies for all wells in the field. The Recursive Forecast module can help operators with evaluating different well management strategies. Using the presumed profiles, the waterflood model can forecast both oil and water production for the wells (full field forecast). In general, the recursive prediction technique and the recursive forecast technique use a recursion methodology in which the prediction of the prior time interval may be fed to the subsequent interval as input, as illustrated in
Similarly,
In addition to recursive prediction and recursive forecast techniques, the generated model may also be used to predict one or more locations to drill new producing wellbores (aka infill drilling wells) and future side-tracks. In particular,
As shown in the data flow 700 of
As explained above, the dynamic waterflood model generation tool 806 may generate an optimized dynamic waterflood model 212 based on transformed or manipulated field data 202. As such, the dynamic waterflood model generation tool 806 may include a waterflood model generation application 812 executed to perform one or more of the operations described herein. The waterflood model generation application 812 may be stored in a computer readable media 810 (e.g., memory) and executed on a processing system 808 of the waterflood model generation tool 806 or other type of computing system, such as that described below. For example, the waterflood model generation application 812 may include instructions that may be executed in an operating system environment, such as a Microsoft Windows™ operating system, a Linux operating system, or a UNIX operating system environment. The computer readable medium 810 includes volatile media, nonvolatile media, removable media, non-removable media, and/or another available medium. By way of example and not limitation, non-transitory computer readable medium 810 comprises computer storage media, such as non-transient storage memory, volatile media, nonvolatile media, removable media, and/or non-removable media implemented in a method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
The waterflood model generation application 812 may also utilize a data source 820 of the computer readable media 810 for storage of data and information associated with the waterflood model generation tool 806. For example, the waterflood model generation application 812 may store information associated with iterations of the generated waterflood models, temporal-adjusted field data, spatially-adjusted field data, prediction or forecast results, and the like. As described in more detail below, various generated models may be stored and used via the user interface 824 to simulate or otherwise determine field performance or conditions such that trained or optimized waterflood models for various fields may be stored in the data source 820.
The waterflood model generation application 812 may include several components to perform one or more of the operations described herein. For example, the waterflood model generation application 812 may include a training data manager 814 to manage and/or manipulate the extracted field data 204 stored in the database 202. For example, the training data manager 814 may divide the extracted data into epochs as explained above. The training data manager 814 may also restructure the extracted data 204 spatially in relation to a target well of the analyzed field from which the data is obtained. Other manipulation of the extracted data 204 may also be conducted by the training data manager 814 to generate the manipulated data 206 for use in training the dynamic waterflood model.
The waterflood model generation application 812 may also include a deep learning trainer 816 to generate and/or train one or more waterflood models based on an input dataset 206 received from the training data manager 814. As explained above, the deep learning trainer 816 may include any machine learning or artificial intelligence techniques to generate a waterflood model from the input dataset 206. In one particular implementation, the deep learning trainer 816 may employ a neural network to execute an artificial intelligence algorithm on the dataset 206 to generate one or more waterflood models from the input dataset.
A recursive predictor 818 may also be included and executed by the waterflood model generation application 812. In general, the recursive predictor 818 may generate a recursive prediction of a well or field production using a trained dynamic waterflood forecast model. The recursive prediction technique may predict or estimate oil rate forecast (or other production aspect of the field) using actual production and injection data as input. As mentioned, the recursive prediction of the predictor 818 may be made for each epoch of the dataset 206 using actual data and may be utilized to verify well production results, optimize well production, and simulate “what-if” scenarios of one or more wells of the field. The waterflood model generation application 812 may also include a recursive forecastor 826. In general, the recursive predictor 818 may generate a recursive forecast of a well or field production using a trained dynamic waterflood forecast model. The recursive prediction technique may predict or estimate oil rate forecast (or other production aspect of the field) using assumed production and injection data as input. As mentioned, the recursive forecast of the forecastor 8826 may be made for each epoch of the dataset 206 and may be utilized for ranking infill locations (described in more detail below), sidetrack timing, and/or field/waterflood optimization.
It should be appreciated that the components described herein are provided only as examples, and that the application 812 may have different components, additional components, or fewer components than those described herein. For example, one or more components as described in
Several advantages over previous ways to generating a waterflood model may be gained through the methods and systems described herein. For example, the waterflood modeling system 102 may facilitate higher prediction accuracy on a well by well basis over previous modeling techniques. The modeling system 102 may also provide the ability to benchmark different injection/production strategies and provide guidelines for waterflood management, assist the field operators to find best locations to drill new wells and potentially increase field recovery (Infill drilling location identification), and provide the ability to prediction quantify uncertainty and provide bounded estimates on predictions. Additional advantages include providing guidelines on injector placement strategy, a flexible framework that can be easily applied to other fields undergoing waterflood process, fast results as computation times are in seconds for individual wells to minutes for full field forecasts, and ease of use as the waterflood model may be embedded into a user interface, enabling non-machine learning astute users the ability to make predictions and forecasts. The modeling system 102 may also produce production forecasts relatively free of interpretation bias and is entirely data driven, aid in assess new well/sidetrack placement (P/I) and investigating well down-spacing/Pattern Changes, optimizing Producer-to-Injector conversions, predict ‘Producer End-of-Life’, optimize Injection Rates and zonal Injection Control (Regulators), and optimize Zonal Production/Injection Allocation, among other benefits.
Referring to
The computer system 900 may be a computing system is capable of executing a computer program product to execute a computer process. Data and program files may be input to the computer system 900, which reads the files and executes the programs therein. Some of the elements of the computer system 900 are shown in
The processor 902 may include, for example, a central processing unit (CPU), a microprocessor, a microcontroller, a digital signal processor (DSP), and/or one or more internal levels of cache. There may be one or more processors 902, such that the processor 902 comprises a single central-processing unit, or a plurality of processing units capable of executing instructions and performing operations in parallel with each other, commonly referred to as a parallel processing environment.
The computer system 900 may be a conventional computer, a distributed computer, or any other type of computer, such as one or more external computers made available via a cloud computing architecture. The presently described technology is optionally implemented in software stored on the data stored device(s) 904, stored on the memory device(s) 906, and/or communicated via one or more of the ports 908-910, thereby transforming the computer system 900 in
The one or more data storage devices 904 may include any non-volatile data storage device capable of storing data generated or employed within the computing system 900, such as computer executable instructions for performing a computer process, which may include instructions of both application programs and an operating system (OS) that manages the various components of the computing system 900. The data storage devices 904 may include, without limitation, magnetic disk drives, optical disk drives, solid state drives (SSDs), flash drives, and the like. The data storage devices 904 may include removable data storage media, non-removable data storage media, and/or external storage devices made available via a wired or wireless network architecture with such computer program products, including one or more database management products, web server products, application server products, and/or other additional software components. Examples of removable data storage media include Compact Disc Read-Only Memory (CD-ROM), Digital Versatile Disc Read-Only Memory (DVD-ROM), magneto-optical disks, flash drives, and the like. Examples of non-removable data storage media include internal magnetic hard disks, SSDs, and the like. The one or more memory devices 906 may include volatile memory (e.g., dynamic random access memory (DRAM), static random access memory (SRAM), etc.) and/or non-volatile memory (e.g., read-only memory (ROM), flash memory, etc.).
Computer program products containing mechanisms to effectuate the systems and methods in accordance with the presently described technology may reside in the data storage devices 904 and/or the memory devices 906, which may be referred to as machine-readable media. It will be appreciated that machine-readable media may include any tangible non-transitory medium that is capable of storing or encoding instructions to perform any one or more of the operations of the present disclosure for execution by a machine or that is capable of storing or encoding data structures and/or modules utilized by or associated with such instructions. Machine-readable media may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more executable instructions or data structures.
In some implementations, the computer system 900 includes one or more ports, such as an input/output (I/O) port 908 and a communication port 910, for communicating with other computing, network, or reservoir development devices. It will be appreciated that the ports 908-910 may be combined or separate and that more or fewer ports may be included in the computer system 900.
The I/O port 908 may be connected to an I/O device, or other device, by which information is input to or output from the computing system 900. Such I/O devices may include, without limitation, one or more input devices, output devices, and/or environment transducer devices.
In one implementation, the input devices convert a human-generated signal, such as, human voice, physical movement, physical touch or pressure, and/or the like, into electrical signals as input data into the computing system 900 via the I/O port 908. Similarly, the output devices may convert electrical signals received from computing system 900 via the I/O port 908 into signals that may be sensed as output by a human, such as sound, light, and/or touch. The input device may be an alphanumeric input device, including alphanumeric and other keys for communicating information and/or command selections to the processor 902 via the I/O port 908. The input device may be another type of user input device including, but not limited to: direction and selection control devices, such as a mouse, a trackball, cursor direction keys, a joystick, and/or a wheel; one or more sensors, such as a camera, a microphone, a positional sensor, an orientation sensor, a gravitational sensor, an inertial sensor, and/or an accelerometer; and/or a touch-sensitive display screen (“touchscreen”). The output devices may include, without limitation, a display, a touchscreen, a speaker, a tactile and/or haptic output device, and/or the like. In some implementations, the input device and the output device may be the same device, for example, in the case of a touchscreen.
The environment transducer devices convert one form of energy or signal into another for input into or output from the computing system 900 via the I/O port 908. For example, an electrical signal generated within the computing system 900 may be converted to another type of signal, and/or vice-versa. In one implementation, the environment transducer devices sense characteristics or aspects of an environment local to or remote from the computing device 900, such as, light, sound, temperature, pressure, magnetic field, electric field, chemical properties, physical movement, orientation, acceleration, gravity, and/or the like. Further, the environment transducer devices may generate signals to impose some effect on the environment either local to or remote from the example computing device 900, such as, physical movement of some object (e.g., a mechanical actuator), heating or cooling of a substance, adding a chemical substance, and/or the like.
In one implementation, a communication port 910 is connected to a network by way of which the computer system 900 may receive network data useful in executing the methods and systems set out herein as well as transmitting information and network configuration changes determined thereby. Stated differently, the communication port 910 connects the computer system 900 to one or more communication interface devices configured to transmit and/or receive information between the computing system 900 and other devices by way of one or more wired or wireless communication networks or connections. Examples of such networks or connections include, without limitation, Universal Serial Bus (USB), Ethernet, Wi-Fi, Bluetooth®, Near Field Communication (NFC), Long-Term Evolution (LTE), and so on. One or more such communication interface devices may be utilized via the communication port 910 to communicate one or more other machines, either directly over a point-to-point communication path, over a wide area network (WAN) (e.g., the Internet), over a local area network (LAN), over a cellular (e.g., third generation (3G) or fourth generation (4G) or fifth generation (5G) network), or over another communication means. Further, the communication port 910 may communicate with an antenna or other link for electromagnetic signal transmission and/or reception.
In an example implementation, waterflood model data, and software and other modules and services may be embodied by instructions stored on the data storage devices 904 and/or the memory devices 906 and executed by the processor 902. The computer system 900 may be integrated with or otherwise form part of the dynamic waterflood modeling system 102.
The system set forth in
In the present disclosure, the methods disclosed may be implemented as sets of instructions or software readable by a device. Further, it is understood that the specific order or hierarchy of steps in the methods disclosed are instances of example approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the method can be rearranged while remaining within the disclosed subject matter. The accompanying method claims present elements of the various steps in a sample order, and are not necessarily meant to be limited to the specific order or hierarchy presented.
The described disclosure may be provided as a computer program product, or software, that may include a non-transitory machine-readable medium having stored thereon instructions, which may be used to program a computer system (or other electronic devices) to perform a process according to the present disclosure. A machine-readable medium includes any mechanism for storing information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). The machine-readable medium may include, but is not limited to, magnetic storage medium, optical storage medium; magneto-optical storage medium, read only memory (ROM); random access memory (RAM); erasable programmable memory (e.g., EPROM and EEPROM); flash memory; or other types of medium suitable for storing electronic instructions.
While the present disclosure has been described with reference to various implementations, it will be understood that these implementations are illustrative and that the scope of the present disclosure is not limited to them. Many variations, modifications, additions, and improvements are possible. More generally, embodiments in accordance with the present disclosure have been described in the context of particular implementations. Functionality may be separated or combined in blocks differently in various embodiments of the disclosure or described with different terminology. These and other variations, modifications, additions, and improvements may fall within the scope of the disclosure as defined in the claims that follow.
The present application claims priority to U.S. Provisional Patent Application No. 63/276,909 filed on Nov. 8, 2021, which is incorporated by reference in its entirety herein.
Number | Date | Country | |
---|---|---|---|
63276909 | Nov 2021 | US |