Pętla przez pliki netcdf i uruchamianie obliczeń - Python lub R

To jest mój pierwszy raz, kiedy korzystam z netCDF i staram się owinąć głowę wokół niego.

Mam wiele plików netcdf w wersji 3 (NOAA NARR air.2m dzienne średnie za cały rok). Każdy plik obejmuje rok od 1979 do 2012. Są to 349 x 277 siatek o rozdzielczości około 32 km. Dane zostały pobrane ztutaj.

Wymiar to czas (godziny od 1/1/1800), a moją interesującą zmienną jest powietrze. Muszę obliczyć łączne dni z temperaturą <0. Na przykład

    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

Muszę przechowywać te dane w nowym pliku netcdf. Jestem zaznajomiony z Pythonem i nieco z R. Jaki jest najlepszy sposób na codzienne wykonywanie pętli, sprawdzanie wartości z poprzednich dni i na tej podstawie wyprowadzanie wartości do nowego pliku netcdf o dokładnie tym samym wymiarze i zmiennej ... lub po prostu dodaj kolejną zmienną do oryginalnego pliku netcdf z wyjściem, którego szukam.

Czy najlepiej jest pozostawić wszystkie pliki osobno lub połączyć je? Połączyłem je z ncrcat i działało dobrze, ale plik to 2.3 gb.

Dzięki za wejście.

Mój obecny postęp w pythonie:

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

Aby lepiej zrozumieć, z jakim rodzajem struktury danych pracuję? Czy ['air'] klucz w powyższym przykładzie i [1,1,1] są również kluczami? aby uzyskać wartość 298,37473. Jak mogę następnie przejść przez [1,1,1]?

questionAnswers(3)

yourAnswerToTheQuestion