Me preguntaba cómo cambiar el dtype de precipitación de int16 a float64 en el siguiente archivo NetCDF con estas dimensiones y variables, y reescribirlo como nuevo archivo NetCDF;
<class 'netCDF4._netCDF4.Dataset'>
root group (NETCDF4 data model, file format HDF5):
Conventions: CF-1.7
dimensions(sizes): y(512), n2(2), x(512)
variables(dimensions): int64 valid_time(), int64 start_time(), float64 y(y), float64
y_bounds(y,n2), float64 x(x), float64 x_bounds(x,n2), float64 precipitation(y,x), int8 proj()
groups:
Probé los siguientes códigos, pero no funcionaron;
import xarray as xr
ds=xr.open_dataset('file.nc')
ds.variables['precipitation'].values = ds.variables['precipitation'].values.astype('float64')
ds.to_netcdf('newfile.nc)
En el script anterior no hay error pero el dtype no cambia.
También utilicé este script, pero no funcionó;
import netCDF4 as nc
ds=nc.Dataset('file.nc')
np.array(ds_time.variables['precipitation'])=ds.createVariable('precipitation','f8', ('y','x'))
¿Podría alguien (@snowman2) ayudarme con este problema?