Have a look here as well, a lot of good info:
and
The math all comes from the GPU Gems article, and the Tessendorf paper, which use the Gerstner formula to drive the waves, see the following:
GPU Gems Article: http://http.developer.nvidia.com/GPUGems/gpugems_ch01.html
Tessendorf Paper: http://graphics.ucsd.edu/courses/rendering/2005/jdewall/tessendorf.pdf
is a fairly advanced solution, but at point it is the only way to get really realistic ocean/water simulation working. Hope that helps!