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]?