An Eulerian-Lagrangian method for open channel flows