Recorra los archivos de netcdf y ejecute los cálculos: Python o R

Esta es la primera vez que uso netCDF y estoy tratando de envolver mi cabeza trabajando con él.

Tengo varios archivos netcdf de la versión 3 (promedios diarios de NOAA NARR air.2m para todo un año). Cada archivo abarca un año entre 1979 y 2012. Son rejillas de 349 x 277 con una resolución de aproximadamente 32 km. Los datos fueron descargados deaquí.

La dimensión es el tiempo (horas desde el 1/1/1800) y mi variable de interés es el aire. Necesito calcular los días acumulados con una temperatura <0. Por ejemplo

    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

Necesito almacenar estos datos en un nuevo archivo netcdf. Estoy familiarizado con Python y un poco con R. ¿Cuál es la mejor manera de recorrer cada día, verificar el valor de los días anteriores y, en base a eso, generar un valor en un nuevo archivo netcdf con la misma dimensión y variable ... . o quizás simplemente agregue otra variable al archivo netcdf original con la salida que estoy buscando.

¿Es mejor dejar todos los archivos separados o combinarlos? Los combiné con ncrcat y funcionó bien, pero el archivo es de 2.3 gb.

Gracias por el aporte.

Mi progreso actual en 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

Para ayudarme a entender mejor con qué tipo de estructura de datos estoy trabajando? ¿Es ['aire'] la clave en el ejemplo anterior y [1,1,1] también son claves? para obtener el valor de 298.37473. ¿Cómo puedo entonces pasar por [1,1,1]?

Respuestas a la pregunta(3)

Su respuesta a la pregunta