0

我有几千个 .nc 文件,每个文件都需要修剪以匹配另一组文件的大小(纬度/经度)。我只想要 70-90N 的数据,但长文件包含全局数据。在 longFile1.nc 上运行 ncdump 给出

    dimensions:
    altitude = 40
    dim = 55890;
    nv = 2;

并在 shortFile1.nc 上运行 ncdump 给出

    dimensions:
    fakeDim14 = 8111;
    fakeDim15 = 1;

longFile1.nc 需要被削减,以便 dim = 8111。每个文件的短文件尺寸长度都会发生变化。我知道我需要每个长文件的开头,但每次的结尾都会不同。

我可以修剪 longFile1.nc

    ncks -C -d it,0,8010 -v lat,lon,instant_cloud_phase longFile1.nc -o trimmedLongFile1.nc

但我不知道如何为所有这些执行此操作,尤其是因为每个文件的长度都会发生变化。我还必须从索引 0-8010 开始保持正确的纬度范围。有没有办法从每个短文件中读取第一维,然后在上面的 nco 命令中为每个相应的长文件使用它?那 nco 命令甚至是最好的方法吗?

提前致谢!

4

1 回答 1

1

使用 NCO 过滤器ncdmnsz并将整个内容放在文件的循环中:

for fl in `ls longFile*.nc`; do
   dmnsz=`ncdmnsz fakeDim14 $fl`
   ncks -F -d it,,$dmnsz -v ...
done

请注意 -F 用于基于 1 的索引。

于 2016-04-21T16:36:30.377 回答