DARKSPY
Petrophysics Analysis Desktop Application
Version 1.0 | Developed at IIT (ISM) Dhanbad | Sep - Nov 2024
Introduction
DARKSPY (Data Analysis and Reservoir Knowledge System for PetroPhYsics) is a comprehensive desktop application designed to facilitate the analysis and visualization of well log data. Built with Python and PyQt5, this application provides geoscientists, engineers, and students with powerful tools to load, visualize, interpret, and analyze subsurface geological data through an intuitive graphical interface.
Key Features
- Industry-standard LAS file format support
- CSV and XLSX data import/export capabilities
- Multi-track well log visualization
- Formation evaluation tools (V-shale, porosity, water saturation)
- Advanced statistical analysis and quality control
- Machine learning-based outlier detection
- Professional-grade plotting and visualization
- Comprehensive help system and documentation
Target Users
- Petroleum engineers and geoscientists
- Students in petroleum engineering and geology
- Researchers working with well log data
- Professionals in oil and gas industry
- Academic institutions teaching petrophysics
System Requirements
Minimum Requirements
- Operating System: Windows 10/11, macOS 10.14+, or Linux Ubuntu 18.04+
- Python Version: Python 3.7 or higher
- RAM: 4 GB minimum (8 GB recommended)
- Storage: 500 MB free disk space
- Display: 1024x768 resolution minimum (1920x1080 recommended)
Required Python Libraries
PyQt5 >= 5.15.0
numpy >= 1.19.0
pandas >= 1.2.0
matplotlib >= 3.3.0
scipy >= 1.6.0
seaborn >= 0.11.0
plotly >= 5.0.0
lasio >= 0.28
scikit-learn >= 0.24.0
Installation Guide
Method 1: Direct Installation (Recommended)
- Download the DARKSPY installer package
- Run the installer executable
- Follow the installation wizard prompts
- Launch DARKSPY from the desktop shortcut
Method 2: Python Source Installation
- Ensure Python 3.7+ is installed on your system
- Download the source code from the repository
- Install required dependencies:
- Run the application:
pip install -r requirements.txt
python main.py
Method 3: Virtual Environment Setup
# Create virtual environment
python -m venv darkspy_env
# Activate virtual environment
# Windows:
darkspy_env\Scripts\activate
# macOS/Linux:
source darkspy_env/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run application
python main.py
Getting Started
First Launch
- Double-click the DARKSPY desktop icon or run from command line.
- The main application window will open with the "Data Loading" tab active.
- Review the "Motive" dialog that explains the application's purpose.
- Access the Help menu for detailed guidance.
Quick Start Workflow
- Load Data: Import your LAS, CSV, or XLSX files.
- Review Statistics: Check data quality and basic statistics.
- Visualize: Create well log plots and cross-plots.
- Analyze: Perform formation evaluation and quality control.
- Export: Save results and plots for reporting.
User Interface Overview
Main Window Components
The DARKSPY interface consists of four primary tabs:
1. Data Loading Tab
- File import interface with drag-and-drop support
- Formation tops data upload
- LAS file header information display
- Well log unit conversion tools
2. Well Data and Stats Tab
- Raw data table display
- Comprehensive statistical analysis
- Data filtering and sorting capabilities
- Export functionality for processed data
3. Basic Visualization Tab
- Multi-track well log displays
- Cross-plot analysis tools
- Histogram generation
- Triple combo and multitrack plotting options
4. Formation Evaluation Tab
- Quality control tools
- V-shale calculation
- Porosity analysis
- Water saturation calculation
- Reservoir flagging and net pay determination
Data Loading Module
Supported File Formats
LAS Files (.las)
- Industry-standard Log ASCII Standard format
- Automatic header parsing and curve identification
- Support for LAS 2.0 and 3.0 formats
CSV Files (.csv) & Excel Files (.xlsx, .xls)
- Automatic data type detection
- Support for different delimiter types and multiple sheets
Loading Data Process
- Select File: Click "Browse Files" or use drag-and-drop.
- File Validation: DARKSPY automatically validates the file format and checks data integrity.
- Data Preview: A preview is shown in the data table, flagging missing values.
Well Data and Statistics
Data Table Features
- Comprehensive table showing all loaded curves.
- Sortable columns and real-time data filtering.
Statistical Analysis
The statistics panel provides count, mean, standard deviation, min/max, and percentiles (25th, 50th, 75th).
Basic Visualization
Multi-track Log Display
Create professional log plots with configurable tracks for gamma ray, resistivity, porosity, and custom curves. Features include depth correlation, logarithmic/linear scaling, and color-coded curves.
Cross-Plot Analysis
Generate insightful cross-plots like Neutron vs. Density for lithology or Porosity vs. Resistivity for saturation analysis. Includes regression fitting and correlation metrics.
Histogram Analysis
Analyze data distributions with customizable histograms, bin sizes, and statistical overlays.
Formation Evaluation
Quality Control Module
The quality control system uses the Isolation Forest algorithm, an unsupervised machine learning method, to identify outliers and anomalies in your data. Results are displayed in an interactive scatter plot where inliers are blue and outliers are orange.
V-Shale Analysis
Calculates the volume of shale using gamma ray logs with the linear model:
Vsh = (GR - GR_min) / (GR_max - GR_min)
The application supports Linear, Larionov, and Steiber models with configurable baselines.
Porosity Analysis
Provides multiple methods for calculating effective porosity, including neutron, density, and combined neutron-density, with automatic shale corrections.
Water Saturation Analysis
Implements Archie's equation for water saturation with user-defined parameters:
Sw = [(a * Rw) / (φ^m * Rt)]^(1/n)
Reservoir Evaluation
Identifies reservoir-quality rock using user-defined cutoffs for V-shale, water saturation, and porosity. It automatically calculates net pay and presents results in a five-track display.
Quality Control Tools
Includes automated checks for range validation, data continuity, and unit consistency. It also provides both statistical (Z-score, IQR) and machine learning (Isolation Forest, LOF) methods for advanced outlier detection.
Statistical Analysis
Descriptive Statistics
Calculates a full suite of descriptive statistics for each curve, including mean, median, mode, standard deviation, variance, skewness, and kurtosis.
Correlation Analysis
Offers both Pearson (linear) and Spearman (rank-based) correlation analysis to explore relationships between well log curves, complete with matrix visualizations.
Export and Reporting
Data and Plot Export
Export processed data to various formats including CSV, XLSX, LAS, and JSON. Plots can be saved in high-resolution formats like PNG, PDF, and SVG for publications and reports.
Report Generation
Generate automated or custom reports that compile summary statistics, QC results, and formation evaluation summaries into a professional, print-ready document.
Troubleshooting
Installation Problems
Issue: Application won't start.
Solution: Verify Python 3.7+ is installed, check all dependencies with pip install -r requirements.txt, and restart your computer.
Data Loading Issues
Issue: LAS file won't load.
Solution: Verify the file is a valid LAS format, check for corruption, and ensure file permissions are correct.
Visualization Problems
Issue: Plots not displaying correctly.
Solution: Update your graphics drivers and the matplotlib library. Ensure the selected data curves contain valid numerical values.
Contact Information
Development Team
Institution: Indian Institute of Technology (ISM) Dhanbad
Lead Developer: Md Ashraf
Email: mdashraf620@gmail.com
Reporting Issues
When reporting bugs, please include your OS, Python version, a detailed description of the problem, steps to reproduce, and any relevant error messages or log files.
Appendices
Appendix A: Keyboard Shortcuts
- Ctrl+O: Open file
- Ctrl+S: Save current work
- Ctrl+E: Export data
- F1: Open help documentation
Appendix C: Supported Units
- Depth: feet, meters
- Resistivity: ohm-m
- Porosity: fraction, percent
- Gamma Ray: API units