Durchlaufen Sie netcdf-Dateien und führen Sie Berechnungen aus - Python oder R

Ich benutze netCDF zum ersten Mal und versuche, mich damit zu beschäftigen.

Ich habe mehrere Netcdf-Dateien der Version 3 (NOAA NARR air.2m Tagesdurchschnitt für ein ganzes Jahr). Jede Datei erstreckt sich von 1979 bis 2012 über ein Jahr. Es handelt sich um 349 x 277 Raster mit einer Auflösung von ca. 32 km. Daten wurden von heruntergeladenHier.

Die Dimension ist Zeit (Stunden seit dem 1.1.1800) und meine interessierende Variable ist Luft. Ich muss die akkumulierten Tage mit einer Temperatur <0 berechnen. Zum Beispiel

    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

Ich muss diese Daten in einer neuen netcdf-Datei speichern. Ich kenne Python und ein bisschen R. Wie kann ich jeden Tag am besten durchlaufen, den Wert der vorherigen Tage überprüfen und auf dieser Grundlage einen Wert in eine neue netcdf-Datei mit genau derselben Dimension und Variablen ausgeben ... Oder fügen Sie einfach eine andere Variable zur ursprünglichen netcdf - Datei mit der Ausgabe hinzu, nach der ich suche.

Ist es am besten, alle Dateien getrennt zu lassen oder zu kombinieren? Ich habe sie mit ncrcat kombiniert und es hat gut funktioniert, aber die Datei ist 2,3 GB groß.

Danke für die Eingabe.

Mein aktueller Fortschritt in 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

Um dies besser zu verstehen, mit welcher Art von Datenstruktur arbeite ich? Ist ['air'] der Schlüssel im obigen Beispiel und [1,1,1] sind auch Schlüssel? um den Wert von 298,37473 zu erhalten. Wie kann ich dann [1,1,1] durchlaufen?