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

У меня есть переменная 3D 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, они приветствуются.


person 11162273    schedule 29.03.2019    source источник


Ответы (1)


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

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

ncks -v TOTALRAIN --msa_usr_rdr -d time, 1364 -d time, 364 in.nc shift.nc

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

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

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

...Генри

person Henry Fey    schedule 31.03.2019