diff --git a/.gitattributes b/.gitattributes index 157d94572a..52b9e90aa0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,7 +2,46 @@ # # SPDX-License-Identifier: CC0-1.0 +# LFS files *.h5 filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text + # SCM syntax highlighting & preventing 3-way merges pixi.lock merge=binary linguist-language=YAML linguist-generated=true + +# Line ending normalization +* text=auto + +# Shell scripts must use LF (even on Windows) +*.sh text eol=lf + +# NSIS scripts use LF +*.nsi text eol=lf + +# Windows batch files use CRLF +*.bat text eol=crlf +*.cmd text eol=crlf + +# Python uses LF +*.py text eol=lf + +# Config/data files use LF +*.yaml text eol=lf +*.yml text eol=lf +*.toml text eol=lf +*.json text eol=lf +*.csv text eol=lf +*.tsv text eol=lf +pixi.lock text eol=lf + +# Binary files +*.exe binary +*.dll binary +*.png binary +*.jpg binary +*.jpeg binary +*.ico binary +*.bmp binary +*.gz binary +*.tar binary +*.pdf binary diff --git a/data/agg_p_nom_minmax.csv b/data/agg_p_nom_minmax.csv index a3a10dc217..ea600b1eb6 100644 --- a/data/agg_p_nom_minmax.csv +++ b/data/agg_p_nom_minmax.csv @@ -1,33 +1,33 @@ -,,2030,2030,2040,2040,2050,2050 -,,min,max,min,max,min,max -country,carrier,,,,,, -DE,onwind,0.1,,0.1,,0.1, -DE,offwind-ac,0.1,,0.1,,0.1, -DE,offwind-dc,0.1,,0.1,,0.1, -DE,solar,0.2,,0.2,,0.2, -LU,onwind,,,,,, -LU,solar,,,,,, -NL,onwind,,,,,, -NL,offwind-ac,,,,,, -NL,offwind-dc,,,,,, -NL,solar,,,,,, -GB,onwind,,,,,, -GB,offwind-ac,,,,,, -GB,offwind-dc,,,,,, -GB,solar,,,,,, -IE,onwind,,,,,, -IE,offwind-ac,,,,,, -IE,offwind-dc,,,,,, -IE,solar,,,,,, -FR,onwind,,,,,, -FR,offwind-ac,,,,,, -FR,offwind-dc,,,,,, -FR,solar,,,,,, -DK,onwind,,,,,, -DK,offwind-ac,,,,,, -DK,offwind-dc,,,,,, -DK,solar,,,,,, -BE,onwind,,,,,, -BE,offwind-ac,,,,,, -BE,offwind-dc,,,,,, -BE,solar,,,,,, +,,2030,2030,2040,2040,2050,2050 +,,min,max,min,max,min,max +country,carrier,,,,,, +DE,onwind,0.1,,0.1,,0.1, +DE,offwind-ac,0.1,,0.1,,0.1, +DE,offwind-dc,0.1,,0.1,,0.1, +DE,solar,0.2,,0.2,,0.2, +LU,onwind,,,,,, +LU,solar,,,,,, +NL,onwind,,,,,, +NL,offwind-ac,,,,,, +NL,offwind-dc,,,,,, +NL,solar,,,,,, +GB,onwind,,,,,, +GB,offwind-ac,,,,,, +GB,offwind-dc,,,,,, +GB,solar,,,,,, +IE,onwind,,,,,, +IE,offwind-ac,,,,,, +IE,offwind-dc,,,,,, +IE,solar,,,,,, +FR,onwind,,,,,, +FR,offwind-ac,,,,,, +FR,offwind-dc,,,,,, +FR,solar,,,,,, +DK,onwind,,,,,, +DK,offwind-ac,,,,,, +DK,offwind-dc,,,,,, +DK,solar,,,,,, +BE,onwind,,,,,, +BE,offwind-ac,,,,,, +BE,offwind-dc,,,,,, +BE,solar,,,,,, diff --git a/data/eia_hydro_annual_capacity.csv b/data/eia_hydro_annual_capacity.csv index 5987f40950..21020a58f8 100644 --- a/data/eia_hydro_annual_capacity.csv +++ b/data/eia_hydro_annual_capacity.csv @@ -1,53 +1,53 @@ -# https://www.eia.gov/international/data/world/electricity/electricity-generation?pd=2&p=00000000000000000000008&u=1&f=A&v=mapbubble&a=-&i=none&vo=value&t=R&g=000000000000002&l=73-1028i008017kg6368g80a4k000e0ag00gg0004g8g0ho00g000400008&l=72-00000000000000000000000000080000000000000000000g&s=315532800000&e=1672531200000&ev=false&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Report generated on: 02-05-2025 17:16:07,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -API,,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 -,hydroelectricity installed capacity (million kW),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -INTL.33-7-EURO-MK.A, Europe,136.143,137.425,141.734,143.763,142.894,144.738,147.631,150.428,153.428,153.345,139.346,134.524,137.463,138.338,139.688,141.47,142.121,143.595,143.957,146.4204,145.2179,145.5965,146.7495,148.2765,149.0336,149.9727,150.8246,152.7436,154.1192,155.6083,158.0326,160.8192,164.1323,168.0195,169.5719,173.5581,175.5341,176.8983,178.9095,179.8642,184.2418,185.99712,186.987251,187.60383 -INTL.33-7-ALB-MK.A, Albania,0.5,0.525,0.55,0.6,0.625,0.65,0.675,0.68,0.69,0.69,1.668,1.668,1.668,1.668,1.668,1.445,1.445,1.445,1.445,1.445,1.453,1.453,1.453,1.453,1.453,1.453,1.453,1.455,1.457,1.459,1.475,1.508,1.628,1.781,1.725,1.798,1.913,2.047,2.105,2.162,2.387,2.507,2.507,2.493 -INTL.33-7-AUT-MK.A, Austria,8.206,9.157,9.51,9.582,10.034,10.171,10.423,10.691,10.762,10.858,7.028,7.129,7.204,7.202,7.245,7.323,7.385,7.54,7.685,7.669,7.676,7.703,7.567,7.607,7.613,7.667,7.684,7.845,7.848,7.827,7.913,7.947,7.97,8.272,8.321,8.457,8.493,8.506,8.591,8.63,9.001,8.553,9.128,9.128 -INTL.33-7-BEL-MK.A, Belgium,0.073,0.08,0.086,0.086,0.086,0.087,0.089,0.09,0.093,0.095,0.094,0.094,0.094,0.095,0.095,0.096,0.096,0.096,0.097,0.103,0.103,0.111,0.111,0.11,0.115,0.105,0.107,0.11,0.111,0.11,0.118,0.119,0.12,0.119,0.121,0.112,0.1091,0.107,0.1078,0.1041,0.1058,0.1107,0.123,0.123 -INTL.33-7-BIH-MK.A, Bosnia and Herzegovina,--,--,--,--,--,--,--,--,--,--,--,--,1.2,1.2,1.139,1.219,1.219,1.219,1.624,1.983,1.508,1.508,1.508,1.508,1.538,1.538,1.538,1.538,1.5686,1.5686,1.6983,1.7,1.7009,1.7018,1.7111,1.7169,1.7602,1.791,1.8156,1.8188,1.8288,1.83685,1.79,1.838 -INTL.33-7-BGR-MK.A, Bulgaria,1.895,1.895,1.895,1.975,1.975,1.975,1.975,1.975,1.975,1.973,1.973,1.401,1.401,1.401,1.401,1.401,1.401,1.803,1.803,1.803,1.016,0.841,1.084,1.651,1.984,1.984,1.984,2.012,2.12,2.137,2.184,2.244,2.317,2.339,2.355,2.355,2.359,2.5076,2.515,2.5143,2.5125,2.356233,2.357,2.526 -INTL.33-7-HRV-MK.A, Croatia,--,--,--,--,--,--,--,--,--,--,--,--,1.769,1.77,1.77,1.781,1.785,1.785,1.785,1.785,2.067,2.067,2.054,2.064,2.071,2.065,2.065,2.063,2.063,2.08,2.129,2.129,2.129,2.178,2.1801,2.1951,2.1921,2.193,2.1995,2.1997,2.1995,1.923,1.923,1.925 -INTL.33-7-CYP-MK.A, Cyprus,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -INTL.33-7-CZE-MK.A, Czechia,--,--,--,--,--,--,--,--,--,--,--,--,--,0.911,0.906,0.908,0.868,0.905,0.888,1.008,0.952,1,1,1.004,1.015,1.02,1.016,1.024,1.029,1.037,1.049,1.05,1.065,1.08,1.08,1.088,1.09,1.0927,1.0925,1.0937,1.0939,1.113363,1.114263,1.115 -INTL.33-7-DNK-MK.A, Denmark,0.008,0.008,0.01,0.009,0.009,0.009,0.009,0.009,0.009,0.011,0.01,0.01,0.01,0.01,0.008,0.01,0.01,0.01,0.011,0.011,0.01,0.011,0.011,0.011,0.011,0.011,0.009,0.009,0.009,0.009,0.0092,0.0093,0.0093,0.0087,0.0086,0.0069,0.0093,0.0072,0.0072,0.0072,0.0072,0.007123,0.007,0.007 -INTL.33-7-EST-MK.A, Estonia,--,--,--,--,--,--,--,--,--,--,--,--,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.0012,0.002,0.002,0.003,0.004,0.004,0.005,0.005,0.005,0.005,0.007,0.006,0.005,0.008,0.008,0.005,0.006,0.006,0.0073,0.0073,0.006,0.008,0.006,0.008,0.008 -INTL.33-7-FRO-MK.A, Faroe Islands,0.018,0.018,0.018,0.018,0.018,0.018,0.018,0.031,0.031,0.031,0.031,0.031,0.031,0.031,0.031,0.031,0.031,0.031,0.031,0.0314,0.0316,0.0316,0.0316,0.0316,0.0316,0.0316,0.0316,0.0316,0.0316,0.0316,0.0316,0.0316,0.0393,0.0393,0.0393,0.0393,0.0393,0.0393,0.0397,0.0397,0.0397,0.0397,0.0397,0.0397 -INTL.33-7-FIN-MK.A, Finland,2.42,2.467,2.474,2.503,2.497,2.505,2.555,2.586,2.597,2.586,2.621,2.648,2.679,2.731,2.736,2.777,2.785,2.861,2.881,2.881,2.882,2.926,2.964,2.966,2.999,3.035,3.062,3.102,3.006,3.029,3.039,3.08,3.08,3.108,3.132,3.133,3.133,3.156,3.152,3.157,3.164,3.171,3.177,3.177 -INTL.33-7-CSK-MK.A, Former Czechoslovakia,2.578,2.832,2.84,2.84,2.875,2.897,2.89,2.975,2.988,3.042,3.036,3.061,3.061,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- -INTL.33-7-SCG-MK.A, Former Serbia and Montenegro,--,--,--,--,--,--,--,--,--,--,--,--,2.25,2.25,2.25,2.25,2.25,2.25,2.25,2.296,2.296,2.296,2.296,2.296,2.206,2.206,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- -INTL.33-7-YUG-MK.A, Former Yugoslavia,6.2,6.25,5.886,5.886,6.386,6.736,7.086,7.386,7.625,7.686,7.386,7.386,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- -INTL.33-7-FRA-MK.A, France,17.431,17.63,18.247,18.4,18.661,19.034,19.786,19.991,20.174,20.338,17.717,17.655,17.767,17.837,17.902,17.898,18,18.018,18.024,17.947,17.479,17.508,17.596,17.733,17.618,17.617,17.627,17.642,17.734,17.814,17.953,18.183,18.2,18.19,18.212,18.231,18.3,18.3718,18.3957,18.4522,18.6732,18.995993,18.864,18.767 -INTL.33-7-DEU-MK.A, Germany,--,--,--,--,--,--,--,--,--,--,--,3.31,3.317,3.385,3.471,3.624,3.563,3.569,3.642,3.802,4.086,4.101,4.193,4.088,4.209,4.134,4.117,4.083,4.104,4.203,4.178,4.4,4.391,4.391,4.38,4.39,4.399,4.407,4.214,4.214,4.285,4.358,4.487,4.607 -INTL.33-7-DDR-MK.A," Germany, East",1.852,1.845,1.852,1.851,1.845,1.844,1.844,1.844,1.844,1.844,1.844,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- -INTL.33-7-DEUW-MK.A," Germany, West",6.45,6.509,6.531,6.631,6.668,6.71,6.71,6.71,6.85,6.86,6.86,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- -INTL.33-7-GIB-MK.A, Gibraltar,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -INTL.33-7-GRC-MK.A, Greece,1.415,1.714,1.714,1.714,1.714,1.822,1.822,1.822,1.836,1.986,2.093,2.197,2.208,2.208,2.208,2.208,2.207,2.412,2.241,2.344,2.373,2.377,2.379,2.38,2.4,2.407,2.435,2.451,2.477,2.502,2.516,2.525,2.537,2.539,2.69,2.693,2.693,2.693,2.71,2.71,2.697,2.722,2.722,2.724 -INTL.33-7-HUN-MK.A, Hungary,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.054,0.049,0.049,0.049,0.049,0.051,0.053,0.053,0.055,0.056,0.057,0.057,0.057,0.057,0.057,0.057,0.058,0.058,0.06,0.06,0.06 -INTL.33-7-ISL-MK.A, Iceland,0.545,0.615,0.755,0.755,0.755,0.755,0.756,0.756,0.756,0.756,0.756,0.779,0.879,0.879,0.884,0.884,0.884,0.923,0.956,1.016,1.064,1.109,1.155,1.155,1.163,1.163,1.163,1.758,1.879,1.875,1.883,1.884,1.877,1.984,1.984,1.987,1.987,1.9947,2.0987,2.1045,2.1144,2.114419,2.114419,2.114 -INTL.33-7-IRL-MK.A, Ireland,0.224,0.224,0.225,0.225,0.226,0.226,0.221,0.222,0.222,0.222,0.223,0.226,0.226,0.226,0.227,0.227,0.232,0.233,0.233,0.236,0.236,0.238,0.24,0.24,0.24,0.234,0.234,0.234,0.234,0.234,0.237,0.237,0.237,0.237,0.237,0.237,0.237,0.237,0.237,0.237,0.237,0.237,0.237,0.237 -INTL.33-7-ITA-MK.A, Italy,15.826,15.766,16.877,17.125,12.166,12.16,12.419,12.435,12.495,12.547,12.582,12.692,12.718,12.788,12.864,12.964,12.999,13.06,13.058,13.417,13.389,13.456,13.557,13.703,13.789,13.89,13.528,13.573,13.732,13.827,13.976,14.193,14.325,14.454,14.506,14.507,14.874,14.99,15.076,15.191,15.352,15.529,15.559,15.731 -INTL.33-7-XKS-MK.A, Kosovo,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,0.04,0.04,0.042,0.043,0.043,0.043,0.043,0.043,0.0783,0.0804,0.0804,0.0951,0.1101,0.11013,0.11013,0.11013 -INTL.33-7-LVA-MK.A, Latvia,--,--,--,--,--,--,--,--,--,--,--,--,1.499,1.504,1.506,1.521,1.521,1.487,1.517,1.523,1.513,1.523,1.529,1.537,1.536,1.536,1.536,1.536,1.536,1.536,1.576,1.576,1.576,1.5866,1.5878,1.5877,1.5642,1.5643,1.565,1.5867,1.5863,1.58723,1.60823,1.567 -INTL.33-7-LTU-MK.A, Lithuania,--,--,--,--,--,--,--,--,--,--,--,--,0.106,0.106,0.108,0.108,0.108,0.108,0.108,0.112,0.103,0.103,0.103,0.109,0.11,0.117,0.117,0.115,0.115,0.116,0.116,0.116,0.116,0.116,0.117,0.117,0.117,0.117,0.117,0.117,0.117,0.117,0.117,0.118 -INTL.33-7-LUX-MK.A, Luxembourg,0.029,0.029,0.029,0.032,0.032,0.032,0.032,0.032,0.032,0.032,0.034,0.034,0.034,0.034,0.034,0.034,0.034,0.039,0.039,0.039,0.0333,0.0339,0.0339,0.0339,0.034,0.0341,0.0341,0.0341,0.0341,0.0342,0.0343,0.0343,0.0343,0.0343,0.0343,0.0343,0.0343,0.0345,0.0345,0.0345,0.0345,0.034527,0.031527,0.034 -INTL.33-7-MLT-MK.A, Malta,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -INTL.33-7-MNE-MK.A, Montenegro,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,0.629,0.629,0.629,0.629,0.629,0.629,0.629,0.6298,0.6527,0.6619,0.6682,0.6748,0.6756,0.6762,0.6967,0.696685,0.696685,0.697 -INTL.33-7-NLD-MK.A, Netherlands,0,0,0,0,0,0.002,0.002,0.002,0.002,0.025,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.0369,0.0369,0.038 -INTL.33-7-MKD-MK.A, North Macedonia,--,--,--,--,--,--,--,--,--,--,--,--,0.426,0.426,0.413,0.423,0.423,0.434,0.434,0.4338,0.443,0.443,0.443,0.444,0.544,0.544,0.545,0.546,0.552,0.553,0.555,0.556,0.595,0.617,0.63,0.658,0.6611,0.6707,0.6742,0.6782,0.6874,0.68919,0.696,0.696 -INTL.33-7-NOR-MK.A, Norway,19.443,20.963,21.789,22.37,22.628,23.076,23.555,24.358,24.453,25.728,25.817,25.823,25.963,25.983,26.215,27.379,27.494,27.327,26.982,27.54,26.766,26.319,26.604,26.947,26.721,27.222,27.398,27.647,28.062,28.188,28.367,28.618,29.158,29.682,29.889,29.939,30.281,30.382,31.12,31.387,32.285,32.6283,32.8223,32.954 -INTL.33-7-POL-MK.A, Poland,0.647,0.647,0.647,0.647,0.645,0.646,0.646,0.646,0.772,0.647,0.467,0.467,0.468,0.475,0.489,0.482,0.492,0.495,0.501,0.505,0.509,0.517,0.517,0.524,0.535,0.542,0.549,0.546,0.553,0.556,0.56,0.564,0.569,0.573,0.582,0.588,0.596,0.591,0.592,0.598,0.601,0.598,0.608,0.607 -INTL.33-7-PRT-MK.A, Portugal,2.516,2.615,2.854,2.944,3.016,2.721,2.818,2.82,2.722,2.799,2.783,2.772,3.146,3.613,3.697,3.848,3.867,3.877,3.94,3.93,3.918,3.943,3.966,3.966,3.974,3.968,4.004,4.012,4.009,4.036,4.051,4.484,4.408,4.357,4.362,4.44,4.452,4.456,4.466,4.492,4.471,4.485,4.542,4.489 -INTL.33-7-ROU-MK.A, Romania,3.455,3.533,3.734,3.885,4.062,4.42,4.706,5.057,5.421,5.583,5.666,5.723,5.687,5.872,5.938,6.011,6.038,6.074,6.081,6.082,6.12,6.122,6.242,6.248,6.278,6.289,6.282,6.331,6.362,6.358,6.382,6.391,6.456,6.518,6.521,6.638,6.642,6.6004,6.6092,6.5947,6.5608,6.571,6.571,6.574 -INTL.33-7-SRB-MK.A, Serbia,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,2.2729,2.2729,2.2729,2.2749,2.2932,2.322,2.3515,2.317,2.403,2.408,2.416,2.424,2.429,2.46,2.4683,2.342,2.354,2.494 -INTL.33-7-SVK-MK.A, Slovakia,--,--,--,--,--,--,--,--,--,--,--,--,--,0.925,1.208,1.525,1.655,1.664,1.682,1.684,1.685,1.586,1.586,1.588,1.602,1.596,1.597,1.599,1.632,1.571,1.6,1.607,1.606,1.607,1.607,1.606,1.608,1.607,1.612,1.611,1.613,1.615,1.616,1.616 -INTL.33-7-SVN-MK.A, Slovenia,--,--,--,--,--,--,--,--,--,--,--,--,0.755,0.755,0.756,0.757,0.734,0.734,0.861,0.846,0.843,0.906,0.949,0.974,0.974,0.979,1.009,1.018,1.027,1.07,1.074,1.073,1.074,1.119,1.116,1.115,1.113,1.1666,1.1634,1.1707,1.1719,1.172063,1.174063,1.162 -INTL.33-7-ESP-MK.A, Spain,13.473,10.869,10.945,10.917,10.935,10.959,11.153,10.556,10.984,11.597,11.32,11.429,11.484,11.484,11.545,11.689,11.793,11.596,11.537,11.802,12.054,12.126,12.162,12.242,12.362,12.405,12.502,12.547,12.624,12.649,12.677,12.662,12.672,12.405,12.443,13.273,13.298,13.297,13.298,13.332,13.335,13.719,13.724,13.724 -INTL.33-7-SWE-MK.A, Sweden,14.859,14.919,15.215,15.29,15.445,15.69,15.813,15.996,16.112,15.759,15.904,15.891,16.021,15.867,16.072,15.725,15.776,16.371,16.169,16.432,16.506,16.523,16.187,16.098,16.302,16.302,16.234,16.592,16.352,16.544,16.624,16.478,16.315,16.395,15.897,16.23,16.367,16.403,16.332,16.363,16.307,16.308,16.3,16.3 -INTL.33-7-CHE-MK.A, Switzerland,11.45,11.46,11.47,11.47,11.48,11.48,11.51,11.51,11.52,11.58,3.474,3.484,3.504,3.509,3.526,3.541,3.55,3.553,3.584,3.614,3.514,3.515,3.503,3.524,3.515,3.538,3.546,3.543,3.538,3.601,3.677,3.715,3.717,3.73,3.786,3.848,3.87,3.916,3.9912,4.0279,4.0138,4.26328,4.2996,4.135 -INTL.33-7-TUR-MK.A, Turkiye,2.131,2.356,3.082,3.239,3.875,3.875,3.878,5.003,6.219,6.598,6.764,7.114,8.379,9.682,9.865,9.863,9.935,10.102,10.307,10.537,11.175,11.673,12.241,12.579,12.645,12.906,13.063,13.395,13.829,14.553,15.831,17.137,19.609,22.289,23.643,25.868,26.681,27.273,28.291,28.503,30.984,31.493,31.572,31.779 -INTL.33-7-GBR-MK.A, United Kingdom,2.451,2.451,2.451,2.721,4.188,4.19,4.192,4.197,4.196,1.424,1.11,1.415,1.423,1.425,1.425,1.432,1.455,1.488,1.475,1.477,1.327,1.44,1.396,1.367,1.356,1.343,1.362,1.359,1.456,1.459,1.459,1.477,1.477,1.477,1.477,1.457,1.399,1.399,1.401,1.401,1.398,1.890434,1.890434,1.89 -, Eurasia,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -INTL.33-7-MDA-MK.A, Moldova,--,--,--,--,--,--,--,--,--,--,--,--,0.064,0.064,0.064,0.056,0.056,0.064,0.064,0.064,0.064,0.06,0.06,0.06,0.059,0.059,0.056,0.056,0.064,0.064,0.064,0.064,0.064,0.064,0.064,0.064,0.064,0.0643,0.0643,0.0643,0.0643,0.064254,0.064254,0.064254 +# https://www.eia.gov/international/data/world/electricity/electricity-generation?pd=2&p=00000000000000000000008&u=1&f=A&v=mapbubble&a=-&i=none&vo=value&t=R&g=000000000000002&l=73-1028i008017kg6368g80a4k000e0ag00gg0004g8g0ho00g000400008&l=72-00000000000000000000000000080000000000000000000g&s=315532800000&e=1672531200000&ev=false&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Report generated on: 02-05-2025 17:16:07,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +API,,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +,hydroelectricity installed capacity (million kW),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +INTL.33-7-EURO-MK.A, Europe,136.143,137.425,141.734,143.763,142.894,144.738,147.631,150.428,153.428,153.345,139.346,134.524,137.463,138.338,139.688,141.47,142.121,143.595,143.957,146.4204,145.2179,145.5965,146.7495,148.2765,149.0336,149.9727,150.8246,152.7436,154.1192,155.6083,158.0326,160.8192,164.1323,168.0195,169.5719,173.5581,175.5341,176.8983,178.9095,179.8642,184.2418,185.99712,186.987251,187.60383 +INTL.33-7-ALB-MK.A, Albania,0.5,0.525,0.55,0.6,0.625,0.65,0.675,0.68,0.69,0.69,1.668,1.668,1.668,1.668,1.668,1.445,1.445,1.445,1.445,1.445,1.453,1.453,1.453,1.453,1.453,1.453,1.453,1.455,1.457,1.459,1.475,1.508,1.628,1.781,1.725,1.798,1.913,2.047,2.105,2.162,2.387,2.507,2.507,2.493 +INTL.33-7-AUT-MK.A, Austria,8.206,9.157,9.51,9.582,10.034,10.171,10.423,10.691,10.762,10.858,7.028,7.129,7.204,7.202,7.245,7.323,7.385,7.54,7.685,7.669,7.676,7.703,7.567,7.607,7.613,7.667,7.684,7.845,7.848,7.827,7.913,7.947,7.97,8.272,8.321,8.457,8.493,8.506,8.591,8.63,9.001,8.553,9.128,9.128 +INTL.33-7-BEL-MK.A, Belgium,0.073,0.08,0.086,0.086,0.086,0.087,0.089,0.09,0.093,0.095,0.094,0.094,0.094,0.095,0.095,0.096,0.096,0.096,0.097,0.103,0.103,0.111,0.111,0.11,0.115,0.105,0.107,0.11,0.111,0.11,0.118,0.119,0.12,0.119,0.121,0.112,0.1091,0.107,0.1078,0.1041,0.1058,0.1107,0.123,0.123 +INTL.33-7-BIH-MK.A, Bosnia and Herzegovina,--,--,--,--,--,--,--,--,--,--,--,--,1.2,1.2,1.139,1.219,1.219,1.219,1.624,1.983,1.508,1.508,1.508,1.508,1.538,1.538,1.538,1.538,1.5686,1.5686,1.6983,1.7,1.7009,1.7018,1.7111,1.7169,1.7602,1.791,1.8156,1.8188,1.8288,1.83685,1.79,1.838 +INTL.33-7-BGR-MK.A, Bulgaria,1.895,1.895,1.895,1.975,1.975,1.975,1.975,1.975,1.975,1.973,1.973,1.401,1.401,1.401,1.401,1.401,1.401,1.803,1.803,1.803,1.016,0.841,1.084,1.651,1.984,1.984,1.984,2.012,2.12,2.137,2.184,2.244,2.317,2.339,2.355,2.355,2.359,2.5076,2.515,2.5143,2.5125,2.356233,2.357,2.526 +INTL.33-7-HRV-MK.A, Croatia,--,--,--,--,--,--,--,--,--,--,--,--,1.769,1.77,1.77,1.781,1.785,1.785,1.785,1.785,2.067,2.067,2.054,2.064,2.071,2.065,2.065,2.063,2.063,2.08,2.129,2.129,2.129,2.178,2.1801,2.1951,2.1921,2.193,2.1995,2.1997,2.1995,1.923,1.923,1.925 +INTL.33-7-CYP-MK.A, Cyprus,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +INTL.33-7-CZE-MK.A, Czechia,--,--,--,--,--,--,--,--,--,--,--,--,--,0.911,0.906,0.908,0.868,0.905,0.888,1.008,0.952,1,1,1.004,1.015,1.02,1.016,1.024,1.029,1.037,1.049,1.05,1.065,1.08,1.08,1.088,1.09,1.0927,1.0925,1.0937,1.0939,1.113363,1.114263,1.115 +INTL.33-7-DNK-MK.A, Denmark,0.008,0.008,0.01,0.009,0.009,0.009,0.009,0.009,0.009,0.011,0.01,0.01,0.01,0.01,0.008,0.01,0.01,0.01,0.011,0.011,0.01,0.011,0.011,0.011,0.011,0.011,0.009,0.009,0.009,0.009,0.0092,0.0093,0.0093,0.0087,0.0086,0.0069,0.0093,0.0072,0.0072,0.0072,0.0072,0.007123,0.007,0.007 +INTL.33-7-EST-MK.A, Estonia,--,--,--,--,--,--,--,--,--,--,--,--,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.0012,0.002,0.002,0.003,0.004,0.004,0.005,0.005,0.005,0.005,0.007,0.006,0.005,0.008,0.008,0.005,0.006,0.006,0.0073,0.0073,0.006,0.008,0.006,0.008,0.008 +INTL.33-7-FRO-MK.A, Faroe Islands,0.018,0.018,0.018,0.018,0.018,0.018,0.018,0.031,0.031,0.031,0.031,0.031,0.031,0.031,0.031,0.031,0.031,0.031,0.031,0.0314,0.0316,0.0316,0.0316,0.0316,0.0316,0.0316,0.0316,0.0316,0.0316,0.0316,0.0316,0.0316,0.0393,0.0393,0.0393,0.0393,0.0393,0.0393,0.0397,0.0397,0.0397,0.0397,0.0397,0.0397 +INTL.33-7-FIN-MK.A, Finland,2.42,2.467,2.474,2.503,2.497,2.505,2.555,2.586,2.597,2.586,2.621,2.648,2.679,2.731,2.736,2.777,2.785,2.861,2.881,2.881,2.882,2.926,2.964,2.966,2.999,3.035,3.062,3.102,3.006,3.029,3.039,3.08,3.08,3.108,3.132,3.133,3.133,3.156,3.152,3.157,3.164,3.171,3.177,3.177 +INTL.33-7-CSK-MK.A, Former Czechoslovakia,2.578,2.832,2.84,2.84,2.875,2.897,2.89,2.975,2.988,3.042,3.036,3.061,3.061,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- +INTL.33-7-SCG-MK.A, Former Serbia and Montenegro,--,--,--,--,--,--,--,--,--,--,--,--,2.25,2.25,2.25,2.25,2.25,2.25,2.25,2.296,2.296,2.296,2.296,2.296,2.206,2.206,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- +INTL.33-7-YUG-MK.A, Former Yugoslavia,6.2,6.25,5.886,5.886,6.386,6.736,7.086,7.386,7.625,7.686,7.386,7.386,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- +INTL.33-7-FRA-MK.A, France,17.431,17.63,18.247,18.4,18.661,19.034,19.786,19.991,20.174,20.338,17.717,17.655,17.767,17.837,17.902,17.898,18,18.018,18.024,17.947,17.479,17.508,17.596,17.733,17.618,17.617,17.627,17.642,17.734,17.814,17.953,18.183,18.2,18.19,18.212,18.231,18.3,18.3718,18.3957,18.4522,18.6732,18.995993,18.864,18.767 +INTL.33-7-DEU-MK.A, Germany,--,--,--,--,--,--,--,--,--,--,--,3.31,3.317,3.385,3.471,3.624,3.563,3.569,3.642,3.802,4.086,4.101,4.193,4.088,4.209,4.134,4.117,4.083,4.104,4.203,4.178,4.4,4.391,4.391,4.38,4.39,4.399,4.407,4.214,4.214,4.285,4.358,4.487,4.607 +INTL.33-7-DDR-MK.A," Germany, East",1.852,1.845,1.852,1.851,1.845,1.844,1.844,1.844,1.844,1.844,1.844,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- +INTL.33-7-DEUW-MK.A," Germany, West",6.45,6.509,6.531,6.631,6.668,6.71,6.71,6.71,6.85,6.86,6.86,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- +INTL.33-7-GIB-MK.A, Gibraltar,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +INTL.33-7-GRC-MK.A, Greece,1.415,1.714,1.714,1.714,1.714,1.822,1.822,1.822,1.836,1.986,2.093,2.197,2.208,2.208,2.208,2.208,2.207,2.412,2.241,2.344,2.373,2.377,2.379,2.38,2.4,2.407,2.435,2.451,2.477,2.502,2.516,2.525,2.537,2.539,2.69,2.693,2.693,2.693,2.71,2.71,2.697,2.722,2.722,2.724 +INTL.33-7-HUN-MK.A, Hungary,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.048,0.054,0.049,0.049,0.049,0.049,0.051,0.053,0.053,0.055,0.056,0.057,0.057,0.057,0.057,0.057,0.057,0.058,0.058,0.06,0.06,0.06 +INTL.33-7-ISL-MK.A, Iceland,0.545,0.615,0.755,0.755,0.755,0.755,0.756,0.756,0.756,0.756,0.756,0.779,0.879,0.879,0.884,0.884,0.884,0.923,0.956,1.016,1.064,1.109,1.155,1.155,1.163,1.163,1.163,1.758,1.879,1.875,1.883,1.884,1.877,1.984,1.984,1.987,1.987,1.9947,2.0987,2.1045,2.1144,2.114419,2.114419,2.114 +INTL.33-7-IRL-MK.A, Ireland,0.224,0.224,0.225,0.225,0.226,0.226,0.221,0.222,0.222,0.222,0.223,0.226,0.226,0.226,0.227,0.227,0.232,0.233,0.233,0.236,0.236,0.238,0.24,0.24,0.24,0.234,0.234,0.234,0.234,0.234,0.237,0.237,0.237,0.237,0.237,0.237,0.237,0.237,0.237,0.237,0.237,0.237,0.237,0.237 +INTL.33-7-ITA-MK.A, Italy,15.826,15.766,16.877,17.125,12.166,12.16,12.419,12.435,12.495,12.547,12.582,12.692,12.718,12.788,12.864,12.964,12.999,13.06,13.058,13.417,13.389,13.456,13.557,13.703,13.789,13.89,13.528,13.573,13.732,13.827,13.976,14.193,14.325,14.454,14.506,14.507,14.874,14.99,15.076,15.191,15.352,15.529,15.559,15.731 +INTL.33-7-XKS-MK.A, Kosovo,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,0.04,0.04,0.042,0.043,0.043,0.043,0.043,0.043,0.0783,0.0804,0.0804,0.0951,0.1101,0.11013,0.11013,0.11013 +INTL.33-7-LVA-MK.A, Latvia,--,--,--,--,--,--,--,--,--,--,--,--,1.499,1.504,1.506,1.521,1.521,1.487,1.517,1.523,1.513,1.523,1.529,1.537,1.536,1.536,1.536,1.536,1.536,1.536,1.576,1.576,1.576,1.5866,1.5878,1.5877,1.5642,1.5643,1.565,1.5867,1.5863,1.58723,1.60823,1.567 +INTL.33-7-LTU-MK.A, Lithuania,--,--,--,--,--,--,--,--,--,--,--,--,0.106,0.106,0.108,0.108,0.108,0.108,0.108,0.112,0.103,0.103,0.103,0.109,0.11,0.117,0.117,0.115,0.115,0.116,0.116,0.116,0.116,0.116,0.117,0.117,0.117,0.117,0.117,0.117,0.117,0.117,0.117,0.118 +INTL.33-7-LUX-MK.A, Luxembourg,0.029,0.029,0.029,0.032,0.032,0.032,0.032,0.032,0.032,0.032,0.034,0.034,0.034,0.034,0.034,0.034,0.034,0.039,0.039,0.039,0.0333,0.0339,0.0339,0.0339,0.034,0.0341,0.0341,0.0341,0.0341,0.0342,0.0343,0.0343,0.0343,0.0343,0.0343,0.0343,0.0343,0.0345,0.0345,0.0345,0.0345,0.034527,0.031527,0.034 +INTL.33-7-MLT-MK.A, Malta,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +INTL.33-7-MNE-MK.A, Montenegro,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,0.629,0.629,0.629,0.629,0.629,0.629,0.629,0.6298,0.6527,0.6619,0.6682,0.6748,0.6756,0.6762,0.6967,0.696685,0.696685,0.697 +INTL.33-7-NLD-MK.A, Netherlands,0,0,0,0,0,0.002,0.002,0.002,0.002,0.025,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.037,0.0369,0.0369,0.038 +INTL.33-7-MKD-MK.A, North Macedonia,--,--,--,--,--,--,--,--,--,--,--,--,0.426,0.426,0.413,0.423,0.423,0.434,0.434,0.4338,0.443,0.443,0.443,0.444,0.544,0.544,0.545,0.546,0.552,0.553,0.555,0.556,0.595,0.617,0.63,0.658,0.6611,0.6707,0.6742,0.6782,0.6874,0.68919,0.696,0.696 +INTL.33-7-NOR-MK.A, Norway,19.443,20.963,21.789,22.37,22.628,23.076,23.555,24.358,24.453,25.728,25.817,25.823,25.963,25.983,26.215,27.379,27.494,27.327,26.982,27.54,26.766,26.319,26.604,26.947,26.721,27.222,27.398,27.647,28.062,28.188,28.367,28.618,29.158,29.682,29.889,29.939,30.281,30.382,31.12,31.387,32.285,32.6283,32.8223,32.954 +INTL.33-7-POL-MK.A, Poland,0.647,0.647,0.647,0.647,0.645,0.646,0.646,0.646,0.772,0.647,0.467,0.467,0.468,0.475,0.489,0.482,0.492,0.495,0.501,0.505,0.509,0.517,0.517,0.524,0.535,0.542,0.549,0.546,0.553,0.556,0.56,0.564,0.569,0.573,0.582,0.588,0.596,0.591,0.592,0.598,0.601,0.598,0.608,0.607 +INTL.33-7-PRT-MK.A, Portugal,2.516,2.615,2.854,2.944,3.016,2.721,2.818,2.82,2.722,2.799,2.783,2.772,3.146,3.613,3.697,3.848,3.867,3.877,3.94,3.93,3.918,3.943,3.966,3.966,3.974,3.968,4.004,4.012,4.009,4.036,4.051,4.484,4.408,4.357,4.362,4.44,4.452,4.456,4.466,4.492,4.471,4.485,4.542,4.489 +INTL.33-7-ROU-MK.A, Romania,3.455,3.533,3.734,3.885,4.062,4.42,4.706,5.057,5.421,5.583,5.666,5.723,5.687,5.872,5.938,6.011,6.038,6.074,6.081,6.082,6.12,6.122,6.242,6.248,6.278,6.289,6.282,6.331,6.362,6.358,6.382,6.391,6.456,6.518,6.521,6.638,6.642,6.6004,6.6092,6.5947,6.5608,6.571,6.571,6.574 +INTL.33-7-SRB-MK.A, Serbia,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,2.2729,2.2729,2.2729,2.2749,2.2932,2.322,2.3515,2.317,2.403,2.408,2.416,2.424,2.429,2.46,2.4683,2.342,2.354,2.494 +INTL.33-7-SVK-MK.A, Slovakia,--,--,--,--,--,--,--,--,--,--,--,--,--,0.925,1.208,1.525,1.655,1.664,1.682,1.684,1.685,1.586,1.586,1.588,1.602,1.596,1.597,1.599,1.632,1.571,1.6,1.607,1.606,1.607,1.607,1.606,1.608,1.607,1.612,1.611,1.613,1.615,1.616,1.616 +INTL.33-7-SVN-MK.A, Slovenia,--,--,--,--,--,--,--,--,--,--,--,--,0.755,0.755,0.756,0.757,0.734,0.734,0.861,0.846,0.843,0.906,0.949,0.974,0.974,0.979,1.009,1.018,1.027,1.07,1.074,1.073,1.074,1.119,1.116,1.115,1.113,1.1666,1.1634,1.1707,1.1719,1.172063,1.174063,1.162 +INTL.33-7-ESP-MK.A, Spain,13.473,10.869,10.945,10.917,10.935,10.959,11.153,10.556,10.984,11.597,11.32,11.429,11.484,11.484,11.545,11.689,11.793,11.596,11.537,11.802,12.054,12.126,12.162,12.242,12.362,12.405,12.502,12.547,12.624,12.649,12.677,12.662,12.672,12.405,12.443,13.273,13.298,13.297,13.298,13.332,13.335,13.719,13.724,13.724 +INTL.33-7-SWE-MK.A, Sweden,14.859,14.919,15.215,15.29,15.445,15.69,15.813,15.996,16.112,15.759,15.904,15.891,16.021,15.867,16.072,15.725,15.776,16.371,16.169,16.432,16.506,16.523,16.187,16.098,16.302,16.302,16.234,16.592,16.352,16.544,16.624,16.478,16.315,16.395,15.897,16.23,16.367,16.403,16.332,16.363,16.307,16.308,16.3,16.3 +INTL.33-7-CHE-MK.A, Switzerland,11.45,11.46,11.47,11.47,11.48,11.48,11.51,11.51,11.52,11.58,3.474,3.484,3.504,3.509,3.526,3.541,3.55,3.553,3.584,3.614,3.514,3.515,3.503,3.524,3.515,3.538,3.546,3.543,3.538,3.601,3.677,3.715,3.717,3.73,3.786,3.848,3.87,3.916,3.9912,4.0279,4.0138,4.26328,4.2996,4.135 +INTL.33-7-TUR-MK.A, Turkiye,2.131,2.356,3.082,3.239,3.875,3.875,3.878,5.003,6.219,6.598,6.764,7.114,8.379,9.682,9.865,9.863,9.935,10.102,10.307,10.537,11.175,11.673,12.241,12.579,12.645,12.906,13.063,13.395,13.829,14.553,15.831,17.137,19.609,22.289,23.643,25.868,26.681,27.273,28.291,28.503,30.984,31.493,31.572,31.779 +INTL.33-7-GBR-MK.A, United Kingdom,2.451,2.451,2.451,2.721,4.188,4.19,4.192,4.197,4.196,1.424,1.11,1.415,1.423,1.425,1.425,1.432,1.455,1.488,1.475,1.477,1.327,1.44,1.396,1.367,1.356,1.343,1.362,1.359,1.456,1.459,1.459,1.477,1.477,1.477,1.477,1.457,1.399,1.399,1.401,1.401,1.398,1.890434,1.890434,1.89 +, Eurasia,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +INTL.33-7-MDA-MK.A, Moldova,--,--,--,--,--,--,--,--,--,--,--,--,0.064,0.064,0.064,0.056,0.056,0.064,0.064,0.064,0.064,0.06,0.06,0.06,0.059,0.059,0.056,0.056,0.064,0.064,0.064,0.064,0.064,0.064,0.064,0.064,0.064,0.0643,0.0643,0.0643,0.0643,0.064254,0.064254,0.064254 INTL.33-7-UKR-MK.A, Ukraine,--,--,--,--,--,--,--,--,--,--,--,--,4.705,4.706,4.706,4.706,4.706,4.706,4.706,4.7,4.6695,4.6695,4.6695,4.6695,4.6695,4.6695,4.6695,4.6695,4.6965,4.559,4.596,4.607,4.608,4.627,4.665,4.697,4.658,4.704,4.734,4.816,4.819,4.816,4.823,4.488 \ No newline at end of file diff --git a/data/eia_hydro_annual_generation.csv b/data/eia_hydro_annual_generation.csv index c6184e7733..99b92181df 100644 --- a/data/eia_hydro_annual_generation.csv +++ b/data/eia_hydro_annual_generation.csv @@ -1,53 +1,53 @@ -# https://www.eia.gov/international/data/world/electricity/electricity-generation?pd=2&p=000000000000000000000000000000g&u=1&f=A&v=mapbubble&a=-&i=none&vo=value&t=R&g=000000000000002&l=73-1028i008017kg6368g80a4k000e0ag00gg0004g8g0ho00g000400008&l=72-00000000000000000000000000080000000000000000000g&s=315532800000&e=1672531200000&ev=false&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Report generated on: 02-05-2025 17:16:19,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -API,,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 -,hydroelectricity net generation (billion kWh),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -INTL.33-12-EURO-BKWH.A, Europe,458.018,464.155,459.881,473.685,481.241,476.739,459.535,491.085,534.517,465.365,474.466,475.47,509.041,526.448,531.815,543.743,529.114164,543.845616,562.491501,566.861453,588.7927,584.9552,539.2114,503.8397,542.2774,543.1767,534.702,538.1487,565.4261,562.0424,617.9679,541.2136,598.3314,629.7937,617.4746,613.6157,628.2791,561.0608,617.5364,607.1368,645.1734936,632.2837209,544.8694536,611.7024594 -INTL.33-12-ALB-BKWH.A, Albania,2.919,3.018,3.093,3.167,3.241,3.315,3.365,3.979,3.713,3.846,2.82,3.483,3.187,3.281,3.733,4.162,5.669,4.978,4.872,5.231,4.548,3.519,3.477,5.117,5.411,5.319,4.951,2.76,3.759,5.201,7.567,4.132,4.725,6.959,4.724,5.895,7.782,4.525,8.552,5.184,5.281,8.896,6.813,8.709 -INTL.33-12-AUT-BKWH.A, Austria,28.501,30.008,29.893,29.577,28.384,30.288,30.496,25.401,35.151,34.641,31.179,31.112,34.483,36.336,35.349,36.696,33.874,35.744,36.792,40.292,41.418,40.05,39.825,32.883,36.394,36.31,35.48,36.732,37.969,40.487,36.466,32.511,41.862,40.138,39.001,35.255,37.954,36.462,35.73,40.4365,41.9356096,40.9356439,34.705,39.93731831 -INTL.33-12-BEL-BKWH.A, Belgium,0.274,0.377,0.325,0.331,0.348,0.282,0.339,0.425,0.354,0.3,0.263,0.226,0.338,0.252,0.342,0.335,0.237,0.30195,0.38511,0.338,0.455,0.437,0.356,0.245,0.314,0.285,0.355,0.385,0.406,0.325,0.298,0.193,0.353,0.376,0.289,0.314,0.367,0.268,0.3135,0.302,0.2669,0.3933,0.2186,0.363087669 -INTL.33-12-BIH-BKWH.A, Bosnia and Herzegovina,--,--,--,--,--,--,--,--,--,--,--,--,3.374,2.343,3.424,3.607,5.104,4.608,4.511,5.477,5.043,5.129,5.215,4.456,5.919,5.938,5.798,3.961,4.818,6.177,7.946,4.343,4.173,7.164,5.876,5.495,5.585,3.987,6.519,6.172,4.663,6.796,4.747,5.542352941 -INTL.33-12-BGR-BKWH.A, Bulgaria,3.674,3.58,3.018,3.318,3.226,2.214,2.302,2.512,2.569,2.662,1.859,2.417,2.042,1.923,1.453,2.291,2.89,2.726,3.066,2.725,2.646,1.72,2.172,2.999,3.136,4.294,4.196,2.845,2.796,3.435,4.9817,2.8433,3.1462,3.9956,4.556,5.5984,3.8412,2.7997,5.0955,2.9295,2.8204,4.8192,3.7340143,3.0991082 -INTL.33-12-HRV-BKWH.A, Croatia,--,--,--,--,--,--,--,--,--,--,--,--,4.298,4.302,4.881,5.212,7.156,5.234,5.403,6.524,5.794,6.482,5.311,4.827,6.888,6.27,5.94,4.194,5.164,6.663,9.035,4.983,4.789,8.536,8.917,6.522,6.967,5.4378,7.6971,5.8541,5.7476,7.185,5.4678862,8.2270861 -INTL.33-12-CYP-BKWH.A, Cyprus,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -INTL.33-12-CZE-BKWH.A, Czechia,--,--,--,--,--,--,--,--,--,--,--,--,--,1.355,1.445,1.982,1.949,1.68201,1.382,1.664,1.7404,2.033,2.467,1.369,1.999,2.356,2.525,2.068,2.004,2.405,2.775,1.95,2.107,2.704,1.909,1.779,1.983,1.852,1.615,1.9879,2.1439,2.4085,2.06,2.317578495 -INTL.33-12-DNK-BKWH.A, Denmark,0.03,0.031,0.028,0.036,0.028,0.027,0.029,0.029,0.032,0.027,0.027,0.026,0.028,0.027,0.033,0.03,0.019,0.019,0.02673,0.031,0.03,0.028,0.032,0.021,0.027,0.023,0.023,0.028,0.026,0.019,0.021,0.017,0.017,0.013,0.015,0.018,0.0193,0.0179,0.0149,0.017,0.0171,0.0163,0.014834,0.0196861 -INTL.33-12-EST-BKWH.A, Estonia,--,--,--,--,--,--,--,--,--,--,--,--,0.001,0.001,0.003,0.002,0.002,0.003,0.004,0.004,0.005,0.007,0.006,0.013,0.022,0.022,0.014,0.021,0.028,0.032,0.027,0.03,0.042,0.026,0.027,0.027,0.035,0.026,0.015,0.019,0.03,0.023,0.023,0.0227393 -INTL.33-12-FRO-BKWH.A, Faroe Islands,0.049,0.049,0.049,0.049,0.049,0.049,0.049,0.049,0.062,0.071,0.074,0.074,0.083,0.073,0.075,0.075,0.069564,0.075066,0.076501,0.069453,0.0753,0.0752,0.0955,0.0848,0.0934,0.098,0.0999,0.1034,0.0949,0.0915,0.0668,0.092,0.099,0.091,0.121,0.132,0.105,0.11,0.107,0.102,0.11,0.11,0.131,0.131 -INTL.33-12-FIN-BKWH.A, Finland,10.115,13.518,12.958,13.445,13.115,12.211,12.266,13.658,13.229,12.9,10.75,13.065,14.956,13.341,11.669,12.796,11.742,12.11958,14.9,12.652,14.513,13.073,10.668,9.495,14.919,13.646,11.379,14.035,16.941,12.559,12.743,12.278,16.667,12.672,13.24,16.584,15.6341,14.6095,13.137,12.2455,15.6693,15.6231,13.4627875,15.2 -INTL.33-12-CSK-BKWH.A, Former Czechoslovakia,4.8,4.2,3.7,3.9,3.2,4.3,4,4.853,4.355,4.229,3.919,3.119,3.602,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- -INTL.33-12-SCG-BKWH.A, Former Serbia and Montenegro,--,--,--,--,--,--,--,--,--,--,--,--,11.23,10.395,11.016,12.071,14.266,12.636,12.763,13.243,11.88,12.326,11.633,9.752,11.01,11.912,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- -INTL.33-12-YUG-BKWH.A, Former Yugoslavia,27.868,25.044,23.295,21.623,25.645,24.363,27.474,25.98,25.612,23.256,19.601,18.929,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- -INTL.33-12-FRA-BKWH.A, France,68.253,70.358,68.6,67.515,64.01,60.248,60.953,68.623,73.952,45.744,52.796,56.277,68.313,64.3,78.057,72.196,64.43,63.151,61.479,71.832,66.466,73.888,59.992,58.567,59.276,50.965,55.741,57.029,63.017,56.428,61.945,45.184,59.099,71.042,62.993,54.876,60.094,49.389,64.485,56.9139,62.5945,59.625,44.61,55.58977674 -INTL.33-12-DEU-BKWH.A, Germany,--,--,--,--,--,--,--,--,--,--,--,14.742,17.223,17.699,19.731,21.562,21.737,17.18343,17.044,19.451,21.515,22.506,22.893,19.071,20.866,19.442,19.808,20.957,20.239,18.841,20.678,17.323,21.331,22.66,19.31,18.664,20.214,19.985,17.694,19.731,18.322,19.252,17.383,19.95763773 -INTL.33-12-DDR-BKWH.A," Germany, East",1.658,1.718,1.748,1.683,1.748,1.758,1.767,1.726,1.719,1.551,1.389,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- -INTL.33-12-DEUW-BKWH.A," Germany, West",17.125,17.889,17.694,16.713,16.434,15.354,16.526,18.36,18.128,16.482,15.769,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- -INTL.33-12-GIB-BKWH.A, Gibraltar,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -INTL.33-12-GRC-BKWH.A, Greece,3.396,3.398,3.551,2.331,2.852,2.792,3.222,2.768,2.354,1.888,1.751,3.068,2.181,2.26,2.573,3.494,4.305,3.84318,3.68,4.546,3.656,2.076,2.772,4.718,4.625,4.967,5.806,2.565,3.279,5.32,7.431,3.998,4.387,6.337,4.464,5.782,5.543,3.962,5.035,3.9798,3.3437,5.9092,4,4.719 -INTL.33-12-HUN-BKWH.A, Hungary,0.111,0.166,0.158,0.153,0.179,0.153,0.152,0.167,0.167,0.156,0.176,0.192,0.156,0.164,0.159,0.161,0.205,0.21384,0.15345,0.179,0.176,0.184,0.192,0.169,0.203,0.2,0.184,0.208,0.211,0.226,0.184,0.216,0.206,0.208,0.294,0.2267,0.2533,0.214,0.216,0.213,0.238,0.206,0.1736896,0.2175438 -INTL.33-12-ISL-BKWH.A, Iceland,3.053,3.085,3.407,3.588,3.738,3.667,3.846,3.918,4.169,4.217,4.162,4.162,4.267,4.421,4.47,4.635,4.724,5.15493,5.565,5.987,6.292,6.512,6.907,7.017,7.063,6.949,7.22,8.31,12.303,12.156,12.51,12.382,12.214,12.747,12.554,13.541,13.0916,13.8919,13.6794,13.3291,12.9196,13.5777,13.9401712,14.104043 -INTL.33-12-IRL-BKWH.A, Ireland,0.833,0.855,0.792,0.776,0.68,0.824,0.91,0.673,0.862,0.684,0.69,0.738,0.809,0.757,0.911,0.706,0.715,0.67122,0.907,0.838,0.838,0.59,0.903,0.592,0.624,0.625,0.717,0.66,0.959,0.893,0.593,0.699,0.795,0.593,0.701,0.798,0.674,0.685,0.687,0.8781,0.9327,0.7501,0.6954,0.900004369 -INTL.33-12-ITA-BKWH.A, Italy,44.997,42.782,41.216,40.96,41.923,40.616,40.626,39.05,40.205,33.647,31.31,41.817,41.778,41.011,44.212,37.404,41.617,41.18697,40.808,44.911,43.763,46.343,39.125,33.303,41.915,35.706,36.624,32.488,41.207,48.647,50.506,45.3648,41.4562,52.2463,57.9596,45.0816,42.0077,35.837,48.2991,45.3182,47.5518,44.739,28.264,38.42539908 -INTL.33-12-XKS-BKWH.A, Kosovo,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,0.075,0.119,0.154,0.104,0.095,0.142,0.149,0.139,0.243,0.177,0.2703,0.2079,0.2628,0.297,0.266,0.393 -INTL.33-12-LVA-BKWH.A, Latvia,--,--,--,--,--,--,--,--,--,--,--,--,2.498,2.846,3.272,2.908,1.841,2.922,2.99,2.729,2.791,2.805,2.438,2.243,3.078,3.293,2.671,2.706,3.078,3.422,3.488,2.8568,3.677,2.838,1.953,1.841,2.5228,4.3555,2.4171,2.0959,2.584,2.6884,2.731329,3.7734564 -INTL.33-12-LTU-BKWH.A, Lithuania,--,--,--,--,--,--,--,--,--,--,--,--,0.308,0.389,0.447,0.369,0.323,0.291,0.413,0.409,0.336,0.322,0.35,0.323,0.417,0.4462,0.393,0.417,0.398,0.42,0.535,0.475,0.419,0.516,0.395,0.346,0.45,0.597,0.427,0.3425,0.3006,0.3837,0.438,0.433949054 -INTL.33-12-LUX-BKWH.A, Luxembourg,0.086,0.095,0.084,0.083,0.088,0.071,0.084,0.101,0.097,0.072,0.07,0.083,0.069,0.066,0.117,0.087,0.059,0.082,0.114,0.084,0.119,0.117,0.098,0.078,0.103,0.093,0.11,0.116,0.131,0.105,0.104,0.061,0.095,0.114,0.104,0.095,0.111,0.082,0.089,0.1059,0.0916,0.1068,0.0877,0.093934399 -INTL.33-12-MLT-BKWH.A, Malta,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -INTL.33-12-MNE-BKWH.A, Montenegro,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,1.75,1.284,1.539,2.071,2.75,1.204,1.477,2.504,1.752,1.491,1.843,1.024,2.113,1.634,1.448,2.01,1.435,2.221 -INTL.33-12-NLD-BKWH.A, Netherlands,0,0,0,0,0,0.003,0.003,0.001,0.002,0.037,0.119,0.079,0.119,0.091,0.1,0.087,0.079,0.09108,0.111,0.089,0.141,0.116,0.109,0.071,0.094,0.087,0.105,0.106,0.101,0.097,0.105,0.057,0.1044,0.1143,0.1122,0.0927,0.1001,0.0608,0.0723,0.0742,0.0461,0.0881,0.0528777,0.0680282 -INTL.33-12-MKD-BKWH.A, North Macedonia,--,--,--,--,--,--,--,--,--,--,--,--,0.817,0.517,0.696,0.793,0.842,0.891,1.072,1.375,1.158,0.62,0.749,1.36,1.467,1.477,1.634,1,0.832,1.257,2.407,1.419,1.031,1.568,1.195,1.846,1.8697,1.087,1.7745,1.1554,1.2719,1.4462,1.3402141,1.6178858 -INTL.33-12-NOR-BKWH.A, Norway,82.717,91.876,91.507,104.704,104.895,101.464,95.321,102.341,107.919,117.369,119.933,109.032,115.505,118.024,110.398,120.315,102.823,108.677,114.546,120.237,140.4,119.258,128.078,104.425,107.693,134.331,118.175,132.319,137.654,124.03,116.257,119.78,141.189,127.551,134.844,136.662,142.244,141.651,138.202,123.6629,141.69,144.368,127.62,136.1051265 -INTL.33-12-POL-BKWH.A, Poland,2.326,2.116,1.528,1.658,1.394,1.833,1.534,1.644,1.775,1.593,1.403,1.411,1.492,1.473,1.716,1.868,1.912,1.941,2.286,2.133,2.085,2.302,2.256,1.654,2.06,2.179,2.022,2.328,2.13,2.351,2.9,2.313,2.02,2.421,2.165,1.814,2.117,2.552,1.949,1.9384,2.118337,2.339192,1.968,2.407 -INTL.33-12-PRT-BKWH.A, Portugal,7.873,4.934,6.82,7.897,9.609,10.512,8.364,9.005,12.037,5.72,9.065,8.952,4.599,8.453,10.551,8.26,14.613,12.97395,12.853,7.213,11.21,13.894,7.722,15.566,9.77,4.684,10.892,9.991,6.73,8.201,15.954,11.423,5.589,13.652,15.471,8.615,15.608,5.79,12.316,8.6526,12.0826,11.8465,6.458,11.97867144 -INTL.33-12-ROU-BKWH.A, Romania,12.506,12.605,11.731,9.934,11.208,11.772,10.688,11.084,13.479,12.497,10.87,14.107,11.583,12.64,12.916,16.526,15.597,17.334,18.69,18.107,14.778,14.923,16.046,13.259,16.513,20.207,18.356,15.966,17.195,15.534,19.883,14.728,12.066,14.957,18.806,16.633,18.028,14.4942,17.6643,15.5807,15.3814,17.412,13.97797,18.8223471 -INTL.33-12-SRB-BKWH.A, Serbia,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,10.35,9.463,9.564,10.541,11.891,8.667,9.286,10.203,11.003,10.08,10.792,9.153,10.639,9.457,9.035,11.284,9.137,12.9199956 -INTL.33-12-SVK-BKWH.A, Slovakia,--,--,--,--,--,--,--,--,--,--,--,--,--,3.432,4.311,4.831,4.185,4.023,4.224,4.429,4.569,4.878,5.215,3.4452,4.059,4.592,4.355,4.406,4,4.324,5.184,3.211,3.687,4.329,3.762,3.701,4.302,4.321,3.506,4.2738,4.517,4.17,3.1987,4.132350772 -INTL.33-12-SVN-BKWH.A, Slovenia,--,--,--,--,--,--,--,--,--,--,--,--,3.379,2.974,3.348,3.187,3.616,3.046,3.4,3.684,3.771,3.741,3.265,2.916,4.033,3.426,3.555,3.233,3.978,4.666,4.452,3.506,3.841,4.562,6.011,3.75,4.443,3.814,4.643,4.4342,4.9341,4.7119,3.1002,4.916099225 -INTL.33-12-ESP-BKWH.A, Spain,29.16,21.64,25.99,26.696,31.088,30.895,26.105,27.016,34.76,19.046,25.16,27.01,18.731,24.133,27.898,22.881,39.404,34.43,33.665,22.634,29.274,40.617,22.691,40.643,31.359,18.209,25.699,27.036,23.13,26.147,41.576,30.07,20.192,36.45,38.815,27.656,35.77,18.007,33.743,24.2303,30.507,29.626,17.0808,24.64798492 -INTL.33-12-SWE-BKWH.A, Sweden,58.133,59.006,54.369,62.801,67.106,70.095,60.134,70.95,69.016,70.911,71.778,62.603,73.588,73.905,58.508,67.421,51.2226,68.365,74.25,70.974,77.798,78.269,65.696,53.005,59.522,72.075,61.106,65.497,68.378,65.193,66.279,66.047,78.333,60.81,63.227,74.734,61.645,64.651,61.79,64.4658,71.6,71.086,72.8013,65.58928923 -INTL.33-12-CHE-BKWH.A, Switzerland,32.481,35.13,35.974,35.069,29.871,31.731,32.576,34.328,35.437,29.477,29.497,31.756,32.373,35.416,38.678,34.817,28.458,33.70257,33.136,37.104,33.854,38.29,32.323,31.948,30.938,28.664,28.273,32.362,33.214,32.833,33.261,29.906,35.783,35.628,35.122,35.378,31.984,31.4797,32.0959,35.157,37.867647,36.964485,29.84788,36.98341587 -INTL.33-12-TUR-BKWH.A, Turkiye,11.159,12.308,13.81,11.13,13.19,11.822,11.637,18.314,28.447,17.61,22.917,22.456,26.302,33.611,30.28,35.186,40.07,39.41784,41.80671,34.33,30.57,23.77,33.346,34.977,45.623,39.165,43.802,35.492,32.937,35.598,51.423,51.155,56.669,58.225,39.75,65.856,66.6859,57.8239,59.4902,88.2094,78.0944,55.1755,66.745,61.8794613 -INTL.33-12-GBR-BKWH.A, United Kingdom,3.921,4.369,4.543,4.548,3.992,4.08,4.767,4.13,4.915,4.732,5.119,4.534,5.329,4.237,5.043,4.79,3.359,4.127,5.117,5.336,5.085,4.055,4.7879,3.2277,4.844,4.9215,4.5931,5.0773,5.1412,5.2279,3.5914,5.6917,5.3096,4.7015,5.8878,6.2973,5.3704,5.8819,5.4433,5.8463,6.7539,5.0149,6.1401,5.237101777 -, Eurasia,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -INTL.33-12-MDA-BKWH.A, Moldova,--,--,--,--,--,--,--,--,--,--,--,--,0.255,0.371,0.275,0.321,0.362,0.378,0.387,0.363,0.392,0.359,0.348,0.358,0.35,0.359,0.365,0.354,0.385,0.354,0.403,0.348,0.266,0.311,0.317,0.265,0.228,0.282,0.2732,0.298,0.276,0.316,0.29,0.317 +# https://www.eia.gov/international/data/world/electricity/electricity-generation?pd=2&p=000000000000000000000000000000g&u=1&f=A&v=mapbubble&a=-&i=none&vo=value&t=R&g=000000000000002&l=73-1028i008017kg6368g80a4k000e0ag00gg0004g8g0ho00g000400008&l=72-00000000000000000000000000080000000000000000000g&s=315532800000&e=1672531200000&ev=false&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Report generated on: 02-05-2025 17:16:19,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +API,,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 +,hydroelectricity net generation (billion kWh),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +INTL.33-12-EURO-BKWH.A, Europe,458.018,464.155,459.881,473.685,481.241,476.739,459.535,491.085,534.517,465.365,474.466,475.47,509.041,526.448,531.815,543.743,529.114164,543.845616,562.491501,566.861453,588.7927,584.9552,539.2114,503.8397,542.2774,543.1767,534.702,538.1487,565.4261,562.0424,617.9679,541.2136,598.3314,629.7937,617.4746,613.6157,628.2791,561.0608,617.5364,607.1368,645.1734936,632.2837209,544.8694536,611.7024594 +INTL.33-12-ALB-BKWH.A, Albania,2.919,3.018,3.093,3.167,3.241,3.315,3.365,3.979,3.713,3.846,2.82,3.483,3.187,3.281,3.733,4.162,5.669,4.978,4.872,5.231,4.548,3.519,3.477,5.117,5.411,5.319,4.951,2.76,3.759,5.201,7.567,4.132,4.725,6.959,4.724,5.895,7.782,4.525,8.552,5.184,5.281,8.896,6.813,8.709 +INTL.33-12-AUT-BKWH.A, Austria,28.501,30.008,29.893,29.577,28.384,30.288,30.496,25.401,35.151,34.641,31.179,31.112,34.483,36.336,35.349,36.696,33.874,35.744,36.792,40.292,41.418,40.05,39.825,32.883,36.394,36.31,35.48,36.732,37.969,40.487,36.466,32.511,41.862,40.138,39.001,35.255,37.954,36.462,35.73,40.4365,41.9356096,40.9356439,34.705,39.93731831 +INTL.33-12-BEL-BKWH.A, Belgium,0.274,0.377,0.325,0.331,0.348,0.282,0.339,0.425,0.354,0.3,0.263,0.226,0.338,0.252,0.342,0.335,0.237,0.30195,0.38511,0.338,0.455,0.437,0.356,0.245,0.314,0.285,0.355,0.385,0.406,0.325,0.298,0.193,0.353,0.376,0.289,0.314,0.367,0.268,0.3135,0.302,0.2669,0.3933,0.2186,0.363087669 +INTL.33-12-BIH-BKWH.A, Bosnia and Herzegovina,--,--,--,--,--,--,--,--,--,--,--,--,3.374,2.343,3.424,3.607,5.104,4.608,4.511,5.477,5.043,5.129,5.215,4.456,5.919,5.938,5.798,3.961,4.818,6.177,7.946,4.343,4.173,7.164,5.876,5.495,5.585,3.987,6.519,6.172,4.663,6.796,4.747,5.542352941 +INTL.33-12-BGR-BKWH.A, Bulgaria,3.674,3.58,3.018,3.318,3.226,2.214,2.302,2.512,2.569,2.662,1.859,2.417,2.042,1.923,1.453,2.291,2.89,2.726,3.066,2.725,2.646,1.72,2.172,2.999,3.136,4.294,4.196,2.845,2.796,3.435,4.9817,2.8433,3.1462,3.9956,4.556,5.5984,3.8412,2.7997,5.0955,2.9295,2.8204,4.8192,3.7340143,3.0991082 +INTL.33-12-HRV-BKWH.A, Croatia,--,--,--,--,--,--,--,--,--,--,--,--,4.298,4.302,4.881,5.212,7.156,5.234,5.403,6.524,5.794,6.482,5.311,4.827,6.888,6.27,5.94,4.194,5.164,6.663,9.035,4.983,4.789,8.536,8.917,6.522,6.967,5.4378,7.6971,5.8541,5.7476,7.185,5.4678862,8.2270861 +INTL.33-12-CYP-BKWH.A, Cyprus,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +INTL.33-12-CZE-BKWH.A, Czechia,--,--,--,--,--,--,--,--,--,--,--,--,--,1.355,1.445,1.982,1.949,1.68201,1.382,1.664,1.7404,2.033,2.467,1.369,1.999,2.356,2.525,2.068,2.004,2.405,2.775,1.95,2.107,2.704,1.909,1.779,1.983,1.852,1.615,1.9879,2.1439,2.4085,2.06,2.317578495 +INTL.33-12-DNK-BKWH.A, Denmark,0.03,0.031,0.028,0.036,0.028,0.027,0.029,0.029,0.032,0.027,0.027,0.026,0.028,0.027,0.033,0.03,0.019,0.019,0.02673,0.031,0.03,0.028,0.032,0.021,0.027,0.023,0.023,0.028,0.026,0.019,0.021,0.017,0.017,0.013,0.015,0.018,0.0193,0.0179,0.0149,0.017,0.0171,0.0163,0.014834,0.0196861 +INTL.33-12-EST-BKWH.A, Estonia,--,--,--,--,--,--,--,--,--,--,--,--,0.001,0.001,0.003,0.002,0.002,0.003,0.004,0.004,0.005,0.007,0.006,0.013,0.022,0.022,0.014,0.021,0.028,0.032,0.027,0.03,0.042,0.026,0.027,0.027,0.035,0.026,0.015,0.019,0.03,0.023,0.023,0.0227393 +INTL.33-12-FRO-BKWH.A, Faroe Islands,0.049,0.049,0.049,0.049,0.049,0.049,0.049,0.049,0.062,0.071,0.074,0.074,0.083,0.073,0.075,0.075,0.069564,0.075066,0.076501,0.069453,0.0753,0.0752,0.0955,0.0848,0.0934,0.098,0.0999,0.1034,0.0949,0.0915,0.0668,0.092,0.099,0.091,0.121,0.132,0.105,0.11,0.107,0.102,0.11,0.11,0.131,0.131 +INTL.33-12-FIN-BKWH.A, Finland,10.115,13.518,12.958,13.445,13.115,12.211,12.266,13.658,13.229,12.9,10.75,13.065,14.956,13.341,11.669,12.796,11.742,12.11958,14.9,12.652,14.513,13.073,10.668,9.495,14.919,13.646,11.379,14.035,16.941,12.559,12.743,12.278,16.667,12.672,13.24,16.584,15.6341,14.6095,13.137,12.2455,15.6693,15.6231,13.4627875,15.2 +INTL.33-12-CSK-BKWH.A, Former Czechoslovakia,4.8,4.2,3.7,3.9,3.2,4.3,4,4.853,4.355,4.229,3.919,3.119,3.602,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- +INTL.33-12-SCG-BKWH.A, Former Serbia and Montenegro,--,--,--,--,--,--,--,--,--,--,--,--,11.23,10.395,11.016,12.071,14.266,12.636,12.763,13.243,11.88,12.326,11.633,9.752,11.01,11.912,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- +INTL.33-12-YUG-BKWH.A, Former Yugoslavia,27.868,25.044,23.295,21.623,25.645,24.363,27.474,25.98,25.612,23.256,19.601,18.929,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- +INTL.33-12-FRA-BKWH.A, France,68.253,70.358,68.6,67.515,64.01,60.248,60.953,68.623,73.952,45.744,52.796,56.277,68.313,64.3,78.057,72.196,64.43,63.151,61.479,71.832,66.466,73.888,59.992,58.567,59.276,50.965,55.741,57.029,63.017,56.428,61.945,45.184,59.099,71.042,62.993,54.876,60.094,49.389,64.485,56.9139,62.5945,59.625,44.61,55.58977674 +INTL.33-12-DEU-BKWH.A, Germany,--,--,--,--,--,--,--,--,--,--,--,14.742,17.223,17.699,19.731,21.562,21.737,17.18343,17.044,19.451,21.515,22.506,22.893,19.071,20.866,19.442,19.808,20.957,20.239,18.841,20.678,17.323,21.331,22.66,19.31,18.664,20.214,19.985,17.694,19.731,18.322,19.252,17.383,19.95763773 +INTL.33-12-DDR-BKWH.A," Germany, East",1.658,1.718,1.748,1.683,1.748,1.758,1.767,1.726,1.719,1.551,1.389,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- +INTL.33-12-DEUW-BKWH.A," Germany, West",17.125,17.889,17.694,16.713,16.434,15.354,16.526,18.36,18.128,16.482,15.769,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,-- +INTL.33-12-GIB-BKWH.A, Gibraltar,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +INTL.33-12-GRC-BKWH.A, Greece,3.396,3.398,3.551,2.331,2.852,2.792,3.222,2.768,2.354,1.888,1.751,3.068,2.181,2.26,2.573,3.494,4.305,3.84318,3.68,4.546,3.656,2.076,2.772,4.718,4.625,4.967,5.806,2.565,3.279,5.32,7.431,3.998,4.387,6.337,4.464,5.782,5.543,3.962,5.035,3.9798,3.3437,5.9092,4,4.719 +INTL.33-12-HUN-BKWH.A, Hungary,0.111,0.166,0.158,0.153,0.179,0.153,0.152,0.167,0.167,0.156,0.176,0.192,0.156,0.164,0.159,0.161,0.205,0.21384,0.15345,0.179,0.176,0.184,0.192,0.169,0.203,0.2,0.184,0.208,0.211,0.226,0.184,0.216,0.206,0.208,0.294,0.2267,0.2533,0.214,0.216,0.213,0.238,0.206,0.1736896,0.2175438 +INTL.33-12-ISL-BKWH.A, Iceland,3.053,3.085,3.407,3.588,3.738,3.667,3.846,3.918,4.169,4.217,4.162,4.162,4.267,4.421,4.47,4.635,4.724,5.15493,5.565,5.987,6.292,6.512,6.907,7.017,7.063,6.949,7.22,8.31,12.303,12.156,12.51,12.382,12.214,12.747,12.554,13.541,13.0916,13.8919,13.6794,13.3291,12.9196,13.5777,13.9401712,14.104043 +INTL.33-12-IRL-BKWH.A, Ireland,0.833,0.855,0.792,0.776,0.68,0.824,0.91,0.673,0.862,0.684,0.69,0.738,0.809,0.757,0.911,0.706,0.715,0.67122,0.907,0.838,0.838,0.59,0.903,0.592,0.624,0.625,0.717,0.66,0.959,0.893,0.593,0.699,0.795,0.593,0.701,0.798,0.674,0.685,0.687,0.8781,0.9327,0.7501,0.6954,0.900004369 +INTL.33-12-ITA-BKWH.A, Italy,44.997,42.782,41.216,40.96,41.923,40.616,40.626,39.05,40.205,33.647,31.31,41.817,41.778,41.011,44.212,37.404,41.617,41.18697,40.808,44.911,43.763,46.343,39.125,33.303,41.915,35.706,36.624,32.488,41.207,48.647,50.506,45.3648,41.4562,52.2463,57.9596,45.0816,42.0077,35.837,48.2991,45.3182,47.5518,44.739,28.264,38.42539908 +INTL.33-12-XKS-BKWH.A, Kosovo,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,0.075,0.119,0.154,0.104,0.095,0.142,0.149,0.139,0.243,0.177,0.2703,0.2079,0.2628,0.297,0.266,0.393 +INTL.33-12-LVA-BKWH.A, Latvia,--,--,--,--,--,--,--,--,--,--,--,--,2.498,2.846,3.272,2.908,1.841,2.922,2.99,2.729,2.791,2.805,2.438,2.243,3.078,3.293,2.671,2.706,3.078,3.422,3.488,2.8568,3.677,2.838,1.953,1.841,2.5228,4.3555,2.4171,2.0959,2.584,2.6884,2.731329,3.7734564 +INTL.33-12-LTU-BKWH.A, Lithuania,--,--,--,--,--,--,--,--,--,--,--,--,0.308,0.389,0.447,0.369,0.323,0.291,0.413,0.409,0.336,0.322,0.35,0.323,0.417,0.4462,0.393,0.417,0.398,0.42,0.535,0.475,0.419,0.516,0.395,0.346,0.45,0.597,0.427,0.3425,0.3006,0.3837,0.438,0.433949054 +INTL.33-12-LUX-BKWH.A, Luxembourg,0.086,0.095,0.084,0.083,0.088,0.071,0.084,0.101,0.097,0.072,0.07,0.083,0.069,0.066,0.117,0.087,0.059,0.082,0.114,0.084,0.119,0.117,0.098,0.078,0.103,0.093,0.11,0.116,0.131,0.105,0.104,0.061,0.095,0.114,0.104,0.095,0.111,0.082,0.089,0.1059,0.0916,0.1068,0.0877,0.093934399 +INTL.33-12-MLT-BKWH.A, Malta,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +INTL.33-12-MNE-BKWH.A, Montenegro,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,1.75,1.284,1.539,2.071,2.75,1.204,1.477,2.504,1.752,1.491,1.843,1.024,2.113,1.634,1.448,2.01,1.435,2.221 +INTL.33-12-NLD-BKWH.A, Netherlands,0,0,0,0,0,0.003,0.003,0.001,0.002,0.037,0.119,0.079,0.119,0.091,0.1,0.087,0.079,0.09108,0.111,0.089,0.141,0.116,0.109,0.071,0.094,0.087,0.105,0.106,0.101,0.097,0.105,0.057,0.1044,0.1143,0.1122,0.0927,0.1001,0.0608,0.0723,0.0742,0.0461,0.0881,0.0528777,0.0680282 +INTL.33-12-MKD-BKWH.A, North Macedonia,--,--,--,--,--,--,--,--,--,--,--,--,0.817,0.517,0.696,0.793,0.842,0.891,1.072,1.375,1.158,0.62,0.749,1.36,1.467,1.477,1.634,1,0.832,1.257,2.407,1.419,1.031,1.568,1.195,1.846,1.8697,1.087,1.7745,1.1554,1.2719,1.4462,1.3402141,1.6178858 +INTL.33-12-NOR-BKWH.A, Norway,82.717,91.876,91.507,104.704,104.895,101.464,95.321,102.341,107.919,117.369,119.933,109.032,115.505,118.024,110.398,120.315,102.823,108.677,114.546,120.237,140.4,119.258,128.078,104.425,107.693,134.331,118.175,132.319,137.654,124.03,116.257,119.78,141.189,127.551,134.844,136.662,142.244,141.651,138.202,123.6629,141.69,144.368,127.62,136.1051265 +INTL.33-12-POL-BKWH.A, Poland,2.326,2.116,1.528,1.658,1.394,1.833,1.534,1.644,1.775,1.593,1.403,1.411,1.492,1.473,1.716,1.868,1.912,1.941,2.286,2.133,2.085,2.302,2.256,1.654,2.06,2.179,2.022,2.328,2.13,2.351,2.9,2.313,2.02,2.421,2.165,1.814,2.117,2.552,1.949,1.9384,2.118337,2.339192,1.968,2.407 +INTL.33-12-PRT-BKWH.A, Portugal,7.873,4.934,6.82,7.897,9.609,10.512,8.364,9.005,12.037,5.72,9.065,8.952,4.599,8.453,10.551,8.26,14.613,12.97395,12.853,7.213,11.21,13.894,7.722,15.566,9.77,4.684,10.892,9.991,6.73,8.201,15.954,11.423,5.589,13.652,15.471,8.615,15.608,5.79,12.316,8.6526,12.0826,11.8465,6.458,11.97867144 +INTL.33-12-ROU-BKWH.A, Romania,12.506,12.605,11.731,9.934,11.208,11.772,10.688,11.084,13.479,12.497,10.87,14.107,11.583,12.64,12.916,16.526,15.597,17.334,18.69,18.107,14.778,14.923,16.046,13.259,16.513,20.207,18.356,15.966,17.195,15.534,19.883,14.728,12.066,14.957,18.806,16.633,18.028,14.4942,17.6643,15.5807,15.3814,17.412,13.97797,18.8223471 +INTL.33-12-SRB-BKWH.A, Serbia,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,10.35,9.463,9.564,10.541,11.891,8.667,9.286,10.203,11.003,10.08,10.792,9.153,10.639,9.457,9.035,11.284,9.137,12.9199956 +INTL.33-12-SVK-BKWH.A, Slovakia,--,--,--,--,--,--,--,--,--,--,--,--,--,3.432,4.311,4.831,4.185,4.023,4.224,4.429,4.569,4.878,5.215,3.4452,4.059,4.592,4.355,4.406,4,4.324,5.184,3.211,3.687,4.329,3.762,3.701,4.302,4.321,3.506,4.2738,4.517,4.17,3.1987,4.132350772 +INTL.33-12-SVN-BKWH.A, Slovenia,--,--,--,--,--,--,--,--,--,--,--,--,3.379,2.974,3.348,3.187,3.616,3.046,3.4,3.684,3.771,3.741,3.265,2.916,4.033,3.426,3.555,3.233,3.978,4.666,4.452,3.506,3.841,4.562,6.011,3.75,4.443,3.814,4.643,4.4342,4.9341,4.7119,3.1002,4.916099225 +INTL.33-12-ESP-BKWH.A, Spain,29.16,21.64,25.99,26.696,31.088,30.895,26.105,27.016,34.76,19.046,25.16,27.01,18.731,24.133,27.898,22.881,39.404,34.43,33.665,22.634,29.274,40.617,22.691,40.643,31.359,18.209,25.699,27.036,23.13,26.147,41.576,30.07,20.192,36.45,38.815,27.656,35.77,18.007,33.743,24.2303,30.507,29.626,17.0808,24.64798492 +INTL.33-12-SWE-BKWH.A, Sweden,58.133,59.006,54.369,62.801,67.106,70.095,60.134,70.95,69.016,70.911,71.778,62.603,73.588,73.905,58.508,67.421,51.2226,68.365,74.25,70.974,77.798,78.269,65.696,53.005,59.522,72.075,61.106,65.497,68.378,65.193,66.279,66.047,78.333,60.81,63.227,74.734,61.645,64.651,61.79,64.4658,71.6,71.086,72.8013,65.58928923 +INTL.33-12-CHE-BKWH.A, Switzerland,32.481,35.13,35.974,35.069,29.871,31.731,32.576,34.328,35.437,29.477,29.497,31.756,32.373,35.416,38.678,34.817,28.458,33.70257,33.136,37.104,33.854,38.29,32.323,31.948,30.938,28.664,28.273,32.362,33.214,32.833,33.261,29.906,35.783,35.628,35.122,35.378,31.984,31.4797,32.0959,35.157,37.867647,36.964485,29.84788,36.98341587 +INTL.33-12-TUR-BKWH.A, Turkiye,11.159,12.308,13.81,11.13,13.19,11.822,11.637,18.314,28.447,17.61,22.917,22.456,26.302,33.611,30.28,35.186,40.07,39.41784,41.80671,34.33,30.57,23.77,33.346,34.977,45.623,39.165,43.802,35.492,32.937,35.598,51.423,51.155,56.669,58.225,39.75,65.856,66.6859,57.8239,59.4902,88.2094,78.0944,55.1755,66.745,61.8794613 +INTL.33-12-GBR-BKWH.A, United Kingdom,3.921,4.369,4.543,4.548,3.992,4.08,4.767,4.13,4.915,4.732,5.119,4.534,5.329,4.237,5.043,4.79,3.359,4.127,5.117,5.336,5.085,4.055,4.7879,3.2277,4.844,4.9215,4.5931,5.0773,5.1412,5.2279,3.5914,5.6917,5.3096,4.7015,5.8878,6.2973,5.3704,5.8819,5.4433,5.8463,6.7539,5.0149,6.1401,5.237101777 +, Eurasia,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +INTL.33-12-MDA-BKWH.A, Moldova,--,--,--,--,--,--,--,--,--,--,--,--,0.255,0.371,0.275,0.321,0.362,0.378,0.387,0.363,0.392,0.359,0.348,0.358,0.35,0.359,0.365,0.354,0.385,0.354,0.403,0.348,0.266,0.311,0.317,0.265,0.228,0.282,0.2732,0.298,0.276,0.316,0.29,0.317 INTL.33-12-UKR-BKWH.A, Ukraine,--,--,--,--,--,--,--,--,--,--,--,--,7.725,10.929,11.997,9.853,8.546,9.757,15.756,14.177,11.45,12.201,9.789,9.39,11.888,12.505,13.034,10.259,11.512,11.936,13.152,10.946,10.994,14.472,9.321,6.971,9.304,10.519,12.007,7.855,7.5638,10.3326,9.351,10.713 \ No newline at end of file diff --git a/doc/configtables/biomass.csv b/doc/configtables/biomass.csv index 865d247e29..08f5da4df4 100644 --- a/doc/configtables/biomass.csv +++ b/doc/configtables/biomass.csv @@ -1,9 +1,9 @@ -,Unit,Values,Description -year ,--,"{2010, 2020, 2030, 2040, 2050}",Year for which to retrieve biomass potential according to the assumptions of the `JRC ENSPRESO `_ . -scenario ,--,"{""ENS_Low"", ""ENS_Med"", ""ENS_High""}",Scenario for which to retrieve biomass potential. The scenario definition can be seen in `ENSPRESO_BIOMASS `_ -classes ,,, --- solid biomass,--,Array of biomass comodity,The comodity that are included as solid biomass --- not included,--,Array of biomass comodity,The comodity that are not included as a biomass potential --- biogas,--,Array of biomass comodity,The comodity that are included as biogas -share_unsustainable_use_retained,--,Dictionary with planning horizons as keys., Share of unsustainable biomass use retained using primary production of Eurostat data as reference -share_sustainable_potential_available,--,Dictionary with planning horizons as keys., Share determines phase-in of ENSPRESO biomass potentials +,Unit,Values,Description +year ,--,"{2010, 2020, 2030, 2040, 2050}",Year for which to retrieve biomass potential according to the assumptions of the `JRC ENSPRESO `_ . +scenario ,--,"{""ENS_Low"", ""ENS_Med"", ""ENS_High""}",Scenario for which to retrieve biomass potential. The scenario definition can be seen in `ENSPRESO_BIOMASS `_ +classes ,,, +-- solid biomass,--,Array of biomass comodity,The comodity that are included as solid biomass +-- not included,--,Array of biomass comodity,The comodity that are not included as a biomass potential +-- biogas,--,Array of biomass comodity,The comodity that are included as biogas +share_unsustainable_use_retained,--,Dictionary with planning horizons as keys., Share of unsustainable biomass use retained using primary production of Eurostat data as reference +share_sustainable_potential_available,--,Dictionary with planning horizons as keys., Share determines phase-in of ENSPRESO biomass potentials diff --git a/doc/configtables/clustering.csv b/doc/configtables/clustering.csv index a751c2c226..5cf0693ce1 100644 --- a/doc/configtables/clustering.csv +++ b/doc/configtables/clustering.csv @@ -1,28 +1,28 @@ -,Unit,Values,Description -mode,str,"One of {'busmap', 'custom_busmap', 'administrative', 'custom_busshapes'}","'busmap': Default. 'custom_busmap': Enable the use of custom busmaps in rule mod:`cluster_network`. If activated the rule looks for provided busmaps at ``data/busmaps/base_s_{clusters}_{base_network}.csv`` which should have the same format as ``resources/busmap_base_s_{clusters}.csv``, i.e. the index should contain the buses of ``networks/base_s.nc``. {base_network} is the name of the selected base_network in electricity, e.g. ``gridkit``, ``osm-prebuilt``, or ``osm-raw``. 'administrative': Clusters and indexes the network based on the administrative regions of the countries based on ``nuts3_shapes.geojson`` (level: 1, 2, 3, bz). To activate this, additionally set the ``clusters`` wildcard in ``scenario`` to 'adm'. 'custom_busshapes': Enable the use of custom shapes in rule mod:`cluster_network`. If activated the rule looks for provided busshapes at ``data/busshapes/base_s_{clusters}_{base_network}.geojson``." -administrative,,, --- level,int,"{0, 1, 2, 3}","Level of administrative regions to cluster the network. 0: Country level, 1: NUTS1 level, 2: NUTS2 level, 3: NUTS3 level. Only applies when mode is set to `administrative`. Note that non-NUTS countries 'BA', 'MD', 'UA', and 'XK' can only be clustered to level 0 and 1." --- countries (optional),dict,"Subset of country codes in 'busmap'","Optionally include dictionary of individual country codes and their individual NUTS levels. Overwrites country-specific `level`. For example: `{'DE': 1, 'FR': 2}`. Only applies when mode is set to `administrative`." -focus_weights,,,"Optionally specify the focus weights for the clustering of countries. For instance: `DE: 0.8` will distribute 80% of all nodes to Germany and 20% to the rest of the countries. Only applies when mode is set to `busmap`." -copperplate_regions,,,"Optionally specify the regions to copperplate as a list of regions (using the region indexes defined by the clustering mode)." -build_bidding_zones,,, --- remove_islands,bool,"{'true','false'}","Exclude from the shape file the Balearic Islands, Bornholm, the Canary Islands, the Orkney Islands, the Shetland Islands, the Azores Islands and Madeira" --- aggregate_to_tyndp,bool,"{'true','false'}","Adjust the shape file to the TYNDP topology. Aggregate the Southern Norwegian bidding zones and extract Crete as a separate zone from the Greek shape." -simplify_network,,, --- to_substations,bool,"{'true','false'}","Aggregates all nodes without power injection (positive or negative, i.e. demand or generation) to electrically closest ones" --- exclude_carriers,list,"List of Str like [ 'solar', 'onwind'] or empy list []","List of carriers which will not be aggregated. If empty, all carriers will be aggregated." --- remove_stubs,bool,"{'true','false'}",Controls whether radial parts of the network should be recursively aggregated. Defaults to true. --- remove_stubs_across_borders,bool,"{'true','false'}",Controls whether radial parts of the network should be recursively aggregated across borders. Defaults to true. -cluster_network,,, --- algorithm,str,"One of {'kmeans', 'hac'}", --- hac_features,list,"List of meteorological variables contained in the weather data cutout that should be considered for hierarchical clustering.", -exclude_carriers,list,"List of Str like [ 'solar', 'onwind'] or empy list []","List of carriers which will not be aggregated. If empty, all carriers will be aggregated." -consider_efficiency_classes,bool,"{'true','false'}","Aggregated each carriers into the top 10-quantile (high), the bottom 90-quantile (low), and everything in between (medium)." -aggregation_strategies,,, --- generators,,, --- -- {key},str,"{key} can be any of the component of the generator (str). It's value can be any that can be converted to pandas.Series using getattr(). For example one of {min, max, sum}.","Aggregates the component according to the given strategy. For example, if sum, then all values within each cluster are summed to represent the new generator." --- buses,,, --- -- {key},str,"{key} can be any of the component of the bus (str). It's value can be any that can be converted to pandas.Series using getattr(). For example one of {min, max, sum}.","Aggregates the component according to the given strategy. For example, if sum, then all values within each cluster are summed to represent the new bus." -temporal,,,Options for temporal resolution --- resolution_elec,--,"{false,``nH``; i.e. ``2H``-``6H``}","Resample the time-resolution by averaging over every ``n`` snapshots in :mod:`prepare_network`. **Warning:** This option should currently only be used with electricity-only networks, not for sector-coupled networks." --- resolution_sector,--,"{false,``nH``; i.e. ``2H``-``6H``}","Resample the time-resolution by averaging over every ``n`` snapshots in :mod:`prepare_sector_network`." +,Unit,Values,Description +mode,str,"One of {'busmap', 'custom_busmap', 'administrative', 'custom_busshapes'}","'busmap': Default. 'custom_busmap': Enable the use of custom busmaps in rule mod:`cluster_network`. If activated the rule looks for provided busmaps at ``data/busmaps/base_s_{clusters}_{base_network}.csv`` which should have the same format as ``resources/busmap_base_s_{clusters}.csv``, i.e. the index should contain the buses of ``networks/base_s.nc``. {base_network} is the name of the selected base_network in electricity, e.g. ``gridkit``, ``osm-prebuilt``, or ``osm-raw``. 'administrative': Clusters and indexes the network based on the administrative regions of the countries based on ``nuts3_shapes.geojson`` (level: 1, 2, 3, bz). To activate this, additionally set the ``clusters`` wildcard in ``scenario`` to 'adm'. 'custom_busshapes': Enable the use of custom shapes in rule mod:`cluster_network`. If activated the rule looks for provided busshapes at ``data/busshapes/base_s_{clusters}_{base_network}.geojson``." +administrative,,, +-- level,int,"{0, 1, 2, 3}","Level of administrative regions to cluster the network. 0: Country level, 1: NUTS1 level, 2: NUTS2 level, 3: NUTS3 level. Only applies when mode is set to `administrative`. Note that non-NUTS countries 'BA', 'MD', 'UA', and 'XK' can only be clustered to level 0 and 1." +-- countries (optional),dict,"Subset of country codes in 'busmap'","Optionally include dictionary of individual country codes and their individual NUTS levels. Overwrites country-specific `level`. For example: `{'DE': 1, 'FR': 2}`. Only applies when mode is set to `administrative`." +focus_weights,,,"Optionally specify the focus weights for the clustering of countries. For instance: `DE: 0.8` will distribute 80% of all nodes to Germany and 20% to the rest of the countries. Only applies when mode is set to `busmap`." +copperplate_regions,,,"Optionally specify the regions to copperplate as a list of regions (using the region indexes defined by the clustering mode)." +build_bidding_zones,,, +-- remove_islands,bool,"{'true','false'}","Exclude from the shape file the Balearic Islands, Bornholm, the Canary Islands, the Orkney Islands, the Shetland Islands, the Azores Islands and Madeira" +-- aggregate_to_tyndp,bool,"{'true','false'}","Adjust the shape file to the TYNDP topology. Aggregate the Southern Norwegian bidding zones and extract Crete as a separate zone from the Greek shape." +simplify_network,,, +-- to_substations,bool,"{'true','false'}","Aggregates all nodes without power injection (positive or negative, i.e. demand or generation) to electrically closest ones" +-- exclude_carriers,list,"List of Str like [ 'solar', 'onwind'] or empy list []","List of carriers which will not be aggregated. If empty, all carriers will be aggregated." +-- remove_stubs,bool,"{'true','false'}",Controls whether radial parts of the network should be recursively aggregated. Defaults to true. +-- remove_stubs_across_borders,bool,"{'true','false'}",Controls whether radial parts of the network should be recursively aggregated across borders. Defaults to true. +cluster_network,,, +-- algorithm,str,"One of {'kmeans', 'hac'}", +-- hac_features,list,"List of meteorological variables contained in the weather data cutout that should be considered for hierarchical clustering.", +exclude_carriers,list,"List of Str like [ 'solar', 'onwind'] or empy list []","List of carriers which will not be aggregated. If empty, all carriers will be aggregated." +consider_efficiency_classes,bool,"{'true','false'}","Aggregated each carriers into the top 10-quantile (high), the bottom 90-quantile (low), and everything in between (medium)." +aggregation_strategies,,, +-- generators,,, +-- -- {key},str,"{key} can be any of the component of the generator (str). It's value can be any that can be converted to pandas.Series using getattr(). For example one of {min, max, sum}.","Aggregates the component according to the given strategy. For example, if sum, then all values within each cluster are summed to represent the new generator." +-- buses,,, +-- -- {key},str,"{key} can be any of the component of the bus (str). It's value can be any that can be converted to pandas.Series using getattr(). For example one of {min, max, sum}.","Aggregates the component according to the given strategy. For example, if sum, then all values within each cluster are summed to represent the new bus." +temporal,,,Options for temporal resolution +-- resolution_elec,--,"{false,``nH``; i.e. ``2H``-``6H``}","Resample the time-resolution by averaging over every ``n`` snapshots in :mod:`prepare_network`. **Warning:** This option should currently only be used with electricity-only networks, not for sector-coupled networks." +-- resolution_sector,--,"{false,``nH``; i.e. ``2H``-``6H``}","Resample the time-resolution by averaging over every ``n`` snapshots in :mod:`prepare_sector_network`." diff --git a/doc/configtables/conventional.csv b/doc/configtables/conventional.csv index 12902f53d9..4f283c21cf 100644 --- a/doc/configtables/conventional.csv +++ b/doc/configtables/conventional.csv @@ -1,5 +1,5 @@ -,Unit,Values,Description -unit_commitment ,bool,"{true, false}","Allow the overwrite of ramp_limit_up, ramp_limit_start_up, ramp_limit_shut_down, p_min_pu, min_up_time, min_down_time, and start_up_cost of conventional generators. Refer to the CSV file „unit_commitment.csv“." -dynamic_fuel_price ,bool,"{true, false}","Consider the monthly fluctuating fuel prices for each conventional generator. Refer to the CSV file ""data/validation/monthly_fuel_price.csv""." -{name},--,string,For any carrier/technology overwrite attributes as listed below. --- {attribute},--,string or float,"For any attribute, can specify a float or reference to a file path to a CSV file giving floats for each country (2-letter code)." +,Unit,Values,Description +unit_commitment ,bool,"{true, false}","Allow the overwrite of ramp_limit_up, ramp_limit_start_up, ramp_limit_shut_down, p_min_pu, min_up_time, min_down_time, and start_up_cost of conventional generators. Refer to the CSV file „unit_commitment.csv“." +dynamic_fuel_price ,bool,"{true, false}","Consider the monthly fluctuating fuel prices for each conventional generator. Refer to the CSV file ""data/validation/monthly_fuel_price.csv""." +{name},--,string,For any carrier/technology overwrite attributes as listed below. +-- {attribute},--,string or float,"For any attribute, can specify a float or reference to a file path to a CSV file giving floats for each country (2-letter code)." diff --git a/doc/configtables/costs.csv b/doc/configtables/costs.csv index 3c1a050419..e36c57b5f9 100644 --- a/doc/configtables/costs.csv +++ b/doc/configtables/costs.csv @@ -1,13 +1,13 @@ -,Unit,Values,Description -year,--,YYYY; e.g. '2030',Year for which to retrieve cost assumptions of ``resources/costs.csv``. -version,--,vX.X.X or //vX.X.X; e.g. 'v0.5.0',Version of ``technology-data`` repository to use. If this string is of the form // then costs are instead retrieved from ``github.com//`` at the tag. -social_discountrate,p.u.,float,Social discount rate to compare costs in different investment periods. 0.02 corresponds to a social discount rate of 2%. -fill_values,--,float,Default values if not specified for a technology in ``resources/costs.csv``. -custom_cost_fn,--,str or None,Path to the custom costs file. None if it should not be used. Default ``data/custom_costs.csv`` contains minor adjustments for stabilising the optimisation results. -overwrites,--,Keys should be in the 'parameter' column of ``resources/costs.csv``. Values are dictionaries with keys from the 'technology' column of ``resources/costs.csv`` and float values.,"For the given parameters and technologies, assumptions about their parameter are overwritten the corresponding value of the technology." -capital_cost,EUR/MW,Keys should be in the 'technology' column of ``resources/costs.csv``. Values can be any float.,"For the given technologies, assumptions about their capital investment costs are set to the corresponding value. Optional; overwrites cost assumptions from ``resources/costs.csv``." -marginal_cost,EUR/MWh,Keys should be in the 'technology' column of ``resources/costs.csv``. Values can be any float.,"For the given technologies, assumptions about their marginal operating costs are set to the corresponding value. Optional; overwrites cost assumptions from ``resources/costs.csv``." -emission_prices,,,Specify exogenous prices for emission types listed in ``network.carriers`` to marginal costs. --- enable,bool,true or false,Add cost for a carbon-dioxide price configured in ``costs: emission_prices: co2`` to ``marginal_cost`` of generators. Config setting can also be enabled with the keyword ``Ep`` in the ``{opts}`` wildcard for electricity-only runs. --- co2,EUR/t,float or dictionary with planning horizons as keys.,"Exogenous price of carbon-dioxide. In electricity-only runs it is added to the marginal costs of fossil-fuelled generators according to their carbon intensity, while for sector networks it applies to emissions ending up in CO2 atmosphere." --- co2_monthly_price,bool,true or false,Add monthly cost for a carbon-dioxide price based on historical values built by the rule ``build_monthly_prices`` +,Unit,Values,Description +year,--,YYYY; e.g. '2030',Year for which to retrieve cost assumptions of ``resources/costs.csv``. +version,--,vX.X.X or //vX.X.X; e.g. 'v0.5.0',Version of ``technology-data`` repository to use. If this string is of the form // then costs are instead retrieved from ``github.com//`` at the tag. +social_discountrate,p.u.,float,Social discount rate to compare costs in different investment periods. 0.02 corresponds to a social discount rate of 2%. +fill_values,--,float,Default values if not specified for a technology in ``resources/costs.csv``. +custom_cost_fn,--,str or None,Path to the custom costs file. None if it should not be used. Default ``data/custom_costs.csv`` contains minor adjustments for stabilising the optimisation results. +overwrites,--,Keys should be in the 'parameter' column of ``resources/costs.csv``. Values are dictionaries with keys from the 'technology' column of ``resources/costs.csv`` and float values.,"For the given parameters and technologies, assumptions about their parameter are overwritten the corresponding value of the technology." +capital_cost,EUR/MW,Keys should be in the 'technology' column of ``resources/costs.csv``. Values can be any float.,"For the given technologies, assumptions about their capital investment costs are set to the corresponding value. Optional; overwrites cost assumptions from ``resources/costs.csv``." +marginal_cost,EUR/MWh,Keys should be in the 'technology' column of ``resources/costs.csv``. Values can be any float.,"For the given technologies, assumptions about their marginal operating costs are set to the corresponding value. Optional; overwrites cost assumptions from ``resources/costs.csv``." +emission_prices,,,Specify exogenous prices for emission types listed in ``network.carriers`` to marginal costs. +-- enable,bool,true or false,Add cost for a carbon-dioxide price configured in ``costs: emission_prices: co2`` to ``marginal_cost`` of generators. Config setting can also be enabled with the keyword ``Ep`` in the ``{opts}`` wildcard for electricity-only runs. +-- co2,EUR/t,float or dictionary with planning horizons as keys.,"Exogenous price of carbon-dioxide. In electricity-only runs it is added to the marginal costs of fossil-fuelled generators according to their carbon intensity, while for sector networks it applies to emissions ending up in CO2 atmosphere." +-- co2_monthly_price,bool,true or false,Add monthly cost for a carbon-dioxide price based on historical values built by the rule ``build_monthly_prices`` diff --git a/doc/configtables/energy.csv b/doc/configtables/energy.csv index 3d13b9c38e..507eab4cfe 100644 --- a/doc/configtables/energy.csv +++ b/doc/configtables/energy.csv @@ -1,4 +1,4 @@ -,Unit,Values,Description -energy_totals_year ,--,"{1990,1995,2000,2005,2010,2011,…} ",The year for the sector energy use. The year must be avaliable in the Eurostat report -base_emissions_year ,--,"YYYY; e.g. 1990","The base year for the sector emissions. See `European Environment Agency (EEA) `_." -emissions ,--,"{CO2, All greenhouse gases - (CO2 equivalent)}","Specify which sectoral emissions are taken into account. Data derived from EEA. Currently only CO2 is implemented." +,Unit,Values,Description +energy_totals_year ,--,"{1990,1995,2000,2005,2010,2011,…} ",The year for the sector energy use. The year must be avaliable in the Eurostat report +base_emissions_year ,--,"YYYY; e.g. 1990","The base year for the sector emissions. See `European Environment Agency (EEA) `_." +emissions ,--,"{CO2, All greenhouse gases - (CO2 equivalent)}","Specify which sectoral emissions are taken into account. Data derived from EEA. Currently only CO2 is implemented." diff --git a/doc/configtables/existing_capacities.csv b/doc/configtables/existing_capacities.csv index eacae35b9c..436db96999 100644 --- a/doc/configtables/existing_capacities.csv +++ b/doc/configtables/existing_capacities.csv @@ -1,7 +1,7 @@ -,Unit,Values,Description -grouping_years_power ,--,A list of years,Intervals to group existing capacities for power -grouping_years_heat ,--,A list of years below 2020,Intervals to group existing capacities for heat - -threshold_capacity ,MW,float,Capacities generators and links of below threshold are removed during add_existing_capacities -default_heating_lifetime ,years,int,Default lifetime for heating technologies -conventional_carriers ,--,"Any subset of {uranium, coal, lignite, oil} ",List of conventional power plants to include in the sectoral network +,Unit,Values,Description +grouping_years_power ,--,A list of years,Intervals to group existing capacities for power +grouping_years_heat ,--,A list of years below 2020,Intervals to group existing capacities for heat + +threshold_capacity ,MW,float,Capacities generators and links of below threshold are removed during add_existing_capacities +default_heating_lifetime ,years,int,Default lifetime for heating technologies +conventional_carriers ,--,"Any subset of {uranium, coal, lignite, oil} ",List of conventional power plants to include in the sectoral network diff --git a/doc/configtables/industry.csv b/doc/configtables/industry.csv index fd80e80493..2f3666a328 100644 --- a/doc/configtables/industry.csv +++ b/doc/configtables/industry.csv @@ -1,38 +1,38 @@ -,Unit,Values,Description -St_primary_fraction,--,Dictionary with planning horizons as keys.,The fraction of steel produced via primary route versus secondary route (scrap+EAF). Current fraction is 0.6 -DRI_fraction,--,Dictionary with planning horizons as keys.,The fraction of the primary route DRI + EAF -,,, -H2_DRI,--,float,The hydrogen consumption in Direct Reduced Iron (DRI) Mwh_H2 LHV/ton_Steel from 51kgH2/tSt in `Vogl et al (2018) `_ -elec_DRI,MWh/tSt,float,The electricity consumed in Direct Reduced Iron (DRI) shaft. From `HYBRIT brochure `_ -Al_primary_fraction,--,Dictionary with planning horizons as keys.,The fraction of aluminium produced via the primary route versus scrap. Current fraction is 0.4 -MWh_NH3_per_tNH3,LHV,float,The energy amount per ton of ammonia. -MWh_CH4_per_tNH3_SMR,--,float,The energy amount of methane needed to produce a ton of ammonia using steam methane reforming (SMR). Value derived from 2012's demand from `Center for European Policy Studies (2008) `_ -MWh_elec_per_tNH3_SMR,--,float,"The energy amount of electricity needed to produce a ton of ammonia using steam methane reforming (SMR). same source, assuming 94-6% split methane-elec of total energy demand 11.5 MWh/tNH3" -Mwh_H2_per_tNH3 _electrolysis,--,float,"The energy amount of hydrogen needed to produce a ton of ammonia using Haber–Bosch process. From `Wang et al (2018) `_, Base value assumed around 0.197 tH2/tHN3 (>3/17 since some H2 lost and used for energy)" -Mwh_elec_per_tNH3 _electrolysis,--,float,"The energy amount of electricity needed to produce a ton of ammonia using Haber–Bosch process. From `Wang et al (2018) `_, Table 13 (air separation and HB)" -Mwh_NH3_per_MWh _H2_cracker,--,float,The energy amount of amonia needed to produce an energy amount hydrogen using ammonia cracker -NH3_process_emissions,MtCO2/a,float,The emission of ammonia production from steam methane reforming (SMR). From UNFCCC for 2015 for EU28 -petrochemical_process _emissions,MtCO2/a,float,The emission of petrochemical production. From UNFCCC for 2015 for EU28 -HVC_primary_fraction,--,float,The fraction of high value chemicals (HVC) produced via primary route -HVC_mechanical_recycling _fraction,--,float,The fraction of high value chemicals (HVC) produced using mechanical recycling -HVC_chemical_recycling _fraction,--,float,The fraction of high value chemicals (HVC) produced using chemical recycling -HVC_environment_sequestration_fraction,--,float,The fraction of high value chemicals (HVC) put into landfill resulting in additional carbon sequestration. The default value is 0. -waste_to_energy,--,bool,Switch to enable expansion of waste to energy CHPs for conversion of plastics. Default is false. -waste_to_energy_cc,--,bool,Switch to enable expansion of waste to energy CHPs for conversion of plastics with carbon capture. Default is false. -,,, -sector_ratios_fraction_future,--,Dictionary with planning horizons as keys.,The fraction of total progress in fuel and process switching achieved in the industry sector. -basic_chemicals_without_NH3_production_today,Mt/a,float,"The amount of basic chemicals produced without ammonia (= 86 Mtethylene-equiv - 17 MtNH3)." -HVC_production_today,MtHVC/a,float,"The amount of high value chemicals (HVC) produced. This includes ethylene, propylene and BTX. From `DECHEMA (2017) `_, Figure 16, page 107" -Mwh_elec_per_tHVC _mechanical_recycling,MWh/tHVC,float,"The energy amount of electricity needed to produce a ton of high value chemical (HVC) using mechanical recycling. From SI of `Meys et al (2020) `_, Table S5, for HDPE, PP, PS, PET. LDPE would be 0.756." -Mwh_elec_per_tHVC _chemical_recycling,MWh/tHVC,float,"The energy amount of electricity needed to produce a ton of high value chemical (HVC) using chemical recycling. The default value is based on pyrolysis and electric steam cracking. From `Material Economics (2019) `_, page 125" -,,, -chlorine_production _today,MtCl/a,float,"The amount of chlorine produced. From `DECHEMA (2017) `_, Table 7, page 43" -MWh_elec_per_tCl,MWh/tCl,float,"The energy amount of electricity needed to produce a ton of chlorine. From `DECHEMA (2017) `_, Table 6 page 43" -MWh_H2_per_tCl,MWhH2/tCl,float,"The energy amount of hydrogen needed to produce a ton of chlorine. The value is negative since hydrogen produced in chloralkali process. From `DECHEMA (2017) `_, page 43" -methanol_production _today,MtMeOH/a,float,"The amount of methanol produced. From `DECHEMA (2017) `_, page 62" -MWh_elec_per_tMeOH,MWh/tMeOH,float,"The energy amount of electricity needed to produce a ton of methanol. From `DECHEMA (2017) `_, Table 14, page 65" -MWh_CH4_per_tMeOH,MWhCH4/tMeOH,float,"The energy amount of methane needed to produce a ton of methanol. From `DECHEMA (2017) `_, Table 14, page 65" -MWh_MeOH_per_tMeOH,LHV,float,"The energy amount per ton of methanol. From `DECHEMA (2017) `_, page 74." -hotmaps_locate_missing,--,"{true,false}",Locate industrial sites without valid locations based on city and countries. -reference_year,year,YYYY,The year used as the baseline for industrial energy demand and production. Data extracted from `JRC-IDEES 2015 `_ -oil_refining_emissions,tCO2/MWh,float,"The emissions from oil fuel processing (e.g. oil in petrochemical refinieries). The default value of 0.013 tCO2/MWh is based on DE statistics for 2019; the EU value is very similar." +,Unit,Values,Description +St_primary_fraction,--,Dictionary with planning horizons as keys.,The fraction of steel produced via primary route versus secondary route (scrap+EAF). Current fraction is 0.6 +DRI_fraction,--,Dictionary with planning horizons as keys.,The fraction of the primary route DRI + EAF +,,, +H2_DRI,--,float,The hydrogen consumption in Direct Reduced Iron (DRI) Mwh_H2 LHV/ton_Steel from 51kgH2/tSt in `Vogl et al (2018) `_ +elec_DRI,MWh/tSt,float,The electricity consumed in Direct Reduced Iron (DRI) shaft. From `HYBRIT brochure `_ +Al_primary_fraction,--,Dictionary with planning horizons as keys.,The fraction of aluminium produced via the primary route versus scrap. Current fraction is 0.4 +MWh_NH3_per_tNH3,LHV,float,The energy amount per ton of ammonia. +MWh_CH4_per_tNH3_SMR,--,float,The energy amount of methane needed to produce a ton of ammonia using steam methane reforming (SMR). Value derived from 2012's demand from `Center for European Policy Studies (2008) `_ +MWh_elec_per_tNH3_SMR,--,float,"The energy amount of electricity needed to produce a ton of ammonia using steam methane reforming (SMR). same source, assuming 94-6% split methane-elec of total energy demand 11.5 MWh/tNH3" +Mwh_H2_per_tNH3 _electrolysis,--,float,"The energy amount of hydrogen needed to produce a ton of ammonia using Haber–Bosch process. From `Wang et al (2018) `_, Base value assumed around 0.197 tH2/tHN3 (>3/17 since some H2 lost and used for energy)" +Mwh_elec_per_tNH3 _electrolysis,--,float,"The energy amount of electricity needed to produce a ton of ammonia using Haber–Bosch process. From `Wang et al (2018) `_, Table 13 (air separation and HB)" +Mwh_NH3_per_MWh _H2_cracker,--,float,The energy amount of amonia needed to produce an energy amount hydrogen using ammonia cracker +NH3_process_emissions,MtCO2/a,float,The emission of ammonia production from steam methane reforming (SMR). From UNFCCC for 2015 for EU28 +petrochemical_process _emissions,MtCO2/a,float,The emission of petrochemical production. From UNFCCC for 2015 for EU28 +HVC_primary_fraction,--,float,The fraction of high value chemicals (HVC) produced via primary route +HVC_mechanical_recycling _fraction,--,float,The fraction of high value chemicals (HVC) produced using mechanical recycling +HVC_chemical_recycling _fraction,--,float,The fraction of high value chemicals (HVC) produced using chemical recycling +HVC_environment_sequestration_fraction,--,float,The fraction of high value chemicals (HVC) put into landfill resulting in additional carbon sequestration. The default value is 0. +waste_to_energy,--,bool,Switch to enable expansion of waste to energy CHPs for conversion of plastics. Default is false. +waste_to_energy_cc,--,bool,Switch to enable expansion of waste to energy CHPs for conversion of plastics with carbon capture. Default is false. +,,, +sector_ratios_fraction_future,--,Dictionary with planning horizons as keys.,The fraction of total progress in fuel and process switching achieved in the industry sector. +basic_chemicals_without_NH3_production_today,Mt/a,float,"The amount of basic chemicals produced without ammonia (= 86 Mtethylene-equiv - 17 MtNH3)." +HVC_production_today,MtHVC/a,float,"The amount of high value chemicals (HVC) produced. This includes ethylene, propylene and BTX. From `DECHEMA (2017) `_, Figure 16, page 107" +Mwh_elec_per_tHVC _mechanical_recycling,MWh/tHVC,float,"The energy amount of electricity needed to produce a ton of high value chemical (HVC) using mechanical recycling. From SI of `Meys et al (2020) `_, Table S5, for HDPE, PP, PS, PET. LDPE would be 0.756." +Mwh_elec_per_tHVC _chemical_recycling,MWh/tHVC,float,"The energy amount of electricity needed to produce a ton of high value chemical (HVC) using chemical recycling. The default value is based on pyrolysis and electric steam cracking. From `Material Economics (2019) `_, page 125" +,,, +chlorine_production _today,MtCl/a,float,"The amount of chlorine produced. From `DECHEMA (2017) `_, Table 7, page 43" +MWh_elec_per_tCl,MWh/tCl,float,"The energy amount of electricity needed to produce a ton of chlorine. From `DECHEMA (2017) `_, Table 6 page 43" +MWh_H2_per_tCl,MWhH2/tCl,float,"The energy amount of hydrogen needed to produce a ton of chlorine. The value is negative since hydrogen produced in chloralkali process. From `DECHEMA (2017) `_, page 43" +methanol_production _today,MtMeOH/a,float,"The amount of methanol produced. From `DECHEMA (2017) `_, page 62" +MWh_elec_per_tMeOH,MWh/tMeOH,float,"The energy amount of electricity needed to produce a ton of methanol. From `DECHEMA (2017) `_, Table 14, page 65" +MWh_CH4_per_tMeOH,MWhCH4/tMeOH,float,"The energy amount of methane needed to produce a ton of methanol. From `DECHEMA (2017) `_, Table 14, page 65" +MWh_MeOH_per_tMeOH,LHV,float,"The energy amount per ton of methanol. From `DECHEMA (2017) `_, page 74." +hotmaps_locate_missing,--,"{true,false}",Locate industrial sites without valid locations based on city and countries. +reference_year,year,YYYY,The year used as the baseline for industrial energy demand and production. Data extracted from `JRC-IDEES 2015 `_ +oil_refining_emissions,tCO2/MWh,float,"The emissions from oil fuel processing (e.g. oil in petrochemical refinieries). The default value of 0.013 tCO2/MWh is based on DE statistics for 2019; the EU value is very similar." diff --git a/doc/configtables/opts.csv b/doc/configtables/opts.csv index a34ba42c52..8d7feb1def 100644 --- a/doc/configtables/opts.csv +++ b/doc/configtables/opts.csv @@ -1,14 +1,14 @@ -Trigger, Description, Definition, Status -``nH``; i.e. ``2H``-``6H``, Resample the time-resolution by averaging over every ``n`` snapshots, ``prepare_network``: `average_every_nhours() `_ and its `caller `__), In active use -``nSEG``; e.g. ``4380SEG``,"Apply time series segmentation with `tsam `_ package to ``n`` adjacent snapshots of varying lengths based on capacity factors of varying renewables, hydro inflow and load.", ``prepare_network``: apply_time_segmentation(), In active use -``Co2L``,Add an overall absolute carbon-dioxide emissions limit configured in ``electricity: co2limit``. If a float is appended an overall emission limit relative to the emission level given in ``electricity: co2base`` is added (e.g. ``Co2L0.05`` limits emissisions to 5% of what is given in ``electricity: co2base``), ``prepare_network``: `add_co2limit() `_ and its `caller `__, In active use -``Ep``,Add cost for a carbon-dioxide price configured in ``costs: emission_prices: co2`` to ``marginal_cost`` of generators (other emission types listed in ``network.carriers`` possible as well), ``prepare_network``: `add_emission_prices() `_ and its `caller `__, In active use -``Ept``,Add monthly cost for a carbon-dioxide price based on historical values built by the rule ``build_monthly_prices``, In active use, -``CCL``,Add minimum and maximum levels of generator nominal capacity per carrier for individual countries. These can be specified in the file linked at ``electricity: agg_p_nom_limits`` in the configuration. File defaults to ``data/agg_p_nom_minmax.csv``., ``solve_network``, In active use -``EQ``,Require each country or node to on average produce a minimal share of its total consumption itself. Example: ``EQ0.5c`` demands each country to produce on average at least 50% of its consumption; ``EQ0.5`` demands each node to produce on average at least 50% of its consumption., ``solve_network``, In active use -``ATK``,Require each node to be autarkic. Example: ``ATK`` removes all lines and links. ``ATKc`` removes all cross-border lines and links., ``prepare_network``, In active use -``BAU``,Add a per-``carrier`` minimal overall capacity; i.e. at least ``40GW`` of ``OCGT`` in Europe; configured in ``electricity: BAU_mincapacities``, ``solve_network``: `add_opts_constraints() `__, Untested -``SAFE``,Add a capacity reserve margin of a certain fraction above the peak demand to which renewable generators and storage do *not* contribute. Ignores network., ``solve_network`` `add_opts_constraints() `__, Untested -``carrier+component+{c|p|m|e}factor``,"Alter the capital cost (``c``), installable capacity potential (``p``), marginal costs (``m``) or installable storage potential (``e``) of components (``Generator``, ``Link``, etc.) with a given carrier by a factor. Example: ``solar+Generator+c0.5`` reduces the capital cost of solar generators to 50\% of original values.", ``prepare_network``, In active use -``CH4L``,"Add an overall absolute gas limit. If configured in ``electricity: gaslimit`` it is given in MWh thermal, if a float is appended, the overall gaslimit is assumed to be given in TWh thermal (e.g. ``CH4L200`` limits gas dispatch to 200 TWh termal)", ``prepare_network``: ``add_gaslimit()``, In active use -``l{v|c}factor``,"Add an overall transmission expansion limit relative to existing power transmission infrastructure based on volume (``v``) or cost (``c``). Example: ``lv1.25`` allows power grid expansion up to a volume (length times capacity) by 25%.",``prepare_network``: ``set_transmission_limit()``, In active use +Trigger, Description, Definition, Status +``nH``; i.e. ``2H``-``6H``, Resample the time-resolution by averaging over every ``n`` snapshots, ``prepare_network``: `average_every_nhours() `_ and its `caller `__), In active use +``nSEG``; e.g. ``4380SEG``,"Apply time series segmentation with `tsam `_ package to ``n`` adjacent snapshots of varying lengths based on capacity factors of varying renewables, hydro inflow and load.", ``prepare_network``: apply_time_segmentation(), In active use +``Co2L``,Add an overall absolute carbon-dioxide emissions limit configured in ``electricity: co2limit``. If a float is appended an overall emission limit relative to the emission level given in ``electricity: co2base`` is added (e.g. ``Co2L0.05`` limits emissisions to 5% of what is given in ``electricity: co2base``), ``prepare_network``: `add_co2limit() `_ and its `caller `__, In active use +``Ep``,Add cost for a carbon-dioxide price configured in ``costs: emission_prices: co2`` to ``marginal_cost`` of generators (other emission types listed in ``network.carriers`` possible as well), ``prepare_network``: `add_emission_prices() `_ and its `caller `__, In active use +``Ept``,Add monthly cost for a carbon-dioxide price based on historical values built by the rule ``build_monthly_prices``, In active use, +``CCL``,Add minimum and maximum levels of generator nominal capacity per carrier for individual countries. These can be specified in the file linked at ``electricity: agg_p_nom_limits`` in the configuration. File defaults to ``data/agg_p_nom_minmax.csv``., ``solve_network``, In active use +``EQ``,Require each country or node to on average produce a minimal share of its total consumption itself. Example: ``EQ0.5c`` demands each country to produce on average at least 50% of its consumption; ``EQ0.5`` demands each node to produce on average at least 50% of its consumption., ``solve_network``, In active use +``ATK``,Require each node to be autarkic. Example: ``ATK`` removes all lines and links. ``ATKc`` removes all cross-border lines and links., ``prepare_network``, In active use +``BAU``,Add a per-``carrier`` minimal overall capacity; i.e. at least ``40GW`` of ``OCGT`` in Europe; configured in ``electricity: BAU_mincapacities``, ``solve_network``: `add_opts_constraints() `__, Untested +``SAFE``,Add a capacity reserve margin of a certain fraction above the peak demand to which renewable generators and storage do *not* contribute. Ignores network., ``solve_network`` `add_opts_constraints() `__, Untested +``carrier+component+{c|p|m|e}factor``,"Alter the capital cost (``c``), installable capacity potential (``p``), marginal costs (``m``) or installable storage potential (``e``) of components (``Generator``, ``Link``, etc.) with a given carrier by a factor. Example: ``solar+Generator+c0.5`` reduces the capital cost of solar generators to 50\% of original values.", ``prepare_network``, In active use +``CH4L``,"Add an overall absolute gas limit. If configured in ``electricity: gaslimit`` it is given in MWh thermal, if a float is appended, the overall gaslimit is assumed to be given in TWh thermal (e.g. ``CH4L200`` limits gas dispatch to 200 TWh termal)", ``prepare_network``: ``add_gaslimit()``, In active use +``l{v|c}factor``,"Add an overall transmission expansion limit relative to existing power transmission infrastructure based on volume (``v``) or cost (``c``). Example: ``lv1.25`` allows power grid expansion up to a volume (length times capacity) by 25%.",``prepare_network``: ``set_transmission_limit()``, In active use diff --git a/doc/configtables/plotting.csv b/doc/configtables/plotting.csv index 6626e8d3bb..5a2d46421e 100644 --- a/doc/configtables/plotting.csv +++ b/doc/configtables/plotting.csv @@ -1,52 +1,52 @@ -,Unit,Values,Description -heat_sources,,, --- enable_heat_source_maps,--,bool,If true generate temporal aggregate maps for heat sources -map,,, --- boundaries,°,"[x1,x2,y1,y2]",Boundaries of the map plots in degrees latitude (y) and longitude (x) --- geomap_colors,,, --- -- ocean,--,str,Color of the ocean in the geomap. --- -- land,--,str,Color of the land in the geomap. -interactive_bus_balance,,, --- bus_name_pattern,--,str,Regex pattern to match bus names for which interactive balance time series are plotted. E.g. 'DE*' for all buses starting with 'DE'. - -projection,,, --- name,--,Valid Cartopy projection name,See https://scitools.org.uk/cartopy/docs/latest/reference/projections.html for list of available projections. --- args,--,--,"Other entries under 'projection' are passed as keyword arguments to the projection constructor, e.g. ``central_longitude: 10.``." -eu_node_location,,, --- x,°,float,Longitude of the EU node location. --- y,°,float,Latitude of the EU node location. -costs_max,bn Euro,float,Upper y-axis limit in cost bar plots. -costs_threshold,bn Euro,float,Threshold below which technologies will not be shown in cost bar plots. -energy_max,TWh,float,Upper y-axis limit in energy bar plots. -energy_min,TWh,float,Lower y-axis limit in energy bar plots. -energy_threshold,TWh,float,Threshold below which technologies will not be shown in energy bar plots. -balance_timeseries: --- max_threshold,GW or kt/h for CO2,float,Technologies with maximum absolute dispatch below this threshold are grouped to 'other'. --- mean_threshold,GW or kt/h for CO2,float,Technologies with mean absolute dispatch below this threshold are grouped to 'other'. --- monthly,"{True,False}",bool,Whether to plot monthly balance timeseries. --- monthly_resolution,"e.g. 1h",str,Resolution of the monthly balance timeseries. Argument to pandas.DataFrame.resample. Defaults to 'null' which uses the model-native resolution. --- annual,"{True,False}",bool,Whether to plot annual balance timeseries. --- annual_resolution,"e.g. 1h",str,Resolution of the annual balance timeseries. Argument to pandas.DataFrame.resample. Defaults to 'D' which applies daily resampling. --- carriers,--,list,Subset of bus carriers to plot in the balance timeseries. --- carrier_groups,--,dict,Mapping from carrier group names to list of bus carriers. E.g. a key 'electricity' to include 'AC' and 'low voltage'. -heatmap_timeseries,,,Plotting configuration for :mod:`plot_heatmap_timeseries`. --- marginal_price,--,list,Subset of bus carriers to plot marginal prices heatmap time series for. --- utilisation_rate,--,list,Subset of carriers to plot utilisation rates heatmap time series for. --- soc,--,list,Subset of carriers to plot state of charge heatmap time series for. -balance_map,,, --- bus_carriers,--,[str],List of carriers to plot. --- imports_as_flows,"{True,False}",bool,Whether to plot imports as flows (default plots imports in energy balance). --- {bus_carrier},,, --- -- unit,--,str,Unit of the energy carrier like TWh for electricity with conversion factor of a million. --- -- unit_conversion,--,float,Conversion factor for the energy carrier unit. --- -- cmap,--,str,Colormap for the price of the regions. --- -- vmin,--,float,Minimum value for the colormap. --- -- vmax,--,float,Maximum value for the colormap. --- -- region_unit,--,str,Unit for the price like €/MWh for electricity. --- -- bus_factor,--,float,Factor for the bus sizes by which they are multiplied. --- -- branch_factor,--,float,Factor for the branch sizes by which they are multiplied. --- -- flow_factor,--,float,Factor for the flow sizes by which they are multiplied. --- -- bus_sizes,--,[float],Sizes for the buses in the legend. --- -- branch_sizes,--,[float],Sizes for the branches in the legend. -tech_colors,--,carrier -> HEX colour code,Mapping from network ``carrier`` to a colour (`HEX colour code `_). -nice_names,--,str -> str,Mapping from network ``carrier`` to a more readable name. +,Unit,Values,Description +heat_sources,,, +-- enable_heat_source_maps,--,bool,If true generate temporal aggregate maps for heat sources +map,,, +-- boundaries,°,"[x1,x2,y1,y2]",Boundaries of the map plots in degrees latitude (y) and longitude (x) +-- geomap_colors,,, +-- -- ocean,--,str,Color of the ocean in the geomap. +-- -- land,--,str,Color of the land in the geomap. +interactive_bus_balance,,, +-- bus_name_pattern,--,str,Regex pattern to match bus names for which interactive balance time series are plotted. E.g. 'DE*' for all buses starting with 'DE'. + +projection,,, +-- name,--,Valid Cartopy projection name,See https://scitools.org.uk/cartopy/docs/latest/reference/projections.html for list of available projections. +-- args,--,--,"Other entries under 'projection' are passed as keyword arguments to the projection constructor, e.g. ``central_longitude: 10.``." +eu_node_location,,, +-- x,°,float,Longitude of the EU node location. +-- y,°,float,Latitude of the EU node location. +costs_max,bn Euro,float,Upper y-axis limit in cost bar plots. +costs_threshold,bn Euro,float,Threshold below which technologies will not be shown in cost bar plots. +energy_max,TWh,float,Upper y-axis limit in energy bar plots. +energy_min,TWh,float,Lower y-axis limit in energy bar plots. +energy_threshold,TWh,float,Threshold below which technologies will not be shown in energy bar plots. +balance_timeseries: +-- max_threshold,GW or kt/h for CO2,float,Technologies with maximum absolute dispatch below this threshold are grouped to 'other'. +-- mean_threshold,GW or kt/h for CO2,float,Technologies with mean absolute dispatch below this threshold are grouped to 'other'. +-- monthly,"{True,False}",bool,Whether to plot monthly balance timeseries. +-- monthly_resolution,"e.g. 1h",str,Resolution of the monthly balance timeseries. Argument to pandas.DataFrame.resample. Defaults to 'null' which uses the model-native resolution. +-- annual,"{True,False}",bool,Whether to plot annual balance timeseries. +-- annual_resolution,"e.g. 1h",str,Resolution of the annual balance timeseries. Argument to pandas.DataFrame.resample. Defaults to 'D' which applies daily resampling. +-- carriers,--,list,Subset of bus carriers to plot in the balance timeseries. +-- carrier_groups,--,dict,Mapping from carrier group names to list of bus carriers. E.g. a key 'electricity' to include 'AC' and 'low voltage'. +heatmap_timeseries,,,Plotting configuration for :mod:`plot_heatmap_timeseries`. +-- marginal_price,--,list,Subset of bus carriers to plot marginal prices heatmap time series for. +-- utilisation_rate,--,list,Subset of carriers to plot utilisation rates heatmap time series for. +-- soc,--,list,Subset of carriers to plot state of charge heatmap time series for. +balance_map,,, +-- bus_carriers,--,[str],List of carriers to plot. +-- imports_as_flows,"{True,False}",bool,Whether to plot imports as flows (default plots imports in energy balance). +-- {bus_carrier},,, +-- -- unit,--,str,Unit of the energy carrier like TWh for electricity with conversion factor of a million. +-- -- unit_conversion,--,float,Conversion factor for the energy carrier unit. +-- -- cmap,--,str,Colormap for the price of the regions. +-- -- vmin,--,float,Minimum value for the colormap. +-- -- vmax,--,float,Maximum value for the colormap. +-- -- region_unit,--,str,Unit for the price like €/MWh for electricity. +-- -- bus_factor,--,float,Factor for the bus sizes by which they are multiplied. +-- -- branch_factor,--,float,Factor for the branch sizes by which they are multiplied. +-- -- flow_factor,--,float,Factor for the flow sizes by which they are multiplied. +-- -- bus_sizes,--,[float],Sizes for the buses in the legend. +-- -- branch_sizes,--,[float],Sizes for the branches in the legend. +tech_colors,--,carrier -> HEX colour code,Mapping from network ``carrier`` to a colour (`HEX colour code `_). +nice_names,--,str -> str,Mapping from network ``carrier`` to a more readable name. diff --git a/doc/configtables/snapshots.csv b/doc/configtables/snapshots.csv index fb76546859..aaa01202cc 100644 --- a/doc/configtables/snapshots.csv +++ b/doc/configtables/snapshots.csv @@ -1,4 +1,4 @@ -,Unit,Values,Description -start,--,str or list of datetime-like; e.g. YYYY-MM-DD,Left bound of date range -end,--,str or list of datetime-like; e.g. YYYY-MM-DD,Right bound of date range -inclusive,--,"One of {'neither', 'both', 'left', 'right'}","Make the time interval closed to the ``left``, ``right``, or both sides ``both`` or neither side ``None``." +,Unit,Values,Description +start,--,str or list of datetime-like; e.g. YYYY-MM-DD,Left bound of date range +end,--,str or list of datetime-like; e.g. YYYY-MM-DD,Right bound of date range +inclusive,--,"One of {'neither', 'both', 'left', 'right'}","Make the time interval closed to the ``left``, ``right``, or both sides ``both`` or neither side ``None``." diff --git a/doc/configtables/solar-thermal.csv b/doc/configtables/solar-thermal.csv index 4575ae0d4d..5b6f0f8a78 100644 --- a/doc/configtables/solar-thermal.csv +++ b/doc/configtables/solar-thermal.csv @@ -1,6 +1,6 @@ -,Unit,Values,Description -clearsky_model ,--,"{‘simple’, ‘enhanced’}",Type of clearsky model for diffuse irradiation -orientation ,--,"{units of degrees, ‘latitude_optimal’}",Panel orientation with slope and azimuth --- azimuth,float,units of degrees,The angle between the North and the sun with panels on the local horizon - --- slope,float,units of degrees,The angle between the ground and the panels +,Unit,Values,Description +clearsky_model ,--,"{‘simple’, ‘enhanced’}",Type of clearsky model for diffuse irradiation +orientation ,--,"{units of degrees, ‘latitude_optimal’}",Panel orientation with slope and azimuth +-- azimuth,float,units of degrees,The angle between the North and the sun with panels on the local horizon + +-- slope,float,units of degrees,The angle between the ground and the panels diff --git a/doc/configtables/solving.csv b/doc/configtables/solving.csv index b389bd8685..4fc598b8e4 100644 --- a/doc/configtables/solving.csv +++ b/doc/configtables/solving.csv @@ -1,52 +1,52 @@ -,Unit,Values,Description -options,,, --- clip_p_max_pu,p.u.,float,To avoid too small values in the renewables` per-unit availability time series values below this threshold are set to zero. --- load_shedding,bool/float,"{'true','false', float}",Set to true to add generators with very high marginal cost to simulate load shedding and avoid problem infeasibilities. The default value is 1e5 €/MWh = 100 €/kWh (see http://journal.frontiersin.org/article/10.3389/fenrg.2015.00055/full). Override this value by setting a float denoting the new cost in MWh. Consider lowering the cost if you are struggling with long solve times. --- curtailment_mode,bool/float,"{'true','false'}",Fixes the dispatch profiles of generators with time-varying p_max_pu by setting ``p_min_pu = p_max_pu`` and adds an auxiliary curtailment generator (with negative sign to absorb excess power) at every AC bus. This can speed up the solving process as the curtailment decision is aggregated into a single generator per region. Defaults to ``false``. --- noisy_costs,bool,"{'true','false'}","Add random noise to marginal cost of generators by :math:`\mathcal{U}(0.009,0,011)` and capital cost of lines and links by :math:`\mathcal{U}(0.09,0,11)`." --- skip_iterations,bool,"{'true','false'}","Skip iterating, do not update impedances of branches. Defaults to true." --- rolling_horizon,bool,"{'true','false'}","Switch for rule :mod:`solve_operations_network` whether to optimize the network in a rolling horizon manner, where the snapshot range is split into slices of size `horizon` which are solved consecutively. This setting has currently no effect on sector-coupled networks." --- seed,--,int,Random seed for increased deterministic behaviour. --- custom_extra_functionality,--,str,Path to a Python file with custom extra functionality code to be injected into the solving rules of the workflow relative to ``rules`` directory. --- io_api,string,"{'lp','mps','direct'}",Passed to linopy and determines the API used to communicate with the solver. With the ``'lp'`` and ``'mps'`` options linopy passes a file to the solver; with the ``'direct'`` option (only supported for HIGHS and Gurobi) linopy uses an in-memory python API resulting in better performance. --- track_iterations,bool,"{'true','false'}",Flag whether to store the intermediate branch capacities and objective function values are recorded for each iteration in ``network.lines['s_nom_opt_X']`` (where ``X`` labels the iteration) --- min_iterations,--,int,Minimum number of solving iterations in between which resistance and reactence (``x/r``) are updated for branches according to ``s_nom_opt`` of the previous run. --- max_iterations,--,int,Maximum number of solving iterations in between which resistance and reactence (``x/r``) are updated for branches according to ``s_nom_opt`` of the previous run. --- transmission_losses,int,[0-9],"Add piecewise linear approximation of transmission losses based on n tangents. Defaults to 0, which means losses are ignored." --- linearized_unit_commitment,bool,"{'true','false'}",Whether to optimise using the linearized unit commitment formulation. --- horizon,--,int,Number of snapshots to consider in each iteration. Defaults to 100. --- post_discretization,,, --- -- enable,bool,"{'true','false'}",Switch to enable post-discretization of the network. Disabled by default. --- -- line_unit_size,MW,float,Discrete unit size of lines in MW. --- -- line_threshold,,float,The threshold relative to the discrete line unit size beyond which to round up to the next unit. --- -- link_unit_size,MW,float,Discrete unit size of links in MW by carrier (given in dictionary style). --- -- -- {carrier},,, --- -- link_threshold,,float,The threshold relative to the discrete link unit size beyond which to round up to the next unit by carrier (given in dictionary style). --- -- -- {carrier},,, --- -- fractional_last_unit_size,bool,"{'true','false'}","When true, links and lines can be built up to p_nom_max. When false, they can only be built up to a multiple of the unit size." --- model_kwargs,,, --- -- solver_dir, str, '/tmp'', Absolute path to the directory where linopy saves files. --- keep_files, bool, False, Whether to keep LPs and MPS files after solving. -agg_p_nom_limits,,,Configure per carrier generator nominal capacity constraints for individual countries if ``'CCL'`` is in ``{opts}`` wildcard. --- agg_offwind,bool,"{'true','false'}",Aggregate together all the types of offwind when writing the constraint (``offwind-all`` as a carrier in the ``.csv`` file). Default is false. --- agg_solar,bool,"{'true','false'}",Aggregate together all the types of electric solar when writing the constraint (``solar-all`` as a carrier in the ``.csv`` file). Default is false. --- include_existing,bool,"{'true','false'}",Take existing capacities into account when writing the constraint. Default is false. --- file,file,path,Reference to ``.csv`` file specifying per carrier generator nominal capacity constraints for individual countries and planning horizons. Defaults to ``data/agg_p_nom_minmax.csv``. -"constraints ",,, --- CCL,bool,"{'true','false'}",Add minimum and maximum levels of generator nominal capacity per carrier for individual countries. These can be specified in the file linked at ``electricity: agg_p_nom_limits`` in the configuration. File defaults to ``data/agg_p_nom_minmax.csv``. Does not work with a time resolution resampling. --- EQ,bool/string,"{'false',`n(c| )``; i.e. ``0.5``-``0.7c``}",Require each country or node to on average produce a minimal share of its total consumption itself. Example: ``EQ0.5c`` demands each country to produce on average at least 50% of its consumption; ``EQ0.5`` demands each node to produce on average at least 50% of its consumption. --- BAU,bool,"{'true','false'}",Add a per-``carrier`` minimal overall capacity; i.e. at least ``40GW`` of ``OCGT`` in Europe; configured in ``electricity: BAU_mincapacities`` --- SAFE,bool,"{'true','false'}",Add a capacity reserve margin of a certain fraction above the peak demand to which renewable generators and storage do *not* contribute. Ignores network. -solver,,, --- name,--,"One of {'gurobi', 'cplex', 'highs', 'cbc', 'glpk'}; potentially more possible",Solver to use for optimisation problems in the workflow; e.g. clustering and linear optimal power flow. --- options,--,Key listed under ``solver_options``.,Link to specific parameter settings. -solver_options,,dict,Dictionaries with solver-specific parameter settings. -oetc,,,Configuration options for Open Energy Transition Computing (OETC) cluster support. --- name,--,str,Name identifier for the OETC job. --- authentication_server_url,--,str,URL of the OETC authentication server for job submission. --- orchestrator_server_url,--,str,URL of the OETC orchestrator server for job management. --- cpu_cores,--,int,Number of CPU cores to request for the OETC job. (includes RAM amount at the moment with a factor of 8) --- disk_space_gb,GB,int,Amount of disk space in gigabytes to request for the OETC job. --- delete_worker_on_error,bool,"{'true','false'}",Whether to delete the worker instance when an error occurs during job execution. -mem,MB,int,Estimated maximum memory requirement for solving networks. -mem_logging_frequency,s,int,Interval in seconds at which memory usage is logged. +,Unit,Values,Description +options,,, +-- clip_p_max_pu,p.u.,float,To avoid too small values in the renewables` per-unit availability time series values below this threshold are set to zero. +-- load_shedding,bool/float,"{'true','false', float}",Set to true to add generators with very high marginal cost to simulate load shedding and avoid problem infeasibilities. The default value is 1e5 €/MWh = 100 €/kWh (see http://journal.frontiersin.org/article/10.3389/fenrg.2015.00055/full). Override this value by setting a float denoting the new cost in MWh. Consider lowering the cost if you are struggling with long solve times. +-- curtailment_mode,bool/float,"{'true','false'}",Fixes the dispatch profiles of generators with time-varying p_max_pu by setting ``p_min_pu = p_max_pu`` and adds an auxiliary curtailment generator (with negative sign to absorb excess power) at every AC bus. This can speed up the solving process as the curtailment decision is aggregated into a single generator per region. Defaults to ``false``. +-- noisy_costs,bool,"{'true','false'}","Add random noise to marginal cost of generators by :math:`\mathcal{U}(0.009,0,011)` and capital cost of lines and links by :math:`\mathcal{U}(0.09,0,11)`." +-- skip_iterations,bool,"{'true','false'}","Skip iterating, do not update impedances of branches. Defaults to true." +-- rolling_horizon,bool,"{'true','false'}","Switch for rule :mod:`solve_operations_network` whether to optimize the network in a rolling horizon manner, where the snapshot range is split into slices of size `horizon` which are solved consecutively. This setting has currently no effect on sector-coupled networks." +-- seed,--,int,Random seed for increased deterministic behaviour. +-- custom_extra_functionality,--,str,Path to a Python file with custom extra functionality code to be injected into the solving rules of the workflow relative to ``rules`` directory. +-- io_api,string,"{'lp','mps','direct'}",Passed to linopy and determines the API used to communicate with the solver. With the ``'lp'`` and ``'mps'`` options linopy passes a file to the solver; with the ``'direct'`` option (only supported for HIGHS and Gurobi) linopy uses an in-memory python API resulting in better performance. +-- track_iterations,bool,"{'true','false'}",Flag whether to store the intermediate branch capacities and objective function values are recorded for each iteration in ``network.lines['s_nom_opt_X']`` (where ``X`` labels the iteration) +-- min_iterations,--,int,Minimum number of solving iterations in between which resistance and reactence (``x/r``) are updated for branches according to ``s_nom_opt`` of the previous run. +-- max_iterations,--,int,Maximum number of solving iterations in between which resistance and reactence (``x/r``) are updated for branches according to ``s_nom_opt`` of the previous run. +-- transmission_losses,int,[0-9],"Add piecewise linear approximation of transmission losses based on n tangents. Defaults to 0, which means losses are ignored." +-- linearized_unit_commitment,bool,"{'true','false'}",Whether to optimise using the linearized unit commitment formulation. +-- horizon,--,int,Number of snapshots to consider in each iteration. Defaults to 100. +-- post_discretization,,, +-- -- enable,bool,"{'true','false'}",Switch to enable post-discretization of the network. Disabled by default. +-- -- line_unit_size,MW,float,Discrete unit size of lines in MW. +-- -- line_threshold,,float,The threshold relative to the discrete line unit size beyond which to round up to the next unit. +-- -- link_unit_size,MW,float,Discrete unit size of links in MW by carrier (given in dictionary style). +-- -- -- {carrier},,, +-- -- link_threshold,,float,The threshold relative to the discrete link unit size beyond which to round up to the next unit by carrier (given in dictionary style). +-- -- -- {carrier},,, +-- -- fractional_last_unit_size,bool,"{'true','false'}","When true, links and lines can be built up to p_nom_max. When false, they can only be built up to a multiple of the unit size." +-- model_kwargs,,, +-- -- solver_dir, str, '/tmp'', Absolute path to the directory where linopy saves files. +-- keep_files, bool, False, Whether to keep LPs and MPS files after solving. +agg_p_nom_limits,,,Configure per carrier generator nominal capacity constraints for individual countries if ``'CCL'`` is in ``{opts}`` wildcard. +-- agg_offwind,bool,"{'true','false'}",Aggregate together all the types of offwind when writing the constraint (``offwind-all`` as a carrier in the ``.csv`` file). Default is false. +-- agg_solar,bool,"{'true','false'}",Aggregate together all the types of electric solar when writing the constraint (``solar-all`` as a carrier in the ``.csv`` file). Default is false. +-- include_existing,bool,"{'true','false'}",Take existing capacities into account when writing the constraint. Default is false. +-- file,file,path,Reference to ``.csv`` file specifying per carrier generator nominal capacity constraints for individual countries and planning horizons. Defaults to ``data/agg_p_nom_minmax.csv``. +"constraints ",,, +-- CCL,bool,"{'true','false'}",Add minimum and maximum levels of generator nominal capacity per carrier for individual countries. These can be specified in the file linked at ``electricity: agg_p_nom_limits`` in the configuration. File defaults to ``data/agg_p_nom_minmax.csv``. Does not work with a time resolution resampling. +-- EQ,bool/string,"{'false',`n(c| )``; i.e. ``0.5``-``0.7c``}",Require each country or node to on average produce a minimal share of its total consumption itself. Example: ``EQ0.5c`` demands each country to produce on average at least 50% of its consumption; ``EQ0.5`` demands each node to produce on average at least 50% of its consumption. +-- BAU,bool,"{'true','false'}",Add a per-``carrier`` minimal overall capacity; i.e. at least ``40GW`` of ``OCGT`` in Europe; configured in ``electricity: BAU_mincapacities`` +-- SAFE,bool,"{'true','false'}",Add a capacity reserve margin of a certain fraction above the peak demand to which renewable generators and storage do *not* contribute. Ignores network. +solver,,, +-- name,--,"One of {'gurobi', 'cplex', 'highs', 'cbc', 'glpk'}; potentially more possible",Solver to use for optimisation problems in the workflow; e.g. clustering and linear optimal power flow. +-- options,--,Key listed under ``solver_options``.,Link to specific parameter settings. +solver_options,,dict,Dictionaries with solver-specific parameter settings. +oetc,,,Configuration options for Open Energy Transition Computing (OETC) cluster support. +-- name,--,str,Name identifier for the OETC job. +-- authentication_server_url,--,str,URL of the OETC authentication server for job submission. +-- orchestrator_server_url,--,str,URL of the OETC orchestrator server for job management. +-- cpu_cores,--,int,Number of CPU cores to request for the OETC job. (includes RAM amount at the moment with a factor of 8) +-- disk_space_gb,GB,int,Amount of disk space in gigabytes to request for the OETC job. +-- delete_worker_on_error,bool,"{'true','false'}",Whether to delete the worker instance when an error occurs during job execution. +mem,MB,int,Estimated maximum memory requirement for solving networks. +mem_logging_frequency,s,int,Interval in seconds at which memory usage is logged. diff --git a/doc/make.bat b/doc/make.bat index 0da06e8a5a..64f7f0b716 100644 --- a/doc/make.bat +++ b/doc/make.bat @@ -1,266 +1,266 @@ -REM SPDX-FileCopyrightText: Contributors to PyPSA-Eur -REM SPDX-License-Identifier: MIT - -@ECHO OFF - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set BUILDDIR=_build -set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . -set I18NSPHINXOPTS=%SPHINXOPTS% . -if NOT "%PAPER%" == "" ( - set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% - set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% -) - -if "%1" == "" goto help - -if "%1" == "help" ( - :help - echo.Please use `make ^` where ^ is one of - echo. html to make standalone HTML files - echo. dirhtml to make HTML files named index.html in directories - echo. singlehtml to make a single large HTML file - echo. pickle to make pickle files - echo. json to make JSON files - echo. htmlhelp to make HTML files and a HTML help project - echo. qthelp to make HTML files and a qthelp project - echo. devhelp to make HTML files and a Devhelp project - echo. epub to make an epub - echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter - echo. text to make text files - echo. man to make manual pages - echo. texinfo to make Texinfo files - echo. gettext to make PO message catalogs - echo. changes to make an overview over all changed/added/deprecated items - echo. xml to make Docutils-native XML files - echo. pseudoxml to make pseudoxml-XML files for display purposes - echo. linkcheck to check all external links for integrity - echo. doctest to run all doctests embedded in the documentation if enabled - echo. coverage to run coverage check of the documentation if enabled - goto end -) - -if "%1" == "clean" ( - for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i - del /q /s %BUILDDIR%\* - goto end -) - - -REM Check if sphinx-build is available and fallback to Python version if any -%SPHINXBUILD% 1>NUL 2>NUL -if errorlevel 9009 goto sphinx_python -goto sphinx_ok - -:sphinx_python - -set SPHINXBUILD=python -m sphinx.__init__ -%SPHINXBUILD% 2> nul -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -:sphinx_ok - - -if "%1" == "html" ( - %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/html. - goto end -) - -if "%1" == "dirhtml" ( - %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. - goto end -) - -if "%1" == "singlehtml" ( - %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. - goto end -) - -if "%1" == "pickle" ( - %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the pickle files. - goto end -) - -if "%1" == "json" ( - %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the JSON files. - goto end -) - -if "%1" == "htmlhelp" ( - %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run HTML Help Workshop with the ^ -.hhp project file in %BUILDDIR%/htmlhelp. - goto end -) - -if "%1" == "qthelp" ( - %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run "qcollectiongenerator" with the ^ -.qhcp project file in %BUILDDIR%/qthelp, like this: - echo.^> qcollectiongenerator %BUILDDIR%\qthelp\PyPSA.qhcp - echo.To view the help file: - echo.^> assistant -collectionFile %BUILDDIR%\qthelp\PyPSA.ghc - goto end -) - -if "%1" == "devhelp" ( - %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. - goto end -) - -if "%1" == "epub" ( - %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The epub file is in %BUILDDIR%/epub. - goto end -) - -if "%1" == "latex" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdf" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf - cd %~dp0 - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdfja" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf-ja - cd %~dp0 - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "text" ( - %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The text files are in %BUILDDIR%/text. - goto end -) - -if "%1" == "man" ( - %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The manual pages are in %BUILDDIR%/man. - goto end -) - -if "%1" == "texinfo" ( - %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. - goto end -) - -if "%1" == "gettext" ( - %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The message catalogs are in %BUILDDIR%/locale. - goto end -) - -if "%1" == "changes" ( - %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes - if errorlevel 1 exit /b 1 - echo. - echo.The overview file is in %BUILDDIR%/changes. - goto end -) - -if "%1" == "linkcheck" ( - %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck - if errorlevel 1 exit /b 1 - echo. - echo.Link check complete; look for any errors in the above output ^ -or in %BUILDDIR%/linkcheck/output.txt. - goto end -) - -if "%1" == "doctest" ( - %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest - if errorlevel 1 exit /b 1 - echo. - echo.Testing of doctests in the sources finished, look at the ^ -results in %BUILDDIR%/doctest/output.txt. - goto end -) - -if "%1" == "coverage" ( - %SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage - if errorlevel 1 exit /b 1 - echo. - echo.Testing of coverage in the sources finished, look at the ^ -results in %BUILDDIR%/coverage/python.txt. - goto end -) - -if "%1" == "xml" ( - %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The XML files are in %BUILDDIR%/xml. - goto end -) - -if "%1" == "pseudoxml" ( - %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. - goto end -) - -:end +REM SPDX-FileCopyrightText: Contributors to PyPSA-Eur +REM SPDX-License-Identifier: MIT + +@ECHO OFF + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set BUILDDIR=_build +set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . +set I18NSPHINXOPTS=%SPHINXOPTS% . +if NOT "%PAPER%" == "" ( + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% + set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% +) + +if "%1" == "" goto help + +if "%1" == "help" ( + :help + echo.Please use `make ^` where ^ is one of + echo. html to make standalone HTML files + echo. dirhtml to make HTML files named index.html in directories + echo. singlehtml to make a single large HTML file + echo. pickle to make pickle files + echo. json to make JSON files + echo. htmlhelp to make HTML files and a HTML help project + echo. qthelp to make HTML files and a qthelp project + echo. devhelp to make HTML files and a Devhelp project + echo. epub to make an epub + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + echo. text to make text files + echo. man to make manual pages + echo. texinfo to make Texinfo files + echo. gettext to make PO message catalogs + echo. changes to make an overview over all changed/added/deprecated items + echo. xml to make Docutils-native XML files + echo. pseudoxml to make pseudoxml-XML files for display purposes + echo. linkcheck to check all external links for integrity + echo. doctest to run all doctests embedded in the documentation if enabled + echo. coverage to run coverage check of the documentation if enabled + goto end +) + +if "%1" == "clean" ( + for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i + del /q /s %BUILDDIR%\* + goto end +) + + +REM Check if sphinx-build is available and fallback to Python version if any +%SPHINXBUILD% 1>NUL 2>NUL +if errorlevel 9009 goto sphinx_python +goto sphinx_ok + +:sphinx_python + +set SPHINXBUILD=python -m sphinx.__init__ +%SPHINXBUILD% 2> nul +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +:sphinx_ok + + +if "%1" == "html" ( + %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/html. + goto end +) + +if "%1" == "dirhtml" ( + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. + goto end +) + +if "%1" == "singlehtml" ( + %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. + goto end +) + +if "%1" == "pickle" ( + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the pickle files. + goto end +) + +if "%1" == "json" ( + %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the JSON files. + goto end +) + +if "%1" == "htmlhelp" ( + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run HTML Help Workshop with the ^ +.hhp project file in %BUILDDIR%/htmlhelp. + goto end +) + +if "%1" == "qthelp" ( + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run "qcollectiongenerator" with the ^ +.qhcp project file in %BUILDDIR%/qthelp, like this: + echo.^> qcollectiongenerator %BUILDDIR%\qthelp\PyPSA.qhcp + echo.To view the help file: + echo.^> assistant -collectionFile %BUILDDIR%\qthelp\PyPSA.ghc + goto end +) + +if "%1" == "devhelp" ( + %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. + goto end +) + +if "%1" == "epub" ( + %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The epub file is in %BUILDDIR%/epub. + goto end +) + +if "%1" == "latex" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "latexpdf" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + cd %BUILDDIR%/latex + make all-pdf + cd %~dp0 + echo. + echo.Build finished; the PDF files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "latexpdfja" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + cd %BUILDDIR%/latex + make all-pdf-ja + cd %~dp0 + echo. + echo.Build finished; the PDF files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "text" ( + %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The text files are in %BUILDDIR%/text. + goto end +) + +if "%1" == "man" ( + %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The manual pages are in %BUILDDIR%/man. + goto end +) + +if "%1" == "texinfo" ( + %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. + goto end +) + +if "%1" == "gettext" ( + %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The message catalogs are in %BUILDDIR%/locale. + goto end +) + +if "%1" == "changes" ( + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes + if errorlevel 1 exit /b 1 + echo. + echo.The overview file is in %BUILDDIR%/changes. + goto end +) + +if "%1" == "linkcheck" ( + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck + if errorlevel 1 exit /b 1 + echo. + echo.Link check complete; look for any errors in the above output ^ +or in %BUILDDIR%/linkcheck/output.txt. + goto end +) + +if "%1" == "doctest" ( + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest + if errorlevel 1 exit /b 1 + echo. + echo.Testing of doctests in the sources finished, look at the ^ +results in %BUILDDIR%/doctest/output.txt. + goto end +) + +if "%1" == "coverage" ( + %SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage + if errorlevel 1 exit /b 1 + echo. + echo.Testing of coverage in the sources finished, look at the ^ +results in %BUILDDIR%/coverage/python.txt. + goto end +) + +if "%1" == "xml" ( + %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The XML files are in %BUILDDIR%/xml. + goto end +) + +if "%1" == "pseudoxml" ( + %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. + goto end +) + +:end diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 964c611e87..e200b3474b 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -10,8 +10,11 @@ Release Notes Upcoming Open-TYNDP Release ================ + * Docs: Add innovation roadmap comparison, mapping existing or new developments in PyPSA-Eur and Open TYNDP to desired features for TYNDP 2026 (https://github.com/open-energy-transition/open-tyndp/pull/341) +* Fix Windows compatibility issues and make other minor improvements (https://github.com/open-energy-transition/open-tyndp/pull/357). + Upcoming PyPSA-Eur Release ================ diff --git a/rules/common.smk b/rules/common.smk index 1a8548a818..e791c33215 100644 --- a/rules/common.smk +++ b/rules/common.smk @@ -1,3 +1,4 @@ +# SPDX-FileCopyrightText: Contributors to Open-TYNDP # SPDX-FileCopyrightText: Contributors to PyPSA-Eur # # SPDX-License-Identifier: MIT @@ -120,20 +121,13 @@ def input_custom_extra_functionality(w): return [] -@tenacity_retry( - stop=stop_after_attempt(3), - wait=wait_exponential(multiplier=1, min=4, max=10), - retry=retry_if_exception_type( - (requests.HTTPError, requests.ConnectionError, requests.Timeout) - ), -) -def has_internet_access(url: str = "https://www.zenodo.org", timeout: int = 5) -> bool: +def has_internet_access(url: str = "https://www.google.org", timeout: int = 5) -> bool: """ Checks if internet connection is available by sending a HEAD request - to a reliable server like Zenodo. + to a reliable server like Google. Parameters: - - url (str): The URL to check for internet connection. Default is Zenodo. + - url (str): The URL to check for internet connection. Default is Google. - timeout (int | float): The maximum time (in seconds) the request should wait. Returns: diff --git a/rules/sb.smk b/rules/sb.smk index 677d87b761..2ba0862243 100644 --- a/rules/sb.smk +++ b/rules/sb.smk @@ -3,6 +3,7 @@ # SPDX-License-Identifier: MIT +import zipfile from shutil import move from scripts._helpers import safe_pyear @@ -30,6 +31,10 @@ if config["enable"]["retrieve"] and config["enable"].get("retrieve_cutout", True if config["enable"]["retrieve"]: rule retrieve_tyndp_bundle: + input: + zip_file=storage( + "https://zenodo.org/records/14230568/files/TYNDP_2024_data_bundle.zip" + ), output: dir=directory("data/tyndp_2024_bundle"), elec_reference_grid="data/tyndp_2024_bundle/Line data/ReferenceGrid_Electricity.xlsx", @@ -42,11 +47,9 @@ if config["enable"]["retrieve"]: offshore_electrolysers="data/tyndp_2024_bundle/Offshore hubs/ELECTROLYSER.xlsx", offshore_generators="data/tyndp_2024_bundle/Offshore hubs/GENERATOR.xlsx", trajectories="data/tyndp_2024_bundle/Investment Datasets/TRAJECTORY.xlsx", - log: - "logs/retrieve_tyndp_bundle.log", - retries: 2 - script: - "../scripts/sb/retrieve_tyndp_bundle.py" + run: + with zipfile.ZipFile(snakemake.input.zip_file, "r") as zip_ref: + zip_ref.extractall(snakemake.output.dir) rule retrieve_tyndp_pecd_data_raw: params: @@ -94,7 +97,7 @@ if config["enable"]["retrieve"]: dir=directory("data/tyndp_2024_bundle/Supply Tool"), file="data/tyndp_2024_bundle/Supply Tool/20240518-Supply-Tool.xlsm", log: - "logs/retrieve_tyndp_pemmdb_data.log", + "logs/retrieve_tyndp_supply_tool.log", if config["electricity"]["pecd_renewable_profiles"]["pre_built"]["retrieve"]: diff --git a/scripts/sb/retrieve_tyndp_bundle.py b/scripts/sb/retrieve_tyndp_bundle.py deleted file mode 100644 index e71cc4f022..0000000000 --- a/scripts/sb/retrieve_tyndp_bundle.py +++ /dev/null @@ -1,57 +0,0 @@ -# SPDX-FileCopyrightText: Contributors to Open-TYNDP -# -# SPDX-License-Identifier: MIT -""" -.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.14230568.svg - :target: https://doi.org/10.5281/zenodo.14230568 - -The data bundle contains input data for the 2024 TYNDP scenario building process. - -This rule downloads the TYNDP data bundle from `zenodo -` and extracts it in the ``data`` -subdirectory, such that all files of the bundle are stored in the -``data/tyndp_2024_bundle`` subdirectory. - -**Outputs** - -- ``data/tyndp_2024_bundle``: input data for TYNDP 2024 scenario building - -""" - -import logging -import os -import zipfile - -from scripts._helpers import configure_logging, progress_retrieve, set_scenario_config - -logger = logging.getLogger(__name__) - -# Define the base URL -url = "https://zenodo.org/records/14230568/files/TYNDP_2024_data_bundle.zip" - -if __name__ == "__main__": - if "snakemake" not in globals(): - from scripts._helpers import mock_snakemake - - snakemake = mock_snakemake("retrieve_tyndp_bundle") - - configure_logging(snakemake) - set_scenario_config(snakemake) - disable_progress = snakemake.config["run"].get("disable_progressbar", False) - - to_fn = snakemake.output.dir - to_fn_zp = to_fn + ".zip" - - # download .zip file - logger.info(f"Downloading TYNDP data bundle from '{url}'.") - progress_retrieve(url, to_fn_zp, disable=disable_progress) - - # extract - logger.info("Extracting TYNDP data bundle.") - with zipfile.ZipFile(to_fn_zp, "r") as zip_ref: - zip_ref.extractall(to_fn) - - # remove .zip file - os.remove(to_fn_zp) - - logger.info(f"TYNDP data bundle available in '{to_fn}'.")