Inverse modeling aims to infer uncertain parameters of a system with noisy observations of the system response, which has been widely utilized in various scientific and engineering practices, such as seismic inversion (Bunks et al., 1995), petroleum reservoir history matching (Oliver et al., 2008), aquifer parameter estimation (Carrera & Neuman, 1986a, 1986b, 1986c), and medical imaging (Arridge, 1999). Under certain conditions, inverse problems can be viewed as optimization problems, in which the model parameters are modified, such that the predictions from forward models can match the measurements. In addition, prior knowledge can be used to regularize the objective function and to obtain the maximum a posteriori estimate of the model parameters. The gradient-based method is a straightforward and common way to perform inverse modeling tasks. Anterion et al. (1989) presented a rigorous analytical method to calculate the gradients of observations with respect to reservoir characteristics, which can then be used to assist the process of parameter adjustment for history matching. For calculating the required gradients in inverse modeling, the adjoint method is a frequently utilized technique (