Thanks very much for the help Sam and Roger.
I ended up using Sam's method which worked great, though seems to require the offset and scaling factor to be calculated on the output RasterLayer following creation. There is probably a method to apply these directly, but I haven't figured that out just yet. This is working with R2.10.1, Raster 0.9.9-1 and RNetCDF 1.2-1. Cheers, Kevin ________________________________ From: Samuel Veloz [mailto:sdve...@ucdavis.edu] Sent: 7-Jan-10 1:30 PM To: roger.biv...@nhh.no Cc: Middel, Kevin (MNR); r-sig-geo@stat.math.ethz.ch Subject: Re: [R-sig-Geo] Problems reading netcdf with RGDAL I have had success using the raster package (which requires the RNetCDF package for netcdf data) after having similar problems. The following code works for me: air.rast.1<-raster("air.2m.1979.nc",zvar="air",time=1) #this gives you a raster of the air variable at time step 1. plot(air.rast.1) This was working on raster version 0.9.3 and R 2.9.1 so don't know if new versions will work or if the problems Roger described with rgdal will matter. Sam On Thu, Jan 7, 2010 at 9:16 AM, Roger Bivand <roger.biv...@nhh.no> wrote: On Thu, 7 Jan 2010, Middel, Kevin (MNR) wrote: Hi, I am trying to read a netcdf file and create spatial grid files compatible with a GIS from the various time arrays, but ran into a problem right off with rgdal. The .nc file contains daily air temperatures across North America for a given year. Using the command: GDALinfo("air.2m.1979.nc") Where is your sessionInfo() information? Does gdalDrivers() include the NetCDF driver (no, you are on Windows using the standard binary rgdal package - guesses based on the file path quoted below)? Have you read file.show(system.file("README.windows", package="rgdal")), which tells you how to install rgdal from source on Windows to access extra drivers depending on external software? The user needing more exotic drivers (those not provided by GDAL itself) has to provide the external dependencies and install from the source package on all platforms. If ncdf can import the data, please use that if you do not want to install rgdal from source. Hope this helps, Roger I get the error: CPL ERROR 4: `air.2m.1979.nc' not recognised as a supported file format. Error in .local(.Object, ...) : `air.2m.1979.nc' not recognised as a supported file format. I am able read the file using the package ncdf, and the utility ncdump, as well as view the data in panoply, so I'm not sure what I'm doing incorrectly. I've also tried using FWTools to view the data and in this program the image is inverted (N-S). Finally I've had a look at the data using GDALInfo installed with FWTools and have pasted the output below, as well as the output from NCDump. It's probably pretty obvious that I'm new to this format, so any help/guidance anyone can provide would be greatly appreciated. Thanks in advance, Kevin GDALInfo Output: Driver: netCDF/Network Common Data Format Files: d:\databases\climate\narr\air.2m.1979.nc Size is 512, 512 Coordinate System is `' Metadata: NC_GLOBAL#standardpar1=50 NC_GLOBAL#standardpar2=50 NC_GLOBAL#centerlon=-107 NC_GLOBAL#centerlat=50 NC_GLOBAL#latcorners=1.000001e+000, 8.979450e-001, 4.635440e+001, 4.663433e+001 NC_GLOBAL#loncorners=-1.455000e+002, -6.832005e+001, -2.569891e+000, 1.486418e+002 NC_GLOBAL#stream=s1 NC_GLOBAL#title=Daily NARR NC_GLOBAL#Conventions=CF-1.0 NC_GLOBAL#history=On Thu Feb 9 16:48:19 2006 single precision time renamed oldtime, values transferred to double precision new time variable. created 2005 by Jeff Whitaker NC_GLOBAL#institution=National Centers for Environmental Prediction NC_GLOBAL#platform=Model NC_GLOBAL#references=http://wwwt.emc.ncep.noaa.gov/mmb/rreanl/index.html http://www.cdc.noaa.gov/cdc/data.narr.html Subdatasets: SUBDATASET_1_NAME=NETCDF:"d:\databases\climate\narr\air.2m.1979.nc":lat SUBDATASET_1_DESC=[277x349] latitude (32-bit floating-point) SUBDATASET_2_NAME=NETCDF:"d:\databases\climate\narr\air.2m.1979.nc":lon SUBDATASET_2_DESC=[277x349] longitude (32-bit floating-point) SUBDATASET_3_NAME=NETCDF:"d:\databases\climate\narr\air.2m.1979.nc":time _bnds SUBDATASET_3_DESC=[365x2] time_bnds (64-bit floating-point) SUBDATASET_4_NAME=NETCDF:"d:\databases\climate\narr\air.2m.1979.nc":air SUBDATASET_4_DESC=[365x277x349] air_temperature (8-bit integer) Corner Coordinates: Upper Left ( 0.0, 0.0) Lower Left ( 0.0, 512.0) Upper Right ( 512.0, 0.0) Lower Right ( 512.0, 512.0) Center ( 256.0, 256.0) NCDump Output: netcdf air.2m.1979 { dimensions: time = UNLIMITED ; // (365 currently) y = 277 ; x = 349 ; nbnds = 2 ; variables: float lat(y, x) ; lat:long_name = "latitude coordinate" ; lat:units = "degrees_north" ; lat:axis = "Y" ; lat:coordinate_defines = "point" ; lat:standard_name = "latitude" ; float lon(y, x) ; lon:units = "degrees_east" ; lon:long_name = "longitude coordinate" ; lon:axis = "X" ; lon:coordinate_defines = "point" ; lon:standard_name = "longitude" ; float x(x) ; x:long_name = "eastward distance from southwest corner of domain in projection coordinates" ; x:units = "m" ; x:standard_name = "projection_x_coordinate" ; float y(y) ; y:long_name = "northward distance from southwest corner of domain in projection coordinates" ; y:units = "m" ; y:standard_name = "projection_y_coordinate" ; int Lambert_Conformal ; Lambert_Conformal:grid_mapping_name = "lambert_conformal_conic" ; Lambert_Conformal:standard_parallel = 50., 50. ; Lambert_Conformal:longitude_of_central_meridian = -107. ; Lambert_Conformal:latitude_of_projection_origin = 50. ; Lambert_Conformal:false_easting = 5632642.22547 ; Lambert_Conformal:false_northing = 4612545.65137 ; double time(time) ; time:units = "hours since 1800-1-1 00:00:0.0" ; time:long_name = "analysis time" ; time:axis = "T" ; time:standard_name = "time" ; time:coordinate_defines = "start" ; time:delta_t = "0000-00-01 00:00:00" ; time:actual_range = 1569072., 1577808. ; time:avg_period = "0000-00-01 00:00:00" ; double time_bnds(time, nbnds) ; time_bnds:long_name = "Time Boundaries" ; short air(time, y, x) ; air:units = "K" ; air:long_name = "Daily Air Temperature at 2 m" ; air:unpacked_valid_range = 151.f, 400.f ; air:precision = 0.003799786f ; air:actual_range = 219.7989f, 312.3237f ; air:missing_value = 32767s ; air:valid_range = -32765s, 32765s ; air:_FillValue = -32767s ; air:GRIB_name = "TMP" ; air:GRIB_id = 11 ; air:var_desc = "Air temperature" ; air:standard_name = "air_temperature" ; air:level_desc = "2 m" ; air:dataset = "NARR Daily Averages" ; air:statistic = "Mean" ; air:parent_stat = "Individual Obs" ; air:grid_mapping = "Lambert_Conformal" ; air:coordinates = "lat lon" ; air:add_offset = 275.5f ; air:scale_factor = 0.003799786f ; air:cell_methods = "time: mean (of 8 3-hourly values in one day)" ; // global attributes: :standardpar1 = 50. ; :standardpar2 = 50.000001 ; :centerlon = -107. ; :centerlat = 50. ; :latcorners = 1.000001f, 0.897945f, 46.3544f, 46.63433f ; :loncorners = -145.5f, -68.32005f, -2.569891f, 148.6418f ; :stream = "s1" ; :title = "Daily NARR" ; :Conventions = "CF-1.0" ; :history = "On Thu Feb 9 16:48:19 2006 single precision time renamed oldtime,\n", "values transferred to double precision new time variable.\n", "created 2005 by Jeff Whitaker" ; :institution = "National Centers for Environmental Prediction" ; :platform = "Model" ; :references = "http://wwwt.emc.ncep.noaa.gov/mmb/rreanl/index.html\n", "http://www.cdc.noaa.gov/cdc/data.narr.html" ; } [[alternative HTML version deleted]] _______________________________________________ R-sig-Geo mailing list R-sig-Geo@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo -- Roger Bivand Economic Geography Section, Department of Economics, Norwegian School of Economics and Business Administration, Helleveien 30, N-5045 Bergen, Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43 e-mail: roger.biv...@nhh.no _______________________________________________ R-sig-Geo mailing list R-sig-Geo@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo [[alternative HTML version deleted]] _______________________________________________ R-sig-Geo mailing list R-sig-Geo@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo