This paper describes the development and testing of a 3D finite difference code written specifically to model turbulence in an open channel with a moving free surface. The code has been developed so that either a full simulation or a large eddy simulation (LES) of the turbulence may be performed. The free surface may undergo arbitrarily large deformations but the slope may not exceed a limit related to the aspect ratio of the mesh and so the possibility of breaking waves is excluded. The LES application demands numerical approximations which conserve mass, momentum, and total energy with high precision, and it permits wave motion with very little numerical dispersion or dissipation. We describe a novel numerical method for tracking the free surface using a split-merge technique which combines the volume of fluid and height function methods in a way that is conservative. (C) 1995 Academic Press, Inc.