Skip to main content

XTGeo is a Python library for 3D grids, surfaces, wells, etc

Project description

XTGeo

Build Status Code style: black PyPI version Codacy Badge Documentation Status PyPI - Python Version PyPI - License

Introduction

XTGeo is a LGPL licensed Python library with C backend to support manipulation of (oil industry) subsurface reservoir modelling. Typical users are geoscientist and reservoir engineers working with reservoir modelling, in relation with RMS. XTGeo is developed in Equinor.

Detailed documentation for XTGeo at Read the Docs

Feature summary

  • Python 2.7+ and 3.4+ is supported
  • Focus on high speed, using numpy and pandas with C backend
  • Regular surfaces, i.e. 2D maps with regular sampling and rotation
  • 3D grids (corner-point), supporting several formats such as RMS and Eclipse
  • Support of seismic cubes, using segyio as backend for SEGY format
  • Support of well data, line and polygons (still somewhat immature)
  • Operations between the data types listed above; e.g. slice a surface with a seismic cube
  • Integration to ROXAR API python for several data types is supported (see note later)
  • Currently, Linux only is supported

Installation

For some versions, PYPI installation is possible:

pip install xtgeo

For detailed installation instructions (implies C compiling), see the documentation.

Getting started

from xtgeo.surface import RegularSurface

# create an instance of a surface, read from file
mysurf = RegularSurface('myfile.gri')  # Irap binary as default

print('Mean is {}'.format(mysurf.values.mean()))

# change date so all values less than 2000 becomes 2000
# The values attribute gives the Numpy array

mysurface.values[mysurface.values < 2000] = 2000

# export the modified surface:
mysurface.to_file('newfile.gri')

Note on RMS Roxar API integration

The following applies to the part of the XTGeo API that is connected to Roxar API (RMS):

RMS is neither an open source software nor a free software and any use of it needs a software license agreement in place.

History

Version 2

2.1.0

Several fixes and new features, most important:

  • Cube() class

    • A general get_randomline() methods
  • Grid() class

    • Make a rectular shoebox grid
    • Get a randomline (sampling) along a 3D grid with property
    • More robust support for binary GRDECL format
    • Possible to input dual porosity models from Eclipse (EGRID, INIT, UNRST)
  • Surfaces

    • Added a class for Surfaces(), a collection of RegularSurface instances
    • Generate surface from 3D grid
    • Lazy load of RegularSurfaces (if ROFF/RMS binary) for fast scan of metadata
    • Clipboard support in from_roxar() and to_roxar() methods
    • fill(), fast infill of undefined values
    • smooth(), median smoothing
    • get_randomline() method (more general and flexible)
  • Points/polygons

    • Added copy() method
    • Added snap to surface method (snap_surface)
    • Several other methods related to xsections from polygons
  • Well() class

    • Get polygon and and improved fence from well trajectory
    • Look up IJK indices in 3D grid from well path

2.0.8

  • Fixed a backward compatibility issue with filter vs pfilter for points/polygons to_file

2.0.7

  • (merged into 2.0.8)

2.0.6

  • Corrected issues with matplotlib when loading xtgeo in RMS

2.0.5

  • Fixed a bug when reading grids in ROXAR API, the subgrids were missing
  • Improved logo and documentation runs
  • Allow for xtgeo.ClassName() as well as xtgeo.submodule.ClassName()
  • A number of smaller Fixes
  • More badges

2.0.4

  • Technical fixes regarding numpy versions vs py version, swig setup and setup.py

2.0.3

  • Deploy to python 3.4 and 3.5 also. Numpy versions tuned to match roxar library.

2.0.2

  • Adding services for code improvements (codacy, bandit)

2.0.1

  • Minor improvements in setup and documentation
  • Travis automatic deploy works now

2.0.0

  • First version after Open Sourcing to LGPL v3+

Version 0 and 1

See github for commit and tag history:

https://github.com/equinor/xtgeo

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

xtgeo-2.2.0b7-cp37-cp37m-manylinux1_x86_64.whl (826.3 kB view details)

Uploaded CPython 3.7m

xtgeo-2.2.0b7-cp36-cp36m-manylinux1_x86_64.whl (826.4 kB view details)

Uploaded CPython 3.6m

xtgeo-2.2.0b7-cp35-cp35m-manylinux1_x86_64.whl (826.4 kB view details)

Uploaded CPython 3.5m

xtgeo-2.2.0b7-cp34-cp34m-manylinux1_x86_64.whl (826.4 kB view details)

Uploaded CPython 3.4m

xtgeo-2.2.0b7-cp27-cp27mu-manylinux1_x86_64.whl (825.9 kB view details)

Uploaded CPython 2.7mu

File details

Details for the file xtgeo-2.2.0b7-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: xtgeo-2.2.0b7-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 826.3 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.6.7

File hashes

Hashes for xtgeo-2.2.0b7-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 2541c5f0db700146ce2d842f0c39f4e0d88b1503e8cc80757510be8731d3ec9b
MD5 4def1f3b899bdaff0b00bda017fa3172
BLAKE2b-256 3d9ae0b5833af1f8a92fb1e0a88ae992f2afff6e0a2f8ab45d51e73f47b6f920

See more details on using hashes here.

File details

Details for the file xtgeo-2.2.0b7-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: xtgeo-2.2.0b7-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 826.4 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.6.7

File hashes

Hashes for xtgeo-2.2.0b7-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 bde91493b1855c351235c231b0c1477ce22693c3d26cbf07f8b0ea2838bb51f1
MD5 9ecfdff47ceb274ebfc2a88a6f69330b
BLAKE2b-256 42c02b62913ef58081f544d9efde206020ed3f9e4c2b6d2026a0ce987ed9193b

See more details on using hashes here.

File details

Details for the file xtgeo-2.2.0b7-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: xtgeo-2.2.0b7-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 826.4 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.6.7

File hashes

Hashes for xtgeo-2.2.0b7-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ded2e17832cc99b6dab87430279efa48fdd5b98457af471b33a5c526b3ce31d0
MD5 24fe89374d04e7c693d6a5a4fe879b11
BLAKE2b-256 5881494ffd245c69d005b2b6461086c0d78a57df66f18d49ef52778aec5b626e

See more details on using hashes here.

File details

Details for the file xtgeo-2.2.0b7-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

  • Download URL: xtgeo-2.2.0b7-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 826.4 kB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.6.7

File hashes

Hashes for xtgeo-2.2.0b7-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7d5457e63faf16ddba7a3103e25feaf027b4fbb233730a586e4f70574d8d2536
MD5 49aeb6fe8ee7c20600ecf8ec433e7364
BLAKE2b-256 a4db558cb6c4b019d977b4dcb2df3093ae9ab3adc94392beb1ef9a90bad0f7ea

See more details on using hashes here.

File details

Details for the file xtgeo-2.2.0b7-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

  • Download URL: xtgeo-2.2.0b7-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 825.9 kB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.6.7

File hashes

Hashes for xtgeo-2.2.0b7-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8306095e1ce66fc0832a3d471f00481ab14816dc4e9f0d7b6bd4994a068e18d4
MD5 3e2b742cf5e6838f119a982ce4bbc05a
BLAKE2b-256 2cae876bb6acfcbea99a4e43f85f56827ce7153a00aac7e3a7327d09f18e196e

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