我正嘗試使用R程序包ncdf創建多維NetCDF文件。我正在進行一組1500點的氣候日常觀測,每個觀測點的觀測數量爲〜18250。 的問題是,所述netCDF文件(create.ncdf)的結構佔有4Gb和每個點超過3 GB(put.var.ncdf)在R中創建多維NetCDF
這是使文件增加的大小我使用的代碼:
# 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))
Longvector和Latvector是與長和緯度每個點的矩陣拍攝向量。數據集是一個列表格式,每個點都有一個數值列表。
dataset[[1]]=c(0,0,0,9.7,0,7.5,3.6,2.9,0,0.5,....)
我錯過了什麼,或者我應該嘗試其他包?
Longvector和Latvector的長度是多少?你可以提供它們,也許是通過調用seq()或者只是轉儲代碼來用dput()重新創建它們。 – mdsumner
請編輯該問題以包括缺少的信息 – mdsumner
將建議移動接受的答案ncdf4解決方案,因爲ncdf現在已經過時了 - 現在大部分使用netcdf4約定的軟件已經過時。 –