This is a love port of the fragment shader described in the water section of Wind Waker Graphics Analysis. The texture used is a cleaned up version of the texture from the article.
Rendering is done by drawing a cornflower-blue rectangle the size of the screen, and passing the water surface texture as an argument to the shader. The fragment shader uses the surface texture to draw offset light and dark bands of color, then warps the lookup using a compound sine curve.