From be0964ac1e686dac8b84a66581dcf594f1442c4c Mon Sep 17 00:00:00 2001 From: Avishai Halev <67072238+ahalev@users.noreply.github.com> Date: Fri, 19 May 2023 10:39:59 -0700 Subject: [PATCH 1/7] Revert "check for overgeneration" This reverts commit 035382104d292f9e01b5e826e05280615ad0d2f3. --- tests/microgrid/test_microgrid.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/microgrid/test_microgrid.py b/tests/microgrid/test_microgrid.py index 3b168e4c..0fa8fb17 100644 --- a/tests/microgrid/test_microgrid.py +++ b/tests/microgrid/test_microgrid.py @@ -390,12 +390,9 @@ def check_step(self, microgrid, step_number=0): obs, reward, done, info = microgrid.run(control) loss_load = self.load_ts[step_number]-self.pv_ts[step_number] - overgeneration = -1 * loss_load - loss_load_cost = self.microgrid.modules.balancing[0].loss_load_cost * max(loss_load, 0) - overgeneration_cost = self.microgrid.modules.balancing[0].overgeneration_cost * max(overgeneration, 0) - self.assertEqual(loss_load_cost + overgeneration_cost, -1*reward) + self.assertEqual(loss_load_cost, -1*reward) self.assertEqual(len(microgrid.log), step_number + 1) self.assertTrue(all(module in microgrid.log for module in microgrid.modules.names())) From efe5b4bba90575c93728356c929ed0787738892d Mon Sep 17 00:00:00 2001 From: Avishai Halev <67072238+ahalev@users.noreply.github.com> Date: Fri, 19 May 2023 10:39:59 -0700 Subject: [PATCH 2/7] Revert "whitespace" This reverts commit 493813a8912ca6175948fd595d22f68301864cf4. --- src/pymgrid/microgrid/microgrid.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pymgrid/microgrid/microgrid.py b/src/pymgrid/microgrid/microgrid.py index 4bd30c0f..5abb5e98 100644 --- a/src/pymgrid/microgrid/microgrid.py +++ b/src/pymgrid/microgrid/microgrid.py @@ -297,7 +297,7 @@ def run(self, control, normalized=True): for module in modules: if not module.is_sink: sink_amt = 0.0 - elif module.max_consumption < energy_excess: # module cannot dissipate all excess energy + elif module.max_consumption < energy_excess: # module cannot dissipate all excess energy sink_amt = -1.0*module.max_consumption else: sink_amt = -1.0 * energy_excess From a8c0efdd37a309880c71e4c7ea6996895d6d3070 Mon Sep 17 00:00:00 2001 From: Avishai Halev <67072238+ahalev@users.noreply.github.com> Date: Fri, 19 May 2023 10:39:59 -0700 Subject: [PATCH 3/7] Revert "fix failing test_sample_action_with_flex" This reverts commit 4c509c913554c0e2d399e41afb4f4d4f238166ea. --- tests/microgrid/test_microgrid.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/microgrid/test_microgrid.py b/tests/microgrid/test_microgrid.py index 0fa8fb17..88300f32 100644 --- a/tests/microgrid/test_microgrid.py +++ b/tests/microgrid/test_microgrid.py @@ -352,8 +352,10 @@ def test_sample_action(self): def test_sample_action_with_flex(self): sampled_action = self.microgrid.sample_action(sample_flex_modules=True) - self.assertEqual(len(sampled_action), 1) + self.assertEqual(len(sampled_action), 2) + self.assertIn('renewable', sampled_action) self.assertIn('balancing', sampled_action) + self.assertEqual(len(sampled_action['renewable']), self.n_pvs) def test_state_dict(self): sd = self.microgrid.state_dict() From 59140a10b0c37e201ef9ec553ed6be13911a602d Mon Sep 17 00:00:00 2001 From: Avishai Halev <67072238+ahalev@users.noreply.github.com> Date: Fri, 19 May 2023 10:39:59 -0700 Subject: [PATCH 4/7] Revert "add _get_bounds to renewable module" This reverts commit 36654941ce187904f3a37ffa1e56241651a17181. --- src/pymgrid/modules/renewable_module.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/pymgrid/modules/renewable_module.py b/src/pymgrid/modules/renewable_module.py index a01d1f0f..7e870dcb 100644 --- a/src/pymgrid/modules/renewable_module.py +++ b/src/pymgrid/modules/renewable_module.py @@ -85,10 +85,6 @@ def __init__(self, self.name = ('renewable', None) - def _get_bounds(self): - _min_obs, _max_obs, _, _ = super()._get_bounds() - return _min_obs, _max_obs, np.array([]), np.array([]) - def update(self, external_energy_change, as_source=False, as_sink=False): assert as_source, f'Class {self.__class__.__name__} can only be used as a source.' From 8e1652d57ac1f6c00c9ebc7ea17b5113f4125428 Mon Sep 17 00:00:00 2001 From: Avishai Halev <67072238+ahalev@users.noreply.github.com> Date: Fri, 19 May 2023 10:39:59 -0700 Subject: [PATCH 5/7] Revert "fix check_step in tests" This reverts commit 98f9c04d2424958fad6871b2ce7978ed9d02e22d. --- tests/microgrid/test_microgrid.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/microgrid/test_microgrid.py b/tests/microgrid/test_microgrid.py index 88300f32..b7081e84 100644 --- a/tests/microgrid/test_microgrid.py +++ b/tests/microgrid/test_microgrid.py @@ -401,6 +401,7 @@ def check_step(self, microgrid, step_number=0): load_met = min(self.load_ts[step_number], self.pv_ts[step_number]) loss_load = max(self.load_ts[step_number] - load_met, 0) + pv_curtailment = max(self.pv_ts[step_number]-load_met, 0) # Checking the log populated correctly. @@ -418,13 +419,14 @@ def check_step(self, microgrid, step_number=0): self.assertEqual(log_entry('renewable', 'renewable_current'), self.pv_ts[step_number]) self.assertEqual(log_entry('renewable', 'renewable_used'), load_met) + self.assertEqual(log_entry('renewable', 'curtailment'), pv_curtailment) self.assertEqual(log_entry('balancing', 'loss_load'), loss_load) self.assertEqual(log_entry('balance', 'reward'), -1 * loss_load_cost) self.assertEqual(log_entry('balance', 'overall_provided_to_microgrid'), self.load_ts[step_number]) self.assertEqual(log_entry('balance', 'overall_absorbed_from_microgrid'), self.load_ts[step_number]) - self.assertEqual(log_entry('balance', 'fixed_provided_to_microgrid'), self.pv_ts[step_number]) + self.assertEqual(log_entry('balance', 'fixed_provided_to_microgrid'), 0.0) self.assertEqual(log_entry('balance', 'fixed_absorbed_from_microgrid'), self.load_ts[step_number]) self.assertEqual(log_entry('balance', 'controllable_absorbed_from_microgrid'), 0.0) self.assertEqual(log_entry('balance', 'controllable_provided_to_microgrid'), 0.0) From e8521eb878f0a2633683f5c12ca39ce1e399fcf1 Mon Sep 17 00:00:00 2001 From: Avishai Halev <67072238+ahalev@users.noreply.github.com> Date: Fri, 19 May 2023 10:39:59 -0700 Subject: [PATCH 6/7] Revert "update renewable module update" This reverts commit 2798c1f2e9ff8d8ddebca57db9368a4b2ba870ed. --- src/pymgrid/modules/renewable_module.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pymgrid/modules/renewable_module.py b/src/pymgrid/modules/renewable_module.py index 7e870dcb..addab37f 100644 --- a/src/pymgrid/modules/renewable_module.py +++ b/src/pymgrid/modules/renewable_module.py @@ -87,8 +87,10 @@ def __init__(self, def update(self, external_energy_change, as_source=False, as_sink=False): assert as_source, f'Class {self.__class__.__name__} can only be used as a source.' + assert external_energy_change <= self.current_renewable, f'Cannot provide more than {self.current_renewable}' - info = {'provided_energy': self.current_renewable} + info = {'provided_energy': external_energy_change, + 'curtailment': self.current_renewable-external_energy_change} return 0.0, self._done(), info From 573c86ca4ec951a0b675ad7d07b3846f30dd69b8 Mon Sep 17 00:00:00 2001 From: Avishai Halev <67072238+ahalev@users.noreply.github.com> Date: Fri, 19 May 2023 10:39:59 -0700 Subject: [PATCH 7/7] Revert "change renewable to fixed module" This reverts commit f69f0039a4b5d69e3fd2290700231cb0cd96011d. --- src/pymgrid/modules/renewable_module.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pymgrid/modules/renewable_module.py b/src/pymgrid/modules/renewable_module.py index addab37f..5e657f9d 100644 --- a/src/pymgrid/modules/renewable_module.py +++ b/src/pymgrid/modules/renewable_module.py @@ -51,7 +51,7 @@ class RenewableModule(BaseTimeSeriesMicrogridModule): If False, actions are clipped to the limit possible. """ - module_type = ('renewable', 'fixed') + module_type = ('renewable', 'flex') yaml_tag = u"!RenewableModule" yaml_loader = yaml.SafeLoader yaml_dumper = yaml.SafeDumper