Support kinematic wave floodplain routing#870
Open
vers-w wants to merge 90 commits into
Open
Conversation
Initialized as `nothing`.
Introduce one struct for riverflow routing `RiverFlowModel` and one struct for overlandflow routing `OverlandFlowModel`. The routing method (subtype of `AbstractRoutingMethod`) is used to differentiate between different routing approaches for river and overland flow. Extending to other routing methods is now easier.
Remove `AbstractRoutingMethod` from these abstract types and add the routing method as first field to `RiverFlowModel` and `OverlandFlowModel`. This simplifies dispatching a bit and looks a bit cleaner.
Also add `slope` parameter that can be used by kinematic wave routing (as alternative to local inertial routing) using a staggered scheme.
Use a separate function for reading river parameters that can also be used by kinematic wave routing with a staggered scheme.
As implemented in PR#835.
Using the term kinematic wave is not entirely correct as the Manning's equation is used as an alternative for the local inertial approach on a staggered grid.
For manning flow on a staggered grid.
To run manning river and floodplain flow on a staggered grid.
Edge/node variables and parameters.
Remove update of `alpha` at each model timestep as dynamic input of manning roughness is not allowed.
To support different slope values for river channel and floodplain for `kinematic_wave` routing.
For river flow on a staggered grid using Manning's equation.
Keeping `x` and `y` dir in the name, bit more generic than `left`/`right`.
From `KinematicWave` to `Manning`, a better description as it uses the Manning equation and not the full kinematic wave equation.
Removed flow area and hydraulic radius fields of local inertial structs as these are used only internally (per function) and are not part of model output. Added check for hydraulic radius floodplain.
Already part of release/v1.0 branch: this check was based on `water_depth_at_edge` of river nodes and should be based on `water_depth_at_edge` of floodplain nodes. However, testing showed there is no performance benefit from this check and looping over active floodplain indices.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue addressed
Fixes #235
Explanation
This PR is about:
accucapacityfluxfunction with a transport capacity based on Manning's equation.Besides these implementations river and overland flow routing (except local inertial overland flow) has been refactored, the type of routing (
routing_method) is now used to distinguish between different routing types forRiverFlowModelandOverlandFlowModel.Checklist
master