Hello People,
Does anyone come across this type of problem while saving xarray dataset to netcdf file?
<xarray.Dataset>
Dimensions: (time: 17518, y: 900, x: 900)
Coordinates:
* time (time) datetime64[ns] 2006-01-01T00:45:00 ... 2021-12-31T23:50:00
* y (y) float64 -4.658e+06 -4.657e+06 ... -3.76e+06 -3.759e+06
* x (x) float64 -5.23e+05 -5.22e+05 -5.21e+05 ... 3.75e+05 3.76e+05
Data variables:
RW (time, y, x) float32 dask.array<chunksize=(1, 900, 900), meta=np.ndarray>
Attributes:
radarid: 10000
formatversion: 2
radolanversion: 01.01.00
radarlocations: ['bln', 'drs', 'eis', 'emd', 'ess', 'fbg', 'fld', 'fra',...
When I tried to save xarray dataset to netcdf like below. I get the following error.
ds.to_netcdf("D:/Sandeep/Thesis/Data/dsM.nc")
Error:
ds.to_netcdf("D:/Sandeep/Thesis/Data/dsM.nc", engine="h5netcdf", invalid_netcdf=True)
Traceback (most recent call last):
File "C:\Users\Admin\AppData\Local\Temp\ipykernel_7676\1512561570.py", line 1, in <cell line: 1>
ds.to_netcdf("D:/Sandeep/Thesis/Data/dsM.nc", engine="h5netcdf", invalid_netcdf=True)
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\core\dataset.py", line 1899, in to_netcdf
return to_netcdf( # type: ignore # mypy cannot resolve the overloads:(
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\backends\api.py", line 1230, in to_netcdf
dump_to_store(
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\backends\api.py", line 1277, in dump_to_store
store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\backends\common.py", line 266, in store
variables, attributes = self.encode(variables, attributes)
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\backends\common.py", line 355, in encode
variables, attributes = cf_encoder(variables, attributes)
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\conventions.py", line 868, in cf_encoder
new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\conventions.py", line 868, in <dictcomp>
new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\conventions.py", line 273, in encode_cf_variable
var = coder.encode(var, name=name)
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\coding\variables.py", line 169, in encode
if not pd.isnull(fill_value):
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
ds.RW.to_netcdf("D:/Sandeep/Thesis/Data/dsM.nc", engine="h5netcdf", invalid_netcdf=True)
Traceback (most recent call last):
File "C:\Users\Admin\AppData\Local\Temp\ipykernel_7676\1590374310.py", line 1, in <cell line: 1>
ds.RW.to_netcdf("D:/Sandeep/Thesis/Data/dsM.nc", engine="h5netcdf", invalid_netcdf=True)
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\core\dataarray.py", line 3752, in to_netcdf
return to_netcdf( # type: ignore # mypy cannot resolve the overloads:(
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\backends\api.py", line 1230, in to_netcdf
dump_to_store(
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\backends\api.py", line 1277, in dump_to_store
store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\backends\common.py", line 266, in store
variables, attributes = self.encode(variables, attributes)
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\backends\common.py", line 355, in encode
variables, attributes = cf_encoder(variables, attributes)
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\conventions.py", line 868, in cf_encoder
new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\conventions.py", line 868, in <dictcomp>
new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\conventions.py", line 273, in encode_cf_variable
var = coder.encode(var, name=name)
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\coding\variables.py", line 169, in encode
if not pd.isnull(fill_value):
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
ds['RW'][0].plot()
Out[46]: <matplotlib.collections.QuadMesh at 0x1eb4091f250>
ds
Out[47]:
<xarray.Dataset>
Dimensions: (time: 17518, y: 900, x: 900)
Coordinates:
* time (time) datetime64[ns] 2006-01-01T00:45:00 ... 2021-12-31T23:50:00
* y (y) float64 -4.658e+06 -4.657e+06 ... -3.76e+06 -3.759e+06
* x (x) float64 -5.23e+05 -5.22e+05 -5.21e+05 ... 3.75e+05 3.76e+05
Data variables:
RW (time, y, x) float32 dask.array<chunksize=(1, 900, 900), meta=np.ndarray>
Attributes:
radarid: 10000
formatversion: 2
radolanversion: 01.01.00
radarlocations: ['bln', 'drs', 'eis', 'emd', 'ess', 'fbg', 'fld', 'fra',...
ds.to_netcdf("D:/Sandeep/Thesis/Data/dsM.nc")
Traceback (most recent call last):
File "C:\Users\Admin\AppData\Local\Temp\ipykernel_7676\2740476879.py", line 1, in <cell line: 1>
ds.to_netcdf("D:/Sandeep/Thesis/Data/dsM.nc")
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\core\dataset.py", line 1899, in to_netcdf
return to_netcdf( # type: ignore # mypy cannot resolve the overloads:(
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\backends\api.py", line 1230, in to_netcdf
dump_to_store(
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\backends\api.py", line 1277, in dump_to_store
store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\backends\common.py", line 266, in store
variables, attributes = self.encode(variables, attributes)
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\backends\common.py", line 355, in encode
variables, attributes = cf_encoder(variables, attributes)
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\conventions.py", line 868, in cf_encoder
new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\conventions.py", line 868, in <dictcomp>
new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\conventions.py", line 273, in encode_cf_variable
var = coder.encode(var, name=name)
File "C:\Users\Admin\anaconda3\envs\wradlib\lib\site-packages\xarray\coding\variables.py", line 169, in encode
if not pd.isnull(fill_value):
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()