{"id":23680,"library":"ert","title":"ERT - Ensemble based Reservoir Tool","description":"ERT (Ensemble based Reservoir Tool) is an open-source tool for ensemble-based reservoir management, including history matching, uncertainty quantification, and optimization. Current version is 21.1.1, with monthly releases following a versioning scheme based on calendar year and patch number.","status":"active","version":"21.1.1","language":"python","source_language":"en","source_url":"https://github.com/equinor/ert","tags":["reservoir-engineering","ensemble-based","history-matching","uncertainty-quantification","equinor"],"install":[{"cmd":"pip install ert","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"Commonly imported from old paths or submodules.","symbol":"ErtAnalysisError","correct":"from ert.analysis import ErtAnalysisError"},{"note":"The old 'res' or 'libres' package was merged into ERT. Use the top-level 'ert' package.","wrong":"import libres or import res","symbol":"ert","correct":"import ert"},{"note":"ErtScript base class for workflows.","symbol":"ErtScript","correct":"from ert.script import ErtScript"},{"note":"Configuration parser.","symbol":"ert_config","correct":"from ert.config import ErtConfig"}],"quickstart":{"code":"from ert import ErtConfig\nfrom ert.analysis import ErtAnalysisError\n\n# Load configuration from a file\nconfig = ErtConfig.from_file(\"config.ert\")\nprint(config)\n\n# Minimal example to run an ensemble experiment\n# (requires a valid ERT configuration file with forward model)\n# For more details see https://ert.readthedocs.io/en/latest/","lang":"python","description":"Load an ERT configuration and demonstrate basic imports."},"warnings":[{"fix":"Replace 'from res import *' with 'from ert import *' and update all import paths to use the new structure.","message":"The 'res' and 'libres' packages have been removed. All imports must use the 'ert' package instead.","severity":"breaking","affected_versions":">=21.0.0"},{"fix":"Upgrade to Python 3.11 or newer.","message":"Python 3.11 or later is required. Python 3.10 and earlier are not supported.","severity":"breaking","affected_versions":">=21.0.0"},{"fix":"Replace 'SYNTHETIC_FORWARD_MODEL' with 'FORWARD_MODEL <shell_command>' in your configuration.","message":"The synthetic_forward_model keyword is deprecated. Use FORWARD_MODEL with a shell command instead.","severity":"deprecated","affected_versions":">=21.0.0"},{"fix":"Run 'ert configdump -v <config.ert>' to check for errors.","message":"Configuration parsing may fail silently if the config file contains unknown keywords. Always validate with 'ert configdump'.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use 'from ert.analysis import ErtAnalysisError' instead.","cause":"The symbol is not exposed at the top-level package; it's in a submodule.","error":"ImportError: cannot import name 'ErtAnalysisError' from 'ert'"},{"fix":"Replace 'import res' with 'import ert' and update all dependent imports.","cause":"The old 'res' package was removed in ERT 21.0.0.","error":"ModuleNotFoundError: No module named 'res'"},{"fix":"Check the ERT API documentation for the correct arguments or use the new configuration-loading approach.","cause":"The API changed between versions; 'ens_path' is no longer accepted in the constructor.","error":"TypeError: __init__() got an unexpected keyword argument 'ens_path'"},{"fix":"Run 'ert --help' or 'ert configdump --help' for subcommand help.","cause":"The CLI interface changed; use 'ert --help' for top-level help.","error":"ert configdump: error: unrecognized arguments: --help"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}