-
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
Interpolation on pressure levels #268
Comments
Hi SpeedyWeather developers. I have just stumbled across this repo and it looks really great! I am new to Julia, but will definitely be keen to play around with this more! Interpolation and output to pressure levels would be really great. I would also be interested in output to isentropic levels and an option for a potential vorticity variable. |
I think there are important considerations for online vs offline interpolation on pressure levels that have pros and cons
|
I currently reckon that post-processing is easier as one could just define a SpeedyWeather.jl/src/output/netcdf_output.jl Lines 789 to 809 in 31fd6d5
and SpeedyWeather.jl/src/output/netcdf_output.jl Lines 846 to 847 in 31fd6d5
but implented as a Callback as that the interface would simply be add!(model, InterpolateToPressureLayers(spectral_grid, layers=(30, 100, 200, 300, 500, 700, 850, 925)) I guess temperature is extrapolated beyond model layers using potential temperature, but what about humidity? Constant relative humidity of that potential temperature? What about vorticity, divergence, u, v? |
Thanks for your reply @milankl! I agree that the interpolation as a postprocessing step is probably easiest. I would however suggest that the developers consider a switch to output to either model levels or user-defined pressure levels or isentropic levels. Although it would use some compute, it would save a lot of storage for experiments which require high vertical resolution and which only require particular pressure levels as output. Both options would work and to have both options would be amazing! In terms of PV, equation 13 is the one you want. Equation 14 is specific to isentropic PV. So I think the procedure would be to calculate it generally (13) and then interpolate to which ever coordinate system you specify. |
By developers you mean me? Because it sounds like you're volunteering =) You know there's somewhat a philosophy in Julia around users being developers and developers being users! You find everything in here https://github.com/SpeedyWeather/SpeedyWeather.jl/blob/main/src/output/netcdf_output.jl (most of it is defining how to output various variables and creating a modular interface for it ... I guess we'd need
that's it! how hard can it be? 😝 |
I hope to get stuck into the code and if I can, I will definitely add to it! Congrats on the work you have done so far!! I look forward to playing around with the code more! |
We currently output on$\sigma = p/p_s$ levels, however at some point we may want to interpolate onto pressure levels, the following function outlines how this can be done
The text was updated successfully, but these errors were encountered: