使用nco将具有月数据的NetCDF文件转换为日文件

Using nco to convert NetCDF file with monthly data into daily files

我有一年的数据作为月度 NetCDF 文件,我想将它们转换为每日文件。我知道我可以使用 ncks 提取 24 小时,像这样

ncks -d time,0,23 -o output.nc input.nc

但我想自动将整个月分成几天,而不必担心每个月的天数等等。是否有捷径可寻? (我当然可以编写一个 python 脚本或类似的调用 ncks 的脚本,但避免这种情况会更优雅。)

NCO -d hyperslab 开关理解 UDUnits 格式的日期。如果您的输入文件包含 well-formatted 时间单位属性,则编写 12 个命令(每个命令都带有一个日期 hyperslab,如

应该没有问题
ncks -d time,1918-01-01,1918-01-31 in.nc jan.nc

除此之外,NCO目前还没有更优雅的方法支持。

根据问题,我不清楚您的月度文件是否包含每日数据。即您有 12 个文件,每个文件包含每日(或更精细的)时间分辨率信息。如果是这种情况,那么我认为使用

使用 cdo 可以很容易地做到这一点
cdo splitday input.nc output.nc 

你最终会得到一些文件,每个文件都有一天的数据,每个月的天数是自动为你处理的。