Erstellen mehrdimensionaler NetCDF in R
Ich versuche, eine mehrdimensionale NetCDF-Datei mit dem R-Paket zu erstellenncdf. Ich arbeite mit täglichen Klimabeobachtungen für einen Satz von 1500 Punkten, die Anzahl der Beobachtungen beträgt ~ 18250 für jeden Punkt. Das Problem ist, dass die Struktur der NetCDF-Datei (create.ncdf) belegt 4 GB und jeder Punkt erhöht die Dateigröße um mehr als 3 GB (put.var.ncdf)
Dies ist der Code, den ich benutze:
<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 und Latvector sind Vektoren aus der Matrix mit Long und Lat für jeden Punkt. Der Datensatz ist ein Listenformat und für jeden Punkt habe ich eine Liste mit numerischen Werten.
<code>dataset[[1]]=c(0,0,0,9.7,0,7.5,3.6,2.9,0,0.5,....) </code>
Vermisse ich etwas oder soll ich andere Pakete ausprobieren ??