Categories
Data Science & Analytics Geology & Geoscience Transfer

Synthetic Well Log: Reconstructing Bad Hole Well Log Results with Machine Learning

Loss of contact with the borehole.  Cave-ins.  Sub-optimal mud types.  Recording errors.  Unit conflicts.  Equipment failure.  A number of things can cause a Well Log to have bad hole readings.  Perhaps the Caliper log indicates a series of unreliable borehole sections, and an expert has flagged them.  Perhaps the expert has run an outlier detection algorithm to identify aberrant well log readings. 

What next?  What to do?  Re-logging the well is often cost prohibitive.

We’ve built a Synthetic Well Log tool in Spotfire that uses machine learning to help replace those bad hole values with more accurate ones.

Our tool uses the theory behind academic studies (e.g. An Artificially Intelligent Technique to Generate Synthetic Geomechanical Well Logs for the Bakken Formation, Synthetic well logs generation via Recurrent Neural Networks, Generating Synthetic Well Logs by Artificial Neural Networks (ANN) Using MISO-ARMAX Model in Cupiagua Field) and supports several machine learning algorithms (Random Forest, Gradient Boosting, and Support Vector Machines).  The algorithms ingest the curves which do not have data integrity issues in order to predict more accurate values of the missing or faulty curve.

Jumping into the machine learning arena might feel daunting, so we developed this tool to help Geo experts with the process.  Better yet, our tool doesn’t just reach into a black box and hand back a reconstructed well log.  The Synthetic Well Log tool:

  1. Works with the Geo expert to build an imputation model
  2. Lets that person examine modeling validation metrics
  3. Displays the predictions and reconstructed logs next to the original for a sanity check    
  4. Exports the chosen reconstructed model

Our tool puts reconstructed curves right next to the originals so they pass the expert’s eye test as well as the modeling diagnostics.

Categories
Drilling & Completions Reservoir Engineering Transfer

Gun Barrel Diagram: Calculate and Visualize Well Spacing Part 1

Introduction

The Petro.ai Gun Barrel workflow allows the user to quickly find the 3D distances between the midpoints of the lateral section of selected nearby horizontal wells. This critically important information was once only possible to calculate using specialized geoscience software or through painstaking and time-consuming manual work. With the Petro.ai integrations, we can now calculate this information directly from Spotfire:


Figure 1: Petro.ai Gun Barrel View

Categories
Developers Corner Transfer

Writing your First JavaScript Vue.js App for Petro.ai

Getting Petro.ai installed can be an exciting time and open quite a few doors for development, especially when it comes to JavaScript apps. Custom applications become a cinch using the API. In the coming weeks I’ll be putting together some simple applications that you can make on top of the Petro.ai platform. We’ll be using an assortment of languages to communicate with the Petro.ai API so feel free to ask for an example.

Here is the HTML

[code language="html"]

<h1>Hello, Wells!</h1>



<div id="hello-wells" class="demo">
  <blog-post v-for="well in wells" v-bind:key="well.id" v-bind:title="well.name">
   </blog-post>
</div>


[/code]

And the JavaScript (Vue.js)

[code language="javascript"]
Vue.component('blog-post', {
  props: ['title'],
  template: '

{{ title }}

'
})

new Vue({
  el: '#hello-wells',
  data: {
    wells: []
  },
  created: function () {
    var vm = this
    // Fetch our array of documents from the Petro.ai wells collection
    fetch('http://&amp;amp;amp;lt;your-petro-ai-server&amp;amp;amp;gt;/api/Wells?Limit=10')
      .then(function (response) {
        return response.json()
      })
      .then(function (data) {
        vm.wells = data['data']
      })
  }
})
[/code]

And poof! We’ve called the first 10 wells from the Petro.ai wells collection:

Hello, Wells!

DEJOUR WOODRUSH B-B100-E/094-H-01
BLACK SWAN HZ NIG CREEK B-A007-G/094-H-04
BLACK SWAN HZ NIG CREEK B- 007-G/094-H-04
BLACK SWAN HZ NIG CREEK B-G007-G/094-H-04
BLACK SWAN HZ NIG CREEK B-E007-G/094-H-04
BLACK SWAN HZ NIG CREEK B-D007-G/094-H-04
BLACK SWAN HZ NIG CREEK B-C007-G/094-H-04
ZEAL 4-25-46-26
PEYTO WHHORSE 4-9-49-15
BLACK SWAN HZ NIG CREEK A- 096-C/094-H-04

What’s going on here is that the app is pulling directly from the Petro.ai server asynchronously. In the coming weeks, I’ll show how we can create reactive JavaScript applications that will update from the Petro.ai server so that we can watch things like rigdata or real-time production data. This data was provided by GeoLogic and we’ll be setting up a public Petro.ai instance for everyone to develop against.