Abstract
We present a recently developed framework for computing parameter sensitivities for models of the GenericBlackOilModel class. The typical application is model parameter tuning, i.e., to adjust model parameters such that model simulation output (well component rates and pressure) matches some reference output as close as possible. In this case the sensitivity of a given model parameter is the gradient of some mismatch-function with respect to the parameter. With the framework, any number of parameters can be set up, and the corresponding sensitivities for a given simulation are computed by a single adjoint run. The new ModelParameter class is used to set up parameters and includes options for parameter multipliers, parameter groupings and non-linear parameter scaling. The class contains default setup of some common parameters such as transmissibility, permeability, pore volume, well connection factors, relative permeability function scalers and initial state. Custom parameters can easily be set up as long as they appear directly in the model equations and are defined in the model structure, schedule or initial state. We illustrate the use of the code by two simple examples. In the first example we tune the parameters of an initially upscaled model to better match the output of the fine underlying model. In the second example, we utilize the code for optimization of well valve settings to maximize simulated net-present-value (NPV).