A surrogate model based iterative ensemble smoother is proposed. The PCE surrogate and the interpolation surrogate are adopted for illustration. Both single-phase flow and multi-phase flow cases are discussed. Comparison with the traditional iterative ensemble smoother is provided.