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.1.1a1-cp37-cp37m-manylinux1_x86_64.whl (851.8 kB view details)

Uploaded CPython 3.7m

xtgeo-2.1.1a1-cp36-cp36m-manylinux1_x86_64.whl (852.0 kB view details)

Uploaded CPython 3.6m

xtgeo-2.1.1a1-cp35-cp35m-manylinux1_x86_64.whl (852.0 kB view details)

Uploaded CPython 3.5m

xtgeo-2.1.1a1-cp34-cp34m-manylinux1_x86_64.whl (851.9 kB view details)

Uploaded CPython 3.4m

xtgeo-2.1.1a1-cp27-cp27mu-manylinux1_x86_64.whl (850.3 kB view details)

Uploaded CPython 2.7mu

File details

Details for the file xtgeo-2.1.1a1-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: xtgeo-2.1.1a1-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 851.8 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.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7

File hashes

Hashes for xtgeo-2.1.1a1-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 956d5e53d634a3f9a5efd6b7839f19d16ee7011370701176fc862c542ebadcd0
MD5 90ee18afbcdba0f448a9b8bc3d1cc17e
BLAKE2b-256 b3af644b20b0f753381f7e37c009a96ba0cbb49d04cf14bd7cf83348a88907aa

See more details on using hashes here.

File details

Details for the file xtgeo-2.1.1a1-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: xtgeo-2.1.1a1-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 852.0 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.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7

File hashes

Hashes for xtgeo-2.1.1a1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b14f5bfddb52a2c787f85cda925b8faa7bc4d29fd35fa5df1797ae28f544a7e1
MD5 be9c159a2e09509d787d262b653f28e4
BLAKE2b-256 15520781ee339a68badd2ca075716158d023e093466e36502e52b9f017521409

See more details on using hashes here.

File details

Details for the file xtgeo-2.1.1a1-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: xtgeo-2.1.1a1-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 852.0 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.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7

File hashes

Hashes for xtgeo-2.1.1a1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 98923304e06e235c9d348cccf2004dc74a082d27f7b847b9c9c1a36762ef0799
MD5 cffdd78a82ee8118b48014157282ce90
BLAKE2b-256 2145e0100abc2a84d21ff68fa41c7e3b7127af0806fb7d7978b392045f3ae4f6

See more details on using hashes here.

File details

Details for the file xtgeo-2.1.1a1-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

  • Download URL: xtgeo-2.1.1a1-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 851.9 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.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7

File hashes

Hashes for xtgeo-2.1.1a1-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 da829e2c44c8ed48bc5c7c5cd95966108db2a61132d48302093f9f0439cb456f
MD5 6e6431f273816c44db1e0bf6fe05afcd
BLAKE2b-256 e322603890fd93a5e1484d4d01cc8f14d238ea579d179933a672e808306c16f4

See more details on using hashes here.

File details

Details for the file xtgeo-2.1.1a1-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

  • Download URL: xtgeo-2.1.1a1-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 850.3 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.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7

File hashes

Hashes for xtgeo-2.1.1a1-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a7d611aafcc22ac257ea9f61c3e78de9c81a4debfd89bd14fc6cefba80a6615a
MD5 d202564be880a51ffaf5e4cc71ddf782
BLAKE2b-256 a8df72821d6319ea57d6cacbd47bda5a57a8e56ae5dd9825daee736e5445fe41

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