pyscal
Python tool module for relative permeability/SCAL support in reservoir simulation
Documentation
Feature overview
-
Command line tool for generating Eclipse input from parameters in an XLSX- or CSV-file.
-
API to create relative permeability curves through correlations or tables.
-
Consistency checks for three-phase setups, ensures compatibility of oil-water tables and gas-oil tables.
-
Support for handling uncertainty, doing book-keeping for low, base and high cases, and the possiblity to interpolate between these cases using a number from -1 to +1.
Command line tool
Example use with CSV input for one SATNUM:
$ cat relperminput.csv
SATNUM, swl, sorw, Nw, Now
1, 0.1, 0.05, 2, 3
$ pyscal relperminput.csv --delta_s 0.1 -o relperm.inc
Written to relperm.inc
where relperm.inc can be used directly as an INCLUDE file in Eclipse or Flow.
The same table as in the CSV above could have been in an XLSX file also.
Python API usage
Using the Python API, the same curves as above can be constructed with
from pyscal import WaterOil
wo = WaterOil(h=0.1, sorw=0.05, swl=0.1)
wo.add_corey_water(nw=2)
wo.add_corey_oil(now=3)
print(wo.SWOF())
which will produce the output
SWOF
--
-- pyscal: 0.4.1
-- swirr=0 swl=0.1 swcr=0.1 sorw=0.05
-- Corey krw, nw=2, krwend=1, krwmax=1
-- Corey krow, now=3, kroend=1
-- krw = krow @ sw=0.46670
-- Zero capillary pressure
-- SW KRW KROW PC
0.1000000 0.0000000 1.0000000 0
0.2000000 0.0138408 0.6869530 0
0.3000000 0.0553633 0.4471809 0
0.4000000 0.1245675 0.2709139 0
0.5000000 0.2214533 0.1483818 0
0.6000000 0.3460208 0.0698148 0
0.7000000 0.4982699 0.0254427 0
0.8000000 0.6782007 0.0054956 0
0.9000000 0.8858131 0.0002035 0
0.9500000 1.0000000 0.0000000 0
1.0000000 1.0000000 0.0000000 0
/
Release files for pyscal 0.17.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyscal-0.17.0.tar.gz | 3.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyscal-0.17.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.9 MB
Release files / pyscal-0.17.0.tar.gz
| Download URL | pyscal-0.17.0.tar.gz |
|---|---|
| Size | 3.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
190255c30ea575a3351163a5afe39b5b051b2c25e0de6d17ef6580219943cb84
|
|
BLAKE2b-256 checksum How to use checksums |
f7469fc172e965ae3f0619859aef321aef37ab98633486275489f82a6bef54b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 9, 2026.
Transparency logRelease files / pyscal-0.17.0-py3-none-any.whl
| Download URL | pyscal-0.17.0-py3-none-any.whl |
|---|---|
| Size | 75.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
93874882a2eb866ea4e0ee572d75e4ca20a834de5981d9ea14f4574149c55f2a
|
|
BLAKE2b-256 checksum How to use checksums |
dd24df606149c5941a5bc0a5233e99bcb2598dc399832d6c9399d9b25d5b8dc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 9, 2026.
Transparency log