The Bifröst Ocean Simulation System lets you create realistic ocean surfaces with waves, ripples, and wakes.
You start with a flat mesh, and then layer and mix solvers and influences on top. Each element is independent of the resolution of the others, and can be cached separately for faster playback. You can use the resulting deformed mesh directly, or transfer the result to another mesh. You can also use the cached EXR files as vector displacement maps when rendering.