Use area-scaled biharmonic viscosity in coarse examples#111
Conversation
Remove IsopycnalSkewSymmetricDiffusivity (Gent-McWilliams) from the one-degree and global climate simulation examples. Add a new `area_scaled_biharmonic_viscosity()` function that computes ν = Az² / λ, where Az is the horizontal cell area and λ is a damping timescale (default 15 days). This resolution-dependent viscosity adapts to local grid cell size, providing appropriate grid-scale dissipation at all latitudes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
out of curiosity why don't we want GM, especially in the 1degree model? |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
didn't you find that it has no effect? I've been telling people this... |
@xkykai are you saying that we should keep GM? I am happy to do that if that is your recommendation. |
Do these solutions have biharmonic viscosity? |
|
@xkykai did you try running with only the symmetric part of the diffusivity? Theoretically we might expect that we don't need the skew part (baroclinic conversion is represented) but we still a symmetric diffusivity (bc tracer stirring not captured if no eddies) |
No they don't. I haven't run comparison of GM with biharmonic viscosity as well. |
In the previous runs, the solutions have grid imprinting without biharmonic viscosity (unsure what other dissipation you might have though). So I am not sure GM is the right fix for noise, strictly speaking, even though it may be good to include for other reasons. |
no, don't think we ever turned off skew viscosity completely |
I'll add ISSD back here, but with only the symmetric turned on. Maybe that will provide some inspiration for future work. |
GM also brings about a bit more subduction and the flattening of the isopycnals (from the figure), to what degree of that is needed still remains to be seen. |
… to examples Use κ_symmetric=1000, κ_skew=0 for isopycnal lateral tracer mixing without the GM skew flux. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
xkykai
left a comment
There was a problem hiding this comment.
up to your discretion to merge!
|
@simone-silvestri was also claiming we do need (at least a bit?) GM, but not sure about the rationale behind it... |
|
yeah at 1 degree we probably still need it. I am unsure at 0.5, I think I still see some differences with + without although I see a lot of other biases I am trying to debug so we need much more investigation before being conclusive. I would also keep GM for the practical reason of seeing that it works as intended (although maybe in 1 year of simulation the impact is not that large) |
I think it's important that the examples reflect a "recommended" configuration --- so if GM is not a good idea at 1 degree, and we want an example that uses GM, we should add a coarser case / any case which does actually require it. If we can't find a case that benefits then its questionable why we need an example that uses it... |
|
then remove the "probably". At one degree we need it for sure. I wouldn't know the value we should use though. Maybe 500? Typically people use 1000. I am planning to run a complete OMIP with the orca grid and after we have understood what parameters we need we can use that one as an example. |
Isn't it also the case that the Oceananigans solution is quite unusual and expresses more variability than other models at this resolution? So we should not expect to use the same value as others. |
|
@xkykai @simone-silvestri changing this PR so that it just adds viscosity to the coarse example, but does not remove GM. Let me know what you think. |
# Conflicts: # src/NumericalEarth.jl # src/Oceans/ocean_simulation.jl
|
lgtm! |

Summary
area_scaled_biharmonic_viscosity()insrc/Oceans/ocean_simulation.jlreturning aHorizontalScalarBiharmonicDiffusivitywithν = Az² / timescale(default 15 days), so the effective viscosity adapts to local cell area.area_scaled_biharmonic_viscosityfromNumericalEarthand theOceanssubmodule.one_degree_simulationandglobal_climate_simulationexamples, alongside the existing Gent-McWilliamsIsopycnalSkewSymmetricDiffusivity. Inglobal_climate_simulationit replaces the constantν=1e12biharmonic viscosity; inone_degree_simulationit is added next to GM and CATKE.Test plan
🤖 Generated with Claude Code