緯度/経度のグリッド解像度が異なる2つの異なるxarrayデータセットがあります。私はより高い解像度で1つのxarrayと同じ解像度に低い解像度で1つのxarrayをregridしたい。いくつかの例が見つかりました(例:http://earthpy.org/interpolation_between_grids_with_basemap.html)が、私にとってはうまくいきません。ここで私はテストのために作られたという一例です:Basemapを使用した2つのxarrayデータセット間の補間
import numpy as np
import xarray as xray
import mpl_toolkits.basemap
var1=xray.DataArray(np.random.randn(len(np.linspace(40.5,49.5,10)),len(np.linspace(-39.5,-20.5,20))),coords=[np.linspace(40.5,49.5,10), np.linspace(-39.5,-20.5,20)],dims=['lat','lon'])
(xlon, xlat)=np.meshgrid(np.linspace(-39.875,-20.125,80),np.linspace(40.125,49.875,40))
var2=xray.DataArray(-xlon**2+xlat**2,coords=[np.linspace(40.125,49.875,40),np.linspace(-39.875,-20.125,80)],dims=['lat','lon'])
mpl_toolkits.basemap.interp(var1,var1.lon,var1.lat,var2.lon,var2.lat,checkbounds=False,masked=False,order=0)
私はエラーを以下の取得:
ValueError: xout and yout must have same shape!
スクリーンショット:basemap.interp()があることをXOUTとYOUTを
を必要としません同じ形?だからvar2は正方形である必要がありますか?これは私のデータセットでは決してそうではありません!どうすればvar1をvar2と同じ解像度にすることができますか?
注:再分割後、var2に関するいくつかの条件を考慮して、var1のサブサンプルを行いたいとします。例:
var1_subset = var1.where(var2>1000)
したがって、補間中にグリッドポイントの損失を最小限に抑えたいと考えています。