Automatic identification of drilling activities based on daily reported job codes
By using drilling templates and rules to map codes in drilling reports to activity tags, generating an activity list, and calculating intangible lost time, the accuracy and efficiency issues of job code identification in drilling reports are resolved, enabling efficient drilling job analysis.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-02-12
- Publication Date
- 2026-03-31
AI Technical Summary
Existing technologies struggle to automatically identify operation codes in drilling reports, especially unplanned operations, and inconsistent code input leads to poor recognition accuracy.
By using drilling templates and rules to map codes in drilling reports to activity tags, an activity list is generated, and the timing information of the activities is displayed, identifying and calculating intangible loss time.
It enables automated identification of drilling activities, improving identification accuracy and efficiency. It can complete in minutes what previously took hours or days using other methods, and provides detailed drilling operation analysis.
Smart Images

Figure CN115244265B_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This application claims priority to U.S. Provisional Patent Application No. 62 / 976,434, filed February 14, 2020, pursuant to 35 USC § 119(e). The entire contents of U.S. Provisional Patent Application No. 62 / 976,434 are incorporated herein by reference. Background Technology
[0003] Drilling reports provide information about activities and sub-activities occurring at well sites using multiple codes. These codes may be inconsistent, incorrectly entered, and may include unplanned operations. One challenge is to automate computer identification of the activities and sub-activities occurring at the well site based on the codes derived from the drilling reports. Summary of the Invention
[0004] Typically, in one or more aspects, this disclosure relates to a method comprising obtaining a drilling report of a well. The drilling report includes multiple codes. The method also includes obtaining a template comprising multiple rules, the multiple rules including a single rule. The rule maps one or more codes from the multiple codes in the drilling report to an activity tag in the activity tags. The method further includes: using the rule to map the multiple activity tags to the drilling report to identify the occurrence of activities from the drilling report having activity tags; and displaying a list of activities, the list including activity tags and timing information for the activities at the well.
[0005] Other aspects of this disclosure will become apparent from the following description. Attached Figure Description
[0006] Figure 1 A schematic diagram of a system according to a disclosed implementation is shown.
[0007] Figure 2 A schematic diagram of a system according to a disclosed implementation is shown.
[0008] Figure 3.1 and Figure 3.2 A flowchart based on the disclosed implementation scheme is shown.
[0009] Figure 4.1 , Figure 4.2 , Figure 4.3 , Figure 4.4 , Figure 4.5 , Figure 4.6 and Figure 4.7 An example based on the published implementation is shown.
[0010] Figure 5.1 and Figure 5.2 A computing system according to a disclosed implementation is shown. Detailed Implementation
[0011] The specific embodiments will now be described in detail with reference to the accompanying drawings. For consistency, similar elements in the various drawings will be labeled with similar reference numerals.
[0012] In the following detailed description of embodiments of this technology, numerous specific details are set forth in order to provide a more thorough understanding. However, it will be apparent to those skilled in the art that various embodiments can be implemented without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description.
[0013] Throughout the application, ordinal numbers (e.g., first, second, third, etc.) may be used as adjectives for elements (i.e., any noun in this application). Unless explicitly disclosed, the use of ordinal numbers is not intended to imply or create any particular order of elements, nor to limit any element to a single element, such as through the use of terms like “before,” “after,” “single,” and others. Rather, the use of ordinal numbers is for distinguishing elements. For example, a first element is distinct from a second element, and a first element may contain more than one element and be after (or before) the second element in the order of elements.
[0014] Typically, templates define rules for identifying codes from drilling reports. These codes in the drilling report identify specific activities that occur at the well site during the exploration and production process. Applying a template to a drilling report automatically identifies well activities and the time spent on those activities. The time spent can be used to identify intangible lost time from well operations. Furthermore, by identifying codes and associating them with activities, a user interface that provides detailed analysis of drilling operations can be generated.
[0015] Identifying rig activity from drilling reports (also known as daily drilling reports (DDR)) is part of drilling performance analysis. Identification identifies the duration and rate of drilling activity and allows for comparisons across a set of wells (field, rig, year, etc.). One challenge in automating identification is dealing with unplanned operations that occur during the drilling process (e.g., fishing operations, well control events, etc.). Another challenge is the quality / accuracy of the DDR codes. The algorithm configuration capabilities disclosed herein can address these challenges and produce high-quality results.
[0016] The systems and methods described below can process historical records from multiple wells and estimate the time and rate of drilling activity in minutes, rather than the hours and days required by previous methods. Input data used for automated identification includes the codes and sub-codes of the operations recorded in the drilling reports. The input data is processed using a borehole template (also referred to as a “template”).
[0017] Automated identification is based on drilling templates (see below) Figure 2 (Description). Different wells may have different profiles, which use different codes in the drilling report. Accordingly, multiple templates can be used to handle the differences between wells using different profiles. Once identification has been performed using templates, the results can be presented as a list of activities with the time achieved for each activity (and the rate under adaptive conditions). The identification results can be used to identify the best-performing performance and calculate the intangible loss time (ILT).
[0018] Once identification is complete, unassigned time is processed and broken down into gaps / unidentified activities, which can be any activity manually assigned to each template. Modifications to templates may trigger real-time recalculations. Conflicting situations (e.g., different rules identifying different activities for the same code) may be marked as unidentified activities. When activities are identified, they can be used to calculate intangible loss time, to filter high-frequency performance metrics, and to calculate the best-of-breadth (BoB) drilling time across multiple wells.
[0019] Hundreds of historical wells can be identified. Poorly identified activities may be excluded. Good wells and activities can be used to calculate targets or display trends. Identification quality is tracked by a separate performance metric and can be compared to a threshold. Identification quality above the threshold is considered good, and identification quality below the threshold may be considered poor. Once well activity is identified, more detailed analysis can be performed by increasing the granularity of the activities identified in the graphical user interface.
[0020] Now turn to the attached diagram. Figure 1 A partial cross-sectional schematic diagram of an onshore oil field (101) and an offshore oil field (102) in which one or more implementation schemes can be carried out is depicted. Figure 1 The embodiments may include the features and embodiments described in other figures of this application. These may be omitted, repeated, and / or substituted. Figure 1 One or more of the modules and components shown. Accordingly, the implementation should not be considered limited to Figure 1 The specific arrangement of the modules shown is illustrated.
[0021] like Figure 1As shown, the oilfield (101) and (102) include a geological sedimentary basin (106), a well site system (192), (193), (195), (197), wellbores (112), (113), (115), (117), data acquisition tools (121), (123), (125), (127), surface units (141), (145), (147), drilling rigs (132), (133), (135), production equipment (137), surface storage tanks (150), production pipelines (153), and an E&P computer system (180) connected to the data acquisition tools (121), (123), (125), (127) via a communication link (171) managed by a communication repeater (170).
[0022] Geological sedimentary basins (106) contain subsurface strata. For example... Figure 1 As shown, the subsurface strata may include several geological layers (106-1 to 106-6). As illustrated, the strata may include a basement (106-1), one or more shale layers (106-2, 106-4, 106-6), a limestone layer (106-3), a sandstone layer (106-5), and any other geological layers. A fault plane (107) may extend through the strata. In particular, the geological sedimentary basin includes rock strata and may include at least one reservoir containing fluids, such as a sandstone layer (106-5). The rock strata may include at least one sealing rock, such as a shale layer (106-6), which may serve as a top seal. The rock strata may include at least one source rock, such as a shale layer (106-4), which may serve as a source of hydrocarbon generation. The geological sedimentary basin (106) may also contain accumulations of hydrocarbons or other fluids associated with certain characteristics of the subsurface strata. For example, aggregates (108-2), (108-5), and (108-7) that are associated with structurally high regions of reservoir (106-5) and contain any combination of gas, oil, water, or these fluids.
[0023] Data acquisition tools (121), (123), (125), and (127) can be positioned at various locations along oilfield (101) or oilfield (102) to collect data (106) from subsurface strata in a geological sedimentary basin; this is referred to as exploration or logging operations. Specifically, various data acquisition tools are adapted to measure strata and detect the physical properties of rocks, subsurface strata, fluids contained in the rock matrix, and the geological structure of the strata. For example, data maps (161), (162), (165), and (167) are drawn along oilfields (101) and (102) to illustrate the data generated by the data acquisition tools. Specifically, static data map (161) is the seismic two-way response time. Static data map (162) is core sample data measured from core samples of any subsurface strata (106-1 to 106-6). Static data map (165) is the logging trace, referred to as the well log. The production decline curve or graph (167) is a dynamic data plot of fluid velocity over time. Other data may also be collected, such as historical data, analyst user input, economic information and / or other measurement data and other parameters of interest.
[0024] Figure 1 The data acquisition shown can be performed at various stages of the planned well. For example, during the early exploration phase, seismic data (161) can be collected from the surface to identify possible locations of hydrocarbons. Seismic data can be collected using a seismic source that generates a controlled amount of seismic energy. In other words, the seismic source and the corresponding sensor (121) are examples of data acquisition tools. An example of a seismic data acquisition tool is a seismic acquisition vessel (141) that generates and transmits seismic waves below the surface. Sensors (121) and other equipment located at the oil field can include functions for detecting the obtained raw seismic signals and transmitting the raw seismic data to the surface unit (141). The obtained raw seismic data can include the effects of seismic waves reflected from subsurface strata (106-1 to 106-6).
[0025] After seismic data is collected and analyzed, additional data acquisition tools can be used to collect supplementary data. Data acquisition can be performed at different stages of the process. Data acquisition and corresponding analysis can be used to determine where and how drilling, production, and completion operations are performed to collect downhole hydrocarbons from the oilfield. Typically, exploration, wellbore, and production operations are referred to as oilfield operations (101) or (102). These oilfield operations can be performed according to the instructions of surface units (141), (145), and (147). For example, oilfield operation equipment can be controlled by oilfield operation control signals sent from the surface unit.
[0026] For example Figure 1As shown, oil fields (101) and (102) include one or more well site systems (192), (193), (195), and (197). A well site system is associated with a drilling rig or production equipment, a wellbore, and other well site equipment configured to perform wellbore operations such as logging, drilling, fracturing, production, or other applicable operations. For example, well site system (192) is associated with a drilling rig (132), a wellbore (112), and drilling equipment to perform drilling operations (122). Well site systems may be connected to production equipment. For example, well system (197) is connected to a surface storage tank (150) via a fluid delivery pipeline (153).
[0027] Surface units (141), (145), and (147) may be operatively coupled to data acquisition tools (121), (123), (125), (127) and / or well site systems (192), (193), (195), and (197). Specifically, the surface units are configured to send commands to and receive data from the data acquisition tools and / or well site systems. The surface units may be located at the well site system and / or a remote location. The surface units may be equipped with computer facilities (e.g., an E&P computer system) for receiving, storing, processing, and / or analyzing data from the data acquisition tools, the well site system, and / or other parts of the oilfield (101) or (102). The surface units may also be equipped with or have the functionality of mechanisms for actuating components of the well site system. The surface units may then send command signals to the well site system components in response to the received, stored, processed, and / or analyzed data, for example, to control and / or optimize the various oilfield operations described above.
[0028] Ground units (141), (145), and (147) can be communicatively coupled to the E&P computer system (180) via a communication link (171). Communication between the ground units and the E&P computer system can be managed via a communication repeater (170). For example, a satellite, tower antenna, or any other type of communication repeater can be used to collect data from multiple ground units and transmit the data to the remote E&P computer system for further analysis. Typically, the E&P computer system is configured to analyze, model, control, optimize, or perform management tasks on the aforementioned oilfield operations based on data provided from the ground units. The E&P computer system (180) can be configured with functions for manipulating and analyzing data, such as analyzing seismic data to determine the location of hydrocarbons in a geological sedimentary basin (106) or performing simulations, planning, and optimization of E&P operations on the well site system. The results generated by the E&P computer system can be displayed to the user for viewing on a two-dimensional (2D) display, a three-dimensional (3D) display, or other suitable display. Figure 1The ground unit is shown as separate from the E&P computer system, but in other examples, the ground unit and the E&P computer system may be combined. The E&P computer system and / or the ground unit may correspond to a computing system, such as... Figure 5.1 and Figure 5.2 The computational system is shown in the figure and described below.
[0029] Figure 2 A schematic diagram of an embodiment according to this disclosure is shown. Figure 2 The system 100 is shown, which performs automatic identification of drilling activities based on the job codes reported daily. Figure 2 The implementation schemes can be combined and may include or be included in other figures of this application. Figure 2 Its features and components represent individual and combined improvements to computing technologies. For example... Figure 2 As shown, elements can be omitted, repeated, combined, and / or changed. Figure 2 The various elements, systems, and components shown are included. Accordingly, the scope of this disclosure should not be considered limited to... Figure 2 The specific layout is shown.
[0030] Go to Figure 2 The system (200) includes a computing system (222) that identifies activities and sub-activities occurring at the well based on codes from drilling reports from the well. The computing system (222) includes a server application (224).
[0031] A server application (224) is a set of programs that execute on a computing system (222). The server application (224) maps and displays information to a client device (214). The server application (224) can form a Software as a Service (SaaS) platform and utilize container-based deployment, event-driven protocols, non-blocking input / output (I / O) models, SQL (Structured Query Language), NoSQL (Unstructured Query Language) data modeling, RESTful API design, etc. The programs that form the server application (224) can be deployed in a local container on the computing system (222). The server application (224) includes a mapping module (230) and a presentation module (232).
[0032] The mapping module (230) is a set of programs that execute on the computing system (222). The mapping module (230) uses rules (258) from the template (256) and codes (254) from the drilling report (252) to map activity tags (260) to the drilling report (252). Mapping activity tags (260) to the drilling report (252) identifies the activities and sub-activities that occurred at the well recorded in the drilling report (252). The mapping module (230) stores the mapping or relationship between activity tags and drilling reports in a storage device.
[0033] The presentation module (232) is a set of programs that execute on the computing system (222). The presentation module (232) displays information from the drilling report (252) to the client application (216) on the client device (214). Specifically, the presentation module (232) is configured to generate a user interface.
[0034] The client device (214) is Figure 5.1 and Figure 5.2 The implementation scheme includes a computing system (500) and nodes (522) and (524). The client device (214) includes a client application (216) for accessing the server application (224). The client application (216) may include a graphical user interface for interacting with the server application (224). Users can operate the client application (216) to generate and view drilling report information, which identifies well activities and sub-activities from codes (254) in the drilling report (252).
[0035] The client application (216) may be a web browser that accesses the server application (224) using a webpage hosted by the computing system (222). Alternatively, the client application (216) may be a web service that communicates with the server application (224) using a RESTful API. Although a client-server architecture is shown, one or more parts of the server application (224) may be native applications on the client device without departing from the scope of the claimed protection.
[0036] The repository (218) is a computing system that may include, according to the following... Figure 5.1 and Figure 5.2The computing system (500) and multiple computing devices of nodes (522) and (524) described herein. The repository (218) may be hosted by a cloud service provider for E&P service providers. The cloud service provider may provide hosting, virtualization, and data storage services, as well as other cloud services, and the E&P service provider may operate and control the data, programs, and applications of the system (200). The data in the repository (218) may include drilling reports (252), codes (254), templates (256), rules (258), and activity tags (260). The data in the repository (218) may be processed by a program executed on the computing system (222) described below. The repository (218) may be hosted by the same cloud service provider as the computing system (222). The drilling reports (252), codes (254), templates (256), rules (258), and activity tags (260) may be stored by the repository (218) in multiple computer data files.
[0037] A drilling report (252) (also known as a “daily drilling report”) is generated from wells that can be monitored by the system (200). A drilling report is a report on drilling activities. A drilling report (252) includes codes (254) that encode the activities. A drilling report can be generated daily for each well and includes codes for the operations that occurred at the well site that day. A drilling report can identify multiple well sections, and the codes in the drilling report can be grouped by well section. The drilling report also provides time intervals (start / end date and time) or timestamps and durations for each code.
[0038] Code (254) includes a code and sub-codes. The code and sub-codes identify the work done at the well and are recorded in the drilling report (252). Multiple wells can use the same code, and different organizations (e.g., clients of an E&P service provider) can use different codes. Code (254) may include:
[0039]
[0040] The template (256) is a collection of storage rules (258). The drilling template (256) describes the sequence of well construction activities for each well section. The template can be viewed as a spreadsheet with rows and columns, an example of which is shown in... Figure 4.1 As shown in the figure. Template (256) may include rows for each activity and sub-activity, and columns for rules for activities and sub-activities.
[0041] Each activity contains a set of identification rules (258). Identification rules may include: drilling report codes from which an activity may begin, end, and / or include the drilling report codes; and additional properties that may improve the identification results (e.g., activity direction (run-in or run-out), activity priority, dependencies, etc.). Rules (258) map certain codes (254) to certain activity labels (260). Rules (258) may include primary rules, include rules, common rules, direction restriction rules, activity priority, and restriction order rules. Primary rules (start / stop) are used to trigger the start / end of an activity with a specific set of codes. Include rules (Include, Include Start, Include End, Include Start End) are used to include specific drilling report codes when an activity has been triggered or started. Common rules are for codes that may appear during multiple operations (e.g., codes that may appear in operations including well control, rig service, safety meetings, etc.). Direction restriction rules (e.g., RIH / POOH) are additional direction restrictions that can be applied to any rules that may be applied to an activity.
[0042] Activity priority is used to set the order of identification, which can affect the identification results, such as when multiple activities are based on the same code. The restricted sequence of rules (previous activity / next activity / after activity / previous activity) defines the dependencies between activities. Rules restricting the order are used to reduce the impact of incorrect drilling report codes on identification results (e.g., casing activity follows drilling activity during a certain well interval).
[0043] An activity tag (260) is a tag that identifies an activity at a well. An activity tag uniquely identifies an activity. An activity tag can be a human-readable tag that internally describes the activity. In other words, an activity tag is a description of the activity compared to code. An activity tag can be a text string.
[0044] Figure 3.1 and Figure 3.2 Flowcharts of processes (300) and (350) according to this disclosure are shown. Process (300) identifies activities from the codes in the drilling report. Process (350) analyzes the drilling report activities. Figure 3.1 and Figure 3.2 The implementation schemes can be combined and may include or be included in other figures of this application. Figure 3.1 and Figure 3.2The individual and ordered combination of features is an improvement in computing system technology. Although the individual blocks in the flowchart are shown and described sequentially, those skilled in the art will understand that at least some blocks can be executed in a different order, can be combined or omitted, and at least some blocks can be executed in parallel. Furthermore, these blocks can be executed actively or passively. For example, some blocks can be executed using polling or interrupt-driven methods. For instance, a determination block may prevent the processor from processing instructions unless an interrupt indicating the presence of a condition is received. As another example, determination can be performed by executing tests, such as checking data values to test whether the value matches a test condition.
[0045] Go to Figure 3.1 The process (300) marks the activity to the drilling report from the well. In box 302, the drilling report for the well is obtained. The drilling report can be obtained by accessing a repository that stores drilling reports for multiple wells. When drilling reports are generated, for example daily, the repository can receive the drilling reports from the computing system located at the well.
[0046] In box 304, a template comprising multiple rules is obtained, which map codes from daily drilling reports to activity tags. The template can be obtained by accessing a repository storing templates for wells monitored by the system. For a specific drilling report, the well referenced in the report is identified. Based on the well, the corresponding template matching the well is identified.
[0047] In box 306, rules are used to map activity tags to drilling reports to identify the occurrence of activities from drilling reports with activity tags. The mapping can be stored as a list of activities, which includes activity tags and identifies the start and / or end dates and times of each activity and sub-activity.
[0048] In box 308, a list of activities with activity tags and timing information is displayed. The activity list can be displayed by transmitting it to a client device that displays it. The activity list can be displayed along with information from the drilling report used to generate the activity list.
[0049] Go to Figure 3.2 The process (350) analyzes and presents information derived from the drilling report. This information may include intangible loss time (ILT), performance metrics, and recommendations to reduce the amount of time spent performing well activities.
[0050] In box 352, the activity list is displayed in the logging record, containing drilling report information, codes, and activity tags from the drilling report. The logging record can be transmitted to and displayed on a client device, an example of which is shown below. Figure 4.2As shown in the diagram. Additionally, changes to the template of markers that may affect activity can be handled and displayed in real time on the logging record.
[0051] In box 354, Invisible Loss Time (ILT) is calculated based on timing information and activity labels mapped to the drilling report. ILT can be calculated for each well in a set of wells. For each well, the time spent on each activity within the activity is identified. The best-of-best (BoB) time (i.e., minimum time) for each activity is identified from the set of wells. The best-of-best time can be subtracted from the time spent on the activity to obtain the ILT.
[0052] In box 356, filtering performance metrics identify activities based on intangible loss time. Performance metrics can include the amount of time spent executing sub-activities with an activity. The system identifies a performance metric for each well that results in intangible loss time. Performance metrics for each well or activity can be categorized based on the amount of intangible loss time associated with a given performance metric. Therefore, performance metrics with higher intangible loss time are presented first.
[0053] In box 358, the optimal (BoB) program time is displayed alongside and compared to the actual program time of the well. The optimal program time can be displayed as a bar chart, which includes bar components for each of the well's activities and sub-activities, an example of which is shown in [example missing]. Figure 4.3 As shown in the diagram. The actual time spent can be displayed in one bar, and the optimal time required can be displayed in a second bar to show the intangible lost time.
[0054] Figure 4.1 , Figure 4.2 , Figure 4.3 , Figure 4.4 , Figure 4.5 , Figure 4.6 and Figure 4.7 Examples of systems and interfaces according to this disclosure are shown. Figure 4.1 An example template with rules that map code to activities is shown. Figure 4.2 An example of a logging view is shown, which displays drilling report information and activity mapped from codes derived from the drilling report. Figure 4.3 , Figure 4.4 , Figure 4.5 , Figure 4.6 and Figure 4.7 An example of analyzing drilling report information with intangible loss time is shown. Figure 4.1 , Figure 4.2 , Figure 4.3 , Figure 4.4 , Figure 4.5 , Figure 4.6 and Figure 4.7The implementation schemes can be combined and may include or be included in other figures of this application. Figure 4.1 , Figure 4.2 , Figure 4.3 , Figure 4.4 , Figure 4.5 , Figure 4.6 and Figure 4.7 The features and components are individual and combined improvements to the technologies of computing systems and machine learning systems. As shown in the figure, these can be omitted, repeated, combined, and / or changed. Figure 4.1 , Figure 4.2 , Figure 4.3 , Figure 4.4 , Figure 4.5 , Figure 4.6 and Figure 4.7 The various features, elements, widgets, components, and interfaces shown are illustrated. Accordingly, the scope of this disclosure should not be considered limited to... Figure 4.1 , Figure 4.2 , Figure 4.3 , Figure 4.4 , Figure 4.5 , Figure 4.6 and Figure 4.7 The specific arrangement is shown in the figure.
[0055] Go to Figure 4.1 The template (400) can be presented to and displayed on a client device. The template (400) includes rows (401) to (406) and columns (407) to (417).
[0056] Row (407) is the header row that identifies the meaning of columns (401) through (406). Rows (408) through (417) list the rules that identify the activities and sub-activities that occur at the well. For example, row (408) identifies the rules for the "Prepare" activity, which are defined in the cells of column (403).
[0057] Column (401) identifies the activities defined within template (400). For example, the cells at row (408) and column (401) indicate that row (408) provides rules for the "Prepare" activity.
[0058] Column (402) identifies sub-activities of the activity defined in column (401). For example, rows (409) and (410) indicate that the activity “P / U,M / U & RIH-BHA” includes the sub-activities “P / U, M / U & RIH BHA” (in row (409)) and “stratigraphic integrity test” (in row (410)).
[0059] Column (403) identifies the start rules for activities and sub-activities of columns (401) and (402). For example, the cell in row (409) of column (403) indicates the code “(AW, DRT), (D_, DRT)” in the drilling report, which indicates the start of the sub-activity “P / U, M / U & RIHBHA”.
[0060] Column (404) identifies the rules for the inclusion of activities and sub-activities in columns (401) and (402). For example, the cell at row (414) of column (404) indicates that the code “(C_, PCD), (PH, PCD), (C_, RUD), (PH, RUD), (C_, CSR)” in the drilling report indicates that “Run-in casing to total well depth (RIH CSG to TD)” has been triggered.
[0061] Column (405) identifies the end rules for activities and sub-activities of columns (401) and (402). If a code is included in a cell in column (405), the code in the drilling report will indicate the end of the activity or sub-activity.
[0062] Column (406) identifies the activities and sub-activities of columns (401) and (402), including the start rules. For example, the cell at row (415) of column (406) indicates that the code “(C_, RUD)” indicates in the drilling report that the “Circ forCement” sub-activity and the “Cementing” activity have started.
[0063] Different rules can be used, which can include main rules and supplementary rules. Each type of rule can have a separate column.
[0064] The main rules can include start rules and end rules. A start rule identifies the start code that indicates the beginning of a sub-activity. If no end rule is found and the end rule is optional, the start rule can identify the end of the sub-activity (i.e., the start rule code can end the previous sub-activity). An end rule identifies the code that indicates the end of a sub-activity. If no start rule is found and the start rule is optional, the end rule can identify the beginning of the sub-activity.
[0065] Additional rules include include rules, include_start_rules, include_end_rules, include_start_end_rules, and common rules. Include rules identify include code that may exist within sub-activities. An include rule is added if the code appears between the results of the main rules (start and end). Additionally, the collection can include rules such as "*" or "%" to be applied to any code. Include start rules...
[0066] IncludeStart – Once a sub-activity is identified using the main rule, the IncludeStart rule identifies the code next to the start point of the sub-activity or between the main (start or end) code. For example, the Include_start code can immediately follow the start code and appear between the start and end codes. Once a sub-activity is identified by the main rule, the Include_end rule identifies the code next to the end point of the sub-activity or between the main code. Once a sub-activity is identified by the main rule, the Include_start_end rule identifies the code between the end point and the start point of the sub-activity or between the main code. Furthermore, common rules work similarly to the IncludeStart rule, but they apply to a wide variety of sub-activities.
[0067] Go to Figure 4.2 The well logging view (430) can be displayed to and on the client device. The well logging view (430) comprises several rows and columns. Figure 4.2 In the image, a wavy line is shown to represent the text that will be displayed in the actual interface.
[0068] Row (432) displays information and data about the well each day. Column (433) identifies the date associated with row (432).
[0069] Column (434) comprises three columns. The first (leftmost) column identifies the well section (e.g., "12 1 / 4" section, "8 1 / 2" section, etc.) currently being processed. The second (middle) column identifies activities identified and mapped based on templates derived from codes in column (435). The third (rightmost) column identifies sub-activities identified and mapped based on templates derived from codes in column (435). Column (435) includes codes derived from drilling reports.
[0070] The well logging view (430) can be updated in real time. For example, when ( Figure 4.1 When the template (400) is changed to have different rules, the logging view (430) can be updated in response to the change made to the rules of the template (400).
[0071] Go to Figures 4.3 to 4.5 Views (452), (453), and (454) can be shown to and displayed on the client device. Figures 4.3 to 4.5 The views may be adjacent to each other on a single monitor. Views (452), (453), and (454) show the invisible loss time.
[0072] View (452) shows a comparison of the actual time spent on a 12.25” well section for multiple wells with the optimal time to perform similar activities. For example, for well “LORIS 11H”, bar (455) indicates 213.5 hours spent performing activities on the 12.25” well section. Bar (456) indicates 167.27 hours as the optimal time to perform similar activities at different wells. As shown, two bar charts are shown side-by-side for each well. The left bar in the double bar chart is the actual time spent, and the right bar in the double bar chart is the optimal time to perform similar activities at the well. Furthermore, each bar chart shows the hours for each activity superimposed on each other. Thus, the bar charts show the relative amount of time for each activity compared to other activities.
[0073] View (453) shows the intangible loss time of the well. For example, the component of strip (456) is subtracted from the component of strip (455) to generate the component of strip (457), which totals 45.23 hours. The components of the strip represent the activities identified for the well according to the code from the drilling report of the corresponding well.
[0074] View (454) shows the total intangible loss time. The components from each bar in view (453) are added together to generate the components of bar (458), which total 257.84 hours of intangible loss time for the set of wells being analyzed.
[0075] Go to Figures 4.6 to 4.7 Views (472), (473), and (474) can be shown to and displayed on the client device. Figure 4.6 and Figure 4.7 The views in the interface can be adjacent to each other. Views (472), (473), and (474) show the intangible loss time.
[0076] View (472) shows view (454) as a percentage. Figure 4.3 The intangible loss time (as shown in the figure). For example, each component is divided by the sum of the components to generate bar (475).
[0077] View (473) shows the percentages of optimal time, intangible loss time, and non-productive time (NPT) for multiple wells. For example, bar (476) includes the optimal component (477), the intangible loss time component (478), and the non-productive time component (479). The optimal component (477) can be determined by combining the values from ( Figure 4.3 The sum of the components of (456) divided by the components from ( Figure 4.3 The sum of the components in bar (455) is used to calculate the optimal composition of 75.43%. This is achieved by using the values from view (453) ( Figure 4.4 The sum of the components of bar (457) divided by the value from view (452) Figure 4.3 The sum of the components of bar (455) can be used to calculate the intangible loss time component bar (476), which yields a non-productive time percentage of 20.39%. The non-productive time component (479) can be the remaining percentage not covered by the optimal time component (477) or the intangible loss time component (478).
[0078] View (474) shows a combined display of the optimal time, intangible loss time, and non-productive time percentages. Bar (480) can be generated by summing similar time components from the bars of the well shown in view (473) and scaling the results to 100%. For example, for the well being analyzed, the total percentage of intangible loss time is shown as 24.09%.
[0079] The implementation schemes disclosed herein can be implemented on a computing system. Any combination of mobile devices, desktops, servers, routers, switches, embedded devices, or other types of hardware can be used. For example, such as... Figure 5.1 As shown, the computing system (500) may include one or more computer processors (502), non-persistent storage devices (504) (e.g., volatile memory, such as random access memory (RAM), cache memory), persistent storage devices (506) (e.g., hard disk, optical drive such as optical disc (CD) drive or digital versatile disc (DVD) drive, flash memory, etc.), communication interfaces (512) (e.g., Bluetooth interface, infrared interface, network interface, optical interface, etc.), and many other components and functions.
[0080] The computer processor (502) may be an integrated circuit for processing instructions. For example, the computer processor may be one or more cores or microcores of a processor. The computing system (500) may also include one or more input devices (510), such as a touch screen, keyboard, mouse, microphone, touchpad, electronic pen, or any other type of input device.
[0081] The communication interface (512) may include an integrated circuit for connecting the computing system (500) to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, a mobile network, or any other type of network) and / or to another device (such as another computing device).
[0082] Furthermore, the computing system (500) may include one or more output devices (508), such as a screen (e.g., a liquid crystal display (LCD), plasma display, touch screen, cathode ray tube (CRT) monitor, projector, or other display device), printer, external storage device, or any other output device. One or more output devices may be the same as or different from the input devices. The input and output devices may be locally or remotely connected to the computer processor (502), non-persistent storage device (504), and persistent storage device (506). Many different types of computing systems exist, and the aforementioned input and output devices may take other forms.
[0083] Software instructions in the form of computer-readable program code for implementing embodiments of the present technology may be stored, wholly or partially, temporarily or permanently, on a non-transitory computer-readable medium (such as CDs, DVDs, storage devices, disks, magnetic tapes, flash memory, physical memory, or any other computer-readable storage medium). Specifically, the software instructions may correspond to computer-readable program code that, when executed by one or more processors, is configured to perform one or more embodiments of the present technology.
[0084] Figure 5.1 The computing system (500) in the network can be connected to a network or become part of a network. For example, such as Figure 5.2 As shown, the network (520) may include multiple nodes (e.g., node X (522), node Y (524)). Each node may correspond to a computing system, such as... Figure 5.1 The computing system shown, or a combination of nodes, can correspond to Figure 5.1 The computing system shown is illustrated. For example, an implementation of this technology can be implemented on nodes of a distributed system connected to other nodes. As another example, an implementation of this technology can be implemented on a distributed computing system with multiple nodes, wherein each part of this technology can be located on a different node within the distributed computing system. Furthermore, one or more components of the aforementioned computing system (500) can be located at a remote location and connected to other components via a network.
[0085] Although Figure 5.2Not shown, but a node can correspond to a blade in a server chassis connected to other nodes via a backplane. As another example, a node can correspond to a server in a data center. As yet another example, a node can correspond to a computer processor or a microcore of a computer processor with shared memory and / or resources.
[0086] Nodes in the network (520) (e.g., node X (522), node Y (524)) can be configured to provide services to client devices (526). For example, a node may be part of a cloud computing system. A node may include the ability to receive requests from client devices (526) and transmit responses to client devices (526). Client devices (526) may be computing systems, such as... Figure 5.1 The computing system shown. Furthermore, the client device (526) may include all or part of one or more embodiments of the present technology.
[0087] Figure 5.1 and Figure 5.2 The computing system or set of computing systems described herein may include functionality to perform the various tasks disclosed herein. For example, the computing system may perform communication between processes on the same or different systems. Various mechanisms employing some form of active or passive communication can facilitate data exchange between processes on the same device. Examples representing such inter-process communication include, but are not limited to, implementations of files, signals, sockets, message queues, pipes, semaphores, shared memory, message passing, and memory-mapped files. Further details relating to several examples of these non-limiting examples are provided below.
[0088] Based on the client-server network model, sockets can be used as interfaces or communication channel endpoints to enable bidirectional data transfer between processes on the same device. First, following the client-server network model, a server process (e.g., a process providing data) can create a first socket object. Next, the server process binds the first socket object, thus associating it with a unique name and / or address. After creating and binding the first socket object, the server process then waits and listens for incoming connection requests from one or more client processes (e.g., a process seeking data). When a client process wishes to obtain data from the server process, it first creates a second socket object. The client process then continues to generate connection requests, which include at least the second socket object and the unique name and / or address associated with the first socket object. The client process then transmits the connection request to the server process. Depending on availability, the server process may accept the connection request, establish a communication channel with the client process, or, if busy with other operations, queue the connection request in a buffer until the server process is ready. An established connection notifies the client process that communication can begin. In response, the client process can generate a data request specifying the data it desires. This data request is then transmitted to the server process. Upon receiving the data request, the server process analyzes the request and collects the requested data. Finally, the server process generates a response that includes at least the requested data and transmits the response to the client process. The data can more commonly be transmitted as datagrams or character streams (e.g., bytes).
[0089] Shared memory refers to the allocation of virtual memory space to demonstrate that data can be transferred and / or accessed by multiple processes. When implementing shared memory, the initialization process first creates a shareable segment in a persistent or non-persistent storage device. After creation, the initialization process then mounts the shareable segment, subsequently mapping it to the address space associated with the initialization process. After mounting, the initialization process continues to identify and grant access permissions to one or more authorized processes, which can also write data to and read data from the shareable segment. Changes made by one process to data in the shareable segment can immediately affect other processes that are also linked to the shareable segment. Furthermore, when one of the authorized processes accesses the shareable segment, the shareable segment is mapped to the address space of that authorized process. Typically, an authorized process can mount a shareable segment at any given time, not necessarily the initialization process.
[0090] Without departing from the scope of this technology, other techniques may be used to share data between processes, such as the various types of data described in this application. Processes may be part of the same or different applications and may be executed on the same or different computing systems.
[0091] Instead of sharing data between processes or as a supplement, a computing system implementing one or more embodiments of this technology may include the ability to receive data from a user. For example, a user may submit data via a graphical user interface (GUI) on a user device. Data can be submitted via a graphical user interface by the user selecting one or more graphical user interface widgets or by inserting text and other data into the graphical user interface widgets using a touchpad, keyboard, mouse, or any other input device. In response to the selection of a specific item, information about that specific item may be obtained by the computer processor from persistent or non-persistent storage. When the user selects an item, the content of the data obtained about that specific item may be displayed on the user device in response to the user's selection.
[0092] As another example, a request for data about a specific item can be sent to a server operatively connected to a user device via a network. For instance, a user can select a Uniform Resource Locator (URL) link within the user device's web client, thereby initiating a Hypertext Transfer Protocol (HTTP) or other protocol request sent to the web host associated with that URL. In response to the request, the server can retrieve data about the specific selection and send that data to the device that initiated the request. Once the user device has received the data about the specific item, the content of the received data about the specific item can be displayed on the user device in response to the user's selection. Further, in the above example, the data received from the server after selecting the URL link can provide a Hypertext Markup Language (HTML) webpage that can be rendered by the web client and displayed on the user device.
[0093] Once data is obtained, such as by using the techniques described above or from storage, the computing system, when executing one or more embodiments of this technology, can extract one or more data items from the obtained data. For example, it can be... Figure 5.1 The computational system performs extraction as follows. First, the data organization pattern (e.g., syntax, pattern, layout) is determined, which may be based on one or more of the following: position (e.g., bit or column position, the Nth token in the data stream, etc.), attribute (where an attribute is associated with one or more values), or hierarchical / tree structure (composed of layers of nodes at different levels of detail, such as in nested packet headers or nested document sections). Then, within the context of the organization pattern, the raw, unprocessed data symbol stream is parsed into a token stream (or hierarchical structure) (where each token may have an associated token "type").
[0094] Next, extraction criteria are used to extract one or more data items from the token stream or structure, where the extraction criteria are processed according to the organizational pattern to extract one or more tokens (or nodes in a hierarchical structure). For location-based data, tokens at locations identified by the extraction criteria are extracted. For attribute / value-based data, tokens and / or nodes associated with attributes that satisfy the extraction criteria are extracted. For hierarchical / layered data, tokens associated with nodes that match the extraction criteria are extracted. Extraction criteria can be as simple as an identifier string, or they can be queries presented to a structured data repository (where the data repository can be organized according to a database schema or data format such as XML).
[0095] The extracted data can be used for further processing by the computing system. For example, Figure 5.1 The computing system can perform data comparisons while executing one or more embodiments of this technology. Data comparisons can be used to compare two or more data values (e.g., A, B). For example, one or more embodiments can determine whether A > B, A = B, A != B, A < B, etc. This can be done by submitting A, B, and a job code specifying the operation associated with the comparison to an arithmetic logic unit (ALU) (i.e., a circuit that performs arithmetic operations and / or bitwise logic operations on two data values). The ALU outputs the numerical result of the operation and / or one or more status flags associated with the numerical result. For example, the status flags can indicate whether the numerical result is positive, negative, zero, etc. A comparison can be performed by selecting the correct job code and then reading the numerical result and / or the status flags. For example, to determine whether A > B, B can be subtracted from A (i.e., A - B), and the status flags can be read to determine whether the result is positive (i.e., if A > B, then A - B > 0). In one or more embodiments, B can be considered a threshold, and if A = B or if A > B, then A is considered to satisfy the threshold, as determined using the ALU. In one or more embodiments of this technology, A and B can be vectors, and comparing A and B includes comparing the first element of vector A with the first element of vector B, comparing the second element of vector A with the second element of vector B, etc. In one or more embodiments, if A and B are strings, the binary values of the strings can be compared.
[0096] Figure 5.1 The computing system in the database can be implemented and / or connected to a data repository. For example, one type of data repository is a database. A database is a collection of information configured to facilitate data retrieval, modification, reorganization, and deletion. A Database Management System (DBMS) is a software application that provides users with an interface for defining, creating, querying, updating, or managing databases.
[0097] Users or software applications can submit statements or queries to the DBMS. The DBMS then interprets the statements. Statements can be select statements, update statements, create statements, delete statements, etc., requesting information. Furthermore, statements can include specified data or data containers (databases, tables, records, columns, views, etc.), identifiers, conditions (comparison operators), functions (e.g., join, full join, count, average, etc.), sorting (e.g., ascending, descending), or other parameters. The DBMS can execute the statements. For example, the DBMS can access memory buffers, references, or index files to read, write, delete, or any combination thereof in response to the statements. The DBMS can load data from persistent or non-persistent storage and perform calculations in response to queries. The DBMS can then return the results to the user or software application.
[0098] Figure 5.1 The computing system may include functionality for displaying raw and / or processed data (such as the results of comparisons and other processing). For example, data can be displayed using various display methods. Specifically, data can be displayed through a user interface provided by the computing device. The user interface may include a GUI that displays information on a display device such as a touchscreen on a computer monitor or handheld computing device. The GUI may include various GUI widgets that organize what data is displayed and how it is presented to the user. Furthermore, the GUI may directly present data to the user (e.g., data displayed as actual data values via text), or it may be presented by the computing device as a visual representation of the data, such as by visualizing a data model.
[0099] For example, a GUI might first receive a notification from a software application requesting the display of a specific data object within the GUI. Next, the GUI might determine the data object type associated with the specific data object, for example, by obtaining data from data attributes within the data object that identify its type. Then, the GUI might determine any rules specifying the display of that data object type, such as rules specified by the software framework for the data object class or rules specified by any local parameters defined by the GUI for displaying that data object type. Finally, the GUI can obtain the data value from the specific data object and present a visual representation of the data value within a display device according to the rules specified for that data object type.
[0100] Data can also be presented using various audio methods. In particular, data can be presented in an audio format and displayed as sound through one or more speakers operatively connected to a computing device.
[0101] Data can also be presented to users through tactile methods. For example, tactile methods can include vibrations or other physical signals generated by a computing system. For instance, data can be presented to users using vibrations generated by a handheld computer device, which have a predefined duration and intensity to transmit data.
[0102] The above description of the functions demonstrates the work done by... Figure 5.1 computing systems and Figure 5.2 Some examples of the functions performed by nodes and / or client devices in the process. Other functions can be performed using one or more implementations of this technology.
[0103] Although the present technology has been described with respect to a limited number of embodiments, those skilled in the art who benefit from this disclosure will understand that other embodiments can be designed without departing from the scope of the disclosure herein.
Claims
1. A method of automatically identifying drilling activities based on daily report job codes, comprising: performing drilling activities over a period of time with drilling equipment located at a wellsite system, the drilling equipment including a rig at a surface location; collecting drilling information about the drilling activities in a drilling report using one or more data acquisition tools, the data acquisition tools including seismic sensors located at a surface unit at the surface location; obtaining the drilling report for the wellsite system over the period of time from the surface unit located at the wellsite system, the drilling report including a plurality of codes, the plurality of codes identifying specific activities performed by the drilling equipment at the wellsite system over the period of time, the drilling report being generated over the period of time and including information from the one or more data acquisition tools; obtaining a template including a plurality of rules at an exploration and production computer system, the plurality of rules including a mapping between the plurality of codes from the drilling report and a plurality of activity tags; applying the template to the plurality of codes from the drilling report, wherein applying the template to the plurality of codes includes using a rule of the plurality of rules to map an activity tag of the plurality of activity tags; identifying an occurrence of an activity performed by the drilling equipment over the period of time based on the rule of the plurality of rules mapped to the activity tag; generating an activity list based on the occurrence of the activity, the activity list including the activity tag with timing information for the activity at the wellsite system, the activity list including a best program time, the best program time being based on a lowest time for a plurality of wells; calculating an intangible loss time for the wellsite system from the timing information and the plurality of activity tags mapped to the drilling report, the intangible loss time being based on the best program time and the timing information; and presenting the activity list and the intangible loss time at a client device.
2. The method for automatically identifying drilling activities from job codes based on daily reports of claim 1, wherein, presenting the activity list includes: presenting the activity list in a well log view including drilling report information from the drilling report, the plurality of codes, and the activity tags.
3. The method of automatically identifying drilling activities based on daily report job codes of claim 1, further comprising: filtering performance indicators to identify the activity based on the intangible loss time; and presenting a best program time compared to an actual program time, wherein the actual program time includes the timing information for the activity.
4. The method of automatically identifying drilling activities based on daily report job codes of claim 1, further comprising: mapping the activity tag with the rule, wherein the rule is a primary rule, the primary rule identifying one of a start of an activity identified by the activity tag in the drilling report and an end of the activity.
5. The method of automatically identifying drilling activities based on daily report job codes of claim 1, further comprising: mapping the activity tag with the rule, wherein the rule is an inclusion rule that identifies that an activity identified by the activity tag in the drilling report has been triggered based on a code from the plurality of codes that occurred during the activity.
6. The method of automatically identifying drilling activities based on job codes from daily reports of claim 1, further comprising: mapping the activity tag with the rule, wherein the rule is a common rule that identifies a set of codes from the plurality of codes that can occur with respect to a plurality of activity tags.
7. The method of automatically identifying drilling activities based on job codes from daily reports of claim 1, further comprising: mapping the activity tag with the rule, wherein the rule is a directional restriction rule that identifies a direction of an activity identified by the activity tag.
8. The method of automatically identifying drilling activities based on job codes from daily reports of claim 1, further comprising: mapping the activity tag with the rule in response to the activity tag having an activity priority that is greater than a second activity priority of a second activity tag.
9. The method of automatically identifying drilling activities based on job codes from daily reports of claim 1, further comprising: mapping the activity tag with the rule, wherein the activity tag has a sequential dependency selected from the group consisting of a previous activity, a next activity, an after activity, and a before activity.
10. The method of automatically identifying drilling activities based on job codes from daily reports of claim 1, further comprising: flagging a conflict with an unidentified activity tag, wherein the conflict occurs when at least two activity tags are identified by at least two rules from the plurality of rules to correspond to a single portion of the drilling report.
11. A system for automatically identifying drilling activities based on job codes from daily reports, comprising: a drilling rig, the drilling rig comprising a rig at a surface location; a surface unit, the surface unit configured to perform drilling activities at a wellsite system over a period of time; one or more data acquisition tools, the one or more data acquisition tools configured to collect drilling information about the drilling activities, the one or more data acquisition tools comprising a seismic sensor located at a surface unit at the surface location; a memory, the memory coupled to a processor; and an application, the application executing on the processor, using the memory, and configured for: generating a drilling report using the drilling information; obtaining the drilling report for the wellsite system over the period of time from the surface unit located at the wellsite system, the drilling report comprising a plurality of codes that identify specific activities performed by the drilling rig at the wellsite system over the period of time, the drilling report generated over the period of time and comprising information from the one or more data acquisition tools; obtaining, at an exploration and production computer system, a template comprising a plurality of rules, the plurality of rules comprising a mapping relationship between the plurality of codes and a plurality of activity tags from the drilling report; applying the template to the plurality of codes from the drilling report, wherein applying the template to the plurality of codes comprises mapping an activity tag of the plurality of activity tags using a rule of the plurality of rules; identifying, based on the rule of the plurality of rules mapped to the activity tag, an occurrence of an activity performed by the drilling equipment at the wellsite system during the period of time; generating, based on the occurrence of the activity, an activity list comprising the activity tag with timing information for the activity at the wellsite system, the activity list comprising an optimal program time, the optimal program time being based on a lowest time for a plurality of wells; calculating, from the timing information and the plurality of activity tags mapped to the drilling report, an intangible loss time for the wellsite system, the intangible loss time being based on the optimal program time and the timing information; and presenting, at a client device, the activity list and the intangible loss time.
12. The system for automatic identification of drilling activities based on job codes from daily reports of claim 11, wherein, presenting the activity list comprises: presenting the activity list in a well log view comprising drilling report information from the drilling report, the plurality of codes, and the activity tags.
13. The system for automatic identification of drilling activities from job codes in daily reports of claim 11, wherein the application further comprises: filtering performance indicators to identify the activity based on the intangible loss time; and presenting an optimal program time compared to an actual program time, wherein the actual program time comprises the timing information for the activity.
14. The system for automatic identification of drilling activities from job codes in daily reports of claim 11, wherein the application is further configured to: map the activity tags with the rules, wherein the rules are primary rules that identify one of a start of an activity and an end of the activity identified by the activity tags in the drilling report.
15. The system for automatic identification of drilling activities from job codes in daily reports of claim 11, wherein the application is further configured to: map the activity tags with the rules, wherein the rules are inclusion rules that identify that an activity identified by the activity tags in the drilling report has been triggered based on a code of the plurality of codes occurring during the activity.
16. The system for automatic identification of drilling activities from job codes in daily reports of claim 11, wherein the application is further configured to: map the activity tags with the rules, wherein the rules are common rules that identify a set of codes of the plurality of codes that can occur with respect to a plurality of activity tags.
17. The system for automatic identification of drilling activities from job codes in daily reports of claim 11, wherein the application is further configured to: mapping the activity tag with the rule, wherein the rule is a directional restriction rule that identifies a direction of an activity identified by the activity tag.
18. The system for automatic identification of drilling activities from job codes based on daily reports of claim 11, wherein the application is further configured for: mapping the activity tag with the rule in response to the activity tag having an activity priority that is greater than a second activity priority of a second activity tag.
19. The system for automatic identification of drilling activities from job codes based on daily reports of claim 11, wherein the application is further configured for: mapping the activity tag with the rule, wherein the activity tag has a sequential dependency selected from the group consisting of a previous activity, a next activity, an after activity, and a before activity.
20. A non-transitory computer-readable medium comprising computer-readable program code for: performing drilling activities over a period of time with drilling equipment located at a wellsite system, the drilling equipment including a rig at a surface location; collecting drilling information about the drilling activities in a drilling report using one or more data acquisition tools, the data acquisition tools including seismic sensors located at a surface unit at the surface location; obtaining the drilling report for the wellsite system over the period of time from the surface unit located at the wellsite, the drilling report including a plurality of codes that identify specific activities performed by the drilling equipment at the wellsite system over the period of time, the drilling report being generated over the period of time and including information from the one or more data acquisition tools; obtaining a template at an exploration and production computer system that includes a plurality of rules that include a mapping relationship between the plurality of codes from the drilling report and a plurality of activity tags; applying the template to the plurality of codes from the drilling report, wherein applying the template to the plurality of codes includes mapping an activity tag of the plurality of activity tags using a rule of the plurality of rules; identifying an occurrence of an activity performed by the drilling equipment over the period of time based on the rule of the plurality of rules that is mapped to the activity tag; generating an activity list based on the occurrence of the activity, the activity list including an activity tag having timing information for the activity at the wellsite system, the activity list including an optimal program time that is based on a lowest time for a plurality of wells; calculating an intangible loss time for the wellsite system from the timing information and the plurality of activity tags mapped to the drilling report, the intangible loss time being based on the optimal program time and the timing information; and presenting the activity list and the intangible loss time at a client device.
Citation Information
Patent Citations
Double-time analysis of oil rig activity
US20160275133A1