Skip to main content

Help visualizing well log data - Herramienta para visualizar registros de pozos

Project description

Under refactor! New version coming soon.

para español

🐰 Pozo Well Visualizer

Pozo is an open source, intuitive api for visualizing well logs. It uses plotly to render interactive graphs.

$ pip install pozo

Don't forget pip install lasio if you're using lasio! If you're using jupyter, pip install ipywidgets nbformat as well.

Simplest Usage

import pozo
import lasio
las = lasio.read("SALADIN.LAS")

# You can specify the data you are interested in
myGraph = pozo.Graph(
  las,
  include=["CALI", "CGR", "LLS", "ILD", "LLD", "NPH", "RHOB"]
)

# This is a good theme
myGraph.set_theme("cangrejo") # recommended theme!

myGraph.render(height=800, depth=[1080, 1180])


Notice the tracks are in the same order as your list include=[...].

We have a new feature! learn about crossplots

Combining Tracks

# Before you render

graph1.combine_tracks("CGR", "CALI") # Also maintains order!

graph1.combine_tracks("LLD","ILD","LLS")

graph1.combine_tracks("RHOB", "NPHI")

# Notice we change position of depth axis with `depth_position=1`
graph1.render(height=800, depth_position=1, depth=[1080, 1180])

A pozo.Graph is made up of pozo.Track, which is made up of pozo.Axis, which is made up of pozo.Trace, which contains data and depth.

Theming

# Some possible settings:
#  "color": "blue"
#  "scale": "log"
#  "range": [0, 10]
#  "range_unit": "meter"

Themes on more specific items (like Axis) override more general items (like Track). Calling set_theme({}) on a Trace will override any theme on the Axis. If the theme on Trace lacks a key, the renderer will look in the Axis and so on and so forth.

Note: Setting themes on Trace only works for certain keys, e.g. Trace doesn't decide color, Axis or above does

The "cangrejo" theme above is a built-in mnemonic theme, it changes depending on the mnemonic.

# Option One: Set a fallback for everything (only works if theme is set to
"cangrejo") graph.get_theme().set_fallback({"track_width":200})


# Option Two: Set a specific theme on a specific track:
graph.get_tracks("CGR")[0].set_theme({"track_width":200})

learn more about themeing

Selecting Tracks

# Returns list of Track objects
tracks         = graph1.get_tracks("CGR", "MDP") # by name
other_tracks   = graph1.get_tracks(0, 2)         # by position

# Removes AND returns list of Track of objects
popped_tracks  = graph1.pop_tracks("CGR", 3)     # by name or position

# Note: The name is often the mnemonic. But not always, like in combined tracks.
# To search explicitly by mnemonic:
popped_tracks2 = graph1.pop_tracks(pozo.HasLog("CGR"))

Adding Data Manually

Sometimes you want to do your own math and construct your own data

data = [1, 2, 3]
depth = [1010, 1020, 1030]

new_data=Data(data, depth=depth, mnemonic="LOL!")
graph.add_tracks(new_data)
# all data must have either a mnemonic or a name

You can now call graph.add_tracks(new_data)

But maybe you want to theme it first. Don't theme the "Data" directly, it won't impact much. Instead:

new_tracks = graph.add_tracks(new_data)
new_tracks[0].set_theme({"color":"red", range=[0, 1], range_unit="fraction"})

learn more about internals

Sanitizing Data

Units

pozo.units.check_las(las_object) is a function that can help you verify the validy of LAS data. It will list the units it thinks it is and the ranges of values and number of NaNs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pozo-0.10.0.tar.gz (41.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pozo-0.10.0-py3-none-any.whl (41.3 kB view details)

Uploaded Python 3

File details

Details for the file pozo-0.10.0.tar.gz.

File metadata

  • Download URL: pozo-0.10.0.tar.gz
  • Upload date:
  • Size: 41.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for pozo-0.10.0.tar.gz
Algorithm Hash digest
SHA256 4f40e6a0dc807d8846a191138b5b810b0f0a6494029a65b2174f58d4a71ed507
MD5 eef9591f4c6bca873f16cec9ff040954
BLAKE2b-256 5445dd391175e95221903d255f7e923f76439b257be73596b90a0eedf08cf132

See more details on using hashes here.

File details

Details for the file pozo-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: pozo-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 41.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for pozo-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ea5e20b511814b1659e50445e0bc45bec197139319f6ecb650ddeb069ffeda66
MD5 ad621709334221416fc75e92e4fa8f82
BLAKE2b-256 2c4d12d659dbe18073bae3ceeaa24c3ec4e9a12cb68a747cbddf5564b6385785

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page