How to calibrate wflow results? #292
-
I just ran a model in wflow (in Julia) for my area of interest. but the results are too far off. I read about the calibration of results through wflow but there was no clear explanation. Could you guide me in detail on how to calibrate the results? |
Beta Was this translation helpful? Give feedback.
Replies: 17 comments 1 reply
-
There are not (yet) general calibration scripts available. You could first check the influence of the Reservoir parameters from hydromt_wflow should be considered a first rough estimate, this is especially valid for the For some info on sensitive model parameters you could check the first reference in the list below. Of course you could also run your own model parameter sensitivity analysis. Other model parameters to consider are parameters related to snow (e.g. A couple of references that may help: |
Beta Was this translation helpful? Give feedback.
-
In my case, peak value is too high like 1500 cumecs and baseflow values are too low ranging from 0-5 cumecs. What value of KsatHorFrac should I take in order to calibrate these kind of results? |
Beta Was this translation helpful? Give feedback.
-
As all catchments have different characteristics and have different responses, it is difficult to provide a value (hence why we use a default value of 100). The best way to find the best value - and how calibration is typically performed - is by running several simulations with different values for the parameters you want to calibrate. Based on performance metrics such as the Kling-Gupta efficiency, you can select which parameter value provides the most accurate discharge simulations. You can easily change the model parameter values in the toml file, see the examples in the docs: https://deltares.github.io/Wflow.jl/dev/user_guide/step2_settings_file/#Modify-parameters |
Beta Was this translation helpful? Give feedback.
-
I changed the ### KsatHorFrac value from default 100 to 50 but it caused very little change in the discharges like average 5 cumecs change. It is very less. Do I need to change other parameters as well in order to observe a noticeable change? |
Beta Was this translation helpful? Give feedback.
-
You mentioned that simulated peak discharge is too high, and simulated baseflow is too low. In that case you need to increase the |
Beta Was this translation helpful? Give feedback.
-
In the TOML file, there is a mapping between the internal
So, you could inspect the staticmaps |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Yes, era5 data needs to be processed beforehand, because the Wflow model grid resolution is different from era5. Could you please report the issue (ERROR) in https://github.com/Deltares/hydromt_wflow/issues (because it is specifically about hydromt and not Wflow.jl)? |
Beta Was this translation helpful? Give feedback.
-
(This is indeed a hydromt_wflow issue and not a Wflow.jl issue, but replying here anyway as this is a known problem but easily solved by splitting the produced forcing files) If you run into memory errors, you can fix this by telling hydromt_wflow to write the forcing files per month (for example). The |
Beta Was this translation helpful? Give feedback.
-
I changed the constant parameter to extremes. Like KsatHorFrac to 10000. But I'm seeing little to no change in my output flows. Why my output flow is not being affected? and how can I reduce the peaks in order to calibrate. My parameters values are as follows: [setup_constant_pars] |
Beta Was this translation helpful? Give feedback.
-
And you did update your wflow model with these settings (with hydromt_wflow)? It is probably easier to apply these uniform changes in the Wflow settings file (TOML file):
Generally changing the I think in you model setup there was also an issue with leaf area index climatology. Has this been resolved now? If this is not included correctly, interception could be too low, which could also result in high peaks. As mentioned before you could also look into other parameter values, for example the |
Beta Was this translation helpful? Give feedback.
-
When I give values directly in the toml file, it gives parse error in Julia that parameter already has a value. How to resolve this? |
Beta Was this translation helpful? Give feedback.
-
You need to comment out the mapping to the external netCDF variable:
|
Beta Was this translation helpful? Give feedback.
-
How KsatVer values are calculated by default when staticmaps.nc files is prepared? I want to understand how this value is calculated for multiple depths |
Beta Was this translation helpful? Give feedback.
-
These are calculated with the Brakensiek PTF, see also the hydromt_wflow docs and this paper for more detailed info. |
Beta Was this translation helpful? Give feedback.
-
I would like to ask the author if he can improve this problem in the future? |
Beta Was this translation helpful? Give feedback.
There are not (yet) general calibration scripts available.
You could first check the influence of the
KsatHorFrac
parameter, default value from hydromt_wflow is 100. For steep catchments this value is often too large, resulting in underestimation of peak discharge values and overestimation of baseflow. If peaks are too high and baseflow is too low, increasing theKsatHorFrac
value is most probably required. Wflow_sbm is also quite sensitive to thef
parameter, that controls the exponential decline of the vertical hydraulic conductivity at the soil surface (kv₀
). Note thatKsatHorFrac
is applied to the model parameterkv₀
. Also some users calibrate the saturated water contentθₛ
.Reservoir…