Sunday, May 29, 2016

What could you do with free data? Some of my favorite free data sources

Free data sources are easily used for projects. They have been heavily digested and results have a standard to measure against. Also, you could use them for training resources. What are my favorite data sources?

University of Texas and Texas A&M University Lands FTP Site:
ftp://publicftp.utlands.utsystem.edu/
http://www.utlands.utsystem.edu/

  • LAS files for a bit of coverage of Midland and Delaware Basins
  • Horizontal logs, Mud logs, triple combo, acoustic, and some specialty logs
  • TIFF images of well logs
If you wanted to pull the LAS files and zip files that might have LAS you could run this python code.  Just change the local_drive variable to where you want to save the data.  It will even retain the folder structure.  This will keep you from having to get the extra 100 gigs of TIFFs.  


from ftplib import FTP 
import os
import shutil

ftp_site = 'publicftp.utlands.utsystem.edu'
local_drive = 'G:/Projects/Permian/Data/UTLands/ScannedLogs'

ftp = FTP(ftp_site)
ftp.login()
root_dir = 'ScannedLogs'

for dir in ftp.nlst(root_dir):
    for subdir in ftp.nlst(root_dir + '/' + dir):
        files = ftp.nlst(root_dir + '/' + dir + '/' + subdir)
        for f in files:
            if '.las' in f or '.zip' in f or '.LAS' in f or '.ZIP' in f:
                src = str(os.path.join(root_dir, dir, subdir, f)).replace('\\', '/')
                print(src)
                dest = (str(os.path.join(local_drive, dir, subdir, f)).replace('\\','/'))
                #print(dest)
                if os.path.exists(os.path.join(local_drive, dir, subdir)) == False:
                    os.makedirs(os.path.join(local_drive, dir, subdir))
                if os.path.exists(dest) == False:
                    las_file = open(dest, 'wb')
                    ftp.retrbinary('RETR ' + src, las_file.write)
                    las_file.close()
ftp.quit()

Another good one that I hope to dive into one day is from the Kansas Geological Society.  Alan Byrnes worked on the Mesaverde tight gas sandstone across the Rockies.

  • Log Data
  • Core Measurement Data
  • Thin Section
  • Core Photos
  • Core Description
  • Maps
  • Full 300+ page report

http://www.kgs.ku.edu/mesaverde/

#free_data #PermianBasins #Mesaverde #Wolfcamp #DelawareBasin #MidlandBasin #Spraberry #ClearFork #Dean #BoneSprings #Avalon #Cline

Friday, May 27, 2016

Building a Log Viewer - Concept

Start a company from scratch. Base it on your last 10 years of work. What do you need to get going? In Petrophysics you need a way to visualize data efficiently. The software platform options range from out of reach expensive to free but clunky. It is all about building your work flow into something efficient.

What's out there?

SpotFire, Excel, Tableau, Orange, Matplotlib

Techlog, IP, Powerlog, Geolog, Recall, TerraStation

Petrel, GeoGraphix, Petra, DecisionSpace

How about your build your own?

With cost heavy on a start-up company's heart, I've decided to build my own log viewer while using a free program for scatter plots and histograms. In about 4 days I had a complete log viewer that would read an LAS file, create tracks, display curves and perform some very nice color fills based on settings in an XML file. As an extra challenge I decided to not use Matplotlib. This is because I wanted more control on the theme and display style.

Here was my pre-build checklist:

1) Use XML format for log templates
2) Read LAS files
3) Use Python and minimal libraries
4) Do not use Matplotlib
5) Display information on each curve in a header
6) Scroll up and down log
7) HTML colors for curves
8) Multiple scales per track
9) Fill to the right or left
10) Logarithmic track

Big list but when you spell it out first then the solutions start pilling in pretty quickly. More posts to come on how to build your own Log Viewer.

#LAS_File #Petrophysics #Log_Viewer #Python #Tkinter #Canvas

Comparison against MatPlotLib


Example log with auto generated header