Claims
- 1. A method comprising:
(a) assembling a set of models that represent components of a value chain, wherein each of the models of said set includes one or more variables, where each of said one or more variables is defined on a corresponding range; (b) selecting values of the variables in their respective ranges to create instantiated models; (c) assembling the instantiated models into a workflow; (d) executing one or more simulation engines on the workflow to generate data output.
- 2. The method of claim 1 further comprising:
(e) storing the selected values of the variables and the data output from the one or more simulation engines to a memory.
- 3. The method of claim 1 further comprising:
repeating (b), (c) and (d).
- 4. The method of claim 3, wherein said repeating covers all possible combinations of values of the variables in their respective ranges.
- 5. The method of claim 3, wherein said repeating achieves a sensitivity analysis by scanning each variable through the corresponding range, one at a time, while maintaining all other variables at nominal values.
- 6. The method of claim 3, wherein said repeating uses an experimental design algorithm to generate combinations of variable values in each iteration of said repeating of (b), (c) and (d).
- 7. The method of claim 1, wherein said selecting of values of the variables includes computing quantiles of one or more user-specified probability distributions.
- 8. The method of claim 1, wherein said selecting of values of the variables is based on a Latin Hypercube sampling of the variables.
- 9. The method of claim 1, wherein said selecting of values of the variables includes choosing a value in a user-specified quantile range [QA, QB] based on a probability distribution specified by a user for a first one of the variables, wherein A and B are integers between zero and 100 inclusive.
- 10. A method comprising:
(a) assembling a set of models that represent components of a value chain, wherein each of the models of said set includes one or more random variables; (b) instantiating the random variables of each model to determine instantiated models; (c) assembling the instantiated models into a workflow; and (d) executing one or more simulation engines on the workflow to generate data output.
- 11. The method of claim 10 further comprising:
(e) storing the data output from the one or more simulation engines to a memory.
- 12. The method of claim 10 further comprising:
repeating (b), (c) and (d).
- 13. A method comprising:
(a) computing an instantiated value of a random variable; (b) selecting a first model from a collection of models based on the instantiated value; and (c) executing a simulation engine on an input data set including the first model.
- 14. The method of claim 13 further comprising:
(d) capturing data generated by the simulation engine in response to said execution to a storage medium.
- 15 The method of claim 13 wherein the simulation engine includes one or more of a reservoir flow simulator or an economic computation engine.
- 16. The method of claim 13, wherein the first model is any one of a reservoir model, a model of reservoir physical characteristics, a well location model, a well plan model, a well drilling schedule model, a well production schedule model, a capital investment expense model, an operating expense model, or a fiscal regime model.
- 17. A system comprising:
a memory configured to store program instructions and data; a processor configured to read the program instructions from the memory, wherein, in response to execution of the program instructions, the processor is operable to: (a) assemble a set of models, wherein each of the models of said set includes one or more variables, where each of said one or more variables is defined on a corresponding range; (b) select values of the variables in their respective ranges to create instantiated models; (c) assemble the instantiated models into a workflow; and (d) execute one or more simulation engines on the workflow.
- 18. The system of claim 17, wherein, in response to execution of the program instructions, the process is further operable to:
(e) store data output from the one or more simulation engines to the memory.
- 19. A computer-readable memory medium configured to store program instructions, wherein the program instructions are configured to direct one or more computers to perform operations comprising:
(a) assembling a set of models, wherein each of the models of said set includes one or more variables, where each of said one or more variables varies in a corresponding range; (b) selecting values of the variables in their respective ranges to create instantiated models; (c) assembling the instantiated models into a workflow; (d) executing one or more simulation engines on the workflow;
- 20. The computer-readable memory medium of claim 19, wherein the program instructions are further configured to direct the one or more computers to implement the operation of:
(e) storing data output from the one or more simulation engines to a memory.
- 21. A method comprising:
performing setup operations to assemble a case comprising a set of planning variables and models; executing a calculation loop one or more times, wherein each iteration of the calculation loop comprises:
(a) generating instantiations of the planning variables to determine instantiated models, and (b) executing one or more simulation engines on the instantiated models.
- 22. The method of claim 21, wherein each iteration of calculation loop further comprises:
(c) capturing the instantiated planning variables and output data from the one or more simulation engines onto a storage medium.
- 23. The method of claim 22, wherein said capturing comprising storing the instantiated planning variables and simulation output data onto the storage medium in a relational database format.
- 24. The method of claim 21, wherein said generating instantiations of the planning variables includes:
calculating a set of random numbers; calculating quantile values using the random numbers and user-defined probability distributions associated with the planning variables.
- 25. The method of claim 21, wherein the one or more simulation engines include a reservoir flow simulator and an economic computation engine.
- 26. The method of claim 21, wherein the calculation loop further includes:
executing a well perforator prior to executing the one or more simulation engines.
- 27. The method of claim 21, wherein said performing setup operations includes receiving user input specifying execution qualifying data corresponding to the case.
- 28. The method of claim 27, wherein the execution qualifying data includes a number of iterations of the calculation loop.
- 29. The method of claim 27, wherein the execution qualifying data includes a set of attainable values for each planning variable.
- 30. The method of claim 27, wherein the execution qualifying data include data characterizing probability distributions for one or more of the planning variables.
- 31. A method comprising:
receiving user input to assemble a first case comprising models and planning variables; receiving user input to assemble a second case based on the first case; storing the first case, the second case and differences between the first case and second case in a memory medium; displaying an indication of the first case, second case, and a parent child relationship between the first case and second case; conditionally displaying the differences between the first case and second case in response to a user request.
- 32. A method for organizing cases and variations of cases, the method comprising: reading cases and models included in the cases from a storage medium;
displaying the names of the cases and the included models to the user; providing a user interface which allows user interaction with the cases and the included models, wherein the user interaction includes one or more of deleting cases, editing cases, copying cases and creating new cases; and saving new and modified cases and corresponding included models to the storage medium; wherein the models represent value chain components.
- 33. The method of claim 32, wherein the models include data characterizing uncertainty of planning variables associated with the models.
- 34. The method of claim 32, wherein the cases include data characterizing the uncertainty of planning variables that have models as realizations.
- 35. The method of claim 32 further comprising: removing cases and models that have been marked for deletion by said user interaction from the storage medium.
- 36. The method of claim 32 further comprising: loading the cases and the corresponding included models into memory in an organized form suitable for access by a workflow manager process, wherein the workflow manager process is configured to read any subset of the loaded cases and the corresponding included models and assemble one or more input data sets for one or more simulations engine from said subset of the loaded cases and the corresponding included models.
- 37. A system comprising:
a memory configured to store program instructions and data; a processor configured to read the program instructions from the memory, wherein, in response to execution of the program instructions, the processor is operable to:
read cases and models included in the cases from a storage medium; display the names of the cases and the included models to the user; provide a user interface which allows user interaction with the cases and the included models, wherein the user interaction includes one or more of deleting cases, editing cases, copying cases and creating new cases; and save new and modified cases and corresponding included models to the storage medium; wherein the models represent value chain components.
- 38 A computer-readable memory medium configured to store program instructions, wherein the program instructions are configured to direct one or more computers to perform operations comprising:
reading cases and models included in the cases from a storage medium; displaying the names of the cases and the included models to the user; providing a user interface which allows user interaction with the cases and the included models, wherein the user interaction includes one or more of deleting cases, editing cases, copying cases and creating new cases; and saving new and modified cases and corresponding included models to the storage medium; wherein the models represent value chain components.
- 39. A method comprising:
displaying names of execution data sets associated with cases, wherein each of the cases includes a set of models representing value chain components, wherein each of the execution data sets includes at least execution setup information usable to qualify one or more executions of a simulation on one or more of the cases; providing an interface which allows the user to view contents of any of said execution data sets which have been executed; and providing an interface which allows the user to invoke execution of an execution data set that has not yet been executed.
- 40. The method of claim 39, further comprising:
retrieving the cases and corresponding included models from a storage medium; displaying names of the cases; providing an interface which allows a user to create new cases, edit cases and delete cases; and storing any new and modified cases and corresponding included models in the storage medium.
- 41. A system comprising:
a memory configured to store program instructions and data; a processor configured to read the program instructions from the memory, wherein, in response to execution of the program instructions, the processor is operable to:
display names of execution data sets associated with cases, wherein each of the cases includes a set of models representing value chain components, wherein each of the execution data sets includes at least execution setup information usable to qualify one or more executions of a simulation on one or more of the cases; provide an interface which allows the user to view contents of any of said execution data sets which have been executed; and provide an interface which allows the user to invoke execution of an execution data set that has not yet been executed.
- 42. A method comprising:
(a) receiving user input characterizing probability distributions for planning variables associated with a set of models; (b) generating instantiated values of the planning variables; (c) assembling one or more input data sets for one or more simulation engines from the set of models and the instantiated values; (d) executing the one or more simulation engines on one or more input data sets;
- 43. The method of claim 42 further comprising:
(e) storing the instantiated values of the planning variables and data output from the one or more simulation engines to a storage medium.
- 44. The method of claim 42 further comprising: performing (b), (c) and (d) a number of times until a termination condition is achieved.
- 45. The method of claim 42 further comprising: executing a reservoir model scaling engine to scale one or more geocellular reservoir models of said set of models to a lower resolution.
- 46. The method of claim 42 further comprising: executing a schedule resolver program which generates instantiated schedules based on a first subset of the set of models and a first subset of the instantiated values.
- 47. The method of claim 42 further comprising: executing a well perforator program based on a second subset of the set of models and a second subset of the instantiated values.
- 48. A method comprising:
(a) receiving user input characterizing a set of planning variables associated with a set of models; (b) generating instantiated values of the planning variables; (c) assembling a first input data set using a first subset of the instantiated values and a first subset of the set of models, and assembling a second input data set using a second subset of the instantiated values and a second subset of the set of models; (d) determining well perforation locations for wells in the first input data set, and appending the well perforation locations to the first input data set; (e) determining instantiated schedules using a third subset of the instantiated values and a third subset of the models, and appending the instantiated schedules to the first input data set and the second input data set; (f) executing a reservoir flow simulator on the first input data set to generate flow data for oil, gas and water and appending the flow data to the second input data set; (g) executing an economic computation engine on the second input data set to generate economic output data; (h) storing the instantiated values of the planning variables, the flow data and the economic output data to a storage medium in a relational database format; and (i) repeating (b), (c), (d), (e), (f), (g) and (h) until a termination condition is achieved.
CONTINUATION DATA
[0001] This application claims the benefit of priority of U.S. Provisional Application No. 60/466,621, filed on Apr. 30, 2003, entitled “Method and System for Scenario and Case Decision Management”, invented by Cullick, Narayanan and Wilson, which is hereby incorporated by reference in its entirety as though fully and complete set forth herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60466621 |
Apr 2003 |
US |