[R] [ncdf4] error converting GEIA data to netCDF

Pascal Oettli kridox at ymail.com
Tue Aug 28 06:50:00 CEST 2012


Hello,

The following works fine for me:

 > nc <- nc_open("~/GEIA_N2O_oceanic.nc")
 > emi_n2o <- ncvar_get(nc, 'emi_n2o', start=c(1,1,1), count=c(-1,-1,1))

Regards,
Pascal



Le 28/08/2012 12:31, Tom Roche a écrit :
>
> summary: I can successfully ncvar_put(...) data to a file, but when I
> try to ncvar_get(...) the same data, I get
>
>> Error in if (nc$var[[li]]$hasAddOffset) addOffset = nc$var[[li]]$addOffset else addOffset = 0 :
>>    argument is of length zero
>
> How to fix or debug?
>
> details:
>
> R code @
>
> https://github.com/TomRoche/GEIA_to_NetCDF
>
> successfully (if crudely) uses R packages={ncdf4, maps, fields} to
>
> + extract data from a GEIA-distributed datafile
>
> https://github.com/downloads/TomRoche/GEIA_to_netCDF/N2OOC90Y.1A
>
> + display the data (mostly successfully--the map's legend has problems
>    which I'll attack later)
>
> https://github.com/downloads/TomRoche/GEIA_to_netCDF/output.1.png
>
> + create a netCDF file using the data read from the GEIA file. (At
>    least, after nc_sync(netcdf.file), the file `ncdump -h`s properly.)
>
> However, I can only *put* the data to the netCDF file:
>
>> ncvar_put(
>> + nc=netcdf.file,
>> + varid=emis.var,
>> + vals=t(global.emis.mx),
>> + start=c(1, 1, 1),
>> + count=c(-1,-1, 1)) # -1 -> all data
>
> When I try to *pull* the data *from* the netCDF I created,
>
>>> target.data <- ncvar_get(
>> +   nc=netcdf.file,
>> +   varid=emis.var,
>> +   # read all the data
>> +   start=rep(1, emis.var$ndims),
>> + #  count=rep(-1, emis.var$ndims))
>
> I get
>
>> Error in if (nc$var[[li]]$hasAddOffset) addOffset = nc$var[[li]]$addOffset else addOffset = 0 :
>>    argument is of length zero
>
> And I get the same error if I try the minor variation(s)
>
>> target.data <- ncvar_get(
> +   nc=netcdf.file,
> + #  varid=emis.var,
> +   varid=emis.var.name,
> +   # read all the data
> +   start=rep(1, emis.var$ndims),
> +   count=c(-1, -1, 1))
>
> But the data itself appears to be OK--at least, it virtualizes
> properly (above). So I'm thinking I must just be missing something
> simple, and hoping Someone Out There with fresh eyeballs can point to
> my error(s).
>
> (And, in case you're wondering:
>
> - I'm not just ncvar_put'ing the data for the exercise: I want the
>    GEIA data in netCDF format for subsequent use.
>
> - I tried to find the GEIA data distributed in netCDF format, and
>    asked around, but have gotten no responses.
>
> ) TIA, Tom Roche <Tom_Roche at pobox.com>
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list