Abstract

The probability perturbation method (PPM) is introduced as a flexible and efficient sampling technique for generating inverse solutions under a given prior geological constraint (prior model). In this paper, we present a methodology for producing software code that runs PPM within a public domain geostatistical software called the Stanford Geostatistical Earth Modeling Software (S-GEMS). The challenge in creating such code lies in the great diversity of forward models as well as prior models that can be handled by the PPM. Therefore, our software solution must be highly flexible and extensible such that it can be tailored to the various applications at hand. Our implementation has two main objectives: (1) to create an integrated working environment which provides users easy access to functionalities of the PPM through a general user interface as well as visualize results; (2) allow the users to plug-in their application specific code into the PPM algorithm workflow. We provide a two-part solution. The first part, which is hard-coded in S-GEMS as a plug-in module, runs the Dekker-Brent optimization algorithm to control the parameter perturbation needed for the inversion. It generates the PPM user interface and allows visualization of the spatial domain of interest using S-GEMS graphics capability. The second part is coded in object-oriented Python scripts and is used to control the PPM execution in S-GEMS. Users can program their particular needs in scripts and load them into S-GEMS as part of the PPM workflow. The same mechanism can be used to extend the capabilities of PPM itself by implementing new PPM variants in Python and making them a part of the base class hierarchy. Case studies are used to demonstrate the flexibility of our code. This approach requires the user to adapt only a small amount of python code, without modifying, or re-compiling the core S-GEMS code.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.