Determining Subsurface Formation Boundaries

Information

  • Patent Application
  • 20250059886
  • Publication Number
    20250059886
  • Date Filed
    August 18, 2023
    a year ago
  • Date Published
    February 20, 2025
    12 days ago
Abstract
Systems and methods for determining formation boundaries in a subsurface formation include receiving log data from a set of reference wells in a subsurface formation. A model is calibrated based on the log data to detect formation boundaries. receiving log data from a set of target wells in the subsurface formation. Log data from the set of target wells is reconstructed based on a machine learning model. Depths of formation boundaries are determined based on the calibrated model. Similarities between are determined between log data in intervals defined by the determined depths of formation boundaries from two or more wells. Formation boundaries are correlated between the two or more wells in the subsurface formation based on the determined similarities; and a visual representation of the depth of formation boundaries in the subsurface formation is generated based on the correlated formation boundaries.
Description
TECHNICAL FIELD

The present disclosure relates to geological exploration of a subsurface formation.


BACKGROUND

A geological formation represents a body of rock that has a consistent and distinguishable set of geological and petrophysical characteristics occupying a particular space of the subsurface of the earth. Geological formations become distinguishable due to specific sedimentation environments that occurred during certain geological periods of time. Knowledge on formation boundaries can be important for many tasks in the oil and gas industry including interwell correlation, geological and petrophysical modeling of hydrocarbon systems, basin modeling, constructing hydrodynamic models of the field, design of field development technology, etc.


SUMMARY

Information on spatial bedding of formations on a large scale can be determined from seismic data. However, seismic data has relatively poor vertical resolution (e.g., not less than ±30 feet) that results in high uncertainties in the data on formation boundaries. Well logging data can be used to reduce these uncertainties. The well logging data can have significantly higher vertical resolution (e.g., 1.5 feet between samples). Comparison and correlation of well logging data collected from multiple wells drilled in a subsurface formation can generate more reliable data, as compared with seismic data, on depths of formation boundaries throughout the subsurface formation.


This disclosure describes systems and methods for determining formation boundaries between wells using well logging data. A data processing system (e.g., a computing system or a control system) receives log data from a set of reference wells. The data processing system calibrates a change point detection model to detect formation boundaries based on the log data from the set of reference wells. The data processing system reconstructs log data for a set of target wells based on a machine learning model trained on the log data from the set of reference wells. The data processing system identifies intervals in the reconstructed log data based on the calibrated change point detection model. The data processing system determines depths of formation boundaries based on intervals identified using the calibrated change point detection model. The data processing system correlates formation boundaries between wells based on similarities between the identified intervals. The data processing system generates a visual representation of the depth of the formation boundaries in the subsurface based on the correlated formation boundaries.


Implementations of the systems and methods of this disclosure can provide various technical benefits. Determining formation boundaries based on well log data using conventional methods can be challenging requiring input and interpretation from experts, which can be subjective producing inconsistent results across multiple wells. Further, well log data for some wells is incomplete or missing due to, for example, well cave-ins while logging.


To overcome these challenges, the systems and methods of this disclosure provide an automated approach to determining formation boundaries producing repeatable results without needing an expert to interpret well logs or intermediate results. Using a trained machine learning model, the data processing system can determine formation boundaries for wells having missing or incomplete well logs by reconstructing the missing data. The data processing system can identify formation boundaries for wells with similar geological profiles in different formations without additional training. The data processing system can determine formation boundaries for target wells in near real-time thereby reducing the time to generate formation boundary data. For example, using the systems and methods described herein can reduce processing times by a factor of ten.


In one aspect, a method for determining formation boundaries in a subsurface formation includes receiving log data from a set of reference wells in a subsurface formation; calibrating a model to detect formation boundaries, the calibrating being based on the log data from the set of reference wells; receiving log data from a set of target wells in the subsurface formation, the set of target wells being different than the set of reference wells; reconstructing log data from the set of target wells based on a machine learning model, the machine learning model being trained on the log data from the set of reference wells; determining depths of formation boundaries based on the model; determining similarities between log data in intervals defined by the determined depths of formation boundaries from two or more wells of the set of reference wells and the set of target wells; correlating formation boundaries between the two or more wells in the subsurface formation based on the determined similarities; and generating a visual representation of the depth of formation boundaries in the subsurface formation based on the correlated formation boundaries.


In one aspect, a system for determining formation boundaries in a subsurface formation includes at least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations including receiving log data from a set of reference wells in a subsurface formation; calibrating a model to detect formation boundaries, the calibrating being based on the log data from the set of reference wells; receiving log data from a set of target wells in the subsurface formation, the set of target wells being different than the set of reference wells; reconstructing log data from the set of target wells based on a machine learning model, the machine learning model being trained on the log data from the set of reference wells; determining depths of formation boundaries based on the calibrated model; determining similarities between log data in intervals defined by the determined depths of formation boundaries from two or more wells of the set of reference wells and the set of target wells; correlating formation boundaries between the two or more wells in the subsurface formation based on the determined similarities; and generating a visual representation of the depth of formation boundaries in the subsurface formation based on the correlated formation boundaries.


In one aspect, one or more non-transitory machine-readable storage devices storing instructions for determining formation boundaries in a subsurface formation, the instructions being executable by one or more processors, to cause performance of operations including receiving log data from a set of reference wells in a subsurface formation; calibrating a model to detect formation boundaries, the calibrating being based on the log data from the set of reference wells; receiving log data from a set of target wells in the subsurface formation, the set of target wells being different than the set of reference wells; reconstructing log data from the set of target wells based on a machine learning model, the machine learning model being trained on the log data from the set of reference wells; determining depths of formation boundaries based on the model; determining similarities between log data in intervals defined by the determined depths of formation boundaries from two or more wells of the set of reference wells and the set of target wells; correlating formation boundaries between the two or more wells in the subsurface formation based on the determined similarities; and generating a visual representation of the depth of formation boundaries in the subsurface formation based on the correlated formation boundaries.


Implementations of these aspects can include one or more of the following features.


In some implementations, these aspects include determining a location in the subsurface formation including hydrocarbons based on the correlated formation boundaries; and drilling a well at the determined location.


In some implementations, calibrating the model includes determining a set of log data for each well that minimizes an uncertainty of determined locations of formation boundaries.


In some implementations, the model includes a change point detection model. In some cases, the change point detection model includes a dynamic programming change point detection model, a change point detection model with linear computation cost, a multiple change-point detection model with a reproducing kernel, a binary segmentation change point detection model, a bottom-up segmentation change point detection model, or a sliding window change point detection algorithm.


In some implementations, the machine learning model includes an ensemble-based regression model or an artificial neural network model.


In some implementations, these aspects include training the machine learning model based on well log data, cuttings-based lithology data, drilling data, and mud gas data from the set of reference wells.


In some implementations, the machine learning model is trained on well log data, cuttings-based lithology data, drilling data, and mud gas data from the set of reference wells.


In some implementations, the log data includes formation tops data, cuttings-based lithology data, and well logging data.


In some implementations, reconstructing log data includes providing cuttings-based lithology data, drilling data, and mud gas data from the set of target wells as input to the machine learning model; and receiving the reconstructed log data as output from the machine learning model.


In some implementations, determining similarities between identified intervals includes determining similarities based on an adjusted Rand index, an adjusted mutual information metric, an area under a receiver operating characteristic curve, or an area under a precision-recall curve.


The details of one or more embodiments of these systems and methods are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of these systems and methods will be apparent from the description and drawings, and from the claims.





DESCRIPTION OF DRAWINGS


FIG. 1 is a schematic illustrating a wireline operation.



FIG. 2 is a schematic workflow for determining formation boundaries in a subsurface formation.



FIG. 3 is a flowchart of a method for determining formation boundaries in a subsurface formation.



FIG. 4 illustrates hydrocarbon production operations that include field operations and computational operations.



FIG. 5 is a block diagram illustrating an example computer system used to provide computational functionalities associated with described algorithms, methods, functions, processes, flows, and procedures according to some implementations of the present disclosure.





Like reference symbols in the various drawings indicate like elements.


DETAILED DESCRIPTION

This specification describes systems and methods for determining formation boundaries between wells using well logging data. A data processing system (e.g., a computing system or a control system) receives log data from a set of reference wells. The data processing system calibrates a model (e.g., a change point detection model that is configured to determine break points in series data) to detect formation boundaries based on the log data from the set of reference wells. The data processing system receives log data collected from a set of target wells. The data processing system reconstructs missing or incomplete log data for the target wells based on a machine learning model trained on the log data from the set of reference wells. The data processing system identifies intervals in the reconstructed log data based on the calibrated change point detection model. The data processing system determines depths of formation boundaries based on intervals identified using the calibrated change point detection model. The data processing system correlates formation boundaries between wells based on similarities between the identified intervals. Based on the correlated formation boundaries, the data processing system generates a visual representation of the depth of the formation boundaries in the subsurface.



FIG. 1 illustrates a wireline operation 100 (e.g., a well logging operation) in which a wellbore 110 extends downhole from a wellhead 112. The wellbore 110 is a vertical wellbore but wireline operations can also be performed in other wellbores, for example, slanted or horizontal wellbores. In the wireline operation 100, the wellbore 110 penetrates through five layers 114, 116, 118, 120, 122 of a subsurface formation 124. A control truck 128 lowers a logging tool 132 (e.g., a sidewall coring tool) down the wellbore 110 on a wireline 136.


The logging tool 132 is a string of one or more instruments with sensors operable to measure petrophysical properties of the subsurface formation 124. For example, logging tools can include resistivity logs, borehole image logs, porosity logs, density logs, or sonic logs. Resistivity logs measure the subsurface electrical resistivity, which is the ability to impede the flow of electric current. These logs can help differentiate between formations filled with salty waters (good conductors of electricity) and those filled with hydrocarbons (poor conductors of electricity). Porosity logs measure the fraction or percentage of pore volume in a volume of rock using acoustic or nuclear technology. Acoustic logs measure characteristics of sound waves propagated through the well-bore environment. Nuclear logs utilize nuclear reactions that take place in the downhole logging instrument or in the formation. Density logs measure the bulk density of a formation by bombarding it with a radioactive source and measuring the resulting gamma ray count after the effects of Compton scattering and photoelectric absorption. Sonic logs provide a formation interval transit time, which typically is a function of lithology and rock texture but particularly porosity. The acoustic logging tool includes a piezoelectric transmitter and receiver and the time taken for the sound wave to travel the fixed distance between the two is recorded as an interval transit time.


As the logging tool 132 travels downhole, measurements of formation properties are recorded to generate a well log. In the illustrated operation, the data are recorded at the control truck 128 in real-time. Real-time data are recorded directly against measured cable depth. In some well-logging operations, the data is recorded at the logging tool 132 and downloaded later. In this approach, the downhole data and depth data are both recorded against time The two data sets are then merged using the common time base to create an instrument response versus depth log.


In the wireline operation 100, the well logging is performed on a wellbore 110 that has already been drilled. In some operations, well logging is performed in the form of logging while drilling techniques. In these techniques, the sensors are integrated into the drill string and the measurements are made in real-time, during drilling rather than using sensors lowered into a well after drilling.



FIG. 2 is a schematic of a workflow 200 for determining formation boundaries in a subsurface formation. A data processing system (e.g., a computing system in control truck 128) records log data from a set of wells 202 drilled in the subsurface formation. For example, the data processing system records log data during a wireline logging operation (e.g., wireline operation 100) or during a logging while drilling operation. The log data can include data from formation tops data 211 (e.g., from geological surveys, geological models and/or core samples), cuttings based lithology data 212 (e.g., from mud logging while drilling), and/or well logs 213 (e.g., density, neutron porosity, gamma ray, resistivity, and sonic logs). In some implementations, the data processing system generates formation tops data 211 based on the well log data 213 and the cuttings-based lithology data 212. For example, the data processing system can determine formation boundaries based on different geological content and petrophysical properties derived from the well log data 213 and the cuttings-based lithology data 214. The different geological content and petrophysical properties result from distinct formations formed in different sedimentation environments.


The data processing system can divide the set of wells 202 into a set of reference wells 204a-d (e.g., training wells) and a set of target wells 206a-b. The data processing system can divide the set of wells 202 based on completeness of data for each well. For example, wells with complete sets of well logs, cuttings based lithology data, and formation tops data, can be selected as reference wells 204a-d. For example, wells with available that cover a majority of the formations penetrated by the wells can be selected as reference wells. The completeness of the data for the reference wells can affect the uncertainty of predicted locations of formation boundaries. Wells with incomplete or missing well log data and/or missing formation tops data can be selected as target wells 206a-b. The reference wells 204a-d can be located in proximity to the target wells 206a-b in the subsurface formation. In some implementations, the proximity criteria between the reference wells and the target wells are based on the geology of the subsurface formation. In some implementations, the proximity criteria are based on a similarity metric between reference wells. The data processing system can use the proximity criteria during selection of the set of reference wells. The proximity threshold can therefore vary, depending on the particular reservoir that the data processing system is analyzing.


In the change point detection model calibration block 210, the data processing system calibrates a change point detection model based on log data (e.g., formation tops data 211, cuttings based lithology data 212, and well logging data 213) from the set of reference wells 204. A change point detection model can determine break points in series data. The break points in well log data can, for example, correspond with formation boundaries where the lithology of the subsurface changes. The change point detection model can have several architectures depending on the how the architecture performs on a given set of data. For example, the change point detection model can be a dynamic programming change point detection model, a change point detection model with linear computation cost, a multiple change-point detection model with a reproducing kernel, a binary segmentation change point detection model, a bottom-up segmentation change point detection model, or a sliding window change point detection algorithm. Calibration of the change point detection model can include determining an effective change point detection model architecture, cost function, and hyper parameters (e.g., number of break points, minimum distance between change points, etc.).


In some implementations, the data processing system runs a series of experiments to calibrate the change point detection model 214. For example, an experiment can include the data processing system executing a change point detection model having a specified cost function 215, architecture or search method 216, set of well log data 217, and values of hyper parameters 218 with the input to the change point detection model being the log data from the reference wells 204. The data processing system evaluates the series of experiments based on one or more metrics representative of the performance of the change point detection model from each experiment. For example, a metric can be based on an average distance between predicted depths and measured depths of formation boundaries in the reference wells. Another example metric can be based on a difference between a number of known formation boundaries and a number of predicted formation boundaries. Another example metric is given by:







Metric
=


1

N
true







i
=
1



N
true








"\[LeftBracketingBar]"



top

true
,
i


-

top

predicted
,
i





"\[RightBracketingBar]"


·

(

1
+




"\[LeftBracketingBar]"



N
true

-

N
predicted




"\[RightBracketingBar]"



N
true



)





,




where Ntrue is the true number of formation boundaries for a given well, toptrue.i is the true depth of the formation boundary, toppredicted.i is the predicted depth of the formation boundary, Npredicted is the number of predicted formation boundaries, and i is an integer index.


The data processing system can also determine a subset of well log data 217 that is effective for determining the formation boundaries. The data processing system can determine the set of well log data 217 based on a set of well log data having a lowest uncertainty in the depth of the determined formation boundaries as compared with other sets of well log data. For example, during a first experiment, the data processing system can assess the change point detection model performance based on inputs including gamma-ray and density logs. During a second experiment, the data processing system can assess the performance of the change point detection model based on inputs including an additional well log (e.g., a resistivity log). The data processing system can compare performance of the change point detection model between experiments based on a specified metric. In some implementations, the data processing system selects a set of well logs based on the metric meeting a specified threshold value. The set of well logs used for the change point detection model can depend on the properties of the subsurface formation.


The well log reconstruction block 220 includes the data processing system reconstructing missing or incomplete well log data 221 from the set of target wells. Log data from wells can be missing, incomplete or of a bad quality due to cave-ins, lack of equipment, data corruption, etc. The data processing system reconstructs the log data for the set of target wells based on a trained machine learning model. The machine learning model can take well log data 221 mud logging data 222 as input. The machine learning model can be, for example, an ensemble-based regression model or an artificial neural network model.


The data processing system can train the machine learning model 223 based on log data from the set of reference wells. The data processing system can divide the set of reference wells between a training set used to optimize the weights of the machine learning model by, for example, using a gradient boosting algorithm, and a test set used to evaluate the performance of the machine learning model. The data processing system tests the machine learning model 224 based on the test set. For example, the machine learning model can take as input cuttings based lithology data, drilling data, and mud gas data (e.g., measurements of gas samples taken from drilling mud). The input data can be formatted, for example, as a matrix of values with each row representing a depth in the well. The machine learning model can output a desired set of well logs 225 that includes reconstructed data in place of missing or incomplete well log data. In implementations where a subset of well log data is selected during calibration of the change point detection model, the machine learning model can output the selected subset of well log data. The output of the machine learning model can be, for example, a matrix of values with rows representing depths in the well and columns representing different well logs.


The formation tops prediction block 230 includes the data processing system identifying intervals in well log data based on the calibrated change point detection model from block 210. The formation tops prediction block 230 can take as input well log data 231 (measured or reconstructed) and cuttings based lithology data 232 from target wells or reference wells. The data processing system executes the change point detection model 233 to determine the location of formation boundaries 234 (e.g., formation tops) for the input well. The input can be the subset of well log data determined during calibration of the change point detection model. The output of the formation tops prediction block 230 is the depths of formation boundaries for the input well.


In the interwell correlation block 240, the data processing system determines similarities between intervals of well log data 241 defined by predicted or known formation boundaries 242 from two or more wells. The two or more wells selected for comparison can be neighboring wells in the subsurface formation. The data processing system can employ, for example, a dynamic time warping algorithm to assess the similarity. The data processing system can evaluate the similarity between intervals 243 based on one or more evaluation metric. Example metrics can include, for example, a Euclidian distance between formation boundaries, an adjusted Rand index, an adjusted mutual information metric, an area under a receiver operating characteristic curve, or an area under a precision-recall curve. The data processing system determines that intervals with a similarity metric exceeding a specified threshold correlate to the same geological formation. The data processing system can label the formation 244 according to the determined correlation.


The data processing system correlates the formation boundaries between the wells in the subsurface formation based on the determined similarities to determine the lateral variation in the depth of the formation boundaries throughout the subsurface formation. The data processing system can generate a visual representation of the depth of formation boundaries int eh subsurface formation based on the correlations. For example, the data processing system can generation a table with entries corresponding to geological formations within the subsurface formation. An example row of the table can have entries such as “Formation name”: BAKEN FORMATION, “TOP DEPTH”: 1000 ft, “BOTTOM DEPTH”: 1200 ft. The data processing system can generate a table for each well in the subsurface formation. In some implementations, the data processing system can generate a map of the subsurface formation with vertical slices of the subsurface showing depth variations of the formation boundaries.



FIG. 3 is a flow chart of an example method 300 for determining formation boundaries. A data processing system receives log data from a set of reference wells in a subsurface formation (step 302). The log data can include, for example, formation tops data, cuttings-based lithology data, and well logging data. The data processing system can receive the log data by for example accessing a data store or database where the log data is stored.


The data processing system calibrates a model to detect formation boundaries (step 304). The data processing system calibrates the model based on the log data from the set of reference wells. For example, the model can be a change point detection model. In some implementations, calibrating the model includes the data processing system determining a set of log data for each well that minimizes an uncertainty of determined locations of formation boundaries as compared with known locations of formation boundaries.


The data processing system receives log data from a set of target wells in the subsurface formation (step 306). The set of target wells can be different than the set of reference wells. The set of target wells can include wells with incomplete, missing, and/or bad quality well log data.


The data processing system reconstructs log data from the set of target wells based on a machine learning model (step 308). The machine learning model is trained on the log data from the set of reference wells.


The data processing system determines depths of formation boundaries based on the calibrated model (step 310). The data processing system can determine depths of formation boundaries for each well in the set of reference wells and the set of target wells based on measured and/or reconstructed well log data. In some implementations, the data processing system can determine depths of formation boundaries for wells in a new formation having the same geological profile based on the calibrated change point detection model.


The data processing system determines similarities between log data in intervals defined by the determined depths of formation boundaries from two or more wells of the set of reference wells and the set of target wells (step 312). The data processing system can determine similarity between intervals based on one or more similarity metric, for example, an adjusted Rand index, an adjusted mutual information metric, an area under a receiver operating characteristic curve, or an area under a precision-recall curve


The data processing correlates formation boundaries between the two or more wells in the subsurface formation based on the determined similarities (step 314). In some implementations, the data processing system determines the lateral variation in the depth of formation boundaries based on the correlation of formation boundaries.


The data processing system generates a visual representation of the depth of formation boundaries in the subsurface formation based on the correlated formation boundaries (step 316). The data processing system can generate, for example, a formatted table showing the formation name, and depth of the top and bottom boundaries for the formation for each well in the subsurface formation. In some implementations, the data processing system generates a map of the subsurface formation including the lateral variations of the depths of the formation boundaries.


The data processing system can determine a location in the subsurface formation comprising hydrocarbons based on the correlated formation boundaries. For example, the data processing system can determine the location of a hydrocarbon reservoir and the depth of the hydrocarbon reservoir in the subsurface formation based on the correlated formation boundaries. The data processing system can generate commands to drill a well at the determined location based on the determined formation boundaries (step 318). For example, the data processing system can generate commands to drill the well at the location and to the depth of the hydrocarbon reservoir. In some implementations, the data processing system can generate commands to control the direction of the drilling to maintain the well path within a desired formation (e.g., the hydrocarbon reservoir) based on the formation boundaries determined by the data processing system.


In some implementations, the data processing system generates geological profiles and/or geological models of the subsurface formation based on the determined formation boundaries.



FIG. 4 illustrates hydrocarbon production operations 400 that include both one or more field operations 410 and one or more computational operations 412, which exchange information and control exploration for the production of hydrocarbons. In some implementations, outputs of techniques of the present disclosure (e.g., the method 300) can be performed before, during, or in combination with the hydrocarbon production operations 400, specifically, for example, either as field operations 410 or computational operations 412, or both. For example, the method 300 collects data during field operations, processes the data in computational operations, and can determine locations to perform additional field operations.


Examples of field operations 410 include forming/drilling a wellbore, hydraulic fracturing, producing through the wellbore, injecting fluids (such as water) through the wellbore, to name a few. In some implementations, methods of the present disclosure can trigger or control the field operations 410. For example, the methods of the present disclosure can generate data from hardware/software including sensors and physical data gathering equipment (e.g., seismic sensors, well logging tools, flow meters, and temperature and pressure sensors). The methods of the present disclosure can include transmitting the data from the hardware/software to the field operations 410 and responsively triggering the field operations 410 including, for example, generating plans and signals that provide feedback to and control physical components of the field operations 410. Alternatively, or in addition, the field operations 410 can trigger the methods of the present disclosure. For example, implementing physical components (including, for example, hardware, such as sensors) deployed in the field operations 410 can generate plans and signals that can be provided as input or feedback (or both) to the methods of the present disclosure.


Examples of computational operations 412 include one or more computer systems 420 that include one or more processors and computer-readable media (e.g., non-transitory computer-readable media) operatively coupled to the one or more processors to execute computer operations to perform the methods of the present disclosure. The computational operations 412 can be implemented using one or more databases 418, which store data received from the field operations 410 and/or generated internally within the computational operations 412 (e.g., by implementing the methods of the present disclosure) or both. For example, the one or more computer systems 420 process inputs from the field operations 410 to assess conditions in the physical world, the outputs of which are stored in the databases 418. For example, seismic sensors of the field operations 410 can be used to perform a seismic survey to map subterranean features, such as facies and faults. In performing a seismic survey, seismic sources (e.g., seismic vibrators or explosions) generate seismic waves that propagate in the earth and seismic receivers (e.g., geophones) measure reflections generated as the seismic waves interact with boundaries between layers of a subsurface formation. The source and received signals are provided to the computational operations 412 where they are stored in the databases 418 and analyzed by the one or more computer systems 420.


In some implementations, one or more outputs 422 generated by the one or more computer systems 420 can be provided as feedback/input to the field operations 410 (either as direct input or stored in the databases 418). The field operations 410 can use the feedback/input to control physical components used to perform the field operations 410 in the real world.


For example, the computational operations 412 can process the seismic data to generate three-dimensional (3D) maps of the subsurface formation. The computational operations 412 can use these 3D maps to provide plans for locating and drilling exploratory wells. In some operations, the exploratory wells are drilled using logging-while-drilling (LWD) techniques which incorporate logging tools into the drill string. LWD techniques can enable the computational operations 412 to process new information about the formation and control the drilling to adjust to the observed conditions in real-time.


The one or more computer systems 420 can update the 3D maps of the subsurface formation as information from one exploration well is received and the computational operations 412 can adjust the location of the next exploration well based on the updated 3D maps. Similarly, the data received from production operations can be used by the computational operations 412 to control components of the production operations. For example, production well and pipeline data can be analyzed to predict slugging in pipelines leading to a refinery and the computational operations 412 can control machine operated valves upstream of the refinery to reduce the likelihood of plant disruptions that run the risk of taking the plant offline.


In some implementations of the computational operations 412, customized user interfaces can present intermediate or final results of the above-described processes to a user. Information can be presented in one or more textual, tabular, or graphical formats, such as through a dashboard. The information can be presented at one or more on-site locations (such as at an oil well or other facility), on the Internet (such as on a webpage), on a mobile application (or app), or at a central processing facility.


The presented information can include feedback, such as changes in parameters or processing inputs, that the user can select to improve a production environment, such as in the exploration, production, and/or testing of petrochemical processes or facilities. For example, the feedback can include parameters that, when selected by the user, can cause a change to, or an improvement in, drilling parameters (including drill bit speed and direction) or overall production of a gas or oil well. The feedback, when implemented by the user, can improve the speed and accuracy of calculations, streamline processes, improve models, and solve problems related to efficiency, performance, safety, reliability, costs, downtime, and the need for human interaction.


In some implementations, the feedback can be implemented in real-time, such as to provide an immediate or near-immediate change in operations or in a model. The term real-time (or similar terms as understood by one of ordinary skill in the art) means that an action and a response are temporally proximate such that an individual perceives the action and the response occurring substantially simultaneously. For example, the time difference for a response to display (or for an initiation of a display) of data following the individual's action to access the data can be less than 1 millisecond (ms), less than 1 second(s), or less than 5 s. While the requested data need not be displayed (or initiated for display) instantaneously, it is displayed (or initiated for display) without any intentional delay, taking into account processing limitations of a described computing system and time required to, for example, gather, accurately measure, analyze, process, store, or transmit the data.


Events can include readings or measurements captured by downhole equipment such as sensors, pumps, bottom hole assemblies, or other equipment. The readings or measurements can be analyzed at the surface, such as by using applications that can include modeling applications and machine learning. The analysis can be used to generate changes to settings of downhole equipment, such as drilling equipment. In some implementations, values of parameters or other variables that are determined can be used automatically (such as through using rules) to implement changes in oil or gas well exploration, production/drilling, or testing. For example, outputs of the present disclosure can be used as inputs to other equipment and/or systems at a facility. This can be especially useful for systems or various pieces of equipment that are located several meters or several miles apart, or are located in different countries or other jurisdictions.



FIG. 5 is a block diagram of an example computer system 500 used to provide computational functionalities associated with described algorithms, methods, functions, processes, flows, and procedures described in the present disclosure, according to some implementations of the present disclosure. The illustrated computer 502 is intended to encompass any computing device such as a server, a desktop computer, a laptop/notebook computer, a wireless data port, a smart phone, a personal data assistant (PDA), a tablet computing device, or one or more processors within these devices, including physical instances, virtual instances, or both. The computer 502 can include input devices such as keypads, keyboards, and touch screens that can accept user information. Also, the computer 502 can include output devices that can convey information associated with the operation of the computer 502. The information can include digital data, visual data, audio information, or a combination of information. The information can be presented in a graphical user interface (UI) (or GUI).


The computer 502 can serve in a role as a client, a network component, a server, a database, a persistency, or components of a computer system for performing the subject matter described in the present disclosure. The illustrated computer 502 is communicably coupled with a network 530. In some implementations, one or more components of the computer 502 can be configured to operate within different environments, including cloud-computing-based environments, local environments, global environments, and combinations of environments.


At a high level, the computer 502 is an electronic computing device operable to receive, transmit, process, store, and manage data and information associated with the described subject matter. According to some implementations, the computer 502 can also include, or be communicably coupled with, an application server, an email server, a web server, a caching server, a streaming data server, or a combination of servers.


The computer 502 can receive requests over network 530 from a client application (for example, executing on another computer 502). The computer 502 can respond to the received requests by processing the received requests using software applications. Requests can also be sent to the computer 502 from internal users (for example, from a command console), external (or third) parties, automated applications, entities, individuals, systems, and computers.


Each of the components of the computer 502 can communicate using a system bus 503. In some implementations, any or all of the components of the computer 502, including hardware or software components, can interface with each other or the interface 504 (or a combination of both), over the system bus 503. Interfaces can use an application programming interface (API) 512, a service layer 513, or a combination of the API 512 and service layer 513. The API 512 can include specifications for routines, data structures, and object classes. The API 512 can be either computer-language independent or dependent. The API 512 can refer to a complete interface, a single function, or a set of APIs.


The service layer 513 can provide software services to the computer 502 and other components (whether illustrated or not) that are communicably coupled to the computer 502. The functionality of the computer 502 can be accessible for all service consumers using this service layer. Software services, such as those provided by the service layer 513, can provide reusable, defined functionalities through a defined interface. For example, the interface can be software written in JAVA, C++, or a language providing data in extensible markup language (XML) format. While illustrated as an integrated component of the computer 502, in alternative implementations, the API 512 or the service layer 513 can be stand-alone components in relation to other components of the computer 502 and other components communicably coupled to the computer 502. Moreover, any or all parts of the API 512 or the service layer 513 can be implemented as child or sub-modules of another software module, enterprise application, or hardware module without departing from the scope of the present disclosure.


The computer 502 includes an interface 504. Although illustrated as a single interface 504 in FIG. 5, two or more interfaces 504 can be used according to particular needs, desires, or particular implementations of the computer 502 and the described functionality. The interface 504 can be used by the computer 502 for communicating with other systems that are connected to the network 530 (whether illustrated or not) in a distributed environment. Generally, the interface 504 can include, or be implemented using, logic encoded in software or hardware (or a combination of software and hardware) operable to communicate with the network 530. More specifically, the interface 504 can include software supporting one or more communication protocols associated with communications. As such, the network 530 or the interface's hardware can be operable to communicate physical signals within and outside of the illustrated computer 502.


The computer 502 includes a processor 505. Although illustrated as a single processor 505 in FIG. 5, two or more processors 505 can be used according to particular needs, desires, or particular implementations of the computer 502 and the described functionality. Generally, the processor 505 can execute instructions and can manipulate data to perform the operations of the computer 502, including operations using algorithms, methods, functions, processes, flows, and procedures as described in the present disclosure.


The computer 502 also includes a database 506 that can hold data for the computer 502 and other components connected to the network 530 (whether illustrated or not). For example, database 506 can be an in-memory, conventional, or a database storing data consistent with the present disclosure. For example, database 506 can hold well log data 516. In some implementations, database 506 can be a combination of two or more different database types (for example, hybrid in-memory and conventional databases) according to particular needs, desires, or particular implementations of the computer 502 and the described functionality. Although illustrated as a single database 506 in FIG. 5, two or more databases (of the same, different, or combination of types) can be used according to particular needs, desires, or particular implementations of the computer 502 and the described functionality. While database 506 is illustrated as an internal component of the computer 502, in alternative implementations, database 506 can be external to the computer 502.


The computer 502 also includes a memory 507 that can hold data for the computer 502 or a combination of components connected to the network 530 (whether illustrated or not). Memory 507 can store any data consistent with the present disclosure. In some implementations, memory 507 can be a combination of two or more different types of memory (for example, a combination of semiconductor and magnetic storage) according to particular needs, desires, or particular implementations of the computer 502 and the described functionality. Although illustrated as a single memory 507 in FIG. 5, two or more memories 507 (of the same, different, or combination of types) can be used according to particular needs, desires, or particular implementations of the computer 502 and the described functionality. While memory 507 is illustrated as an internal component of the computer 502, in alternative implementations, memory 507 can be external to the computer 502.


The application 508 can be an algorithmic software engine providing functionality according to particular needs, desires, or particular implementations of the computer 502 and the described functionality. For example, application 508 can serve as one or more components, modules, or applications. Further, although illustrated as a single application 508, the application 508 can be implemented as multiple applications 508 on the computer 502. In addition, although illustrated as internal to the computer 502, in alternative implementations, the application 508 can be external to the computer 502.


The computer 502 can also include a power supply 514. The power supply 514 can include a rechargeable or non-rechargeable battery that can be configured to be either user- or non-user-replaceable. In some implementations, the power supply 514 can include power-conversion and management circuits, including recharging, standby, and power management functionalities. In some implementations, the power-supply 514 can include a power plug to allow the computer 502 to be plugged into a wall socket or a power source to, for example, power the computer 502 or recharge a rechargeable battery.


There can be any number of computers 502 associated with, or external to, a computer system containing computer 502, with each computer 502 communicating over network 530. Further, the terms “client,” “user,” and other appropriate terminology can be used interchangeably, as appropriate, without departing from the scope of the present disclosure. Moreover, the present disclosure contemplates that many users can use one computer 502 and one user can use multiple computers 502.


Implementations of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Software implementations of the described subject matter can be implemented as one or more computer programs. Each computer program can include one or more modules of computer program instructions encoded on a tangible, non transitory, computer-readable computer-storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively, or additionally, the program instructions can be encoded in/on an artificially generated propagated signal. The example, the signal can be a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. The computer-storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of computer-storage mediums.


The terms “data processing apparatus,” “computer,” and “electronic computer device” (or equivalent as understood by one of ordinary skill in the art) refer to data processing hardware. For example, a data processing apparatus can encompass all kinds of apparatus, devices, and machines for processing data, including by way of example, a programmable processor, a computer, or multiple processors or computers. The apparatus can also include special purpose logic circuitry including, for example, a central processing unit (CPU), a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC). In some implementations, the data processing apparatus or special purpose logic circuitry (or a combination of the data processing apparatus or special purpose logic circuitry) can be hardware- or software-based (or a combination of both hardware- and software-based). The apparatus can optionally include code that creates an execution environment for computer programs, for example, code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of execution environments. The present disclosure contemplates the use of data processing apparatuses with or without conventional operating systems, for example LINUX, UNIX, WINDOWS, MAC OS, ANDROID, or IOS.


The methods, processes, or logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The methods, processes, or logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, for example, a CPU, an FPGA, or an ASIC.


Computer readable media (transitory or non-transitory, as appropriate) suitable for storing computer program instructions and data can include all forms of permanent/non-permanent and volatile/non-volatile memory, media, and memory devices. Computer readable media can include, for example, semiconductor memory devices such as random access memory (RAM), read only memory (ROM), phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and flash memory devices. Computer readable media can also include, for example, magnetic devices such as tape, cartridges, cassettes, and internal/removable disks.


While this specification contains many specific implementation details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular implementations. Certain features that are described in this specification in the context of separate implementations can also be implemented, in combination, in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations, separately, or in any suitable sub-combination. Moreover, although previously described features may be described as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can, in some cases, be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.


Particular implementations of the subject matter have been described. Other implementations, alterations, and permutations of the described implementations are within the scope of the following claims as will be apparent to those skilled in the art. While operations are depicted in the drawings or claims in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed (some operations may be considered optional), to achieve desirable results. In certain circumstances, multitasking or parallel processing (or a combination of multitasking and parallel processing) may be advantageous and performed as deemed appropriate.


Moreover, the separation or integration of various system modules and components in the previously described implementations should not be understood as requiring such separation or integration in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.


Accordingly, the previously described example implementations do not define or constrain the present disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of the present disclosure.


Furthermore, any claimed implementation is considered to be applicable to at least a computer-implemented method; a non-transitory, computer-readable medium storing computer-readable instructions to perform the computer-implemented method; and a computer system comprising a computer memory interoperably coupled with a hardware processor configured to perform the computer-implemented method or the instructions stored on the non-transitory, computer-readable medium.


A number of embodiments of these systems and methods have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of this disclosure. Accordingly, other embodiments are within the scope of the following claims.

Claims
  • 1. A method for determining formation boundaries in a subsurface formation, the method comprising: receiving log data from a set of reference wells in a subsurface formation;calibrating a model to detect formation boundaries, the calibrating being based on the log data from the set of reference wells;receiving log data from a set of target wells in the subsurface formation, the set of target wells being different than the set of reference wells;reconstructing log data from the set of target wells based on a machine learning model, the machine learning model being trained on the log data from the set of reference wells;determining depths of formation boundaries based on the model;determining similarities between log data in intervals defined by the determined depths of formation boundaries from two or more wells of the set of reference wells and the set of target wells;correlating formation boundaries between the two or more wells in the subsurface formation based on the determined similarities; andgenerating a visual representation of the depth of formation boundaries in the subsurface formation based on the correlated formation boundaries.
  • 2. The method of claim 1, further comprising: determining a location in the subsurface formation comprising hydrocarbons based on the correlated formation boundaries; anddrilling a well at the determined location.
  • 3. The method of claim 1, wherein calibrating the model comprises determining a set of log data for each well that minimizes an uncertainty of determined locations of formation boundaries.
  • 4. The method of claim 3, wherein the model comprises a change point detection model.
  • 5. The method of claim 4, wherein the change point detection model comprises a dynamic programming change point detection model, a change point detection model with linear computation cost, a multiple change-point detection model with a reproducing kernel, a binary segmentation change point detection model, a bottom-up segmentation change point detection model, or a sliding window change point detection algorithm.
  • 6. The method of claim 1, wherein the machine learning model comprises an ensemble-based regression model or an artificial neural network model.
  • 7. The method of claim 1, further comprising: training the machine learning model based on well log data, cuttings-based lithology data, drilling data, and mud gas data from the set of reference wells.
  • 8. The method of claim 1, wherein the machine learning model is trained on well log data, cuttings-based lithology data, drilling data, and mud gas data from the set of reference wells.
  • 9. The method of claim 1, wherein the log data comprises formation tops data, cuttings-based lithology data, and well logging data.
  • 10. The method of claim 1, wherein reconstructing log data comprises: providing cuttings-based lithology data, drilling data, and mud gas data from the set of target wells as input to the machine learning model; andreceiving the reconstructed log data as output from the machine learning model.
  • 11. The method of claim 1, wherein determining similarities between identified intervals comprises determining similarities based on an adjusted Rand index, an adjusted mutual information metric, an area under a receiver operating characteristic curve, or an area under a precision-recall curve.
  • 12. A system for determining formation boundaries in a subsurface formation, the system comprising: at least one processor; anda memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising: receiving log data from a set of reference wells in a subsurface formation;calibrating a model to detect formation boundaries, the calibrating being based on the log data from the set of reference wells;receiving log data from a set of target wells in the subsurface formation, the set of target wells being different than the set of reference wells;reconstructing log data from the set of target wells based on a machine learning model, the machine learning model being trained on the log data from the set of reference wells;determining depths of formation boundaries based on the calibrated model;determining similarities between log data in intervals defined by the determined depths of formation boundaries from two or more wells of the set of reference wells and the set of target wells;correlating formation boundaries between the two or more wells in the subsurface formation based on the determined similarities; andgenerating a visual representation of the depth of formation boundaries in the subsurface formation based on the correlated formation boundaries.
  • 13. The system of claim 12, wherein the model comprises a dynamic programming change point detection model, a change point detection model with linear computation cost, a multiple change-point detection model with a reproducing kernel, a binary segmentation change point detection model, a bottom-up segmentation change point detection model, or a sliding window change point detection algorithm.
  • 14. The system of claim 12, wherein the machine learning model comprises an ensemble-based regression model or an artificial neural network model.
  • 15. The system of claim 12, wherein the log data comprises formation tops data, cuttings-based lithology data, and well logging data.
  • 16. The system of claim 12, wherein reconstructing log data comprises: providing cuttings-based lithology data, drilling data, and mud gas data from the set of target wells as input to the machine learning model; andreceiving the reconstructed log data as output from the machine learning model.
  • 17. One or more non-transitory machine-readable storage devices storing instructions for determining formation boundaries in a subsurface formation, the instructions being executable by one or more processors, to cause performance of operations comprising: receiving log data from a set of reference wells in a subsurface formation;calibrating a model to detect formation boundaries, the calibrating being based on the log data from the set of reference wells;receiving log data from a set of target wells in the subsurface formation, the set of target wells being different than the set of reference wells;reconstructing log data from the set of target wells based on a machine learning model, the machine learning model being trained on the log data from the set of reference wells;determining depths of formation boundaries based on the model;determining similarities between log data in intervals defined by the determined depths of formation boundaries from two or more wells of the set of reference wells and the set of target wells;correlating formation boundaries between the two or more wells in the subsurface formation based on the determined similarities; andgenerating a visual representation of the depth of formation boundaries in the subsurface formation based on the correlated formation boundaries.
  • 18. The non-transitory, machine-readable storage devices of claim 17, wherein the model comprises a dynamic programming change point detection model, a change point detection model with linear computation cost, a multiple change-point detection model with a reproducing kernel, a binary segmentation change point detection model, a bottom-up segmentation change point detection model, or a sliding window change point detection algorithm.
  • 19. The non-transitory, machine-readable storage devices of claim 17, wherein the machine learning model comprises an ensemble-based regression model or an artificial neural network model.
  • 20. The non-transitory, machine-readable storage devices of claim 17, wherein reconstructing log data comprises: providing cuttings-based lithology data, drilling data, and mud gas data from the set of target wells as input to the machine learning model; andreceiving the reconstructed log data as output from the machine learning model.