This one is nice and quick!
For the wave motion geo I just use a standard ocean spectrum setup:
Then I use attribinterpolate to stick points to the surface
Generate a simple velocity field (visualised as points here)
Feed everything into VDB Advect Points and yay, cool waves! If the velocity field is animated then they’ll animate too, which is how the final effect works
Scene File
Download the scene file from my patreon: