示例#1
0
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