R 运行ncdf包时出现致命错误

R 运行ncdf包时出现致命错误,r,fatal-error,netcdf,R,Fatal Error,Netcdf,我从ECAD(欧洲气候评估和数据集)下载了一个数据库,其中包括降水数据 摘要(控制) rr(变量1)的形状为464 201 23376 所以它有23376个时间步,因为这对于一次运行来说太多了,我每次单独运行一步。但是当尝试运行12000以上的时间步时,我会得到一个致命错误(11000不是问题)。我的笔记本电脑没有内存问题,但我的笔记本电脑没有内存问题。此步骤导致问题:cntlprcp1=get.var.ncdf(nc=control,varid=“rr”,start,count) contro

我从ECAD(欧洲气候评估和数据集)下载了一个数据库,其中包括降水数据

摘要(控制) rr(变量1)的形状为464 201 23376

所以它有23376个时间步,因为这对于一次运行来说太多了,我每次单独运行一步。但是当尝试运行12000以上的时间步时,我会得到一个致命错误(11000不是问题)。我的笔记本电脑没有内存问题,但我的笔记本电脑没有内存问题。此步骤导致问题:cntlprcp1=get.var.ncdf(nc=control,varid=“rr”,start,count)

control=open.ncdf(con=“rr_0.25deg_reg_v9.0.nc”,write=FALSE,readunlim=FALSE)
粘贴(控件$filename,“has”,控件$nvars,“variables”),fill=TRUE)
lonmat=矩阵(get.var.ncdf(nc=控制,varid=“经度”),nrow=464,ncol=201)
latmat=矩阵(get.var.ncdf(nc=控制,varid=“纬度”),nrow=201,ncol=464)
timearr=get.var.ncdf(nc=control,varid=“time”)
t1=julian(x=1,d=1,y=1950,原点=c(月=1,日=1,年=1601))
targettime=julian(x=7,d=4,y=1980,origin=c(月=1,日=1,年=1601))
inds=(1:dim(timearr))
tind=inds[targettime-t1==timearr]
ndims=控制$var['rr']]$ndims
varsize=control$var['rr']]$varsize
开始=c(1,1,**16000**)
计数=c(varsize[1],varsize[2],1)
cntlprcp1=get.var.ncdf(nc=control,varid=“rr”,start,count)

cntlprcp1[cntlprcp1您的代码没有为我运行。一方面,第2行有语法错误(调用
paste(…)
)。另一方面,调用
julian(…)
生成
error in use方法(“julian”):没有适用于类“c”('double','numeric')的对象的“julian”方法
。另外,您是否可以编辑您的问题,以包括您加载的所有库。它现在正在工作,问题是包ncdf仅在32位环境中正常工作,而不是在64位R中正常工作。
control = open.ncdf(con="rr_0.25deg_reg_v9.0.nc", write=FALSE, readunlim=FALSE)
paste(control$filename,"has",control$nvars,"variables"), fill=TRUE)
lonmat  = matrix(get.var.ncdf(nc=control,varid="longitude"),nrow=464,ncol=201) 
latmat  = matrix(get.var.ncdf(nc=control,varid="latitude"),nrow=201,ncol=464)  
timearr = get.var.ncdf(nc=control,varid="time")      
t1 = julian(x=1, d=1, y=1950,  origin=c(month = 1, day = 1, year = 1601))
targettime = julian(x=7,d=4,y=1980,origin=c(month = 1, day = 1, year = 1601))
inds       = (1:dim(timearr))
tind       = inds[targettime-t1 == timearr]
ndims    = control$var[['rr']]$ndims   
varsize  = control$var[['rr']]$varsize    
start = c(    1,         1,      **16000**)
count = c(varsize[1], varsize[2],    1)
cntlprcp1 = get.var.ncdf(nc=control,varid="rr",start,count)
cntlprcp1[cntlprcp1<0] = NA
x = 1:nrow(cntlprcp1)   # R plots rows along X axis!
y = 1:ncol(cntlprcp1)
image.plot(x,y,cntlprcp1,col=tim.colors())