A semi-implicit numerical method for the free-surface Navier–Stokes equations