History matching with ERT and Everest#
Overview#
Set --mode to ert or everest to run history matching. These modes
require additional TOML variables, including the parameters to history match,
the number of parallel runs, resource limits, and a random seed when
reproducibility is required.
Refer to the external references for the underlying configuration keywords:
Everest example#
The following command runs the final history-matching iteration used in the
pofff paper with everest_iter_3.toml:
pofff -i everest_iter_3.toml -o everest_iter_3 -m everest -t 24,48,72,96,120 -f all
Warning
The publication configuration uses cores = 50 and
max_function_evaluations = 200000. When running it locally, decrease the
number of parallel runs and maximum function evaluations to match the CPU,
memory, and time available on your system.
History-matching parameters#
The possible history-matching variables include the supported facies properties
for facies 1 through 6, for example permx2 and pen5. The current
configuration model supports the numbered properties poroN, permN,
permxN, permyN, permzN, dispercN, swiN, sniN,
penN, nkrwN, nkrnN, npeN, threN, and npntN where
applicable. Isotropic permeability can be selected with a variable such as
perm3. The thicknessmult variable scales the thickness map.
Note
History-matching values use different layouts for the two workflows. ERT
parameters contain a distribution name and two parameters. Everest
parameters contain [initial, minimum, maximum, scale]. See
Configuration reference for the maintained TOML reference.
Additional examples#
Additional ERT and Everest examples are available in the pofff repository:
Generated configurations and direct execution#
pofff exposes the most commonly used ERT and Everest options through TOML. After
pofff generates everest.yml or ert.txt, you may add supported keywords
that are not yet exposed by pofff and then run the corresponding Everest or ERT
command-line executable directly.
Please raise a pofff issue when a useful TOML keyword is missing, so it can be considered for the maintained configuration model.
Separate generation, execution, and postprocessing#
After ERT or Everest has run, pofff can postprocess the existing results and generate figures without starting another history-matching study:
pofff -o HISTORY_MATCHING_OUTPUT -m none -t 24,48,72,96,120 -f all
The publication profiling.py workflow demonstrates how to separate file
generation, Everest execution, and postprocessing:
Outputs#
ERT and Everest produce different runtime directories, but both postprocessing
workflows create a figures/best_simulation folder containing the closest or
optimal simulation and its benchmark tables and figures. See
Output folder for the output layouts.