Skip to content

Deprecate validate parameter on Dataset - #961

Open
ecomodeller wants to merge 2 commits into
mainfrom
remove-validate-parameter
Open

Deprecate validate parameter on Dataset#961
ecomodeller wants to merge 2 commits into
mainfrom
remove-validate-parameter

Conversation

@ecomodeller

Copy link
Copy Markdown
Member

Summary

  • Deprecate validate=False on Dataset() and Dataset.from_numpy() with a FutureWarning — Dataset now always validates consistency of its DataArrays
  • Remove all internal validate=False calls (~25 sites)
  • Fix bugs in _is_compatible:
    • geometry compared to itself (self.geometry == self.geometry) instead of other.geometry
    • start_time comparison crashed on relative time axes (TimedeltaIndex) — now compares time[0] directly
    • hasattr(__, "__eq__") was always True — now only runs value comparison for geometries that override __eq__

Validation overhead is ~33µs per Dataset creation (benchmarked) — negligible vs I/O.

Dataset now always validates that its DataArrays have compatible
shape, time, geometry, and dims. The validate parameter is deprecated
with a FutureWarning when passed as False.

Also fixes bugs in _is_compatible:
- geometry was compared to itself instead of the other DataArray's
- start_time comparison failed for relative time axes (TimedeltaIndex)
- hasattr(__eq__) was always True (every object has __eq__)
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.

1 participant