Skip to main content

Physics-inspired waterflood performance modeling

Project description

pywaterflood: Waterflood Connectivity Analysis

PyPI version Documentation Status

License codecov pre-commit Python version PyPI - Downloads

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.

There are several CRM versions (see Holanda et al., 2018). Through passing different parameters when creating the CRM instance, you can choose between CRMIP, where a unique time constant is used for each injector-producer pair, and CRMP, where a unique time constant is used for each producer. CRMIP is more reliable given sufficient data. With CRMP, you can reduce the number of unknowns, which is useful if available production data is limited.

Getting started

You can install this package from PyPI with the line

pip install pywaterflood

A simple example

import pandas as pd
from pywaterflood import CRM

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]

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pywaterflood-0.3.0.tar.gz (246.1 kB view details)

Uploaded Source

Built Distributions

pywaterflood-0.3.0-pp39-pypy39_pp73-win_amd64.whl (149.0 kB view details)

Uploaded PyPy Windows x86-64

pywaterflood-0.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pywaterflood-0.3.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pywaterflood-0.3.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (266.1 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

pywaterflood-0.3.0-pp38-pypy38_pp73-win_amd64.whl (149.0 kB view details)

Uploaded PyPy Windows x86-64

pywaterflood-0.3.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pywaterflood-0.3.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pywaterflood-0.3.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (266.2 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

pywaterflood-0.3.0-pp37-pypy37_pp73-win_amd64.whl (151.4 kB view details)

Uploaded PyPy Windows x86-64

pywaterflood-0.3.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pywaterflood-0.3.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pywaterflood-0.3.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (269.4 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

pywaterflood-0.3.0-cp37-abi3-win_amd64.whl (149.0 kB view details)

Uploaded CPython 3.7+ Windows x86-64

pywaterflood-0.3.0-cp37-abi3-win32.whl (144.0 kB view details)

Uploaded CPython 3.7+ Windows x86

pywaterflood-0.3.0-cp37-abi3-musllinux_1_1_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7+ musllinux: musl 1.1+ x86-64

pywaterflood-0.3.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7+ manylinux: glibc 2.17+ x86-64

pywaterflood-0.3.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded CPython 3.7+ manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pywaterflood-0.3.0-cp37-abi3-macosx_10_9_x86_64.whl (266.2 kB view details)

Uploaded CPython 3.7+ macOS 10.9+ x86-64

File details

Details for the file pywaterflood-0.3.0.tar.gz.

File metadata

  • Download URL: pywaterflood-0.3.0.tar.gz
  • Upload date:
  • Size: 246.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for pywaterflood-0.3.0.tar.gz
Algorithm Hash digest
SHA256 ba608bef9d5e7506e5d7aa0800bf4de5da26e7e3c3f6e165e4ce9f9ed9fcc869
MD5 8651e46d70d2a5564fed9706f23bef7d
BLAKE2b-256 4ffba6c6b6483c930cbd8fc97badcd0511f33bffc15697e5573e9b5e24ed9f88

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 927d39c56cb159b5ca761da15d985dcb74ead8b49beec9becd0275d00e378f21
MD5 06dda57c1270b54264713d3207bf5383
BLAKE2b-256 c94bc01379034a8b647b9841d1aa1a019bb49ac9ab8060b0b897368dc0e633b3

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1af9e31dc33c70e0db1c0a5e33411f4f80985ad6e5f6903603e59069348249ab
MD5 b01a229ea6ff67cbbcd4d453c0de80f6
BLAKE2b-256 1d90b85856f6cd585de193399e2fec20aa1857ed1502dd672d0957aaa4428fd7

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ce3878f4a7fd6ae47cc9c532dbf059f380715f1f730b2d6a5d61338e6cd2f092
MD5 75003172876376b9ce3f8a8e83530dec
BLAKE2b-256 b51aa42620c29d29a94114f228c6f9bf5e47716fdf06085e5c80bc53240f2d3e

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0c706901d4fc19b9acdbf945d674fb16ebc67c22ff54505fc44bd529326b7509
MD5 3ae177ed03c51d537f90bff010f4c0ec
BLAKE2b-256 ce08500d58f75d7b22deb248d2e2d2c07fd097de8f40d2096599e6b2db341a40

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 d478498505903c9f6a9b21817fdea8109bf0cc010739d2d7018f834e15758995
MD5 eeb2b2acc65ea1edca808244e9ef4215
BLAKE2b-256 d9cc03c00a3df6e0d0302d339ff14fafde7a24d171978032dd4648473b174c7e

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 46b28460c7a1a4adf4afe507a43083bf22ee544d8ce8149f4577cabc5ffebc06
MD5 27674ced54b0c40029fc9b68b566a5a7
BLAKE2b-256 325b303233a179eb620fd1d35ed83808ba12d9b732c1070636a0da58c6ad55c4

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9d5ed9621782f9751c234b423d5eeb2d9ec11ea8ee0dcce55ffffa42f73f780f
MD5 af29ee7c790adc499fdbaf969f24b031
BLAKE2b-256 40241db184fe5bb5a6fdab4e763afa260051e677afd8a74e01c061221dcf3114

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 71df2913361a8f5cb082545eb169809e4ebf00b14631661c1302611ca2ac737a
MD5 394b0fa25910304253f3cb2c1c201eb3
BLAKE2b-256 21b1fc3ee839f9d37fc806039a658798661d95d2affc371f7ed188b8cb46bd9a

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 8862db808db078d540b8da056201de53c5a54e9989dea25eb9ef9d181ad562df
MD5 160c261599bd0d04ee5e262654e7c418
BLAKE2b-256 94cf306d6f6ee3ae58a53e15fc37b6cd95939f44e5626f3ab24bb5e137d1017e

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6a1d7a7f1cc29a2daa39d771f8954b027f32ad9082f15f8f787103e86a9f4e4b
MD5 d080ebad555ef3284821feb0e830b62d
BLAKE2b-256 79f25b745f1e8ed4ff5322ba6e31c20e8c02f1378676a7b2153b306947cc9b25

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3bbc30ecfbebaa864837bca6734d92ebbaba7b5589909c818e0acf4a0953b0c3
MD5 5fbd22d1063e57ae00caa966a831ec46
BLAKE2b-256 8266df592942ec36b0f51221b4c134d1e6c7b81c686a5c6238dff7c35dc01c5c

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 763a3039c2afd81c2633c267a191a9974a2924b7d068873ec52265ca70857f65
MD5 2798b19dfb15c31f69deae8c35a4af94
BLAKE2b-256 94c8172d5f8d728a40f28fb31baac174b321a715dac136931d452f0742818643

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-cp37-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f8328be746cf53452455ae2e15c7455b4fc2dffae2d8838af7fe3e4160465b3b
MD5 b8c546c0a357363b4f914fc4b2263e1a
BLAKE2b-256 028060d50c21c2e5fa24b78d9f9dae76ad91758d8ebaab50de07dde618c2277f

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-cp37-abi3-win32.whl.

File metadata

  • Download URL: pywaterflood-0.3.0-cp37-abi3-win32.whl
  • Upload date:
  • Size: 144.0 kB
  • Tags: CPython 3.7+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for pywaterflood-0.3.0-cp37-abi3-win32.whl
Algorithm Hash digest
SHA256 e5a347d4b40a29e0adc3f7a13c5849f03b34a2e00c6cdf74c73fb78004638a41
MD5 9047023e27de0b1cfc8725e6c0f1edd3
BLAKE2b-256 45f6a33c7e9aabe38e92690d47945750e117d56454968804a6e3d1b01498d1df

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-cp37-abi3-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-cp37-abi3-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f791e9b832cf1a8d19a0d916bfea59dce43a98ad0e6a71635cda823af4ee38c3
MD5 afde7c3725c271a20122d76a9529e795
BLAKE2b-256 3c97e7a70b24e3adad3e710037524ab2f7ed95db4320d9a2e29cd32bb6044c03

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d086ed440780eedce6a9daaa6aad1b2fa6d56df3409d68483ecefbfce7ee5e80
MD5 345ac91908232e0eeb2a94878cc784b4
BLAKE2b-256 99bb85729d7745bbfc181057986c989472a2504560a21d577e593c6f760f4f3c

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b52e273fd6f9af2f80edcdfc209a1ff3390a78a21e6cdf39726088cd9fccfef3
MD5 8cfcd13382e273880436c2df0c0e8df3
BLAKE2b-256 0ede7eb9dbc1a25f72011de1cfcaa344a534556735586a0ddd559e0940f0b926

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0-cp37-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pywaterflood-0.3.0-cp37-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8e44e50ccd45a80b60f1414975243c6ad48d97625a831cff8587d0ec950a7786
MD5 24cb5f77159591f41d63605a3c14ab49
BLAKE2b-256 e82e964c9cd4b4edf3a1e512efee5a557dc117537686764dfe4c9590bfd21eb8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page