1515pd .set_option ("display.max_columns" , 20 )
1616
1717
18- def read_iamc_data_frame ():
18+ def read_iamc_data_frame (filepath ):
1919 xls = pd .read_excel (
20- "/IdeaProjects/pypsa-at/results/v2025.02/KN2045_Mix/evaluation/exported_iamc_variables.xlsx" ,
20+ filepath ,
2121 index_col = [0 , 1 , 2 , 3 , 4 ],
2222 )
2323 xls .columns .name = "Year"
2424 return xls .stack ()
2525
2626
27- def main ():
28- year = "2050"
29- region = "GB0"
30-
31- df = read_iamc_data_frame ()
32- df = rename_aggregate (df , "TWh" , level = "Unit" ).div (1e6 )
33- df = filter_by (df , Year = year , Region = region )
34-
35- raw_mapping = get_mapping (df )
36- variables = df .index .unique ("Variable" )
37- for k , v in raw_mapping .items ():
38- if k in variables :
39- clean_mapping [k ] = v
40- else :
41- print (f"Skipping '{ k } ' because it does not exist in { region } { year } ." )
42-
43- iamc = pyam .IamDataFrame (df )
44- fig = iamc .plot .sankey (mapping = clean_mapping )
45-
46- fig .update_layout (height = 600 )
47-
48- plotly .io .show (fig )
49-
50-
5127def get_mapping (df ) -> (dict , set ):
5228 mapping = {}
5329 nodes = set ()
@@ -147,14 +123,15 @@ def get_xmap(nodes) -> dict:
147123
148124
149125if __name__ == "__main__" :
150- FILEPATH = "/IdeaProjects/pypsa-at/results/v2025.02/KN2045_Mix/evaluation/exported_iamc_variables.xlsx"
151- df = read_iamc_data_frame ()
126+ df = read_iamc_data_frame (
127+ filepath = "/IdeaProjects/pypsa-at/results/v2025.03/AT10_KN2040/evaluation/exported_iamc_variables.xlsx"
128+ )
152129 mapping , nodes = get_mapping (df )
153130 mapping_sorted = {k : mapping [k ] for k in sorted (mapping , key = sort_mapping )}
154131 xmap = get_xmap (nodes )
155132 df = rename_aggregate (df , "TWh" , level = "Unit" ).div (1e6 )
156133 year = "2050"
157- region = "GB0 "
134+ region = "FR0 "
158135 df = filter_by (df , Year = year , Region = region )
159136
160137 clean_mapping = {}
@@ -173,8 +150,6 @@ def get_xmap(nodes) -> dict:
173150
174151 node ["x" ] = [xmap .get (label , 0.2 ) for label in node ["label" ]]
175152 node ["y" ] = [xmap .get (label , 0.4 ) for label in node ["label" ]]
176- # node["y"] = [ymap[label] for label in node["label"]]
177- # node["color"] = [colormap[label] for label in node["label"]]
178153
179154 new_sankey = Sankey (
180155 node = node ,
@@ -184,6 +159,6 @@ def get_xmap(nodes) -> dict:
184159
185160 fig = Figure (data = [new_sankey ])
186161
187- fig .update_layout (height = 600 )
162+ fig .update_layout (height = 800 )
188163
189164 plotly .io .show (fig )
0 commit comments