-
2011-01-25
10/726,288
2003-12-02
US 7,876,705 B2
2011-01-25
-
-
Aung S Moe | Feben Haile
2029-02-17
A Single Well Predictive Model (SWPM) software based computer system stores a Single Well Predictive Model (SWPM) software therein. When the SWPM software is executed, the SWPM computer system will: (1) automatically produce a first specific workflow comprised of a first plurality of software modules in response to a first set of user objectives and automatically execute the first specific workflow in response to a first set of input data to produce a first desired product, and (2) automatically produce a second specific workflow comprised of a second plurality of software modules in response to a second set of user objectives and automatically execute the second specific workflow in response to a second set of input data to produce a second desired product. There is no longer any need to separately and independently execute the first plurality of software modules of the first workflow in order to produce the first desired product, and there is no longer any need to separately and independently execute the second plurality of software modules of the second workflow in order to produce the second desired product. A considerable amount of time and labor is saved.
Get notified when new applications in this technology area are published.
G01V1/40 IPC
Seismology; Seismic or acoustic prospecting or detecting specially adapted for well-logging
G06G7/48 IPC
Devices in which the computing operation is performed by varying electric or magnetic quantities Analogue computers for specific processes, systems or devices, e.g. simulators
This application is a Utility Application of prior Provisional Application Ser. No. 60/482,511 filed Jun. 25, 2003 and entitled âSingle Well Predictive Model (SWPM)â.
The subject matter of the present invention relates to a software package stored in the memory of a workstation or other computer system, hereinafter called the âSingle Well Predictive Modelâ or âSWPMâ, which will enable a user to introduce a first user objective and a first set of input data, a processor in the computer system executing the SWPM software in response to the first user objective and first set of input data, the SWPM software generating a first specific workflow in response the first user objective and executing a first plurality of software modules which comprise the first specific workflow utilizing the first set of input data to thereby generate a first product or a result of the execution, the SWPM software generating a second specific workflow in response a second user objective and executing a second plurality of software modules which comprise the second specific workflow utilizing a second set of input data to thereby generate a second product or result of the execution.
Generally speaking, during the execution of software in a processor of a computer system for the purpose of generating a final desired product, it is often necessary to execute a first software module in the processor of the computer system to produce a first product and then, separately and independently, execute a second software module in the processor in response to the first product to produce a second product, and then, separately and independently, execute a third software module in the processor in response to the second product to produce the final desired product. In order to produce the final desired product, it may be necessary to separately and independently execute in the processor of the computer system a multitude of software modules in order to produce the final desired product. The aforementioned execution of the multitude of software modules, in a separate and independent fashion, is very time consuming and is a very laborious task.
Accordingly, there exists a need for a âsoftware based computer systemâ (hereinafter called the âSingle Well Predictive Modelâ or âSWPMâ) that will: (1) automatically produce a first specific workflow comprised of a first plurality of software modules in response to a first set of user objectives and automatically execute the first specific workflow in response to a first set of input data to produce a first desired product, and (2) automatically produce a second specific workflow comprised of a second plurality of software modules in response to a second set of user objectives and automatically execute the second specific workflow in response to a second set of input data to produce a second desired product.
When the SWPM software based computer system is utilized, there would no longer be any need to separately and independently execute the first plurality of software modules of the first workflow in order to produce the first desired product, and there would no longer be any need to separately and independently execute the second plurality of software modules of the second workflow in order to produce the second desired product. As a result, a considerable amount of processor execution time would be saved and, in addition, there would no longer be any need to perform the aforementioned laborious task of separately and independently executing a plurality of software modules in order to produce a final desired product.
The aforementioned âsoftware based computer systemâ of the present invention, known as the âSingle Well Predictive Modelâ or âSWPMâ, is adapted for use in the oil industry. In the oil industry, ideally, all production activities performed in connection with a well should utilize any knowledge concerning the reservoir (e.g., timely pressure interference and rock heterogeneity) adjacent to the well being drilled. However, as a result of the absence of a common three-dimensional (3D) predictive model that can be used not only by reservoir engineers but also by production/drilling/well services engineers, the gap between the reservoir knowledge and day-to-day well decisions remains one of the most significant sources of inefficiency in field management and in field operations. Due to a similar gap between reservoir modeling and production modeling, it is our understanding that clients rarely utilize much of the data that has been acquiredâthey certainly don't maximize what can be interpreted from that data. Furthermore, most of the reservoirs do not have a realistic reservoir predictive model. It is estimated that only 20% of producing reservoir fields have a reservoir model. This indicates that most of the reservoir fields are operated on the basis of knowledge about individual wells. There are a number of reasons for this, chief among them being: the need for necessary experienced personnel, the need for âfit-for-purposeâ software, the sheer size of the reservoir models, and the time required.
Accordingly, there exists a need for a âSingle Well Predictive Modelâ or âSWPMâ software based computer system that will enable a company's staff to get closer to well operations while empowering them with fast interpretation tools utilizing all available data and 3D reservoir models built around a specific well thus enhancing the quality of decisions in field management. The âSWPMâ software based computer system represents an opportunity for a company to differentiate itself in the market by âadding valueâ, where such value is added by introducing a new interpretation service (i.e., the SWPM software) to the company's current and future data acquisition tools and services. In addition, the âreal-time capabilityâ associated with the âSingle Well Predictive Model (SWPM)â software based computer system will be appreciated and utilized significantly in the oil industry because the oil industry as a whole is rapidly progressing toward an âon-timeâ and âdata-to-decisionâ work environment. Finally, the attributes of the âSWPMâ software based computer system of the present invention, including integration and interactiveness and intuitiveness, will be considered when the next generation of âfield predictive modelsâ is created. In addition, there exists a need for an interactive and intuitive flow simulation based âSingle Well Predictive Model (SWPM)â which is used for the purpose of integrating static and dynamic measurements with completion data that can be used by non-reservoir simulation experts. The SWPM will enable the building of 3-D comparative prediction models starting from 1-D information (i.e. from the well). The SWPM will read the formation information of the subject well and create a reservoir flow model for the selected drainage area of the well. From 1 D to 3D, property creation will be done stochastically and then fine-tuned with respect to the available dynamic data of the well. Once the most likely reservoir properties are estimated, SWPM can be used to investigate various predictive scenarios, such as customizing completion strategy, investigating drilling strategy, predicting well performance considering the impact on the reservoir, demonstrating the value of additional data on decision making, and demonstrating the value of new technologies. SWPM will be built around optimized workflows including, petrophysical property estimation, static model construction, model tuning, drilling, completion, production, or intervention. Ease of use and intuitiveness are of utmost importance. SWPM will be used either sequentially in elapsed time mode, or in filly automatic real-time mode.
Accordingly, one aspect of the present invention involves a method for determining a desired product corresponding to a user objective, comprising the steps of: (a) providing a first user objective; (b) providing a first set of input data; (c) automatically generating a first workflow in response to the first user objective; (d) automatically selecting one or more software modules in response to the first workflow; (e) executing the one or more software modules in a processor in response to the first set of input data; and (f) determining a first desired product in response to the executing step (e).
A further aspect of the present invention involves a program storage device readable by a machine tangibly embodying a set of instructions executable by the machine to perform method steps for determining a desired product corresponding to a user objective, the method steps comprising: (a) receiving a first user objective; (b) receiving a first set of input data; (c) automatically generating a first workflow in response to the first user objective; (d) automatically selecting one or more software modules in response to the first workflow; (e) executing the one or more software modules in a processor in response to the first set of input data; and (f) determining a first desired product in response to the executing step (e).
A further aspect of the present invention involves a system responsive to a set of input data and a user objective adapted for generating a desired product corresponding to the user objective, comprising: first apparatus adapted for receiving a first user objective and a first set of input data; second apparatus adapted for automatically generating a first workflow in response to the first user objective; third apparatus adapted for automatically selecting one or more software modules in response to the first workflow; and processor apparatus adapted for automatically executing the one or more software modules in response to the first set of input data and generating a first desired product in response to the execution of the one or more software modules.
A further aspect of the present invention involves a method for determining a final product in response to a user objective, comprising the steps of: (a) providing the user objective and providing input data; (b) generating a specific workflow corresponding to the user objective; (c) selecting a plurality of software modules in response to the specific workflow, the plurality of software modules having a predetermined sequence; (d) executing the plurality of software modules in the predetermined sequence in response to the input data; and (e) generating the final product when the execution of the plurality of software modules in the predetermined sequence is complete.
A further aspect of the present invention involves a program storage device readable by a machine tangibly embodying a set of instructions executable by the machine to perform method steps for determining a final product in response to a user objective, the method steps comprising: (a) providing the user objective and providing input data; (b) generating a specific workflow corresponding to the user objective; (c) selecting a plurality of software modules in response to the specific workflow, the plurality of software modules having a predetermined sequence; (d) executing the plurality of software modules in the predetermined sequence in response to the input data; and (e) generating the final product when the execution of the plurality of software modules in the predetermined sequence is complete.
A further aspect of the present invention involves a system adapted for determining a final product in response to a user objective, comprising: first apparatus adapted for receiving the user objective and receiving input data; second apparatus adapted for generating a specific workflow corresponding to the user objective; third apparatus adapted for selecting a plurality of software modules in response to the specific workflow, the plurality of software modules having a predetermined sequence; fourth apparatus adapted for executing the plurality of software modules in the predetermined sequence in response to the input data; and fifth apparatus adapted for generating the final product when the execution of the plurality of software modules in the predetermined sequence is complete.
Further scope of applicability of the present invention will become apparent from the detailed description presented hereinafter. It should be understood, however, that the detailed description and the specific examples, while representing a preferred embodiment of the present invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become obvious to one skilled in the art from a reading of the following detailed description.
A full understanding of the present invention will be obtained from the detailed description of the preferred embodiment presented hereinbelow, and the accompanying drawings, which are given by way of illustration only and are not intended to be limitative of the present invention, and wherein:
FIG. 1 illustrates a workstation or other computer system representing the Single Well Predictive Model (SWPM) software based computer system of the present invention;
FIG. 2 illustrates the products generated by the recorder or display device of the computer system of FIG. 1;
FIG. 3 illustrates a simple example of model building and its ultimate purpose which is utilized by the SWPM software based computer system of FIG. 1;
FIG. 4 illustrates a simple example of the construction and the functional operation of the SWPM software based computer system which stores the SWPM software illustrated in FIG. 1;
FIG. 5 illustrates a detailed construction of the SWPM software stored in the SWPM software based computer system of FIG. 1;
FIG. 6 illustrates the relationship between the Data Conditioner, the Decision Tool, and the Workflow Harness; this figure showing how the Data Conditioner and the Decision Tool are connected;
FIG. 7 illustrates a schematic diagram of the Data Conditioner; this figure illustrating how multi-domain data coming from various sources (logs, image logs, MDT measurement, cores and production logs) will be processed to create a âcalibrated consistent 1-D petrophysical static modelâ;
FIG. 8 illustrates the one-dimensional (1D) product of the Data Conditioner; this figure being a draft of how the Data Conditioner results are visualized;
FIG. 9 illustrates the steps, within the Decision Tool, which are taken in response to the 1-D product output of the Data Conditioner shown in FIG. 8; this figure showing how the Data Conditioner and the Decision Tool are connected (a detailed version of FIG. 6); it shows the steps to be taken to create product âdecisionsâ out of the Decision Tool;
FIG. 9A illustrates the architecture of the SWPM software shown in FIGS. 1, 4-6; this figure showing how existing software and new software are organized (integrated) in a specific order to create the Single Well Predictive Model (SWPM); this basically shows the engines in the background; the SWPM will use the software in a specific order (which is set according to the Decision Tool) while executing;
FIGS. 10 and 11 illustrate a more detailed construction and functional operation of the SWPM software stored in the SWPM software based computer system of FIG. 1; and
FIGS. 12 through 17 illustrate examples of the functional operation of the SWPM software based computer system of FIG. 1 which stores the SWPM software of the present invention shown in FIGS. 5, 10, and 11.
The Single Well Predictive Model (SWPM) software based computer system of the present invention, which stores the Single Well Predictive Model (SWPM) software of the present invention will: (1) automatically produce a first specific workflow comprised of a first plurality of software modules in response to a first set of user objectives and automatically execute the first specific workflow in response to a first set of input data to produce a first desired product, and (2) automatically produce a second specific workflow comprised of a second plurality of software modules in response to a second set of user objectives and automatically execute the second specific workflow in response to a second set of input data to produce a second desired product. As a result, there is no longer any need to separately and independently execute the first plurality of software modules of the first workflow in order to produce the first desired product, and there is no longer any need to separately and independently execute the second plurality of software modules of the second workflow in order to produce the second desired product. As a result, a considerable amount of processor execution time is saved and, in addition, there is no longer any need to perform the aforementioned laborious task of separately and independently executing a plurality of software modules in order to produce a final desired product.
In addition, the Single Well Predictive Model (SWPM) software based computer system of the present invention, which stores the Single Well Predictive Model (SWPM) software of the present invention, will provide a workflow for the less specialized engineer for the purpose of building a model intuitively which can subsequently be used to predict production performance. The SWPM software of the present invention includes four modules: (1) a Data Entry module used for the purpose of introducing âinput dataâ, (2) a Model Creation module used for the purpose of generating a âSpecific Workflowâ, (3) a Model Calibration module used as a âData Conditionerâ, and (4) a Solutions module used as a âDecision Toolâ. Those modules are supported by a Workflow Storage database which includes a background knowledge database and processes guidance system. According to the âexecution typeâ (e.g., sequential or real-time) and a chosen âUser-objectiveâ which is provided by a user (e.g., Completion Optimization, Stimulation Optimization, Data Valuation, Test Design, Well Reserve & Recovery Estimator, etc), the user will provide âinput dataâ guided by a âspecific workflowâ representing the selected solution workflow. Data Entry (which provides the âinput dataâ) will provide options to the user, including knowledge base and constant property values. When the âinput dataâ is introduced by the user into the Data Entry module and when the âUser-objectiveâ is provided by the user, a âspecific workflowâ will be generated in the Model Creation module wherein a reservoir model around the subject well will be built automatically. The user, as an option, can guide the reservoir model building. Based on the ranges of input data, possible realizations of the reservoir model will be built and provided to the user for selection. The SWPM software will offer a selection methodology or alternatively, the user may choose to retain all realizations. When the âspecific workflowâ model is generated in the Model Creation module, a âData Conditionerâ will be provided wherein validation of the model (represented by the âspecific workflowâ) to observed transient and/or production data will be available in the Model Calibration module. When the representative reservoir flow model is in place (i.e., the âData Conditionerâ has completed its function), the simulator can now be used to achieve the original objective selected at the beginning of the session. Alternatively, the user can choose to investigate other optimization scenarios in the Solutions module, also known as the âDecision Toolâ. A set of results are generated by the âDecision Toolâ in the Solutions module. The set of results generated by the âDecision Toolâ in the Solutions module include a series of predictions which are based on the operations and/or completion scenarios that were provided by the user. The âreal-timeâ version of the Single Well Predictive Model (SWPM) will be able to build consecutive predictive models for specified intervals during the drilling process. The intervals can either be manually chosen or triggered by a geological/petrophysical (rock-fluid) property. Predictive models built during a drilling operation will be saved and be accessible for comparative analysis. A Single Well Predictive Model (SWPM) is an integrated and intuitive software tool that will be enable the user to build the following for an oil/gas well: (1) starting from well logs and other tests, determining storage and conductivity properties in the reservoir around the well bore, (2) constructing a 3D reservoir model around the well bore, and (3) forecasting the performance of the well under various completion and production scenarios (each of these three activities can be done manually with the help of many different software tools). When this stage is reached, the model can then be used for numerous forecasts that can lead to useful decisions, such as (1) where to complete the well for optimizing production, (2) selection of well completion tubular for ensuring the planned production, (3) Modular Dynamic Tester (MDT) and Pressure Transient Test interpretations, (4) Production and pressure test design, and (5) Estimating the reserve around the well bore while drilling (this list can be expanded). The Single Well Predictive Model (SWPM) is an interactive and special guide system that will lead the user from a âdata endâ to a âdecision endâ. During this interactive journey, the SWPM will have access to numerous software tools in the background. The Single Well Predictive Model (SWPM) software includes: (1) a Data Conditioner, (2) a Decision Tool and (3) a Workflow Harness. The relationships between the Data Conditioner and the Decision Tool and the Workflow Harness will be discussed in the following sections of this specification.
Referring to FIGS. 1 and 2, a workstation or other computer system 20 is illustrated in FIG. 1. In FIG. 1, the workstation or other computer system 20 includes a processor 20a connected to a system bus, a recorder or display device 20b connected to the system bus, and a program storage device 20c, such as a memory 20c, connected to the system bus. The program storage device/memory 20c stores a software package therein known as the âSingle Well Predictive Model (SWPM)â software 20c1. The system bus will receive âInput Dataâ 22, such as wellbore data, and the system bus will also receive a set of âUser Objectivesâ 24. In FIG. 2, the recorder or display device 20b of FIG. 1 will ultimately generate, produce, or display one or more âproducts produced for each User Objectiveâ 20b1. In operation, with reference to FIGS. 1 and 2, a user will enter the following information into the workstation/computer system 20 of FIG. 1: the âInput Dataâ 22 and the âUser Objectivesâ 24. When the user provides both the âInput Dataâ 22 and the set of âUser Objectivesâ 24, the processor 20a of the workstation/computer system 20 will execute the âSingle Well Predictive Modelâ software 20c1 (hereinafter, the SWPM software 20c1) and, when that execution is complete, the recorder to display device 20b of FIGS. 1 and 2 will generate, produce, or display the âproducts produced for each User Objectiveâ 20b1. That is, a unique âproductâ 20b1 of FIG. 2 will be generated by the recorder or display device 20b corresponding to each âUser Objectiveâ 24. The workstation or computer system 20 of FIG. 1 may be a personal computer (PC), a workstation, or a mainframe. Examples of possible workstations include a Silicon Graphics Indigo 2 workstation or a Sun SPARC workstation or a Sun ULTRA workstation or a Sun BLADE workstation. The program storage device 20c/memory 20c is a computer readable medium or a program storage device which is readable by a machine, such as the processor 20a. The processor 20a may be, for example, a microprocessor, microcontroller, or a mainframe or workstation processor. The memory 20c, which stores the SWPM software 20c1, may be, for example, a hard disk, a ROM, a CD-ROM, a DRAM, or other RAM, a flash memory, a magnetic storage, an optical storage, registers, or other volatile and/or non-volatile memory.
Referring to FIG. 3, a simple example of model building and its ultimate use or purpose, which is utilized by the SWPM software 20c1 stored in the software based computer system 20 of FIG. 1, is illustrated. In FIG. 3, the simple example of computer model building and its use includes a plurality of steps. In a first step 26 entitled âvariable/alternative dataâ 26, one must first decide âwhat do you want to evaluateâ, step 26a. For example, what reservoir field do you want to evaluate? Then, in step 26b, the âdata entryâ phase 26b will begin, the data being entered via the âdata entryâ step 26b (into the computer system of FIG. 1) corresponding to the entity which one has decided, in step 26a, to evaluate. In a second step 28 entitled âgeological uncertaintyâ, when the âdata entryâ step 26b is complete, one must first âbuild modelsâ in step 28a. In step 28a, your computer models must first be constructed, and, in step 28b âverification of reservoir modelsâ, your computer model must be verified to ensure that it will produce accurate results. Upon completion of steps 28a and 28b, a âverified modelâ has been constructed and tested. The next steps 28c and 28d involve a real-time use of your âverified modelâ, and that real-time use of your âverified modelâ will include the following activity: iterating on various completion or production or operational alternatives.
Referring to FIG. 4, a simple example of one aspect of the construction and the functional operation of the SWPM software based computer system 20 which stores the SWPM software 20c1 of FIG. 1 is illustrated. In FIG. 4, the Single Well Predictive Model software 20c1 of FIG. 1 includes four basic steps: (1) a welcome station 30, (2) a Data Entry step 32, (3) a single well predictive model construction and execution step 34, and (4) a solutions step 36 involving a presentation of generated âsolutionsâ. In the welcome station step 30 in FIG. 4, the user must decide âwhat do you wish to investigate?â. The SWPM software 20c1 is a dynamic well tool kit which will enable a user to perform: test design, completion optimization, and stimulation optimization. The SWPM 20c1 is an incremental data valuator having multi-purpose sensitivity and it can be a productivity/reserve estimator âwhile drillingâ. In the data entry step 32 of FIG. 4, when the user decides to investigate a âparticular entityâ (such as a reservoir field) during the welcome station step 30, a plurality of âinput dataâ is entered into the computer system 20 of FIG. 1 corresponding to that âparticular entityâ, such as âwell dataâ 32a and âreservoir dataâ 32b, thereby creating and storing a âsupplementary knowledge databaseâ 32c. When the âsupplementary knowledge databaseâ 32c is created during the data entry step 32 in response to a set of âinput dataâ provided by a user (including the aforementioned âwell dataâ 32a and âreservoir dataâ 32b), the next step 34 involves âmodel buildingâ and using the recently-built model to perform âmulti-domain integrated executionâ 34b. In the Single Well Predictive Model (SWPM) construction step 34 of FIG. 4 (also called the âmodel construction and executionâ step 34), a âpredictive modelâ 34a is constructed. When the âpredictive modelâ 34a is constructed, the âinput dataâ of step 32 (i.e., the âwell dataâ 32a and the âreservoir dataâ 32b and other data stored in the âsupplementary knowledge databaseâ 32c) is used to âinterrogateâ the âpredictive modelâ 34a during the âmulti-domain integrated executionâ step 34b. That is, the âwell dataâ 32a and the âreservoir dataâ 32b stored in the âsupplementary knowledge databaseâ 32c of step 32 are used to âinterrogateâ the âpredictive modelâ 34a to produce a set of results, where the set of results may include: âpetrophysical property determinationâ 34c or âstatic framework and property distributionâ 34d or âtransition to Flow and Equilibrationâ 34e, or âDynamic Data Verificationâ 34f. The results of that âinterrogationâ of the âpredictive modelâ 34a (including the results generated during steps 34c, 34d, 34e, and 34f) will be presented to the user during the following âsolutionsâ step 36. In the SWPM âsolutionsâ step 36, the results of the âinterrogationâ of the âpredictive modelâ 34a, which was performed during âmodel construction and executionâ step 34, are presented to a user during this âsolutionsâ step 36. Possible âsolutionsâ presented during this step 36 may include test design, completion, stimulation, data valuation, sensitivity, productivity/reserve estimator while drilling, etc. However, later in this specification, it will be demonstrated that the âpredictive modelâ 34a will first be constructed in response to a set of âUser Objectivesâ and, when the âpredictive modelâ 34a is constructed, the âwell dataâ 32a and the âreservoir dataâ 32b stored in the âsupplementary knowledge databaseâ 32c of step 32 will then be used to âinterrogateâ the newly constructed âpredictive modelâ 34a to produce the set of results. A more detailed construction of the âSingle Well Predictive Model (SWPM)â software 20c1 of FIGS. 1 and 4 will be set forth in the following paragraphs of this specification with reference to FIGS. 5 through 17 of the drawings.
Referring to FIG. 5, a detailed construction of the SWPM software 20c1 of FIGS. 1 and 4 which is stored in the SWPM software based computer system 20 of FIG. 1 is illustrated. In FIG. 5, the Single Well Predictive Model (SWPM) software 20c1 includes a workflow storage 40 adapted for storing a plurality of different workflows (where the term âworkflowâ will be defined below) and adapted for generating a âspecific workflow selected in response to User Objectives and input dataâ 42. The SWPM software 20c1 also includes a workflow harness 44 adapted for receiving the âspecific workflowâ from step 42 and, responsive to that âspecific workflowâ from step 42, selecting a plurality of different software modules from the Data Conditioner and the Decision Tool in response to and in accordance with that âspecific workflowâ (to be discussed in greater detail in the paragraphs to follow). The SWPM software 20c1 further includes a Data Conditioner 46 which is adapted for storing therein a plurality of software modules, including the following nine software modules which are illustrated in FIG. 5 for purposes of discussion only since a multitude of software modules can be stored in the Data Conditioner 46: software module 1, software module 2, software module 3, software module 4, software module 5, software module 6, software module 7, software module 8, and software module 9. The software modules which are stored in the Data Conditioner 46 and are selected by the Workflow Harness 44 will âconditionâ (e.g., calibrate) the âInput Dataâ 22. When the âInput Dataâ 22 is properly âconditionedâ, the selected software modules stored in the Data Conditioner 46 will generate certain particular âData Conditioner Productsâ 48. The SWPM software 20c1 further includes a Decision Tool 50 which is adapted for receiving the âData Conditioner Productsâ 48 and storing therein a further plurality of software modules, including the following nine software modules which are illustrated in FIG. 5 for purposes of discussion only since a multitude of software modules can be stored in the Decision Tool 50: software module 10, software module 11, software module 12, software module 13, software module 14, software module 15, software module 16, software module 17, and software module 18. The Decision Tool 50 will ultimately generate âDecision Tool Products for each Objectiveâ 20b1 which represent the âProducts produced for each User Objectiveâ 20b1 of FIG. 2. A complete description of the functional operation of the SWPM software 20c1 of FIG. 5 of the present invention will be set forth in later sections of this specification with reference to FIGS. 12 through 17 of the drawings. However, the following paragraphs of this specification with reference to FIGS. 6 through 11 will provide further details with respect to the structure and the function of the SWPM software 20c1 of FIG. 5 of the present invention.
Referring to FIGS. 6, 7, 8, 9, and 9A, recalling that the SWPM software 20c1 of FIGS. 1, 4, and 5 include a Data Conditioner 46, a Decision Tool 50, and a Workflow Harness 44, FIG. 6 illustrates the relationships between the Data Conditioner 46, the Decision Tool 50, and the Workflow Harness 44, FIG. 6 showing how the Data Conditioner 46 and the Decision Tool 50 are connected. In FIG. 6, the Decision Tool 50 includes a Static Model Builder and an Interpretation, Forecasting, and Analysis tool. FIG. 7 illustrates how multi-domain data coming from various sources, (such as logs, image logs, Modular Dynamic Tester (MDT) measurements, cores, and production logs) will be processed to create a âcalibrated consistent 1-D petrophysical static modelâ. In FIG. 7, if we look at the key pieces in more detail, the Data Conditioner 46 will provide the 1D (one-dimensional) reservoir properties measured at the well bore. All data will be integrated and interpreted in the Data Conditioner 46 as the beginning of the SWPM execution. Schematically, the Data Conditioner 46 is illustrated in FIG. 7. In FIG. 8, the 1D product output of the Data Conditioner 46 is illustrated in FIG. 8. FIG. 8 shows how a âset of resultsâ generated by the Data Conditioner 46 will be visualized. FIG. 9 shows how the Data Conditioner 46 and the Decision Tool 50 are connected, FIG. 9 representing a detailed version of FIG. 6. In particular, FIG. 9 shows the steps to be taken to generate product âdecisions-reportsâ from the Decision Tool 50. In FIG. 9, the ID product output of the Data Conditioner 46 shown in FIG. 8 will begin the execution of the Decision Tool 50. The steps within the Decision Tool 50, starting with the 1D product output of the Data Conditioner 46 of FIG. 8, is illustrated in FIG. 9.
The third module of the SWPM software 20c1 is the Workflow Harness 44. The Workflow Harness 44 will guide the user from the beginning of the session to the end. Once the user chooses the âUser Objectiveâ from the list provided by the Workflow Harness 44, the Workflow Harness 44 will then call for an âappropriate workflowâ from within a database, and the execution of the SWPM software 20c1 will follow along that âappropriate workflowâ. The âappropriate workflowâ will call numerous application softwares in the right and optimum order. The input/output protocol from one application software to another will also be arranged by the Workflow Harness 44. FIG. 9A shows how a plurality of âsoftware modulesâ are organized or integrated together in a specific order or arrangement to thereby create a Single Well Predictive Model (SWPM). FIG. 9A basically shows the âsoftware modulesâ in the background. The SWPM will use the âsoftware modulesâ in a âspecific orderâ while executing. The âspecific orderâ is established by the Decision Tool. In FIG. 9A, from a software structure point of view, a simplified illustration of the architecture of the SWPM software 20c1 of the present invention is illustrated. In FIG. 9A, the âBasic Simulation Environmentâ including the âCase/Data Treeâ, âRun Managerâ, âData Managerâ, and âResults Viewerâ can be found in U.S. patent application Ser. No. 09/270,128 filed Mar. 16, 1999, entitled âSimulation System including a Simulator and a Case Manager adapted for Organizing Data Files for the Simulator in a Tree-Like Structureâ, the disclosure of which is incorporated by reference into the specification of this application. In FIG. 9A, the âSWPMâ is the âSingle Well Predictive Modelâ software 20c1 disclosed in this specification.
Referring to FIGS. 10 and 11, a more detailed construction of the structure and the functional operation of the SWPM software 20c1 stored in the SWPM software based computer system 20 of FIGS. 1 and 5 is illustrated. In FIG. 10, the SWPM software 20c1 includes the introduction, by a user, of a set of User Objectives 24.
In FIGS. 10 and 11, when the User Objectives 24 are input to the SWPM computer system 20 of FIG. 1, the user will interactively monitor the progress of the execution of the SWPM software 20c1 via the âRule Based Project Execution Guide SystemâInteractive/Automaticâ 52. When the user interactively monitors the progress of execution of the SWPM software 20c1 via the âRule Based Project Execution Guide Systemâ 52, the user always stays at that level, since the user is guided by the system, as indicated by step 53 of FIG. 11. Estimated results 55 are generated, as indicated by step 55 of FIGS. 10 and 11. The results 55 are reported, and the session is over, as indicated by step 57 in FIG. 11.
In FIGS. 10 and 11, in addition to the set of User Objectives 24, the user will also provide the âinput dataâ represented by the âwell dataâ step 22 in FIG. 10. In response to the User Objectives 24 and the âwell dataâ 22, a âselected workflowâ 42 will be chosen from a plurality of workflows stored in the âcustom workflow storageâ 40, the âselected workflowâ 42 representing a âcustom workflowâ 54. The âcustom workflowâ 54 will execute a âfirst plurality of selected software modulesâ which exist along a first path 56 in the Data Conditioner 46 thereby generating the Data Conditioner Products (per depth) 48, and the âcustom workflowâ 54 will also execute a âsecond plurality of selected software modulesâ which exist along a second path 58. The Data Conditioner Products 48, per unit of depth, include porosity, permeability, relative permeability, rock type, lithology, layering, PVT, Pi, WOC, GOC, etc. In FIG. 10, the Data Conditioner 46 includes: (1) methodologies 46a, (2) software modules 46b, and (3) Data and Input/Output 46c. The Decision Tool 50 also includes: (1) methodologies 50a, (2) software modules 50b, and (3) Data and Input/Output 50c. In response to the âUser Objectiveâ 24 provided by the user and the âWell Dataâ also provided by the user, and when the âfirst plurality of software modulesâ along the first path 56 are executed by the processor 20a of FIG. 1, the âsecond plurality of software modulesâ along the second path 58 will then be executed by the processor 20a of FIG. 1. When the âsecond plurality of software modulesâ along the second path 58 is executed, a âDecision Tool Productâ 20b1 is generated which corresponds to the âUser Objectiveâ 24 which is selected and provided by the user. In FIG. 11, the aforementioned functional operation of the SWPM software 20c1 discussed above with reference to FIG. 10 (whereby a âUser Objectiveâ 24 and âInput Dataâ in the form of âWell Dataâ 22 are provided by the user and, responsive thereto, a corresponding âcustom workflowâ 54 is generated from the workflow storage 40, the âcustom workflowâ 54 being executed along two paths 56 and 58 in the Data Conditioner 46 and the Decision Tool 50 thereby generating âDecision Tool Productsâ 20b1) is illustrated again in FIG. 11. In FIG. 11, a plurality of âstepsâ associated with the functional operation of the SWPM software based computer system 20 of FIG. 1 which occurs when the SWPM software 20c1 is executed will be discussed below. In FIG. 11, step 60 in connection with the âUser Objectivesâ 24 indicates that the user must first introduce information corresponding to the ârequestâ where the term ârequestâ means the âobjective of the projectâ or the âUser Objectiveâ 24. Step 62 indicates that âinput dataâ in the form of âwell dataâ 22 must then be introduced into the SWPM software based computer system 20 of FIG. 1. Step 64 indicates that, in response to the ârequestâ or âUser Objectiveâ 24 and the âinput dataâ or the âwell dataâ 22 provided by the user and entered into the SWPM software based computer system 20 of FIG. 1, the appropriate âworkflowâ is automatically selected from the âworkflow storageâ 42. Step 66 indicates that âprogressâ will follow the path of the âselected workflowâ; that is, a âfirst plurality of software modulesâ will be selected from the Data Conditioner 46 and a âsecond plurality of software modulesâ will be selected from the Decision Tool 50 in accordance with the âselected workflowâ, the âfirst plurality of software modulesâ and the âsecond plurality of software modulesâ being executed in sequence by the processor 20a of the SWPM software based computer system 20 of FIG. 1. Step 68 indicates that, when the âfirst plurality of software modulesâ of the Data Conditioner 46 are executed by the processor 20a of FIG. 1, one-dimensional (ID) well model properties are estimated in the Data Conditioner 46 âmulti dimensional solution systemâ. Step 70 indicates that, when the âfirst plurality of software modulesâ of the Data Conditioner 46 are executed by the processor 20a of FIG. 1 and when the resultant one-dimensional (ID) well model properties are estimated in the Data Conditioner 46 âmulti dimensional solution systemâ in response to the completion of the execution of the âfirst plurality of software modulesâ of the Data Conditioner 46, a âset of resultsâ which are produced by the Data Conditioner 46 are collected in the Data Conditioner Products 48, that âset of resultsâ being ready for use in connection with âreservoir modelingâ. Step 72 indicates that, in response to the âset of resultsâ which have been collected in the Data Conditioner Products 48, the âsecond plurality of software modulesâ in the Decision Tool 50 (which were selected from among other software modules in the Decision Tool 50 in accordance with the âselected workflowâ 42) will be executed in sequence by the processor 20a of FIG. 1 in accordance with the established âUser Objectiveâ 24, and, as a result, processing within the Decision Tool 50 of the one-dimensional (ID) data and other dynamic data will now begin. Step 74 indicates that, when the processing within the Decision Tool 50 of the one-dimensional (ID) data and other dynamic data is complete, a âsecond set of resultsâ is generated by the Decision Tool 50 is collected, the âsecond set of resultsâ being ready for use for the ultimate purpose of formulating one or more recommendations which can be made to field personnel.
Referring to FIGS. 12 through 17, a functional description of the operation of the Single Well Predictive Model (SWPM) software based computer system 20 of FIG. 1, including the Single Well Predictive Model (SWPM) software 20c1 of FIGS. 1 and 5 stored in the computer system 20, will be set forth in the following paragraphs with reference to FIGS. 12 through 17 of the drawings.
In FIGS. 12 through 17, the Single Well Predictive Model (SWPM) software 20c1 of FIGS. 1 and 5 is illustrated. The Single Well Predictive Model (SWPM) software based computer system 20 of the present invention as shown in FIG. 1, which stores the Single Well Predictive Model (SWPM) software 20c1 of the present invention will: (1) automatically produce a first specific workflow comprised of a first plurality of software modules in response to a first set of user objectives and automatically execute the first specific workflow in response to a first set of input data to produce a first desired product, and (2) automatically produce a second specific workflow comprised of a second plurality of software modules in response to a second set of user objectives and automatically execute the second specific workflow in response to a second set of input data to produce a second desired product. As a result, there is no longer any need to separately and independently execute the first plurality of software modules of the first workflow in order to produce the first desired product, and there is no longer any need to separately and independently execute the second plurality of software modules of the second workflow in order to produce the second desired product. As a result, a considerable amount of processor execution time is saved and, in addition, there is no longer any need to perform the aforementioned laborious task of separately and independently executing a plurality of software modules in order to produce a final desired product.
In FIGS. 12-17, recall that the Single Well Predictive Model (SWPM) software 20c1 of FIGS. 1, 5, and 12-17 includes a Data Conditioner 46 which generates Data Conditioner Products 48, a Decision Tool 50, and a Workflow Harness 44 operatively connected to the Data Conditioner 46 and the Decision Tool 50, the function of which will be discussed below.
In FIG. 12, assume that the user introduces, as input data, the following information into the Single Well Predictive Model (SWPM) software based computer system 20 of FIG. 1: (1) a first set of User Objectives (i.e., User Objective 1) 24a, and (2) a first set of Input Data (i.e., Input Data 1) 22a. The first set of Input Data 22a are input to the workflow harness 44. The first set of User Objectives 24a are input to the Workflow Storage 40, and, responsive thereto, a first specific workflow (specific workflow 1) 42a corresponding to the first set of User Objectives 24a is generated from the workflow storage 40, the first specific workflow 42a being input to the Workflow Harness 44. Recall that the Data Conditioner 46 includes a âfirst plurality of software modulesâ 46a including the following software modules: software module 1, software module 2, software module 3, software module 4, software module 5, software module 6, software module 7, software module 8, and software module 9. Recall that the Decision Tool 50 includes a âsecond plurality of software modulesâ 50a including the following software modules: software module 10, software module 11, software module 12, software module 13, software module 14, software module 15, software module 16, software module 17, and software module 18. In response to the first specific workflow 42a, the workflow harness 44 will choose âcertain selected ones of the first plurality of software modulesâ 7, 4, 5, 2, and 3 embodied within the Data Conditioner 46. In FIG. 12, the âcertain selected ones of the first plurality of software modulesâ 7, 4, 5, 2, and 3 consist of the following software modules: software module 7, software module 4, software module 5, software module 2, and software module 3. Then, in response to the first specific workflow 42a, the workflow harness 44 will also choose âcertain selected ones of the second plurality of software modulesâ 16, 13, 14, 11, and 12 embodied within the Decision Tool 50. The âcertain selected ones of the second plurality of software modulesâ 16, 13, 14, 11, and 12 consist of the following software modules: software module 16, software module 13, software module 14, software module 11, and software module 12. The âcertain selected ones of the first plurality of software modulesâ 7, 4, 5, 2, and 3 embodied within the Data Conditioner 46 will be executed first by the processor 20a of the computer system 20 of FIG. 1 in response to the âInput Data 1â 22a thereby generating the Data Conditioner Products 48. The Data Conditioner Products 48 will include and will therefore generate a set of âConditioned Dataâ 48a (e.g., calibrated data). Then, in response to the âConditioned Dataâ 48a, the âcertain selected ones of the second plurality of software modulesâ 16, 13, 14, 11, and 12 embodied within the Decision Tool 50 will then be executed by the processor 20a of the computer system 20 of FIG. 1 (while using the Conditioned Data 48a) thereby generating the âDecision Tool Product for User Objective 1â 20b1A.
In FIG. 13, the âspecific workflow 1â 42a of FIG. 12, including the âcertain selected ones of the first plurality of software modulesâ 7, 4, 5, 2, and 3 and the âcertain selected ones of the second plurality of software modulesâ 16, 13, 14, 11, and 12 which are selected from the Data Conditioner 46 and the Decision Tool 50 by the workflow harness 44 and which are executed by the processor 20a of the computer system 20 of FIG. 1, is illustrated. In FIG. 13, in response to the âInput Data 1â 22a, the âcertain selected ones of the first plurality of software modulesâ 7, 4, 5, 2, and 3 are executed in sequence by processor 20a; then, in response to the âConditioned Dataâ 48a, the âcertain selected ones of the second plurality of software modulesâ 16, 13, 14, 11, and 12 are executed in sequence thereby generating the âDecision Tool Product for User Objective 1â 20b1 A.
In FIGS. 12-13, the user introduced a first user objective (User Objective 1) and a first set of input data (Input Data 1) for the purpose of ultimately generating the âDecision Tool Product for User Objective 1â 20b1A. In the following paragraphs, assume that the user introduces a second user objective (User Objective 2) and a second set of input data (Input Data 2) for the purpose of ultimately generating a âDecision Tool Product for User Objective 2â 20b1 B.
In FIG. 14, assume that the user introduces, as input data, the following information into the Single Well Predictive Model (SWPM) software based computer system 20 of FIG. 1: (1) a second set of User Objectives (i.e., User Objective 2) 24b, and (2) a second set of Input Data (i.e., Input Data 2) 22b. The second set of Input Data 22b are input to the workflow harness 44. The second set of User Objectives 24b are input to the Workflow Storage 40, and, responsive thereto, a second specific workflow (specific workflow 2) 42b corresponding to the second set of User Objectives 24b is generated from the workflow storage 40, the second specific workflow 42b being input to the Workflow Harness 44. Recall that the Data Conditioner 46 includes a âfirst plurality of software modulesâ 46a including the following software modules: software module 1, software module 2, software module 3, software module 4, software module 5, software module 6, software module 7, software module 8, and software module 9. Recall that the Decision Tool 50 includes a âsecond plurality of software modulesâ 50a including the following software modules: software module 10, software module 11, software module 12, software module 13, software module 14, software module 15, software module 16, software module 17, and software module 18. In response to the second specific workflow 42b, the workflow harness 44 will choose âcertain selected ones of the first plurality of software modulesâ 7, 8, 9, 6, and 3 embodied within the Data Conditioner 46. In FIG. 14, the âcertain selected ones of the first plurality of software modulesâ 7, 8, 9, 6, and 3 consist of the following software modules: software module 7, software module 8, software module 9, software module 6, and software module 3. Then, in response to the second specific workflow 42b, the workflow harness 44 will also choose âcertain selected ones of the second plurality of software modulesâ 17, 14, 11, 12, and 15 embodied within the Decision Tool 50. The âcertain selected ones of the second plurality of software modulesâ 17, 14, 11, 12, and 15 consist of the following software modules: software module 17, software module 14, software module 11, software module 12, and software module 15: The âcertain selected ones of the first plurality of software modulesâ 7, 8, 9, 6, and 3 embodied within the Data Conditioner 46 will be executed in sequence by the processor 20a of the computer system 20 of FIG. 1 in response to the âInput Data 2â 22b thereby generating the Data Conditioner Products 48. The Data Conditioner Products 48 will include and will therefore generate a set of âConditioned Dataâ 48b (e.g., calibrated data). Then, in response to the âConditioned Dataâ 48b, the âcertain selected ones of the second plurality of software modulesâ 17, 14, 11, 12, and 15 embodied within the Decision Tool 50 will then be executed in sequence by the processor 20a of the computer system 20 of FIG. 1 (while using the Conditioned Data 48b) thereby generating the âDecision Tool Product for User Objective 2â 20b1 B.
In FIG. 15, the âspecific workflow 2â 42b of FIG. 14, including the âcertain selected ones of the first plurality of software modulesâ 7, 8, 9, 6, and 3 and the âcertain selected ones of the second plurality of software modulesâ 17, 14, 11, 12, and 15 which are selected from the Data Conditioner 46 and the Decision Tool 50 by the workflow harness 44 and which are executed by the processor 20a of the computer system 20 of FIG. 1, is illustrated. In FIG. 15, in response to the âInput Data 2â 22b, the âcertain selected ones of the first plurality of software modulesâ 7, 8, 9, 6, and 3 are executed in sequence by processor 20a; then, in response to the âConditioned Dataâ 48b, the âcertain selected ones of the second set of software modulesâ 17, 14, 11, 12, and 15 are executed in sequence thereby generating the âDecision Tool Product for User Objective 2â 20b1B.
In FIGS. 14-15, the user introduced a second user objective (User Objective 2) and a second set of input data (Input Data 2) for the purpose of ultimately generating the âDecision Tool Product for User Objective 2â 20b1 B. In the following paragraphs, assume that the user introduces a third user objective (User Objective 3) and a third set of input data (Input Data 3) for the purpose of ultimately generating a âDecision Tool Product for User Objective 3â 20b1 C.
In FIG. 16, assume that the user introduces, as input data, the following information into the Single Well Predictive Model (SWPM) software based computer system 20 of FIG. 1: (1) a third set of User Objectives (i.e., User Objective 3) 24c, and (2) a third set of Input Data (i.e., Input Data 3) 22c. The third set of Input Data 22c are input to the workflow harness 44. The third set of User Objectives 24c are input to the Workflow Storage 40, and, responsive thereto, a third specific workflow (specific workflow 3) 42c corresponding to the third set of User Objectives 24c is generated from the workflow storage 40, the third specific workflow 42c being input to the Workflow Harness 44. Recall that the Data Conditioner 46 includes a âfirst plurality of software modulesâ 46a including the following software modules: software module 1, software module 2, software module 3, software module 4, software module 5, software module 6, software module 7, software module 8, and software module 9. Recall that the Decision Tool 50 includes a âsecond plurality of software modulesâ 50a including the following software modules: software module 10, software module 11, software module 12, software module 13, software module 14, software module 15, software module 16, software module 17, and software module 18. In response to the third specific workflow 42c, the workflow harness 44 will choose âcertain selected ones of the first plurality of software modulesâ 7, 4, 1, 2, and 3 embodied within the Data Conditioner 46. In FIG. 16, the âcertain selected ones of the first plurality of software modulesâ 7, 4, 1, 2, and 3 consist of the following software modules: software module 7, software module 4, software module 1, software module 2, and software module 3. Then, in response to the third specific workflow 42c, the workflow harness 44 will also choose âcertain selected ones of the second plurality of software modulesâ 18, 17, 14, 15, and 12 embodied within the Decision Tool 50. The âcertain selected ones of the second plurality of software modulesâ 18, 17, 14, 15, and 12 consist of the following software modules: software module 18, software module 17, software module 14, software module 15, and software module 12. The âcertain selected ones of the first plurality of software modulesâ 7, 4, 1, 2, and 3 embodied within the Data Conditioner 46 will be executed in sequence by the processor 20a of the computer system 20 of FIG. 1 in response to the âInput Data 3â 22c thereby generating the Data Conditioner Products 48. The Data Conditioner Products 48 will include and will therefore generate a set of âConditioned Dataâ 48c (e.g., calibrated data). Then, in response to the âConditioned Dataâ 48c, the âcertain selected ones of the second plurality of software modulesâ 18, 17, 14, 15, and 12 embodied within the Decision Tool 50 will then be executed in sequence by the processor 20a of the computer system 20 of FIG. 1 (while using the Conditioned Data 48c) thereby generating the âDecision Tool Product for User Objective 3â 20b1C.
In FIG. 17, the âspecific workflow 3â 42c of FIG. 16, including the âcertain selected ones of the first plurality of software modulesâ 7, 4, 1, 2, and 3 and the âcertain selected ones of the second plurality of software modulesâ 18, 17, 14, 15, and 12 which are selected from the Data Conditioner 46 and the Decision Tool 50 by the workflow harness 44 and which are executed by the processor 20a of the computer system 20 of FIG. 1, is illustrated. In FIG. 17, in response to the âInput Data 3â 22c, the âcertain selected ones of the first plurality of software modulesâ 7, 4, 1, 2, and 3 are executed in sequence by processor 20a; then, in response to the âConditioned Dataâ 48c, the âcertain selected ones of the second plurality of software modulesâ 18, 17, 14, 15, and 12 are executed in sequence thereby generating the âDecision Tool Product for User Objective 3â 20b1C.
The invention being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the invention, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims.
1. A method executed by a computer of determining a desired product corresponding to a user objective, comprising the steps of:
providing a first user objective and a second user objective;
providing a first set of input data selected from one or both of wellbore data and reservoir data, and providing a second set of input data selected from one or both of wellbore data and reservoir data;
automatically generating a first workflow in response to the first user objective, and automatically generating a second workflow in response to the second user objective;
automatically selecting a first subset of software modules of a first tool and a second subset of software modules of a second tool in response to the first workflow, wherein the first subset corresponds to a first path in the first tool that defines a first order of execution of the software modules in the first subset, and wherein the second subset corresponds to a second path in the second tool that defines a second order of execution of the software modules in the second subset;
automatically selecting a third subset of software modules of the first tool and a fourth subset of software modules of the second tool in response to said second workflow, wherein the third subset is different from the first subset, and the fourth subset is different from the second subset, wherein the third subset corresponds to a third path in the first tool that defines a third order of execution of the software modules in the third subset, wherein the third path is different from the first path, wherein the fourth subset corresponds to a fourth path in the second tool that defines a fourth order of execution of the software modules in the fourth subset, and wherein the fourth path is different from the second path;
executing the software modules of the first subset according to the first path on a processor in response to said first set of input data;
executing the software modules of the second subset according to the second path on said processor in response to output from the software modules of the first subset;
executing the software modules in the third subset according to the third path on said processor in response to said second set of input data;
executing the software modules in the fourth subset according to the fourth path on said processor in response to output from the software modules of the third subset;
determining a first said desired product in response to at least executing the software modules of the first and second subsets, wherein the first said desired product includes a model of a reservoir to be produced by a well; and
determining a second said desired product in response to at least executing the software modules of the third and fourth subsets, wherein the second said desired product includes another model of the reservoir.
2. A computer-readable medium readable by a computer tangibly embodying a set of instructions executable by said computer to perform method steps for determining a desired product corresponding to a user objective, said method steps comprising:
receiving a first user objective and a second user objective;
receiving a first set of input data selected from one or both of wellbore data and reservoir data, and receiving a second set of input data selected from one or both of wellbore data and reservoir data;
automatically generating a first workflow in response to the first user objective, and automatically generating a second workflow in response to the second user objective;
automatically selecting a first subset of software modules of a first tool and a second subset of software modules of a second tool in response to the first workflow, wherein the first subset corresponds to a first path in the first tool that defines a first order of execution of the software modules in the first subset, and wherein the second subset corresponds to a second path in the second tool that defines a second order of execution of the software modules in the second subset;
automatically selecting a third subset of software modules of the first tool and a fourth subset of software modules of the second tool in response to said second workflow, wherein the third subset is different from the first subset, and the fourth subset is different from the second subset, wherein the third subset corresponds to a third path in the first tool that defines a third order of execution of the software modules in the third subset, wherein the third path is different from the first path, wherein the fourth subset corresponds to a fourth path in the second tool that defines a fourth order of execution of the software modules in the fourth subset, and wherein the fourth path is different from the second path;
executing the software modules in the first subset according to the first path on a processor in response to said first set of input data;
executing the software modules of the second subset according to the second path on said processor in response to output from the software modules of the first subset;
executing the software modules in the third subset according to the third path on said processor in response to said second set of input data;
executing the software modules in the fourth subset according to the fourth path on said processor in response to output from the software modules of the third subset;
determining a first said desired product in response to at least executing the software modules of the first and second subsets, wherein the first said desired product includes a model of a reservoir to be produced by a well; and
determining a second said desired product in response to at least executing the software modules of the third and fourth subsets, wherein the second said desired product includes another model of the reservoir.
3. A system responsive to a set of input data and a user objective for generating a desired product corresponding to said user objective, comprising:
first apparatus for receiving a first user objective and a first set of input data selected from one or both of wellbore data and reservoir data, and for receiving a second user objective and a second set of input data selected from one or both of wellbore data and reservoir data;
second apparatus for automatically generating a first workflow in response to the first user objective, and automatically generating a second workflow in response to the second user objective;
third apparatus for automatically selecting a first subset of software modules of a first tool and a second subset of software modules of a second tool in response to the first workflow, and automatically selecting a third subset of software modules of the first tool and a fourth subset of software modules of the second tool in response to said second workflow, wherein the third subset is different from the first subset, and the fourth subset is different from the second subset, wherein the first subset corresponds to a first path in the first tool that defines a first order of execution of the software modules in the first subset, the second subset corresponds to a second path in the second tool that defines a second order of execution of the software modules in the second subset, the third subset corresponds to a third path in the first tool that defines a third order of execution of the software modules in the third subset, and the fourth subset corresponds to a fourth path in the second tool that defines a fourth order of execution of the software modules in the fourth subset, where the third path is different from the first path, and the fourth path is different from the second path; and
processor apparatus for automatically executing the software modules of the first subset according to the first path in response to said first set of input data, executing the software modules of the second subset according to the second path in response to output from the software modules of the first subset, executing the software modules of the third subset according to the third path in response to said second set of input data, executing the software modules in the fourth subset according to the fourth path in response to output from the software modules of the third subset, generating a first said desired product in response to at least execution of the software modules of the first and second subsets, and generating a second said desired product in response to at least execution of the software modules of the third and fourth subsets, wherein the first said desired product includes a model of a reservoir to be produced by a well, and wherein the second said desired product includes another model of the reservoir.
4. A method executed by a computer for determining a final product in response to a user objective, comprising the steps of:
providing a first user objective and providing first input data selected from one or both of wellbore data and reservoir data, and providing a second user objective and providing second input data selected from one or both of wellbore data and reservoir data;
generating a first workflow corresponding to said first user objective, and generating a second workflow corresponding to said second user objective;
selecting a plurality of software modules in response to said first workflow, said plurality of software modules including a first subset of software modules having a first predetermined sequence, and a second subset of software modules having a second predetermined sequence, wherein the software modules of the first subset are part of a first tool, and the software modules of the second subset are part of a second tool;
selecting a different plurality of software modules in response to said second workflow, said different plurality of software modules including a third subset of software modules having a third predetermined sequence, and a fourth subset of software modules having a fourth predetermined sequence, wherein the software modules of the third subset are part of the first tool, the software modules of the fourth subset are part of the second tool, wherein the third predetermined sequence is different from the first predetermined sequence, and the fourth predetermined sequence is different from the second predetermined sequence;
executing said software modules of the first subset in said first predetermined sequence in response to said first input data;
executing said software modules of the second subset in said second predetermined sequence in response to output of the first subset of software modules;
executing said software modules of the third subset in said third predetermined sequence in response to said second input data;
executing said software modules of the fourth subset in said fourth predetermined sequence in response to output of the third subset of software modules;
generating a first final product when the execution of said first and second subsets of software modules is complete, wherein said first final product includes a model of a reservoir to be produced by a well; and
generating a second final product when the execution of said third and fourth subsets of said software modules is complete, wherein said second final product includes another model of the reservoir.
5. The method of claim 4, wherein executing said first subset of software modules in said first predetermined sequence in response to said first input data generates first conditioned data; wherein executing said third subset of software modules in said third predetermined sequence in response to said second input data generates second conditioned data; wherein executing said second subset of software modules in said second predetermined sequence is in response to said first conditioned data; wherein executing said fourth subset of software modules in said fourth predetermined sequence is in response to said second conditioned data, said first final product being generated when the execution of said second subset of software modules in said second predetermined sequence is complete, and said second final product being generated when the execution of said fourth subset of software modules in said fourth predetermined sequence is complete.
6. A computer-readable medium readable by a computer tangibly embodying a set of instructions executable by the computer to perform method steps for determining a final product in response to a user objective, said method steps comprising:
providing a first user objective and providing first input data selected from one or both of wellbore data and reservoir data, and providing a second user objective and providing second input data selected from one or both of wellbore data and reservoir data;
generating a first workflow corresponding to said first user objective, and generating a second workflow corresponding to said second user objective;
selecting a plurality of software modules in response to said first workflow, said plurality of software modules including a first subset of software modules having a first predetermined sequence, and a second subset of software modules having a second predetermined sequence, wherein the software modules of the first subset are part of a first tool, and the software modules of the second subset are part of a second tool;
selecting a different plurality of software modules in response to said second workflow, said different plurality of software modules including a third subset of software modules having a third predetermined sequence, and a fourth subset of software modules having a fourth predetermined sequence, wherein the software modules of the third subset are part of the first tool, the software modules of the fourth subset are part of the second tool, wherein the third predetermined sequence is different from the first predetermined sequence, and the fourth predetermined sequence is different from the second predetermined sequence;
executing said software modules of the first subset in said first predetermined sequence in response to said first input data;
executing said software modules of the second subset in said second predetermined sequence in response to output of the first subset of software modules;
executing said software modules of the third subset in said third predetermined sequence in response to said second input data;
executing said software modules of the fourth subset in said fourth predetermined sequence in response to output of the third subset of software modules;
generating a first final product when the execution of said first and second subsets of software modules is complete, wherein said first final product includes a model of a reservoir to be produced by a well; and
generating a second final product when the execution of said third and fourth subsets of said software modules is complete, wherein said second final product includes another model of the reservoir.
7. The computer-readable medium of claim 6, wherein executing said first subset of software modules in said first predetermined sequence in response to said first input data generates first conditioned data; wherein executing said third subset of software modules in said third predetermined sequence in response to said second input data generates second conditioned data; wherein executing said second subset of software modules in said second predetermined sequence is in response to said first conditioned data; wherein executing said fourth subset of software modules in said fourth predetermined sequence is in response to said second conditioned data, said first final product being generated when the execution of said second subset of software modules in said second predetermined sequence is complete, and said second final product being generated when the execution of said fourth subset of software modules in said fourth predetermined sequence is complete.
8. A system for determining a final product in response to a user objective, comprising:
first apparatus for receiving a first user objective and receiving first input data selected from one or both of wellbore data and reservoir data, and for receiving a second user objective and receiving second input data selected from one or both of wellbore data and reservoir data;
second apparatus for generating a first workflow corresponding to said first user objective, and for generating a second workflow corresponding to said second user objective;
third apparatus for selecting a plurality of software modules in response to said first workflow, said plurality of software modules including a first subset of software modules having a first predetermined sequence, and a second subset of software modules having a second predetermined sequence, wherein the software modules of the first subset are part of a first tool, and the software modules of the second subset are part of a second tool; and for selecting a different plurality of software modules in response to said second workflow, said different plurality of software modules including a third subset of software modules having a third predetermined sequence, and a fourth subset of software modules having a fourth predetermined sequence, wherein the software modules of the third subset are part of the first tool, and the software modules of the fourth subset are part of the second tool, and wherein the third predetermined sequence is different from the first predetermined sequence, and the fourth predetermined sequence is different from the second predetermined sequence;
fourth apparatus for executing said software modules of the first subset in said first predetermined sequence in response to said first input data, executing said software modules of the second subset in said second predetermined sequence in response to output of the first subset of software modules, executing said software modules of the third subset in said third predetermined sequence in response to said second input data, and executing said software modules of the fourth subset in said fourth predetermined sequence in response to output of the third subset of software modules; and
fifth apparatus for generating a first final product when the execution of said first and second subsets of software modules is complete, and generating a second final product when the execution of said third and fourth subsets of software modules is complete, wherein said first final product includes a model of a reservoir to be produced by a well, and wherein said second final product includes another model of the reservoir.
9. The system of claim 8, wherein the fourth apparatus for executing said first subset of software modules in said first predetermined sequence in response to said first input data generates first conditioned data; the fourth apparatus for executing said third subset of software modules in said third predetermined sequence in response to said second input data generates second condition data; the fourth apparatus for executing said second subset of software modules in said second predetermined sequence is in response to said first conditioned data; and the fourth apparatus for executing said fourth subset of software modules in said fourth predetermined sequence is in response to said second condition data, said first final product being generated when the execution of said second subset of software modules in said second predetermined sequence is complete and said second final product being generated when the execution of said fourth subset of software modules in said fourth predetermined sequence is complete.
10. The method of claim 1, wherein executing the software modules of the first subset causes conditioning of the first set of input data to provide output that includes conditioned input data.
11. The method of claim 10, wherein conditioning the first set of input data includes interpreting the first set of input data.
12. The method of claim 1, further comprising using the reservoir models to predict performance of producing from the reservoir.
13. The computer-readable medium of claim 2, wherein executing the software modules of the first subset causes conditioning of the first set of input data to provide output that includes conditioned input data.
14. The computer-readable medium of claim 13, wherein conditioning the first set of input data includes interpreting the first set of input data.
15. The computer-readable medium of claim 2, further comprising using the reservoir models to predict performance of producing from the reservoir.
16. The system of claim 3, wherein executing the software modules of the first subset causes conditioning of the first set of input data to provide output that includes conditioned input data.
17. The system of claim 16, wherein conditioning the first set of input data includes interpreting the first set of input data.
18. The system of claim 3, wherein the processor apparatus is to further use the reservoir models to predict performance of producing from the reservoir.
19. The method of claim 4, wherein executing the first subset of software modules causes conditioning of the first input data to provide output that includes conditioned input data.
20. The method of claim 19, wherein conditioning the first input data includes interpreting the first input data.
21. The method of claim 4, further comprising using the reservoir models to predict performance of producing from the reservoir.
22. The computer-readable medium of claim 6, wherein executing the first subset of software modules causes conditioning of the first input data to provide output that includes conditioned input data.
23. The computer-readable medium of claim 22, wherein conditioning the first input data includes interpreting the first input data.
24. The computer-readable medium of claim 6, wherein the method steps further comprise using the reservoir models to predict performance of producing from the reservoir.
25. The system of claim 8, wherein executing the first subset of software modules causes conditioning of the first input data to provide output that includes conditioned input data.
26. The system of claim 25, wherein conditioning the first input data includes interpreting the first input data.
27. The system of claim 8, further comprising a sixth apparatus to use the reservoir models to predict performance of producing from the reservoir.