【发布时间】:2017-01-31 21:16:32
【问题描述】:
我有一年的数据作为每月的 NetCDF 文件,我想将它们变成每日文件。我知道我可以使用 ncks 提取 24 小时,像这样
ncks -d time,0,23 -o output.nc input.nc
但我想自动将整个月分成几天,而不必担心每个月的天数等等。是否有捷径可寻? (我当然可以编写一个调用 ncks 的 python 脚本或类似的脚本,但避免这种情况会更优雅。)
【问题讨论】:
我有一年的数据作为每月的 NetCDF 文件,我想将它们变成每日文件。我知道我可以使用 ncks 提取 24 小时,像这样
ncks -d time,0,23 -o output.nc input.nc
但我想自动将整个月分成几天,而不必担心每个月的天数等等。是否有捷径可寻? (我当然可以编写一个调用 ncks 的 python 脚本或类似的脚本,但避免这种情况会更优雅。)
【问题讨论】:
NCO -d hyperslab 开关可以理解 UDUnits 格式的日期。如果您的输入文件包含格式良好的时间单位属性,那么编写十二个命令应该没有问题,每个命令都带有一个日期超平板,例如
ncks -d time,1918-01-01,1918-01-31 in.nc jan.nc
除此之外,NCO 目前没有更优雅的方法支持。
【讨论】:
我不清楚您的月度文件是否包含每日数据。即您有 12 个文件,每个文件包含每日(或更精细)时间分辨率信息。如果是这种情况,那么我认为使用 cdo 使用
您想要做的事情很容易cdo splitday input.nc output.nc
你最终会得到许多文件,每个文件都有一天的数据,每个月的天数会自动为你处理。
【讨论】: