Tworzenie wielowymiarowego NetCDF w R
Próbuję utworzyć wielowymiarowy plik NetCDF przy użyciu pakietu Rncdf. Pracuję z klimatycznymi obserwacjami dziennymi dla zestawu 1500 punktów, liczba obserwacji wynosi ~ 18250 dla każdego punktu. Problem polega na tym, że struktura pliku NetCDF (create.ncdf) zajmuje 4 GB, a każdy punkt zwiększa rozmiar pliku o ponad 3 GB (put.var.ncdf)
To jest kod, którego używam:
<code># Make a few dimensions we can use dimX <- dim.def.ncdf( "Long", "degrees", Longvector ) dimY <- dim.def.ncdf( "LAT", "degrees", Latvector ) dimT <- dim.def.ncdf( "Time", "days", 1:18250, unlim=FALSE ) # Make varables of various dimensionality, for illustration purposes mv <- -9999 # missing value to use var1d <- var.def.ncdf( "var1d", "units", dimX, mv,prec="double" ) var2d <- var.def.ncdf( "var2d", "units", list(dimX,dimY), mv,prec="double" ) var3d <- var.def.ncdf( "var3d", "units", list(dimX,dimY,dimT), mv,prec="double" ) # Create the test file nc <- create.ncdf( "writevals.nc", list(var1d,var2d,var3d) ) # !!Creates a nc file with + 4 Gb # Adding the complete time series for one point (the first point in the list of the dataset) put.var.ncdf( nc, var3d,dataset[[1]], start=c(Longvector[1],Latvector[1],1), count=c(1,1,-1)) </code>
Longvector i Latvector są wektorami pobranymi z matrycy za pomocą Long i Lat dla każdego punktu. Zbiór danych jest formatem listy i dla każdego punktu mam listę wartości liczbowych.
<code>dataset[[1]]=c(0,0,0,9.7,0,7.5,3.6,2.9,0,0.5,....) </code>
Czy czegoś brakuje lub czy powinienem wypróbować inne pakiety?