Announcment: R package wrapping CDO
Added by Mark Payne over 5 years ago
Dear all,
For those of you that use R, you may be interested in this R package that I have developed to make it easier to work with CDO (and NCO) directly from the command line. It is now available on GitHub:
https://github.com/markpayneatwork/ClimateOperators
Hope it helps!
Mark
Replies (4)
RE: Announcment: R package wrapping CDO - Added by Ralf Mueller over 5 years ago
hi Mark,
thx for the work! I am not a big user of R, didn't found the occasion to dive into it,yet. took a moment to realize, that I hade to call library(ClimateOperators)
before being able to execute your examples ;-)
It there any way to get the field data in to an array structure (or dataframe? - no idea how R calls this)?
cheers
ralf
RE: Announcment: R package wrapping CDO - Added by Mark Payne over 5 years ago
The package is mainly intended to work with external files via cdo, rather than loading them directly into memory (this can be handled by the raster package, amongst others). I should probably add that to the documentation - the idea is that R can be used more as a scripting language, with cdo doing the heavy lifting, rather than doing any processing directly in R.
Mark
RE: Announcment: R package wrapping CDO - Added by Ralf Mueller over 5 years ago
For python and ruby I added a netcdf-based reader, that returns numpy/narray structures instead of filenames. This way it can be integrated a bit easier into python/ruby scripts. Does R have a netcdf-binding?
RE: Announcment: R package wrapping CDO - Added by Mark Payne over 5 years ago
Yes, the "ncdf4" package wraps the full NetCDF api, so you can always get the information that you need directly that way - this would be closely analogous to what you have in Python. "ClimateOperators" is more of a wrapped to the CDO tools, to streamline their use from R.
Here's an example for using netcdf4:
library(ncdf4)
ncid <- nc_open("~/HadISST.nc") #Opens the file for reading
dat <- ncvar_get() #Reads entire contents into an array
nc_close(ncid) #Tidys up afterwards