/resfo

Parser and Writer of the reservoir fortran ouput data format. That means files with extensions such as .EGRID, .INIT, .SMRY, .UNSMRY, .GRID, .FEGRID, .FINIT, etc. Such files are generated by many reservoir simulators such as OPM flow, Eclipse, etc.

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

resfo

Code style: black docs

resfo (Reservoir simulator fortran output) is a parser for the output format used by several reservoir simulators such as opm flow, such as found in files with extensions .UNRST, .EGRID, .INIT, etc. and also the corresponding ascii files with extension .FUNRST, .FEGRID, .FINIT, etc.

Installation

resfo can be installed with pip:

pip install resfo

Getting started

Reservoir simulator output files consist of a sequence of named arrays. resfo does not interpret the names, but simply give you a tuple of the name and a numpy array with the read function:

import resfo

for kw, arr in resfo.read("my_grid.egrid"):
    print(kw)

>>> "FILEHEAD"
>>> "GRIDHEAD"
>>> "COORD"
>>> "ZCORN"
>>> "ACTNUM"
>>> "MAPAXES"

For more information, see the docs.

How to contribute

The easiest way to set up a nice development environment for resfo is to use tox (can be installed via pip install tox or sudo apt install tox on ubuntu), then all testing and linting can be ran with

tox

You can also set up pre-commit to ensure style checks are done as you commit:

pip install pre-commit
pre-commit install