Rパッケージncdfを使用して多次元NetCDFファイルを作成しようとしています。私は気象観測で毎年1500ポイントの観測を行い、観測数は18250ポイントです。 問題がnetCDFファイル(create.ncdf)の構造は、これは4GBのを占有し、各点は3つ以上のGb(put.var.ncdf)によってファイルの増加の大きさになり多次元NetCDFをRで作成する
ことです私が使用していますコード:
# 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
は、ncdfが現在廃止されているので、受け入れられた回答ncdf4ソリューションを提案しています - netcdf4の慣例を使用しているソフトウェアの大半。 –