Embodiments described herein pertain generally to reservoir modeling. Some embodiments relate to predictive modeling.
Mathematical models are currently used by engineers to make estimations of future oil and gas production from underground hydrocarbon reservoirs. Such models typically involve solving a collection of differential equations to arrive at the desired estimations. Typically, a number of reservoir-related parameters appear in these equations, such as rock permeability, porosity, relative permeability and others. These models are often executed by a computer, which often takes the values of these parameters as input for purposes of solving the differential equations.
To estimate the values of these inputted parameters, engineers typically rely on historical production data (production rates, pressures, etc.), which, in many cases, is available from some observational point in the past up to a later time, in some cases the present. During parameter estimation from historical production data, parameter values associated with a target geological region (e.g. an underground hydrocarbon reservoir and the surrounding geological material) are adjusted so that the solution of the corresponding equations, from the beginning of production up to the latest point in time, matches the historical production data. This exercise is known as “history matching.” The underlying rationale for history matching is that if parameter values are adjusted in a way that produces the best possible match between historical production data and model-generated production data then the resulting model will most likely provide the best production estimations into the future.
There are, however, several limitations associated with these history matching techniques. For example, one key limitation is that excellent history matching does not universally result in excellent future production data predictions. This situation is all too common in model building, and has many facets. In the simplest example, one could think of building a model of the form y=F(t) to match the observed production values of y1 to yn at n time points t1 to tn by simply considering a function F with n or more geological parameters (e.g. porosity, permeability, etc.). However, without any additional structure, such a function F would be essentially useless for making any estimation on y at a future time t.
When building a model for a hydrocarbon reservoir, a typical model would entail millions of parameter values, each corresponding to parameters in one of the millions of small blocks into which the reservoir is discretized, for numerical solution of corresponding equations. However, the production history can, at best, include daily values over a few decades—namely, at most, a few tens of thousands of data points. Consequently, when performing history matching-based parameter estimation, one is faced with problem estimating millions of parameter values using only thousands of data points. Such a problem is unsolvable, per se. To become solvable, the problem must somehow be modified using additional information. A variety of approaches to such modification exist. For example, in the Bayesian approach, a prior probability distribution is assumed for the parameters to be estimated. Typical sources for such a priori information include geological models of the reservoir. Available historical production data is subsequently used to update that prior probability distribution, for example, to generate a posterior probability distribution of the estimated parameters. This approach is computationally demanding and can be implemented in a number of ways. In one implementation, referred to as ensemble-based history matching, the posterior probability distributions are generated numerically. While other approaches exist as well, they each require an unattractive computational load. Hence, modern reservoir history matching algorithms have focused on expediting computations needed for estimation of reservoir model parameters.
Typically, these algorithms rely on parameter compression techniques known as reparameterization, streamline sensitivities calculation to increase the acceptance rate, and high performance computing in order to accommodate higher resolution geologic models. Common parameterization techniques involve mathematical transformations such as principal component analysis, kernel principal component analysis, discrete cosine transformation, adaptive spatial zonation, and coarsening of the reservoir model. However, the rationale for reparametrization, namely for the choice of model complexity and size of parameter space (i.e. degree of compression) is based on prior knowledge (i.e. optimal compression which can reproduce the original parameter estimates with insignificant error). As a result, these parameterization techniques are relatively ill-equipped for estimation of the values of reservoir parameters so that future production predictions are reliable. Thus, improved history matching methods are needed for improving the prediction capability of reservoir models.
The present disclosure presents methods and apparatus for improved estimation of reservoir performance, for example, such as prediction of future oil or gas production rates and pressures. As described herein, these methods and apparatus use cross-validation to determine an optimum number of parameters and numerical values of parameters upon which to base a production forecasting model. For example, the present disclosure describes a method of determining a geological model which may include the act of identifying an array of parameter sets, wherein each parameter set is of a unique size and contains values of geological parameters estimated from historical production data associated with a target geological region. Additionally, such an example method may include determining a fitting error between a first set of the historical production data and modeled production data, wherein the modeled production data is obtained via execution of a simulation model based on each parameter set of the array, determining a validation error between a second set of the historical production data and extrapolated production data for each parameter set of the array, wherein the extrapolated production data is obtained based on the modeled production data for the respective parameter set of the array, and determining a combined error for each parameter set of the array based on the fitting error and the validation error. In addition, the example method may include identifying an optimal parameter set size for modeling the target geological region, wherein the optimal parameter set size is determined in reference to a minimum combined error of the combined errors determined for each parameter set of the array.
The above examples of the present disclosure present merely examples that will be further described and expanded in the detailed description and in view of the Figures presented below.
The present disclosure presents methods, apparatuses, and systems for estimating parameter values of a target geological region, which may contain one or more underground reservoirs, based on cross-validation techniques in order to improve forecast capability of a simulation model based on estimated parameter values of a target geological region. For example, the present disclosure proposes a method for identifying an optimum number and numerical values of parameters in a simulation model, through cross-validation. As used herein, the term “optimal” is used in the relative sense in regard to parameter sets to identify a preferable parameter set, out of identified possibly applicable data sets, for use in methods as generally disclosed herein, and not in the absolute sense that no other possible parameter set could possibly be “better” (i.e., could provide improved determinations of the types identified herein). Additionally, selection of an “optimal” parameter set may, unless otherwise specifically identified herein, be based on data or considerations in addition to addition to those identified herein. As a result, such example methods of the disclosure provide a new formulation of the optimization problem for history matching that considers the optimization of several variables, which may include, but are not limited to: a number of model parameters, fitting error, and validation error. Such an approach can achieve several objectives, including (1) avoidance of high resolution models that require massive processing power and (2) an increase in the production forecasting capability of the reservoir model of a target geological region.
The following description refers to the accompanying drawings that depict various details of examples selected to show how the present invention may be practiced. The discussion addresses various examples of the inventive subject matter at least partially in reference to these drawings, and describes the depicted embodiments in sufficient detail to enable those skilled in the art to practice the invention. Many other embodiments may be utilized for practicing the inventive subject matter than the illustrative examples discussed herein, and many structural and operational changes in addition to the alternatives specifically discussed herein may be made without departing from the scope of the inventive subject matter.
In this description, references to “one embodiment” or “an embodiment,” or to “one example” or “an example” mean that the feature being referred to is, or may be, included in at least one embodiment or example of the invention. Separate references to “an embodiment” or “one embodiment” or to “one example” or “an example” in this description are not intended to necessarily refer to the same embodiment or example; however, neither are such embodiments mutually exclusive, unless so stated or as will be readily apparent to those of ordinary skill in the art having the benefit of this disclosure. Thus, the present invention can include a variety of combinations and/or integrations of the embodiments and examples described herein, as well as further embodiments and examples as defined within the scope of all claims based on this disclosure, as well as all legal equivalents of such claims.
To formulate a model for estimation of optimal size of parameter set, which may include parameters such as, but not limited to, porosity, relative permeability, etc. corresponding to a discretized portion of a target geological region, the methods, apparatus, and systems described herein utilize cross-validation methods. In cross-validation as applied in the description herein, a portion of an observed, historical production value data set is used to estimate parameter values for a certain model structure that fits the model calculated production data to the historical production value data set for some portion of the available historical production data. The resulting parameter estimates are then used to assess how well the remaining portion of the historical production data can be predicted by the model in a so-called validation test. The methods, apparatus, and systems herein may compute and analyze a combined error of the computed fitting error and validation error as an indicator of model quality. After determining an optimal parameter value set size and corresponding values of parameters and/or reliability based on the combined error, the example methods, apparatuses, and systems herein may forecast future production data of a target geological region by modeling the target geological region using the optimal parameter set.
Turning to the figures,
In an example, parameter set estimation of the fitting model may be computed based on minimization of sum of square errors between a first set of historical production data values 102 and modeled production data vector 100 via one or more numerical or mathematical optimization methods, which may include, but are not limited to, parameterization techniques involving mathematical transformations such as principal component analysis, kernel principal component analysis, discrete cosine transformation, adaptive spatial zonation, and coarsening of the reservoir model, or any other numerical optimization method. In an example of a fitting model, as mentioned above, a least-squares based optimization using discrete cosine transformation of the parameter vector p may be implemented to produce an estimate {circumflex over (p)} of the parameter vector p according to the following algorithm:
where dt represents an historical production data value 102 and dtmodel represents determined value of production vector data (item 100 of
Additionally, production data vector 100 may be computed according to other simulation or modeling techniques, such as, but not limited to, full-physics simulation and/or streamline simulation. In an example, full-physics simulation may include, but is not limited to, gridding and discretization of a geological region (e.g. reservoir) geometry, fluid property calculations, displacement modeling, and solving assembling matrix equations over time.
In an example, where gridding and/or discretization methods are utilized, the reservoir is divided into a collection of cells, where the governing equations for multiphase flow may be discretized. Fluid property and displacement modules (e.g. associated with a computing device) may compute various quantities and their derivatives needed for assembling the matrix equations during time stepping, which may comprise iterative calculations. Likewise, in some non-limiting examples, streamline simulation (“SLN”) may include a process of numerical discretization that may leverage an “inertia” or “trend” of past data points to estimate future data values.
As illustrated in
Continuing from
Furthermore, for purposes of the present disclosure, the terms “extrapolated data,” “extrapolated production data,” or the like refer to any information, such as production data, that is estimated based on previously measured data values. In one example, “extrapolated production data” refers to production data that is predicted for the time period tfit<t≦T based on previously measured production data values, such as those measured before tfit. Similarly, the verb “extrapolate” refers to the act of predicting production data for the time period tfit<t≦T based on previously measured production data values, such as those measured before tfit. In addition, for purposes of the present disclosure, the terms “forecast production data” refers to production data that is predicted for a time period after T and based on production data observed before time T. Likewise, the verb “forecast” and “forecasting” refers to the act of predicting production data that is predicted for a time period after T and based on production data observed before time T.
Turning to
To optimally leverage the positive examples of both fitting estimation and validation estimation, one may derive the combined error 306 from the fitting error 302 and validation error 304 across a spectrum of models, each using a varying number of parameters (e.g. Nmin to N), to obtain an optimal parameter set size noptimal 310.
In the described examples, this optimal parameter set size noptimal 310 corresponds to the parameter set size (i.e. the number of parameters in the set) used for the fitting and validation models that produces a minimum combined error fcombined at point 308. In an example, as mentioned above, the combined error for a given number of parameters n of a range Nmin≦n≦N may be computed by summing the fitting error 302 and validation error 304 associated with models using n parameters, or, represented mathematically, according to the following algorithms:
Thus, the minimum and optimal combined error (point 308) for the range of different numbers of parameters n may be computed according to the following algorithm:
f
optimal=min{N
Furthermore, once the optimal combined error 308 is found, the corresponding optimal parameter set size 310 may likewise be obtained and used for estimation of the parameter vector p based on a full historical production data value set (e.g. both the first set of historical production data 102 of
In one example, production forecasting module 402 includes a parameter identifying module 502, which is configured to store or otherwise obtain one or more parameter sets 504. In an example, parameter sets 504 may include parameter sets of different sizes and which correspond to a variety of observed, measured, estimated, modeled, or otherwise obtained parameters associated with one or more points in a target geological region, such as, but not limited to, a geological region that includes a petrochemical reservoir. For example, parameter sets 504 may include parameter values corresponding to porosity, permeability, relative permeability, density, chemical makeup, or any other physical, chemical, magnetic, or electrical characteristic of the one or more points in the geological region.
In an example, parameter identifying module 502 may obtain values of parameter sets 504 of a particular size using observed parameter values, estimated parameter values, or both. In an example, where estimated parameter values are used, parameter identifying module 502 may estimate parameter values by utilizing historical production data values to estimate the values of parameters using one or more methods described herein. For example, parameter identifying module 502 may utilize or work cooperatively with fitting error determining module 506 to estimate parameter values associated with historical production data. Furthermore, parameter sets 504 may include an array of parameter sets, wherein each parameter set of the array contains a unique number of parameters and/or parameter values.
In addition, parameter estimation module may include a fitting error determining module 506, which may be configured todetermine and/or minimize a fitting error associated with one or more executed models. In an example, fitting error determining module 506 may calculate a fitting error by using historical production data values, such as, but not limited to one or both of the first set of historical production data 102 of
where dt represents an historical production data value (e.g. one or both of the first set of historical production data 102 of
Additionally, fitting error determining module 506 may determine a fitting error associated with a generated fitting model by comparing the modeled production data vector, at a previous time t, with each historical production data value obtained at time t over an interval preceding a selected fitting time tfit. In other words, fitting error determining module 506 may be configured to compute the following algorithm, as described in relation to
Furthermore,
In addition, validation error determining module 510 may further be configured to determine second sub-timeframe modeled production data based on geological parameters estimated during the first sub-timeframe. In other words, validation error determining module 510 may be configured to extrapolate or otherwise predict or forecast modeled production data vector based on a fitting model past time tfit and into second sub-timeframe up to time T. In addition, validation error determining module 510 may be configured to compare the second sub-timeframe modeled production data to historical production data (e.g. the second set of historical production data 206 of
In addition, production forecasting module 402 may include a combined error determining module 514, which may be configured to determine a combined error for a given parameter model based on the fitting error and the validation error. In an example, combined error determining module 514 may determine the combined error by summing the fitting error and the validation error determined by fitting error determining module 506 and validation error determining module 510, respectively. Thus, in an example, combined error determining module may be configured to evaluate the following algorithm for a parameter set consisting of n parameters, as described in relation to
where λ represents a scaling factor that may be varied to provide relative weight to either of the fitting error or the validation error.
Furthermore, production forecasting module 402 may include an optimal parameter set size identifying module 516, which may be configured to generate an optimal parameter set size associated with a parameter model that minimizes the combined error of the parameter sets 504 determined by combined error determining module 514. For example, in an example, of multiple models each run using unique numbers of estimated parameter values as input for each model, optimal parameter set size identifying module may determine the model and its associated number of parameters that produce the least combined error. In other words, as explained in relation to
f
optimal=min{N
Furthermore, after determining the minimum combined error, the optimal parameter set size identifying module 516 may determine the optimal parameter set size noptimal to generate a production data forecasting model by selecting the number n of parameters that renders the minimum combined error.
In addition, production forecasting module 402 may include a target geological region modeling module 518, which may be configured to model the target geological region and forecast or otherwise predict one or more future production data values 520 using a selected parameter set as input, where this inputted selected parameter set has a size corresponding to the optimal parameter set size noptimal.
In an example, target geological region modeling module 518 may determine parameter values of the selected parameter set of optimal parameter set size noptimal for forecasting future production data by using one or more fitting algorithms available in the art, which may include one or more fitting algorithms cited and/or described herein (e.g. in reference to fitting algorithms 508 of fitting error determining module and/or the fitting algorithms presented in reference to
In an additional example, parameter value estimation of the fitting models utilized by target geological region modeling module 518 may be computed based on minimization of sum of square errors between a full set of historical production data values and modeled production data vector 100 (see
Referring again to
In addition, in some examples, target geological region modeling module 518 may be configured to determine the values of the parameters of the selected parameter set for forecasting future production data by first obtaining modeled data through use of a simulation model, such as a fitting model, based on the first and second sets of historical production data. Additionally, the simulation model may include any modeling method described herein. For example, based on the first and second sets of historical production data, the target geological region modeling module may obtain modeled data by estimating one or more parameters that are utilized as input to the model. Furthermore, in some examples, target geological region modeling module 518 may be further configured to identify the selected parameter set values by determining a minimum fitting error between the modeled data for the selected parameter set and the first and second sets of historical production data. For example, target geological region modeling module 518 may be configured to select the set of estimated parameter values from the modeling that minimizes the fitting error as the selected parameter set values.
Furthermore, in some non-limiting examples, target geological region modeling module 518 may use one or more numerical simulation techniques to forecast future production values, based on, but are not limited to, full-physics or streamline simulation, wherein the estimated parameter values of the selected parameter set are used as input for the simulation. Thus, production forecasting module 402 may be configured to execute a systematic methodology for estimation of a target reservoir model to forecast future production data using cross-validation that avoids the high processing needs of high resolution models while ensuring increased prediction capability of model for a target geological region.
Turning to
In addition, methodology 600 may include determining a fitting error for each parameter set of the array. In an example, determining the fitting error for each parameter set of the array may include modeling a production data vector based on parameters derived from historical production data of hydrocarbon production and comparing the values of the modeled production data vector to the historical production data of hydrocarbon production. In an example, block 604 may include performing one or more of the methodologies described in relation to
Furthermore, methodology 600 may include determining a validation error for each parameter set of the array. In an example, determining the validation error for each parameter set of the array may include separating a modeling timeframe into a first sub-timeframe and a second sub-timeframe. In some examples, the modeling timeframe may comprise a time interval beginning at some first measurement point in the past and ending, for example, at a present time T. Furthermore, the first sub-timeframe may include a time interval preceding a time point tfit and the second sub-timeframe may include a time interval immediately following tfit and ending, in some examples, at point T. In other words, for a modeling timeframe spanning a first measurement time point (referred to here as “0”) to time T, block 606 may include separating the modeling timeframe into a first sub-timeframe 0<t≦tfit and a second sub-timeframe tfit<t≦T. For purposes of the present disclosure, historical production data measured during the first sub-timeframe may be referred to as a first set of historical production data of hydrocarbon production and historical production data measured during the second sub-timeframe may be referred to as a second set of historical production data of hydrocarbon production of the target geological region.
In addition, block 606 may further include the act of determining modeled production data associated with the second sub-timeframe based on the model with parameter values equal to the estimates determined according to the fitting model at block 604. In other words, determining the validation error for each parameter set of the array at block 606 may include extrapolating or forecasting a fitting model modeled production data vector past time tfit and into the second sub-timeframe up to time T for each parameter set of an array of parameter sets.
Furthermore, determining the validation error for each parameter set of the array at block 606 may include comparing the second sub-timeframe modeled production data, referred to herein as the extrapolated production data, to production data measured during the second sub-timeframe to determine the validation error associated with the extrapolated or forecasted fitting model modeled production data vector over the second sub-timeframe. In an example, this comparison of the extrapolated production data to production data measured during the second sub-timeframe may include computing a squared error between the extrapolated production data to production data measured during the second sub-timeframe. In a further example, block 606 may include performing one or more of the methodologies described in relation to
Moreover, methodology 600 may include determining a combined error for each parameter set of the array at block 608. In an example, block 608 may include summing the fitting error (of block 604) and the validation error (of block 608) to determine the combined error for each parameter set of the array. In some examples, the fitting error or the validation error may be weighted in the determination of the combined error. Furthermore, block 608 may include performing one or more of the methodologies described in relation to
Additionally, methodology 600 may include identifying an optimal parameter set size for modeling the target geological region at block 610. In an example, the optimal parameter set size may correspond to the parameter size that resulted in a minimum combined error based on the results of block 608. In an example, therefore, block 610 may include determining a minimum combined error of the combined errors determined at block 608. In addition, block 610 may include performing one or more of the methodologies described in relation to
Furthermore, at block 612, methodology 600 may include forecasting or otherwise predicting one or more future production values of the target geological region by modeling the target geological region using a selected parameter set having an optimal parameter set size determined at block 610. In an example, the selected parameter set values may be selected by determining a minimum fitting error between modeled data for the selected parameter set and the first and second sets of historical production data. In addition, block 612 may include performing one or more of the methodologies described in relation to target geological region modeling module 518 of
Referring to
Additionally, system 700 can include a memory 716 that retains instructions for executing functions associated with the electrical modules 704, 706, 708, 710, 712, and 714, stores data used or obtained by the electrical modules 704, 706, 708, 710, 712, and 714, etc. While shown as being external to memory 716, it is to be understood that one or more of the electrical modules 704, 706, 708, 710, 712, and 714 can exist within memory 716. In one example, electrical modules 704, 706, 708, 710, 712, and 714 can comprise at least one processor, or each electrical module 704, 706, 708, 710, 712, and 714 can be a corresponding module of at least one processor. Moreover, in an additional or alternative example, electrical modules 704, 706, 708, 710, 712, and 714 can be a computer program product including a computer readable medium, where each electrical module 704, 706, 708, 710, 712, and 714 can be corresponding code.
Example computer system 800 includes at least one processor 802 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both, processor cores, compute nodes, etc.), a main memory 804 and a static memory 805, which communicate with each other via a link 808 (e.g., bus). The computer system 800 may further include a video display unit 810, an alphanumeric input device 812 (e.g., a keyboard), and a user interface (UI) navigation device 814 (e.g., a mouse). In one embodiment, the video display unit 810, input device 812 and UI navigation device 814 are incorporated into a touch screen display. The computer system 800 may additionally include a storage device 815 (e.g., a drive unit), a signal generation device 818 (e.g., a speaker), a network interface device 820, and one or more sensors (not shown), such as a global positioning system (GPS) sensor, compass, accelerometer, or other sensor.
The storage device 815 includes a machine-readable storage medium 822 on which is stored one or more sets of data structures and/or instructions 824 (e.g., software) embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 824 may also reside, completely or at least partially, within the main memory 804, static memory 805, and/or within the processor 802 during execution thereof by the computer system 800, with the main memory 804, static memory 805, and cache memory of the processor 802 also constituting machine-readable storage media.
While the machine-readable storage medium 822 is illustrated in an example embodiment to be a single medium, the term “machine-readable storage medium” 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 instructions 824. The term “machine-readable storage medium” shall also be taken to include any tangible medium that is capable of storing either instruction for execution by the machine or data. The term “machine-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable storage media include non-volatile memory, including, by way of example, semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM)) and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
The instructions 824 may further be transmitted or received over a communications network 826 using a transmission medium via the network interface device 820 utilizing any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a local area network (LAN), a wide area network (WAN), the Internet, mobile telephone networks, Plain Old Telephone (POTS) networks, and wireless data networks (e.g., Wi-Fi, 3G, and 4G LTE/LTE-A or WiMAX networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software.
Examples are described herein, can include, or can operate on, logic or a number of modules or mechanisms. Modules are tangible entities capable of performing specified operations and can be configured or arranged in a certain manner. In an example, circuits can be arranged (e.g., internally or with respect to external entities such as other circuits) in a specified manner as a module. In an example, the whole or part of one or more computer systems (e.g., a standalone, client or server computer system) or one or more hardware processors can be configured by firmware or software (e.g., instructions, an application portion, or an application) as a module that operates to perform specified operations. In an example, the software can reside (1) on a non-transitory machine-readable medium or (2) in a transmission signal. In an example, the software, when executed by the underlying hardware of the module, causes the hardware to perform the specified operations.
Accordingly, the term “module” is understood to encompass a tangible entity, be that an entity that is physically constructed, specifically configured (e.g., hardwired), or temporarily (e.g., transitorily) configured (e.g., programmed) to operate in a specified manner or to perform part or all of any operation described herein. Considering examples in which modules are temporarily configured, one instantiation of a module may not exist simultaneously with another instantiation of the same or different module. For example, where the modules comprise a general-purpose hardware processor configured using software, the general-purpose hardware processor can be configured as respective different modules at different times. Accordingly, software can configure a hardware processor, for example, to constitute a particular module at one instance of time and to constitute a different module at a different instance of time.
Additional examples of the presently described method, system, and device embodiments include the following, non-limiting configurations. Each of the following non-limiting examples may stand on its own, or may be combined in any permutation or combination with any one or more of the other examples provided below or throughout the present disclosure. The preceding description and the drawings sufficiently illustrate specific embodiments to enable those skilled in the art to practice them. Other embodiments may incorporate structural, logical, electrical, process, and other changes. Portions and features of some embodiments may be included in, or substituted for, those of other embodiments.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US13/42711 | 5/24/2013 | WO | 00 |