A MACHINE LEARNING BASED APPROACH TO WELL TEST ANALYSIS

A method involves obtaining query pressure transient analysis (PTA) data from a well associated with a reservoir, and obtaining a selected class of physics models from a multitude of classes of physics models using a first machine learning model operating on the query PTA data. A physics model in at least one of the multitude of classes of physics models includes a well model and a reservoir model. The well model and the reservoir model are parameterized with model parameters having model parameter values. The method further involves obtaining a multitude of model parameter value estimates to form a parameterized query physics model of the selected class of physics models, using a second machine learning model operating on the query PTA data; and providing the parameterized query physics model to a user.

BACKGROUND

The present application claims priority benefit of Indian Patent Application No. 202021050002, filed Nov. 17, 2020, the entirety of which is incorporated by reference herein and should be considered part of this specification.

BACKGROUND

Pressure transient analysis (PTA), a form of well test analysis, is a powerful tool for well and reservoir characterization. Based on PTA data recorded from a well, an appropriate physics model may be identified and parameterized to obtain a PTA model that reflects the PTA data recorded from the well. Manually identifying a physics model, and parameterizing the physics model are tedious tasks.

SUMMARY

In general, in one or more aspects, the disclosure relates to a method including: obtaining query pressure transient analysis (PTA) data from a well associated with a reservoir; obtaining a selected class of physics models from a plurality of classes of physics models using a first machine learning model operating on the query PTA data, wherein a physics model in at least one of the plurality of classes of physics models comprises a well model and a reservoir model, and wherein the well model and the reservoir model are parameterized with model parameters having model parameter values; obtaining a plurality of model parameter value estimates to form a parameterized query physics model of the selected class of physics models, using a second machine learning model operating on the query PTA data; and providing the parameterized query physics model to a user.

Other aspects will be apparent from the following description and the appended claims.

DETAILED DESCRIPTION

In the following detailed description of embodiments of the technology, numerous specific details are set forth in order to provide a more thorough understanding. However, it will be apparent to one of ordinary skill in the art that various embodiments may be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description.

In general, embodiments of the disclosure use machine learning models to perform a well test analysis. A two-step approach relying on two separate machine learning models may be used for the well test analysis. In the first step, classes of physics models are suggested using a first machine learning model. The suggested classes of physics models are picked based on being potentially suitable to represent pressure transient analysis (PTA) data obtained from a well. In the second step, physics model parameters associated with the class of physics models identified in the first step are estimated using a second machine learning model. After completion of the two-step approach, a parameterized physics model, based on the PTA data obtained from the well, may be available for further analysis.

Turning now to the figures,FIG.1depicts a schematic view, partially in cross section, of an onshore field (101). Alternatively, there may be an offshore field. One or more of the modules and elements shown inFIG.1may be omitted, repeated, and/or substituted. Accordingly, embodiments should not be considered limited to the specific arrangement of modules shown inFIG.1.

As shown inFIG.1, the field (101) includes a geologic sedimentary basin (106), a wellbore (115), a data acquisition tool (125), and a well rig (135). The geologic sedimentary basin (106) contains subterranean formations. As shown inFIG.1, the subterranean formations may include several geological layers (106-1through106-6). As shown, the formation may include a basement layer (106-1), one or more shale layers (106-2,106-4,106-6), a limestone layer (106-3), a sandstone layer (106-5), and any other geological layer. The geologic sedimentary basin includes rock formations and may include at least one reservoir including fluids, for example the sandstone layer (106-5). The rock formations may include at least one seal rock, for example, the shale layer (106-6), which may act as a top seal. The rock formations may include at least one source rock, for example the shale layer (106-4), which may act as a hydrocarbon generation source. The geologic sedimentary basin (106) may further contain hydrocarbon or other fluids accumulations associated with certain features of the subsurface formations. For example, accumulation (108) associated with structural high areas of the reservoir layer (106-5) and containing gas, oil, water or any combination of these fluids. A data acquisition tool (125) may be positioned anywhere in the wellbore (115) to collect data such as pressure measurements from within the wellbore. Additional data being collected includes but is not limited to production rates. The collected data may be used for a well test analysis.

Well test analysis deals with understanding reservoir characteristics with principles of fluid flow in porous rock. Using well test analysis, various parameters associated with the well and/or the reservoir may be determined. Plots of pressure and the derivative of pressure against time may be used to perform a well test

analysis. To obtain data for the plots, a pressure transient analysis (PTA) may be performed, by pressurizing the well to be analyzed, shutting the well, and measuring the pressure over time (e.g. over hours, days, weeks, etc.). The PTA may provide information about well and reservoir performance (e.g., in the form of a permeability-thickness (KH value) and a skin factor (S value), hydraulic connectivity over a large volume, average reservoir pressure, etc.

FIG.2schematically shows a pressure transient analysis (PTA). In the PTA (200), query PTA curves (210) are used as an input to select a suitable class of physics models from classes of physics models (220). A suitable class of physics models is likely to be able to accommodate a physics model reflecting the query PTA curves (210), in contrast to other classes of physics models that are unlikely to be able to accommodate a physics model reflecting the query PTA curves (210). The query PTA curves may have been obtained from a well having been queried (i.e., a well from which pressure/pressure derivative measurements were obtained). To cover a variety of different well/reservoir/boundary combinations, physics models (222) may be organized in different classes of physics models (220). Each of the physics models in a class may be parameterized in a similar but not identical manner (e.g. having the same model parameters (discussed below), but parameter values that vary within a certain range), whereas physics models belonging to different classes may be parameterized differently (e.g., having different model parameters and/or different parameter values). For example, physics models in a class representing horizontal wells may be parameterized very differently than physics models in a class representing vertical wells. Accordingly, physics models in the same class may be associated with PTA curves that are more similar than PTA curves associated with physics models in different classes. However, in certain scenarios, the PTA curves may also be similar for physics models in different classes, which may result in a non-uniqueness of the problem associated with selecting a class of physics models. After the selection of a class of physics models, a physics model according to the selected class of physics models is parameterized to obtain a parameterized query physics model (230) that reflects the characteristics of the query PTA curves (210). The PTA (200) may involve three operational stages as follows.

In the first operational stage, in one or more embodiments, an identification of a class of physics models from multiple classes of physics models (220) based on the query PTA curves (210) is performed. The identification of the class of physics models may be considered an inverse problem. The physics model when executed (forward problem) outputs PTA data that may be displayed in the form of PTA curves. In contrast, in the inverse problem in (1), PTA curves serve as the input to select a suitable class of physics models from the classes of physics models (220). A physics model (222) may represent the overall behavior of a reservoir. The physics model (222) may use a physical description (e.g., type of rock, depth, pressure, size, type of fluid, fluid content etc.) to predict a dynamic behavior (e.g., pressure over time, in a PTA). A physics model may include multiple components. For example, a physics model may include a well model (224), a reservoir model (226), and/or a boundary model (228).

The well model (224) may capture near-wellbore effects that may vary from well to well. For example, the well model may establish whether the well is a horizontal or a vertical well, whether it has been fully completed, etc. Data points of the query PTA curves (210) captured during earlier times, may be associated with the near-wellbore effects.

The reservoir model (226) may capture the dynamic behavior of the reservoir. The dynamic behavior of the reservoir may be assumed to be identical for across the wells connected to the reservoir. For example, the permeability, which may depend on the type of rock in the reservoir may be part of the reservoir model (226). Data points of the query PTA curves (210) captured during middle times, may be associated with the dynamic behavior of the reservoir.

The boundary model (228) may capture the nature of reservoir boundaries (e.g., established by geological folds) that may be the same for the wells connected to the reservoir. The effect of the reservoir boundaries on the query PTA curves (210) may depend on the distance of the well from the reservoir boundaries. Data points of the query PTA curves (210) captured during late times, may be associated with the nature of the reservoir boundaries.

In the second operational stage, in one or more embodiments, the parameterized query physics model (230) is obtained by calculating parameters for a physics model according to the selected class of physics models. The parameterized query physics model (230), thus, includes a parameterized well model (232), a parameterized reservoir model (234), and a parameterized boundary model (236). The calculating of the parameters is considered forward or direct, because the calculating involves executing the physics model with sets parameters to output data for generating PTA curves.

The third operational stage includes the following. In one or more embodiments, the obtained parameterized query physics model (230) is verified. Simulated PTA curves may be generated based on the output of the parameterized query physics model (230) and compared to the PTA curves (210) obtained from the well. A good match between simulated PTA curves and the PTA curves associated with the well suggest that the parameterized query physics model (230) has been properly selected and parameterized. The quality of the match may be assessed, for example, using an error function. As further discussed below, machine learning methods may be used to assess the quality of the match.

A system for performing the above three operational stages is subsequently described. Following the description of the system, methods that implement the three steps are described.

FIGS.3,4,5, and6show diagrams of embodiments that are in accordance with the disclosure. The various elements, systems, and components shown inFIGS.3,4,5, and6may be omitted, repeated, combined, and/or altered as shown fromFIGS.3,4,5, and6. Accordingly, the scope of the present disclosure should not be considered limited to the specific arrangements shown inFIGS.3,4,5, and6.

FIG.3schematically shows a system for well test analysis, in accordance with one or more embodiments. The system (300) is shown in an inference configuration that includes two stages. The system (300) may reside on a computing system as described below inFIGS.10A and10B. Broadly speaking, in the first stage, a physics model is selected, and in the second stage, the selected physics model is parameterized. The first and the second stages operate on query data. The query associated with the query data may be for a well and a reservoir as previously described. In one or more embodiments, the system (300) includes machine learning models. A description of a system for training the machine learning models is provided below in reference toFIG.5.

Turning toFIG.3, the system (300) includes a repository (310), a physics model identification module (320), a parameter estimation module (330), and a user interface (340). The system also includes query data (302). Each of these components is subsequently described.

In one or more embodiments, the query data (302) includes query PTA data (304). The query PTA data (304), may be based on measurements obtained from a well and may include measurements of pressure over time, including derivatives of the pressure over time, as described in reference toFIG.1. The measurements may be displayed in a plot.

The query data (302) may further include known model parameters (306). The known model parameters may include parameters of the well and/or reservoir that are already known, e.g., as a result of measurements or based on the design of the well. Known model parameters may include, but are not limited to, well data (e.g., well geometry, radius, etc.), rock parameters associated with the reservoir (e.g., thickness, porosity, compressibility, etc.), fluid parameters associated with the well (e.g., viscosity, formation volume factor, etc.).

In one or more embodiments, the query data (302) is an input to the physics model identification module (320). The query data (302) may be provided by a user, or the query data may be retrieved from a repository.

The repository (310), in one or more embodiments, stores a set of physics models (314). The repository (310) may be any type of repository suitable for storing the set of physics models (312). The repository (310) may reside in a non-volatile memory and/or in a volatile memory. Each physics model of the set of physics models (314) may include a well model, a reservoir model, and/or a boundary model, as previously described in reference toFIG.2. The well model, the reservoir model, and/or the boundary model are parameterized using model parameters (316). Each model parameter may have a corresponding parameter value. Some model parameters may be considered known model parameters, i.e., model parameters with known parameter values. The known model parameters may be obtained from various sources such as well logs, fluid analyses, drilling reports, etc. An estimation of the known parameter values for the known model parameters is, thus, not necessary. When performing parameter estimations, as described below, the known parameter values may serve as inputs to the physics model used in the parameter estimation. Each of the physics models (314) may be associated with PTA curves, and each of the physics models may have been obtained from wells/reservoirs that previously underwent a PTA analysis. To cover a variety of different well/reservoir/boundary combinations, the physics models (314) may be organized into classes of physics models (312). The physics models (314) may be organized, for example, into fourteen classes of physics models. As described in reference toFIG.2, physics models in the same class tend to parameterized in a similar but not identical manner, whereas physics models in different classes tend to be parameterized differently.

The physics model identification module (320), in one or more embodiments, operates on the query data (302) to select suggested classes of physics models (324) from the classes of physics models (312), based on whether the classes of physics models (312) have a high probability of being good candidates for accommodating a physics model associated with the query data (302). In one or more embodiments, the physics model identification module relies on a machine learning model (322), which assess each of the classes of physics models (312) based on probabilities of the classes being able to accommodate a physics model associated with the query data (302). The physics model identification module (320) may rank the classes of physics models (312), based on probability values computed for the classes of physics models. A probability value may be computed for each of the classes of physics models (312) by the machine learning model (322). Suggested physics models (324) with a high probability value may be provided to a user interface (340), enabling the user to pick a selected physics model (326) from the suggested physics models (324). The operations performed by the physics model identification module (320) are described below in reference to the flowchart ofFIG.7. In one or more embodiments, the machine learning model (322) has been previously trained. The system used for training is described below in reference toFIG.5. Further, the operations performed for the training are described in reference to the flowchart ofFIG.8. The machine learning model (322) is described in reference toFIGS.4and5.

The parameter estimation module (330), in one or more embodiments, operates on the selected class of physics models (326) to obtain model parameter value estimates (334) for a physics model according to the selected class of physics models (326). In one or more embodiments, a machine learning model (332) is used to obtain the model parameter value estimates (334). The model parameter value estimates (334) are for a physics model according to the selected class of physics models (326). A parameterized query physics model (342) may be obtained using the model parameter value estimates (334). The parameterized query physics model (342) may produce simulated PTA data (344) that matches the query PTA data (304) to a desired degree, when executing the machine learning model (326) using the model parameter value estimates (334). Further, the simulated query PTA data (344) may also be similar to PTA data associated with other physics models in the selected class (i.e., more similar in comparison to PTA data associated with physics models in other classes). The operations performed by the parameter estimation module (330) are described below in reference to the flowchart ofFIG.7. In one or more embodiments, the machine learning model (332) has been previously trained. The system used for training is described below in reference toFIG.5. Further, the operations performed for the training are described in reference to the flowchart ofFIG.8. The machine learning model (332) is described in reference toFIGS.4and5.

The user interface (340), in one or more embodiments, provides the user of the system (300) with the model parameter value estimates (334) for a physics model associated with the selected class of physics models (326). In other words, the user interface (340) may provide a parameterized query physics model (342). The user interface may accept input by the user, for example, updated parameter values of the parameterized query physics model (342), tweaked by the user. A parameterized query physics model (342) may later become part of the training data for training the machine learning models (322,332), as discussed below. Accordingly, the expertise of the user tweaking the parameterized query physics model (342) may potentially result in improved performance of the machine learning models (322,332).

The user interface (340) may also provide data visualizations to the user. For example, the user interface may display the query PTA data (304), e.g., in the form of a plot. The user interface may also display the simulated query PTA data (344), e.g., in the form of a plot. The simulated query PTA data (344) and the query PTA data (304) may be shown in the same plot, allowing a user to assess the parameterized query physics model based on the goodness of fit. The user interface may be a local or remote interface. If remote, the display may be transmitted for display on a user's local device.

The user interface may further allow the user to pick the selected class of physics models (326) from the suggested classes of physics models (324). The involvement of the user in picking the selected class of physics models (326) may be beneficial because of the non-uniqueness of the problem associated with identifying a physics model including model parameter estimates. For example, a first physics model parameterized with a first set of model parameter estimates may produce first simulated PTA data. A second physics model parameterized with a second set of model parameter estimates may produce second simulated PTA data. Both the first and the second simulated PTA data may match the query PTA data to a reasonable degree. Yet, one of the two selected models may not properly reflect the actual physics of the well/reservoir/boundaries. A user may rule out the incorrect physics model, based on, for example, expertise, background knowledge, trial and error, etc., by picking the selected class of physics models (326) from the suggested classes of physics models.

As previously noted, the system (300) relies on machine learning models (322,332). In one or more embodiments, the machine learning models (322,332) are based on Siamese neural networks. The following description is for Siamese neural networks in general, but also includes a discussion of the specific implementation in the machine learning models (322,332). Other neural networks, different from Siamese neural networks, may be used, without departing from the disclosure.

Turning toFIG.4, the Siamese neural network (400) generates result outputs that identify the similarity between input 1 (454) and input 2 (456) using multiple layers. The Siamese neural network (400) may include the input layer (452), a convolutional neural network (CNN) (462), a long short-term memory (LSTM) (464), a duplicate convolutional neural network (CNN) (472), a duplicate long short-term memory (LSTM) (474), the distance layer (482), and the output layer (484).

The input layer (452) receives the inputs for the Siamese neural network (400), which include input 1 (454) and input 2 (456). Depending on how the Siamese neural network (400) is trained (as discussed below), the Siamese neural network (400) may be used to implement machine learning model 1 (322) and machine learning model 2 (332), inFIG.3. Accordingly, what input 1 (454) is, and what input 2 (456) is, depends on whether the Siamese neural network (400) is operating as machine learning model 1 (322) or machine learning model 2 (332).

When the Siamese neural network is configured to operate as machine learning model 1 (322), input 1 (454) may be the query PTA data (304), and input 2 (456) may be simulated PTA data produced by one of the physics models (314) in a class of physics models (312) (or vice versa). In this configuration, the output of the Siamese neural network (400) may be a probability indicating the likeliness that the query PTA data (304) is represented by the physics model in the class of physics models (312) with a desired accuracy.

When the Siamese neural network is configured to operate as machine learning model 2 (332), input 1 (454) may be the query PTA data (304), and input 2 (456) may be simulated PTA data produced by a physics model according to the selected class of physics models (326) parameterized using a set of parameters (or vice versa). In this configuration, the output of the Siamese neural network (400) may be a probability indicating the likeliness that the query PTA data (304) is properly represented by the model parameter value estimates applied to a physics model according to the selected class of physics models (326).

The CNN (462) may operate on the input (454) to extract features. The LSTM (464) may operate on the output of the CNN (462) to aggregate the extracted features, thereby mapping the input 1 (454) to a vector.

The duplicate convolutional neural network (472) is the same as the convolutional neural network (462). The duplicate convolutional neural network (462) has the same number and type of layers with the same weights as the convolutional neural network (462). The input to the duplicate convolutional neural network (472) is input 2 (456).

The distance layer (482) generates a value that identifies a distance between the outputs of the LSTM (464) and the duplicate LSTM (474). A number of different distance functions may be used. An equation below is an example which may be used to identify the distance between outputs of the LSTM (464) and the duplicate LSTM (474).

The equation above takes the mean of the absolute value of the differences between the output of the LSTM (464), represented as X1, and the output of the duplicate LSTM (474), represented as X2, to generate a single scalar value in the interval of [0, +∞).

The output layer (484) generates the output of the Siamese neural network (400) from the output of the distance layer (482). An equation below is an example which may be used to generate the output, which is within the interval (0, 1] and may be a single probability value of one dimension.

FIG.5schematically shows a system for well test analysis, in accordance with one or more embodiments. The system (500) is shown in a training configuration for training the machine learning models (532,534). Once trained, the machine learning models (532,534) may be used by the system (300) ofFIG.3as the machine learning models (322,332). The system (500) includes a repository (510), a sampling module (520), and a machine learning training module (530). Each of these components is subsequently described.

The repository (510) may be similar to the repository (310) ofFIG.3and may store physics models (514) and model parameters (516) including associated parameter values, organized by classes of physics models (512). The data in the repository may have been obtained from previously conducted well test analyses and may be used to generate training data for the training of the machine learning models (532,534), as described below. The repository may further include PTA data (518) associated with the physics models (514). The PTA data may be recorded and/or forward-simulated.

The sampling module (520), in one or more embodiments, provides a data generator framework that generates synthetic training data for machine learning model learning based on a sampling of the physics models (514), and a sampling of the model parameters (516). The sampling module (520), thus, provides the labeled samples needed for training the machine learning models (532,534). As previously discussed in reference toFIG.4, the machine learning models (532,534) provide estimates for similarity. To provide such estimates, a large amount of labeled training data may be often used. Because collecting manually labeled data is laborious, costly and time consuming, a self-supervised learning strategy is used, in accordance with one or more embodiments. The self-supervised learning strategy involves synthetically generating labels through data transformations to enable subsequent supervised training.

A design of experiments (DOE)-based approach is adopted utilizing the physics models for well, reservoir and boundary types. In the DOE-based approach, various shapes of PTA curves are generated by sampling across physics models and model parameters. The DOE-generated curves are used as training data by the machine learning model training module (530). Using the DOE-based approach, positive and negative pairs of training samples (in the form of the DOE-generated curves) are obtained. A different type of sampling is performed to generate training data (522) for training machine learning model 1 (532) and to generate training data (524) for training machine learning model 2 (534).

Training data (522) for the training of the machine learning model 1 (532) may be obtained as follows. First, for a randomly chosen class of physics model, PTA data is randomly selected. A transformation such as compression/expansion and/or adding zero mean Gaussian noise to the PTA data may be performed, and a positive training pair may be formed with a second set of PTA data obtained in the same manner, from the same class. A negative training pair may be formed by randomly choosing two PTA responses from different classes. The selection of positive and negative training pairs may be repeated many times to generate a sufficient amount of training data.FIG.8further illustrates the obtaining of training data, and the training itself.

Training data (524) for the training of the machine learning model 2 (534) may be obtained analogous to how the training data (522) is obtained. However, the sampling is performed within classes of physics models. Accordingly, separate training data (524) may be obtained for the different classes of physics models. For a given class of physics model, PTA data is randomly selected by sampling model parameters, such as permeability, horizontal well length, skin factor, distance to the boundary, etc. Corresponding PTA curves are generated.

The machine learning model training module (530), in one or more embodiments, trains machine learning model 1 (532), and machine learning model 2 (534), using training data 1 (522) and training data 2 (524), respectively. The elements of the machine learning model training module (530) are subsequently describe in reference toFIG.6.

Turning toFIG.6, a training configuration (602) is shown. The training configuration (602) may be applicable to the training of machine learning model 1 (632) and machine learning model 2 (634) inFIG.6. Whether the training configuration (602) is used for the training of machine learning model 1 (632) or machine learning model 2 (634) depends on the training data (604), which may be either training data 1 (522) or training data 2 (524) inFIG.5. In one or more embodiments, the training configuration (602) trains the Siamese neural network (616) to recognize the similarity between the PTA data (606) and the positive PTA data (612) and to differentiate the PTA data (606) from the negative window (614).

The training data (604) includes PTA data including pressure measurements over time and the derivative of the pressure measurements over time. The training data (604) is generated as described in reference toFIG.5. The training data (604) may be based on historical PTA data stored in a repository that maintains multiple well logs from multiple wells.

The PTA data (606) is selected from the training data (604). The training configuration (602) may iterate through the training data (604) as described in reference toFIG.5, to train the Siamese neural network (616) with individual PTA data selected from the training data (604).

The transform (608) may be applied to the PTA data (606) to generate the positive PTA data (612). The transform (608) may modify the data from the PTA data (606) by resampling, resizing, realigning, adding noise, etc. to generate the positive PTA data (612).

For the negative PTA data (614), PTA data that is different from the PTA data (606) may be selected from the training log (404) as described in reference toFIG.6. The transform (610) may be applied to generate the negative PTA data (614). The transform (610) may modify the data from the training data (604) by resampling, resizing, realigning, adding noise, etc. to generate the negative PTA data (614).

The Siamese neural network (616) receives the PTA data (606). The Siamese neural network (616) also receives one of the positive PTA data (612) and the negative PTA data (614). The Siamese neural network (616) generates an output from the PTA data (606) and the positive or negative PTA data (612or614). The Siamese neural network output indicates the similarity between the PTA data (606) and the positive or negative PTA data (612or614).

The loss function (618) compares the Siamese neural network output to a label assigned to the positive or negative PTA data (612or614). For the positive PTA data (612), the label may be “1” or true. For the negative PTA data (614), the label may be “0”. Backpropagation may be used to update the Siamese neural network (616) based on the difference between the Siamese neural network output and the label.

FIG.7andFIG.8show flowcharts of the inference process (700) and the training process (800), respectively, in accordance with the disclosure. While the various blocks in the flowcharts are presented and described sequentially, one of ordinary skill will appreciate that at least some of the blocks may be executed in different orders, may be combined or omitted, and at least some of the blocks may be executed in parallel. Furthermore, the blocks may be performed actively or passively. For example, some blocks may be performed using polling or be interrupt driven. By way of an example, determination blocks may not have a processor process an instruction unless an interrupt is received to signify that condition exists. As another example, determinations may be performed by performing a test, such as checking a data value to test whether the value is consistent with the tested condition.

Turning toFIG.7, the inference process (700) relies on machine learning framework to perform a well test interpretation. Generally speaking, query PTA data is fed into trained machine learning models to identify a suitable class of physics models and to obtain model parameter value estimates for a physics model according to the class of physics models, based on the PTA data.

In Block702, query PTA data is obtained, as previously described. The obtaining of the query PTA data may include additional operations such as pre-processing the query PTA data, including smoothening, denoising, etc.

In Block704, known model parameters are obtained. Known model parameters may include any information to be used to identify and/or parameterize a physics model. Known model parameters may include, for example, well data (radius, geometry), rock parameters (thickness, porosity, compressibility), and/or fluid parameters (viscosity, formation volume factor), etc. Known model parameters may be obtained from various external sources such as well logs, fluid analyses, drilling reports, etc.

In Block706, a set of suggested classes of physics models is selected from classes of physics models. The classes of physics models may be located in a repository. Any number of classes of physics models may exist (e.g., fourteen classes) that have been established based on, for example, well model, reservoir model, and boundary model characteristics.

In one or more embodiments, the suggested classes of physics models are selected using a machine learning model (machine learning model 1 (322) inFIG.3). The machine learning model may have been trained as described below in reference toFIG.7. The machine learning model used to perform the operations of Block706may be a Siamese neural network as described in reference toFIGS.4and5.

A suggested class of physics model may be selected as follows. Assume that each class of physics models includes multiple physics models, each associated with PTA data. The Siamese neural network may perform a comparison of each of the PTA data of the physics models with the query PTA data. The best match is identified. When performing these operations for each class of physics models, a best match is available for each class of physics models. Subsequently, the best matches of the classes of physics models are ranked, from highest degree of match to lowest degree of match. The classes of physics models associated with the highest ranking may be picked as the suggested classes of physics models. A fixed number of classes may be picked, or classes with a match exceeding a specified threshold may be picked.

In Block708, the suggested classes of physics models are provided to the user via a user interface.

In Block710, a selected class of physics models is obtained. The selection may be made by the user picking one of the suggested classes of physics models, in the user interface. The user interface detects a selection of the class.

Blocks708and710may be omitted in a system configured to provide one suggested class of physics models.

The model parameter value estimates may be obtained as follows. Within the selected class of physics models, physics models including model parameter values may be selected for comparison by the Siamese neural network. The Siamese neural network may perform the comparison of the query PTA data with each of the PTA data associated with the physics models belonging to the selected class. The best match is identified. The model parameter values associated with the physics model that produced the best match are used as the model parameter value estimates. The known model parameters, obtained by the operations of Block704, may serve as inputs to the model parameter value estimation.

In Block714, the model parameter value estimates are provided to the user, e.g., in a user interface. As discussed in reference toFIG.3, the user may tweak the model parameter values as desired. Through forward simulation, the user may see the effect of the tweaking, e.g., in a plot of the simulated query PTA data. Eventually, the user may decide to store the resulting physics model in the repository. Future training of the machine learning algorithms may then be performed under consideration of the newly added physics model.

Turning toFIG.8, the training process (800) is used to obtain the machine learning models required for the execution of the inference process (800) ofFIG.8. The training process (800) may be performed prior to a first execution of the inference process (800), and/or when new training data becomes available (e.g., after the user tweaks model parameters for a physics model established based on newly obtained query PTA data. The flowchart ofFIG.8summarizes the operations previously described with reference toFIGS.5and6.

In Block802, historical data is obtained. The historical data includes PTA data. The historical data is labeled and may have been obtained using the inference process (800) or other methods. For each set of PTA data, the class of physics model and the model parameters are known.

In Block804, the historical data is sampled to obtain training data. The sampling is performed using a design of experiments (DOE)-based approach, previously described in reference toFIG.6. The sampling is different, depending on whether the machine learning model for physics model classification (machine learning model 1 (632)) or the machine learning model for parameter estimation (machine learning model 2 (634)). Specifically, a well, reservoir and boundary type-sampling is performed across the different classes of physics models to obtain training data for the training of machine learning model 1 (632), suitable for physics model classification. A parameter-type sampling is performed within classes of physics models to obtain training data for the training of machine learning model 2 (634), suitable for parameter estimation. Based on the sampling, various shapes of PTA curves (PTA data) are generated using forward simulation.

In Blocks806and808, the machine learning models 1 and 2 (632,634) are trained to predict suggested classes of physics models, based on the training data obtained by the sampling of Block804. Broadly speaking, the PTA data to be used as training data, obtained in Block804may undergo additional processing to generate positive and negative PTA data. Next, the Siamese neural network is trained using the PTA data, the positive PTA data, and the negative PTA data. The training may be performed using backpropagation with the convolutional network and the duplicate convolutional network receiving similar updates, and the long short-term memory and the duplicate long short-term memory receiving similar updates. The updates may be backpropagated to the convolutional neural network and the long short-term memory, and the weights of the convolutional neural network and the long short-term memory may be copied to the duplicate convolutional neural network and the duplicate long short-term memory, respectively. Additional details are provided in the description ofFIGS.5and6. As previously noted, different machine learning models may be used for the different classes of physics models. Accordingly, the training may be performed for multiple machine learning models 2 (634) to perform parameter value estimations for the different classes of physics models.

Turning toFIGS.9A and9B, examples in accordance with disclosed embodiments are shown. The examples (900,950) ofFIGS.9A and9Bshow PTA curves (pressure, pressure derivative) associated with suggested classes of physics models, in comparison to the query PTA data. Such curves may be provided to the user to enable the user to pick a selected class of models. In the examples ofFIGS.9A and9B, the left top graph is for the query data. The other graphs show the PTA curves associated with the suggested physics models, ranked from1to5. InFIG.9A, the query PTA data is synthetic, whereas inFIG.9B, the query PTA data is the recorded well test response.

For a given well test response (FIG.9B, left top graph), the examples are based on similarity scores that are computed against the candidates in each class of physics models, resulting in the ranking as shown. Experimental analysis indicates that the true model class frequently appeared in the top ranked classes. Embodiments of the disclosure have been found to achieve an accuracy of 97% for top-3 model recommendations when tested on 70 samples from14classes of physics models.

Embodiments of the disclosure provide a methodology to determine a conceptual reservoir model from PTA data in an automated manner Manually diagnosing the well can be challenging to the interpreter because of the many possible well behaviors during early, middle and late times of the PTA data, and due to the non-uniqueness of the solution, thereby resulting in potential confusion and erroneous choices of models. Accordingly, when manually performed, the quality of the analysis highly depends on the experience of the interpreter.

Embodiments of the disclosure provide a recommendation of well testing model classes, based on query PTA data, in an automated manner. The interpreter (e.g., an engineer or other user) can visually validate the recommendations based on similarity-based rankings. Embodiments of the disclosure, thus, support the interpreter with the challenge to diagnose a well (by determining a physics model and the model parameters) from the observed well behavior. Embodiments of the disclosure therefore accelerate well test analysis and improve reliability.

Embodiments disclosed herein may be implemented on a computing system. Any combination of mobile, desktop, server, router, switch, embedded device, or other types of hardware may be used. For example, as shown inFIG.10A, the computing system (1000) may include one or more computer processors (1002), non-persistent storage (1004) (e.g., volatile memory, such as random access memory (RAM), cache memory), persistent storage (1006) (e.g., a hard disk, an optical drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a flash memory, etc.), a communication interface (1012) (e.g., Bluetooth interface, infrared interface, network interface, optical interface, etc.), and numerous other elements and functionalities.

The computer processor(s) (1002) may be an integrated circuit for processing instructions. For example, the computer processor(s) may be one or more cores or micro-cores of a processor. The computing system (1000) may also include one or more input devices (1010), such as a touchscreen, keyboard, mouse, microphone, touchpad, electronic pen, or any other type of input device.

The communication interface (1012) may include an integrated circuit for connecting the computing system (1000) to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, mobile network, or any other type of network) and/or to another device, such as another computing device.

Further, the computing system (1000) may include one or more output devices (1008), such as a screen (e.g., a liquid crystal display (LCD), a plasma display, touchscreen, cathode ray tube (CRT) monitor, projector, or other display device), a printer, external storage, or any other output device. One or more of the output devices may be the same or different from the input device(s). The input and output device(s) may be locally or remotely connected to the computer processor(s) (1002), non-persistent storage (1004), and persistent storage (1006). Many different types of computing systems exist, and the aforementioned input and output device(s) may take other forms.

The computing system (1000) inFIG.10Amay be connected to or be a part of a network. For example, as shown inFIG.10B, the network (1020) may include multiple nodes (e.g., node X (1022), node Y (1024)). Each node may correspond to a computing system, such as the computing system shown inFIG.10A, or a group of nodes combined may correspond to the computing system shown inFIG.10A. By way of an example, embodiments of the technology may be implemented on a node of a distributed system that is connected to other nodes. By way of another example, embodiments of the technology may be implemented on a distributed computing system having multiple nodes, where each portion of the technology may be located on a different node within the distributed computing system. Further, one or more elements of the aforementioned computing system (1000) may be located at a remote location and connected to the other elements over a network.

The nodes (e.g., node X (1022), node Y (1024)) in the network (1020) may be configured to provide services for a client device (1026). For example, the nodes may be part of a cloud computing system. The nodes may include functionality to receive requests from the client device (1026) and transmit responses to the client device (1026). The client device (1026) may be a computing system, such as the computing system shown inFIG.10A. Further, the client device (1026) may include and/or perform all or a portion of one or more embodiments of the technology.

The above description of functions presents a few examples of functions performed by the computing system ofFIG.10Aand the nodes and/or client device inFIG.10B. Other functions may be performed using one or more embodiments of the technology.