Problem 57879. Route a hydrograph through a river section with the Muskingum method
Problem statement
Write a function that routes a hydrograph through a river section using the Muskingum method. The input to the function will be the inflow hydrograph , the times t at which the hydrograph is reported, the routing parameters K and X, and the desired time step . If the desired time step differs from the time step in the given inflow hydrograph, use linear interpolation to get the inflow hydrograph onto the new time base. Return the time base of the outflow hydrograph, the outflow hydrograph , and a Boolean flag that says whether the time step is within the guidelines .
Bonus points to anyone who can solve this problem using the FILTER command.
Background
Hydrologic routing is used to predict the movement of a flood wave in a river. The Muskingum method is an example of hydrologic routing, in which the inflow I and outflow O are connected to the storage S in a channel section through a conservation of mass (or volume), which states that the rate of change of storage is the difference between the inflow and outflow:
This equation is written in discretized form as
where subscripts 1 and 2 denote the previous and current time steps, respectively. In applications, the inflow hydrograph (or flow as a function of time) is known, and we assume that everything at the previous time step is known. That assumption leaves two unknowns, the current outflow and the current storage .
In the Muskingum method, the storage, inflow, and outflow are further related by
where K is a time scale related to travel time in the river section and X is a weighting factor. Substituting this relation into the discretized form of conservation of mass and rearranging gives
where
Notice that . With the assumption that the first value of the outflow equals the first value of the inflow, this equation for can be used to compute the outflow hydrograph. The guideline for above ensures that the coefficients , , and are positive.
Solution Stats
Solution Comments
Show commentsProblem Recent Solvers2
Suggested Problems
-
2269 Solvers
-
First non-zero element in each column
859 Solvers
-
Determine Whether an array is empty
775 Solvers
-
605 Solvers
-
Matlab Basics - Logical Tests I
260 Solvers
More from this Author281
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!