Getting Started

Installing pywaterflood

You can install pywaterflood with

pip install pywaterflood

Running pywaterflood

First, import pandas and pywaterflood’s CRM module.

import pandas as pd
from pywaterflood import CRM

Next, use pandas to read production and injection data.

gh_url = (
    "https://raw.githubusercontent.com/frank1010111/pywaterflood/master/testing/data/"
)
prod = pd.read_csv(gh_url + "production.csv", header=None).values
inj = pd.read_csv(gh_url + "injection.csv", header=None).values
time = pd.read_csv(gh_url + "time.csv", header=None).values[:, 0]

Finally, run CRM and check the predictions and residuals.

crm = CRM()
crm.fit(prod, inj, time)
q_hat = crm.predict()
residuals = crm.residual()

The connectivity matrix can be created thusly:

connectivity = pd.DataFrame(crm.gains).rename_axis(index="Producer", columns="Injector")
connectivity.T.style.highlight_max().format("{:.2}")