A general numerical method for the solution of gravity wave problems. Part 1: 2D steep gravity waves in shallow water | International Journal for Numerical Methods in Fluids | DeepDyve