I didn’t mean that the math is ‘bad’, just that it can be optimized. But like you said, first get it to work and then you can see if it can be improved 🙂
It looks to me though that water doesn’t follow the curvature of the creek, but flows in a straight line.
You could maybe use UV Coordinates in stead of Object to get the water to fix that….