This specification relates to control systems. Specifically, this specification describes processes for controlling production at one or more hydrocarbon wells to maximize a molecular weight of flash gas and oil production at a well while adhering to specified reservoir constraints associated with the well.
A performance of a production well depends on various variables, such as tubing size, choke size, and separator pressures. Input data such as flow rate in wellbore, wellbore pressure, wellbore temperature, fluid composition, and depth can be used to calculate a gas-oil ratio (GOR) and API gravity of crude. The objective is to determine the optimum design of production components to obtain minimum fractional recovery and maximum American Petroleum Institute (API) gravity of crude oil. Decision variables include optimum design of tubing (single or dual-sized), tubing size(s), depth at which tubing size should be changed, choke size, optimum number of separators, and separator pressures.
Systems and processes are configured for multi-objective optimization for oil well production targeting. The multi-objective optimization is based on a fluid composition prediction for one or more wells of a reservoir. A data processing system is configured to maximize a molecular weight of flash gas and oil production while adhering to specified reservoir constraints for the one or more wells. The data processing system is configured to execute one or more genetic algorithms (GAs) to solve multi-objective optimization from a solution space. In some implementations, the data processing system is configured to determine a pareto-optimal solution for a well.
The data processing system is configured to provide a maximum well production that also accounts for one or more trade-offs between different objectives, enabling better decision-making. The one or more objectives can include maximizing hydrocarbon output when subject to one or more constraints such as flow rate in a wellbore, a wellbore pressure, a wellbore temperature, fluid composition, and well depth. The data processing system integrates the reduction estimation with a fluid composition prediction model that is configured to further enhance an accuracy and a reliability of the optimization process. By incorporating well-specific data and constraints, the data processing system is configured to generate a solution that is specific to a particular well or reservoir and therefore satisfy production priorities and promote more efficient resource extraction at the reservoir.
The data processing system is configured to execute the one or more generative algorithms. The data processing system trains the GAs for a multi-dimensional model approach to optimization of the well production. For example, pressure data in relation with the bubble point pressure are optimized simultaneously for the multi-objective function.
The data processing system trains the weights of the GA using actual obtained and analyzed data from each data stream, including each of well parameters and reservoir parameters. The data processing system was tested and benchmarked using actual samples taken from a reservoir to prove the accuracy of the predictions.
The one or more embodiments described in this specification can enable one or more of the following advantages. The data processing system is configured to find optimal production targets while considering the complexities and uncertainties of oil reservoirs. For example, the data processing system executes one or more GAs to efficiently search for solutions in large and complex solution spaces. The data processing system is also integrated with fluid composition prediction systems or other optimization solutions.
The data processing system provides a comprehensive view of trade-offs. For example, the multi-objective optimization determines trade-offs between objectives, allowing for informed decision-making. The data processing system enables a more accurate and reliable prediction by integration with the fluid composition prediction system. Data processing system is configured to incorporate well-specific data and well-specific constraints to provide a specific solution for production targeting for individual wells and reservoirs. The data processing system enables efficient resource extraction optimizing production targets for wells in a reservoir. The data processing system includes GAs that enable scalability for introducing additional variables and constraints for various well configurations and reservoir scenarios in this way, the data processing system is flexible in that it can be applied to any well or reservoir without substantial modification to the data processing system.
The data processing system is configured to solve one or more technical issues. For example, the data processing system is configured to measure, with high accuracy, stream rates and pressure/volume/temperature (PVT) properties of the one or more wells. The data processing system is also configured to obtain well potentials integrating them with the multi-objective optimization function. The data processing system eliminates a need to adjust wells manually based on production rates and wait for at least a day to see changes results at the central processing facility.
Embodiments of these systems and methods can include one or more of the following features.
In a general aspect, a method for controlling hydrocarbon production in one or more wells includes receiving, from one or more sensors of one or more wells, well data representing operation of the one or more wells; retrieving an optimization model defined based on a plurality of operational parameters of the one or more wells, the operational parameters specifying operational constraints for each of the one or more wells; processing, by the optimization model, the well data and generating a solution set of operational states for each of the one or more wells that optimizes hydrocarbon production at each of the one or more wells; based on the processing, selecting, from the solution set, at least one solution that specifies an operational state for each of the one or more wells, the operational state optimizing the hydrocarbon production for that well of the one or more wells; generating, for the one or more wells, instructions for controlling well production; and sending, to the one or more wells, the instructions.
In some implementations, the method includes controlling, based on the instructions, well production at the one or more wells.
In some implementations, the optimization model is configured to maximize a molecular weight of a flash gas (MWF) for a well of the one or more wells or for a group of wells of the one or more wells.
In some implementations, the operational parameters comprise, for a given well of the one or more wells, a flowing bottom hole reservoir pressure, a bubble point pressure, and an initial production rate (TR).
In some implementations, the at least one solution includes a higher-ranking solution in the solution set, the higher-ranking solution being ranked higher than at least one lower-ranked solution in the solution set.
In some implementations, the well data comprises at least one of a flow rate in a wellbore of a well of the one or more wells, a wellbore pressure of the well of the one or more wells, a wellbore temperature of the well of the one or more wells, a fluid composition associated with the well of the one or more wells, and a well depth of the well of the one or more wells.
In some implementations, processing, by the optimization model, the well data comprises tracking one or more Pareto-optimal solutions of the solution set; and iteratively updating the solution set until one or more stopping criteria are satisfied.
In some implementations, the optimization model is initialized with a set of random production targets representing the solution set.
In some implementations, the operations further include defining the optimization model to include a set of decision variables that include production targets for each of the one or more wells; defining the optimization model to include at least two objectives including maximizing a molecular weight of the flash gas (MWF) and maximizing oil production (Qoil); and defining the optimization model to include a set of constraints including at least one of a minimum reservoir pressure, one or more well-specific production targets, a total gas production limit, and a reservoir pressure minimum for maintaining above a bubble point.
In a general aspect, a system includes at least one processor; and a memory storing one or more instructions that, when executed by the at least one processor, cause the at least one processor to perform operations of the foregoing method.
In some implementations, one or more non-transitory computer readable media store one or more instructions configured for controlling hydrocarbon production in one or more wells, the one or more instructions causing at least one processor, when executing the one or more instructions, to perform operations for the foregoing method.
The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims.
Systems and processes are configured for multi-objective optimization for oil well production targeting. The multi-objective optimization is based on a fluid composition prediction for one or more wells of a reservoir. A data processing system is configured to maximize a molecular weight of flash gas and oil production while adhering to specified reservoir constraints for the one or more wells. The data processing system is configured to execute one or more genetic algorithms to solve multi-objective optimization from a solution space. In some implementations, the data processing system is configured to determine a pareto-optimal solution for a well.
The data processing system is configured to provide a maximum well production that also accounts for one or more trade-offs between different objectives, enabling better decision-making. The one or more objectives can include maximizing hydrocarbon output when subject to one or more constraints such as flow rate in a wellbore, a wellbore pressure, a wellbore temperature, fluid composition, and well depth. The data processing system integrates the reduction estimation with a fluid composition prediction model that is configured to further enhance an accuracy and a reliability of the optimization process. By incorporating well-specific data and constraints, the data processing system is configured to generate a solution that is specific to a particular well or reservoir and therefore satisfy production priorities and promote more efficient resource extraction at the reservoir.
The data processing system executes the optimization model based on two main objective functions: maximizing the molecular weight of the flash gas (MWF) and maximizing oil production (Q_oil). The data processing system integrates multi-objective optimization techniques with an AI-based fluid composition prediction system to efficiently achieve both objectives while considering input parameters and constraints. The composition prediction the output of the GAs.
Input parameters (model parameters) include one or more of the following. The input parameters include a flowing bottom hole reservoir pressure, a bubble point pressure, and/or initial production rates (TR) for each well in the reservoir. The data processing system processes well data based on the values of these model parameters to determine optimal production targets for each well in the reservoir by achieving the two objectives. Constraints in the optimization process ensure safe and sustainable operations for each of the wells in the reservoir. These constraints include maintaining a restricted reservoir pressure (P_res>P_res_min), staying within the well's potential (PT_i≤W_pot_i), ensuring total gas production is within the gas handling capacity (Total_gas_production≤GHC), and keeping the flowing bottom hole pressure above the bubble point pressure (P_res>P_bub).
The optimization model includes a machine learning component to predict the fluid composition. The optimization model can be coupled with well monitoring control systems to determine respective fluid compositions for each of the wells in the reservoir prior to execution of the optimization model (e.g., a GA or GAs) itself. The data processing system is configured to improve decision making in the allocation of production targets for each well of the reservoir. the optimization model of the data processing system is configured to balance the objectives, input parameters, and constraints to maximize MWF and Q_oil, ultimately leading to increased production efficiency and effectiveness.
A drilling fluid or mud is used to remove cuttings from the well during drilling. A mud tank 120 holds the mud. A mud pump 122 pumps the mud from the mud tank 120 to the swivel 118 via a rigid standpipe 124 and a flexible hose 126. The mud is pumped through the center of the drill string 108 to the bottom of the hole through the drill bit 112. The mud returns to the surface carrying the cuttings through the annulus formed between the wall of the well and the outside of the drill string 108. The mud returns to the mud tank 120 via a flow line 128 where the cuttings are filtered, and the mud recirculates through the system.
As the drill string 108 rotates, the drill bit 112 engages with and cuts the bottom of the hole penetrating a subsurface formation. The rate at which the drill bit penetrates the formation is called the rate of penetration (ROP). The weight on the drill bit (WOB) is controlled by the amount of tension applied to the drill line 107 and can affect the ROP.
The motor or engine 116 that turns the drill bit and raises and lowers the drill string, the mud pump 122 and other equipment located on or near the drilling rig such as generators, burn fuel and emit carbon dioxide, CO2. The amount of CO2 emitted can be proportional to the fuel consumed by the drilling rig. Fuel consumption and CO2 emissions can be reduced by optimizing various drilling parameters.
Responsive to the measured values of the respective production variables at a well, the data processing system of the control center 210 is configured to determine a target production for that well and one or more other wells at the reservoir. For example, the data processing system is configured to maximize oil production overall in a reservoir by monitoring production from each of the individual wells 202a-d within the reservoir. The data processing system is configured to periodically or continuously receive well data 204 from the wells 202, the process the well data using the optimization model subsequently described, and update well production targets to optimize hydrocarbon output at the reservoir. The data processing system is configured to generate operational commands 206 that cause the wells 202 to produce at or near the respective target production rates specified by the output of the optimization model. The operational commands specify instructions that because the hardware at the respective wells 202a-d to pump water, extract hydrocarbons, or otherwise operate the well to achieve the specified target production.
The data processing system of the control center 210 controls operation of each of the wells 202 at a reservoir to maximize overall hydrocarbon production for the reservoir. For example, the data processing system can set production rates for a particular well 202a-d based on production rates set for one or more of the other wells 202a-d at the reservoir. In an example, the data processing system maximizes a hydrocarbon production for a particular well in the reservoir without accounting for production rates at one or more other wells at the reservoir.
The data processing system of the control center 210 is configured to execute an optimization algorithm as subsequently described. the optimization algorithm or algorithms is/are trained using training data 208 stored at a database in the control center 210. the training data 208 include operational data from one or more wells 202 of the reservoir. the operational data of the wells 202 includes data that labels production outcomes with corresponding well production parameter values. The well production parameter values include the state of each of the pieces of hardware at a given well 202 that caused the well to produce the specified amount of the hydrocarbons. The wild production parameter values also include values describing the state of the reservoir itself that may affect hydrocarbon production by a given well to 202. For example, some of the operational parameters may specify a location of a given well within the reservoir and values of one or more geological feature is near that given well. In another example, the one or more operational parameters specify operational temperatures, flow rates, pressures, and similar operational data of hardware of the well itself.
The data processing system enables automated decision making by setting adequate rate per well, regardless of how many wells are being monitored by the data processing system. The data processing system optimizes oil well production targets while considering multiple objectives, such as maximizing the molecular weight of the flash gas and oil production. The data processing system efficiently navigates the solution space including the operational parameters. The data processing system predicts fluid compositions and properties for different production scenarios, which enables optimization of production targets for each well 202a-d.
The optimization model can execute a multi-objective optimization approach that integrates genetic algorithms and an AI-based fluid composition prediction system to optimize production at each well 202a-d. The data processing system performs data collection and preprocessing for cleaning, transforming, and normalizing data to make the well data 204 compatible with the optimization algorithm. In some implementations, the optimization algorithm includes a genetic algorithm. The objectives for being solved by the optimization model include maximizing a molecular weight of the flash gas (MWF) and oil production (Qoil). The data processing system considers production targets for each well as decision variables. In some implementations, decision variables such as tubing design, tubing size, depth at which tubing size should change, choke size, the number of separators, and separator pressures can be considered for well design prior to production. The optimization model considers constraints like minimum reservoir pressure, well-specific production targets, total gas production limit, and maintaining reservoir pressure above the bubble point. The data processing system uses the optimization model as part of an AI-based fluid composition prediction system to evaluate the fitness of each solution. As described in relation to
The process 300 includes the following steps, which are subsequently described in additional detail. The process 300 includes, at step 302, collecting well-specific data and preprocessing the well-specific data for compatibility with the optimization model. For data collection and preprocessing, the data processing system retrieves the well-specific data execute the optimization process. The well-specific data include reservoir pressure (P_res), well potential (W_pot), bubble point pressure (P_bub), and central processing facility gas handling capacity (GHC). The data processing system use these data for defining the optimization model and its constraints.
After collecting the data, the data processing system preprocesses and normalizes the well-specific data. Preprocessing can include cleaning, transforming, or reducing the data to a more manageable size. Normalization is performed to scale the data within a specific range, ensuring compatibility with the optimization algorithm.
The process 300 includes, at step 304, defining the optimization model by determining target production levels, target operational parameters values, decision variables, and constraints related to hydrocarbon production. The problem formulation is performed as follows. The optimization problem is defined by specifying the decision variables, objectives, and constraints. Decision Variables include production targets for each well (PTi, i for 1−Nwells) are defined as the decision variables that the algorithm needs to optimize. The optimization is configured to maximize at least two objectives including a molecular weight of the flash gas (MWF) and oil production (Qoil). The data processing system sets the constraints ensure feasible solutions, including minimum reservoir pressure, well-specific production targets, total gas production limit, and maintaining reservoir pressure above the bubble point.
The process 300 includes, at step 306, selecting an optimization model that is defined by the target parameter values and model variables of step 304. The optimization model is configured to receive the well specific data representing production at the wells and operation at the wells in the reservoir and determine how operation of the wells should be updated to achieve the target production that is calculated by the optimization model. In some implementations, the data processing system selects one of a set of genetic algorithms as the optimization method because the genetic algorithms are suitable for handling large and complex solution spaces.
The data processing system is configured to select an algorithm for the optimization model. The data processing system can select one or more genetic algorithms as the optimization algorithm to search large, complex solution spaces and handle multi-objective problems. For example, a GA includes a search heuristic that aims to find optimal solutions by mimicking the process of natural evolution. For our specific problem. For initialization, a set of potential solutions are selected by the data processing system. Each solution represents a specific oil rate for each of the N wells. The data processing system selects solutions based on their performance, determined by the objective function F. The goal is to minimize F, so solutions that result in a lower value of F are preferred. The data processing system pairs selected solutions and combines them to produce new solutions. The data processing system introduces mutations that include small, random changes to the new solutions to ensure diversity. The data processing system evaluates performance of each solution is assessed using the objective function F.
The optimization process involves iteratively applying selection, crossover, mutation, and evaluation until a stopping criterion is met. The fitness function used is the objective function F. Simulations can be incorporated to model real-world scenarios of oil and gas production, which can further refine the fitness function.
The process 300 includes, at step 308, configuring the optimization model(s) with the determined model parameters for efficient search and convergence, as subsequently described.
The GA is configured with appropriate parameters such as population size, mutation rate, crossover rate, and the maximum number of iterations. These parameters control the algorithm's behavior and convergence. In an example, a potential set of GA parameter values could include a population size: 150; mutation rate: 0.02 (2% chance of introducing a random change); crossover rate: 0.85 (85% chance of combining two solutions); maximum number of iterations: 600.
The process 300 includes, at step 310, generating an initial population of random production targets for each of the one or more wells in the reservoir. For example, the data processing system is configured to initialize the optimization model with the initial population of random production targets. the process 300 includes, at step 312, performing a fitness evaluation for the solutions from the initial population. For example, the data processing system is configured to evaluate a fitness of each solution in the population using machine learning models (e.g., based on the GAs) for fluid composition prediction in accordance with the defined objectives and constraints of the optimization model.
An initial population of random production targets (PT_i) is generated for each well. This population satisfies the constraints set in the problem formulation.
The data processing system evaluates the fitness of each individual solution in the population is evaluated using the AI-based fluid composition prediction system, objectives, and constraints. The fitness value helps guide the search process towards optimal solutions. The evaluation includes fitness calculation in which the data processing system assesses the performance of each solution using the objective function F. The evaluation includes a ranking in which the data processing system organizes the solutions based on their performances. The evaluation includes a selection in which the data processing system selects the best-performing solutions for the next iteration.
The process 300 includes, at step 314, executing the optimization model in an iterative manner. the optimization loop is iteratively performed by the data processing system until optimal solutions are reached or until stopping criteria are satisfied. The number of iterations can vary based on the particular wells and reservoir being analyzed by the data processing system, The number of parameters being optimized, the number of objectives being satisfied, and other aspects of the optimization model that are defined as described previously. The data processing system, once the optimal solutions are found, is configured to determine production targets for each of the one or more wells in the reservoir as subsequently described in relation to process 320.
The data processing system is configured to execute the optimization loop iteratively until stopping criteria are satisfied. During each iteration, selection, crossover, and mutation operations generate offspring solutions. The data processing system evaluates, at step 324, the offspring solutions and ranks the offspring solutions into higher-ranked solutions and lower-ranked solutions. The data processing system replaces, at step 326, the lower-ranked solutions in the previous solution set with higher-ranked offspring solutions that were newly evaluated. The data processing system tracks, at step 328, the best solutions, which include Pareto-optimal solutions, throughout the process 320.
The data processing system can apply the optimization model (such as a GA) as now described. The data processing system is configured to perform a selection of solutions. The data processing system selects solutions based on the respective performances as determined by an objective function F. The data processing system performs a crossover operation by pairing and combining selected offspring solutions to produce new potential solutions. The data processing system performs a mutation operation by introducing random changes to the solution set to ensure diversity among the potential solutions. In this example, the best solutions are those that result in the lowest values of the objective function F. As the data processing system executes the optimization model, an average performance of the solutions improves. The best solutions become closer to the optimal solution for the defined problem. In this example, the best solutions represent an optimal production of the respective hydrocarbon wells and the associated parameters for causing that optimal production to occur. As previously stated, the optimal production indicates maximizing the molecular weight of the flash gas (MWF) and maximizing oil production (Q_oil). The data processing system integrates multi-objective optimization techniques with the fluid composition prediction system to efficiently achieve both objectives while considering critical input parameters and constraints.
The objective function incorporates a priority index for the wells of the reservoir. To determine the priority of each well, a priority index is assigned for each well and values of the respective priority indexes are incorporated into the objective function. The priority index is based on multiple factors, including production potential of a given well and the flowing bottom hole pressure (FBHP) of that well. The priority index for well i is denoted as Pi and is calculated as:
where: α and β are weighting factors, ORPi is the oil rate potential for well i, and FBHPi is the flowing-bottom-hole pressure for well i. The objective function is then:
subject to Σ(ORi from i=1 to n) and TOR 0≤ORi≤ORPi for all i,
where TOR is the target oil rate (overall).
The data processing system minimizes the optimization function value F to accomplish the following goals. The data processing system optimizes oil production. For oil production, the oil production will adjust to meet the overall target oil rate TOR while giving preference to wells with higher priority indices. Wells with higher potential and FBHP produce more oil compared to those with lower values.
The data processing system optimizes gas production. For gas production, the optimization model favors solutions that reduce gas production, achieved by favoring wells with a lower gas-oil ratio or by reducing the oil rate from wells with a high gas-oil ratio.
The data processing system optimizes production based on the flowing-bottom-hole pressure (FBHP). The solutions favor wells with higher FBHP. Wells associated with a higher FBHP have more potential to produce, and the objective function is designed to maximize the cumulative FBHP.
The data processing system is configured, at step 330, to detect the stopping criteria are satisfied and perform an identification of the Pareto front representing the optimal solutions with trade-offs between objectives. The data processing system analyses the Pareto front and selects the best production targets based on preferences or specific requirements that are defined by the controller or specified in the configuration of the optimization model. For example, the data processing system can request input from an operator or autonomously choose a best production target per well (PTi) based on predefined preferences or specific requirements.
The data processing system, at step 332, determines a production target for each well based on the identified best production target per well as described in relation to step 330. The data processing system, at step 334, generates instructions for controlling while production based on the determined production target for each well. the data processing system is configured for implementing the chosen production targets in the field and monitoring well performance, adjusting production targets as necessary for example, the data processing system causes the selected production targets (PTi) to be implemented in the field by sending, at step 336, instructions to one or more of the plurality of wells.
The data processing system monitors the performance of the one or more wells of the reservoir. The data processing system adjusts the production targets as necessary to ensure objectives are met, and to ensure that the defind constraints of the optimization model are maintained. This includes operating the well at the conditions identified by the GAs. For example, wells controlled based on the output of the GAs. A particular pressure can be maintained, or other control objectives can be satisfied. For example, the data processing system causes the one or more wells of the plurality of wells at the reservoir to operate at the conditions identified by the GAs, either directly by sending instructions to the hardware of the wells or indirectly by sending instructions to one or more additional control systems that interface directly with the one or more wells. The output of the GAs provides optimal production targets for each well, which include desired oil rates, gas-oil ratios, and other parameters. Wells are controlled to achieve these targets. While maintaining a particular flowing-bottom-hole pressure (FBHP) is one of the primary control objectives, other objectives include maintaining a specific gas-oil ratio, ensuring the molecular weight of the gas is within a certain range, and adhering to any other constraints or requirements specific to the field or reservoir. The exact control objectives depend on the specific goals of the optimization and the constraints of the field.
In some implementations, the process 400 includes controlling, based on the instructions, well production at the one or more wells.
In some implementations, the optimization model is configured to maximize a molecular weight of a flash gas (MWF) for a well of the one or more wells or for a group of wells of the one or more wells.
In some implementations, the operational parameters comprise, for a given well of the one or more wells, a flowing bottom hole reservoir pressure, a bubble point pressure, and an initial production rate (TR).
In some implementations, the at least one solution includes a higher-ranking solution in the solution set, the higher-ranking solution being ranked higher than at least one lower-ranked solution in the solution set.
In some implementations, the well data comprises at least one of a flow rate in a wellbore of a well of the one or more wells, a wellbore pressure of the well of the one or more wells, a wellbore temperature of the well of the one or more wells, a fluid composition associated with the well of the one or more wells, and a well depth of the well of the one or more wells.
In some implementations, processing, by the optimization model, the well data comprises tracking one or more Pareto-optimal solutions of the solution set; and iteratively updating the solution set until one or more stopping criteria are satisfied.
In some implementations, the optimization model is initialized with a set of random production targets representing the solution set.
In some implementations, the process 400 includes defining the optimization model to include a set of decision variables that include production targets for each of the one or more wells; defining the optimization model to include at least two objectives including maximizing a molecular weight of the flash gas (MWF) and maximizing oil production (Qoil); and defining the optimization model to include a set of constraints including at least one of a minimum reservoir pressure, one or more well-specific production targets, a total gas production limit, and a reservoir pressure minimum for maintaining above a bubble point.
Examples of field operations 510 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 510. 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 510 and responsively triggering the field operations 510 including, for example, generating plans and signals that provide feedback to and control physical components of the field operations 510. Alternatively, or in addition, the field operations 510 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 510 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 512 include one or more computer systems 520 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 512 can be implemented using one or more databases 518, which store data received from the field operations 510 and/or generated internally within the computational operations 512 (e.g., by implementing the methods of the present disclosure) or both. For example, the one or more computer systems 520 process inputs from the field operations 510 to assess conditions in the physical world, the outputs of which are stored in the databases 518. For example, seismic sensors of the field operations 510 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 512 where they are stored in the databases 518 and analyzed by the one or more computer systems 520.
In some implementations, one or more outputs 522 generated by the one or more computer systems 520 can be provided as feedback input to the field operations 510 (either as direct input or stored in the databases 518). The field operations 510 can use the feedback/input to control physical components used to perform the field operations 510 in the real world.
For example, the computational operations 512 can process the seismic data to generate three-dimensional (3D) maps of the subsurface formation. The computational operations 512 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 512 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 520 can update the 3D maps of the subsurface formation as information from one exploration well is received and the computational operations 512 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 512 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 512 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 512, 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, accounting for 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 in different countries or other jurisdictions.
The computer 602 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 602 is communicably coupled with a network 624. In some implementations, one or more components of the computer 602 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 602 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 602 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 602 can receive requests over network 624 from a client application (for example, executing on another computer 602). The computer 602 can respond to the received requests by processing the received requests using software applications. Requests can also be sent to the computer 602 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 602 can communicate using a system bus 604. In some implementations, any or all of the components of the computer 602, including hardware or software components, can interface with each other or the interface 606 (or a combination of both), over the system bus 604. Interfaces can use an application programming interface (API) 614, a service layer 616, or a combination of the API 614 and service layer 616. The API 614 can include specifications for routines. data structures, and object classes. The API 614 can be either computer-language independent or dependent. The API 614 can refer to a complete interface, a single function, or a set of APIs.
The service layer 616 can provide software services to the computer 602 and other components (whether illustrated or not) that are communicably coupled to the computer 602. The functionality of the computer 602 can be accessible for all service consumers using this service layer. Software services, such as those provided by the service layer 616, 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 602, in alternative implementations, the API 614 or the service layer 616 can be stand-alone components in relation to other components of the computer 602 and other components communicably coupled to the computer 602. Moreover, any or all parts of the API 614 or the service layer 616 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 602 includes an interface 606. Although illustrated as a single interface 606 in
The computer 602 includes a processor 608. Although illustrated as a single processor 608 in
The computer 602 also includes a database 620 that can hold data (such well data 622) for the computer 602 and other components connected to the network 624 (whether illustrated or not). For example, database 620 can be an in-memory, conventional, or a database storing data consistent with the present disclosure. In some implementations, database 620 can be a combination of two or more different database types (for example, hybrid in-memory and conventional databases) according to implementations of the computer 602 and the described functionality. Although illustrated as a single database 620 in
The computer 602 also includes a memory 610 that can hold data for the computer 602 or a combination of components connected to the network 624 (whether illustrated or not). Memory 610 can store any data consistent with the present disclosure. In some implementations, memory 610 can be a combination of two or more different types of memory (for example, a combination of semiconductor and magnetic storage) according to implementations of the computer 602 and the described functionality. Although illustrated as a single memory 610 in
The application 612 can be an algorithmic software engine providing functionality according to implementations of the computer 602 and the described functionality. For example, application 612 can serve as one or more components, modules, or applications. Further, although illustrated as a single application 612, the application 612 can be implemented as multiple applications 618 on the computer 602. In addition, although illustrated as internal to the computer 602, in alternative implementations, the application 612 can be external to the computer 602.
The computer 602 can also include a power supply 618. The power supply 618 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 618 can include power-conversion and management circuits, including recharging, standby, and power management functionalities. In some implementations, the power-supply 618 can include a power plug to allow the computer 602 to be plugged into a wall socket or a power source to, for example, power the computer 602 or recharge a rechargeable battery.
There can be any number of computers 602 associated with, or external to, a computer system including the computer 602, with each computer 602 communicating over network 624. 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 602 and one user can use multiple computers 602.
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 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.
Several 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 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 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 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.
Several 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.
Several embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the scope of the data processing system described herein. Accordingly, other embodiments are within the scope of the following claims.