Everest configuration¶
Everest is configured via a yaml file, using a set of pre-defined keywords that are described in more detail in the section Keyword reference.
In addition to the standard yaml syntax, Everest also supports the use of
variables that are replaced with their value when referred in the following
way: r{{variable}}. For instance in the following snippet, the variable
tol is replaced by its value:
optimization:
algorithm: optpp_q_newton
convergence_tolerance: r{{tol}}
The value of a variable can be set in three different ways:
In the
definitionssection in the yaml file. For instance, to define a variabletolwith a value of 0.0001, include this in thedefinitionssection:definitions: tol: 0.0001
Everest pre-defines the following variables:
realization: <GEO_ID> configpath: <CONFIG_PATH> runpath_file: <RUNPATH_FILE> eclbase: <ECLBASE>
These variables do not need to be defined by the user, although their values can be overridden in the
definitionssection. However, this is not recommended for therealizationentry, and Everest will produce a warning when this is attempted.Variables with a name of the form
os.ENVIRONMENT_VARIABLE_NAMEcan be used to access the values of environment variables. For instance, the variabler{{os.HOSTNAME}}will be replaced by the contents of the environment variableHOSTNAME.
Note
Variables are a distinct feature from the yaml keywords defined in section Keyword reference. The final yaml file used by Everest is produced by pre-processing the config file to replace all variables with their value. It is possible to define variables that have the same name as a keyword, but this should be done sparingly to avoid confusion.