Дублирование значений данных NETCDF по временным шагам с использованием R - PullRequest
0 голосов
/ 11 июля 2020

У меня есть 6-hourly данные, и я хотел бы 'duplicate' это hourly данные.

Первый 6-часовой временной интервал начинается с 2017-01-01 00:00:00, а следующий 6-часовой временной шаг начинается на 2017-01-01 06:00:00. Я хотел бы скопировать значение 2017-01-01 00:00:00 и присвоить его следующему 5 time steps и так далее ...

Выход должен соответствовать этому шаблону (только иллюстрация):

Date       Time     Value
2017-01-01 00:00:00 0.00012120
2017-01-01 01:00:00 0.00012120
2017-01-01 02:00:00 0.00012120
2017-01-01 03:00:00 0.00012120
2017-01-01 04:00:00 0.00012120
2017-01-01 05:00:00 0.00012120

.
.
.

2019-12-01 00:00:00 0.0024270
2019-12-01 01:00:00 0.0024270
2019-12-01 02:00:00 0.0024270
2019-12-01 03:00:00 0.0024270
2019-12-01 04:00:00 0.0024270
2019-12-01 05:00:00 0.0024270

.
.
.

Сделайте то же самое для следующего 6-часового временного шага, который указан в прикрепленном файле 2017-01-01 06:00:00.

Предположим, что ежечасное количество осадков остается постоянным в течение 6-часового периода. Таким образом, каждый час в 6-часовой период имеет одинаковое количество осадков.

Образцы данных NETCDF находятся здесь

1 Ответ

0 голосов
/ 13 июля 2020

Сначала создайте 5 файлов NetCDF со сдвигом времени на 1, 2, 3, 4 и 5 часов:

cdo -shifttime,1hour testing.nc testing1.nc
cdo -shifttime,2hour testing.nc testing2.nc
cdo -shifttime,3hour testing.nc testing3.nc
cdo -shifttime,3hour testing.nc testing4.nc
cdo -shifttime,4hour testing.nc testing5.nc

Затем объедините их, используя время слияния:

cdo mergetime testing*.nc out.nc
...