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: