Solving channel can be as much as 20% of computation time (maybe more in some places)
2 Questions:
How to Efficiently Simulate Small Channels
If we use FTABLE or Muskingum, this depends on time-step
How to Simulate Small Channels with Large Time-step
Solver table (3-d) or empirical equation:
Range of S from 0 to twice bank full
Range of Qin from 0 to 10,000 year storm (or twice modeled runoff max)
Iterate through these pairs using Mannings equation
Hybrid options:
local tribs can be solved with simple method euler
local tribs can be solved with enhanced guess ftable
Know S at Qout(t-1)
guess S at Qin(t)
estimate Qout(t) = f( S(t-1), S(Qin) )
execute local tribs sequentially according to flow route, only 3 calculations per trib per time-step: S(Qin), Qout(t), S(t)
Goals:
This Process can at simplest form create an automated FTABLE generator based on DA and channel length
At best, create a 1 or 2 equation chunk of code based on a regression of Qout = f(Qin, Storage(t-1)) that requires no iteration
Can this method provide a more robust way of handling travel-time/time-step incompatibilities when doing daily simulations in medium sized watersheds, or hourly simulations in extremely small watersheds?
Maintain water/mass-balance
Regression to calculate Qout given Qin and Storage(t-1)
$$
ln(Qot) = c + a * ln(Qi{t}) + b * ln(S_{t-1})
$$
Questions:
Can we have a simple, 3 equation system based on USGS and solver?
b = f(DA), z=f(DA)
Do we need different equations for each timestep, or can dt be included in equation?
can we avoid oscillation by using a different solution approach when Q0 is less than Q1 versus when Q0 is greater than Q1?
Consider a channel flow object whose properties can be referenced by name after a given solution rather than returning variable values in an array
Should storage he said to zero at the end of a short circuit time step?
Hand calculate what storage should be at the end of Time step and put that in the time series for charting in the model
Create a 10 ton step data set for using our for testing. One for Appomattox, one for Potomac, and one for Susquehanna
Can we leverage the fact that we know the next time step in flow value ahead of time? Or do we… We only actually no runoff ahead of time, because upstream inflows are calculated. Actually, If the model is run completely separately, the upstream inflows or an entire time series as well, so in that case the next time step inflow is known, therefore the only problem situation is when upstream and downstream need to have simultaneous execution.
Can we have a function that just to distort Q out as a function of Q in based on channel properties and whether during the current channel flows which generally be accelerated or decelerated?
distortion: each reach could function like a circuit filter…
Lookup tables can have index of every integer between each row key pointing to the row that the key resides in (could be 2 lookups, prev and next key), to facilitate quick lookups but would not work well for variable keys
what actually happens when dt > Tt ??
$$
v = (1.49/n)AR^{2/3}S^{1/2}
$$
Figure 1: Plot Qout, Qin, Storage(t-1) for Difficult Run, simulated as single channel downscaled from Phase 6 runoff.
Overview
Non-Iterative Solution to Channel Outflow to Replace FTABLE and Insure Realistic Outflows When Volume Changes Rapidly
Channel outflow is a function of channel morphology, Inflow, Storage of water in the channel, and Outflow. While Inflow is considered to be a static known (assuming no backwater effects), Outflow and Storage are inter-dependent variables, requiring an iterative solution. The FTABLE is an approach to efficiently solve this system of equations which stores a list of previously calculated storage, stage, and discharge values in tabular form. FTABLE, due to to the nature of lookups, requires looping through rows to solve for outflow, and may also require some iteration depending on internal HSPF method used. The proposed method uses a regression approach to characterize the outflow from a channel with only 2 equation evaluations, and therefore 1 iterations. Inflow and prior step Storage are the only required variables, and withdrawals and discharges can be combined with Inflow for a net Inflow term. Below are 3 methods to compute Outflow based on net Inflow and Storage at t-1: linear, square, and cubic versions. They were derived from analysis of a Muskingem/Storage-Routing method, but I believe that they can be derived from channel principles, and hence could be evaluated using the USGS equations developed for phase5 FTABLEs. The S^2 and S^3 perform similarly, and are robust during rapid changes in channel volume (i.e. a storm after dry period), and during wet conditions. The linear method performs poorly when Inflow increases rapidly between successive time steps.
Qout = f(Qin, Storage(t-1))
that requires no iterationReferences
Image 1: The hydrologic cycle from NRCS Part 630.
Regression
Proposed form
$$ Qot = c * Qi{t}^a*S_{t-1}^b $$
Log form for use in lm()
Can be written in linear form as:
$$ ln(Qot) = c + a * ln(Qi{t}) + b * ln(S_{t-1}) $$
Questions:
$$ v = (1.49/n)AR^{2/3}S^{1/2} $$
Figure 1: Plot Qout, Qin, Storage(t-1) for Difficult Run, simulated as single channel downscaled from Phase 6 runoff.
Overview
Non-Iterative Solution to Channel Outflow to Replace FTABLE and Insure Realistic Outflows When Volume Changes Rapidly Channel outflow is a function of channel morphology, Inflow, Storage of water in the channel, and Outflow. While Inflow is considered to be a static known (assuming no backwater effects), Outflow and Storage are inter-dependent variables, requiring an iterative solution. The FTABLE is an approach to efficiently solve this system of equations which stores a list of previously calculated storage, stage, and discharge values in tabular form. FTABLE, due to to the nature of lookups, requires looping through rows to solve for outflow, and may also require some iteration depending on internal HSPF method used. The proposed method uses a regression approach to characterize the outflow from a channel with only 2 equation evaluations, and therefore 1 iterations. Inflow and prior step Storage are the only required variables, and withdrawals and discharges can be combined with Inflow for a net Inflow term. Below are 3 methods to compute Outflow based on net Inflow and Storage at t-1: linear, square, and cubic versions. They were derived from analysis of a Muskingem/Storage-Routing method, but I believe that they can be derived from channel principles, and hence could be evaluated using the USGS equations developed for phase5 FTABLEs. The S^2 and S^3 perform similarly, and are robust during rapid changes in channel volume (i.e. a storm after dry period), and during wet conditions. The linear method performs poorly when Inflow increases rapidly between successive time steps.