Patent ID: 12234714

DETAILED DESCRIPTION

FIG.1illustrates an example method100of cleansing drilling data in accordance with the present invention. Method100may begin with a data merge step110in which collected sensor readings are merged to synchronize measurements based upon time and/or depth. The sensor readings merged in step110may be previously collected sensor readings and/or sensor readings collected in substantially real time.

A preprocessing step120may be performed upon the collected sensor readings. The preprocessing step may identify missing data and/or identify data outliers. Missing data identified in step120may indicate that a sensor is off-line and/or the sensor reading could not be collected for whatever reason. Rather than erroneously attributing a value, such as zero, to missing sensor readings, preprocessing step120may identify those sensor reading gaps and eliminate those gaps from the data set. Preprocessing step120may further identify outliers in the sensor readings collected in step110. Outliers identified in step120may comprise, for example, physically impossible sensor readings and/or readings that are clearly impossible based upon historical trends of that or other sensors and/or contemporaneous readings of related sensors.

Method100may proceed to validation step130. In validation step130the merged and preprocessed data may be validated to identify erroneous sensor readings using a Bayesian network model, one example of which is further described herein. Validation step130may determine the trustworthiness of sensor readings and, if necessary, adjust the readings for modeling purposes to avoid inaccurate conclusions based upon those readings.

Method100may proceed to repopulation step140. In repopulation step140probabilistically derived values may be substituted for erroneous sensor readings identified in validation step130. Repopulation step140may replace the erroneous sensor readings with estimates derived from historical and/or contemporaneous sensor readings. Examples of methods that may be used to derive data for use in repopulation step140for different types of sensors are described further below.

FIG.2illustrates an exemplary holistic Bayesian network that may be used in accordance with the present invention to aggregate sensor readings from multiple sources into a model that combines real time sensor data, morning report data, other historical sensor data, and/or well plan data. Sensor readings that are validated and cleansed in accordance with the present invention using the holistic Bayesian network200illustrated inFIG.2may comprise reading from any sensor used to monitor and/or measure the performance of a drilling operation. For example, sensor measurements and/or data derived from sensor measurements that may be cleansed in accordance with the present invention may comprise total pump output data (i.e., pump strokes per minute), top drive/rotary table torque data, top drive/rotary table speed data, mud pit volume data, flow in data, flow out data, hook load data, standpipe pressure data, and/or block position data. The general use of a Bayesian network model for drilling rig sensor modeling is described in U.S. patent application Ser. No. 13/402,084, entitled “Distinguishing Between Sensor and Process Faults in a Sensor Network with Minimal False Alarms Using a Bayesian Network Based Methodology,” and U.S. patent application Ser. No. 14/017,430, entitled “Presenting Attributes of Interest in a Physical System Using Process Maps Based Modeling,” both of which are incorporated by reference herein. The holistic Bayesian network200illustrated inFIG.2provides interconnected nodes corresponding to drilling properties and/or drilling sensor measurements. The various parameters and measurements of a drilling operation are interrelated, and, correspondingly, each node of the holistic Bayesian network200probabilistically interacts with at least one other node. While holistic Bayesian network models other than the model200illustrated inFIG.2may be used in systems and methods in accordance with the present invention, model200is illustrated herein for exemplary purposes. In the model200depicted inFIG.2, fifty-eight exemplary nodes are provided, wherein the identifier “RT” stands for real-time data, “MR” stands for morning report data, and “Calc” refers to parameters that are calculated but not directly measured:

ReferenceNode201Previous hole depth (RT)202Pump 1 liner size (MR)203Pump 1 stroke length (MR)204Pump 1 efficiency (MR)205Pump 2 liner size (MR)206Pump 2 stroke length (MR)207Pump 2 efficiency (MR)208Pump 1 strokes per minute (RT)209Pump 1 total strokes previous (RT)210Pump 2 total strokes previous (RT)211Block weight (MR)212Pump 2 strokes per minute (RT)213Drill collar 1 unit weight (MR)214Previous block height (RT)215Previous bit depth (RT)216Bottom-hole assembly length (MR)217Drill collar 1 length (MR)218Mud weight (MR)219Total pump output (RT)220Pump 1 total strokes (RT)221Pump 2 total strokes (RT)222Drill collar 2 unit weight (MR)223Block height (RT)224Total drill collar length (Calc)225Bit nozzle total flow area (MR)226Total mud volume previous (RT)227Heavy weight drill pipe unit weight (MR)228Bit depth (RT)229Drill pipe friction (Calc)230Flow out rate (RT)231Total mud volume (RT)232Surface RPM (RT)233Hole depth (RT)234Drill pipe unit weight (MR)235Drill string weight (Calc)236Bit pressure drop (Calc)237Drill collar 1 friction (Calc)238Heavy weight drill pipe friction (Calc)239Total frictional pressure drop (Calc)240Differential pressure (RT)241Non-magnetic drill collar length (MR)242Plastic viscosity (MR)243Heavy weight drill pipe length (MR)244Yield point (MR)245Drill collar 2 friction (Calc)246Standpipe pressure (RT)247Drill pipe inner diameter (MR)248Surface torque (RT)249Hook load (RT)250Drill collar 2 inner diameter (MR)251Drill collar 1 inner diameter (MR)252Drill collar 2 outer diameter (MR)253Drill collar 1 outer diameter (MR)254Heavy weight drill pipe outer diameter (MR)255Heavy weight drill pipe inner diameter (MR)256Bit size (MR)257Drill pipe outer diameter (MR)258Weight on bit (RT)

When measuring parameters descriptive of the operation of a drilling rig, a sensor measurement may be described in terms of both accuracy and precision. Both accuracy and precision may be considered in validating sensor measurements (for example, in step130of exemplary method100). The accuracy of a measurement is a measure of the closeness of the measurement to the actual value being measured. The precision of a measurement is descriptive of the confidence of the measurement, such as how likely the measurement is to be within a given range. The accuracy and/or precision of a sensor may be obtained through calibration, manufacturer data, and/or experience through use of the sensor in conjunction with other sensors having known precision and/or accuracy.FIG.3illustrates an example of a relationship between the accuracy and precision of a hypothetical sensor measurement. The model estimated value (for example, from a holistic Bayesian network model, such as shown in the example ofFIG.2) may be compared to received sensor data to identify a sensor fault. An upper bound, designated UB, and a lower bound, designated LB, may be used to identify sensor readings falling outside of the expected range of measurements given a sensor with known accuracy and precision. If the accuracy of a sensor is designated A and the precision of the sensor is designated P, a sensor reading may be identified as faulty if the reading falls outside of the range:

sensor⁢reading+A+P2≥model⁢LBsensor⁢reading-A-P2≤model⁢UB

The example ofFIG.4shows a system400wherein a model450operates as a function of a measured parameter, denoted x, which has a measured value and an uncertainty associated with that measured value. The uncertainty of a sensor measurement may depend upon the nature of the sensor itself and the conditions in which the sensor is operating. An exemplary model450in accordance with the invention may receive one or more sensor value, each having an associated error, and use the model450to generate another value, designated y, with an associated error. In the example depicted inFIG.4, a model450receives a first sensor measurement410, a second sensor measurement420, and a third sensor measurement430and applies the model450to yield a resulting value y460.

Referring now toFIG.5, an example of a method500for identifying sensor faults in accordance with the present invention is illustrated. Method500may be used, for example, as part of a validation step130of method100described above with regard toFIG.1.

Method500ofFIG.5may start505and initiate a Bayesian network model510. The Bayesian network model initiated in step510may comprise, for example, the holistic Bayesian network model200depicted inFIG.2, a similar Bayesian network model, or a different Bayesian network model adapted to a particular rig configuration or situation.

Method500may then proceed to step515to determine whether a data stream is available for analysis. If no data stream is available for analysis, method500may proceed to stop in step585. If, however, a data stream is available to analyze, method500may proceed to step520. Step520may read data from real time sensor readings, morning report sensor readings of a historical nature, other historical sensor readings, and/or well plan information. Method500may then proceed to step525to preprocess the data to remove outliers, null and missing values, and the like, for example as described above in conjunction with preprocessing step120of method100described more fully in conjunction withFIG.1.

Method500may proceed to step530to identify the rig activity corresponding to the data being analyzed. Different rig activities may create the expectation that different sensor readings may be viable and valid. By accounting for the rig activity, the proper interpretation and the validation of the collected sensor data may be more readily assured. Accordingly, if method500proceeds to step535and determines that the current rig activity is undefined based on the available data, method500may return to step515to determine whether a proper data stream is available. On the other hand, if a valid rig activity (for example, drilling, making a connection, tripping in or out of a hole, circulating or conditioning the drilling mud) is determined in step535, method500may proceed to step540.

In step540, planned and unplanned events may be detected in the drilling process by automated software algorithms monitoring patterns in the real-time data. Examples of planned events may include starting/stopping the mud pumps, or removing/adding mud to the pits by the rig crew, while unplanned events may refer to influxes or losses of drilling mud to the formation, drillstring washouts, etc. The method500may then proceed to step545to update the Bayesian network model based on the rig activity or event defined. Method500may then proceed to step550to determine whether there are missing or outlier sensor readings. If the conclusion is that there are missing or outlier sensor readings, method500may proceed to step555to remove the nodes representing the sensors with the missing or outlier data from the Bayesian network model and update the Bayesian network model. If the conclusion of step550is that no sensor readings are missing or outliers, or after the conclusion of step555of removing from the model any sensors that have missing or outlier data, method500may proceed to step560. Step560may evaluate an instantiation table for a Bayesian network model, such as the exemplary holistic Bayesian network model200described above with regard toFIG.2, and calculate sensor and process beliefs using the Bayesian network model. Method500may then proceed to step565to use an automated pattern recognition technique, such as a neural network or support vector machine, to identify faulty sensors or processes based on the collected and modeled sensor readings. If no sensor or process faults are identified in step570, method500may return to method515to incorporate new sensor data. If the conclusion of step570is that faults have been detected in one or more sensor or process, method500may proceed to step575to temporarily remove the faulty sensors from the Bayesian network model and to update the holistic Bayesian network model. After the update of step575, method500may proceed to step580to use the model estimated value, described more fully below, to cleanse faulty sensor data. Method500may thereafter return to step515to re-iterate the process if a new data stream is available. The sensors removed in steps555and575may be periodically re-evaluated to determine if a missing, outlier or other faulty condition is present, and if that is no longer the case, those sensor nodes may be re-entered into the Bayesian network model. The re-evaluation of sensors removed from the model may be performed by the automated software at a fixed time interval, for example every 30 minutes, or after a change in rig state. In some examples, the sensor re-evaluation may additionally be done manually by a human operator, who, upon inspecting the sensor in question and confirming the presence of the fault, can take remedial actions such that the faulty condition is resolved.

Referring now toFIG.6, an example of a method600to identify faults in drilling rig sensors is illustrated. Method600may start610and proceed to step620of developing a Bayesian network model for the sensor superset. Step620may use a holistic Bayesian network model, such as the example Bayesian network model described above and illustrated inFIG.2. Step620may use historical drilling data and/or planning data to create the network model. Step620may be performed for a specific drilling rig or may be performed generally for drilling rigs of a particular type and/or configuration. Method630may generate a local instance of the Bayesian network model, for example for use in conjunction with the drilling rig being monitored by the sensors providing measurements that may be cleansed by method600. Step640may generate an instantiation table to represent, for example, the weights between different links within the model, those weights being representative of the probabilistic relationships between the nodes of the network model (the nodes themselves representative of different sensors and/or drilling properties). Method600may then proceed to step650to generate theoretical belief patterns for combinations of different sensors or processes that exhibit faults. The belief patterns generated in step650may be used to identify faults in sensor readings collected and may be updated as additional data is collected. Method600may then stop in step660.

FIG.7illustrates an example of a method700to cleanse data from some types of drilling rig sensors. Method700may be particularly useful for cleansing data from flow out sensors, total pump output/flow in sensors, standpipe pressure sensors, and/or mud pit volume sensors, but method700is not limited to use with any particular type of sensor or measurements. Method700may start710to determine whether a sensor is faulty. Step710may be performed using a holistic Bayesian network, such as the example described above and illustrated in the example ofFIG.2.

If the sensor is determined to be faulty in step720, method700may proceed to step730to determine whether a model value for a sensor reading is available. If a model value for the faulty sensor is available, that model value may be used as the cleansed sensor value in step750. If, however, the outcome of step730is that no model value is available for the faulty sensor, method700may proceed to step740to remove the faulty sensor reading from the data used for monitoring.

Still referring toFIG.7, if the outcome of step720is to conclude that the sensor is not faulty, method700may proceed to step760to determine whether a model value is available for that sensor. If no model value is available for that sensor, the model value for future use may be set as the sensor (non-faulty) value in step780. If the conclusion of step760is that a model value is available, the model value may be updated by setting the new cleansed value as the average of the current (non-faulty) sensor value and the model value.

Referring now toFIG.8, a further exemplary method800for cleansing sensor readings is illustrated. Method800may be particularly useful for cleansing measurements received from hook load sensors and torque sensors, but method800is not limited to any particular type of sensor. Method800may start810and determine whether a sensor is faulty in step820. If the sensor is not faulty, method800may proceed to step860to determine whether a model value is available for that sensor for future purposes. If no model value is available for that sensor, method800may proceed to step880to set the cleansed value as equal to the (non-faulty) sensor value. If, however, the conclusion of step860is that a prior model value is available, method800may proceed to step870to set the cleansed value as equal to the existing model value.

Still referring to the method800and the example ofFIG.8, if the outcome of step820is to conclude that the sensor is faulty, method800may proceed to step830to determine whether a model value is available to replace the value reported by the faulty sensor. If no model value is available, method800may proceed to step840to remove the faulty sensor data. If, however, the result of step830is that a model value is available for the sensor, method800may proceed to step850to set the cleansed value for the sensor as equal to the model value.

Referring now toFIG.9, a further example of a method900in accordance with the present invention for cleansing sensor data is illustrated. Method900depicted in the example ofFIG.9may be particularly useful for cleansing block height sensor data, but method900is not limited to use with any particular type of sensor or data. Method900may begin905and proceed to step910to determine whether a sensor is faulty. If the conclusion of step910is that the sensor is not faulty, method900may proceed to step940to determine whether a model value is available for that sensor. If no model value is available for that sensor, step950may set the cleansed value for future use as the (non-faulty) measured sensor value. If, however, the outcome of step940is to conclude that a model value is available, the cleansed value for future use may be set as the model value in step945.

Still referring to method900depicted in the example ofFIG.9, if the conclusion of step910is that the sensor is faulty, method900may proceed to step915to determine whether a model value for that sensor is available. If the conclusion of step915is that a model value is available, method900may proceed to step920to set the cleansed value as equal to the model value. If the conclusion of step915is that no model value is available, method900may proceed to step925to determine whether a calibration value (zero offset value) obtained as a result of taring the sensor is available for that sensor. If the conclusion of step925is that a calibration value is available, method900may proceed to step930to set the cleansed value for the sensor as equal to the sensor value minus the calibration value. If the conclusion of step925is that no calibration value is available, method900may proceed to step935to remove the faulty sensor value from the data set.

Referring now toFIG.10, an example method1000for cleansing sensor data is illustrated. Method1000may be particularly useful for cleansing RPM sensors, but method1000is not limited to any particular type of sensor or data. Method1000may start1010and proceed to step1020to determine whether a sensor is faulty. If the conclusion of step1020is that the sensor is not faulty, method1000may proceed to step1060to set the cleansed value for future use as equal to the (non-faulty) sensor value. If the conclusion of step1020is that the sensor is faulty, method1000may proceed to step1030to determine whether the drill string is rotating, for example, by inspection of other sensor readings (such as top drive torque). If the conclusion of step1030is yes, the method1000may proceed to step1040to set the cleansed value as equal to a moving average of the sensor value. If the conclusion of step1030is that the drill string is not rotating, method1000may proceed to step1050to set the cleansed value equal as to zero.

Referring now to the example ofFIG.11, a user interface display1100illustrating sensor readings and cleansed sensor readings made in accordance with the present invention is illustrated. By cleansing sensor readings, a more consistent data trend and more realistic set of data points based upon sensor readings may be presented.

Systems and methods in accordance with the present invention may improve the data used for monitoring and modeling drilling rig performance. The systems and methods in accordance with the present invention may be applied to a variety of upstream exploration and production operations in oil and gas drilling, such as drilling operations, completions, hydraulic fracturing, and the like. The use of a Bayesian network model that aggregates real-time sensor data streams with daily operations reports and/or well planning information provides the ability to identify faulty sensor readings from the dataset used to make decisions regarding drilling operations, rather than merely identifying and removing sensor readings that are missing or obvious outliers. Rather than merely removing missing and outlier sensor readings, systems and methods in accordance with the present invention identify sensor readings that are inherently wrong but do not stand out in isolation from other drilling measurements. Furthermore, systems and methods in accordance with the present invention permit those readings to be removed from the dataset or, in many examples, replaced with cleansed values that more accurately represent the state of the drilling operation. Systems and methods in accordance with the present invention thereby improve the quality of the data relied upon for other monitoring, modeling, and/or management purposes. The use of sensor accuracy and precision information combined with modeling the uncertainty bounds enables more effective detection of a fault in a sensor. The use of rig state detection, whether automatic or manual, permits the adaptation of the Bayesian network model that is used to validate and repopulate faulty data from sensors. The temporary removal of faulty sensors or sensors with missing or outlier data from the Bayesian network model prevents the use of faulty data to model the drilling operations.

By re-entering faulty sensors into the network after a period of time and reevaluating the readings of those sensors, the additional data available from the sensors may be utilized if the fault in the sensor has been remedied in some way, such as maintenance/re-calibration or, as is often the case, due to the end of a transitory fault condition. The use of a Bayesian network model in accordance with the present invention and systems and methods as described herein enable estimation of the values of a faulty rig sensor in order to continue to provide a reasonable and useful approximation of rig operations.