NCL-Есть ли способ вычесть одну и ту же переменную, разные значения (тот же файл) из информации индекса?

У меня есть трехмерная переменная nc PP = (время, широта, долгота) накопленных осадков за весь год, и я хочу рассчитать дневные значения.

Я хочу сделать что-то в этом примере, но не могу найти никаких примеров.

Я попытался сделать цикл, в котором вычитание должно быть между значениями с [индекс +1] минус значение [индекс] (как показано ниже)

t = f->time(:)   ;size = 365

pp = f->TOTALRAIN(:,:,:) ; time, lat, lon dimensions


do i = 0,dimsizes(t)-1

DailyPp = pp(i,:,:) - pp(i-1,:,:)

end do

но этот путь показывает ошибку.

Мне нужны ежедневные значения и только накопленные осадки в качестве входной информации, и я подумал, что такой цикл должен быть лучшим способом.

Как я могу сделать расчет из переменной???

Я работаю с ncl, но если у вас есть предложения cdo или nco, они приветствуются.

2 ответа

Вы можете сделать это с помощью двух команд оболочки NCO

команда ниже сдвигает записи на единицу

ncks -v TOTALRAIN --msa_usr_rdr -d время,1364-е время,364 in.nc shift.nc

теперь используйте ncbo, чтобы найти разницу

ncbo -v TOTALRAIN shift.nc in.nc diff.nc

теперь в файле netcdf diff должна быть указана ежедневная pp. Окончательная запись TOTALRAIN в этом файле будет равна нулю

...Генри

В cdo вы можете дезагрегировать накопленные переменные, используя

      cdo deltat in.nc diff.nc 

Это связано с этим вопросом , пожалуйста, обратитесь к ответам там для получения более подробной информации, включая вставку начального временного шага.

Другие вопросы по тегам