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

Reply via email to