CliMA / Oceananigans.jl

🌊 Julia software for fast, friendly, flexible, ocean-flavored fluid dynamics on CPUs and GPUs
https://clima.github.io/OceananigansDocumentation/stable
MIT License
991 stars 194 forks source link

Change `IncompressibleModel.surface_waves` to `IncompressibleModel.stokes_drift`? #1331

Closed glwagner closed 3 years ago

glwagner commented 3 years ago

Currently IncompressibleModel has a property called surface_waves:

https://github.com/CliMA/Oceananigans.jl/blob/908fc5347c4f3238474d63d10c9314719a79d079/src/Models/IncompressibleModels/incompressible_model.jl#L27

Considering that we may add free_surface soon (which involves an explicit free-surface field), do we want to change this model property to stokes_drift?

glwagner commented 3 years ago

@tomchor this affects you. What do you think?

tomchor commented 3 years ago

I'm not planning on running simulations with surface waves any time soon, so this doesn't directly affect me for now.

That said, I think stokes_drift is the more correct term (regardless of the possibility of a free surface feature in the future). After all what is imposed is a Stokes drift, so I think calling it stokes_drift avoids confusion/ambiguity!

glwagner commented 3 years ago

Just for completeness, what do we think about pseudomomentum?

The issue with Stokes "drift" is that it implies a "drifting" which is not quite the right way to think about how surface waves affect the motion of fluid beneath them. In reality, average momentum (and thus any "drifting" that might occur) is imparted by external forces (such as the atmosphere); the averaged effect of surface waves is rather more subtle and is associated with changes to the relationship between mean momentum and vorticity (eg, vorticity feels the effect of pseudomomentum, despite that momentum does not).

These concepts are confused routinely in the literature, so our community doesn't have a solid conceptual foundation on which standardized terminology is easily built. But suffice to say that in practice most people say "Stokes drift" but mean "pseudomomentum". In the context of Oceanagnians of course the prognostic variable is the mean momentum (the Lagrangian-mean velocity field), thus this keyword really does control psuedomomentum with no impact on "drifting"...

glwagner commented 3 years ago

cc @navidcy

francispoulin commented 3 years ago

Different perspectives are important and I admit that I have not thought about stokes drift from that perspective. Maybe mentioning this with a good reference might be appropriate? Not sure how much in depth one wants to get into this. I learned about pseudomomentum in the context of Hamiltoninan theory, but don't suspect we want to get into that level of detail, even though it is fun!

Also, if you mention pseudomomentum then do you need to also mention pseudoenergy?

glwagner commented 3 years ago

It's hard because even wikipedia is misleading on this subject and says

For a pure wave motion in fluid dynamics, the Stokes drift velocity is the average velocity when following a specific fluid parcel as it travels with the fluid flow.

Yet if a mean velocity exists, the motion is not a "pure wave" motion; it has a mean component and a wave component, each of which have dynamics that are independent in the limit of small amplitude waves. In other words, if particles and thus fluid undergo some net drift, then some external mean force must have imparted mean momentum to the fluid. So the first sentence of the Wikipedia article misleads. It's easy to get this wrong because in many systems the mean dynamics are "trivial" and do not evolve. But this is not always the case...

The reason this subject is so tricky is because the physics of surface gravity waves require a transfer of mean momentum from some external agent if they are excited (this is part of what it means for a wave field to have pseudomomentum). Thus the forced growth of waves is also associated with a transfer of mean momentum (from the atmosphere to the ocean). But the mean momentum so transferred is not by any reasonable definition a "wave property"; it undergoes an independent evolution and is easily divorced from wave fields that propagate rapidly away. In particular, if the system is rotating, the mean momentum excites a stationary inertial oscillation that has no net transport over long periods of time (while the wave field happily propagates ad infinitum)...

Not that Wikipedia was always right before this on every topic --- but the view on Wikipedia is the same one that's taught in classrooms. I think users know mathematically what is indicated by the keyword stokes_drift, especially if we well-document the fact that we solve for the Lagrangian-mean velocity. That's probably the most important thing.

Buhler (2014) provides a good perspective on these issues, but doesn't really directly attack the primary conceptual error here (perhaps because such an attack is politically unpopular). I also am publishing a paper on this topic...

https://glwagner.github.io/assets/pdf/near-inertial-waves-turbulence-growth-swell-preprint.pdf

I'm not sure this point matters much practically, but I think it might not be responsible to let it slide by without discussion. This was the original reason I avoided using the word stokes_drift.

francispoulin commented 3 years ago

Thanks @glwagner for more thoughts and the references. I agree that sticking to stokes_drift in this context is the simplest thing.

However, I wonder if we might want to have a nice example that tries and explain pseudomomentum? Since there is a lot of confusion in the literature (as you pointed out), I think it should be 1D to be as simple as possible. I found a reference for pseudomomentum in the shallow water model. I have not read this article yet but I wonder whether we might want to make an example that tries to explain this better? Maybe then people might go to Oceananigans for a reference on pseudomomentum?

Since this issue is closed if there is interest, this discussion should continue elsewhere.

glwagner commented 3 years ago

I'm curious what @tomchor thinks about this discussion.

tomchor commented 3 years ago

Sorry if I jumped the gun on the merge, I thought I saw a message deciding against pseudomomentum but can't find it anymore.

To be honest I don't know much about pseudomomentum, so I can't have an informed opinion. I know you can use it when talking about nonbreaking waves, but I, personally, find that nomenclature a little obscure in this context.

glwagner commented 3 years ago

Ah, I think suffice to say that in the context of the Craik-Leibovich equations, whenever the word "Stokes drift" is used, it's "pseudomomentum" that is really meant.

In particular the original context of "Stokes drift" is the specific situation in which surface waves forced from rest are associated with a mean Lagrangian current that causes particles and fluid to "drift".

In the Craik-Leibovich equations, the Lagrangian-mean momentum is a prognostic variable and is not determined or explicitly modified by the "Stokes drift" (it is only implicitly modified through changes to the fluid physics). Thus rather than causing fluid to "drift", specifying the "Stokes drift" in the Craik-Leibovich equations (and in Oceananigans) instead acts to modify the underlying fluid dynamics by changing the relationship between momentum and vorticity.