-1


我使用ncolinux 命令行来剪切我的 '.nc' 文件。通常使用我的特定区域latlon如下所示:

ncks -d lat,17.52,30.98 -d lon,-98.52,-78.02 img.nc -O cut.nc 

我需要为每天剪切 365 个文件(全年)制作一个循环。我打算用 Python 来做,但我真的很想知道是否有人知道用 nco 包做这件​​事的方法。

谢谢。

4

1 回答 1

1

NCO解决方案

只需使用通配符 * 在 bash 中循环 - 例如,如果您的文件名为 img20170101.nc 等,则:

for file in `ls img*.nc` ; do 
  ncks -d lat,17.52,30.98 -d lon,-98.52,-78.02 ${file} -O ${file%???}_cut.nc
done

这 %???从文件名中删除“.nc”

CDO 解决方案 顺便说一下,您也可以使用 CDO 切割区域:

cdo sellonlatbox,lon1,lon2,lat1,lat2 in.nc out.nc 

Python 解决方案 最后,我最近发现了一个很棒的新 python 包 PYGEODE,它可以让您轻松打开 netcdf 文件、计算时间或空间平均值(正确!)并剪下 lat-lon 框并在地图上打印。在这里找到它:

https://github.com/pygeode/pygeode

于 2017-09-15T09:20:19.167 回答