Computational methods in water engineering