Hello I am a new user of R . and I ve problem with R and netcdf . I succed installation , I could use all examples . But when I take my netcf it is different . I want to do statistic on this kind of file . 1) first calculate mean . my data is like that through ncdump -h test.nc netcdf test { dimensions: lat = 301 ; lon = 401 ; time = UNLIMITED ; // (80 currently) variables: float lat(lat) ; lat:long_name = "latitude" ; lat:standard_name = "latitude" ; lat:units = "degrees_north" ; lat:valid_range = -60., 60. ; float lon(lon) ; lon:long_name = "longitude" ; lon:standard_name = "longitude" ; lon:units = "degrees_east" ; lon:valid_range = -100., 45. ; double sst(time, lat, lon) ; sst:long_name = "sea surface temperature" ; sst:standard_name = "sea_surface_temperature" ; sst:units = "K" ; sst:_FillValue = -32768. ; double time(time) ; time:long_name = "time" ; time:standard_name = "time" ; time:units = "seconds since 1981-01-01 00:00:00" ; time:ancillary_variables = "sst_data_processed_flag" ; I succeed to read it with R, there is only one variable sst 80 days and lat = 301 lon = 401 (this file is already a concatenation with nco fonctions . Here is what I do : nc<-open.ncdf("test.nc") summary (nc) data<- get.var.ncdf(nc) print (data) answer extract : [331,] -32768.00 -32768.00 -32768.00 -32768.00 -32768.00 -32768.00 -32768.00 [332,] -32768.00 -32768.00 -32768.00 -32768.00 -32768.00 -32768.00 -32768.00 [,295] [,296] [,297] [,298] [,299] [,300] [,301] [1,] 0.10 0.10 0.12 0.15 0.15 0.14 0.15 [2,] 0.12 0.12 0.13 0.15 0.15 0.14 0.15 [3,] 0.13 0.13 0.13 0.16 0.14 0.14 0.14 [4,] 0.15 0.13 0.11 0.16 0.15 0.15 0.15 [5,] 0.17 0.16 0.15 0.15 0.16 0.17 0.15 #_fill_value is at -32768.00 [ reached getOption("max.print") -- omitted 69 row(s) and 79 matrix slice(s) ] OK too long > mean(data, na.rm=TRUE) [1] -20020.35 > summary(data) Min. 1st Qu. Median Mean 3rd Qu. Max. -32770.00 -32770.00 -32770.00 -20020.00 0.42 6.59 > q() It is clear that the missing value_FillValue = -32768. here , is used to calculate the mean , the Median etc . But I don't succed to avoid NA value in the sum ??? I've seen set.missval.ncdf but I don't succeed anymore to make R understand that -32768 is a missing_value. What are my mistakes , has someone an example or a solution ? 2) Then after I want to calculate correlation between this one and another one , so my time dimension is 80 (80 days) but my time variable is always the same (because of concatenation with nco ) how can I calculate cor(data1,data2) and be sure that the correlation is not calculate between day1 and day50 for instance . Thanks Fran?oise Orain .
On Fri, May 6, 2011 at 10:11 AM, francoise orain <francoise.orain@meteo.fr>wrote:> Hello > I am a new user of R . > and I ve problem with R and netcdf . > I succed installation , I could use all examples . > But when I take my netcf it is different . > > I want to do statistic on this kind of file . > > 1) > first calculate mean . > my data is like that > through ncdump -h test.nc > > netcdf test { > dimensions: > lat = 301 ; > lon = 401 ; > time = UNLIMITED ; // (80 currently) > variables: > float lat(lat) ; > lat:long_name = "latitude" ; > lat:standard_name = "latitude" ; > lat:units = "degrees_north" ; > lat:valid_range = -60., 60. ; > float lon(lon) ; > lon:long_name = "longitude" ; > lon:standard_name = "longitude" ; > lon:units = "degrees_east" ; > lon:valid_range = -100., 45. ; > double sst(time, lat, lon) ; > sst:long_name = "sea surface temperature" ; > sst:standard_name = "sea_surface_temperature" ; > sst:units = "K" ; > sst:_FillValue = -32768. ; > double time(time) ; > time:long_name = "time" ; > time:standard_name = "time" ; > time:units = "seconds since 1981-01-01 00:00:00" ; > time:ancillary_variables = "sst_data_processed_flag" ; > > I succeed to read it with R, there is only one variable sst 80 days and > lat = 301 lon = 401 (this file is already a concatenation with nco > fonctions . > > Here is what I do : > > nc<-open.ncdf("test.nc") > summary (nc) > data<- get.var.ncdf(nc) > print (data) > > answer extract : > > [331,] -32768.00 -32768.00 -32768.00 -32768.00 -32768.00 -32768.00 > -32768.00 > [332,] -32768.00 -32768.00 -32768.00 -32768.00 -32768.00 -32768.00 > -32768.00 > [,295] [,296] [,297] [,298] [,299] [,300] [,301] > [1,] 0.10 0.10 0.12 0.15 0.15 0.14 0.15 > [2,] 0.12 0.12 0.13 0.15 0.15 0.14 0.15 > [3,] 0.13 0.13 0.13 0.16 0.14 0.14 0.14 > [4,] 0.15 0.13 0.11 0.16 0.15 0.15 0.15 > [5,] 0.17 0.16 0.15 0.15 0.16 0.17 0.15 > > #_fill_value is at -32768.00 > >Hello, I'm not sure what the problem you are experiencing is. As a practical matter, I suggest you try something like this: nc<-open.ncdf("test.nc") summary (nc) data<- get.var.ncdf(nc) data[ data < -32000 ] <- NA Regards, --Dave -- David W. Pierce Division of Climate, Atmospheric Science, and Physical Oceanography Scripps Institution of Oceanography (858) 534-8276 (voice) / (858) 534-8561 (fax) dpierce@ucsd.edu [[alternative HTML version deleted]]
Reasonably Related Threads
- Extracting subset from netCDF file using lat/lon and converting into .csv in R
- Extracting subset from netCDF file using lat/lon and converting into .csv in R
- Editing the variables attributes section in the netCDF header of netCDF files created using the package ncdf.
- Copying ncdf dims and vars from one file to the other
- i can't read large NETCDF file like CRU