2017-01-12 1 views
1

最近私はBasemapをCartopyに切り替えました。風ベクトルをプロットするのに問題があります。私はエクステント[-180,180,10,90]の北極立体視投影(central_longitude = -100.0)を得ました。私は0.5、緯度と経度ごとにu、vの風の値を持つnetCDFデータセットを持っています。風車の風の棘とベクトル - regrid_shapeの問題

スライスを使用してバーブをプロットして、手動で特定の数をスキップすると(データがすべて濃すぎるため)、フィールドの正しい表現のように見えます(下の最初の画像を参照)。

sknum = 15 
skip=(slice(None,None,sknum),slice(None,None,sknum)) 
ax.barbs(lons[skip], lats[skip], u[skip],v[skip], length=6, 
      sizes=dict(emptybarb=0.25, spacing=.2, height=0.5), 
      zorder = 20, 
      linewidth=0.95, transform= ccrs.PlateCarree()) 

しかし、この方法は少し不自然に見え、極の近くで濃すぎます。 cartopyのregrid_shape機能を使用すると、同じベクタの行が何度も繰り返し表示される(第2のイメージ参照)エラーが発生します。

ax.barbs(lons, lats, u,v, length=6, 
     sizes=dict(emptybarb=0.25, spacing=.2, height=0.5), 
     zorder = 20, 
     linewidth=0.95, transform= ccrs.PlateCarree(), regrid_shape=20) 

これは、私が何か間違ったことをやっている。この投影下regrid_shapeためのバグで、および/または私は自然なベクトルを取得するための別の方法はありますか?

Manual skip image Regrid_Shape = 20 image

答えて

1

これは、この投影用極にベクターを形質転換する問題であると思われます。入力データから極点を削除すると、再分割は期待通りに機能します。とにかくポールで複数の値を持つベクトルフィールドをプロットするのは実際には意味がありません。特に、ポールが単一のポイントであるこの投影ではないので、ポールでデータを削除することで何もしないでください。

+0

優れていて、今すぐ完璧に動作します - ありがとう!おそらく、これは関数自体で扱うことも、ドキュメントで言及することもできますか?私は緯度/経度座標で再分析データ(CFSR)を使用しているので、これはあまりにもまれではないと思わない。 – MeteoMtl

関連する問題