将此作为源:How to concatenate monthly TRMM netCDF files into a single netCDF file using NCO or R on windows 7?
install.packages("ncdf4")
library(ncdf4)
install.packages("abind")
library(abind)
install.packages("RNetCDF")
library(RNetCDF)
install.packages("ncdf.tools")
library(ncdf.tools)
filenames=read.csv('TRMM.filenames.csv',head=F)
filenames=as.character(filenames[,1])
n.lon=4
n.lat=7
NA.matrix=matrix(rep(NA,n.lon*n.lat),nrow=n.lon)
prcp=array(NA.matrix,c(n.lon,n.lat,1))
for (i in 1:length(filenames)){ncdata=nc_open(filenames[i])
+ nc=ncvar_get(ncdata,"precipitation") prcp=abind(prcp,nc)}
prcp=prcp[,,-1]
dim(prcp)
saveRDS(prcp,'TRMM.all.rds')
我可以创建一个rds文件。但是,我很想把它保存为nc文件。我尝试创建一个新的netCDF文件,其中包含12个步骤(每个月一个)时间维度,方法是:
^{pr2}$现在每个月的降水量都是挑战
在第一个脚本之后,我尝试使用ncvar_put
函数,但没有成功。在
filenames1=read.csv('TRMM.filenames.csv',head=F)
filenames1=as.character(filenames1[,1])
for (i in 1:length(filenames1)){ncdata1=nc_open(filenames1[i])
nc1=ncvar_get(ncdata1,"precipitation")
prcp1=abind(prcp1,nc1)}
n.lon1=4
n.lat1=7
data2d<-(4*7)
for (i in 1:length(filenames1))
ncvar_put( precip.nccreate, precip.ncvar, data2d, start=c(1), count=c(1) )
precip.nccreate<- nc_create( "precip.nccreate.nc", precip.ncvar, force_v4=FALSE, verbose=FALSE )
我得到了
Error in ncvar_put(precip.nccreate, precip.ncvar, data2d, start = c(1), : object 'precip.nccreate' not found
Error in nc_create("precip.nccreate.nc", precip.ncvar, force_v4 = FALSE, : object 'precip.ncvar' not found
总之,我想我只是想找到一种简单的方法,将多个netcdf文件连接到一个netcdf中。在
谢谢
时间合并是通过CDO来完成的:
经常使用tr-mm操作文件。在
由于时间维度是无限的,您可以使用NCO的ncrcat命令,例如
TRMM文件没有时间变量或维度。我无法得到军士的工具来处理这种情况,但我不是专家。我的解决方案是使用python创建文件的副本,同时根据输入文件名添加时间维度和时间值。然后按照@CharlieZender的建议使用ncrcat。对不起,我的剧本太长了。在
这会让你离开_xxxxx.nc公司可以使用当前目录和ncrcat中的文件。在
^{pr2}$相关问题 更多 >
编程相关推荐