Skip to content
forked from equinor/xtgeo

XTGeo Python class library for subsurface Surfaces, Cubes, Wells, Grids, Points, etc

License

Notifications You must be signed in to change notification settings

jorge-epm/xtgeo

Folders and files

NameName
Last commit message
Last commit date
Oct 21, 2021
Dec 6, 2020
Nov 9, 2021
Oct 26, 2021
Jun 17, 2021
Nov 15, 2021
Nov 8, 2021
Nov 15, 2021
Nov 15, 2021
Apr 7, 2020
Sep 1, 2021
Sep 16, 2021
Jan 18, 2021
Feb 8, 2021
Apr 7, 2020
Apr 29, 2019
Oct 29, 2020
Sep 16, 2021
Sep 16, 2021
Nov 3, 2021
Jul 29, 2021
Apr 20, 2021

Repository files navigation

XTGeo builds linting Codacy Badge codecov Code style: black PyPI version 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 3.6+ support (earlier versions with 2.7+ and 3.5+ support)
  • 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
  • Optional integration with ROXAR API python for several data types (see note later)
  • Linux is main development platform, but Windows and MacOS (64 bit) are supported and PYPI wheels for all three platforms are provided.

Installation

For Linux, Windows and MacOS 64bit, PYPI installation is enabled:

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.

About

XTGeo Python class library for subsurface Surfaces, Cubes, Wells, Grids, Points, etc

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 66.1%
  • C 32.7%
  • Other 1.2%