-
Notifications
You must be signed in to change notification settings - Fork 9
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
A few ideas for new diagnostics for wave-mean interaction problems #184
Comments
@tomchor we need an issue label for "new diagnostics idea" or something. Presumably ideas for new diagnostics are a prime thing to discsuss here. |
A related initiative is using @amontoison knows how to build matrix-free eigensolvers, I think. |
I think the omega-equation approach that you are suggesting is higher-order than what we are doing, but I don't understand the implications. What we are doing is simply inverting QGPV using the projection operator in equation 78 here. To do the PV inversion with our lower order expression but using your approach you sketched out, I think you could compute, |
I think the objective is different, the omega equation obtains the balanced vertical velocity, while the QG inversion obtains the balanced streamfunction. So they are complementary / consistent approaches to obtain different variables perhaps? It seems like the lower-order inversion could be a warm up to doing the higher-order inversion? Or should we ignore the low-order inversion. It seems like it could make sense to solve a cleverly-forced tracer equation for the isopycnal displacement, rather than attempting to diagnose it. Does that make sense? I think that could be done fairly easily. The only fudging (associated with the staggered grid we use) is that the interface heights |
My take on this is that you probably want to do QGPV inversion as a first pass, because it is really the only order at which everything is diagnostically crystal clear. The geostrophic streamfunction gives you At the next order things get very murky: when you invert the Seems like once you have the QGPV inversion the For the QGPV inversion you can compute |
Here are some ideas for additional diagnostics inspired by discussions with @jonathanlilly and @JeffreyEarly.
Eigensolver for vertical modes
I think it would be nice to have an eigensolver to compute vertical modes from a horizontally-averaged / reduced buoyancy profile (or taking in the vertical derivative of buoyancy directly). This means solving the eigenproblem
where$1/R_n^2$ are the eigenvalues, $R_n$ is the Rossby radii of deformation of mode $n$ , $f$ is the Coriolis parameter (a constant) and $N^2(z)$ is the vertical derviative of buoyancy (a function of $z$ ). The eigenfunctions $\phi_n(z)$ are the "vertical modes".
Finite volume details:$\phi$ is located at
Center
in the vertical, whileN^2
is located atFace
. This works out naturally so no shenanigans seem to be required here.I think this can be implemented by meshing Oceananigans.AbstractOperations with Krylov.jl. In other words I am imagining a user interface wherein we write something like
where
b
would be the buoyancy field andf
the Coriolis parameter. Many permutations on the above syntax might make sense too.Diagnostics for wave-mean decomposition
Related to vertical modes would be diagnostics that allow one to decompose solutions into an internal wave and mean (or quasi-geostrophic) component. I think @JeffreyEarly knows how to do this well.
We can also support a direct solver for the Omega equation; eg solving
using a solver similar to the
FourierTridiagonalPoissonSolver
(combining horizontal-FFT with vertical tridiagonal). This would require modest (not heroic) efforts. The screenshot is from Danioux et al 2016.The text was updated successfully, but these errors were encountered: