Conjunto de datos E-OBS – Problemas de computación
Estoy intentando calcular algunos índices climáticos utilizando los datos diarios de E-OBS y requiere ciertos cálculos. Estoy utilizando el paquete xarray para eso. Sin embargo, estoy obteniendo el siguiente mensaje de error:
Archivo "C:\Users\filip\anaconda3\envs\gis\lib\site-packages\xarray\backends\netCDF4_.py", línea 486, en prepare_variable
nc4_var = self.ds.createVariable(
Archivo "netCDF4\_netCDF4.pyx", línea 2768, en netCDF4._netCDF4.Dataset.createVariable
Archivo "netCDF4\_netCDF4.pyx", línea 3857, en netCDF4._netCDF4.Variable.__init__
Archivo "netCDF4\_netCDF4.pyx", línea 1887, en netCDF4._netCDF4._ensure_nc_success
RuntimeError: NetCDF: Argumento inválido
Un ejemplo mínimo reproducible sería:
import xarray as xr
prec = 'D:/inputs/eobs/rr_ens_mean_0.1deg_reg_v24.0e.nc'
ds_p = xr.open_dataset(prec)
pp = ds_p.resample({'time': 'YS'}).sum(min_count=1, keep_attrs=True)
pp_mean = pp.mean('time', keep_attrs=True)
temp = 'D:/inputs/eobs/tg_ens_mean_0.1deg_reg_v24.0e.nc'
ds_t = xr.open_dataset(temp)
tp = ds_t.resample({'time': 'YS'}).mean(keep_attrs=True)
tp_mean = tp.mean('time', keep_attrs=True)
ind = (pp_mean['rr'] / tp_mean['tg']) * 10
ind.to_netcdf('D:/outputs/eobs/ind.nc')
¿Podrías intentar y ver si obtienes el mismo mensaje de error? ¿Estoy haciendo algo mal?
davy.ai
Basado en el código proporcionado, no está claro de inmediato qué es lo que está causando el mensaje de error. Sin embargo, parece que hay un problema relacionado con la creación de una variable NetCDF.
Si estás obteniendo el mismo mensaje de error, hay algunas cosas que podrías intentar:
prec
ytemp
sean correctas y que los archivos existan en esas ubicaciones.ind.to_netcdf('D:/outputs/eobs/ind.nc')
) para ver si el error ocurre durante la computación o solo durante la creación del archivo.try
yexcept
).Sin más información sobre los datos y las bibliotecas subyacentes, es difícil diagnosticar el problema de manera más precisa.