The development and application of a non-linear 3D hydrodynamic model are described. The model is based on the wave equation rearrangement of the primitive 3D shallow water equations with a general eddy viscosity formulation for the vertical shear. A Galerkin procedure is used to discretize these on simple sixnode elements: linear triangles in the horizontal with linear variations in the vertical. Resolution of surface, bottom and interfacial boundary layers is facilitated and total flexibility is preserved for specifying spatial and temporal variations in the vertical viscosity and density fields. A semi-implicit time-stepping algorithm allows the solutions for elevation and velocity to be uncoupled during each time step. The elevation solution is essentially a 2D wave equation calculation with a stationary sparse matrix representing the gravity waves. With nodal quadrature the subsequent velocity calculation is achieved by factoring only a tridiagonal diffusion matrix representing the vertical viscous terms. As a result the overall calculation scales computationally as only a 2D problem but provides the full 3D solution. Application to field-scale problems is illustrated for the English Channel/Southern Bight system and the Lake Maracaibo system.