How to extract variable names from a netCDF file in R?

elarry picture elarry · Jan 29, 2013 · Viewed 10.1k times · Source

I am writing a function in R to extract some air quality modelling data from netCDF files. I have the Package "ncdf" installed.

In order to allow other users or myself to choose what variables to extract from a netCDF file, I would like to extract the names of all variables in the file, so that I can present in a simple list rather than just print.ncdf() the file to give too much information. Is there any way of doing it?

I tried unlist() to the var field of the ncdf object but it seemed that it returned the contents as well...

I googled and searched stack*overflow* but didn't seem to find an answer, so your help is very much appreciated.

Many thanks in advance.

Answer

plannapus picture plannapus · Jan 29, 2013

If your ncdf object is called nc, then quite simply:

names(nc$var)

With an example, using the dataset downloaded here, for instance (since you didn't provide with one):

nc <- open.ncdf("20130128-ABOM-L4HRfnd-AUS-v01-fv01_0-RAMSSA_09km.nc")
names(nc$var)
[1] "analysed_sst"     "analysis_error"   "sea_ice_fraction" "mask"