我似乎无法正确组合数千个 netCDF 文件(42000+)(对于这个特定的文件夹/变量,大小为 3gb)。我要组合的主要变量具有 (6, 127, 118) 的结构,即 (time,lat,lon) 由于文件数太长,我将每个文件 1 逐 1 附加。
我努力了:
for i in input_source/**/**/*.nc; do ncrcat -A -h append_output.nc $i append_output.nc ; done
但是这种方法似乎真的很慢(kb / s的顺序,并且随着附加更多文件似乎变得越来越慢)并且还发出警告:
ncrcat: WARNING Intra-file non-monotonicity. Record coordinate "forecast_period" does not monotonically increase between (input file file1.nc record indices: 17, 18) (output file file1.nc record indices 17, 18) record coordinate values 6.000000, 1.000000
这基本上只是将变量“forecast_period”增加了 1-6 n 倍。n = 42000 个文件。即 [1,2,3,4,5,6,1,2,3,4,5,6......n] 尽管有这个警告,我仍然可以打开文件,并且 ncrcat 会做它应该做的事情,它只是很慢,至少对于这个特定的方法
我也尝试过添加选项:
--no_tmp_fl
但这会产生错误:
ERROR: nco__open() unable to open file "append_output.nc"
下面附上完整的错误
如果它有帮助,我在 Windows 10 中使用 wsl 和 ubuntu。我是 bash 的新手,任何评论都将不胜感激。