I was asked about flow map generation the other day, and found a lot of different methods for creating them. However, all of them seemed to take a reasonable amount of effort or set up. I wanted to try create something simple and intuitive. Basically, you've already modelled the river/waters surface, so you don't need to figure that out. All I really wanted was to automatically show how my water should flow over this surface.
In the vertex colour channel of the mesh, I've painted green where I want water added to the simulation, and red where I want it taken away. The component in my engine then integrates over the texture calculating a pressure based flow. The direction the water is moving is stored in a texture, and is updated live while I watch it simulate.
The above is a video showing the affect. The shader for displaying it is pretty simple, and I've put no effort into making it actually look like water :P