我从 1979 年到 1990 年从 https://cds.climate.copernicus.eu/cdsapp#!/dataset/ecv-for-climate-change?tab=form 下载了多个月平均 GRIB 文件,用于表面空气温度。144 个 GRIB 文件已保存在我的工作目录中。我知道如何阅读一份 GRIB 文件(这是 1979 年 1 月的):
#setting working directory
setwd("C:/Users/Halima Usman/Documents/ICIMOD")
#reading grib files
pre1=raster('1month_mean_Global_ea_2t_197901_v02.grib',package="raster")
test=brick(pre1)
raster1=stack(test)
plot(raster1) #january 1979
现在,我想知道如何一次性读取所有 144 个文件并创建所有这些 GRIB 文件的单个堆栈并取平均值。
到目前为止我已经尝试过了
rastlist <- list.files(path = "C:/Users/Halima Usman/Documents/ICIMOD/grib", pattern='.grib$', all.files=TRUE, full.names=FALSE)
library(raster)
allrasters <- stack(rastlist)
meanraster<-calc(allrasters, mean)
我收到此警告和错误
Warning: Inside Grib2Inventory, Message #2
ERROR: Ran out of file reading SECT0