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

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


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"   


It is now 2016. ncdf package is deprecated. Same code as SE user plannapus' answer is now:

library(ncdf4)netcdf.file <- "flux.nc"nc = ncdf4::nc_open(netcdf.file)variables = names(nc[['var']])#print(nc)

A note from the documentation:

Package: ncdfTitle: Interface to Unidata netCDF Data FilesMaintainer: Brian Ripley <ripley@stats.ox.ac.uk>Version: 1.6.9Author: David Pierce <dpierce@ucsd.edu>Description: This is deprecated and will be removed   from CRAN in early 2016: use 'RNetCDF' or 'ncdf4' instead.Newer package "ncdf4" is designed to work with the netcdf library version 4, and supports features such as compression and chunking.Unfortunately, for various reasons the ncdf4 package must havea different API than the ncdf package.

A note from the home page of the maintainer:

Package ncdf4 -- use this for new codeThe "ncdf4" package is designed to work with the netcdf library, version 4. It includes the ability to use compression and chunking, which seem to be some of the most anticipated benefits of the version 4 library. Note that the API of ncdf4 has to be different from the API of ncdf, unfortunately. New code should use ncdf4, not ncdf. 

http://cirrus.ucsd.edu/~pierce/ncdf/