Skip to content

A few ideas for new diagnostics for wave-mean interaction problems #184

@glwagner

Description

@glwagner

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

$$ \partial_z \left ( \frac{f^2}{N^2} \partial_z \phi_n \right ) + \frac{1}{R_n^2} \phi_n = 0 \qquad \text{with} \qquad \partial_z \phi = 0 \qquad \text{at} \qquad z = -H, 0 $$

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, while N^2 is located at Face. 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

B = Field(Average(b, dims=(1, 2)))
N² = ∂z(B)
ϕ = Field{Nothing, Nothing, Center}(grid)
L = ∂z(f^2 /* ∂z(ϕ))
sol = eigensolve(L)

where b would be the buoyancy field and f 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

image

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions