Start by opening an image of sea water.
Select the water area using lasso tool.
Press Ctrl+T. Right click the layer and select rotate 90° cw.
From filter menu select render>>fibers. Apply settings as shown.
Press Ctrl+U to open hue/saturation window. Apply settings as shown.
Change the layer mode to soft light.
Duplicate the water layer. Again repeat the steps like rotating and applying filters mentioned above. This will create a similar layer with different waves.
Repeat the step once more to create another layer of water with a little difference in waves.
Reduce opacity of all the three water layers to 75%.
Open animation window. For the first frame hide the two water layers.
Duplicate frame. Unhide one of the layers that was hidden previously.
Select second frame. Press tween animation frames button and apply settings as shown.
Select the last frame and duplicate it. Unhide the previously hidden water layer and hide the previously unhidden water layer.
Select second frame. Press tween animation frames button and apply settings as shown.
Select the first and duplicate it. Move the duplicate frame to the end of the animation window. With this frame selected press the tween button and use settings as before. This will end our animation in the same frame from which we begun. This will create a seamless loop of waves animation.
Press Ctrl+Alt+Shift+S to save an optimized animated GIF.

