Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Consider adding opt-in support for circular axes when calling `bounds_to_vertices` (related to #594)

Đang mở
#596 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
38/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
python
Lĩnh vực
data

Hướng nghiên cứu

Start by reading the bounds_to_vertices implementation and the context in issues #594 and #595. Define the expected behavior for circular_period and start, including seam rotation and periodic axes beyond longitude. Done means an opt-in API handles mixed circular coordinates without NotImplementedError while preserving existing ascending and descending behavior.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Description

The latest bounds_to_vertices() function in cf-xarray v0.10.7+ only handles core dimensions that are in ascending or descending order. Core dims that are in mixed order instead raise a NotImplementedError #595 with a message for the user to normalize coordinates to a monotonic convention (related comment).

Examples
  • Ascending

    [0, 1, 2, ..., 357, 358, 359]
    
  • Descending

    [359, 358, 357, ..., 2, 1, 0]
    
  • Mixed (wraps at seam)

    [0, 1, 2, ..., 179, -180, -179, ..., -1]
    

bounds_to_vertices() works in the first two cases but fails in the third.


Proposed solution

For a long-term solution, it might be worth considering opt-in support for circular axes, e.g.:

bounds_to_vertices(..., circular_period=360.0, start=None)

With circular_period set, cf-xarray could:

  • Detect circular monotonicity
  • Rotate away from the seam
  • Proceed safely as if the dimension were monotonic

While longitude (circular_period=360.0) is the most common use case, the same approach could generalize to other periodic axes (e.g. angles, phases).

Why it is useful

  • Users working with model output that mixes 0–360 and −180–180 conventions may encounter NotImplementedError today and must manually normalize coordinates before downstream operations.
  • This affects packages such as xESMF, which rely on bounds_to_vertices() but do not implement detection/normalization for circular axes.
  • I’ve opened a related xESMF issue for visibility: https://github.com/pangeo-data/xESMF/issues/454
Ngôn ngữ chính
Python
Star
181
Fork
49
Merge trung bình
43 phút
Pull request đã merge (30 ngày)
1

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của xarray-contrib/cf-xarray

Tất cả issue của xarray-contrib/cf-xarray

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.