Physics-based synthetic well-log benchmark generator
Project description
wellbench
Physics-based synthetic well-log benchmark generator for pore-pressure prediction research. Five regions calibrated against real-world wells (Optuna optimisation against Jensen–Shannon divergence and Wasserstein distance), a deterministic physics generator, an optional CTGAN baseline, and a CLI that reproduces a 15-dataset benchmark.
Install
pip install wellbench
pip install wellbench[ctgan] # adds the optional CTGAN baseline
pip install wellbench[docs] # to rebuild the Sphinx docs locally
Quickstart
from wellbench import SyntheticWellLogGenerator, REGION_1
gen = SyntheticWellLogGenerator(REGION_1)
df = gen.generate(seed=42)
print(df.head())
CLI:
wellbench # all 15 datasets (5 regions × 3 seeds)
wellbench -r 2 -s 99 200 # region 2, seeds 99 and 200
wellbench -o my_data # custom output directory
A single, runnable tour of every public entry point lives in
examples.py:
python examples.py # run every example
python examples.py basic ctgan # pick specific examples
Regions
| # | Region | Location | Pore pressure |
|---|---|---|---|
| 1 | Missa Keswal (Zone 1) | Eastern Potwar Basin, Punjab, Pakistan | yes |
| 2 | PINDORI-1 (Zone 2) | Eastern Potwar Basin, Punjab, Pakistan | yes |
| 3 | JOYAMAIR-4 / MINWAL-2 (Zone 3) | Eastern Potwar Basin, Punjab, Pakistan | yes |
| 4 | IODP Expedition 323, Hole U1343E | Bering Sea | no |
| 5 | Volve oil field | North Sea (Norway/UK) | no |
Physics models
- Porosity — exponential compaction (Athy's law) + layered sinusoids + noise
- Sonic (DT) — Wyllie time-average equation
- Density (RHOB) — bulk density mixing law
- Resistivity (RT) — Archie's equation
- Gamma ray (GR) — shale-volume linear mixing
- Pore pressure (PPP) — Eaton's method on a normal compaction trend
All outputs are clipped to wellbench.PHYSICAL_BOUNDS so consumers can rely
on a fixed physical range.
Documentation
Full docs (Sphinx + autodoc) live under docs/. Build them with:
pip install wellbench[docs]
cd docs
make html # POSIX
.\make.bat html # Windows
# open _build/html/index.html
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wellbench-0.1.1.tar.gz.
File metadata
- Download URL: wellbench-0.1.1.tar.gz
- Upload date:
- Size: 2.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a1e58e88719c53db119ebb08fd5731271c6b0635b2757bc83773e1e55a9e787
|
|
| MD5 |
eba16c7f5f85fc250c8c986348f1b567
|
|
| BLAKE2b-256 |
d3fe21a331ce61729a869d6aca522e7aedb6a83ba4717c15717e18c9f55a133a
|
File details
Details for the file wellbench-0.1.1-py3-none-any.whl.
File metadata
- Download URL: wellbench-0.1.1-py3-none-any.whl
- Upload date:
- Size: 2.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33762f89d385ea165227a91840c238d93d00fb18e01221b2bc8694bb0af7bf81
|
|
| MD5 |
6d1b0b40a2ee162ce9ba9a87a23382cc
|
|
| BLAKE2b-256 |
f844b8d4035f7f35dbc05085138ec533b6ab9a77e0bf5bdc804e32c3dc26fda0
|