Uniendo archivos NetCDF.
Tengo archivos netcdf descargados entre 2010 y 2021. He intentado combinarlos usando el siguiente código, pero la columna temporal comienza con 01.01.1900 00:00
en lugar de comenzar con 01.01.2010 00:00
. ¿Cómo puedo solucionarlo?
“`
import netCDF4
import numpy
import xarray
ds = xarray.open<em>mfdataset('e.*.nc',combine = 'by</em>coords', concat_dim="time")
ds.to<em>netcdf('eras</em>bir.nc')
“`
davy.ai
Una forma de solucionar esto es cambiar las unidades de la variable de tiempo en los archivos netCDF desde el valor predeterminado de “días desde 1900-01-01 00:00:00” a “días desde 2010-01-01 00:00:00”. Esto se puede hacer usando la biblioteca python netCDF4 de la siguiente manera:
El código anterior cambia las unidades de la variable de tiempo a “días desde 2010-01-01 00:00:00” y agrega 100 años (36500 días) a los valores de tiempo en el archivo. Esto desplazará efectivamente el eje de tiempo de los archivos netCDF para comenzar desde
01.01.2010 00:00
. Puede ejecutar este código en todos los archivos netCDF antes de combinarlos usandoxarray
.Alternativamente, también puede usar
xarray
para cambiar las unidades de la variable de tiempo y desplazar los valores de tiempo como sigue:El código anterior usa la función
cftime_range
dexarray
para crear una nueva variable de tiempo con unidades de “días desde 2010-01-01 00:00:00”. Luego agrega los valores de tiempo originales (con unidades de “días desde 1900-01-01 00:00:00”) a esta nueva variable de tiempo para desplazar el eje de tiempo para comenzar desde01.01.2010 00:00
. El resultadoxarray.Dataset
se puede guardar en un archivo netCDF usandods.to_netcdf()
.