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.0rc1.tar.gz (246.1 kB view details)

Uploaded Source

Built Distributions

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

Uploaded PyPy Windows x86-64

pywaterflood-0.3.0rc1-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.0rc1-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.0rc1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (265.7 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

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

Uploaded PyPy Windows x86-64

pywaterflood-0.3.0rc1-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.0rc1-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.0rc1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (265.8 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

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

Uploaded PyPy Windows x86-64

pywaterflood-0.3.0rc1-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.0rc1-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.0rc1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (268.2 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

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

Uploaded CPython 3.7+ Windows x86-64

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

Uploaded CPython 3.7+ Windows x86

pywaterflood-0.3.0rc1-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.0rc1-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.0rc1-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.0rc1-cp37-abi3-macosx_10_9_x86_64.whl (263.2 kB view details)

Uploaded CPython 3.7+ macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pywaterflood-0.3.0rc1.tar.gz
Algorithm Hash digest
SHA256 c8228df8943f9cf8dc2d07e91f32ba73f8f8eba7319e1a2857e965e7e28bab80
MD5 5e5bf624cafbe0cf84c270f2c6ce7a43
BLAKE2b-256 a3bf946c2a4aa41aaac43e33ab11e95bea3f9e086e413240f052d45690015c37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pywaterflood-0.3.0rc1-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 3ab8e48bbd8a10783d7155b353fece852ae18d934dcf7eb11e0a82acd5e97007
MD5 fd22eff4729604bfc36634a5fd912c6b
BLAKE2b-256 89bfd4866e371132ae99fe334a0bcd12739a4effaf0a2ca85ccf71442d992971

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pywaterflood-0.3.0rc1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5be1cee294d2768772f1d472517220accfc6a40da75072b829b9654cdae7251e
MD5 a17038ac911c4f2ebd63208dea79600e
BLAKE2b-256 3cd37e2578b0be1a932981890b17754b48b7b7e6be66290350c34616de0a6dba

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0rc1-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.0rc1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cec36e884c91b1d8eda6e85106bbcfe17ff5e0a5c772454ddc2d9d0e518db30e
MD5 cd67099f9926798017d916eb6bc9ad25
BLAKE2b-256 050feb4a0e178f1d790f98ea1bb00a061d3a8f35cf6a088e66d93ca6ded48642

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pywaterflood-0.3.0rc1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c3c3d76e09e81d0e6c26155fba08239695169f5bc5aac008a1dfef505a07ce1a
MD5 1a27d591c3d70312126bd6d39dd2f462
BLAKE2b-256 6947f678c97277f75689e850761bc73b6bfd6934f496ec218e1b3666ea5618db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pywaterflood-0.3.0rc1-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 0f05eec8eda91297fbd8b8556a37ac806635541dda8f1a59733a23af3d8c92f6
MD5 de969e29bef51fb21d58a7aa0eb91a55
BLAKE2b-256 40fe25f972bf4332ef3f994a37d7a5970b7e08d107699aa4967fa998e0c902cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pywaterflood-0.3.0rc1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8d70ce948c6a57e98cd34fe90885243b28b481edf678538768fc8afa77a16f48
MD5 d9a2ddf0830f880a96d8b6b01042b4ff
BLAKE2b-256 fdfebc08d12eec8da177fd5327d954ac747339e4b16fa906cc30cdf082a2d52e

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0rc1-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.0rc1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 68d9318b997f25bfd0898d56faf7750e2ae3b6de7dc8c4d48bd7fc85112f44e4
MD5 de3e570d3fd7d4d641df2e7e690a0914
BLAKE2b-256 e885772779ced6b468230d1bd69b08a71445e9f317eade9ec976dcce2cdc3e4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pywaterflood-0.3.0rc1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a6de5134594dca254b7f75763c6866ebea1857dd8aba4705768f94c051376c12
MD5 bc56225cf302a8a9d9d6bdf9abdfb25e
BLAKE2b-256 f6041fa50cb5deb3f7315c0a81b2778f37c7e0f36380421eabccb1f4bc7be28d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pywaterflood-0.3.0rc1-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 6b96a0b93ccea9cfe60b934b65a2dff043ffc699e67b9b7e7b1a67cd4a50e61d
MD5 9bd52f752af1e9d624c52b400e69c01c
BLAKE2b-256 628183d970b441a0f048b0bec049544fa3f2b59878a25e179d020938e33fcefb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pywaterflood-0.3.0rc1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6795ffd341c59676e44844e4b83cc46206fec738767c59400f8ec670aa9679c7
MD5 c74d109c75b1f162632c30fda9b94b4f
BLAKE2b-256 038bb4d34a64e046e6d8cd6b4bfcbe93bc271e477dcd4f7ac100e59872a5d643

See more details on using hashes here.

File details

Details for the file pywaterflood-0.3.0rc1-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.0rc1-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d603a2a1838ad6b2eeca0b400cc353fb9de04f166a49785dccc69baa1411da7e
MD5 5d260cd40e4a675ceff3d121310a0426
BLAKE2b-256 ac54e8724483ca171f15593f758433aadf9389fb8d422f9e77096f611dc647c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pywaterflood-0.3.0rc1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5a8e3b6b93922cdd35eaa72e59acc7b65df9134b319683fc173c6139079de0b1
MD5 122e4f06655d8ff193f8793b90980a73
BLAKE2b-256 668a072f768e1106afccb0c88c8798b739e04133334b58e6827193455fbef0be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pywaterflood-0.3.0rc1-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5ad100f77a417dc8cfd0a6dbb3d24180e2373e1ea095a1386ea56e1ae16fbe47
MD5 162ba17e09d0399e91c5b62b965a3f99
BLAKE2b-256 5bcca43dd1d7d3c5d7082880a170bb2c0ab0a3244ba0d1153cd2274486f61b2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pywaterflood-0.3.0rc1-cp37-abi3-win32.whl
Algorithm Hash digest
SHA256 5358eb3523b1cecb2f6a83fe21062fd64cce6b61d422ba3a530e97d52472507e
MD5 f5e13fae57c535f39a0e828627be5391
BLAKE2b-256 6aba34584d090ee143b9e5e058244bd6c9c0a11c70dc53b63b805c909762e38c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pywaterflood-0.3.0rc1-cp37-abi3-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 502fd35f61de851f223b24acb5013da64fb22afddc161faf5bb304a5d4268c1e
MD5 ec1b8bf332c5f1159499a333b8a64872
BLAKE2b-256 445cee4c73534242de3accd8278e6a2926c5996f8be886e4e8effe5ebf259a0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pywaterflood-0.3.0rc1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bdd1a7764faf78b4f7f9a19c9df08a1af15aa277781a101278cfd183bfb5c342
MD5 872c7d2e85bcc425ffdf666551b8dbbf
BLAKE2b-256 38e4c2bf4a3a3af33c2eda83c1dc52d1f99155558354cdcb3a1f36c5100e819d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pywaterflood-0.3.0rc1-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b2cf396ef0616be55a7643c46defdb90e48f9e8bebb97188849b035a4599552a
MD5 23b99a5d0cbae2f8ca6359815848b1d2
BLAKE2b-256 39a65f376828795bed8000747ad899dba1e6354314a36a017f3ffdbf9355a250

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pywaterflood-0.3.0rc1-cp37-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0d564ff6a45b20c237dfc88a4b4b7d1572f28b6ef14816085beeb9bdcbe2adc8
MD5 a25e3d2a53f5aec00e77a83090081092
BLAKE2b-256 3beb0584874237c449a9b7f471415e05082e24ab84e78c6c1d71fa8bf5012b1c

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