Open LeahJB opened 1 year ago
The thing is, if we just let the length used in the equation be the box length, then this will work fine as long as people don't add reaches that are way too long (or too short), because it will converge on the same solution.
The equation for reach volume is of the form dV/dt = flow_input - flow_output, flow_output= a * V^(3/2) where a is a constant that scales inversely with L^(3/2), and also depends on slope and roughness. This equation stabilizes at an equilibrium of flow_input = flow_output so if the speed at which it stabilizes is much faster than the speed at which flow_input changes, it will converge to the same solution for a large range of values of a. In the Tarland example, you see that there are only minor changes even if you increase the reach length by two orders of magnitude. But the sensible range also depends a bit on the other mentioned parameters and the magnitude of the fluctuation of water output from the soil.
On the other hand, the numerical solution becomes unstable if you have the a constant being too large (i.e. reach too short), so it is better to just keep it as high as justifyably possible.
NOTE: a 1d PDE would be discretized into some form of boxes anyway in order to solve it numerically.
(Repeating what I said on Teams). There is something I missed in this discussion earlier. The reach length doesn't matter for computing flows and fluxes of tracers (unless the length is very large), but it will matter for residence times, and so it has an impact if (and only if) there is in-stream degradation of transported substances. I still don't think using half the reach length as the effective length is the correct way though, because it breaks the rationale of some of the formulas. Better to use the full length, but monitor sensitivity of concentrations to how many subdivisions you do of the reach.
Having one large box compared to many smaller coupled ones will likely give different answers if you try to send a large pulse into the top of the network, in terms of the timing of when water reaches the end of the bottom reach. We haven't tested this yet, but imagine that with a large box, you would get a damped response that starts immediately, while with many smaller chained boxes you would get a sharper pulse that arrives after some time. In general, if you want the precision of the output to be the same as the time step, then you need the residence time in the reach to be shorter than the model time step.
A 1D PDE would do this properly, but as we are using chained ODE boxes it is a discretization of that. Therefore there is a box length where if you go above it you get inaccurate results. Therefore we need to do some testing and come up with recommendations for minimum/maximum reach lengths to give realistic results.
Potentially also add in an option to automatically break up larger reaches (and associated subcatchments) if they are too long, as a preprocessing step.
At the moment this problem is exacerbated by the fact that in Mobius1 the reach boxes aren't properly coupled, as the downstream box only gets the daily average of the previous one. This should be fixed in Mobius2.