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

问题描述

在我使用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