-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ShallowWater dataset on PDEArena #521
Comments
Thanks for your interest!! For context, PDEArena used a (very) old version of the shallow-water model (v0.2.1) that was still quite experimental, and I do not recommend using that data as it does not represent physically sensible initial conditions see #377 - we were not consulted in the creation of this data set. See examples in our documentation for better defined problems. SpeedyWeather's shallow water model can be used to simulate a variety of problems. Quasi-linear gravity waves, planetary waves like Kelvin/Rossby, but also 2D turbulence meaning chaos, mixing and a strong dependence on intitial conditions, or forced problems converging to some climatology superimposed by internal variability. Depending on what you want to simulate I'd carefully choose a model setup. Let me know what you want to do and I'm happy to figure out with you a model setup that simulates what you want to use for training.
|
Wow! Thanks to your timely reply! Acturally I don't know very much about your model and the way you generate ShallowWater dataset. I really want to take a deep dive into your brillian work, but there's a ddl here and I might do it later. Nevertheless, I'll try my best to understand this lol.
Again, very much thanks to your work and your powerful support! I really appreciate it! |
You would need to generate it yourself, this repository only provides the model, we don't host datasets.
I don't know what you mean by "almost zero". Yes, both atmospheric and oceanic motion is often very close to geostrophy which makes it "almost" divergence free, meaning that the flow is parallel to isobars. There's a section in the documentation talking about analysing geostrophy in a shallow water simulation: https://speedyweather.github.io/SpeedyWeather.jl/dev/speedytransforms/#Example:-Geostrophy
It seems that in that dataset the missing value is set to -999999. I don't know why the python netCDF4 library wants to use 9.9...e+36 instead as indicated in the last line. In any case there's no missing data, you can just throw away the mask.
Yes it is.
Centred finite differences as you outline are 2nd order accurate. But it gets trickier here because of the spherical geometry, so you have to take into account the curvature of the grid. SpeedyWeather is a spectral model meanig it does finite differencing only in time and in the vertical (not relevant in the 2D shallow water equations), other gradient operations in space are not done in grid-point space but after a transform to spectral space, see https://speedyweather.github.io/SpeedyWeather.jl/dev/spectral_transform/#Derivatives-in-spherical-coordinates This way they are effectively much more accurate (the transform means you take all grid points into account not just the local neighbours like in finite difference, volume or element methods) and the dominating error is the transform error not the discretization error. This means that ideally you should verify the divergence as we do it in SpeedyWeather too, if you use finite differences you will inevitably have a larger discretization error. The #372 issue is a good starting point. |
Awesome, yes! There's more and physically motivated examples we can produce data for to be part of PDEArena, maybe we should just have a chat one day on what data you'd like to have, what would be good for an ML challenge! Let me know |
@rejuvyesh It can't be better than that! Thank you Jayesh and Milan! I'm still working on it. If there are more problems related to ShallowWater itself I'll comment here ;-) |
Hi! It's a really brilliant work!
I'm working on embedding physical constraints into deep learning. I found your work widely used in deep learning community ((https://arxiv.org/abs/2302.06594), etc.), so I'm trying to playing with ShallowWater dataset this paper uses as well (https://huggingface.co/datasets/pdearena/ShallowWater-2D) . But I met some troubles :-( So I come here to seek for some help. For the dataset on PDEArena, I'd like to know:
dict_keys(['time', 'u', 'v', 'vor', 'div', 'pres', 'lon', 'lev', 'lat'])
.div
means divergence, but I don't know which field is this divergence applied to? What's more, is there a document for illustrating these output?_FillValue
is used, which is9.969209968386869e+36
, a numerous number. I found that our training always fails with loss suddenly become a tremendous number like3e+22
. I try to search the max number on this dataset but it could cost a very long time... I don't know if this is the reason that acturally have a negative influence on my training.I don't know if you got some ideas. Hope we can have a further conversation. Looking forward to your reply!
The text was updated successfully, but these errors were encountered: