我的模型为每个时间步长和每个变量生成一个名为 DDDDDDD.VVV.nc 的 netcdf 文件,其中 DDDDDDD 是日期,VVV 是变量名。
对于每个时间步,我使用 nco 附加与不同变量对应的文件,以便每个时间步获取一个文件。
#! /bin/bash
# looping on timesteps to merge all variables
# I use one variable 'O2o' to get the list of timesteps
for timesteps in *.O2o.nc;
do
timestep=$(echo $timesteps| cut -b -21)
echo $timestep
for var in $timestep*.nc;
do
ncks -Ah $var 'F1_'$timestep.nc
done
done
大约有 432 个输出变量,每个文件大约 6,4K 或 1,1K(变量的维数不一样)。
我发现这个过程非常慢(例如每个时间步长 15 秒),而文件非常小。知道我应该如何优化脚本吗?