【发布时间】:2021-06-18 14:15:38
【问题描述】:
随着时间的推移,我对只有一个时间层的空间变量(比如说 var_A_1985.nc、var_A_2000.nc 和 var_A_2010.nc)进行了多次观察。通过线性插值这些值是否可以有效地重建从 01/01/1985 到 01/01/2010 的每日值?
我目前探索了两种选择:
-
气候数据运算符 (CDO):我看到了运算符 inttime 和 intyear,但这些似乎不适用于我的情况。
-
R 作为 RasterBrick 元素操作
类似:
library(raster)
library(ncdf4)
setwd(mypath)
var_A_1985 <- raster("var_A_1985.nc")
var_A_2000 <- raster("var_A_2000.nc")
var_A_brick <- brick(var_A_1985, var_A_2000)
brick_2<- brick(lapply(1:n_days, function(x) raster::raster(matrix(NA, nrow(var_A_1985), ncol(var_A_1985)))) #with n_days representing the number of days between 01/01/1985 and 01/01/2000
extremes<- c(1, n_days)
for (i in 1:2) {
brick_2[[extremes[i]]]=var_A_brick[[1]]
}
var_A_brick_filled <- approxNA(brick_2, method = 'linear')
#and then write this the new netcdf with daily values
第二种方法确实有效,但需要很长时间。有没有更有效的方法来做到这一点?
【问题讨论】:
标签: r netcdf data-management cdo-climate