Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to handle basins without a level demand in allocation #1428

Closed
SouthEndMusic opened this issue Apr 25, 2024 · 4 comments
Closed

How to handle basins without a level demand in allocation #1428

SouthEndMusic opened this issue Apr 25, 2024 · 4 comments
Labels
allocation Allocation layer

Comments

@SouthEndMusic
Copy link
Collaborator

Currently the allocation algorithm only takes local available water of basins (including their forcings) into account when these basins have a level demand. That is because the level demand defines when a basin is in a demand or a supply state. When the basin doesn't have a level demand, there is no reference for this. However, modellers probably still expect for instance that a large amount of precipitation on a basin is taken into account in allocation, even if that basin has no level demand. Should we actually implement something for this, or should we just thoroughly document that this is the behavior of basins in allocation?

@gijsber @visr

@SouthEndMusic SouthEndMusic added needs-refinement Issues that are too large and need refinement allocation Allocation layer labels Apr 25, 2024
@github-project-automation github-project-automation bot moved this to To do in Ribasim Apr 25, 2024
@visr
Copy link
Member

visr commented Apr 25, 2024

I think the default behavior is ok, to not allow abstractions from Basins unless we know there is surplus water. I can imagine some Basins don't have a demand for low water levels, but can have a surplus. In this case we can attach a LevelDemand node with only a max_level.

Perhaps for that it is good to make both min_level and max_level optional, with defaults -Inf and Inf?

https://deltares.github.io/Ribasim/core/usage.html#sec-level_demand

@gijsber
Copy link
Contributor

gijsber commented Apr 25, 2024

Proposal from Martijn is fine to me. If no LevelDemand is set, one can basically utilize all water from a basin in allocation.

@visr
Copy link
Member

visr commented Apr 25, 2024

If no LevelDemand is set, one can basically utilize all water from a basin in allocation.

My proposal was to not allow any use in that case. I feel like that behavior is safer against over abstraction. Modelers need to opt in to Basin sources. Then again, local precipitation should perhaps always be a source. Should any storage increase be a source, but not all storage, to avoid unsustainable use?

Not sure what most modelers would expect here. I feel like it is quite an important choice.

@visr
Copy link
Member

visr commented Apr 25, 2024

We discussed this together, and decided that the current behavior of not allowing Basin storage as a source by default is the conservative thing to do, and easy to explain. If modelers expect a particular Basin's storage to be used, they can attach a LevelDemand to indicate from which level it is considered surplus water. #1430 will help with this as well.

visr added a commit that referenced this issue Apr 29, 2024
As proposed in
#1428 (comment)

This makes it easier to use LevelDemand in case you only care about a
shortage or surplus situation.

---------

Co-authored-by: Bart de Koning <74617371+SouthEndMusic@users.noreply.github.com>
@SnippenE SnippenE removed the needs-refinement Issues that are too large and need refinement label Apr 30, 2024
@github-project-automation github-project-automation bot moved this from To do to ✅ Done in Ribasim Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
allocation Allocation layer
Projects
Archived in project
Development

No branches or pull requests

4 participants