Fundamentals of Open Channel Flow