Metadata-Version: 2.1
Name: xtgeo
Version: 2.3.0b1
Summary: XTGeo is a Python library for 3D grids, surfaces, wells, etc
Home-page: https://github.com/equinor/xtgeo
Author: Equinor R&T
License: LGPL-3.0
Keywords: xtgeo
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Operating System :: POSIX :: Linux
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
Description-Content-Type: text/markdown
Requires-Dist: numpy (>=1.10.4)
Requires-Dist: shapely (>=1.6)
Requires-Dist: matplotlib (>=1.5)
Requires-Dist: scipy (>=0.17)
Requires-Dist: segyio (==1.8.8)
Requires-Dist: six (>=1.11)
Requires-Dist: pandas (>=0.21.0) ; python_version != "3.4"
Requires-Dist: pandas (==0.20.3) ; python_version == "3.4"

![XTGeo](https://github.com/equinor/xtgeo/blob/master/docs/images/xtgeo-logo-wide.png)

[![Build Status](https://travis-ci.com/equinor/xtgeo.svg?branch=master)](https://travis-ci.com/equinor/xtgeo)
[![Build status](https://ci.appveyor.com/api/projects/status/g795rox7g4k23l1q?svg=true)](https://ci.appveyor.com/project/jcrivenaes/xtgeo)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)
[![PyPI version](https://badge.fury.io/py/xtgeo.svg)](https://badge.fury.io/py/xtgeo)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/c209aeed6a2a40b08ea859aeadf31cb0)](https://www.codacy.com/app/jcrivenaes/xtgeo?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=equinor/xtgeo&amp;utm_campaign=Badge_Grade)
[![Documentation Status](https://readthedocs.org/projects/xtgeo/badge/?version=latest)](https://xtgeo.readthedocs.io/en/latest/?badge=latest)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/xtgeo.svg)
![PyPI - License](https://img.shields.io/pypi/l/xtgeo.svg)

## 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](https://xtgeo.readthedocs.io)

## 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](https://github.com/equinor/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 with ROXAR API python for several data types is supported
     (see note later)
   * Linux is main development platform. From version 2.2.0, Windows 64bit is supported.

## Installation ##

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

```
pip install xtgeo
```
For detailed installation instructions (implies C compiling), see
the documentation.

## Getting started ##

```python
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.2.1

* Full C code and compile restructuring, now using scikit-build!
* Use of realisation in gridproperty_from_roxar() was not working

### 2.2.0

Several fixes and new features, most important:

  * Well() class
    * Added tvd interval for rescaling of well logs.
    * When sampling a discrete property to well, it will now be a discrete log
    * Added a isdiscrete() method
  * RegularSurface() class
    * Support for read from bytestrings (memory) in addition to files (Irap binary format supported)
    * Fast load of surfaces (will only read metadata) if requested
    * Support for threading/multiprocessing (concurrent.futures) when importing surfaces from Irap binary.
  * Grid() class
    * Improvements and fixes for dual porosity and/or dual permeability models from Eclipse


### 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


