Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Add bounds fails with coordinates crossing the antimeridian or the Greenwich meridian.

オープン
#384 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

@aulemahal がすでに取り組んでいます。

2022年12月14日 から。

評価

この issue はまだ評価されていません。

説明

bug

Yet another bug with .cf.add_bounds... This one was already present before the 2D addition, but it would have been quite infrequent with 1D coordinates.

The interpolation / extrapolation estimates are not aware of the cyclic nature of the longitude.

MWE:

import xarray as xr
import cf_xarray

ds = xr.Dataset(
    {'data': (('x', 'y'), np.ones((3, 3)))},
    coords={
        'x': [1, 2, 3],
        'y': [1, 2, 3],
        'lon': (('x',), [170, -170, -150], {'units': 'degrees_east'}),
        'lat': (('y',), [-10, 0, 10], {'units': 'degrees_north'}),
    },
)

ds.cf.add_bounds(('lon', 'lat')).lon_bounds

yields:

array([[ 340.,    0.],
       [   0., -340.],
       [-160., -140.]])

but we would expect:

array([[ 160.,    0.],
       [   0., -160.],
       [-160., -140.]])

Sadly, a quick internet search hasn't given me any pointers towards tools that already take this into account, except for projection-based tools (like pyproj).

We could have a check for "longitude" that looks for jumps and wraps the coordinates, but that jump threshold would be arbitrary. It's nonetheless the simplest way out I see, before parsing grid_mapping into pyproj objects.

主要言語
Python
スター
181
フォーク
49
平均マージ
43分
マージ済み PR(30日)
1

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

xarray-contrib/cf-xarray のほかの issue

xarray-contrib/cf-xarray の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。