All Projects → toddheitmann → Petropy

toddheitmann / Petropy

Licence: mit
A petrophysics python package for geoscience python computing of conventional and unconventional formation evaluation. Reads las files and creates a pandas dataframe of the log data. Includes a basic petrophysical workflow and a simple log viewer based on XML templates.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Petropy

paper-moho-inversion-tesseroids
Source code, data, and model results for "Fast non-linear gravity inversion in spherical coordinates with application to the South American Moho". Published in the Geophysical Journal International.
Stars: ✭ 27 (-76.52%)
Mutual labels:  geoscience
Geospatial Machine Learning
A curated list of resources focused on Machine Learning in Geospatial Data Science.
Stars: ✭ 289 (+151.3%)
Mutual labels:  geoscience
Lowtran
LOWTRAN atmospheric absorption extinction, scatter and irradiance model--in Python and Matlab
Stars: ✭ 58 (-49.57%)
Mutual labels:  geoscience
DA Tutorial
This is a 'hands-on' tutorial for the RIKEN International School on Data Assimilation (RISDA2018).
Stars: ✭ 23 (-80%)
Mutual labels:  geoscience
Verde
Processing and interpolating spatial data with a twist of machine learning
Stars: ✭ 260 (+126.09%)
Mutual labels:  geoscience
Gempy
GemPy is an open-source, Python-based 3-D structural geological modeling software, which allows the implicit (i.e. automatic) creation of complex geological models from interface and orientation data. It also offers support for stochastic modeling to adress parameter and model uncertainties.
Stars: ✭ 396 (+244.35%)
Mutual labels:  geoscience
grwave
Python for ITU P.368 : Ground-wave propagation curves for frequencies between 10 kHz and 30 MHz
Stars: ✭ 19 (-83.48%)
Mutual labels:  geoscience
Notebooks
IPython Notebooks
Stars: ✭ 91 (-20.87%)
Mutual labels:  geoscience
Simpeg
Simulation and Parameter Estimation in Geophysics - A python package for simulation and gradient based parameter estimation in the context of geophysical applications.
Stars: ✭ 283 (+146.09%)
Mutual labels:  geoscience
Pyoptflow
Optical Flow estimation in pure Python
Stars: ✭ 49 (-57.39%)
Mutual labels:  geoscience
netcdf-java
The Unidata netcdf-java library
Stars: ✭ 84 (-26.96%)
Mutual labels:  geoscience
gnuradio ham
Basic example of using GNU Radio Companion for amateur (ham) radio communications
Stars: ✭ 19 (-83.48%)
Mutual labels:  geoscience
Awesome Open Geoscience
Curated from repositories that make our lives as geoscientists, hackers and data wranglers easier or just more awesome
Stars: ✭ 668 (+480.87%)
Mutual labels:  geoscience
jigsaw-geo-matlab
MATLAB bindings for JIGSAW(GEO): an unstructured mesh generator for geoscientific modelling.
Stars: ✭ 26 (-77.39%)
Mutual labels:  geoscience
Digital Elevation Model
To transform, project, visualize, and read Digital Elevation Models (ASTERGDEMv2.0 and EUDEMv1.1). [简单实用] 数字高程模型的变换、投影、可视化和读取。
Stars: ✭ 64 (-44.35%)
Mutual labels:  geoscience
xlines
X lines of Python
Stars: ✭ 100 (-13.04%)
Mutual labels:  geoscience
Pygmt
A Python interface for the Generic Mapping Tools.
Stars: ✭ 331 (+187.83%)
Mutual labels:  geoscience
Pyrate
A Python tool for estimating velocity and time-series from Interferometric Synthetic Aperture Radar (InSAR) data.
Stars: ✭ 110 (-4.35%)
Mutual labels:  geoscience
Harmonica
Forward modeling, inversion, and processing gravity and magnetic data
Stars: ✭ 75 (-34.78%)
Mutual labels:  geoscience
Python Aos Lesson
Python for Atmosphere and Ocean Scientists
Stars: ✭ 49 (-57.39%)
Mutual labels:  geoscience

.. image:: https://toddheitmann.github.io/PetroPy/_images/petropy_logo.png

PetroPy

A python petrophysics package allowing scientific python computing of conventional and unconventional formation evaluation. Reads las files using lasio <https://github.com/kinverarity1/lasio>__. Includes a petrophysical workflow and a log viewer based on XML templates.

.. image:: https://toddheitmann.github.io/PetroPy/_images/university_6-18W_no1.png

Requirements

  • cchardet <https://github.com/PyYoshi/cChardet>__
  • lasio <https://github.com/kinverarity1/lasio>__
  • numpy <http://www.numpy.org>__
  • scipy <https://www.scipy.org>__
  • pandas <http://pandas.pydata.org>__
  • matplotlib <http://matplotlib.org>__
  • scikit-learn <http://scikit-learn.org/stable/>__

Installation

Install PetroPy through pip via the command line

.. code-block:: bash

pip install petropy

To read in an las file, pass the file reference:

.. code-block:: python

import petropy as ptr file_path = r'path/to/well.las' log = ptr.Log(file_path)

Documentation

View the online documentation_ for classes and methods.

.. _online documentation: https://toddheitmann.github.io/PetroPy/

Las File Processing

To understanding using petropy in a petrophysical workflow for las file processing, see the example page_.

.. _example page: https://toddheitmann.github.io/PetroPy/auto_examples/

Petrophysical Model Quick Look

.. code-block:: python

import petropy and print raw curves

import petropy as ptr log = ptr.log_data('WFMP') print(log.curves)

.. code-block:: bash

Mnemonic Unit Value Description


DEPT F 00 000 00 00 1 Depth Curve CALI INCH 99 075 22 05 2 CALIPER DPHI DECP 99 075 22 05 3 DENSITY POROSITY -LIME- GR GAPI 99 075 22 05 4 GAMMA RAY NPHI DECP 99 075 22 05 5 NEUTRON POROSITY -LIME- PE B/E 99 075 22 05 6 PHOTO-ELECTRIC FACTOR RHOB G/C3 99 075 22 05 7 BULK DENSITY PHIX DECP 99 075 22 05 8 CROSSPLOT POROSITY C13 INCH 99 075 22 05 9 CALIPER PADS 1 - 3 -FACT- C24 INCH 99 075 22 05 10 CALIPER PADS 2 - 4 -FACT- DT US/F 99 075 22 05 11 SONIC TRANSIT TIME SPHI DECP 99 075 22 05 12 SONIC POROSITY -LIME- GR3 99 075 22 05 13 GAMMA RAY ILD OHMM 99 075 22 05 14 IL, DEEP RESISTIVITY ILM OHMM 99 075 22 05 15 IL, MEDIUM RESISTIVITY SGRD OHMM 99 075 22 05 16 SHORT GUARD RESISTIVITY SP MV 99 075 22 05 17 SPONTANEOUS POTENTIAL CAL_N INCH 99 075 22 05 9 CALIPER PADS 1 - 3 -FACT- GR_N GAPI 99 075 22 05 4 GAMMA RAY RESMED_N OHMM 99 075 22 05 15 IL, MEDIUM RESISTIVITY RESDEEP_N OHMM 99 075 22 05 14 IL, DEEP RESISTIVITY NPHI_N DECP 99 075 22 05 5 NEUTRON POROSITY -LIME- DPHI_N DECP 99 075 22 05 3 DENSITY POROSITY -LIME- SPHI_N DECP 99 075 22 05 12 SONIC POROSITY -LIME- PE_N B/E 99 075 22 05 6 PHOTO-ELECTRIC FACTOR RHOB_N G/C3 99 075 22 05 7 BULK DENSITY DTC_N US/F 99 075 22 05 11 SONIC TRANSIT TIME SP_N MV 99 075 22 05 17 SPONTANEOUS POTENTIAL

.. code-block:: python

read tops into Log object and print

log.tops_from_csv() print(log.tops)

.. code-block:: bash

{'WFMPA': 6993.5, 'WFMPB': 7294.0, 'WFMPC': 7690.5, 'WFMPD': 8028.0}

.. code-block:: python

load default parameters and print values

log.fluid_properties_parameters_from_csv() print(log.fluid_properties_parameters.keys())

.. code-block:: bash

dict_keys(['default', 'WFMP'])

.. code-block:: python

specificy formation intervals

f = ['WFMPA', 'WFMPB', 'WFMPC']

calculate fluid properties for defined formations

log.formation_fluid_properties(f, parameter = 'WFMP')

print curves for description of calculated curves

print(log.curves)

.. code-block:: bash

Mnemonic Unit Value Description


DEPT F 00 000 00 00 1 Depth Curve CALI INCH 99 075 22 05 2 CALIPER DPHI DECP 99 075 22 05 3 DENSITY POROSITY -LIME- GR GAPI 99 075 22 05 4 GAMMA RAY NPHI DECP 99 075 22 05 5 NEUTRON POROSITY -LIME- PE B/E 99 075 22 05 6 PHOTO-ELECTRIC FACTOR RHOB G/C3 99 075 22 05 7 BULK DENSITY PHIX DECP 99 075 22 05 8 CROSSPLOT POROSITY C13 INCH 99 075 22 05 9 CALIPER PADS 1 - 3 -FACT- C24 INCH 99 075 22 05 10 CALIPER PADS 2 - 4 -FACT- DT US/F 99 075 22 05 11 SONIC TRANSIT TIME SPHI DECP 99 075 22 05 12 SONIC POROSITY -LIME- GR3 99 075 22 05 13 GAMMA RAY ILD OHMM 99 075 22 05 14 IL, DEEP RESISTIVITY ILM OHMM 99 075 22 05 15 IL, MEDIUM RESISTIVITY SGRD OHMM 99 075 22 05 16 SHORT GUARD RESISTIVITY SP MV 99 075 22 05 17 SPONTANEOUS POTENTIAL CAL_N INCH 99 075 22 05 9 CALIPER PADS 1 - 3 -FACT- GR_N GAPI 99 075 22 05 4 GAMMA RAY RESMED_N OHMM 99 075 22 05 15 IL, MEDIUM RESISTIVITY RESDEEP_N OHMM 99 075 22 05 14 IL, DEEP RESISTIVITY NPHI_N DECP 99 075 22 05 5 NEUTRON POROSITY -LIME- DPHI_N DECP 99 075 22 05 3 DENSITY POROSITY -LIME- SPHI_N DECP 99 075 22 05 12 SONIC POROSITY -LIME- PE_N B/E 99 075 22 05 6 PHOTO-ELECTRIC FACTOR RHOB_N G/C3 99 075 22 05 7 BULK DENSITY DTC_N US/F 99 075 22 05 11 SONIC TRANSIT TIME SP_N MV 99 075 22 05 17 SPONTANEOUS POTENTIAL PORE_PRESS psi Calculated Pore Pressure RES_TEMP F Calculated Reservoir Temperature NES psi Calculated Net Effective Stress RW ohmm Calculated Resistivity Water RMF ohmm Calculated Resistivity Mud Filtrate RHO_HC g/cc Calculated Density of Hydrocarbon RHO_W g/cc Calculated Density of Water RHO_MF g/cc Calculated Density of Mud Filtrate NPHI_HC v/v Calculated Neutron Log Response of Hydrocarbon NPHI_W v/v Calculated Neutron Log Response of Water NPHI_MF v/v Calculated Neutron Log Response of Mud Filtrate MU_HC cP Calculated Viscosity of Hydrocarbon BO Calculated Oil Formation Volume Factor BP psi Calcualted Bubble Point

.. code-block:: python

load default multimineral parameters

log.multimineral_parameters_from_csv()

print available default formation parameters

print(log.multimineral_parameters.keys())

.. code-block:: bash

dict_keys(['default', 'WFMP'])

.. code-block:: python

calculate mulitmineral model over defined formations

with parameter 'WFMP'

log.formation_multimineral_model(f, parameter = 'WFMP') log.write('processed_log.las')

print curves for description of calculated curves

print(log.curves)

.. code-block:: bash

Mnemonic Unit Value Description


DEPT F 00 000 00 00 1 Depth Curve CALI INCH 99 075 22 05 2 CALIPER DPHI DECP 99 075 22 05 3 DENSITY POROSITY -LIME- GR GAPI 99 075 22 05 4 GAMMA RAY NPHI DECP 99 075 22 05 5 NEUTRON POROSITY -LIME- PE B/E 99 075 22 05 6 PHOTO-ELECTRIC FACTOR RHOB G/C3 99 075 22 05 7 BULK DENSITY PHIX DECP 99 075 22 05 8 CROSSPLOT POROSITY C13 INCH 99 075 22 05 9 CALIPER PADS 1 - 3 -FACT- C24 INCH 99 075 22 05 10 CALIPER PADS 2 - 4 -FACT- DT US/F 99 075 22 05 11 SONIC TRANSIT TIME SPHI DECP 99 075 22 05 12 SONIC POROSITY -LIME- GR3 99 075 22 05 13 GAMMA RAY ILD OHMM 99 075 22 05 14 IL, DEEP RESISTIVITY ILM OHMM 99 075 22 05 15 IL, MEDIUM RESISTIVITY SGRD OHMM 99 075 22 05 16 SHORT GUARD RESISTIVITY SP MV 99 075 22 05 17 SPONTANEOUS POTENTIAL CAL_N INCH 99 075 22 05 9 CALIPER PADS 1 - 3 -FACT- GR_N GAPI 99 075 22 05 4 GAMMA RAY RESMED_N OHMM 99 075 22 05 15 IL, MEDIUM RESISTIVITY RESDEEP_N OHMM 99 075 22 05 14 IL, DEEP RESISTIVITY NPHI_N DECP 99 075 22 05 5 NEUTRON POROSITY -LIME- DPHI_N DECP 99 075 22 05 3 DENSITY POROSITY -LIME- SPHI_N DECP 99 075 22 05 12 SONIC POROSITY -LIME- PE_N B/E 99 075 22 05 6 PHOTO-ELECTRIC FACTOR RHOB_N G/C3 99 075 22 05 7 BULK DENSITY DTC_N US/F 99 075 22 05 11 SONIC TRANSIT TIME SP_N MV 99 075 22 05 17 SPONTANEOUS POTENTIAL PORE_PRESS psi Calculated Pore Pressure RES_TEMP F Calculated Reservoir Temperature NES psi Calculated Net Effective Stress RW ohmm Calculated Resistivity Water RMF ohmm Calculated Resistivity Mud Filtrate RHO_HC g/cc Calculated Density of Hydrocarbon RHO_W g/cc Calculated Density of Water RHO_MF g/cc Calculated Density of Mud Filtrate NPHI_HC v/v Calculated Neutron Log Response of Hydrocarbon NPHI_W v/v Calculated Neutron Log Response of Water NPHI_MF v/v Calculated Neutron Log Response of Mud Filtrate MU_HC cP Calculated Viscosity of Hydrocarbon BO Calculated Oil Formation Volume Factor BP psi Calcualted Bubble Point PHIE v/v Effective Porosity SW v/v Water Saturation SHC v/v Hydrocarbon Saturation BVH v/v Bulk Volume Hydrocarbon BVW v/v Bulk Volume Water BVWI v/v Bulk Volume Water Irreducible BVWF v/v Bulk Volume Water Free BVOM v/v Bulk Volume Fraction Organic Matter BVCLAY v/v Bulk Volume Fraction Clay BVPYR v/v Bulk Volume Fraction Pyrite VOM v/v Matrix Volume Fraction Organic Matter VCLAY v/v Matrix Volume Fraction Clay VPYR v/v Matrix Volume Fraction Pyrite RHOM g/cc Matrix Density TOC wt/wt Matrix Weight Fraction Organic Matter WTCLAY wt/wt Matrix Weight Fraction Clay WTPYR wt/wt Matrix Weight Fraction Pyrite BVQTZ v/v Bulk Volume Fraction Quartz VQTZ v/v Matrix Volume Fraction Quartz WTQTZ wt/wt Matrix Weight Fraction Quartz BVCLC v/v Bulk Volume Fraction Calcite VCLC v/v Matrix Volume Fraction Calcite WTCLC wt/wt Matrix Weight Fraction Calcite BVDOL v/v Bulk Volume Fraction Dolomite VDOL v/v Matrix Volume Fraction Dolomite WTDOL wt/wt Matrix Weight Fraction Dolomite OIP wt/wt Matrix Weight Fraction Dolomite

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].