I have the following netcdf file containing 7 variables and 4 dimensions.

[1] "file data.nc has 4 dimensions:"
[1] "depth   Size: 12"
[1] "time   Size: 37"
[1] "x   Size: 305"
[1] "y   Size: 432"
[1] "------------------------"
[1] "file data.nc has 7 variables:"
[1] "int stereographic[]  Longname:stereographic Missval:NA"
[1] "float longitude[x,y]  Longname:longitude Missval:1e+30"
[1] "float latitude[x,y]  Longname:latitude Missval:1e+30"
[1] "short chla[x,y,depth,time]  Longname:chla Missval:-32767"
[1] "short nitrat[x,y,depth,time]  Longname:nitrat Missval:-32767"
[1] "short phosphat[x,y,depth,time]  Longname:phosphat Missval:-32767"
[1] "short pbiomass[x,y,depth,time]  Longname:pbiomass Missval:-32767"

I would like to extract several months at a specific depth and convert them to a ASCII raster. I am able to use this command myraster<-raster("data.nc", varname="nitrat", lvar=1, band=2, level=20) but I am confused about which depth and time I am actually extracting, it is unclear to me how to use the parameters of the raster function to point to the specific time and depth. Also I am not able to read a variable using the function get_att and I get this message

Error in ncatt_get(test, "time") : 
  Error, first passed argument must be an object of class ncdf4

I would like to be able to get a list of the different time and depth so I can use the correct parameters in the raster function.I have both "ncdf","ncdf4" packages installed.I am working in Windows with R 3.0

1 Answer 1


It might be easier to see what is going on when you create a RasterBrick (multiple layers), either representing depth, or time. The number of layers should make it clear which is is. the z-values too.

You could start with

b <- brick("data.nc", varname="nitrat")

and go from there.

The error in hour ncdf code is because you mix up the ncdf package (open.ncdf) with the ncdf4 package (ncatt_get). You need to pick one and stick with it.

  • thank! That helps, also now just using one of the two ncdf packages I have no more error messages. The issue I have is with the dates, they are not shown correctly. I will open another question. Commented Feb 15, 2014 at 8:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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