我想使用nco
连接两组netcdf文件,其中每组大约30个文件。
设置1包含:经度,纬度,时间和v。
设置2包含:经度,纬度,时间和u。
我尝试过:
ncks *.nc out.nc
但是我得到了
错误收到97个文件名;最多不超过两个
然后我尝试:
ncks -A *.nc out.nc
但错误仍然存在:
错误收到97个文件名;最多不超过两个
请给我指出正确的方向,我对此还很陌生。
谢谢。
答案 0 :(得分:3)
如果您使用ncrcat而不是do.call(rbind, apply(df1, 1, function(x) {
rl <- rle(x)
i1 <- rl$values == 1
l1 <- rl$lengths[i1]
nm1 <- tapply(names(x), rep(seq_along(rl$values), rl$lengths),
FUN = function(y) paste(range(y), collapse="-"))[i1]
data.frame(NumberOfOnes = l1, Range = nm1)}))
,则您的第一次尝试应该可以工作:
df1 <- structure(list(A = c(1L, 0L, 0L), B = c(1L, 0L, 0L), C = c(1L,
0L, 0L), D = c(1L, 0L, 0L), E = c(1L, 1L, 0L), F = c(1L, 1L,
0L), G = c(1L, 1L, 0L), H = c(1L, 0L, 1L), I = c(1L, 1L, 1L),
J = c(0L, 1L, 1L), K = c(0L, 0L, 1L), L = c(0L, 0L, 1L),
M = c(0L, 1L, 0L), N = c(0L, 0L, 0L)), class = "data.frame", row.names = c(NA,
-3L))
请注意,通配符表达式会求值到您想要的文件,即ncks
会生成所有输入文件,而没有其他内容。
答案 1 :(得分:2)
您也可以使用CDO:
cdo cat *.nc out.nc
假设所有文件都在相同的网格和时间上。