An alternative method for deriving water wave dispersion relations and evolution equations is to use a weak formulation. The free-surface displacement η is written as an eigenfunction expansion, η=n=1αn(t)En where the αn(t) are time-dependent coefficients. For a tank with vertical sides the En are eigenfunctions of the eigenvalue problem, 2+λ2E=0,  En^=0 on the tank side walls. Evolution equations for the αn(t) can be obtained by taking inner products of the linearised equation of motion, ρvt=1ρP+F with the normal irrotational wave modes. For unforced waves each evolution equation is a simple harmonic oscillator, but the method is most useful when the body force F is something more exotic than gravity. It can always be represented by a forcing term in the SHM evolution equation, and it is not necessary to assume F irrotational. Several applications are considered: the Faraday experiment, generation of surface waves by an unsteady magnetic field, and the metal-pad instability in aluminium reduction cells.