Skip to content

Strengthen grid parser format checks#1478

Draft
rajeeja wants to merge 1 commit intomainfrom
rajeeja/grid_parser_checks
Draft

Strengthen grid parser format checks#1478
rajeeja wants to merge 1 commit intomainfrom
rajeeja/grid_parser_checks

Conversation

@rajeeja
Copy link
Copy Markdown
Contributor

@rajeeja rajeeja commented Mar 30, 2026

Closes #238 by tightening internal grid format detection and adding focused parser tests.

@rajeeja rajeeja self-assigned this Mar 30, 2026
@rajeeja rajeeja requested a review from erogluorhan March 30, 2026 21:29
@rljacob rljacob requested a review from Copilot April 1, 2026 15:36
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Tightens _parse_grid_type format detection by introducing per-format helper checks and adds targeted tests to ensure supported formats are correctly identified while incomplete signals are rejected.

Changes:

  • Added helper predicates (_is_exodus, _is_scrip, _is_mpas, etc.) and refactored _parse_grid_type to use them.
  • Expanded supported-format detection to include additional grid specs (e.g., GEOS-CS, ICON, FESOM2) via stricter checks.
  • Added new unit tests covering supported formats, structured grids, and rejection of incomplete format signals.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
uxarray/io/utils.py Adds per-format detection helpers and refactors _parse_grid_type to use stricter, format-specific checks.
test/io/test_utils.py Adds focused tests for correct format detection and for rejecting incomplete/ambiguous datasets.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 78 to 80
def _parse_grid_type(dataset):
"""Checks input and contents to determine grid type. Supports detection of
UGrid, SCRIP, Exodus, ESMF, and shape file.
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The _parse_grid_type docstring is out of sync with the implementation: it mentions only UGrid/SCRIP/Exodus/ESMF/shapefile support, but the function now also detects MPAS, GEOS-CS, ICON, FESOM2, and Structured (and there is no shapefile branch here). It also describes returning only mesh_type: str, while the function returns a 3-tuple (mesh_type, lon_name, lat_name). Please update the docstring accordingly so callers/tests have an accurate contract.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

More comprehensive checks for grid type in parse_grid_type

2 participants