Blowup when trying to reproduce MITgcm Barotropic Ocean Gyre #4269
Replies: 5 comments
-
Can you try @inline surface_wind_stress(x, y, t, p) = p.τ₀ * cos(π * y / p.Lφ) I believe our sign convention is opposite MITgcm. Not sure that would make the difference though. |
Beta Was this translation helpful? Give feedback.
-
Oh! You also need @show surface_wind_stress_parameters = (τ₀ = 0.1 / 1000, Lφ = grid.Ly) because the reference density in MITgcm is set to 1000. I think. |
Beta Was this translation helpful? Give feedback.
-
My hero–thank you! It was just a difference in the convention for the units for |
Beta Was this translation helpful? Give feedback.
-
Nice! Do you mind if I convert this to a discussion? I want it to be more visible to folks looking for answers to simulation setups |
Beta Was this translation helpful? Give feedback.
-
Also a comment, we don't even have a reference density at all for this simulation. We could introduce one, but as you can infer, it's only purpose in this kind of setup would be to change the units of user inputs. I personally think that is not a desirable design (the behavior of the simulation depends on hidden variables that may be irrelevant in many contexts, eg without wind stress), so we don't do that right now. It does have the downside of being different than what is typical in other modeling systems though. |
Beta Was this translation helpful? Give feedback.
-
I am trying to reproduce the barotropic gyre verification experiment in the MITgcm: https://mitgcm.readthedocs.io/en/latest/examples/barotropic_gyre/barotropic_gyre.html
The output is:
The simulations blows up after a few days due to a numerical instability related to grid-scale noise in the vertical velocity:
I've tried changing the advection scheme, timestepper, timestep, and viscosity, but the blow-up persisted in all of my experiments.
Beta Was this translation helpful? Give feedback.
All reactions