user308827
user308827

Reputation: 21981

Value error in multiplying xarray variable with 2D numpy array

import xarray as xr
xr.open_dataset(path_netcdf, chunks={'time': 10})
flow_data = hndl_tran['val']
new_arr = flow_data * vba

I get this error:

*** ValueError: total size of new array must be unchanged

Here are the shapes of the 2 arrays:

flow_data.shape
(1165, 720, 1440)

vba.shape
(720L, 1440L)

How can I fix this error?

Upvotes: 0

Views: 618

Answers (2)

Maximilian
Maximilian

Reputation: 8520

Building on @maxymoo's answer, you want to convert to a DataArray, but also supply dims, so operations with other arrays will work flow_data = xr.DataArray(hndl_tran['val'], dims=['date', 'id']), replacing date & id with the appropriate names

Upvotes: 1

maxymoo
maxymoo

Reputation: 36545

Make your numpy into an xarray object before you do the multiplication:

flow_data = xr.DataArray(hndl_tran['val'])

or vice versa

flow_data = np.array(flow_data)

Upvotes: 1

Related Questions