Как преобразовать годовые данные NetCDF в ежедневные из командной строки?

#netcdf #netcdf4 #nco #cdo-climate

#netcdf #netcdf4 #сержант #cdo-климат

Вопрос:

Прежде чем я прибегну к использованию 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.

Ответ №1:

Возможно, существует более эффективный способ сделать это. Но вы могли бы сначала объединить исходный файл, а затем второй, который является первым, но время сдвинуто на последний день года. Затем временная интерполяция:

 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
  

Комментарии:

1. да, почему я не подумал использовать inttime таким образом? спасибо за отличный ответ.