Skip to content

Conversation

@ESadek-MO
Copy link
Contributor

@ESadek-MO ESadek-MO commented Oct 22, 2025

  • rolling_window
  • intersection

Interpolation and regridding are both quite involved. For completion sake, I would've liked to get interpolation in, but I don't think it's worth the time it would take to get it right. Some of the underlying logic just doesn't work with dataless cubes, and would need chasing around the place.

So for now, I think this is it for single operations. If there's a call in the future for interpolate or regridding (the latter seems particularly unlikely), then we can work towards them then.

@codecov
Copy link

codecov bot commented Oct 23, 2025

Codecov Report

❌ Patch coverage is 89.28571% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 90.31%. Comparing base (9c06cca) to head (80597ff).

Files with missing lines Patch % Lines
lib/iris/cube.py 89.28% 1 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6757      +/-   ##
==========================================
+ Coverage   90.29%   90.31%   +0.01%     
==========================================
  Files          91       91              
  Lines       24656    24665       +9     
  Branches     4618     4620       +2     
==========================================
+ Hits        22264    22277      +13     
+ Misses       1620     1618       -2     
+ Partials      772      770       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ESadek-MO ESadek-MO marked this pull request as ready for review October 23, 2025 21:30
lib/iris/cube.py Outdated
"""
if self.is_dataless():
raise iris.exceptions.DatalessError("intersection")
# if self.is_dataless():
Copy link
Contributor

Choose a reason for hiding this comment

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

Remember to nuke this. 🙂


def test_weights_arr(self):
@pytest.mark.parametrize("dataless", [True, False])
def test_weights_arr(self, dataless):
Copy link
Contributor

Choose a reason for hiding this comment

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

This test doesn't assert anything for dataless cubes. Perhaps don't parametrize it for dataless?

Copy link
Contributor

Choose a reason for hiding this comment

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

Actually, that's not true as it is asserting the units.
However, the test is for the "weights array", so I still think it is a pointless test for dataless.


def test_weights_cube(self):
@pytest.mark.parametrize("dataless", [True, False])
def test_weights_cube(self, dataless):
Copy link
Contributor

Choose a reason for hiding this comment

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

Same as previous comment - this test doesn't assert anything for dataless cubes.

@ESadek-MO ESadek-MO moved this to 👀 In Review in 🦌 Iris 3.14 Oct 28, 2025
@ESadek-MO ESadek-MO self-assigned this Oct 28, 2025
@ESadek-MO ESadek-MO changed the title Added dataless rolling window, _intersect and interpolate Added dataless rolling window, _intersect Oct 28, 2025
@stephenworsley stephenworsley moved this from 👀 In Review to 🚧 Blocked in 🦌 Iris 3.14 Oct 29, 2025
@stephenworsley stephenworsley moved this from 🚧 Blocked to 👀 In Review in 🦌 Iris 3.14 Oct 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status
Status: 👀 In Review

Development

Successfully merging this pull request may close these issues.

2 participants