Skip to main content

Package for Geomechanics

Project description

pyGeoMechanics Documentation

Overview

The pyGeoMechanics library is a Python-based solution for geomechanical computations. It provides modular components for data ingestion, preprocessing, overburden stress calculations, pore pressure analysis, stratigraphy modeling, trajectory analysis, and utility functions. The architecture supports seamless integration into enterprise geomechanical workflows.

Directory Structure

Custom_library/
├── runner.py            # Workflow orchestrator
├── Ingestion.py         # Data ingestion and parsing
├── Preprocessing.py     # Data cleaning and preparation
├── Overburden.py        # Overburden stress computation
├── Pore_pressure.py     # Pore pressure analysis
├── Stratigraphy.py      # Stratigraphy layer modeling
├── Trajectory.py        # Wellbore trajectory analysis
├── Utils.py             # Utility functions
└── requirements.txt     # Project dependencies

Installation and Setup

1. Install Dependencies

pip install git+https://github.com/abhishake99/pyGeoMechanics.git

2. Configuration Parameters

The executor.py script accepts the following parameters:

Parameter Type Description
las_folder_path str Directory containing LAS files, Note: please provide the unprocessed/raw LAS files only.
trajectory_file_path str CSV file path with columns: md, azi, inc
tvd_csv_path str Output filename for TVD data
rkb float Rotary Kelly bushing elevation (m)
tvd_sample_rate float Depth sampling interval (default: 0.01 m)
geological_zones dict Zone definitions with depth and GR cutoff ranges
area_type str Geographic context: 'onshore' or 'offshore'
gap_fill_method str Density interpolation: 'exponential' or 'linear'
nct_type str Normal compaction trend: 'semilog' or 'poly'
outlier_ranges dict Valid ranges for log curves
folder_name str Folder name where you want to save outputs

Example Configuration

{
    "geological_zones": {
        "ZONE_1": {"dept": [0, 2500], "gr": [25, 120]},
        "ZONE_2": {"dept": [2501, 4500], "gr": [25, 120]}
    },
    "outlier_ranges": {
        "DTCO_merged": [40, 150],
        "DTSM_merged": [60, 360],
        "RHOB_merged": [1.2, 3.0],
        "GR_merged": [0, 250]
    }
}

3. Execution Workflow

from pyGeoMechanics.runner import run_geomechanics

run_geomechanics(las_folder_path=r"...\2. Well Logs\BRK012 Raw Logs",
        trajectory_file_path=r'...\BRK012_Survey _wellpathy.csv')

The application executes the following sequence:

  1. Data ingestion via Ingestion.py
  2. Data preprocessing via Preprocessing.py
  3. Geomechanical analysis using Overburden.py, Pore_pressure.py, Stratigraphy.py, Trajectory.py
  4. Results export to Data output directory containing plots as PNG and data in CSV format

Output Examples

  • Stratigraphy: Stratigraphy
  • Overburden Stress: Overburden Stress
  • Normal Compaction Trend: Normal Compaction Trend
  • Pore Pressure: Pore Pressure

Module Reference

Module Purpose
Ingestion.py Reads and parses input data (CSV, LAS, Excel)
Preprocessing.py Data validation, cleaning, and normalization
Overburden.py Calculates vertical stress profiles
Pore_pressure.py Computes pore pressure magnitudes
Stratigraphy.py Models stratigraphic sequences and properties
Trajectory.py Processes wellbore deviation surveys
Utils.py File I/O
runner.py Orchestrates module execution and data flow

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

pygeomechanics-0.0.3.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

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

pygeomechanics-0.0.3-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

Details for the file pygeomechanics-0.0.3.tar.gz.

File metadata

  • Download URL: pygeomechanics-0.0.3.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pygeomechanics-0.0.3.tar.gz
Algorithm Hash digest
SHA256 3bcdf7fc2e22339cf9473da5916e7299be6bb2529f4206aef9a5229498c0a9a5
MD5 c8746b1f63d77291ec2bc279343fd483
BLAKE2b-256 2ebd08712cb3ffa6e46779744efbed1b89f9fa4ffc08227f02d1605e563942b2

See more details on using hashes here.

File details

Details for the file pygeomechanics-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: pygeomechanics-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 25.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pygeomechanics-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dd5404b40d3bbc6315003131f1ab4707162b05f61fc29bf5deb0e8d3ad757dd9
MD5 651cc1a878fce3b8bcce1566fe2e1201
BLAKE2b-256 89f7e0c618cb6365461b86ebe0c973a8371e2ebbb5568f8d142eac319e6cbc73

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