-
Notifications
You must be signed in to change notification settings - Fork 186
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
An example with a non-trivial thermal-wind balance #1846
Comments
Hmm. I think given general Or, given a geostrophic buoyancy field we can integrate in Absent those techniques I think the best method for idealized problems is to use a geostrophic streamfunction. This is illustrated by the Eady turbulence example: Oceananigans.jl/examples/eady_turbulence.jl Lines 38 to 41 in 0153dec
Oceananigans.jl/examples/eady_turbulence.jl Lines 151 to 152 in 0153dec
It's also used in a number of validation cases, but those aren't always useful for general audiences. |
That was more along the lines of what I was thinking. Basically showing users how to create a But it seems like |
Just to clarify, the quoted example suggests integrating If If the geostrophic streamfunction is a function of To summarize:
These techniques could be important when initializing from data, perhaps. I'm not sure. For example, if a 3D distribution of For idealized work I think its better to specify the streamfunction |
What is I was thinking more about the 2D example. From my experience most thermal wind cases are rotated in a way that they are treated as a 2D problem. I agree that specifying I definitely think that coming up with something to solve the more general case of getting |
horizontal Laplacian; |
This is useful for GCM experiments; I think we'll want it eventually. |
To clarify: I think there is utility in a simple example. However, I also recommend using a streamfunction for idealized cases, since its easier to reproduce and understand. Idealized cases with simple geostrophic flows include experiments like the Eady turbulence problem, or LES cases that simulate turbulence in the presence of a simple geostrophic flow. Another class of experiments (likely more prevalent and important than LES around geostrophic flows?) are realistic / quasi-realistic simulations on the sphere initialized from data or complicated buoyancy distributions. For these it's often important to find a flow field that's in discrete geostrophic balance with an arbitrary buoyancy field. We can show how to integrate the buoyancy field for this purpose; but having The problem of finding a streamfunction from a velocity field is likewise be important for simulations on the cubed sphere; or cases in which the grid coordinate system does not align with, for example, a geographic coordinate system. This is the case that @francispoulin was attempting to solve in #1826, I think. @navidcy may illustrate how to do this in post processing using the conjugate gradient solver in his horizontal convection example, perhaps. |
This all sounds very good and what @glwagner suggests will certainly work, and yes, that is exactly what I was trying to do in #1826. As a question of style, introducing a streamfunction is convenient for those of us that like streamfunctions, but really we're computing the pressure. Since the governing equations that we state for Oceananigans has a pressure solver already. Since the basic profiles that we consider have nonlinear terms, then I wonder if it's possible to use the built in pressure solver to determine |
I'll convert this to discussion on how to implement simulations in thermal wind balance... |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
The issue of calculating a thermally-wind-balanced background has popped up a couple times before (more recently here) and I think it would be nice to have an example where
b
is computed fromu
for a general function. I myself don't know how to do that properly and efficiently (I think), so it would definitely be helpful for a larger audience I believe.@glwagner @francispoulin
The text was updated successfully, but these errors were encountered: