A simplified but not so simplified way to describe the motion in channels, is to use the de Saint Venant 1d equation. Solving it is not anymore a particularly complex model and almost twenty years ago, I and collaborators implemented one of it based on Vincenzo Casulli work. This can be seen, from Angelo Zacchia's master thesis (in Italian), which contains the main elements from page 36 to 51. A more scientific treatment of the problem is presented in Casulli and Zanolli , and Aldrighetti's Ph. Thesis .
This work is simpler but implemented inside the JGrasstools, by Silvia Franceschi (of Hydrologis) during her Google Summer of Code 2015 exercise, and available as open source here.
A little of documentation is in the GSoC 2015 page of the project itself.
Aldrighetti, E., Computational hydraulic techniques for theSaint Venant Equations in arbitrarilyshaped geometry, 2007
V. Casulli and P. Zanolli. A conservative semi-implicit scheme for open channel
flows. International Journal of Applied Science & Computations, 5:1–10, 1998.
Zacchia, A., Master Thesis, Su alcuni metodi per la prevenzione e previsione del rischio idraulico, Trento University, 1997