I am working with NetCDF files using R & Matlab and I would like to know if the GIS community is using them. I know that ArcGIS can open & display, however most of the times the results are not good, since the structure of the netcdf files is always different.

I would like to know what kind of software/add-ons are you using to open & display netcdf files? do you extract any geographic+time series info?

  • I write my own netCDF files, then create the rasters from them using the tools inside ArcGIS and create featureclasses by using the internal data for the geographies. – Hairy Dec 15 '11 at 9:46
  • unidata provides large list of available tools with links and descriptions. – radek Mar 9 '12 at 18:37

What I do in R is use the ncdf package to read the data into R, which puts the data into a multidimensional array. Then I use the plyr package combined with basic R tools to perform any processing steps (temporal average, extract timeseries). Finally, I visualize my results using the ggplot2 package. For more information on spatial data in R, please visit the R Spatial Taskview. A particularly interesting package for satellite raster data is the raster package.


We don't encounter them much except out of the Bureau of Meteorology. When we do I tend to use the Panoply netCDF, HDF and GRIB Data Viewer from NASA to initially view the data, and then the Python netcdf4-python library to actually interact with the data - (also using scipy, numpy, etc. for calculations).

As for extrcting time series data, it tends to be for a single point across time, so the geography is ignored, or a single time slice, so time is ignored. You mentioned viewing the data in ArcGIS - to do this as a raster I mostly cheat and extract each time slice as a numpy array, and then put them together as a multilayered TIF using GDAL.

Hope this helps!

  • 3
    I would not call using numpy cheating :), I would call that working efficiently. – Paul Hiemstra Dec 16 '11 at 10:41

Here are a couple of tools that may interest you:

  • A NetCDF analysis tool called ToolsUI (FYI, this is a Java Webstart link)

  • Depending on your data you may wish to consider the IDV


They're a common alternative to hdf files in remote sensing and climate research because they're good for storing multidimensional data and time series information. You have to be careful about what version of NetCDF you're working with though. Newer NetCDF formats can be based off of hdf5 and these need to be opened using the Rhdf5 package in R and should be inspectable through gdalinfo, but this may depend on how your copy of gdal was compiled and whether the hdf libraries were installed. The older format (classic - still the default) is a less complex binary file and can be opened more readily. There's a python plug-in for QGIS (https://plugins.qgis.org/plugins/tags/netcdf/). I typically extract and process in R/Matlab and then map results in ArcGIS/QGIS.


The THREDDS Data Server http://www.unidata.ucar.edu/software/thredds/current/tds/ can be a great way of using and aggregating and subsetting single or groups of netCDF files.

The aggregation features let you assemble a set of netcdf files into a single datasource, so you can take a time series across multiple files without managing the files individually.

Also, if you are using Matlab, the NCtoolbox library at nctoolbox incorporates the java netcdf library, so you could aggregate files with NCML without a THREDDS server.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.