The standard formulation of the ensemble Kalman filter (EnKF) does not take into account the physical constraints on state variables during the data assimilation step so constraint violations are often handled heuristically. The physical constraints often contain valuable information about the system which are critical for the valid initialization and forecast. A successful enforcing of these constraints during the data assimilation step of the EnKF is necessary for valid estimation of reservoir properties.

A number of solutions to the problem of constraint violation have been proposed in the past including the constrained EnKF (CEnKF), iterative EnKF, transformation of state variables, reparameterization, and truncation. In this paper, we present an interior-point method for incorporating the inequality constraints into the EnKF methodology (IPCEnKF). In this approach, the objective function for data assimilation is reformulated by adding a barrier function to penalize proximity of the state variables to the boundaries of the feasible region and to set a barrier on the state variables against leaving the feasible region. The proposed method is efficient compared to the CEnKF as it does not require the identification of the active constraints. Although the method is iterative to reduce the effect of the barrier term at each assimilation step, the iterations do not require running the simulator.

The method is successfully tested first on a 1D linear example to illustrate the performance when nonlinearity is not an issue, then on a more realistic 3D, three-phase reservoir flow assimilation problem based on the modified SPE9 model. Results from the reservoir problem show the effectiveness of the newly proposed IPCEnKF method in matching the observations and honoring the inequality constraints on phase saturations. The proposed method is able to achieve a better estimate of reservoir properties than is obtained using only truncation with the standard EnKF.

You can access this article if you purchase or spend a download.