Я пытался построить векторы ветра, используя колчан в Python, я получил ошибку
TypeError: Аргумент 'x' имеет неверный тип (ожидается numpy .ndarray, получил DataArray)
Как решить эту проблему?
Мой код
import xarray as xr
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import numpy as np
#%% u wind import
fname='/home/SIMS/P1/uwind/*.nc'
du=xr.open_mfdataset(fname)
uwnd=du.uwnd
uwind=du.mean('time')
#%% v wind import
fname='/home/SIMS/P1/vwind/*.nc'
dv=xr.open_mfdataset(fname)
#ds=xr.open_mfdataset(fname,concat_dim="time")
vwnd=dv.vwnd
vwind=dv.mean('time')
lat = du.uwind.lat
lon = du.uwind.lon
u=uwind.uwnd[0,:,:]
v=vwind.vwnd[0,:,:]
print(lat.shape)
print(lon.shape)
print(u.shape)
print(v.shape)
lon,lat = np.meshgrid(lon,lat)
ax = plt.axes(projection=ccrs.Mercator(central_longitude=80.0, min_latitude=-10.0,
max_latitude=20.0, globe=None, latitude_true_scale=0.0))
ax.coastlines()
ax.coastlines()
ax.quiver(lat,lon,u,v)
plt.show()
в форме широты, долготы, буквы u и v следующим образом
(15,)
( 73,)
(15, 73)
(15, 73)
lon
lon Out [192]: массив ([[50., 52.5, 55., ..., 225., 227.5, 230.], [50., 52.5, 55., ..., 225., 227.5, 230.], [50. , 52.5, 55., ..., 225., 227.5, 230.], ..., [50., 52.5, 55., ..., 225., 227.5, 230.], [50., 52.5 , 55., ..., 225., 227.5, 230.], [50., 52.5, 55., ..., 225., 227.5, 230.]], dtype = float32)
Он рисует чистое изображение без векторов ветра