You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/everest/development.rst
+15-12
Original file line number
Diff line number
Diff line change
@@ -59,20 +59,23 @@ long as the optimization process is running.
59
59
EVEREST vs. ERT data models
60
60
===========================
61
61
EVEREST uses ERT for running an experiment. Whenver an EVEREST `experiment` is ran, `everserver` creates an `EverestRunModel` based on the
62
-
`ErtConfig` (obtained from `EverestConfig`). The `ErtConfig` requires an `EnsembleConfig`. Here we map EVEREST `objectives` (i.e., objective functions)
63
-
and `constraints` to `responses` in ERT using `GenDataConfig` (stored in `EnsembleConfig.response_config`).
64
-
In `everest_to_ert_config` we map all the EVEREST `controls` to ERT `parameters` using `ExtParamConfig` (stored in `EnsembleConfig.parameter_configs`).
65
-
Then in `EverestRunModel._forward_model_evaluator` (used as evaluator by the external optimization library `ropt`) we create a local storage for the `batch` (i.e., `ensemble`),
66
-
link to the current `experiment`, and setup up `simulations` for a set of `controls`.
67
-
68
-
All the forward models in the `batch` are then evaluated in ERT using `EverestRunModel._evaluate_and_postprocess` (and in turn `BaseRunModel.run_workflows`)
69
-
which uses the `EnsembleEvaluator` for execution. After ERT writes to `simulation_results` and stores results in the `LocalEnsemble` (i.e., storage)
62
+
`ErtConfig` (obtained from `EverestConfig`). The `ErtConfig` requires an `EnsembleConfig` where EVEREST `objectives`
63
+
and `constraints` are mapped to ERT `responses` using `GenDataConfig` (stored in `EnsembleConfig.response_config`).
64
+
In `everest_to_ert_config` all the EVEREST `controls` are mapped to ERT `parameters` using `ExtParamConfig`
65
+
(stored in `EnsembleConfig.parameter_configs`). Then in `EverestRunModel._forward_model_evaluator` (used as evaluator
66
+
by the external optimization library `ropt`) a local storage is created for the `batch` (i.e., `ensemble`),
67
+
linked to the current `experiment`, and setup up `simulations` for all sets of `controls`.
68
+
69
+
All the forward models in the `batch` are then evaluated in ERT using `EverestRunModel._evaluate_and_postprocess`
70
+
(and in turn `BaseRunModel.run_workflows`) which uses the `EnsembleEvaluator` for execution. After ERT writes
71
+
to `simulation_results` and stores results in the `LocalEnsemble` (i.e., storage)
70
72
these results are then gathered in the forward model evaluator (called by `ropt`) and feedforward into the optimizer using
71
-
`EverestRunModel._gather_simulation_results` (i.e., reading the `.parquet` files generated by ERT). Every set of forward model executions for a single
72
-
set of inputs (`controls`) and outputs (`objectives` / `constraints`) constitutes an ERT `realization` in the ERT queue system; denoted in EVEREST as `simulation`.
73
+
`EverestRunModel._gather_simulation_results` (i.e., reading the `.parquet` files generated by ERT). Every set of
74
+
forward model executions for a single set of inputs (`controls`) and outputs (`objectives` / `constraints`)
75
+
constitutes an ERT `realization` in the ERT queue system; denoted in EVEREST as a `simulation`.
73
76
74
-
Since EVEREST optimizes a set of `controls` and assumes static (i.e., unchanging) `realizations`, there is a distinction between `unperturbed controls`
75
-
(i.e., current `objective function` value) and `perturbed controls` (i.e., required to calculate the `gradient`).
77
+
There is a distinction between `unperturbed controls` (i.e., current `objective function` value) and
78
+
`perturbed controls` (i.e., required to calculate the `gradient`).
76
79
Furthermore, when performing robust optimization (i.e., multiple static `realizations`) a `batch` contains a
77
80
certain number of `realizations` (denoted by `<GEO_ID>`) and each `realization` contains a number of `simulations`
78
81
(i.e., forward model runs). These `simulations` are forward model runs for either `unperturbed controls` and/or
0 commit comments