Rerun using volume profile
The current Wilson testmodel has been used to test the basic reservoir operations. This entails adding outlets to present the rule zones.
- [x] The next step is to rerun the same model using the latest Ribasim version in order to implement the volume-h basin profiles instead of the area-h.
- [x] Analyse and compare results with the canteen model
- [x] Use debug method to analyse what happens with the profile
Expectation: Storage in Ribasim should show similar results as in Canteen
Does not provide the expected results. Defined in profile the following:
- only area (old case)
- only storage
- both area and storage
All three scenario's provide same results, meaning simulated basin storage is about 300Mcm less than what Canteen simulated storage shows.
After using the debug mode, it became clear that Ribasim simulates the same profile as the input data:
However, simulated storage is still lower than according to the Canteen model. It seems the only way to hold water in the basin is to lower the flow rate of the defined rating curve, however, this still doesn't come close: (example flowrate*0.001)
Also, by adjusting the flow rate, the simulated outflow deviates from the canteen results. Not ideal either. Something to discuss with John: How does the Canteen model maintain a high storage whilst having similar rating curve and profile input?
@SouthEndMusic hereby the files requested:
dam_inflows.csv dams_FM.xlsx wilson_rating_curve.csv
https://gist.github.com/5ea9235d52f3bc26c853b5d183cb919d.git
Something to discuss with John: How does the Canteen model maintain a high storage whilst having similar rating curve and profile input?
Indeed that's the key question right now. I see that for all of 2010 the storage is constant, and outflow = inflow. I guess the rating curve only applies when a certain storage is met.
Plotting inflows vs outflows with storage as the color shows something like a rating curve active at the beginning in 1919 when it adapts to the high initial condition, shown in the top left:
@visr is right. Throught nearly the entire simulation the model sets daily outflows to maintain a storage volume of ~236,188 acre-feet (water surface elevation of 1516 ft), which is the top-of-conservation (TOC)/bottom-of-flood pool storage.
The canteen model for wilson operates based on active storage "pools". In canteen active storage = $S_{t-1} + Inflow_t$.
The general algorithm is as follows:
- Canteen identifies the active storage pool. The following pools exist: Inactive (i.e. dead pool), Conservation (up to ~236,188 acre-feet of storage/WSE of 1516 ft), Flood and Surcharge (above 1516 ft).
In the historical simulations (i.e., values in wilson_results.csv) the reservoir never falls below the conservation pool (i.e. the Inactive pool is never accessed), and there is no meaningful distinction made between the surcharge and flood pool operations.
- If the conservation pool is active (i.e. active storage $\le$ TOC) an outflow of between 10-15 acre-feet per timestep (which is one day).
If the active storage gets very close to the bottom of the conservation pool these releases wouild get even smaller - but doesn't happen in the historical simulation. A release of 30 AF/timestep is very small for Wilson, which means in the historical simulation, the reservoir storage (i.e. S) stays very close to the top-of-conservation - as a result on most days active storage (i.e. $S_{t-1} + Inflow_t$ encroaches into the very bottom of the flood pool.
- If the flood pool is active (i.e. active storage $\gt$ top-of-conservation) the outflow will be the minimum of:
- $S_{t-1} + Inflow_t - TOC$ (i.e., active storage - top-of-conservation storage [~236,188 AF])
- the release specified in the volume-outlfow rating curve
- the maximum feasible release based on the gate elevations and operating capacities
In the historical simulation the first bullet almost always applies. In the model this condition simplies to releasing $Inflow_t$, meaning when it applies: $Outflow_t = Inflow_t$.
If the Ribasim model is operating based on bullet #2 alone, this explains the differences in the simulated canteen and ribasim storage values.
I created an excel spreadsheet based on wilson_results.csv
It shows the general behavior but its results differ from those in the results csv for a few reasons, the spreadsheet does not: (a) model the gates directly, (b) interpolate between rating curve values, and (c) uses 236,188 as the top-of-conservation storage value which is not as precise as the value used in canteen (which is comes from a storage-volume rating curve).
@JohnRushKucharski I see, thanks. I don't know why, but from the beginning I thought the Wilson didn't have rules, and that I should base it on the rating curve only. So the Ribasim model now just always uses the rating curve to compute outflow, even when the reservoir is in the conservation range as you mentioned. That might indeed be why we lose about 300MCM of storage, because the rating curve drains the basin, while in Canteen it only triggers when you're above the TOC right?
I will check how to model this further and update when I can.
Taking the operational pools into account, I first modeled the system without including the TRC node (I still need to work out how to implement the flood‐zone rating curve). The resulting schematization looks like this:
This setup produces the following storage comparison between Canteen and Ribasim:
There are still noticeable differences between the two models, but the results already look closer than before. Ribasim shows larger fluctuations in storage, which is likely because the flood pool is currently represented using a constant outlet instead of a proper rating curve. Need to figure out how to do that properly..