At some point we should implement the following tests suggested by @edoddridge in https://github.com/climate-machine/Oceananigans.jl/issues/81.
Hello @ali-ramadhan and Team Oceananigans!
I am a 6th semester physics student at UNAM, Mexico and I am thinking of taking on some of these for an end of semester project for a course I am taking in continuous media physics.
I have experience in developing packages in Julia, and am familiar with numerical methods.
What would be the first steps to take in order to formalize the problems to be analytically solved and computationaly verified?
I understand if it isn't feasible. Thanks!
Hi @miguelraz, that's awesome! Thanks for taking the time to read through the issues and for posting. If you have some time we can talk over text (e.g. Slack) or voice (e.g. Hangouts or Skype) to figure out some possibilities if you're interested?
Unfortunately I'm on the road for a while so probably can't talk until May 13-15 or after May 21 but let me know!
I think we're still figuring out the tests. Some of these aren't really well-developed. For example, @mukund-gupta did some work on the thermal wind balance test (work in progress, see pull request #179) but it turns out it's not super easy to implement properly since we're solving the rotating incompressible Navier-Stokes equations with the Boussinesq approximation.
That said, I'm sure we can figure out some cool examples! What sort of stuff are you interested in?
@miguelraz my two cents are that I think this is certainly feasible.
I think the first step is to write up some kind of document (can you use latex?) that outlines the problem(s) you would like to solve. This is the biggest barrier. The spin-down problem is probably the simplest. I think thermal wind should also be possible, but I would use a simpler profile than in #179 with sines and cosines rather than Gaussians.
Another fun problem would be the propagation of an internal wave (or some shape), which is simpler than baroclinic instability (which requires you to solve an eigenvalue problem for some assumed initial condition --- because our domain is periodic, this may be slightly non-trivial). The most difficult problem suggested in this post is probably the saturated Rayleigh-Benard solutions.
Once the problems and their solutions are written out and well-defined, it should not be too difficult to implement them in Oceananigans (especially if we lend a helping hand).
I'm happy to help with the internal wave example.
Miguel, agree with Greg that a latex document would be good. How about an Ekman spiral? Take the 'winds blowing over the ocean' example (see video) and blow a steady wind over a resting ocean of constant density. We need to fix a bug that crept in in Coriolis, but that can be easily done. You would test the model against the analytical solution. John
@ali-ramadhan, @glwagner , @johncmarshall54 : Thank you all for your very kind responses!
@glwagner I tried searching for the spin-down problem but I'm not yet too familiar with the English terms - (I study in spanish).
Would you happen to have a reference/ link to the spindown problem so I can begin a draft?
After speaking to my TA, he thinks the Rayleigh-Bernard plates problem is accessible. He also recommended the Drazin Introduction to Hydrodynamical Stability, Chapter 6. for his particular problem, as well as the Charru Hydrodynamic Instabilities, Chapter 2.5.
This looks _REALLY_ cool! Let's see if we can get some of those cool hexagons showing.
Thank you all for such a kind response!
I hope I can keep contributing into the summer.
Hey @miguelraz I'm back online now and should be free to talk if you're still interested in running some of those simulations!
We worked on a Rayleigh-Benard example a little while ago but it probably needs updating a little bit.
I'll message you on Slack as well, might be easier than talking through this issue.
Didn't know about Weave producing Markdown with MathJax, looks great!
Closing this as we have decided to go with the verification experiments outlined in https://github.com/climate-machine/Oceananigans.jl/issues/346.
Most helpful comment
@miguelraz my two cents are that I think this is certainly feasible.
I think the first step is to write up some kind of document (can you use latex?) that outlines the problem(s) you would like to solve. This is the biggest barrier. The spin-down problem is probably the simplest. I think thermal wind should also be possible, but I would use a simpler profile than in #179 with sines and cosines rather than Gaussians.
Another fun problem would be the propagation of an internal wave (or some shape), which is simpler than baroclinic instability (which requires you to solve an eigenvalue problem for some assumed initial condition --- because our domain is periodic, this may be slightly non-trivial). The most difficult problem suggested in this post is probably the saturated Rayleigh-Benard solutions.
Once the problems and their solutions are written out and well-defined, it should not be too difficult to implement them in Oceananigans (especially if we lend a helping hand).
I'm happy to help with the internal wave example.