oil-reservoir-synthesizer
A generator for synthetic oil reservoir values
What it is and what it does
Oil Reservoir Synthesizer generates synthetic data mimicking real oil reservoir simulators like opm-flow. It uses Perlin noise to create pseudo-random but spatially coherent values for wells and blocks over time steps, producing outputs with names matching industry-standard simulators (e.g., fopr for oil production rate). The package exposes a single OilSimulator class that acts as a builder and generator: you configure wells and blocks with seed values, then step through time to retrieve simulated values.
The package depends only on numpy and installs as a pure Python wheel. It was originally part of larger projects (ERT and libres) and is maintained by Equinor. Despite active repository status, the project carries an early-stage development classification and has not released since late 2023, so stability and feature completeness should be verified before relying on it in production workflows.
Use it for:
- Generate training data for machine learning models that predict oil reservoir behavior without needing actual simulator runs
- Create test datasets for oil industry software that expects opm-flow-compatible output formats
- Prototype and validate reservoir simulation workflows before committing to expensive full simulations
- Populate synthetic well and block scenarios for algorithm development in petroleum engineering
- Benchmark performance of data processing pipelines that consume oil simulator outputs
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Generates synthetic oil reservoir simulator data using Perlin noise, producing pseudo-random values with names matching real oil simulator outputs like fopr (oil production rate).
Yes, if you need synthetic oil reservoir data for testing, training, or prototyping. Install friction is minimal and the dependency footprint is small. However, verify that the early-stage development status and 980-day release gap are acceptable for your use case—this is not a mature, actively-released library. The copyleft GPL-3.0 license requires any derivative distribution to remain open-source.
Install
oil-reservoir-synthesizer on PyPI
pip
pip install oil-reservoir-synthesizeruv
uv add oil-reservoir-synthesizerpoetry
poetry add oil-reservoir-synthesizerInstalling oil-reservoir-synthesizer
Before you install
Low install friction with a single runtime dependency (numpy). Active maintenance as of 2026-08-05, though the project is marked as early-stage (Development Status :: 1 - Planning) and last released over 980 days ago.
License in practice
Licensed under GPL-3.0 (copyleft). Any derivative work or bundled distribution must also be open-source under compatible terms; proprietary use is not permitted.
Quickstart
pip install oil-reservoir-synthesizer
from oil_reservoir_synthesizer import OilSimulator
simulator = OilSimulator()
simulator.addWell("wellName", seed=997)
simulator.addBlock("5,5,5", seed=31)
simulator.step(scale=0.1)
print(simulator.fopr())
Verify before relying
- Whether the package is suitable for production use given its 'Planning' development status classification
- What specific oil simulator outputs (beyond fopr) are supported by the current version
- Performance characteristics and scalability limits for large reservoir models
Package facts
| License | GPL-3.0 (copyleft) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — numpy |
| Maintenance | actively maintained — 980 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 83,492/month — #14,073 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: oil_reservoir_synthesizer-0.2.0-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
opensimplexGenerates OpenSimplex noise across 2D, 3D, and…
permissive · top 15,000 on PyPI
resfo-utilitiesresfo-utilities parses and processes output…
copyleft · top 15,000 on PyPI
data-designerGenerates high-quality synthetic datasets from…
permissive · top 15,000 on PyPI
resforesfo parses binary and ASCII output files from…
copyleft · top 15,000 on PyPI
sdvSDV generates synthetic tabular data by…
unclear · top 15,000 on PyPI
resdataResData reads and writes result files from…
copyleft · top 15,000 on PyPI
pyudorandomGenerates pseudorandom numbers using algebraic…
unclear · top 15,000 on PyPI
deepechoDeepEcho generates synthetic time series data…
unclear · top 15,000 on PyPI
ctganCTGAN generates synthetic tabular data by…
unclear · top 15,000 on PyPI
xtgeoXTGeo manipulates subsurface reservoir…
copyleft · top 15,000 on PyPI