From a1449913f5152fafc69477264fb3ad7dc5387b3b Mon Sep 17 00:00:00 2001 From: ahalev Date: Thu, 18 May 2023 18:19:56 -0700 Subject: [PATCH 01/15] add curtailment by default --- src/pymgrid/microgrid/microgrid.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pymgrid/microgrid/microgrid.py b/src/pymgrid/microgrid/microgrid.py index 0c210b46..a72c1cf7 100644 --- a/src/pymgrid/microgrid/microgrid.py +++ b/src/pymgrid/microgrid/microgrid.py @@ -33,7 +33,7 @@ class Microgrid(yaml.YAMLObject): .. note:: The constructor copies modules passed to it. - add_curtailment_module : bool, default False + add_curtailment_module : bool, default True add_unbalanced_module : bool, default True Whether to add an unbalanced energy module to your microgrid. Such a module computes and attributes @@ -103,7 +103,7 @@ class Microgrid(yaml.YAMLObject): def __init__(self, modules, - add_curtailment_module=False, + add_curtailment_module=True, add_unbalanced_module=True, curtailment_cost=0.0, loss_load_cost=10., From 6b4a280475b54f883de016ab14da9027514e2386 Mon Sep 17 00:00:00 2001 From: ahalev Date: Thu, 18 May 2023 18:20:19 -0700 Subject: [PATCH 02/15] add properties for curtailment serialization --- src/pymgrid/modules/curtailment_module.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/pymgrid/modules/curtailment_module.py b/src/pymgrid/modules/curtailment_module.py index d77a19b6..885173e6 100644 --- a/src/pymgrid/modules/curtailment_module.py +++ b/src/pymgrid/modules/curtailment_module.py @@ -184,6 +184,14 @@ def is_sink(self): def absorption_marginal_cost(self): return self.curtailment_cost + @property + def modules_to_curtail(self): + return self._modules_to_curtail + + @property + def curtailment_modules(self): + return self._curtailment_modules + def __repr__(self): return f'CurtailmentModule(' \ f'modules={self._curtailment_modules.get_attrs("name").squeeze(axis=0).values.tolist()})' From e8beb793bb778ec7f963ad672cb5245d881add44 Mon Sep 17 00:00:00 2001 From: ahalev Date: Thu, 18 May 2023 18:20:27 -0700 Subject: [PATCH 03/15] soften warning --- src/pymgrid/modules/module_container.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pymgrid/modules/module_container.py b/src/pymgrid/modules/module_container.py index 478c01f9..c0b09699 100644 --- a/src/pymgrid/modules/module_container.py +++ b/src/pymgrid/modules/module_container.py @@ -461,7 +461,7 @@ def get_subcontainers(modules, set_names=True): if set_names: name = (module_name, len(d[source_sink_both][module_name]) - 1) - if not all(x is None for x in module.name): + if not name == module.name or all(x is None for x in module.name): warnings.warn(f"Overwriting module name '{module.name}' with name '{name}'.") module.name = name From 303c161993a0842492eae685dd27b9dbc7373d2d Mon Sep 17 00:00:00 2001 From: ahalev Date: Thu, 18 May 2023 18:22:42 -0700 Subject: [PATCH 04/15] check for add_curtailment_module in deserialization --- src/pymgrid/envs/base/base.py | 1 + src/pymgrid/microgrid/microgrid.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pymgrid/envs/base/base.py b/src/pymgrid/envs/base/base.py index 9402a9a2..44d56b45 100644 --- a/src/pymgrid/envs/base/base.py +++ b/src/pymgrid/envs/base/base.py @@ -347,6 +347,7 @@ def from_microgrid(cls, microgrid, **kwargs): kwargs = kwargs.copy() kwargs['add_unbalanced_module'] = kwargs.pop('add_unbalanced_module', False) + kwargs['add_curtailment_module'] = kwargs.pop('add_curtailment_module', False) kwargs['reward_shaping_func'] = kwargs.pop('reward_shaping_func', microgrid.reward_shaping_func) kwargs['trajectory_func'] = kwargs.pop('trajectory_func', microgrid.trajectory_func) diff --git a/src/pymgrid/microgrid/microgrid.py b/src/pymgrid/microgrid/microgrid.py index a72c1cf7..c6f38c5c 100644 --- a/src/pymgrid/microgrid/microgrid.py +++ b/src/pymgrid/microgrid/microgrid.py @@ -961,7 +961,7 @@ def from_yaml(cls, loader, node): warn(f'Ignoring keys {mapping.keys()} when loading from scenario.') return cls.from_scenario(microgrid_number) - instance = cls(mapping["modules"], add_unbalanced_module=False) + instance = cls(mapping["modules"], add_curtailment_module=False, add_unbalanced_module=False) instance.deserialize(mapping) return instance From 73a98f08032c6494d9aa2406a2bce978f00df54b Mon Sep 17 00:00:00 2001 From: ahalev Date: Thu, 18 May 2023 23:25:49 -0700 Subject: [PATCH 05/15] add curtailment module to envs --- src/pymgrid/envs/base/base.py | 2 ++ src/pymgrid/envs/discrete/discrete.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/pymgrid/envs/base/base.py b/src/pymgrid/envs/base/base.py index 44d56b45..f0540042 100644 --- a/src/pymgrid/envs/base/base.py +++ b/src/pymgrid/envs/base/base.py @@ -91,6 +91,7 @@ def __new__(cls, modules, *args, **kwargs): def __init__(self, modules, + add_curtailment_module=True, add_unbalanced_module=True, loss_load_cost=10, overgeneration_cost=2, @@ -103,6 +104,7 @@ def __init__(self, ): super().__init__(modules, + add_curtailment_module=add_curtailment_module, add_unbalanced_module=add_unbalanced_module, loss_load_cost=loss_load_cost, overgeneration_cost=overgeneration_cost, diff --git a/src/pymgrid/envs/discrete/discrete.py b/src/pymgrid/envs/discrete/discrete.py index 007883d9..e10df597 100644 --- a/src/pymgrid/envs/discrete/discrete.py +++ b/src/pymgrid/envs/discrete/discrete.py @@ -37,6 +37,7 @@ class DiscreteMicrogridEnv(BaseMicrogridEnv, PriorityListAlgo): def __init__(self, modules, + add_curtailment_module=True, add_unbalanced_module=True, loss_load_cost=10, overgeneration_cost=2, @@ -49,6 +50,7 @@ def __init__(self, reset_callback=None ): super().__init__(modules, + add_curtailment_module=add_curtailment_module, add_unbalanced_module=add_unbalanced_module, loss_load_cost=loss_load_cost, overgeneration_cost=overgeneration_cost, From 26b460bfb418e380251fd0326cced1164e7c92c5 Mon Sep 17 00:00:00 2001 From: ahalev Date: Thu, 18 May 2023 23:26:18 -0700 Subject: [PATCH 06/15] nonetype check in max consumption --- src/pymgrid/modules/curtailment_module.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/pymgrid/modules/curtailment_module.py b/src/pymgrid/modules/curtailment_module.py index 885173e6..9ef3153f 100644 --- a/src/pymgrid/modules/curtailment_module.py +++ b/src/pymgrid/modules/curtailment_module.py @@ -168,6 +168,9 @@ def max_act(self): @property def max_consumption(self): + if self._curtailment_modules is None: + raise RuntimeError('Must call RenewableCurtailmentModule.setup before usage!') + module_current_step = self._curtailment_modules.get_attrs('current_step', unique=True).item() if not self._current_step == module_current_step - 1: raise RuntimeError(f'self.current_step={self._current_step} is not one less than curtailment module current' From 0849234fb99673a69d509dd87c7adc1eba7dde1a Mon Sep 17 00:00:00 2001 From: ahalev Date: Fri, 19 May 2023 00:28:53 -0700 Subject: [PATCH 07/15] fix discretemicrogrid env init --- tests/envs/test_discrete.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/envs/test_discrete.py b/tests/envs/test_discrete.py index c43796d0..b33e06bc 100644 --- a/tests/envs/test_discrete.py +++ b/tests/envs/test_discrete.py @@ -22,7 +22,9 @@ def test_init_from_microgrid(self): def test_init_from_modules(self): microgrid = get_modular_microgrid() - env = DiscreteMicrogridEnv(microgrid.modules.to_tuples(), add_unbalanced_module=False) + env = DiscreteMicrogridEnv(microgrid.modules.to_tuples(), + add_curtailment_module=False, + add_unbalanced_module=False) self.assertEqual(env.modules, microgrid.modules) self.assertIsNot(env.modules.to_tuples(), microgrid.modules.to_tuples()) From 3f3d0e879b68e9a341b4914d3399fec7c2244745 Mon Sep 17 00:00:00 2001 From: ahalev Date: Fri, 19 May 2023 00:31:03 -0700 Subject: [PATCH 08/15] update pymgrid25 --- .../cls_params/GridModule/time_series.csv.gz | Bin 71000 -> 71000 bytes .../cls_params/LoadModule/time_series.csv.gz | Bin 95750 -> 95750 bytes .../RenewableModule/time_series.csv.gz | Bin 41119 -> 41119 bytes .../pymgrid25/microgrid_0/microgrid_0.yaml | 33 +++++++++++++----- .../cls_params/GridModule/time_series.csv.gz | Bin 70450 -> 70450 bytes .../cls_params/LoadModule/time_series.csv.gz | Bin 98740 -> 98740 bytes .../RenewableModule/time_series.csv.gz | Bin 43703 -> 43703 bytes .../pymgrid25/microgrid_1/microgrid_1.yaml | 33 +++++++++++++----- .../cls_params/GridModule/time_series.csv.gz | Bin 71849 -> 71849 bytes .../cls_params/LoadModule/time_series.csv.gz | Bin 99947 -> 99947 bytes .../RenewableModule/time_series.csv.gz | Bin 40530 -> 40530 bytes .../pymgrid25/microgrid_10/microgrid_10.yaml | 33 +++++++++++++----- .../cls_params/GridModule/time_series.csv.gz | Bin 70730 -> 70730 bytes .../cls_params/LoadModule/time_series.csv.gz | Bin 98933 -> 98933 bytes .../RenewableModule/time_series.csv.gz | Bin 44288 -> 44288 bytes .../pymgrid25/microgrid_11/microgrid_11.yaml | 33 +++++++++++++----- .../cls_params/GridModule/time_series.csv.gz | Bin 71849 -> 71849 bytes .../cls_params/LoadModule/time_series.csv.gz | Bin 101899 -> 101899 bytes .../RenewableModule/time_series.csv.gz | Bin 40454 -> 40454 bytes .../pymgrid25/microgrid_12/microgrid_12.yaml | 33 +++++++++++++----- .../cls_params/GridModule/time_series.csv.gz | Bin 69997 -> 69997 bytes .../cls_params/LoadModule/time_series.csv.gz | Bin 101801 -> 101801 bytes .../RenewableModule/time_series.csv.gz | Bin 41997 -> 41997 bytes .../pymgrid25/microgrid_13/microgrid_13.yaml | 33 +++++++++++++----- .../cls_params/GridModule/time_series.csv.gz | Bin 70730 -> 70730 bytes .../cls_params/LoadModule/time_series.csv.gz | Bin 92053 -> 92053 bytes .../RenewableModule/time_series.csv.gz | Bin 43518 -> 43518 bytes .../pymgrid25/microgrid_14/microgrid_14.yaml | 33 +++++++++++++----- .../cls_params/LoadModule/time_series.csv.gz | Bin 98126 -> 98126 bytes .../RenewableModule/time_series.csv.gz | Bin 43802 -> 43802 bytes .../pymgrid25/microgrid_15/microgrid_15.yaml | 33 +++++++++++++----- .../cls_params/GridModule/time_series.csv.gz | Bin 71849 -> 71849 bytes .../cls_params/LoadModule/time_series.csv.gz | Bin 92018 -> 92018 bytes .../RenewableModule/time_series.csv.gz | Bin 43220 -> 43220 bytes .../pymgrid25/microgrid_16/microgrid_16.yaml | 33 +++++++++++++----- .../cls_params/LoadModule/time_series.csv.gz | Bin 91889 -> 91889 bytes .../RenewableModule/time_series.csv.gz | Bin 41880 -> 41880 bytes .../pymgrid25/microgrid_17/microgrid_17.yaml | 33 +++++++++++++----- .../cls_params/GridModule/time_series.csv.gz | Bin 69997 -> 69997 bytes .../cls_params/LoadModule/time_series.csv.gz | Bin 101812 -> 101812 bytes .../RenewableModule/time_series.csv.gz | Bin 42455 -> 42455 bytes .../pymgrid25/microgrid_18/microgrid_18.yaml | 33 +++++++++++++----- .../cls_params/LoadModule/time_series.csv.gz | Bin 98334 -> 98334 bytes .../RenewableModule/time_series.csv.gz | Bin 41498 -> 41498 bytes .../pymgrid25/microgrid_19/microgrid_19.yaml | 33 +++++++++++++----- .../cls_params/LoadModule/time_series.csv.gz | Bin 98535 -> 98535 bytes .../RenewableModule/time_series.csv.gz | Bin 42761 -> 42761 bytes .../pymgrid25/microgrid_2/microgrid_2.yaml | 33 +++++++++++++----- .../cls_params/LoadModule/time_series.csv.gz | Bin 100312 -> 100312 bytes .../RenewableModule/time_series.csv.gz | Bin 43495 -> 43495 bytes .../pymgrid25/microgrid_20/microgrid_20.yaml | 33 +++++++++++++----- .../cls_params/LoadModule/time_series.csv.gz | Bin 100892 -> 100892 bytes .../RenewableModule/time_series.csv.gz | Bin 43999 -> 43999 bytes .../pymgrid25/microgrid_21/microgrid_21.yaml | 33 +++++++++++++----- .../cls_params/GridModule/time_series.csv.gz | Bin 69997 -> 69997 bytes .../cls_params/LoadModule/time_series.csv.gz | Bin 99857 -> 99857 bytes .../RenewableModule/time_series.csv.gz | Bin 42241 -> 42241 bytes .../pymgrid25/microgrid_22/microgrid_22.yaml | 33 +++++++++++++----- .../cls_params/LoadModule/time_series.csv.gz | Bin 97388 -> 97388 bytes .../RenewableModule/time_series.csv.gz | Bin 42142 -> 42142 bytes .../pymgrid25/microgrid_23/microgrid_23.yaml | 33 +++++++++++++----- .../cls_params/GridModule/time_series.csv.gz | Bin 70790 -> 70790 bytes .../cls_params/LoadModule/time_series.csv.gz | Bin 91809 -> 91809 bytes .../RenewableModule/time_series.csv.gz | Bin 42978 -> 42978 bytes .../pymgrid25/microgrid_24/microgrid_24.yaml | 33 +++++++++++++----- .../cls_params/LoadModule/time_series.csv.gz | Bin 100230 -> 100230 bytes .../RenewableModule/time_series.csv.gz | Bin 42513 -> 42513 bytes .../pymgrid25/microgrid_3/microgrid_3.yaml | 33 +++++++++++++----- .../cls_params/GridModule/time_series.csv.gz | Bin 69997 -> 69997 bytes .../cls_params/LoadModule/time_series.csv.gz | Bin 99793 -> 99793 bytes .../RenewableModule/time_series.csv.gz | Bin 42889 -> 42889 bytes .../pymgrid25/microgrid_4/microgrid_4.yaml | 33 +++++++++++++----- .../cls_params/LoadModule/time_series.csv.gz | Bin 98745 -> 98745 bytes .../RenewableModule/time_series.csv.gz | Bin 38378 -> 38378 bytes .../pymgrid25/microgrid_5/microgrid_5.yaml | 33 +++++++++++++----- .../cls_params/GridModule/time_series.csv.gz | Bin 69997 -> 69997 bytes .../cls_params/LoadModule/time_series.csv.gz | Bin 100276 -> 100276 bytes .../RenewableModule/time_series.csv.gz | Bin 43091 -> 43091 bytes .../pymgrid25/microgrid_6/microgrid_6.yaml | 33 +++++++++++++----- .../cls_params/LoadModule/time_series.csv.gz | Bin 99461 -> 99461 bytes .../RenewableModule/time_series.csv.gz | Bin 42132 -> 42132 bytes .../pymgrid25/microgrid_7/microgrid_7.yaml | 33 +++++++++++++----- .../cls_params/GridModule/time_series.csv.gz | Bin 72045 -> 72045 bytes .../cls_params/LoadModule/time_series.csv.gz | Bin 92074 -> 92074 bytes .../RenewableModule/time_series.csv.gz | Bin 41768 -> 41768 bytes .../pymgrid25/microgrid_8/microgrid_8.yaml | 33 +++++++++++++----- .../cls_params/GridModule/time_series.csv.gz | Bin 71462 -> 71462 bytes .../cls_params/LoadModule/time_series.csv.gz | Bin 98674 -> 98674 bytes .../RenewableModule/time_series.csv.gz | Bin 44237 -> 44237 bytes .../pymgrid25/microgrid_9/microgrid_9.yaml | 33 +++++++++++++----- 90 files changed, 600 insertions(+), 225 deletions(-) diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_0/data/cls_params/GridModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_0/data/cls_params/GridModule/time_series.csv.gz index 4cad091b95c008700821d8a2b7195550f0cf68b3..7d382ae020f7fb13131672043611cc6a67215f18 100644 GIT binary patch delta 21 ccmcbyisi;C7Iyh=4vuQo^hWlr?2Lh;099ZHfB*mh delta 21 ccmcbyisi;C7Iyh=4vx||her0T?2Lh;09EYWdH?_b diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_0/data/cls_params/RenewableModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_0/data/cls_params/RenewableModule/time_series.csv.gz index f1b321f06e64c31fe62ff61bc3bf4d0461dec53a..119b6d93ffff95ed91524fc6746ac07596e0fea9 100644 GIT binary patch delta 18 acmbP#kZJxwCU*I54vs3-^o{H@761S~sRn!i delta 18 acmbP#kZJxwCU*I54vykDhmGtr761T03kHV( diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_0/microgrid_0.yaml b/src/pymgrid/data/scenario/pymgrid25/microgrid_0/microgrid_0.yaml index 6391a58f..dda1e42e 100644 --- a/src/pymgrid/data/scenario/pymgrid25/microgrid_0/microgrid_0.yaml +++ b/src/pymgrid/data/scenario/pymgrid25/microgrid_0/microgrid_0.yaml @@ -2,8 +2,8 @@ final_step: 8759 initial_step: 0 modules: -- - load - - !LoadModule +- - pv + - !RenewableModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -14,15 +14,16 @@ modules: normalized_action_bounds: - 0 - 1 + provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' name: - - load + - pv - 0 state: _current_step: 0 -- - pv - - !RenewableModule +- - load + - !LoadModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -33,11 +34,25 @@ modules: normalized_action_bounds: - 0 - 1 - provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' name: - - pv + - load + - 0 + state: + _current_step: 0 +- - curtailment + - !CurtailmentModule + cls_params: + curtailment_cost: 0.0 + initial_step: 0 + modules_to_curtail: null + normalized_action_bounds: + - 0 + - 1 + raise_errors: false + name: + - curtailment - 0 state: _current_step: 0 diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_1/data/cls_params/GridModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_1/data/cls_params/GridModule/time_series.csv.gz index d0cfdbf6db1dbd6cfab3d249e5dc6d8f28e95898..91ef0807082a65514342e6aeba29dc341f97ce8b 100644 GIT binary patch delta 21 ccmdnAjAhd@7Iyh=4vuEk^hWlr?2OvN08a!43;+NC delta 21 ccmdnAjAhd@7Iyh=4vw-oher0T?2OvN08dK>5dZ)H diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_1/data/cls_params/LoadModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_1/data/cls_params/LoadModule/time_series.csv.gz index 9cf1e93a358ca5f87233309ceb1e5d6ffc84984d..6839bfab6d876da8e33958db141be6b8d96eef88 100644 GIT binary patch delta 21 ccmdne%(kVOja|N*gQHnBy^(z@JLB3$089G@z5oCK delta 21 ccmdne%(kVOja|N*gQG0Yp^<$nJLB3$08By#!vFvP diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_1/data/cls_params/RenewableModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_1/data/cls_params/RenewableModule/time_series.csv.gz index ae71a19cef47c8785e88a218ad1e4d599e03263d..72131bc15613c188862dea9d576e16aed0526418 100644 GIT binary patch delta 18 acmdmfm1+A`CU*I54vuEk^o{HrRsjG+rUw52 delta 18 acmdmfm1+A`CU*I54vw-ohmGtTRsjG+-UkE# diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_1/microgrid_1.yaml b/src/pymgrid/data/scenario/pymgrid25/microgrid_1/microgrid_1.yaml index 7d759d7f..7d8d82f2 100644 --- a/src/pymgrid/data/scenario/pymgrid25/microgrid_1/microgrid_1.yaml +++ b/src/pymgrid/data/scenario/pymgrid25/microgrid_1/microgrid_1.yaml @@ -2,8 +2,8 @@ final_step: 8759 initial_step: 0 modules: -- - load - - !LoadModule +- - pv + - !RenewableModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -14,15 +14,16 @@ modules: normalized_action_bounds: - 0 - 1 + provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' name: - - load + - pv - 0 state: _current_step: 0 -- - pv - - !RenewableModule +- - load + - !LoadModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -33,11 +34,25 @@ modules: normalized_action_bounds: - 0 - 1 - provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' name: - - pv + - load + - 0 + state: + _current_step: 0 +- - curtailment + - !CurtailmentModule + cls_params: + curtailment_cost: 0.0 + initial_step: 0 + modules_to_curtail: null + normalized_action_bounds: + - 0 + - 1 + raise_errors: false + name: + - curtailment - 0 state: _current_step: 0 diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_10/data/cls_params/GridModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_10/data/cls_params/GridModule/time_series.csv.gz index 9e39fe9ca167a4b518638f074441050450a618ed..522e293bee1b3427f45b7bed1898a92ee9cc3c77 100644 GIT binary patch delta 21 ccmZ3vk!9sZ7Iyh=4vsd}^hWlr?2L;f08mW^j{pDw delta 21 ccmZ3vk!9sZ7Iyh=4vvaAher0T?2L;f08okslK=n! diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_10/data/cls_params/LoadModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_10/data/cls_params/LoadModule/time_series.csv.gz index 0e2386c7f1b7f8f6b5cc09a0864ec5af8edae498..7fb308c87812a3e8dca0b7e9c729fcfb132b9973 100644 GIT binary patch delta 21 ccmaFe!}hv|ja|N*gQHC~y^(z@J7Y>40985${Qv*} delta 21 ccmaFe!}hv|ja|N*gQFtOp^<$nJ7Y>409AJf0RR91 diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_10/data/cls_params/RenewableModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_10/data/cls_params/RenewableModule/time_series.csv.gz index c514665a0a512958da178c937c60527df2d5c8bd..1273f442555acea01278160a4e1095fb74dfc8ad 100644 GIT binary patch delta 18 Zcmcb#hw0KDCU*I54vsd}^o{J^^8iFy29*E+ delta 18 Zcmcb#hw0KDCU*I54vvaAhmGvs^8iGO2AKc= diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_10/microgrid_10.yaml b/src/pymgrid/data/scenario/pymgrid25/microgrid_10/microgrid_10.yaml index 5ed6998f..03c485a7 100644 --- a/src/pymgrid/data/scenario/pymgrid25/microgrid_10/microgrid_10.yaml +++ b/src/pymgrid/data/scenario/pymgrid25/microgrid_10/microgrid_10.yaml @@ -2,8 +2,8 @@ final_step: 8759 initial_step: 0 modules: -- - load - - !LoadModule +- - pv + - !RenewableModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -14,15 +14,16 @@ modules: normalized_action_bounds: - 0 - 1 + provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' name: - - load + - pv - 0 state: _current_step: 0 -- - pv - - !RenewableModule +- - load + - !LoadModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -33,11 +34,25 @@ modules: normalized_action_bounds: - 0 - 1 - provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' name: - - pv + - load + - 0 + state: + _current_step: 0 +- - curtailment + - !CurtailmentModule + cls_params: + curtailment_cost: 0.0 + initial_step: 0 + modules_to_curtail: null + normalized_action_bounds: + - 0 + - 1 + raise_errors: false + name: + - curtailment - 0 state: _current_step: 0 diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_11/data/cls_params/GridModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_11/data/cls_params/GridModule/time_series.csv.gz index 8818dcbe61b3b3f5006dcde378ad1b382b3beb59..5c430535a2a295d078582389dcb4a80ceeb2a666 100644 GIT binary patch delta 21 ccmX@Lg5}f-7Iyh=4vsd}^hWlr?2OJL08>Q<{9 diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_12/data/cls_params/RenewableModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_12/data/cls_params/RenewableModule/time_series.csv.gz index dc0b0d344c9755fa8cc00acfa98824a4460a7928..feb90efb7c741eb4d4e8f8c392eb91fef695a04b 100644 GIT binary patch delta 18 ZcmZqM!_>BiiCw;%gQHC~eIxt-xd1!#2Cx7C delta 18 ZcmZqM!_>BiiCw;%gQFtOVI%whxd1#R2DAVG diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_12/microgrid_12.yaml b/src/pymgrid/data/scenario/pymgrid25/microgrid_12/microgrid_12.yaml index aadaad4b..bf684b08 100644 --- a/src/pymgrid/data/scenario/pymgrid25/microgrid_12/microgrid_12.yaml +++ b/src/pymgrid/data/scenario/pymgrid25/microgrid_12/microgrid_12.yaml @@ -2,8 +2,8 @@ final_step: 8759 initial_step: 0 modules: -- - load - - !LoadModule +- - pv + - !RenewableModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -14,15 +14,16 @@ modules: normalized_action_bounds: - 0 - 1 + provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' name: - - load + - pv - 0 state: _current_step: 0 -- - pv - - !RenewableModule +- - load + - !LoadModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -33,11 +34,25 @@ modules: normalized_action_bounds: - 0 - 1 - provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' name: - - pv + - load + - 0 + state: + _current_step: 0 +- - curtailment + - !CurtailmentModule + cls_params: + curtailment_cost: 0.0 + initial_step: 0 + modules_to_curtail: null + normalized_action_bounds: + - 0 + - 1 + raise_errors: false + name: + - curtailment - 0 state: _current_step: 0 diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_13/data/cls_params/GridModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_13/data/cls_params/GridModule/time_series.csv.gz index 206ef5b5d2f9d3c27bfdfb42d79a0d091567eda9..0abd9db30bcc65d3c3b44dd7bc64f2b40077f4b6 100644 GIT binary patch delta 21 ccmaF6h~@1f7Iyh=4vu!!^hWlr?2KuG09XkIw*UYD delta 21 ccmaF6h~@1f7Iyh=4vxw=her0T?2KuG09Zx_y8r+H diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_13/data/cls_params/LoadModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_13/data/cls_params/LoadModule/time_series.csv.gz index 67b80e6bf660c6c0cde36f025d904ae76f73b193..995a4d3ad54a9318146ea8547d2e3ef186974a6a 100644 GIT binary patch delta 21 ccmZ2En{DN6Hg@@L4vu!!^hWlr?2L^t# delta 18 ZcmeA@!PI+#iCw;%gQGIeVIw=+5&%4$1?d0) diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_13/microgrid_13.yaml b/src/pymgrid/data/scenario/pymgrid25/microgrid_13/microgrid_13.yaml index 4c7ab601..43c529d0 100644 --- a/src/pymgrid/data/scenario/pymgrid25/microgrid_13/microgrid_13.yaml +++ b/src/pymgrid/data/scenario/pymgrid25/microgrid_13/microgrid_13.yaml @@ -2,8 +2,8 @@ final_step: 8759 initial_step: 0 modules: -- - load - - !LoadModule +- - pv + - !RenewableModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -14,15 +14,16 @@ modules: normalized_action_bounds: - 0 - 1 + provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' name: - - load + - pv - 0 state: _current_step: 0 -- - pv - - !RenewableModule +- - load + - !LoadModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -33,11 +34,25 @@ modules: normalized_action_bounds: - 0 - 1 - provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' name: - - pv + - load + - 0 + state: + _current_step: 0 +- - curtailment + - !CurtailmentModule + cls_params: + curtailment_cost: 0.0 + initial_step: 0 + modules_to_curtail: null + normalized_action_bounds: + - 0 + - 1 + raise_errors: false + name: + - curtailment - 0 state: _current_step: 0 diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_14/data/cls_params/GridModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_14/data/cls_params/GridModule/time_series.csv.gz index e910351c8706f95c70e7cd214f7d34330d943edb..6e7dcb536fe4bd63f9118f1293892fddfcb3320c 100644 GIT binary patch delta 21 ccmX@Lg5}f-7Iyh=4vu!!^hWlr?2OJL08>u}T>t<8 delta 21 ccmX@Lg5}f-7Iyh=4vxw=her0T?2OJL08@+xVE_OC diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_14/data/cls_params/LoadModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_14/data/cls_params/LoadModule/time_series.csv.gz index 20b993e2a4a9585a1a9b3af77e6af00ab2428dd1..1533fcd30d59fc6d4d6947210319fd34924bc43a 100644 GIT binary patch delta 21 ccmbPwo^|SZR(APr4vu!!^hWlr?2LWs08#4(;Q#;t delta 21 ccmbPwo^|SZR(APr4vxw=her0T?2LWs08%IhQ2+n{ diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_20/data/cls_params/RenewableModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_20/data/cls_params/RenewableModule/time_series.csv.gz index a45939e076b466e2757e9cb92ca6f1646d8df8ed..3c953bf7229606b8be10c1ebbd1852cee7741828 100644 GIT binary patch delta 18 acmaEUnd$juCU*I54vr4h^o{HfRssM^8V8R6 delta 18 acmaEUnd$juCU*I54vwlghmGtHRssM^O9ztx diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_20/microgrid_20.yaml b/src/pymgrid/data/scenario/pymgrid25/microgrid_20/microgrid_20.yaml index e91f2b56..62f912a3 100644 --- a/src/pymgrid/data/scenario/pymgrid25/microgrid_20/microgrid_20.yaml +++ b/src/pymgrid/data/scenario/pymgrid25/microgrid_20/microgrid_20.yaml @@ -2,8 +2,8 @@ final_step: 8759 initial_step: 0 modules: -- - load - - !LoadModule +- - pv + - !RenewableModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -14,15 +14,16 @@ modules: normalized_action_bounds: - 0 - 1 + provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' name: - - load + - pv - 0 state: _current_step: 0 -- - pv - - !RenewableModule +- - load + - !LoadModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -33,11 +34,25 @@ modules: normalized_action_bounds: - 0 - 1 - provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' name: - - pv + - load + - 0 + state: + _current_step: 0 +- - curtailment + - !CurtailmentModule + cls_params: + curtailment_cost: 0.0 + initial_step: 0 + modules_to_curtail: null + normalized_action_bounds: + - 0 + - 1 + raise_errors: false + name: + - curtailment - 0 state: _current_step: 0 diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_21/data/cls_params/LoadModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_21/data/cls_params/LoadModule/time_series.csv.gz index 78bb0d88f0cfef100edc109a9e12a51d0d400a84..731b91fa70db7bbc2250e1b8bacfe1a4f820b4b9 100644 GIT binary patch delta 21 ccmbO;g>B9hHg@@L4vr4h^hWlr?2Mva07=sZCIA2c delta 21 ccmbO;g>B9hHg@@L4vwlgher0T?2Mva07?)BDgXcg diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_21/data/cls_params/RenewableModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_21/data/cls_params/RenewableModule/time_series.csv.gz index ccae0fcc8f970c38cfd229ff86e37919443b9f18..7efd47551de7defb5edd48134571033bc1657bfb 100644 GIT binary patch delta 18 acmcbAo$3B{CU*I54vr4h^o{H{Rs#S^fCqs9 delta 18 acmcbAo$3B{CU*I54vwlghmGtvRs#S^u?K|! diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_21/microgrid_21.yaml b/src/pymgrid/data/scenario/pymgrid25/microgrid_21/microgrid_21.yaml index 1192be9d..c55dbf77 100644 --- a/src/pymgrid/data/scenario/pymgrid25/microgrid_21/microgrid_21.yaml +++ b/src/pymgrid/data/scenario/pymgrid25/microgrid_21/microgrid_21.yaml @@ -2,8 +2,8 @@ final_step: 8759 initial_step: 0 modules: -- - load - - !LoadModule +- - pv + - !RenewableModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -14,15 +14,16 @@ modules: normalized_action_bounds: - 0 - 1 + provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' name: - - load + - pv - 0 state: _current_step: 0 -- - pv - - !RenewableModule +- - load + - !LoadModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -33,11 +34,25 @@ modules: normalized_action_bounds: - 0 - 1 - provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' name: - - pv + - load + - 0 + state: + _current_step: 0 +- - curtailment + - !CurtailmentModule + cls_params: + curtailment_cost: 0.0 + initial_step: 0 + modules_to_curtail: null + normalized_action_bounds: + - 0 + - 1 + raise_errors: false + name: + - curtailment - 0 state: _current_step: 0 diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_22/data/cls_params/GridModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_22/data/cls_params/GridModule/time_series.csv.gz index 5eeb4f4ded2883c88781c9e8a4948c2ad5de8105..0158236fd52b003f519a24c03ad1a909b1ec91a6 100644 GIT binary patch delta 21 ccmaF6h~@1f7Iyh=4vtRM^hWlr?2KuG09YLcxc~qF delta 21 ccmaF6h~@1f7Iyh=4vwlgher0T?2KuG09a54yZ`_I diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_22/data/cls_params/LoadModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_22/data/cls_params/LoadModule/time_series.csv.gz index 7fa9b1ec8f0f453170348173b7acd30e7461cd72..87dbc4007613dd9dafafe79f634d485f8dcf90b9 100644 GIT binary patch delta 21 ccmbQ(!#1&pja|N*gQHV5y^(z@J0n*c07mWw@&Et; delta 21 ccmbQ(!#1&pja|N*gQF_Wp^<$nJ0n*c07oGO^#A|> diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_22/data/cls_params/RenewableModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_22/data/cls_params/RenewableModule/time_series.csv.gz index efefd2d8449b177b313de01b3655f32ba57d6610..a2725fa79e899c6059506c859315e22b0f209fba 100644 GIT binary patch delta 18 ZcmZoX#ngC;iCw;%gQG(=eIxs?B>+7P2F3sY delta 18 ZcmZoX#ngC;iCw;%gQF_WVI%vmB>+7=2Fd^c diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_22/microgrid_22.yaml b/src/pymgrid/data/scenario/pymgrid25/microgrid_22/microgrid_22.yaml index 9ef6f499..2720c0e5 100644 --- a/src/pymgrid/data/scenario/pymgrid25/microgrid_22/microgrid_22.yaml +++ b/src/pymgrid/data/scenario/pymgrid25/microgrid_22/microgrid_22.yaml @@ -2,8 +2,8 @@ final_step: 8759 initial_step: 0 modules: -- - load - - !LoadModule +- - pv + - !RenewableModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -14,15 +14,16 @@ modules: normalized_action_bounds: - 0 - 1 + provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' name: - - load + - pv - 0 state: _current_step: 0 -- - pv - - !RenewableModule +- - load + - !LoadModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -33,11 +34,25 @@ modules: normalized_action_bounds: - 0 - 1 - provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' name: - - pv + - load + - 0 + state: + _current_step: 0 +- - curtailment + - !CurtailmentModule + cls_params: + curtailment_cost: 0.0 + initial_step: 0 + modules_to_curtail: null + normalized_action_bounds: + - 0 + - 1 + raise_errors: false + name: + - curtailment - 0 state: _current_step: 0 diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_23/data/cls_params/LoadModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_23/data/cls_params/LoadModule/time_series.csv.gz index a5d640e5fa336c1b4c94ce2ef16c2da4d0b66ce9..6fefe6d7ddfae52ab2204dc7cb5a035e4fece345 100644 GIT binary patch delta 21 ccmaF!gZ0f1R(APr4vtRM^hWlr?2M^30A%n7&j0`b delta 21 ccmaF!gZ0f1R(APr4vy+Lher0T?2M^30A(!)(*OVf diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_23/data/cls_params/RenewableModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_23/data/cls_params/RenewableModule/time_series.csv.gz index cf57e1ed9d1ddfd106a4549ca7e73293e7c25ef6..880c1ed7b39b2820d7fff5fe0d46b834420ba097 100644 GIT binary patch delta 18 acmbPtl4;&aCU*I54vtRM^o{J(mjD1i>jsBn82|tP diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_24/data/cls_params/LoadModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_24/data/cls_params/LoadModule/time_series.csv.gz index 98f549ec6a282f7b67aa3cd07e801e01fe64e81b..d442b7804b39e930dde45b9806eaf4c7bfd89c1d 100644 GIT binary patch delta 21 ccmZ2@mUZD-R(APr4vtRM^hWlr?2NP008^j`0ssI2 delta 21 ccmZ2@mUZD-R(APr4vy+Lher0T?2NP008`xu1^@s6 diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_24/data/cls_params/RenewableModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_24/data/cls_params/RenewableModule/time_series.csv.gz index 25c27a13ef3a40f1941a7a934f81cf75fcb62158..2aeeaa0c0e4d9b609ff5316d6307a4a255436b31 100644 GIT binary patch delta 18 acmaEKp6StfCU*I54vtRM^o{JdmjeJv^apnU delta 18 acmaEKp6StfCU*I54vy+LhmGvFmjeJwB?o%| diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_24/microgrid_24.yaml b/src/pymgrid/data/scenario/pymgrid25/microgrid_24/microgrid_24.yaml index 682c61de..77ad2fc0 100644 --- a/src/pymgrid/data/scenario/pymgrid25/microgrid_24/microgrid_24.yaml +++ b/src/pymgrid/data/scenario/pymgrid25/microgrid_24/microgrid_24.yaml @@ -2,8 +2,8 @@ final_step: 8759 initial_step: 0 modules: -- - load - - !LoadModule +- - pv + - !RenewableModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -14,15 +14,16 @@ modules: normalized_action_bounds: - 0 - 1 + provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' name: - - load + - pv - 0 state: _current_step: 0 -- - pv - - !RenewableModule +- - load + - !LoadModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -33,11 +34,25 @@ modules: normalized_action_bounds: - 0 - 1 - provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' name: - - pv + - load + - 0 + state: + _current_step: 0 +- - curtailment + - !CurtailmentModule + cls_params: + curtailment_cost: 0.0 + initial_step: 0 + modules_to_curtail: null + normalized_action_bounds: + - 0 + - 1 + raise_errors: false + name: + - curtailment - 0 state: _current_step: 0 diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_3/data/cls_params/LoadModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_3/data/cls_params/LoadModule/time_series.csv.gz index 36a3c2a58207e201346095703e2c3085692416c2..480bba5cf1e0873ebc79fba4efc47ec5269d9992 100644 GIT binary patch delta 21 ccmZqcXKU+cW0&vd;Al}zZ)D%f&RE|L07hvBQvd(} delta 21 ccmZqcXKU+cW0&vd;3$i8Xk_2Y&RE|L07j+;R{#J2 diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_3/data/cls_params/RenewableModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_3/data/cls_params/RenewableModule/time_series.csv.gz index ab70b6d787772da8408d0707de901c70f461e0f7..42b45fc7ade8c3664c9b23aac8391c29ae13feb8 100644 GIT binary patch delta 18 ZcmbPuhH2s%CU*I54vrSp^o{IX%K$xK1^55} delta 18 ZcmbPuhH2s%CU*I54vw-ohmGu9%K$x*1^fU2 diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_3/microgrid_3.yaml b/src/pymgrid/data/scenario/pymgrid25/microgrid_3/microgrid_3.yaml index 09942c94..024f6baa 100644 --- a/src/pymgrid/data/scenario/pymgrid25/microgrid_3/microgrid_3.yaml +++ b/src/pymgrid/data/scenario/pymgrid25/microgrid_3/microgrid_3.yaml @@ -2,8 +2,8 @@ final_step: 8759 initial_step: 0 modules: -- - load - - !LoadModule +- - pv + - !RenewableModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -14,15 +14,16 @@ modules: normalized_action_bounds: - 0 - 1 + provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' name: - - load + - pv - 0 state: _current_step: 0 -- - pv - - !RenewableModule +- - load + - !LoadModule cls_params: final_step: 8759 forecast_horizon: 23 @@ -33,11 +34,25 @@ modules: normalized_action_bounds: - 0 - 1 - provided_energy_name: renewable_used raise_errors: false - time_series: !NDArray 'data/cls_params/RenewableModule/time_series.csv.gz' + time_series: !NDArray 'data/cls_params/LoadModule/time_series.csv.gz' name: - - pv + - load + - 0 + state: + _current_step: 0 +- - curtailment + - !CurtailmentModule + cls_params: + curtailment_cost: 0.0 + initial_step: 0 + modules_to_curtail: null + normalized_action_bounds: + - 0 + - 1 + raise_errors: false + name: + - curtailment - 0 state: _current_step: 0 diff --git a/src/pymgrid/data/scenario/pymgrid25/microgrid_4/data/cls_params/GridModule/time_series.csv.gz b/src/pymgrid/data/scenario/pymgrid25/microgrid_4/data/cls_params/GridModule/time_series.csv.gz index ba20c009fe86c8eb1f51fceeb9b4dd3f9b91db2e..52c612a3b0974047b719474cbb7dbb39bbe2f5a2 100644 GIT binary patch delta 21 ccmaF6h~@1f7Iyh=4vrSp^hWlr?2KuG09We Date: Fri, 19 May 2023 00:31:22 -0700 Subject: [PATCH 09/15] fix set names check --- src/pymgrid/modules/module_container.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pymgrid/modules/module_container.py b/src/pymgrid/modules/module_container.py index c0b09699..9656d4a0 100644 --- a/src/pymgrid/modules/module_container.py +++ b/src/pymgrid/modules/module_container.py @@ -461,7 +461,7 @@ def get_subcontainers(modules, set_names=True): if set_names: name = (module_name, len(d[source_sink_both][module_name]) - 1) - if not name == module.name or all(x is None for x in module.name): + if not name == module.name or not all(x is None for x in module.name): warnings.warn(f"Overwriting module name '{module.name}' with name '{name}'.") module.name = name From 8f66767367a56d40b165f3d6aede42b894568cb6 Mon Sep 17 00:00:00 2001 From: ahalev Date: Fri, 19 May 2023 00:38:46 -0700 Subject: [PATCH 10/15] add _setup_curtailment method --- src/pymgrid/microgrid/microgrid.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/pymgrid/microgrid/microgrid.py b/src/pymgrid/microgrid/microgrid.py index c6f38c5c..bd46fb58 100644 --- a/src/pymgrid/microgrid/microgrid.py +++ b/src/pymgrid/microgrid/microgrid.py @@ -118,6 +118,8 @@ def __init__(self, loss_load_cost, overgeneration_cost) + self._setup_curtailment() + # TODO (ahalev) transform envs to wrappers, and remove microgrid from attr names) self.microgrid_action_space = MicrogridSpace.from_module_spaces( self._modules.get_attrs('action_space', 'module_type', as_pandas=False), 'act') @@ -226,6 +228,11 @@ def _check_trajectory_func(self, trajectory_func): return trajectory_func + def _setup_curtailment(self): + for module in self._modules.iterlist(): + if isinstance(module, CurtailmentModule): + module.setup(self._modules) + def reset(self): """ Reset the microgrid and flush the log. From d5f4a3c9d0f7cd1442593eeb024b60c0c319dbf6 Mon Sep 17 00:00:00 2001 From: ahalev Date: Fri, 19 May 2023 00:39:18 -0700 Subject: [PATCH 11/15] remove unused code --- src/pymgrid/microgrid/microgrid.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/pymgrid/microgrid/microgrid.py b/src/pymgrid/microgrid/microgrid.py index bd46fb58..35cf4c18 100644 --- a/src/pymgrid/microgrid/microgrid.py +++ b/src/pymgrid/microgrid/microgrid.py @@ -191,12 +191,7 @@ def _get_module_container(self, if add_unbalanced_module: modules.append(self._get_unbalanced_energy_module(loss_load_cost, overgeneration_cost)) - container = ModuleContainer(modules) - - if curtailment_module: - curtailment_module.setup(container) - - return container + return ModuleContainer(modules) def _check_trajectory_func(self, trajectory_func): if trajectory_func is None: From 4963c28459af87937fee396be7644c9f8ed802b6 Mon Sep 17 00:00:00 2001 From: ahalev Date: Fri, 19 May 2023 00:39:32 -0700 Subject: [PATCH 12/15] remove more --- src/pymgrid/microgrid/microgrid.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/pymgrid/microgrid/microgrid.py b/src/pymgrid/microgrid/microgrid.py index 35cf4c18..1d5c73e3 100644 --- a/src/pymgrid/microgrid/microgrid.py +++ b/src/pymgrid/microgrid/microgrid.py @@ -183,10 +183,7 @@ def _get_module_container(self, raise TypeError("modules must be list-like of modules.") if add_curtailment_module: - curtailment_module = CurtailmentModule(curtailment_cost=curtailment_cost) - modules.append(curtailment_module) - else: - curtailment_module = None + modules.append(CurtailmentModule(curtailment_cost=curtailment_cost)) if add_unbalanced_module: modules.append(self._get_unbalanced_energy_module(loss_load_cost, overgeneration_cost)) From 6eb1cd7bc62ac50e9e2ebbfb553c4aada290a0cd Mon Sep 17 00:00:00 2001 From: ahalev Date: Fri, 19 May 2023 00:39:40 -0700 Subject: [PATCH 13/15] clean up reset --- src/pymgrid/microgrid/microgrid.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/pymgrid/microgrid/microgrid.py b/src/pymgrid/microgrid/microgrid.py index 1d5c73e3..976b1f24 100644 --- a/src/pymgrid/microgrid/microgrid.py +++ b/src/pymgrid/microgrid/microgrid.py @@ -235,13 +235,12 @@ def reset(self): Observations from resetting the modules as well as the flushed balance log. """ self._set_trajectory() - def reset_args(module): return (self.modules,) if isinstance(module, CurtailmentModule) else () + self._setup_curtailment() return { - **{name: [module.reset(*reset_args(module)) for module in module_list] - for name, module_list in self.modules.iterdict()}, - **{"balance": self._balance_logger.flush(), - "other": self._microgrid_logger.flush()} + **{name: [module.reset() for module in module_list] for name, module_list in self.modules.iterdict()}, + "balance": self._balance_logger.flush(), + "other": self._microgrid_logger.flush() } def _set_trajectory(self): From ad2e82655bb1fda9786a13efee0bd42de7a8978a Mon Sep 17 00:00:00 2001 From: ahalev Date: Fri, 19 May 2023 00:42:31 -0700 Subject: [PATCH 14/15] check for empty curtailment modules --- src/pymgrid/modules/curtailment_module.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/pymgrid/modules/curtailment_module.py b/src/pymgrid/modules/curtailment_module.py index 9ef3153f..0d1e3d3c 100644 --- a/src/pymgrid/modules/curtailment_module.py +++ b/src/pymgrid/modules/curtailment_module.py @@ -141,6 +141,9 @@ def _update_max_consumption(self): assert self._current_step == self._curtailment_modules.get_attrs('final_step', unique=True).item() - 1 self._next_max_consumption = 0.0 return True + except ValueError: + assert len(self._curtailment_modules) == 0 + self._next_max_consumption = 0.0 def _state_dict(self): return dict() From 3cf03eaaca05603d586e331cc7325589ad008cd8 Mon Sep 17 00:00:00 2001 From: ahalev Date: Fri, 19 May 2023 00:42:43 -0700 Subject: [PATCH 15/15] empty serialize with no curtailment --- tests/microgrid/serialize/test_microgrid_serialization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/microgrid/serialize/test_microgrid_serialization.py b/tests/microgrid/serialize/test_microgrid_serialization.py index 52636ef9..5ded5bcc 100644 --- a/tests/microgrid/serialize/test_microgrid_serialization.py +++ b/tests/microgrid/serialize/test_microgrid_serialization.py @@ -8,7 +8,7 @@ class TestMicrogridSerialization(TestCase): def test_serialize_no_modules(self): - microgrid = Microgrid([], add_unbalanced_module=False) + microgrid = Microgrid([], add_curtailment_module=False, add_unbalanced_module=False) dump = microgrid.dump() loaded = Microgrid.load(dump)