如何从命令行将年度 netCDF 数据转换为每日?

How to convert annual netCDF data to daily from the command line?

在使用 Python 之前,我想知道是否有一种简单的方法可以从命令行将年度 netCDF 文件转换为文件简单地通过复制(包括闰年)使用每日数据,即每个年度值使用适当的日期戳复制 365 (366) 次。

在文件中,每个数据值都标有每年第一天的日期:

cdo showdate population_ssp2soc_0p5deg_annual_2006-2100_density.nc4
2006-01-01  2007-01-01  2008-01-01  2009-01-01  2010-01-01  ...etc

我知道这似乎是一件奇怪的事情(文件大小将大 365.25 倍!),但我想将数据读入使用每日时间步长的 Fortran 程序并且不想搞乱在 Fortran 代码中包含日期。

可能有更有效的方法来执行此操作。但是您可以先合并原始文件,然后合并第一个文件,但时间转移到一年的最后一天。然后时间插值:

cdo -mergetime population_ssp2soc_0p5deg_annual_2006-2100_density.nc4 -shifttime,-1day -shifttime,1year population_ssp2soc_0p5deg_annual_2006-2100_density.nc4 temp.nc

cdo inttime,2006-01-01,12:00:00,1day temp.nc outfile.nc