Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
0
 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))
Ejemplo n.º 7
0
 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)
Ejemplo n.º 8
0
 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)
Ejemplo n.º 9
0
 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)
Ejemplo n.º 10
0
 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)
Ejemplo n.º 11
0
 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))
Ejemplo n.º 12
0
    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)
Ejemplo n.º 13
0
    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)