Iterative Ensemble Smoother
About
iterative_ensemble_smoother is a Python library for data assimilation and history matching using ensemble-based methods. It implements efficient algorithms particularly effective for problems with a large number of parameters (e.g., millions) and relatively few realizations (e.g., hundreds).
The package provides two main algorithms:
- ESMDA (Ensemble Smoother with Multiple Data Assimilation) - A non-iterative method with multiple data assimilation steps, described in Emerick & Reynolds 2013
The package also supports two methods of localization: correlation-based (AdaptiveESMDA) and distance-based (DistanceESMDA).
Installation
iterative_ensemble_smoother is on PyPi and can be installed using pip:
pip install iterative_ensemble_smoother
If you want to do development, we use uv to have one synchronized development environment for all packages. See installing uv. We recommend installing uv using your system's package manager, or into a small dedicated virtual environment.
git clone https://github.com/equinor/iterative_ensemble_smoother.git
cd iterative_ensemble_smoother
uv sync --all-extras
Usage
iterative_ensemble_smoother mainly implements the class ESMDA.
Check out the examples section to see how to use it.
Building the documentation
apt install pandoc # Pandoc is required to build the documentation.
uv run sphinx-build -c docs/source/ -b html docs/source/ docs/build/html/
Releasing a new version
- Create a tag, e.g.
git tag -a v1.0.0 -m "A short note" cf2c87270d3locally on the commit. - Push the tag, e.g.
git push upstream v1.0.0. - Create a release on the GitHub GUI.
Metadata
Release files for iterative-ensemble-smoother 1.3.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 | |
|---|---|---|---|
| iterative_ensemble_smoother-1.3.0.tar.gz | 243.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iterative_ensemble_smoother-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 301.7 kB
Release files / iterative_ensemble_smoother-1.3.0.tar.gz
| Download URL | iterative_ensemble_smoother-1.3.0.tar.gz |
|---|---|
| Size | 243.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9654ad52325797fac9ccde0e5e7d2deded52b70a699bb00de07bb5dfb3c367ab
|
|
BLAKE2b-256 checksum How to use checksums |
c1cbcb5b313c3db7806ce5117dfe6493581a92617fbcf6ee2c3304fe603993a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
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 Aug 5, 2026.
Transparency logRelease files / iterative_ensemble_smoother-1.3.0-py3-none-any.whl
| Download URL | iterative_ensemble_smoother-1.3.0-py3-none-any.whl |
|---|---|
| Size | 57.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba5661fe79f226a53fee87eebd40d5a230c42b7b8ebd75b51cbaca05afca83e3
|
|
BLAKE2b-256 checksum How to use checksums |
575ab17aee44815bc2d34723e17d40667e5e08c96ff0b625c0271489228b57d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
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 Aug 5, 2026.
Transparency log