Skip to main content

Library for stress calculations from well logs

Project description

Stresslog

A package to calculate and plot pore pressure and other geomechanical data from las files. It is intended for pre-drill and post-drill studies of wells, and can be used for limited realtime stress prediction.

Features

  • Import las files, dlis files, deviation files, ucs and lithology files

  • Alias logs using user modifiable alias file

  • Pad log data all the way to surface, using appropriate KB, GL or WD values (Option to specify these and correct these in the Log Header)

  • Calculate geomechanical properties using 6 component stress tensor

  • Calculate Pore Pressure, Shmin, SHMax, Sv and UCS and more

  • Plot Stress Polygon, Wellbore Stability and more at drainhole analysis depth

  • Plot the data in user configurable intervals

  • Option to save Plots at custom DPI

  • Export the well data as .csv, so you can run your own plots and calculations in your software of choice

  • Output Las Files (with updated header and new data columns)

  • Parameters for adding mud data, loss/gain data and other data interpreted from drilling and testing history, these are plotted over the calculated data to help visually constrain the model

  • Option to include ascii file with observations from resistivity image logs (or others like ultrasonic calipers) to include tensile fractures and breakouts, which are then used internally to better constrain SHMax

  • Override nu, mu, and UCS and tensile strength from the lithology file

Installation

pip install stresslog

Consult the documentation at https://stresslog.readthedocs.io/ for more help.

Contributing

We welcome contributions—feel free to submit a pull request!

Guidelines for Contributions

  • Pull Requests are Welcome: If you have an improvement, bug fix, or feature, send a PR.
  • No Code-Style Requirements: We don’t enforce a specific coding style — if the tests pass, your code is valid.
  • Before submitting a pull request, open an issue first: This is so that maintainer(s) can discuss the situation and perhaps guide the pull request in a way compatible with the overall structure and function of the codebase.

Contributors are required to accept the Contributor License Agreement before submitting a pull request.

Acknowledgements

Jon Jincai Zhang, for his awesome work on pore pressure prediction, and geomechanics at large. This software uses his algorithms wherever possible.

In more detail: The Stability Analysis Plots are after Peska and Zoback, 1995. The Stress Polygon Technique for constraining SHMax is after Zoback et al., 2003 The Pore Pressure equation is from Zhang, 2011 The shmin is calculated in accordance with Dianes, 1982, as well as Zoback and Healy,1992

This software is written in Python, using the python library Welly by Agile Scientific, Canada. Welly itself uses the Lasio library to handle the las files. Dlis files are handled using dlisio package by Equinor. Other libraries used include Pandas, Numpy, Matplotlib, Plotly and Scipy.

Disclaimer

IN MAKING INTERPRETATIONS OF LOGS THIS SOFTWARE AND ITS AUTHOR(S) WILL GIVE USERS THE BENEFIT OF THEIR BEST JUDGEMENT. BUT SINCE ALL INTERPRETATIONS ARE OPINIONS BASED ON INFERENCES FROM ELECTRICAL OR OTHER MEASUREMENTS, WE CANNOT, AND WE DO NOT GUARANTEE THE ACCURACY OR CORRECTNESS OF ANY INTERPRETATION. WE SHALL NOT BE LIABLE OR RESPONSIBLE FOR ANY LOSS, COST, DAMAGES, OR EXPENSES WHATSOEVER INCURRED OR SUSTAINED BY THE USER RESULTING FROM ANY INTERPRETATION MADE BY THE SOFTWARE OR ITS AUTHOR(S).

THERE IS NO WARRANTY FOR THE PROGRAM. THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

IN NO EVENT WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

THE STATEMENTS ABOVE ARE IN ADDITION TO THE CONCERNED SECTIONS OF THE AGPL3.0 LICENSE GOVERNING THE PROGRAM.

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

stresslog-1.6.20.tar.gz (122.0 kB view details)

Uploaded Source

Built Distribution

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

stresslog-1.6.20-py3-none-any.whl (128.2 kB view details)

Uploaded Python 3

File details

Details for the file stresslog-1.6.20.tar.gz.

File metadata

  • Download URL: stresslog-1.6.20.tar.gz
  • Upload date:
  • Size: 122.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for stresslog-1.6.20.tar.gz
Algorithm Hash digest
SHA256 e7da0c0186250c38a42d11727b8cd6a66887db932f02cd332d39cb791eb4cc6d
MD5 39cda8e94f862da5b5ca56ce44eaf173
BLAKE2b-256 13a66fc8ff70167dedb3a13544120bb6121f5a8d60cd314c91f132a927ee69b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for stresslog-1.6.20.tar.gz:

Publisher: publish2pypi.yml on GeoArkadeep/Stresslog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file stresslog-1.6.20-py3-none-any.whl.

File metadata

  • Download URL: stresslog-1.6.20-py3-none-any.whl
  • Upload date:
  • Size: 128.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for stresslog-1.6.20-py3-none-any.whl
Algorithm Hash digest
SHA256 2d0c0cf1039dddb0935320c2fec5fc222c211fad645fbc2183fa8769c7cff29b
MD5 db493a3644105b97ee32ffc838f42fa2
BLAKE2b-256 fc3917ea01a3bb0e0be8cce2d92fe838af2c18966e73cc64ad3cbd60ca35573b

See more details on using hashes here.

Provenance

The following attestation bundles were made for stresslog-1.6.20-py3-none-any.whl:

Publisher: publish2pypi.yml on GeoArkadeep/Stresslog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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