Интерполировать данные на многомерную координатуPython

Программы на Python
Anonymous
 Интерполировать данные на многомерную координату

Сообщение Anonymous »

Моя проблема включает в себя ксаррейский данных, но я также заинтересован в векторизованных решениях Numpy. Координация LEV соответствует модели координаты, которую я преобразовал в геометрическую высоту, и которая зависит от времени и пространства. Поэтому массив данных имеет координату «высота» с размерами (время, lat, lon, lev). < /P>
xarray.DataArray
'T'

time: 120 lev: 32 lat: 192 lon: 288

268.5 268.5 268.5 268.5 268.5 268.5 ... 256.1 256.1 256.1 256.1 256.1
Coordinates:
lat
(lat)
float64
-90.0 -89.06 -88.12 ... 89.06 90.0
lon
(lon)
float64
0.0 1.25 2.5 ... 356.2 357.5 358.8
lev
(lev)
float64
3.643 7.595 14.36 ... 976.3 992.6
time
(time)
object
2025-02-01 00:00:00 ... 2035-01-...
height
(lev, time, lat, lon)
float64

height_levels=[1,2,3,4]

da_arr1=[]
for i in T.time:
da_arr2=[]
for j in T.lat:
da_arr3=[]
for k in T.lon:
da=T.sel(time=i,lat=j,lon=k)
da=da.swap_dims(lev='height').interp(height_levels)
da_arr3.append(da)
da_arr2.append(xr.concat(da_arr3,'lon'))
da_arr1.append(xr.concat(da_arr2,'lat'))
result=xr.concat(da_arr1,'time'))


Подробнее здесь: https://stackoverflow.com/questions/793 ... coordinate

Вернуться в «Python»