def test_custom_method_choice(index1, index1_co2): def method_choice(row, ratio_method, offset_method, luc_method, luc_cov_threshold): return 'budget' if row.gas == 'CO2' else ratio_method # CH4 hist_ch4 = pd.DataFrame({'2015': [1.]}, index1) df_ch4 = pd.DataFrame({'2015': [1.]}, index1) obs_ch4, _ = harmonize.default_methods(hist_ch4, df_ch4, '2015', method_choice=method_choice) exp_ch4 = pd.Series(['reduce_ratio_2080'], index1, name='methods') pdt.assert_series_equal(exp_ch4, obs_ch4, check_names=False) # CO2 hist_co2 = pd.DataFrame({'2015': [1.]}, index1_co2) df_co2 = pd.DataFrame({'2015': [1.]}, index1_co2) obs_co2, _ = harmonize.default_methods(hist_co2, df_co2, '2015', method_choice=method_choice) exp_co2 = pd.Series(['budget'], index1_co2, name='methods') pdt.assert_series_equal(exp_co2, obs_co2, check_names=False)
def test_branch3(index1): hist = pd.DataFrame({'2015': [1.]}, index1) df = pd.DataFrame({'2015': [1.001], '2020': [-1.001]}, index1) obs, diags = harmonize.default_methods(hist, df, '2015') exp = pd.Series(['reduce_ratio_2080'], index1, name='methods') pdt.assert_series_equal(exp, obs, check_names=False) obs, diags = harmonize.default_methods(hist, df, '2015', ratio_method='reduce_ratio_2050') exp = pd.Series(['reduce_ratio_2050'], index1, name='methods') pdt.assert_series_equal(exp, obs, check_names=False)
def test_branch2(index1): hist = pd.DataFrame({'2015': [1.]}, index1) df = pd.DataFrame({'2015': [0.], '2020': [1.]}, index1) obs, diags = harmonize.default_methods(hist, df, '2015') exp = pd.Series(['constant_offset'], index1, name='methods') pdt.assert_series_equal(exp, obs, check_names=False)
def test_model_zero(index1): hist = pd.DataFrame({'2015': [1.]}, index1) df = pd.DataFrame({'2015': [0.]}, index1) obs, diags = harmonize.default_methods(hist, df, '2015') exp = pd.Series(['model_zero'], index1, name='methods') pdt.assert_series_equal(exp, obs, check_names=False)
def test_hist_zero(): hist = pd.DataFrame({'2015': [0]}) df = pd.DataFrame({'2015': [1.]}) obs, diags = harmonize.default_methods(hist, df, '2015') exp = pd.Series(['hist_zero'], name='methods') pdt.assert_series_equal(exp, obs, check_names=False)
def test_branch1(): hist = pd.DataFrame({'2015': [1.]}) df = pd.DataFrame({ '2015': [0.], '2020': [-1.], }) obs, diags = harmonize.default_methods(hist, df, '2015') exp = pd.Series(['reduce_offset_2080'], name='methods') pdt.assert_series_equal(exp, obs, check_names=False) obs, diags = harmonize.default_methods(hist, df, '2015', offset_method='reduce_offset_2050') exp = pd.Series(['reduce_offset_2050'], name='methods') pdt.assert_series_equal(exp, obs, check_names=False)
def test_branch5(): hist = pd.DataFrame({'2015': [1.]}) df = pd.DataFrame({ '2015': [5.001], '2020': [1.], }) obs, diags = harmonize.default_methods(hist, df, '2015') exp = pd.Series(['constant_ratio'], name='methods') pdt.assert_series_equal(exp, obs, check_names=False)
def test_branch6(): hist = pd.DataFrame({ '2000': [1.], '2005': [1000.], '2010': [1.], '2015': [100.], }) df = pd.DataFrame({ '2015': [5.001], '2020': [1.], }) obs, diags = harmonize.default_methods(hist, df, '2015') print(diags) exp = pd.Series(['reduce_offset_2150_cov'], name='methods') pdt.assert_series_equal(exp, obs, check_names=False)