Detecting and Correcting for Discrepancy Events in Fluid Pipelines

0Associated
Cases 
0Associated
Defendants 
0Accused
Products 
0Forward
Citations 
0
Petitions 
1
Assignment
First Claim
1. A method of detecting and correcting for discrepancy events in a fluid pipeline, the method comprising:
 obtaining a plurality of empirical temperature and pressure measurements at a plurality of locations within the pipeline;
simulating, using a pipeline model, a plurality of simulated temperature and pressure measurements for the plurality of locations within the pipeline;
detecting, by a discrepancy event detector, at least one discrepancy event representing a discrepancy between the empirical temperature and pressure measurements and the simulated temperature and pressure measurements;
outputting to a user an indication that the at least one discrepancy event has been detected;
accounting for the discrepancy;
determining, after the accounting and using an estimator applied to the pipeline model, a corrected branch flow rate for the pipeline; and
outputting the corrected branch flow rate for the pipeline to the user.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for detecting and correcting for discrepancy events in a fluid pipeline are presented. The techniques can include obtaining a plurality of empirical temperature and pressure measurements at a plurality of locations within the pipeline; simulating, using a pipeline model, a plurality of simulated temperature and pressure measurements for the plurality of locations within the pipeline; detecting, by a discrepancy event detector, at least one discrepancy event representing a discrepancy between the empirical temperature and pressure measurements and the simulated temperature and pressure measurements; outputting to t a user an indication that the at least one discrepancy event has been detected; accounting for the at least one discrepancy; determining, after the accounting and using an estimator applied to the pipeline model, a corrected branch flow rate for the pipeline; and outputting the corrected branch flow rate for the pipeline to the user.
0 Citations
No References
No References
20 Claims
 1. A method of detecting and correcting for discrepancy events in a fluid pipeline, the method comprising:
obtaining a plurality of empirical temperature and pressure measurements at a plurality of locations within the pipeline; simulating, using a pipeline model, a plurality of simulated temperature and pressure measurements for the plurality of locations within the pipeline; detecting, by a discrepancy event detector, at least one discrepancy event representing a discrepancy between the empirical temperature and pressure measurements and the simulated temperature and pressure measurements; outputting to a user an indication that the at least one discrepancy event has been detected; accounting for the discrepancy; determining, after the accounting and using an estimator applied to the pipeline model, a corrected branch flow rate for the pipeline; and outputting the corrected branch flow rate for the pipeline to the user.  View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
 11. A system for detecting and correcting for discrepancy events in a fluid pipeline, the system comprising at least one electronic processor that executes persistently stored instructions to perform operations comprising:
obtaining a plurality of empirical temperature and pressure measurements at a plurality of locations within the pipeline; simulating, using a pipeline model, a plurality of simulated temperature and pressure measurements for the plurality of locations within the pipeline; detecting, by a discrepancy event detector, at least one discrepancy event representing a discrepancy between the empirical temperature and pressure measurements and the simulated temperature and pressure measurements; outputting to a user an indication that the at least one discrepancy event has been detected; accounting for the discrepancy; determining, after the accounting and using an estimator applied to the pipeline model, a corrected branch flow rate for the pipeline; and outputting the corrected branch flow rate for the pipeline to the user.  View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
1 Specification
The present application claims priority to, and the benefit of, U.S. Provisional Patent Application No. 62/487,987 entitled “Statistical Detection and Estimation for Virtual Flow Metering” to Rossi, filed Apr. 20, 2017, the contents of which are hereby incorporated by reference in their entirety.
In the oil and gas industry, mathematical models for an oilgas production system (e.g., reservoirs, wells, surface flow line networks and equipment, and production plant facilities) are used to understand the current state and future behavior of the production system. For example, a model for a single branch production system may include a subsurface vertical well completion (e.g., reservoir fluid entry into the perforations of a vertical well), a well tubing extending from bottom hole to the tubing head at surface, a surface choke used to regulate the flow rate, and a surface flow line extending from the choke to facility equipment (e.g., a fluid separator). For such a case, the thermalhydraulic behavior such as the distribution of pressure, temperature, and multiphase fluid flow rates along the production path can be modeled using any of several software applications that represent either the steadystate system behavior (that is, during normal continuous operation) or the transient dynamic behavior (that is, during transient events, such as startup).
According to various embodiments, a method of detecting and correcting for discrepancy events in a fluid pipeline is presented. The method includes obtaining a plurality of empirical temperature and pressure measurements at a plurality of locations within the pipeline; simulating, using a pipeline model, a plurality of simulated temperature and pressure measurements for the plurality of locations within the pipeline; detecting, by a discrepancy event detector, at least one discrepancy event representing a discrepancy between the empirical temperature and pressure measurements and the simulated temperature and pressure measurements; outputting to a user an indication that the at least one discrepancy event has been detected; accounting for the at least one discrepancy; determining, after the accounting and using an estimator applied to the pipeline model, a corrected branch flow rate for the pipeline; and outputting the corrected branch flow rate for the pipeline to the user.
Various optional features of the above embodiments include the following. The pipeline model may include a pipeline simulation model that models transient events in the pipeline. The accounting for the at least one discrepancy may include accounting for the at least one discrepancy by modifying at least one value of the empirical pressure and temperature measurements. The discrepancy event may include at least one of: a change in fluid phase fraction, erosion of a choke in the pipeline, deposition of solids in the pipeline, or the presence of measurement bias in a sensor for the pipeline. The discrepancy event detector may include a filter bank. The filter bank may perform a plurality of simultaneous likelihood computations. The estimator may include a linear Bayesian minimum mean square error estimator. The linear Bayesian minimum mean square error estimator may combine uncertainties of inputs to, and outputs of, the pipeline model to estimate values of inputs to, and outputs of, the pipeline model. The corrected branch flow rate may include a flow rate for at least one of: petroleum, water, and gas. The corrected branch flow rate may include a multiphase fluid flow rate.
According to various embodiments, a system for detecting and correcting for discrepancy events in a fluid pipeline is presented. The system includes at least one electronic processor that executes persistently stored instructions to perform operations including: obtaining a plurality of empirical temperature and pressure measurements at a plurality of locations within the pipeline; simulating, using a pipeline model, a plurality of simulated temperature and pressure measurements for the plurality of locations within the pipeline; detecting, by a discrepancy event detector, at least one discrepancy event representing a discrepancy between the empirical temperature and pressure measurements and the simulated temperature and pressure measurements; outputting to a user an indication that the at least one discrepancy event has been detected; accounting for the at least one discrepancy; determining, after the accounting and using an estimator applied to the pipeline model, a corrected branch flow rate for the pipeline; and outputting the corrected branch flow rate for the pipeline to the user.
Various optional features of the above embodiments include the following. The pipeline model may include a pipeline simulation model that models transient events in the pipeline. The accounting for the at least one discrepancy may include accounting for the at least one discrepancy by modifying at least one value of the empirical pressure and temperature measurements. The discrepancy event may include at least one of: a change in fluid phase fraction, erosion of a choke in the pipeline, deposition of solids in the pipeline, or the presence of measurement bias in a sensor for the pipeline. The discrepancy event detector may include a filter bank. The filter bank may perform a plurality of simultaneous likelihood computations. The estimator may include a linear Bayesian minimum mean square error estimator. The linear Bayesian minimum mean square error estimator may combine uncertainties of inputs to, and outputs of, the pipeline model to estimate values of inputs to, and outputs of, the pipeline model. The corrected branch flow rate may include a flow rate for at least one of: petroleum, water, and gas. The corrected branch flow rate may include a multiphase fluid flow rate.
Some embodiments have pronounced advantages over the prior art. Some embodiments account for physical breakdown of pipeline hardware (e.g., choke erosion, sensor bias, etc.) by correcting flow estimates. (The term “pipeline” is used herein to refer to both surface and subsurface piping and tubulars.) Some embodiments detect the physical breakdown of pipeline hardware and automatically correct for it. Some embodiments perform these functions for either of steadystate or transient pipeline models. Because there is no reason to expect consistent measurements throughout the pipeline in transient pipeline models, prior art techniques for estimating pipeline flow while accounting for physical breakdown of pipeline hardware cannot be applied to such models. These and other advantages are disclosed herein.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the present teachings and together with the description, serve to explain the principles of the present teachings. In the figures:
Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings and figures. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced without these specific details. In other instances, wellknown methods, procedures, components, circuits and networks have not been described in detail so as not to obscure aspects of the embodiments.
It will also be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used to distinguish one element from another. For example, a first object could be termed a second object, and, similarly, a second object could be termed a first object, without departing from the scope of the invention. The first object and the second object are both objects, respectively, but they are not to be considered the same object.
The terminology used in the description of the invention herein is for the purpose of describing particular embodiments and is not intended to be limiting of the invention. As used in the description of the invention and the appended claims, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any possible combinations of one or more of the associated listed items. It will be further understood that the terms “includes,” “including,” “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. Further, as used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in response to detecting,” depending on the context.
Attention is now directed to processing procedures, methods, techniques and workflows that are in accordance with some embodiments. Some operations in the processing procedures, methods, techniques and workflows disclosed herein may be combined and/or the order of some operations may be changed.
In the example of
In an example embodiment, the simulation component 120 may rely on pipeline components 122. The pipeline components 122 may include pipe structures and/or equipment. In the system 100, the components 122 can include virtual representations of actual physical components that are reconstructed for purposes of simulation. The components 122 may include components based on data acquired via sensing, observation, etc. (e.g., the pipeline configuration 112 and other information 114). Pipeline components 122 may be characterized by one or more properties (e.g., a pipeline model may be characterized by changes in pressure, heat transfer, pipe inclination and geometry, etc.). Such properties may represent one or more measurements (e.g., acquired data), calculations, etc.
In an example embodiment, the simulation component 120 may operate in conjunction with a software framework such as an objectbased framework. In such a framework, entities may include entities based on predefined classes to facilitate modeling and simulation. A commercially available example of an objectbased framework is the MICROSOFT® .NET® framework (Redmond, Washington), which provides a set of extensible object classes. In the .NET® framework, an object class encapsulates a module of reusable code and associated data structures. Object classes can be used to instantiate object instances for use by a program, script, etc. For example, borehole classes may define objects for representing boreholes based on well data.
In the example of
As an example, the simulation component 120 may include one or more features of a simulator such as a simulator provided in OLGA® (Schlumberger Limited, Houston Tex. Further, in an example embodiment, the management components 110 may include features of a commercially available framework such as the PETREL® seismic to simulation software framework (Schlumberger Limited, Houston, Tex.). The PETREL® framework provides components that allow for optimization of exploration and development operations. The PETREL® framework includes seismic to simulation software components that can output information for use in increasing reservoir performance, for example, by improving asset team productivity. Through use of such a framework, various professionals (e.g., geophysicists, geologists, pipeline engineers, and reservoir engineers) can develop collaborative workflows and integrate operations to streamline processes. Such a framework may be considered an application and may be considered a datadriven application (e.g., where data is input for purposes of modeling, simulating, etc.).
In an example embodiment, various aspects of the management components 110 may include addons or plugins that operate according to specifications of a framework environment. For example, a commercially available framework environment marketed as the OCEAN® framework environment (Schlumberger Limited, Houston, Texas) allows for integration of addons (or plugins) into a PETREL® framework workflow. The OCEAN® framework environment leverages .NET® tools (Microsoft Corporation, Redmond, Washington) and offers stable, userfriendly interfaces for efficient development. In an example embodiment, various components may be implemented as addons (or plugins) that conform to and operate according to specifications of a framework environment (e.g., according to application programming interface (API) specifications, etc.).
As an example, a framework may include features for implementing one or more mesh generation techniques. For example, a framework may include an input component for receipt of information from interpretation of pipeline configuration, one or more attributes based at least in part on pipeline configuration, log data, image data, etc. Such a framework may include a mesh generation component that processes input information, optionally in conjunction with other information, to generate a mesh.
In the example of
As an example, the domain objects 182 can include entity objects, property objects and optionally other objects. Entity objects may be used to geometrically represent wells, surfaces, bodies, reservoirs, etc., while property objects may be used to provide property values as well as data versions and display parameters. For example, an entity object may represent a well where a property object provides log information as well as version information and display information (e.g., to display the well as part of a model).
In the example of
In the example of
As mentioned, the system 100 may be used to perform one or more workflows. A workflow may be a process that includes a number of worksteps. A workstep may operate on data, for example, to create new data, to update existing data, etc. As an example, a workstep may operate on one or more inputs and create one or more results, for example, based on one or more algorithms. As an example, a system may include a workflow editor for creation, editing, executing, etc. of a workflow. In such an example, the workflow editor may provide for selection of one or more predefined worksteps, one or more customized worksteps, etc. As an example, a workflow may be a workflow implementable in the PETREL® software, for example, that operates on pipeline configuration, seismic attribute(s), etc. As an example, a workflow may be a process implementable in the OCEAN® framework. As an example, a workflow may include one or more worksteps that access a module such as a plugin (e.g., external executable code, etc.).
Another use for steadystate and transient simulation software applications takes place after the system has been designed, constructed, and put into operation. During daily operations, models are used to combine different types of measurements and available information in order to more fully understand system behavior. For example,
The general problem addressed is the use of available information to estimate multiphase flow rates throughout the system. Available information may include measurements such as pressure, temperature, and possibly flow rate data. Other information includes a steadystate or dynamic simulation software model that represents the production system and fluids. The model is at least occasionally calibrated against known flow rate measurement data. The use of a software simulation model to estimate flow rate is referred to as Virtual Rate Estimation (“VRE”) or Virtual Flow Metering (“VFM”). There are several established approaches to VRE and VFM (hereafter referred to as VFM), which are briefly described in the two subsequent sections.
d(t)=[P_{res}T_{res}P_{wf}T_{wf}P_{th}P_{th}P_{ch}T_{ch}P_{sep}T_{sep}]′ (Equation 1)
In Equation 1, the subscript “res” denotes reservoir, “wf” denotes well floor, “th” denotes tubing head, “ch” denotes choke, and “sep” denotes separator. These denotations indicate the locations where the measurements are obtained.
In one approach to VFM, a single component of the production system, such as a wellbore tubing, is identified and used to estimate the flow rate through this specific component. This provides what is known as a “local meter.” Steadystate and dynamic simulation uses knowledge about boundary conditions (e.g., pressure, temperature, or flow rates) at both the upstream entry point and the downstream outlet point of the modeled portion of the production system. Any part of the production system between two pressuretemperaturerate measurements may be taken as a local meter. For the example shown in
When a sufficient number of PT measurements are available throughout the production system, such as the case shown in
Under more realistic operating conditions, measurement data is not unbiased and noisefree, and the fluid properties as well as the actual state of the production system are not perfectly known. Under practical conditions of noisy/uncertain data and partial knowledge about the fluids and production system, the question arises of how to combine local meter flow rates to estimate the actual multiphase flow rates in the system.
Under practical operational field conditions, a number of challenges arise when attempting to combine multiple local meters as just described:
 1) MEASUREMENT BIAS: measurement instrumentation error may occur where an additive offset or other type of bias corrupts an inlet or outlet pressure or temperature sensor. In another embodiment, as the reservoir is produced, the in situ pressure in the reservoir declines. Reservoir pressure can be estimated using techniques such as material balance and pressure transient testing, but at any moment, the actual reservoir pressure may be different from the reservoir pressure used in the model.
 2) MODEL ERROR: discrepancy may exist between the model for the production system and the actual state. One example is choke erosion, where the choke interior body may be eroded by sand or other materials and the actual choke opening is larger than the choke opening in the model. Other production system components such as the well tubing and the flow line can also erode. Another example is scaling, waxing, or asphaltene formation, where the tubing or flow line accumulate material that causes the actual flowing crosssection to be smaller than the flowing crosssection in the model.
 3) FLUID ERROR: as a reservoir is produced, the oilwatergas phase makeup of the produced fluid changes over time. For example, the fraction of water in the produced liquid (i.e., watercut) or the ratio of gas to oil (i.e., gasoil ratio) may increase over time. The phase fractions of water and gas in the production stream can be estimated from time to time (e.g., using a separator well test), or measured continuously (e.g., using a multiphase flow meter), or measured semicontinuously (e.g., using a multiphase flow meter on a test manifold where each of several wells is measured while the well is ‘on test’). At any moment, there may be a difference between the actual and modeled fluid parameters.
As can be appreciated, even for this simple production system including a single branch with four sensors and six discrepancy events, there are a number of challenges to extending this “pattern recognition” concept to much more general use in a modern largescale production system that may exhibit a large number of sensors placed at various locations in an extensive interconnected production network, where the quality and availability of specific sensors can vary over time and the underlying system behavior may be transient rather than steadystate. Further, combining the local meter rates to estimate a single representative branch flow rate according to the prior art technique of computing a weighted average of such quantities does not work for transient pipeline simulation models, because there is no reason to expect that the individual local meter rates are consistent in the presence of a transient event.
Bayesian statistical event detection—a modelbased Bayesian detection filter bank 1502 is implemented that continually computes the a posteriori probability of each of a number of potential discrepancy events, such as a change in reservoir pressure, a change in fluid phase fraction, a change in the physical system such as choke erosion or flowline solids deposition, or the presence of a bias in one of the measurements. The filter bank 1502, which performs a number of simulation model computations, makes use of the available measurements (e.g., the type of measurements available can vary from one time to the next), accounting for measurement uncertainties. This is a recursive Bayesian probability computation that tracks, from one time to the next, the probability of each discrepancy event. These probabilities are used to decide which one of the events has occurred, for example, when the computed probability value becomes larger than a threshold or when the computed probability is the largest among the set of the probabilities.
Bayesian statistical estimation of flow rate—after detecting a discrepancy event, the measurement data or models may be modified (e.g., by removing a measurement bias, adjusting the modelled value of choke bean or Cv coefficient or diameters of tubular components, or decreasing the value of P_{res}). The modified data and models can then be used to implement local meters. The local meter flow rates computed from PT data can then be combined with measured flow rates (e.g., multiphase flow meter rates, if available) and processed by a linear Bayesian minimum meansquare error (MMSE) estimator 1504. This estimator 1504 uses the measurements, accounting for measurement uncertainties. It weights the data and determines the estimate of branch flow rate. This process is described in more detail in a subsequent section.
Ideas are illustrated above for a case of a single flow rate (e.g., liquid flow rate) in a single branch steadystate model such as the one in
Let S={S_{0}, S_{1}, . . . ,S_{N}} denote the set of N+1 discrepancy events or scenarios that could potentially occur in the current system. Scenario S_{0 }refers to the base case (e.g., no discrepancy event); scenarios S_{1}, . . . , S_{N }refer to various events such as the ones listed under “Filter Bank” in
P_{k}(S_{j}) j=0,1,2, . . . ,N (Equation 2)
The initial a priori probabilites are denoted as P_{0}(S_{j}). The probabilities in Equation 2 each have a value between zero and one, and the N+1 probabilities sum to one.
For each potential discrepancy event S_{j }the simulation model (e.g., steadystate PipeSIM or transient OLGA, singlebranch or network) can be used to compute a column vector of expected measurements at time t_{k}, denoted as m_{kj}. The filter bank event detector may not be based on the local meter concept, and thus can be implemented with both steadystate and transient model simulation methods. A representative result of computing pressures at 5 measurement sensor locations for the base case S_{0 }is shown in
m_{k0}=[P_{res}T_{res}P_{wf}T_{wf}P_{th}P_{th}P_{ch}T_{ch}P_{sep}T_{sep}]′=[3000.0 200.0 2653.2 200.4 1337.1 167.9 721.2 166.9 250.1 113.3]′ (Equation 3)
Because the actual sensor readings are not precise, they are represented in the model as the computed (e.g., expected) measurement data under the given discrepancy event, plus some level of uncertainty, represented as zeromean additive noise. Specifically, under scenario S_{j }with noisefree 10dimensional measurement m_{kj}, the actual noisy 10dimensional measurement r_{kj }at time t_{k }is represented as:
r_{kj}=m_{kj}+w_{k}w_{k}˜N(0, Σ) (Equation 4)
In Equation 4, the 10dimensional additive noise w_{k }is described by a Gaussian or normal probability density function (PDF), having zero mean and a 10×10 covariance matrix Σ. The PDF for the measurement r_{k }at time t_{k}, assuming discrepancy event S_{j }has occurred, is described probabilistically by the following equation, where the number of measurements L=10, and the vertical bar notation on the left side of the equation denotes “given”,
In this equation, the mean value of measurement r_{kj }given discrepancy event S_{j }has occurred is the 10dimensional simulated measurement m_{kj}. It is instructive to consider how distinct these signals are over the set of potential scenarios, compared both to the base case mean measurement, as well as to each other.
For the single branch model shown earlier in
 1. Pres −30 psi: the reservoir pressure drops from 3000 psia to 2970 psia;
 2. Choke 1.05 in: the choke erodes from a nominal 1.00″ bean or opening to a 1.05″ bean;
 3. Pwf Bias 30 psi: a constant 30 psi offset is added to the P_{wf }measurement
 4. WCUT 8%: The fluid watercut increases from 4% to 8%
 5. Tubing 4.6 in: The tubing ID reduces due to scaling or solid buildup from 5.0 inches to 4.6 inches;
 6. Flowline 5.9 in: The flowline ID reduces due to solids accumulation from 6.0 inches to 5.9 inches.
For a given discrepancy event S_{j}, Equation 5 corresponds to the socalled “forward problem,” namely, evaluating the PDF for the measurement r_{k }given that discrepancy event S_{j }has occurred. The “inverse problem” is then addressed, that is: given an observed measurement r_{k}=R_{k }at time t_{k}, the user may determine the probability of discrepancy event S_{j }by calculating the a posteriori probability of each discrepancy event S_{j }given the measurement R_{k}:
P_{k}(S_{j})=P(S_{j}r_{k}=R_{k}) j=0,1, . . . , N (Equation 6)
Bayes updating provides a direct means of computing Equation 6 in terms of quantities known from Eq. 2 and Eq. 5 as follows:
Equation 7 provides a direct means to compute, from one time to the next, the probability that the system has moved into a state corresponding to discrepancy event S_{j}. Alerts can be implemented based on the behavior of these probabilites, in order to (1) warn that the system has moved away from the base case So, and (2) provide a prediagnostic that the system appears to be approaching the root cause scenario having the largest a posteriori probability in Equation 7.
The method in this flow chart is illustrated with an example. The steadystate PIPESIM® model in
To evaluate performance of the filter bank statistical detector, the simulated data noise level was increased. By inspection of the scenario pressure and temperature signal levels in
A second simulated measurement example is now presented, where the standard deviation of pressure measurement noise was set to 3 psi (i.e., same as the previous example), and the standard deviation of temperature measurement noise was increased to 1.0 deg F.
As shown earlier in
The output of the local meter calculations is a set of flow rates Q_{inflow}, Q_{tubing}, Q_{choke}, Q_{flowline}. These can be combined with other flow rate information available at this time (e.g., a multiphase flow meter measurement Q_{MPFM}) to form a composite set of flow rate measurements. Consider two cases:
In this case, for illustration consider that four local meter flow rates are available. A vector measurement equation may be written as
Here, q_{k }is the single branch flow rate that is to be estimated from the N=4 measurements. z_{k }is an (N×1) vector of the four local flow meter estimates. H_{k }is an (N×1) column vector of ones.
In this case, for illustration consider that four local meter flow rates are available in addition to a single flow rate measurement, for example, from a flowmeter. A vector measurement equation may be written as
Here, q_{k }is the single branch flow rate that is to be estimated from the M=5 measurements. z_{k }is an (M×1) vector of available flow rate information, namely the four local flow meter estimates and the meter flow rate measurement. H_{k }is an (M×1) column vector of ones.
Cases 1 and 2 can both be approached the same way. In both cases, the measurements are assumed to be imperfect, and the different elements of each measurement vector can have different qualities. Variable v_{k }is an unknown (N×1) or (M×1) column vector of zeromean Gaussian noise characterized by a known (N×N) or (M×M) covariance matrix Λ_{v}, whose entries reflect the relative level of uncertainty in each measurement. The higher quality measurements like physical flow meter data may be represented with smaller noise level than a local meter. In either case, given an actual vector of measurements z_{k}=Z_{k}, Equation 8 or Equation 9 lead to the same linear weighted leastsquares estimator of flow rate:
{circumflex over (q)}_{k}=[H_{k}′Λ_{v}^{−1}H_{k}]^{−1}H_{k}′Λ_{v}^{−1}Z_{k } (Equation 10)
Note, however, that the techniques of this section perform a weighted average of explicitly computed local meter rates to determine a corrected flow rate. However, weighted averages of local meters do not accurately model transient pipeline events, because there is no reason to expect that the various local meters may be consistent in the presence of transient events. Accordingly, the techniques of the next section may be employed advantageously over the techniques of this section.
The method for virtual flow metering (VFM) is illustrated here using a simple representative single branch model shown in
The single branch model in
 Inflow: flow of reservoir fluid into the well is characterized by an Inflow Performance Relation (IPR) that includes parameters such as productivity index (PI) and reservoir pressure P_{res }and temperature T_{res}, as well as information about the geometry and perforations at the bottom of the wellbore;
 Well: the flow of fluids within the well tubing and casing is characterized by the physical description of the wellbore, including parameters such as tubing diameter D_{tubing }and friction F_{tubing}, as well as a description of the wellbore completion materials, etc. The well and tubing can also include information about wellbore artificial lift, using such methods as gas lift or wellbore pumping. The state of the wellbore is characterized by the tubing head pressure and temperature (P_{th}, T_{th}) and the well flowing bottomhole pressure and temperature (P_{wf}, T_{wf});
 Surface: the flow of fluids in the surface network is characterized by the physical description of the well head, the choke (e.g., parameters such as choke coefficient C_{v }and bean size D_{choke}), and the flow line (e.g., parameters such as diameter D_{flowline }and friction F_{flowline}, as well as a description of the flowline materials and construction, etc. The surface system can also include equipment and components such as seabed multiphase pumps, manifolds, separators, etc. The state of the surface network is characterized by the upstream tubing head pressure and temperature (P_{en}, T_{th}), the choke outlet pressure and temperature (P_{ch}, T_{ch}) and the separator inlet pressure and temperature (P_{sep}, T_{sep});
 Fluids: reservoir fluids flowing through the single branch are characterized using either (1) a fully compositional oilwatergas description or (2) a black oil model with physical properties including watercut W_{c }and gasliquid ratio R_{gl}. It is assumed here that the densities ρ_{o}, ρ_{w}, ρ_{g }of the three phase fractions are known, in which case knowledge of mass flow rate (Q_{m}), watercut W_{c }and gasliquid ratio R_{gl }is sufficient to determine Q_{o}, Q_{w}, Q_{g}, the volumetric flow rate of each phase.
The nonlinear thermalhydraulic singlebranch model (steadystate or transient) is represented here as
v=f(u;γ) (Equation 11)
In this expression, the single branch variables have been divided into three groups, one example of which is shown in Equation 12:
 Model inputs: a (5×1) column vector u represents boundary conditions and fluid properties that play the role of inputs to the branch simulation model;
 Model outputs: an (8×1) column vector v represents key pressures and temperatures and the mass flow rate in the branch; these may be outputs from a branch simulation computation;
 Model parameters: a column vector y is a representative set of internal parameters in the branch model. As indicated in Equation 11, these variables y are inputs to the simulation model, like the elements in u. Two sets of input variables are introduced because the variables in u may be estimated at each time in VFM, whereas the variables in y are model input parameters that are assumed to remain constant with time and are not estimated at each time step. If one or more variables in γ are believed to change with time (e.g., decreasing inflow productivity index of increasing tubing friction), these variables can be added to the vector u, without loss of generality in the method. The assignment of variables to the three groups in Equation 12 is not unique and is intended to illustrate the VFM method.
For a given problem, the variables assigned to each of the three groups may depend on the specific case being addressed. In order to illustrate the VFM methodology, a representative set of variables is assigned to each group in Equation 11. More generally, a wide range of cases can be addressed in a similar fashion.
The objective of the Virtual Flow Meter (VFM) method is to combine available online measurement data with a production system thermalhydraulic model in order to estimate multiphase flow rate. When new measurements become available, the VFM method may use the new data to improve the multiphase virtual flow rate estimates, as well as to validate and improve the quality of the simulation model.
For most VFM implementations, new measurement data can come from a variety of sensors and instrumentation situated along the branch:
 PressureTemperature: gauges may be installed to provide information at well head (P_{th}, T_{th}) and separator inlet (P_{sep}, T_{sep}), and may also be available at the well bottomhole location (P_{wf}, T_{wf}) and at the choke outlet (P_{ch}, T_{ch});
 Fluid: Information about the fluid composition and PVT properties comes from physical samples taken from the reservoir formation or the wellnetwork system and evaluated in the laboratory, and watercut and gasoil ratio information may come for suitable measurement sensors in the field;
 Reservoir: During field life, information about the reservoir pressure P_{res }can be obtained from pressure transient information (PTA such as buildup testing) as well as material balance evaluation;
 Flow rate: Different types of field equipment may be used to measure flow rates, for example,
 a. Wet gas meter: determines mass flow rate (Q_{m}) of a wet gas stream by measuring pressure drop across a flow restricting orifice;
 b. Multiphase flow meter: determines oil, water and gas flow rates (Q_{o}, Q_{w}, Q_{g }or equivalently Q_{m}, W_{c}, R_{gl}), by measuring Venturi pressure drop (mass flow rate) and gamma ray attenuation (dependent on phase splits) of a flowing multiphase fluid;
 c. Separator well test: measures the volumes rates of oil, water and gas after physical separation in a separation vessel.
VFM is a method that combines new measurement data with an available single branch model v=f(u;γ) in order to estimate multiphase flow rate. There are several challenges faced with the VFM problem:
 1) Measurements (listed above) are made in both the model input vector u (e.g., P_{res}, W_{c }and R_{gl}) as well as the model output vector v (for example P_{wf}, P_{th}, Q_{m }and others);
 2) The variables to be estimated can come from both the model input vector u (for example, many operators want VFM to automatically determine changes in watercut W_{c }from pressuretemperature data) as well as the model output vector v (e.g. mass flow rate Q_{m});
The method disclosed herein combines uncertain measurements of both the inputs and outputs of the simulation model v=f(u;γ), in order to estimate variables in both the inputs and outputs of the simulation model, notably multiphase flow rates.
Virtual Flow Metering as an Estimation Problem
Recall the nonlinear thermalhydraulic singlebranch model (steadystate or transient) is represented as
v=f(u;γ) (Equation 13)
Also recall that two sets of input variables are introduced because the variables in u are may be estimated at each time in VFM, whereas the variables in y are model input parameters that are assumed to remain constant with time and are not estimated. If one or more variables in y are believed to change with time (e.g., changing choke coefficient as the choke erodes), these variables can be added to the vector u in the general approach of the method, as illustrated in the following example.
The model input variables u and output variables v may be grouped into a vector x shown in Equation 14 below. Within the vector x, the variables may be grouped in two ways. The rightside grouping of variables into input vector u and output vector v was introduced earlier in Equation 12 and Equation 13. The leftside grouping defines a vector a of variables whose estimates (and error covariance) may be carried from one time to the next during the VFM rate estimation process. The vector a is made up of two sets: (1) the variables in the input vector u (since estimates of the model input variables may be carried from one time to the next), and (2) any other variables that are to be estimated, such as the mass flow rate Q_{m}.
Equation 14 shows one example of a possible grouping of variables, in order to illustrate the method. More generally, other variables may be included in the vectors u and a depending on the problem being solved. For example, if VFM is being used to estimate flow rates and to historymatch or calibrate the model f(u; γ), internal model parameters in the vector γ (e.g., tubing friction or internal diameter) can be estimated by including them in the vector of estimated variables u in Equation 14.
In the following development, the vectors x, u and a will be related to one another using matrix premultiplication by a zeroone matrix. For example, the vector a will be represented as a=Jx, which for the current example is
And the vector u will be represented as u=Ka, which for the current example is
At any time during the VFM rate estimation process, any of the variables in the vector x may be available as measurements, as described earlier. For example,
 the online digital oilfield monitoring system may provide online measurement of pressures and temperatures (P_{wf}, T_{wf}, P_{th}, T_{th});
 P_{res }might be available from pressure transient analysis;
 the phase fractions W_{c }and R_{gl }might be available from laboratory fluid analysis.
The measurements available for VFM may be different from one time to the next. At any time during the VFM process, the available measurements may be represented by premultiplying the vector x by a zeroone timedependent matrix H for that time step so the measurements are denoted as the vector Hx.
For example, suppose the available measurements are made up of the pressures and temperatures measured bottom hole, at the tubing head, at the choke outlet, and at the separator inlet. In this case, the measurement vector and measurement matrix H at this time step are given by:
As another example, if the measurements are the threephase flow rates measured using a multiphase flow meter (such as the Schlumberger Vx meter) or through a separator well test, or a LACT meter, the measurements of oil, water, and gas rates can be equivalently expressed as mass flow rate, water cut and gasliquid ratio, so the measurement vector and matrix H at this time step are given by:
In practice, the measurements are not noisefree as shown above, and they may have some level of uncertainty. Measurement uncertainty may be represented using an additive measurement noise term, in which case the measurement at a given time is represented as
y=Hx+w w˜(0,Λ_{w}) (Equation 18)
Here w is an unknown zeromean Gaussian random vector with known noise covariance Λ_{w}. The actual value of the noisy measurement at a given time may be represented using capital letter notation, y=Y.
Perturbations of Equation 13 around a nominal operating point ū where
Or, using more compact matrixvector notation:
{tilde over (v)}≅∀_{f}ũGũ (Equation 20)
In Equation 20, G is a gradient matrix of partial derivatives of the multidimensional thermalhydraulic model response output v with respect to each element of the input vector u in Equation 12 and Equation 14.
It is assumed that at the start of the VFM rate estimation process the user has available a nominal value for the model input vector ū. During the VFM process, an estimate of the model input vector u and its uncertainty may be carried from one time to the next. To represent uncertainty in the VFM estimation process, the vector of input variables u may be represented as a Gaussian random vector with mean m_{u }(e.g., the process begins using the initial nominal value ū) and covariance matrix P_{uu}, that is, u˜(m_{u},P_{uu}). For the moment, no assumptions are made about a dynamics model to represent prior knowledge about the way u varies. There is no assumption that u is a random dynamic process that satisfies a noisedriven statespace model or Markov model. The method can be generalized to include a random dynamic process to model the expected statistical variation of input vector u over time.
The expected or mean value of the model output v is denoted m_{v }and is computed as
m_{v}=f(m_{u};γ) (Equation 21)
This is an approximation which is valid under a locally linear model introduced in Equation 20. Knowing m_{u }and m_{u }as just described, as well as the vector grouping or partitioning defined in Eq. 14, the expected value m_{a }of the vector of estimated variables a and the expected value m_{x }of the composite vector x are related by
Although the single branch model v=f(u;γ) is deterministic, because the input vector u is considered to be a Gaussian random vector u˜(m_{u},P_{uu}), the model output vector v=f(u;γ) may also be considered a Gaussian random vector under the linearized model in Equation 20. The expected or mean value of output vector v is m_{v }in Equation 22, and from Equation 20 the a priori covariance matrix of the model output vector v is given by:
P_{vv}=E{{tilde over (v)}{tilde over (v)}′}=E{Gũũ′G′}=GP_{uu}G′ (Equation 23)
The covariance of the vector
in Equation 14 is given by
Equation 24 makes use of the fact that
P_{vu}=E{{tilde over (v)}ũ′}=E{Gũũ′}=GP_{uu}=P′_{uv } (Equation 25)
The a priori covariance of the vector of estimated variables a in Equation 25 is given by
P_{aa}=E{ãã′}=E{J{tilde over (x)}{tilde over (x)}′J′}=JP_{xx}J′ (Equation 26)
The crosscovariance between the estimated vector a in Equation 25 and the measurement vector y in Equation 18 is given by
P_{ay}=E{ã{tilde over (y)}′}=E{J{tilde over (x)}(H{tilde over (x)}+w)′}=E{J{tilde over (x)}{tilde over (x)}′H′}+E{J{tilde over (x)}{tilde over (w)}′}=JP_{xx}H′ (Equation 27)
Finally, the covariance of the measurement vector y in Equation 18 is given by
Both Equation 27 and Equation 28 make use of the fact that the measurement noise w is uncorrelated with the model state x, that is, the crosscovariance E{{tilde over (x)}{tilde over (w)}′}=0.
Making use of known relationships of Equations (33)(41) (see below), at a given time in the VFM rate estimation process, provided the noisy measurement y=Y, the Bayesian minimum meansquare error (MMSE) estimate of a (model input variables u plus other estimated variables like mass flow rate Q_{m}) can be expressed as:
From Equation 16, the corresponding a posteriori estimate of the vector u is given by
û=E{uy=Y}=Kâ (Equation 30)
The covariance of the estimated vector a given the measurement y=Y is:
From Equation 16, the corresponding a posteriori covariance of the vector u is given by
P_{uY}=KP_{aY}K′ (Equation 32)
Error! Reference source not found.
The expressions for a posteriori mean in Equation (29) and a posteriori covariance Equation 31 make use of wellestablished results as follows. Consider x and y which are n and mdimensional Gaussian random vectors:
z˜(m_{x},P_{x})x∈^{n } (Equation 33)
y˜(m_{y},P_{y})y∈^{m } (Equation 34)
Let P_{xy }and P_{yx }denote the crosscovariance matrices between x and y, i.e.
P_{xy}=E{(x−m_{x})(y−m_{y})′} (Equation 35)
P_{yx}=E{(y−m_{y})(x−m_{x})′} (Equation 36)
We are interested in the joint density between x and y denoted p(x, y). Vectors x and y are jointly Gaussian if:
Suppose a measurement Y is available for the random vector y. Because the two vectors are jointly Gaussian random vectors, the conditional probability density for x, given y=Y, is given by:
System 2400 includes Bayesian statistical event detector 2402. Bayesian statistical event detector 2402 may be implemented as disclosed above in Sections II, III, and V, e.g., as shown and described in reference to
System 2400 includes Bayesian estimator 2404. Bayesian estimator 2404 may be implemented as disclosed above in Sections II, IV, and V, e.g., as shown and described in reference to
System 2400 further includes pipeline simulation model 2406. Pipeline simulation model 2406 may model steady state or transient pipeline behavior. Note that embodiments may utilize any type of pipeline model for pipeline simulation model 2406, including, but not limited to, pipeline simulation models, physicsbased pipeline models, and predictive analytics models. For example, according to some embodiments, the pipeline model may be data driven, e.g., a neural network or other machine learning model. For purposes of illustration rather than limitation, pipeline simulation model 2406 is described herein as a physicsbased pipeline simulation model as disclosed herein, e.g., PIPESIM (e.g., for steady state simulation), OLGA (e.g., for transient dynamic behavior), v=f(u; γ), etc.
The components of system 2400 are communicatively coupled in various ways. Sensors present in or on pipeline 2408 to measure various quantities such as temperature, pressure, flow rate, etc. are communicatively coupled to at least both Bayesian statistical event detector 2402 and Bayesian estimator 2404. Such coupling may be affected by direct electrical coupling, of via networked nodes, for example. Pipeline simulation model 2406 is communicatively coupled to Bayesian statistical event detector 2402 via an open link Application Program Interface (“API”). This API permits Bayesian statistical event detector 2402 to update pipeline simulation model 2406 to detect and account for discrepancy events as disclosed herein, e.g., in Sections II and III. Pipeline simulation model 2406 is communicatively coupled to Bayesian estimator 2404, e.g., via a network link. This link permits Bayesian estimator 2404 to receive information from pipeline simulation model 2406 in order to compute a corrected branch flow rate as disclosed herein, e.g., in Sections II and V.
At block 2702, method 2700 obtains empirical measurements of pipeline conditions. Such measurements may be obtained by a plurality of sensors positioned in or on the pipeline under consideration, at a plurality of locations, as disclosed herein. Such measurements may be of temperature, pressure, flow rate, etc.
At block 2704, method 2700 simulates a plurality of pipeline measurements using a pipeline simulation model, such as pipeline simulation model 2406 as shown and described above in reference to
At block 2706, method 2700 detects a discrepancy event for the pipeline. The discrepancy event may represent a discrepancy between the empirical temperature and pressure measurements of block 2702 and the simulated temperature and pressure measurements of block 2704. The discrepancy event may be detected by a Bayesian statistical event detector as disclosed in detail herein, such as Bayesian statistical event detector 2402 of
At block 2708, method 2700 outputs to a user an indication that it detected the discrepancy event. The indication may be output via a control console on a computer monitor, such as shown and described below in reference to
At block 2710, method 2700 accounts for the detected discrepancy between the empirical and the simulated pipeline parameters. The accounting may occur in the production system and fluid models (e.g., by resetting the modelled value of reservoir pressure, choke bean, watercut, tubing diameter, or flowline diameter) or by adjusting the data itself (e.g., removing a detected measurement bias).
At block 2712, method 2700 determines a corrected branch flow rate for the pipeline under consideration. The corrected rate may be determined as disclosed in Section V above, e.g., as shown and described in reference to
At block 2714, method 2700 outputs the corrected branch flow rate determined per block 2712. The output may be accomplished an any of a variety of ways. According to some embodiments, the output comprises displaying the corrected branch flow rate to a user, e.g., via a computer monitor. According to some embodiments, the corrected branch flow rate is provided to a separate electronic process, such as a pipeline control process. According to some embodiments, the corrected branch flow rate is output to electronic persistent memory. Other manners of outputting the corrected branch flow rate are possible. Additional details and options for outputting the corrected branch flow rate are presented below in Section VII in reference to
A processor can include a microprocessor, microcontroller, processor module or subsystem, programmable integrated circuit, programmable gate array, or another control or computing device.
The storage media 3006 can be implemented as one or more computerreadable or machinereadable storage media. Note that while in the example embodiment of
In some embodiments, computing system 3000 contains one or more VFM module(s) 3008. In the example of computing system 3000, computer system 3001A includes VFM modules 3008. In some embodiments, a single flow metering module may be used to perform at least some aspects of one or more embodiments of the methods, e.g., method 2500. Further, flow metering module 3008 may implement Bayesian statistical event detector 2402 and Bayesian estimator 2404 of
Computing system 3000 is communicatively coupled to a plurality of pipeline sensors 3010 as disclosed herein, either via direct electrical connection, via a computer network, or both.
It should be appreciated that computing system 3000 is one example of a computing system, and that computing system 3000 may have more or fewer components than shown, may combine additional components not depicted in the example embodiment of
Further, the steps in the processing methods described herein may be implemented by running one or more functional modules in information processing apparatus such as general purpose processors or application specific chips, such as ASICs, FPGAs, PLDs, or other appropriate devices. These modules, combinations of these modules, and/or their combination with general hardware are included within the scope of protection of the invention.
The system and method described above include a twostage process for VFM including an initial stage of detection followed by statistical estimation of flow rate. The initial stage of detection identifies whether or not an event has occurred that causes a discrepancy or mismatch between actual measurements and the prediction of those measurements made using an available simulation model. The first stage of detection is carried out using a filter bank including a bank of parallel (e.g., simultaneous) likelihood computations. The filter bank was illustrated for a few specific events. However, the filter bank method is very general and can be used to handle a variety of potential events, for example, the event that upper gaslift valves are open in a gaslifted well, or a tubing leak is present. The filter bank could also compute in parallel the probabilities over a set of possible thermalhydraulic correlation functions, in order to identify a correlation function (or small set of correlation functions) that are most compatible with the observed data. The filter bank method is general and easily scales up to handle dozens of possible discrepancy events in an automated approach. This facilitates an adaptive or evolutionary methodology that would be more resilient to changes in the underlying system than current systems. The second stage uses information provided by the first stage and the simulation model to determine a corrected flow rate, which can include a multiphase flow rate. The second stage need not explicitly determine any local meters in order to determine a corrected flow rate.
The method is illustrated here using a simple example of a single branch model having a fixed measurement configuration. However, the twostage VFM method disclosed is very general and can easily handle complicated pipeline topologies and measurement configurations that are timedependent. For example, separator well tests in any well may be available at certain times, or knowledge about reservoir pressure from pressure transient analysis may be available from time to time.
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. Moreover, the order in which the elements of the methods are illustrated and described may be rearranged, and/or two or more elements may occur simultaneously. The embodiments were chosen and described in order to best explain the principals of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.