valor de cftime incorrecto de un archivo netcdf
Estoy abriendo un archivo netcdf con xarray. ‘exp_date’ es una de las dimensiones en el NETCDF, y su descripción en el netcdf es la siguiente:
double exp_date(exp_date) ;
exp_date:calendar = "noleap" ;
exp_date:long_name = "time" ;
exp_date:standard_name = "time" ;
exp_date:units = "days since 2021-09-30 00:00:00" ;
“exp_date” tiene solo un valor: 153675.
El problema es que cuando el archivo es analizado con xarray, proporciona el siguiente valor cftime para exp_date:
<xarray.dataarray 'exp_date'="" (exp_date:="" 1)="">
array([cftime.DatetimeNoLeap(2442, 10, 10, 0, 0, 0, 0)], dtype=object)
Coordinates:
* exp_date (exp_date) object 2442-10-10 00:00:00
Attributes:
long_name: time
standard_name: time
El valor “exp_date” en el xarray analizado (es decir, 2442, 10, 10) no es el resultado de sumar 153675 días a 2021-9-30.
No sé cómo resolver esto.
Saludos.</xarray.dataarray>
davy.ai
Estimado usuario,
Gracias por tu pregunta. Parece que hay un problema con el análisis de la dimensión de tiempo ‘exp_date’ en el archivo netCDF utilizando xarray.
El problema podría estar relacionado con el hecho de que el calendario utilizado en el archivo netCDF es ‘noleap’, mientras que xarray podría estar utilizando por defecto un calendario diferente (por ejemplo, ‘standard’). Para resolver este problema, puedes intentar convertir explícitamente la coordenada ‘exp_date’ en un objeto cftime utilizando el calendario ‘noleap’, de la siguiente manera:
Esto debería darte el resultado esperado de que ‘exp_date’ sea 153675 en el conjunto de datos xarray analizado.
Si esto no funciona, no dudes en proporcionar más detalles o muestras del archivo netCDF, y estaremos encantados de ayudarte aún más.
Atentamente,
Experto en IT.