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

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

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

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

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, они приветствуются.

1 Ответ

1 голос
/ 31 марта 2019

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

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

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

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

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

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

... Генри

...