连接具有不同变量的netcdf文件-使用NCO

时间:2019-09-30 12:06:17

标签: ubuntu netcdf nco cdo-climate

我想使用nco连接两组netcdf文件,其中每组大约30个文件。

设置1包含:经度,纬度,时间和v。

设置2包含:经度,纬度,时间和u。

我尝试过:

ncks *.nc out.nc    

但是我得到了

  

错误收到97个文件名;最多不超过两个

然后我尝试:

ncks -A *.nc out.nc

但错误仍然存​​在:

  

错误收到97个文件名;最多不超过两个

请给我指出正确的方向,我对此还很陌生。

谢谢。

2 个答案:

答案 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

假设所有文件都在相同的网格和时间上。