Shell Geologists Develop and Deploy Software for Predicting Subsurface Geologic Features
Challenge
Reduce oil and gas exploration costs and increase well production by constructing accurate models of the subsurface
Solution
Use MATLAB to develop and deploy algorithms that use seismic data, known scaling relationships, and a database of geologic metrics to quantitatively characterize subsurface features through a MATLAB application
Results
- Month-long projects replaced by simple queries
- Drilling prognosis accuracy substantially improved
- Software updates instantly deployed
In oil and gas exploration, geologists use seismic data to image subsurface geology and identify potential hydrocarbon accumulations. Often these images lack the necessary resolution to capture complex patterns of rock layers and other stratigraphic details. Under-resolved imaging can lead to drilling unproductive wells—at a cost of $100 million or more—or to overly optimistic production forecasts.
Geologists at Shell developed algorithms in MATLAB® that use measurements from known geologic features to predict other features in the same region. These algorithms provide statistical prognoses of reservoir presence and character, which are used to optimize reservoir development and improve production forecasts. The geologists worked with MathWorks Consulting Services to package and deploy the algorithms to other Shell geologists worldwide.
“The combination of our domain knowledge with the MathWorks consultants’ experience in developing software frameworks in MATLAB enabled us to develop a more usable interface and deployment model,” says Nick Howes, geologist at Shell.
Challenge
Shell wanted an application that could use available seismic measurements together with a database of known geological formations to infer new, analogous features that are below seismic resolution. For example, to guide well placement in a channelized subsurface reservoir, the software would need to use established geometric scaling relationships and seismic data of an ancient river’s preserved channel belt to predict features inside that belt. The geologists wanted to apply their domain expertise to develop the underlying data analysis, prediction, and analog identification algorithms themselves, without outsourcing development to a separate team of programmers or to a third party.
Once the algorithms had been developed and tested, the team needed assistance to prepare them for deployment in a production IT environment. They wanted the ability to update the algorithms and accompanying databases on a central server and make the new versions immediately available to their colleagues around the world.
Solution
Shell geologists developed stratigraphic characterization algorithms in MATLAB and collaborated with MathWorks consultants to deploy their algorithms company-wide with MATLAB Production Server™.
Working in MATLAB, the team developed algorithms that quantitatively characterize extracted features from 3D seismic data. Through a curvature analysis using weighted cubic splines from Curve Fitting Toolbox™, these features describe the scale and pattern of the input data.
They used Database Toolbox™ with a custom connector for MongoDB built by MathWorks consultants to programmatically link their algorithms to a geologic database. The database contained scale, architectural, and compositional metrics derived from satellite imagery, topographic and bathymetric surveys, core data, and numerical models.
Using MATLAB and Statistics and Machine Learning Toolbox™, the team developed a regression model and predictive algorithms that combine the database metrics, the features extracted from the seismic data, and known scaling relationships to predict thickness, width, and other stratigraphic characteristics at subseismic scales.
The team incorporated density-based spatial clustering algorithms from the MATLAB Central File Exchange to identify analogous locations from the geologic database.
They then worked with MathWorks consultants to refine the algorithms, develop a user interface, and deploy the algorithms as a production application.
First, they rewrote some of the procedural MATLAB code, applying object-oriented principles to make the code easier to extend and maintain.
They added co-visualization capabilities, using Mapping Toolbox™ to create web map displays of the identified analog locations.
The team packaged the algorithms using MATLAB Compiler SDK™, and deployed them as a production enterprise application using MATLAB Production Server. Shell geologists access the algorithms in both guided and unguided workflows from a standalone MATLAB client application created using MATLAB Compiler™.
The application has been rolled out as a pilot to a small group of Shell geologists and stratigraphers in preparation for a company-wide release.
Results
- Month-long projects replaced by simple queries. “Using the application we developed in MATLAB, geologists can get answers to complex questions within minutes that in some cases would previously have required project staff to undertake significant research projects and weeks to months to answer,” says Howes.
- Drilling prognosis accuracy substantially improved. “We used our MATLAB algorithms to predict reservoir volume for a prospective location based on a seismic image,” Howes says. “When the prospect was drilled, our prognosis was found to be accurate to within 12%. Across the industry, it is not unusual to find such predictions off by an order of magnitude (~1000%), especially in new, data sparse areas.”
- Software updates instantly deployed. “For us, a big advantage of MATLAB Production Server is the ability to make updates and changes centrally and have them immediately available to all our users,” says Howes. “As we enhance our algorithms and add to our database, those improvements are reflected instantly across the production IT environment.”