Metadata-Version: 2.1
Name: pywaterflood
Version: 0.1.1
Summary: Physics-inspired waterflood performance modeling
Home-page: https://github.com/frank1010111/pywaterflood
Author: Frank Male
Author-email: frmale@utexas.edu
License: MIT
Project-URL: Bug Tracker, https://github.com/frank1010111/pywaterflood/issues
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Hydrology
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE

# `pywaterflood`: Waterflood Connectivity Analysis 
[![Documentation Status](https://readthedocs.org/projects/pywaterflood/badge/?version=latest)](https://pywaterflood.readthedocs.io/en/latest/?badge=latest)  

`pywaterflood` provides tools for capacitance resistance modeling, a physics-inspired model for estimating waterflood performance. It estimates the connectivities and time decays between injectors and producers.

## Overview

A literature review has been written by Holanda, Gildin, Jensen, Lake and Kabir, entitled "A State-of-the-Art Literature Review on Capacitance Resistance Models for Reservoir Characterization and Performance Forecasting." They describe CRM as the following:
> The Capacitance Resistance Model (CRM) is a fast way for modeling and simulating gas and waterflooding recovery processes, making it a useful tool for improving flood management in real-time. CRM is an input-output and material balance-based model, and requires only injection and production history, which are the most readily available data gathered throughout the production life of a reservoir.

## Getting started
The source can be downloaded from <https://github.com/frank1010111/pywaterflood>

Then, from the base directory, install the package with  
```
pip install .
```

## A simple example
    import pandas as pd
    from pywaterflood import CRM

    prod = pd.read_csv('testing/data/production.csv').values
    inj = pd.read_csv('testing/data/injection.csv').values
    time = pd.read_csv('testing/data/time.csv').values[:,0]

    crm = CRM(tau_selection='per-pair', constraints='up-to one')
    crm.fit(prod, inj, time)
    q_hat = crm.predict()
    residuals = crm.residual()


