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')
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
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