gribr 1.2.2 has been released. This release fixes an issue where a file descriptor leak prevented large batch processing jobs from running beyond an OS imposed file limit.
gribr 1.2.1 has been released. This release fixes an issue where ecCodes structures were not being properly destroyed after use leading to memory leaks. This was particularly noticeable when batch processing large amounts of files.
The ESMPy tutorial has been updated and now uses cartopy maps instead of basemap. Changes have also been made to show a more memory efficient way of using ESMPy. The old basemap version of the tutorial still exists as its own branch if you need to look at it again; however, the basemap version may be removed in the future.
As part of my ESMPy tutorial on GitHub (find it here) I have added an example script that will show how you can regrid a field in parallel and aggregate all the grid pieces after the regrid is complete. I have experienced very good speedup running the ESMF library in parallel. This is definitely useful for large grids. ESMPy already abstracts most of the MPI functions so that the user does not have to worry about them, but, with this example, it will be even easier to understand the process.
I have added an example to show how to use the conservative gridding method when regridding from one
Grid object to another. This was in response to a user request. If you have other examples you would like to see, I will see what I can do to get them added to the tutorial.
gribr has been updated to version 1.2.0. The biggest change is a move to using ecCodes exclusively as the underlying GRIB interface. This move was done to align with the ECMWF and their commitment to only developing the GRIB API within ecCodes and not as a separate library. All in all, this should make gribr more future-proof and reduce development workload. A few bugs were also fixed with this release. You can get the package here.
As development on the Python basemap packages continues to slow, the time came for me to get familiar with what looks to be its replacement, the cartopy package. As I have done before, I put together a Jupyter notebook going through the process working with real data using cartopy. The tutorial is available on GitHub here. Enjoy.
Lately I have been using a software package called ESMPy to interpolate weather data on one grid to another. There is a learning curve with this software and things are not as Pythonic as one might hope. The C backbone tends to show through in the syntax a bit. Overall, though, it is a nice tool and is less clunky than GEMPAK. Luckily for you I have put together a ESMPy tutorial in a Jupyter notebook. Come and see it on github.
Given the amount of work I have done in R over the years, I finally got around to putting some work into building an R package. The result is the gribr R package for reading GRIB 1/2 data via the ECMWF GRIB API. I got to brush up on my C skills as well as learn a great deal about the internals of R. You can take a look at or install the package from its github repository here.
Have you ever wanted to add diagnostic calculations to WRF? Just say yes and we’ll move on. I recently had to add a few calculations for work and have written some instructions on how to get it done. Check it out in the WRF Hacks section.