domainiac 4.0.0__py3-none-any.whl → 5.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -41,14 +41,14 @@ class PlantManager(MasterdataManager):
41
41
  "is_tso_connected",
42
42
  "valid_from_date_utc",
43
43
  "valid_to_date_utc",
44
- "net_component_id",
44
+ "primary_net_component_id",
45
45
  ]
46
46
  if not columns:
47
47
  columns = default_columns
48
48
 
49
49
  # TODO: masterdata_plant table doesn't have net_component_id column
50
50
  # Find a better way to do this in future.
51
- plant_columns = [col for col in columns if col != "net_component_id"]
51
+ plant_columns = [col for col in columns if col != "primary_net_component_id"]
52
52
  df_plant = self.get_data(
53
53
  "masterdataPlant", filters=filters, columns=plant_columns
54
54
  )
@@ -119,14 +119,14 @@ class PlantManager(MasterdataManager):
119
119
 
120
120
  def _get_power_system_resource(self) -> pd.DataFrame:
121
121
 
122
- df_unit = self.unit_manager.get_units(columns=["masterdata_gsrn"])
122
+ df_unit = self.unit_manager.get_units(
123
+ columns=["masterdata_gsrn", "capacity_min_MW", "capacity_max_MW"]
124
+ )
123
125
 
124
126
  df_psr_mapping = self.db.query("masterdataAggregatedUnit")[
125
127
  ["unit_gsrn", "net_component_id"]
126
128
  ]
127
129
 
128
- df_unit = df_unit[["masterdata_gsrn", "plant_id"]]
129
-
130
130
  df = pd.merge(
131
131
  df_psr_mapping,
132
132
  df_unit,
@@ -134,6 +134,27 @@ class PlantManager(MasterdataManager):
134
134
  right_on="masterdata_gsrn",
135
135
  how="left",
136
136
  validate="1:m",
137
- )[["net_component_id", "plant_id"]]
137
+ )
138
+
139
+ # for a small number of plants, the underlying unit can
140
+ # be associated with different net components. Too avoid
141
+ # this issue, we choose for each plant, the net component,
142
+ # for which the underlying units amounts to the largest
143
+ # capacity
144
+ df = pdz.group(df, by=["net_component_id", "plant_id"]).agg(
145
+ {"capacity_min_MW": "sum", "capacity_max_MW": "sum"}
146
+ )
147
+
148
+ df["capacity_range_MW"] = df["capacity_max_MW"] - df["capacity_min_MW"]
149
+
150
+ df = df.sort_values(
151
+ ["plant_id", "capacity_range_MW"], ascending=False
152
+ ).drop_duplicates(subset=["plant_id"], keep="first")
153
+
154
+ df = df.rename(
155
+ columns={
156
+ "net_component_id": "primary_net_component_id",
157
+ }
158
+ )
138
159
 
139
160
  return df
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: domainiac
3
- Version: 4.0.0
3
+ Version: 5.0.0
4
4
  Summary: Package for working with Energinet data, but with specialized functions used for Enigma.
5
5
  Author: Team Enigma
6
6
  Author-email: gridop-enigma@energinet.dk
@@ -3,7 +3,7 @@ domainiac/managers/__init__.py,sha256=x7NZxFAuJig2TZGJ71niwMyPyDvxjaiE647BJQU0qD
3
3
  domainiac/managers/masterdata_manager.py,sha256=H-Dk-dvZZ3bqgV66Xf1V4GQnQWprzLqSKdfD1MPLQgo,2223
4
4
  domainiac/managers/metering_manager.py,sha256=NXGHuNjWiAUE08fGIPAfvwbzlKESbKaO5uyxLNyZKC0,995
5
5
  domainiac/managers/nwp_manager.py,sha256=qGr4c1ZbUnVRmhX_LmjaobBKN6BBXUn5bbYVKa_5lo4,9921
6
- domainiac/managers/plant_manager.py,sha256=5NJA8nxx-gTgAXXeVJHK9knwEL-_SiZnQa1tIePVP2g,4307
6
+ domainiac/managers/plant_manager.py,sha256=aqJ04QB-QI83zIllQiyTrlh_SKR6CYI4bY4z4RlBL3g,5083
7
7
  domainiac/managers/resource_manager.py,sha256=QMkNcrgyXLLlkCR9kg4-nFjTaYHtlsldex-b_8lAmO0,3730
8
8
  domainiac/managers/unit_manager.py,sha256=DYF-AiBHzUGZJE5XlTLcszvgIQkSzZs_s9o35l4bkVk,1219
9
9
  domainiac/modeling/__init__.py,sha256=Ac5feYZ9gVLayU1Cb1ACqOyDrmvcxoOvZuUkOeXVKf8,101
@@ -11,6 +11,6 @@ domainiac/modeling/nwp.py,sha256=PolrBdQn8W-e1M0_pefvmLn2mr4HT0NqlYlkyCV0dds,438
11
11
  domainiac/modeling/plant.py,sha256=48KEcfiMk90fOAzOeI5qtf1FcGvpyBNIRmN2zvx9CLc,1699
12
12
  domainiac/wrappers/__init__.py,sha256=vZOw9maXgVoAvudZqioD-GTPkgPI6fm7_CUELQcR_-g,43
13
13
  domainiac/wrappers/cache_wrapper.py,sha256=jDg-Lt_y-YzItyP-74tGULOxb07s_CcutmOHP1Ie00Q,355
14
- domainiac-4.0.0.dist-info/METADATA,sha256=ayM8aSuYDSjgE1KM4GrCURc52_gMu60J_HCFSA65p-E,510
15
- domainiac-4.0.0.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
16
- domainiac-4.0.0.dist-info/RECORD,,
14
+ domainiac-5.0.0.dist-info/METADATA,sha256=x2KN4qk3ZS1-Mn1uQ9IHLGF7VE_YdoTQkWfq1WK3LiE,510
15
+ domainiac-5.0.0.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
16
+ domainiac-5.0.0.dist-info/RECORD,,