"Best" advection scheme for hydrostatic free-surface models? #3856
Replies: 2 comments 7 replies
-
I guess you are referring to momentum advection and not tracer. The cop-out answer for the momentum advection is that it depends. Performance considerations suggest using simple advection schemes like centered or upwind third order in the latter regime. Also, if the grid is very coarse, more than the implicit dissipation in WENO might be needed to give satisfactory results. It might be tricky to use a high-order WENO for very coarse simulations (where a 9-point stencil might span half the Atlantic Ocean). In eddying regimes, where some of the turbulence is resolved, we found that a WENO approach allows a higher effective resolution because it is highly selective and removes the need for explicit dissipation. I am not sure which approach is better on a rectilinear grid, whether flux form or vector invariant. Last time I tested it, the vector invariant form was less dissipative, but if you reach very high resolution (near non-hydrostatic) probably the flux form is a better choice. Regarding the different orders for the WENOVectorInvariant, in general, most of the energy is contained in the rotational motions, so using a higher order for vorticity flux is beneficial to preserve kinetic energy. Take care that 9th order is high! It should definitely not be used in low-resolution simulations. The other terms carry less energy than the vorticity flux, so a 5th order is a good compromise between accuracy and performance. Note that vertical profiles are typically very smooth in a hydrostatic simulation with not very much grid cells, so an order higher than 5th for vertical advection is a bit overkill, especially because all the gradients are near vertical boundaries where the order is lower anyway (this is also a valid consideration for tracer advection). Not needing a high order in the vertical is also quite positive for performance since vertical advection is by far the most expensive computation on the GPU given the memory layout (k is the slowest moving index) In terms of details for the |
Beta Was this translation helpful? Give feedback.
-
Thank you so much @simone-silvestri for all the explanations! Definitely appreciate that it depends especially on the dynamics and the significance of the advective terms. Also thanks for sharing your experiences with the different flags/options. I'll be playing around with advection schemes so I'll post back with anything new I learn. |
Beta Was this translation helpful? Give feedback.
-
I'm curious to hear if there's a community consensus around what the "best" advection scheme is for hydrostatic models.
By "best" I am considering both accuracy and performance as I know the answer probably depends on the architecture with WENO being relatively quite a bit more expensive on CPUs, although I'm mostly thinking about GPUs.
For non-hydrostatic models, I feel like the consensus is that the best advection scheme on GPUs is regular WENO with order between 5 and 9, depending on the scenario. I think this still holds true for hydrostatic models on rectilinear grids?
Is there a consensus regarding advection schemes for hydrostatic models on curvilinear grids?
Based on @simone-silvestri's WENO paper, mainly figures 3 and 7, I also get the impression that the answer is somewhere between 5th and 9th order WENO (inclusive).
So probably the answer is some form of
WENOVectorInvariant
?Maybe I'm also a bit confused, e.g. CliMA/ClimaOcean.jl#129 and looking at the constructor I'm wondering why vorticity gets WENO-9 by default with the others getting WENO-5. Should I be upwinding? Which vorticity stencil should I pick? Should I use the multi-dimensional stencil?
Oceananigans.jl/src/Advection/vector_invariant_advection.jl
Lines 183 to 224 in 82099ac
I'm also curious why
Centered
advection in the vertical is used in ClimaOcean.jl: https://github.com/CliMA/ClimaOcean.jl/blob/887bc467eea1852a98b212b87b463a980d999323/src/OceanSimulations/OceanSimulations.jl#L31-L37Beta Was this translation helpful? Give feedback.
All reactions