def test_aggregate_w_nanmean(dataarray_2d_ones, dataarray_2d_ones_nan): expected_result = np.array([[1, 1], [1, 1]], dtype=np.float) blocks = [("i", 3), ("j", 3)] data = dataarray_2d_ones_nan weights = dataarray_2d_ones a = aggregate_w_nanmean(data, weights, blocks) assert_allclose(a.data.compute(), expected_result) data = dataarray_2d_ones_nan weights = dataarray_2d_ones_nan a = aggregate_w_nanmean(data, weights, blocks) assert_allclose(a.data.compute(), expected_result) with pytest.raises(RuntimeError): data = dataarray_2d_ones weights = dataarray_2d_ones_nan a = aggregate_w_nanmean(data, weights, blocks)
def custom_coarse(a, area, bins, mask): a = a.where(mask) a_coarse = aggregate_w_nanmean(a, area, bins) return a_coarse