def test_CAISO_wind_forecasts_ARMA_seed_1234(self): parm_dict = { "-xf": self.wind_data, "-f": "forecasts", "-s": "1134", "-is": str(datetime(year=2014, month=7, day=1, hour=0, minute=0, second=0)), "-ie": str(datetime(year=2014, month=8, day=1, hour=0, minute=0, second=0)), "-ss": str(datetime(year=2014, month=7, day=2, hour=0, minute=0, second=0)), "-se": str( datetime(year=2014, month=7, day=31, hour=0, minute=0, second=0)) } parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] # run the test args = self.parser.parse_args(parm_list) mapemain.main(args)
def test_wind_actuals_iid_seed_1234(self): print("Running ", str(self.id()).split('.')[2]) parm_dict = { "-xf": self.wind_data, "-bp": "iid", "-s": "1234", "-ss": str(datetime(year=2020, month=3, day=2, hour=0, minute=0, second=0)), "-se": str(datetime(year=2020, month=4, day=2, hour=0, minute=0, second=0)), "-is": str(datetime(year=2020, month=3, day=1, hour=0, minute=0, second=0)), "-ie": str(datetime(year=2020, month=6, day=1, hour=0, minute=0, second=0)) } parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] # run the test args = self.parser.parse_args(parm_list) mapemain.main(args)
def test_CAISO_wind_actuals_ARMA_seed_1234(self): parm_dict = { '-xf': self.wind_data, '-s': "1234", '-is': str(datetime(year=2014, month=7, day=1, hour=0, minute=0, second=0)), '-ie': str(datetime(year=2014, month=8, day=1, hour=0, minute=0, second=0)), '-ss': str(datetime(year=2014, month=7, day=2, hour=0, minute=0, second=0)), '-se': str( datetime(year=2014, month=7, day=31, hour=0, minute=0, second=0)) } parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] # run the test args = self.parser.parse_args(parm_list) mapemain.main(args)
def test_wind_forecasts_ARMA_seed_1234(self): print("Running ", str(self.id()).split('.')[2]) parm_dict = { "-xf": file_path + dir_sep + "rts_gmlc" + dir_sep + "WIND_forecasts_actuals.csv", "-sf": file_path + dir_sep + "rts_gmlc" + dir_sep + "WIND_forecasts_actuals.csv", "-f": "forecasts", "-s": "1234", "-is": str(datetime(year=2020, month=2, day=1, hour=0, minute=0, second=0)), "-ie": str( datetime(year=2020, month=8, day=31, hour=23, minute=0, second=0)), "-ss": str( datetime(year=2020, month=11, day=1, hour=0, minute=0, second=0)), "-se": str( datetime(year=2020, month=11, day=7, hour=0, minute=0, second=0)) } parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] # run the test args = self.parser.parse_args(parm_list) mapemain.main(args)
def test_Bus_220_Load_forecasts_ARMA(self): print("Running ", str(self.id()).split('.')[2]) parm_dict = { "-xf": self.load_data, "-f": "forecasts", "-is": str( datetime(year=2020, month=1, day=10, hour=0, minute=0, second=0)), "-ie": str( datetime(year=2020, month=5, day=20, hour=0, minute=0, second=0)), "-ss": str( datetime(year=2020, month=1, day=11, hour=0, minute=0, second=0)), "-se": str( datetime(year=2020, month=4, day=20, hour=23, minute=0, second=0)) } parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] # run the test args = self.parser.parse_args(parm_list) mapemain.main(args)
def test_wind_actuals_ARMA_seed_1234(self): print("Running ", str(self.id()).split('.')[2]) parm_dict = { "-xf": file_path + dir_sep + "rts_gmlc" + dir_sep + "WIND_forecasts_actuals.csv", "-s": "1234", "-is": str(datetime(year=2020, month=2, day=1, hour=0, minute=0, second=0)), "-ie": str( datetime(year=2020, month=10, day=31, hour=23, minute=0, second=0)), "-ss": str( datetime(year=2020, month=11, day=1, hour=0, minute=0, second=0)), "-se": str( datetime(year=2020, month=11, day=7, hour=0, minute=0, second=0)) } parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] # run the test args = self.parser.parse_args(parm_list) with self.assertRaises(RuntimeError) as context: mapemain.main(args) self.assertTrue( '< 1, there is a prevalence of high power input in the SID' in str( context.exception))
def test_CAISO_actuals_iid_seed_1234(self): print("Running ", str(self.id()).split('.')[2]) parm_dict = { "-xf": file_path + dir_sep + "CAISO_wind_operational_data.csv", "-bp": "iid", "-s": "1234", "-is": str(datetime(year=2013, month=7, day=1, hour=0, minute=0, second=0)), "-ie": str( datetime(year=2013, month=12, day=30, hour=23, minute=0, second=0)), "-ss": str( datetime(year=2015, month=6, day=29, hour=23, minute=0, second=0)), "-se": str( datetime(year=2015, month=6, day=30, hour=23, minute=0, second=0)) } parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] # run the test args = self.parser.parse_args(parm_list) mapemain.main(args)
def test_bpa_2012_to_2013_actuals_iid_seed_1234(self): parm_dict = { "-xf": file_path + dir_sep + "2012-2013_BPA_forecasts_actuals.csv", "-sf": file_path + dir_sep + "wind_total_forecast_actual_070113_063015.csv", "-bp": "iid", "-s": "1234", "-is": str(datetime(year=2012, month=6, day=3, hour=0, minute=0, second=0)), "-ie": str(datetime(year=2013, month=8, day=3, hour=0, minute=0, second=0)), "-ss": str( datetime(year=2015, month=6, day=23, hour=0, minute=0, second=0)), "-se": str( datetime(year=2015, month=6, day=30, hour=0, minute=0, second=0)) } parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] # run the test args = self.parser.parse_args(parm_list) mapemain.main(args)
def test_wind_actuals_ARMA_seed_1234(self): parm_dict = { "-xf": file_path + dir_sep + "wind_total_forecast_actual_070113_063015.csv", "-sf": file_path + dir_sep + "rts_gmlc" + dir_sep + "WIND_forecasts_actuals.csv", "-s": "1234", "-is": str(datetime(year=2013, month=8, day=1, hour=0, minute=0, second=0)), "-ie": str( datetime(year=2014, month=6, day=30, hour=23, minute=0, second=0)), "-ss": str(datetime(year=2020, month=2, day=1, hour=0, minute=0, second=0)), "-se": str( datetime(year=2020, month=12, day=31, hour=0, minute=0, second=0)) } parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] # run the test args = self.parser.parse_args(parm_list) mapemain.main(args)
def test_CAISO_wind_actuals_iid_seed_1134(self): parm_dict = { "-xf": self.wind_data, "-bp": "iid", "-s": "1134", "-is": str(datetime(year=2014, month=1, day=1, hour=0, minute=0, second=0)), "-ie": str( datetime(year=2014, month=10, day=1, hour=0, minute=0, second=0)), "-ss": str(datetime(year=2014, month=1, day=2, hour=0, minute=0, second=0)), "-se": str( datetime(year=2014, month=9, day=30, hour=0, minute=0, second=0)) } parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] # run the test args = self.parser.parse_args(parm_list) mapemain.main(args)
def test_wind_forecasts_iid_seed_1234(self): print("Running ", str(self.id()).split('.')[2]) parm_dict = { "-xf": self.wind_data, "-f": "forecasts", "-bp": "iid", "-s": "1234", "-ss": str(datetime(year=2020, month=3, day=2, hour=0, minute=0, second=0)), "-se": str(datetime(year=2020, month=4, day=2, hour=0, minute=0, second=0)), "-is": str(datetime(year=2020, month=3, day=1, hour=0, minute=0, second=0)), "-ie": str(datetime(year=2020, month=6, day=1, hour=0, minute=0, second=0)) } parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] # run the test args = self.parser.parse_args(parm_list) with self.assertRaises(RuntimeError) as context: mapemain.main(args) self.assertTrue( '< 1, there is a prevalence of high power input in the SID' in str( context.exception))
def test_CAISO_wind_actuals_cap_maxx(self): # 1st run parm_dict = { '-xf': self.wind_data, '-s': "1234", '-is': str(datetime(year=2014, month=7, day=1, hour=0, minute=0, second=0)), '-ie': str(datetime(year=2014, month=8, day=1, hour=0, minute=0, second=0)), '-ss': str(datetime(year=2014, month=7, day=2, hour=0, minute=0, second=0)), '-se': str( datetime(year=2014, month=7, day=31, hour=0, minute=0, second=0)), '-sb': "0", '-o': "test_output" } # output dir parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] args = self.parser.parse_args(parm_list) outputpath = 'test_output/simulations_of_target_mape_9.2.csv' mapemain.main(args) l = pd.read_csv(outputpath) test_numbers = l.iloc[:, 1] # 2nd column single_test_number_1 = test_numbers[1] # 2nd run parm_dict = { '-xf': self.wind_data, '-s': "1234", '-is': str(datetime(year=2014, month=7, day=1, hour=0, minute=0, second=0)), '-ie': str(datetime(year=2014, month=8, day=1, hour=0, minute=0, second=0)), '-ss': str(datetime(year=2014, month=7, day=2, hour=0, minute=0, second=0)), '-se': str( datetime(year=2014, month=7, day=31, hour=0, minute=0, second=0)), '-sb': "0", '-o': "test_output_another" } parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] args = self.parser.parse_args(parm_list) outputpath_2 = 'test_output_another/simulations_of_target_mape_9.2.csv' mapemain.main(args) l = pd.read_csv(outputpath_2) test_numbers = l.iloc[:, 1] single_test_number_2 = test_numbers[1] self.assertEqual(single_test_number_1, single_test_number_2)
def test_CAISO_wind_actuals_cap_scale(self): # 1st run, use -ts scale to 100 parm_dict = { '-xf': self.wind_data, '-s': "1234", '-is': str(datetime(year=2014, month=7, day=1, hour=0, minute=0, second=0)), '-ie': str(datetime(year=2014, month=8, day=1, hour=0, minute=0, second=0)), '-ss': str(datetime(year=2014, month=7, day=2, hour=0, minute=0, second=0)), '-se': str( datetime(year=2014, month=7, day=31, hour=0, minute=0, second=0)), '-v': "0", '-sb': "0", '-ts': "100", '-o': "test_output" } # output dir parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] args = self.parser.parse_args(parm_list) outputpath = 'test_output/simulations_of_target_mape_9.2.csv' mapemain.main(args) l = pd.read_csv(outputpath) test_numbers = l.iloc[:, 1] # 2nd column single_test_number_1 = test_numbers[1] # 2nd run, same as 1st run parm_dict = { '-xf': self.wind_data, '-s': "1234", '-is': str(datetime(year=2014, month=7, day=1, hour=0, minute=0, second=0)), '-ie': str(datetime(year=2014, month=8, day=1, hour=0, minute=0, second=0)), '-ss': str(datetime(year=2014, month=7, day=2, hour=0, minute=0, second=0)), '-se': str( datetime(year=2014, month=7, day=31, hour=0, minute=0, second=0)), '-v': "0", '-sb': "0", '-ts': "100", '-o': "test_output_2" } parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] args = self.parser.parse_args(parm_list) outputpath_2 = 'test_output_2/simulations_of_target_mape_9.2.csv' mapemain.main(args) l = pd.read_csv(outputpath_2) test_numbers = l.iloc[:, 1] single_test_number_2 = test_numbers[1] self.assertEqual(single_test_number_1, single_test_number_2) df = pd.read_csv(self.wind_data, index_col=0) df.index = pd.to_datetime(df.index) start = pd.to_datetime('20140701000000') end = pd.to_datetime('20140801000000') df = df[(df.index >= start) & (df.index <= end)] actual = df.iloc[:, 0] actual[0] cap = actual.max() scale = 100 / cap # 3rd run, manually scale unscaled output parm_dict = { '-xf': self.wind_data, '-s': "1234", '-is': str(datetime(year=2014, month=7, day=1, hour=0, minute=0, second=0)), '-ie': str(datetime(year=2014, month=8, day=1, hour=0, minute=0, second=0)), '-ss': str(datetime(year=2014, month=7, day=2, hour=0, minute=0, second=0)), '-se': str( datetime(year=2014, month=7, day=31, hour=0, minute=0, second=0)), '-v': "0", '-sb': "0", '-o': "test_output_3" } parm_list = [] for i, j in parm_dict.items(): if j is not None: parm_list += [i, j] else: parm_list += [i] args = self.parser.parse_args(parm_list) outputpath_2 = 'test_output_3/simulations_of_target_mape_9.2.csv' mapemain.main(args) l = pd.read_csv(outputpath_2) test_numbers = l.iloc[:, 1] single_test_number_3 = test_numbers[1] * scale self.assertAlmostEqual(single_test_number_1, single_test_number_3, 2)