Создание многомерного файла NetCDF в R

Пытаюсь создать многомерный файл NetCDF с помощью пакета R ncdf. Работаю с ежедневными климатическими наблюдениями по набору 1500 точек, количество наблюдений ~18250 на каждую точку. Проблема в том, что структура файла NetCDF ( create.ncdf) занимает 4Gb и каждая точка увеличивает размер файла более чем на 3 Gb ( put.var.ncdf)

Вот код, который я использую:

# 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 являются векторами, взятыми из матрицы с Long и Lat для каждой точки. Набор данных представляет собой список, и для каждой точки у меня есть список числовых значений.

dataset[[1]]=c(0,0,0,9.7,0,7.5,3.6,2.9,0,0.5,....) 

Я что-то упустил или стоит попробовать другие пакеты??

8
задан mdsumner 17 May 2012 в 15:06
поделиться