Перебирайте файлы netcdf и запускайте вычисления - Python или R
Это мой первый раз, когда я использую netCDFя пытаюсь обернуть голову вокруг работы с ним.
У меня есть несколько файлов netcdf версии 3 (ежедневные средние значения NOAA NARR air.2m за весь год). Каждый файл охватывает год в период с 1979 по 2012 год. Это сетки размером 349 x 277 с разрешением приблизительно 32 км. Данные были загружены сВот.
Измерение - это время (часы с 1 января 1800 года), а моя переменная интереса - воздух. Мне нужно рассчитать накопленные дни с температурой < 0. Например
Day 1 = +4 degrees, accumulated days = 0
Day 2 = -1 degrees, accumulated days = 1
Day 3 = -2 degrees, accumulated days = 2
Day 4 = -4 degrees, accumulated days = 3
Day 5 = +2 degrees, accumulated days = 0
Day 6 = -3 degrees, accumulated days = 1
Мне нужно хранить эти данные в новом файле netcdf. Я знаком с Python и немного с R. Что является лучшим способом циклически проходить через каждый день, проверять значение предыдущих дней и, основываясь на этом, выводить значение в новый файл netcdf с точно таким же измерением и переменной ... или просто добавьте другую переменную в исходный файл netcdf с выводом I 'ищу
Лучше ли оставить все файлы отдельно или объединить их? Я объединил их с ncrcat, и он работал нормально, но файл 2.3 ГБ.
Спасибо за вклад.
Мой текущий прогресс в Python:
import numpy
import netCDF4
#Change my working DIR
f = netCDF4.Dataset('air7912.nc', 'r')
for a in f.variables:
print(a)
#output =
lat
long
x
y
Lambert_Conformal
time
time_bnds
air
f.variables['air'][1, 1, 1]
#Output
298.37473
Чтобы лучше понять, с какой структурой данных я работаю? Является ['воздух'] ключ в приведенном выше примере и [1,1,1] также являются ключами? чтобы получить значение 298,37473. Как я могу затем пройти через [1,1,1]?