Implementation of Sequential Uncertainty Fitting (SUFI-2) method using PEST/PEST++ utilities? #302
Replies: 1 comment 6 replies
-
That makes sense to me. I think you could take advantage of pestpp-swp to parallelize the evaluation of the parameter samples and also the baked-in FOSM stuff in pestpp-glm to get the par uncertainty piece (similar to with genlinpred would do). So the steps might be:
If your model is highly nonlinear, you could turn to pestpp-mou, which is a global evolutionary optimizer with the likes of differential evolution and particle swarm optimization to evolve the population...and you set it to use a single objective, with that objective being some measure of observed vs simulated that you want to minimize (can be any measure you like, just needs to be an "observation" in the control file). currently pestpp-mou only has a uniform random sampler internally to initialize the population, but you can also feed it an external population like one from LHS sampling... Let us know how it goes If you go down the SUFI2 path... |
Beta Was this translation helpful? Give feedback.
-
Hi All,
I'm interested in trying out the Sequential Uncertainty Fitting (SUFI-2) method (Abbaspour et al., 2007) for our highly non-linear (swiss cheese) model calibration problem. SUFI-2 is a semi-automated method combining Latin Hypercube Sampling (LHS) and a "sensitivity matrix" governing the contraction of parameter ranges (more influence = more contraction). Perhaps many of you are familiar with it. I've had success with this method in the past for a surface water / GW (bucket-type) model, though that model was much simpler than the one I'm currently using. My impression was that SUFI-2 did well when initial parameter values are not well known and the objective function surface has many local minima (swiss cheese effect). Last I heard (several years ago), SUFI-2 was proprietary.
Abbaspour, K. C., Yang, J., Maximov, I., Siber, R., Bogner, K., Mieleitner, J., Zobrist, J., & Srinivasan, R. (2007). Modelling hydrology and water quality in the pre-alpine/alpine Thur watershed using SWAT. Journal of Hydrology, 333(2–4), 413–430. SWAT. https://doi.org/10.1016/j.jhydrol.2006.09.014
I wonder if one could effectively emulate SUFI-2 using PEST++/PEST utilities? For example, something like the following??:
(1) Obtain parameter samples (sets) using a PEST LHS utility
(2) Run PEST once on each parameter set (NOPTMAX=0)
(3) Identify best parameters from Step 3 and call these "preferred parameters"
(4) PARREP preferred parameters to Pest Control File
(5) Run PEST with NOPTMAX=-1 on preferred parameters to generate a Jacobian matrix
(6) Run PEST utility GENLINPRED to compute "post-calibration" parameter uncertainties
(7) Assign ranges to preferred parameters using results from Step 6
(8) Repeat steps
Does anyone see any theoretical issues with this implementation? Perhaps there is a better way using PEST++/PEST utilities (e.g., Iterative Ensemble Smoother applied in steps?). There is a "sensitivity matrix" in Abbaspour et al. (2007), an observation-parameter covariance matrix. Maybe there is a way to use this sensitivity matrix instead of the Jacobian matrix, which would bring the method closer to SUFI-2. The sensitivity matrix reminds me of the covariance matrix of the Iterative Ensemble Smoother method in that both involve d(response)/d(parameter) in a randomized sense.
Thanks,
Steve
Beta Was this translation helpful? Give feedback.
All reactions