Esempio n. 1
0
def test_linear_slope_raises_error(ts_annual_da):
    """Tests that error is raised for `linear_slope` when independent variable is
    in y position."""
    with pytest.raises(ValueError):
        data = ts_annual_da()
        x = data['time']
        y = data
        linear_slope(y, x, 'time')
Esempio n. 2
0
def test_linear_slope_time_conversion_accurate(ts_annual_da):
    """Tests that computed slope with cftime/datetime conversion is accurate."""
    data = ts_annual_da()
    data2 = data.copy()
    # Just create numeric time, e.g. time in years.
    data2['time'] = np.arange(data2.time.size)
    slope_cftime = linear_slope(data['time'], data, 'time')
    slope_ints = linear_slope(data2['time'], data2, 'time')
    diff = slope_cftime - slope_ints
    assert np.abs(diff) < 1e-4
Esempio n. 3
0
def test_linear_slope_linregress_same_result(ts_annual_da):
    """Tests that ``linear_slope`` and ``linregress`` returns the same result
    for the slope parameter."""
    data = ts_annual_da()
    x = data['time']
    y = data
    m1 = linear_slope(x, y, 'time')
    m2 = linregress(x, y, 'time').sel(parameter='slope')
    assert np.abs(m1.values - m2.values) < 1e-15