From 2b6fb0ee66671a3dd2ad3299a34db0fe2530f2c5 Mon Sep 17 00:00:00 2001 From: Fabian Date: Tue, 25 Aug 2020 21:41:21 +0200 Subject: [PATCH 001/281] Snakefile add rule 'retrieve_cost_data' update cost.csv to default year 2030 add_electricity.py: adjust to new format --- Snakefile | 9 + data/costs.csv | 503 +++++++++++++++++++++++-------------- scripts/add_electricity.py | 45 ++-- 3 files changed, 345 insertions(+), 212 deletions(-) diff --git a/Snakefile b/Snakefile index 72b726fc..84662eaf 100644 --- a/Snakefile +++ b/Snakefile @@ -65,6 +65,8 @@ if config['enable'].get('retrieve_databundle', True): log: "logs/retrieve_databundle.log" script: 'scripts/retrieve_databundle.py' + + rule build_powerplants: input: base_network="networks/base.nc", @@ -162,6 +164,13 @@ if config['enable'].get('retrieve_natura_raster', True): log: "logs/retrieve_natura_raster.log" script: 'scripts/retrieve_natura_raster.py' +rule retrieve_cost_data: + params: + year = config['costs']['year'], + version = config['costs']['version'], + output: COSTS + shell: 'curl https://raw.githubusercontent.com/PyPSA/technology-data/{params.version}/outputs/costs_{params.year}.csv -o {output}' + rule build_renewable_profiles: input: base_network="networks/base.nc", diff --git a/data/costs.csv b/data/costs.csv index 330cc3bb..8b50f24d 100644 --- a/data/costs.csv +++ b/data/costs.csv @@ -1,195 +1,308 @@ -technology,year,parameter,value,unit,source -solar-rooftop,2030,discount rate,0.04,per unit,standard for decentral -onwind,2030,lifetime,30,years,DEA https://ens.dk/en/our-services/projections-and-models/technology-data -offwind,2030,lifetime,30,years,DEA https://ens.dk/en/our-services/projections-and-models/technology-data -solar,2030,lifetime,25,years,IEA2010 -solar-rooftop,2030,lifetime,25,years,IEA2010 -solar-utility,2030,lifetime,25,years,IEA2010 -PHS,2030,lifetime,80,years,IEA2010 -hydro,2030,lifetime,80,years,IEA2010 -ror,2030,lifetime,80,years,IEA2010 -OCGT,2030,lifetime,30,years,IEA2010 -nuclear,2030,lifetime,45,years,ECF2010 in DIW DataDoc http://hdl.handle.net/10419/80348 -CCGT,2030,lifetime,30,years,IEA2010 -coal,2030,lifetime,40,years,IEA2010 -lignite,2030,lifetime,40,years,IEA2010 -geothermal,2030,lifetime,40,years,IEA2010 -biomass,2030,lifetime,30,years,ECF2010 in DIW DataDoc http://hdl.handle.net/10419/80348 -oil,2030,lifetime,30,years,ECF2010 in DIW DataDoc http://hdl.handle.net/10419/80348 -onwind,2030,investment,1040,EUR/kWel,DEA https://ens.dk/en/our-services/projections-and-models/technology-data -offwind,2030,investment,1640,EUR/kWel,DEA https://ens.dk/en/our-services/projections-and-models/technology-data -offwind-ac-station,2030,investment,250,EUR/kWel,DEA https://ens.dk/en/our-services/projections-and-models/technology-data -offwind-ac-connection-submarine,2030,investment,2685,EUR/MW/km,DEA https://ens.dk/en/our-services/projections-and-models/technology-data -offwind-ac-connection-underground,2030,investment,1342,EUR/MW/km,DEA https://ens.dk/en/our-services/projections-and-models/technology-data -offwind-dc-station,2030,investment,400,EUR/kWel,Haertel 2017; assuming one onshore and one offshore node + 13% learning reduction -offwind-dc-connection-submarine,2030,investment,2000,EUR/MW/km,DTU report based on Fig 34 of https://ec.europa.eu/energy/sites/ener/files/documents/2014_nsog_report.pdf -offwind-dc-connection-underground,2030,investment,1000,EUR/MW/km,Haertel 2017; average + 13% learning reduction -solar,2030,investment,600,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348 -biomass,2030,investment,2209,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348 -geothermal,2030,investment,3392,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348 -coal,2030,investment,1300,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348 PC (Advanced/SuperC) -lignite,2030,investment,1500,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348 -solar-rooftop,2030,investment,725,EUR/kWel,ETIP PV -solar-utility,2030,investment,425,EUR/kWel,ETIP PV -PHS,2030,investment,2000,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348 -hydro,2030,investment,2000,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348 -ror,2030,investment,3000,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348 -OCGT,2030,investment,400,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348 -nuclear,2030,investment,6000,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348 -CCGT,2030,investment,800,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348 -oil,2030,investment,400,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348 -onwind,2030,FOM,2.450549,%/year,DEA https://ens.dk/en/our-services/projections-and-models/technology-data -offwind,2030,FOM,2.304878,%/year,DEA https://ens.dk/en/our-services/projections-and-models/technology-data -solar,2030,FOM,4.166667,%/year,DIW DataDoc http://hdl.handle.net/10419/80348 -solar-rooftop,2030,FOM,2,%/year,ETIP PV -solar-utility,2030,FOM,3,%/year,ETIP PV -biomass,2030,FOM,4.526935,%/year,DIW DataDoc http://hdl.handle.net/10419/80348 -geothermal,2030,FOM,2.358491,%/year,DIW DataDoc http://hdl.handle.net/10419/80348 -coal,2030,FOM,1.923076,%/year,DIW DataDoc http://hdl.handle.net/10419/80348 PC (Advanced/SuperC) -lignite,2030,FOM,2.0,%/year,DIW DataDoc http://hdl.handle.net/10419/80348 PC (Advanced/SuperC) -oil,2030,FOM,1.5,%/year,DIW DataDoc http://hdl.handle.net/10419/80348 -PHS,2030,FOM,1,%/year,DIW DataDoc http://hdl.handle.net/10419/80348 -hydro,2030,FOM,1,%/year,DIW DataDoc http://hdl.handle.net/10419/80348 -ror,2030,FOM,2,%/year,DIW DataDoc http://hdl.handle.net/10419/80348 -CCGT,2030,FOM,2.5,%/year,DIW DataDoc http://hdl.handle.net/10419/80348 -OCGT,2030,FOM,3.75,%/year,DIW DataDoc http://hdl.handle.net/10419/80348 -onwind,2030,VOM,2.3,EUR/MWhel,DEA https://ens.dk/en/our-services/projections-and-models/technology-data -offwind,2030,VOM,2.7,EUR/MWhel,DEA https://ens.dk/en/our-services/projections-and-models/technology-data -solar,2030,VOM,0.01,EUR/MWhel,RES costs made up to fix curtailment order -coal,2030,VOM,6,EUR/MWhel,DIW DataDoc http://hdl.handle.net/10419/80348 PC (Advanced/SuperC) -lignite,2030,VOM,7,EUR/MWhel,DIW DataDoc http://hdl.handle.net/10419/80348 -CCGT,2030,VOM,4,EUR/MWhel,DIW DataDoc http://hdl.handle.net/10419/80348 -OCGT,2030,VOM,3,EUR/MWhel,DIW DataDoc http://hdl.handle.net/10419/80348 -nuclear,2030,VOM,8,EUR/MWhel,DIW DataDoc http://hdl.handle.net/10419/80348 -gas,2030,fuel,21.6,EUR/MWhth,IEA2011b -uranium,2030,fuel,3,EUR/MWhth,DIW DataDoc http://hdl.handle.net/10419/80348 -oil,2030,VOM,3,EUR/MWhel,DIW DataDoc http://hdl.handle.net/10419/80348 -nuclear,2030,fuel,3,EUR/MWhth,IEA2011b -biomass,2030,fuel,7,EUR/MWhth,IEA2011b -coal,2030,fuel,8.4,EUR/MWhth,IEA2011b -lignite,2030,fuel,2.9,EUR/MWhth,IEA2011b -oil,2030,fuel,50,EUR/MWhth,IEA WEM2017 97USD/boe = http://www.iea.org/media/weowebsite/2017/WEM_Documentation_WEO2017.pdf -PHS,2030,efficiency,0.75,per unit,DIW DataDoc http://hdl.handle.net/10419/80348 -hydro,2030,efficiency,0.9,per unit,DIW DataDoc http://hdl.handle.net/10419/80348 -ror,2030,efficiency,0.9,per unit,DIW DataDoc http://hdl.handle.net/10419/80348 -OCGT,2030,efficiency,0.39,per unit,DIW DataDoc http://hdl.handle.net/10419/80348 -CCGT,2030,efficiency,0.5,per unit,DIW DataDoc http://hdl.handle.net/10419/80348 -biomass,2030,efficiency,0.468,per unit,DIW DataDoc http://hdl.handle.net/10419/80348 -geothermal,2030,efficiency,0.239,per unit,DIW DataDoc http://hdl.handle.net/10419/80348 -nuclear,2030,efficiency,0.337,per unit,DIW DataDoc http://hdl.handle.net/10419/80348 -gas,2030,CO2 intensity,0.187,tCO2/MWth,https://www.eia.gov/environment/emissions/co2_vol_mass.php -coal,2030,efficiency,0.464,per unit,DIW DataDoc http://hdl.handle.net/10419/80348 PC (Advanced/SuperC) -lignite,2030,efficiency,0.447,per unit,DIW DataDoc http://hdl.handle.net/10419/80348 -oil,2030,efficiency,0.393,per unit,DIW DataDoc http://hdl.handle.net/10419/80348 CT -coal,2030,CO2 intensity,0.354,tCO2/MWth,https://www.eia.gov/environment/emissions/co2_vol_mass.php -lignite,2030,CO2 intensity,0.334,tCO2/MWth,https://www.eia.gov/environment/emissions/co2_vol_mass.php -oil,2030,CO2 intensity,0.248,tCO2/MWth,https://www.eia.gov/environment/emissions/co2_vol_mass.php -geothermal,2030,CO2 intensity,0.026,tCO2/MWth,https://www.eia.gov/environment/emissions/co2_vol_mass.php -electrolysis,2030,investment,350,EUR/kWel,Palzer Thesis -electrolysis,2030,FOM,4,%/year,NREL http://www.nrel.gov/docs/fy09osti/45873.pdf; budischak2013 -electrolysis,2030,lifetime,18,years,NREL http://www.nrel.gov/docs/fy09osti/45873.pdf; budischak2013 -electrolysis,2030,efficiency,0.8,per unit,NREL http://www.nrel.gov/docs/fy09osti/45873.pdf; budischak2013 -fuel cell,2030,investment,339,EUR/kWel,NREL http://www.nrel.gov/docs/fy09osti/45873.pdf; budischak2013 -fuel cell,2030,FOM,3,%/year,NREL http://www.nrel.gov/docs/fy09osti/45873.pdf; budischak2013 -fuel cell,2030,lifetime,20,years,NREL http://www.nrel.gov/docs/fy09osti/45873.pdf; budischak2013 -fuel cell,2030,efficiency,0.58,per unit,NREL http://www.nrel.gov/docs/fy09osti/45873.pdf; budischak2013 conservative 2020 -hydrogen storage,2030,investment,11.2,USD/kWh,budischak2013 -hydrogen storage,2030,lifetime,20,years,budischak2013 -hydrogen underground storage,2030,investment,0.5,EUR/kWh,maximum from https://www.nrel.gov/docs/fy10osti/46719.pdf -hydrogen underground storage,2030,lifetime,40,years,http://www.acatech.de/fileadmin/user_upload/Baumstruktur_nach_Website/Acatech/root/de/Publikationen/Materialien/ESYS_Technologiesteckbrief_Energiespeicher.pdf -H2 pipeline,2030,investment,267,EUR/MW/km,Welder et al https://doi.org/10.1016/j.ijhydene.2018.12.156 -H2 pipeline,2030,lifetime,40,years,Krieg2012 http://juser.fz-juelich.de/record/136392/files/Energie%26Umwelt_144.pdf -H2 pipeline,2030,FOM,5,%/year,Krieg2012 http://juser.fz-juelich.de/record/136392/files/Energie%26Umwelt_144.pdf -H2 pipeline,2030,efficiency,0.98,per unit,Krieg2012 http://juser.fz-juelich.de/record/136392/files/Energie%26Umwelt_144.pdf -methanation,2030,investment,1000,EUR/kWH2,Schaber thesis -methanation,2030,lifetime,25,years,Schaber thesis -methanation,2030,FOM,3,%/year,Schaber thesis -methanation,2030,efficiency,0.6,per unit,Palzer; Breyer for DAC -helmeth,2030,investment,1000,EUR/kW,no source -helmeth,2030,lifetime,25,years,no source -helmeth,2030,FOM,3,%/year,no source -helmeth,2030,efficiency,0.8,per unit,HELMETH press release -DAC,2030,investment,250,EUR/(tCO2/a),Fasihi/Climeworks -DAC,2030,lifetime,30,years,Fasihi -DAC,2030,FOM,4,%/year,Fasihi -battery inverter,2030,investment,411,USD/kWel,budischak2013 -battery inverter,2030,lifetime,20,years,budischak2013 -battery inverter,2030,efficiency,0.81,per unit,budischak2013; Lund and Kempton (2008) http://dx.doi.org/10.1016/j.enpol.2008.06.007 -battery inverter,2030,FOM,3,%/year,budischak2013 -battery storage,2030,investment,192,USD/kWh,budischak2013 -battery storage,2030,lifetime,15,years,budischak2013 -decentral air-sourced heat pump,2030,investment,1050,EUR/kWth,HP; Palzer thesis -decentral air-sourced heat pump,2030,lifetime,20,years,HP; Palzer thesis -decentral air-sourced heat pump,2030,FOM,3.5,%/year,Palzer thesis -decentral air-sourced heat pump,2030,efficiency,3,per unit,default for costs -decentral air-sourced heat pump,2030,discount rate,0.04,per unit,Palzer thesis -decentral ground-sourced heat pump,2030,investment,1400,EUR/kWth,Palzer thesis -decentral ground-sourced heat pump,2030,lifetime,20,years,Palzer thesis -decentral ground-sourced heat pump,2030,FOM,3.5,%/year,Palzer thesis -decentral ground-sourced heat pump,2030,efficiency,4,per unit,default for costs -decentral ground-sourced heat pump,2030,discount rate,0.04,per unit,Palzer thesis -central air-sourced heat pump,2030,investment,700,EUR/kWth,Palzer thesis -central air-sourced heat pump,2030,lifetime,20,years,Palzer thesis -central air-sourced heat pump,2030,FOM,3.5,%/year,Palzer thesis -central air-sourced heat pump,2030,efficiency,3,per unit,default for costs -retrofitting I,2030,discount rate,0.04,per unit,Palzer thesis -retrofitting I,2030,lifetime,50,years,Palzer thesis -retrofitting I,2030,FOM,1,%/year,Palzer thesis -retrofitting I,2030,investment,50,EUR/m2/fraction reduction,Palzer thesis -retrofitting II,2030,discount rate,0.04,per unit,Palzer thesis -retrofitting II,2030,lifetime,50,years,Palzer thesis -retrofitting II,2030,FOM,1,%/year,Palzer thesis -retrofitting II,2030,investment,250,EUR/m2/fraction reduction,Palzer thesis -water tank charger,2030,efficiency,0.9,per unit,HP -water tank discharger,2030,efficiency,0.9,per unit,HP -decentral water tank storage,2030,investment,860,EUR/m3,IWES Interaktion -decentral water tank storage,2030,FOM,1,%/year,HP -decentral water tank storage,2030,lifetime,20,years,HP -decentral water tank storage,2030,discount rate,0.04,per unit,Palzer thesis -central water tank storage,2030,investment,30,EUR/m3,IWES Interaktion -central water tank storage,2030,FOM,1,%/year,HP -central water tank storage,2030,lifetime,40,years,HP -decentral resistive heater,2030,investment,100,EUR/kWhth,Schaber thesis -decentral resistive heater,2030,lifetime,20,years,Schaber thesis -decentral resistive heater,2030,FOM,2,%/year,Schaber thesis -decentral resistive heater,2030,efficiency,0.9,per unit,Schaber thesis -decentral resistive heater,2030,discount rate,0.04,per unit,Palzer thesis -central resistive heater,2030,investment,100,EUR/kWhth,Schaber thesis -central resistive heater,2030,lifetime,20,years,Schaber thesis -central resistive heater,2030,FOM,2,%/year,Schaber thesis -central resistive heater,2030,efficiency,0.9,per unit,Schaber thesis -decentral gas boiler,2030,investment,175,EUR/kWhth,Palzer thesis -decentral gas boiler,2030,lifetime,20,years,Palzer thesis -decentral gas boiler,2030,FOM,2,%/year,Palzer thesis -decentral gas boiler,2030,efficiency,0.9,per unit,Palzer thesis -decentral gas boiler,2030,discount rate,0.04,per unit,Palzer thesis -central gas boiler,2030,investment,63,EUR/kWhth,Palzer thesis -central gas boiler,2030,lifetime,22,years,Palzer thesis -central gas boiler,2030,FOM,1,%/year,Palzer thesis -central gas boiler,2030,efficiency,0.9,per unit,Palzer thesis -decentral CHP,2030,lifetime,25,years,HP -decentral CHP,2030,investment,1400,EUR/kWel,HP -decentral CHP,2030,FOM,3,%/year,HP -decentral CHP,2030,discount rate,0.04,per unit,Palzer thesis -central CHP,2030,lifetime,25,years,HP -central CHP,2030,investment,650,EUR/kWel,HP -central CHP,2030,FOM,3,%/year,HP -decentral solar thermal,2030,discount rate,0.04,per unit,Palzer thesis -decentral solar thermal,2030,FOM,1.3,%/year,HP -decentral solar thermal,2030,investment,270000,EUR/1000m2,HP -decentral solar thermal,2030,lifetime,20,years,HP -central solar thermal,2030,FOM,1.4,%/year,HP -central solar thermal,2030,investment,140000,EUR/1000m2,HP -central solar thermal,2030,lifetime,20,years,HP -HVAC overhead,2030,investment,400,EUR/MW/km,Hagspiel -HVAC overhead,2030,lifetime,40,years,Hagspiel -HVAC overhead,2030,FOM,2,%/year,Hagspiel -HVDC overhead,2030,investment,400,EUR/MW/km,Hagspiel -HVDC overhead,2030,lifetime,40,years,Hagspiel -HVDC overhead,2030,FOM,2,%/year,Hagspiel -HVDC submarine,2030,investment,2000,EUR/MW/km,DTU report based on Fig 34 of https://ec.europa.eu/energy/sites/ener/files/documents/2014_nsog_report.pdf -HVDC submarine,2030,lifetime,40,years,Hagspiel -HVDC submarine,2030,FOM,2,%/year,Hagspiel -HVDC inverter pair,2030,investment,150000,EUR/MW,Hagspiel -HVDC inverter pair,2030,lifetime,40,years,Hagspiel -HVDC inverter pair,2030,FOM,2,%/year,Hagspiel +technology,parameter,value,unit,source,further description +CCGT,FOM,3.35,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","05 Gas turb. CC, steam extract.: Fixed O&M" +CCGT,VOM,4.2,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","05 Gas turb. CC, steam extract.: Variable O&M" +CCGT,c_b,2.0,50oC/100oC,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","05 Gas turb. CC, steam extract.: Cb coefficient" +CCGT,c_v,0.15,50oC/100oC,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","05 Gas turb. CC, steam extract.: Cv coefficient" +CCGT,efficiency,0.58,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","05 Gas turb. CC, steam extract.: Electricity efficiency, annual average" +CCGT,investment,830.0,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","05 Gas turb. CC, steam extract.: Nominal investment" +CCGT,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","05 Gas turb. CC, steam extract.: Technical lifetime" +DAC,FOM,4.0,%/year,Fasihi, from old pypsa cost assumptions +DAC,investment,383.0,EUR/(tCO2/a),Fasihi, +DAC,lifetime,30.0,years,Fasihi, from old pypsa cost assumptions +Fischer-Tropsch,FOM,3.0,%/year,doi:10.3390/su9020306, from old pypsa cost assumptions +Fischer-Tropsch,efficiency,0.8,per unit,TODO, from old pypsa cost assumptions +Fischer-Tropsch,investment,677.6,EUR/kWH2,Fasihi doi:10.3390/su9020306 (60 kEUR/bpd = 847 EUR/kWL (1b = 1.7 MWh) 847*0.8 = 677.6), from old pypsa cost assumptions +Fischer-Tropsch,lifetime,30.0,years,doi:10.3390/su9020306, from old pypsa cost assumptions +Gasnetz,FOM,2.5,%,"WEGE ZU EINEM KLIMANEUTRALEN ENERGIESYSEM, Anhang zur Studie, Fraunhofer-Institut für Solare Energiesysteme ISE, Freiburg",Gasnetz +Gasnetz,investment,28.0,EUR/kWGas,"WEGE ZU EINEM KLIMANEUTRALEN ENERGIESYSEM, Anhang zur Studie, Fraunhofer-Institut für Solare Energiesysteme ISE, Freiburg",Gasnetz +Gasnetz,lifetime,30.0,years,"WEGE ZU EINEM KLIMANEUTRALEN ENERGIESYSEM, Anhang zur Studie, Fraunhofer-Institut für Solare Energiesysteme ISE, Freiburg",Gasnetz +H2 pipeline,FOM,3.0,%/year,TODO, from old pypsa cost assumptions +H2 pipeline,investment,267.0,EUR/MW/km,Welder et al https://doi.org/10.1016/j.ijhydene.2018.12.156, from old pypsa cost assumptions +H2 pipeline,lifetime,40.0,years,TODO, from old pypsa cost assumptions +HVAC overhead,FOM,2.0,%/year,Hagspiel, from old pypsa cost assumptions +HVAC overhead,investment,400.0,EUR/MW/km,Hagspiel, from old pypsa cost assumptions +HVAC overhead,lifetime,40.0,years,Hagspiel, from old pypsa cost assumptions +HVDC inverter pair,FOM,2.0,%/year,Hagspiel, from old pypsa cost assumptions +HVDC inverter pair,investment,150000.0,EUR/MW,Hagspiel, from old pypsa cost assumptions +HVDC inverter pair,lifetime,40.0,years,Hagspiel, from old pypsa cost assumptions +HVDC overhead,FOM,2.0,%/year,Hagspiel, from old pypsa cost assumptions +HVDC overhead,investment,400.0,EUR/MW/km,Hagspiel, from old pypsa cost assumptions +HVDC overhead,lifetime,40.0,years,Hagspiel, from old pypsa cost assumptions +HVDC submarine,FOM,2.0,%/year,Hagspiel, from old pypsa cost assumptions +HVDC submarine,investment,2000.0,EUR/MW/km,Own analysis of European submarine HVDC projects since 2000, from old pypsa cost assumptions +HVDC submarine,lifetime,40.0,years,Hagspiel, from old pypsa cost assumptions +OCGT,FOM,1.78,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",52 OCGT - Natural gas: Fixed O&M +OCGT,VOM,4.5,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",52 OCGT - Natural gas: Variable O&M +OCGT,efficiency,0.41,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","52 OCGT - Natural gas: Electricity efficiency, annual average" +OCGT,investment,435.24,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",52 OCGT - Natural gas: Specific investment +OCGT,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",52 OCGT - Natural gas: Technical lifetime +PHS,FOM,1.0,%/year,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +PHS,efficiency,0.75,per unit,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +PHS,investment,2208.16,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +PHS,lifetime,80.0,years,IEA2010, from old pypsa cost assumptions +SMR,FOM,5.4,%/year,https://www.gov.uk/government/publications/hydrogen-supply-chain-evidence-base; slide 42 assumption for 2030, from old pypsa cost assumptions +SMR,efficiency,0.74,per unit,https://www.gov.uk/government/publications/hydrogen-supply-chain-evidence-base; slide 42 assumption for 2030, from old pypsa cost assumptions +SMR,investment,540.56,EUR/kWCH4,https://www.gov.uk/government/publications/hydrogen-supply-chain-evidence-base; slide 42 assumption for 2030; GBP 466 exchange 1.16, from old pypsa cost assumptions +SMR,lifetime,25.0,years,TODO, from old pypsa cost assumptions +SMR CCS,FOM,5.4,%/year,https://www.gov.uk/government/publications/hydrogen-supply-chain-evidence-base; slide 42 assumption for 2030, from old pypsa cost assumptions +SMR CCS,efficiency,0.67,per unit,https://www.gov.uk/government/publications/hydrogen-supply-chain-evidence-base; slide 42 assumption for 2030; CCS uses 10% of gas, from old pypsa cost assumptions +SMR CCS,investment,1032.0,EUR/kWCH4,https://www.gov.uk/government/publications/hydrogen-supply-chain-evidence-base; slide 42 assumption for 2030; GBP 466 exchange 1.16; CCS costed at 300 EUR/tCO2/a, from old pypsa cost assumptions +SMR CCS,lifetime,25.0,years,TODO, from old pypsa cost assumptions +battery inverter,FOM,0.34,%/year,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: Fixed O&M +battery inverter,efficiency,0.96,per unit,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: Round trip efficiency DC +battery inverter,investment,160.0,EUR/kW,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: Output capacity expansion cost investment +battery inverter,lifetime,25.0,years,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: Technical lifetime +battery storage,investment,142.0,EUR/kWh,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: Energy storage expansion cost investment +battery storage,lifetime,25.0,years,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: Technical lifetime +biogas,fuel,59.0,EUR/MWhth,JRC and Zappa, from old pypsa cost assumptions +biogas upgrading,FOM,2.49,%/year,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx","82 Biogas, upgrading: Fixed O&M " +biogas upgrading,VOM,3.18,EUR/MWh input,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx","82 Biogas, upgrading: Variable O&M" +biogas upgrading,investment,381.0,EUR/kW input,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx","82 Biogas, upgrading: investment (upgrading, methane redution and grid injection)" +biogas upgrading,lifetime,15.0,years,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx","82 Biogas, upgrading: Technical lifetime" +biomass,FOM,4.53,%/year,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +biomass,efficiency,0.47,per unit,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +biomass,fuel,7.0,EUR/MWhth,IEA2011b, from old pypsa cost assumptions +biomass,investment,2209.0,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +biomass,lifetime,30.0,years,ECF2010 in DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +biomass CHP,FOM,3.58,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Fixed O&M" +biomass CHP,VOM,2.1,EUR/MWh_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Variable O&M " +biomass CHP,c_b,0.46,40°C/80°C,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Cb coefficient" +biomass CHP,c_v,1.0,40°C/80°C,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Cv coefficient" +biomass CHP,efficiency,0.3,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Electricity efficiency, net, annual average" +biomass CHP,efficiency-heat,0.71,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Heat efficiency, net, annual average" +biomass CHP,investment,3210.28,EUR/kW_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Nominal investment " +biomass CHP,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Technical lifetime" +biomass EOP,FOM,3.58,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Fixed O&M" +biomass EOP,VOM,2.1,EUR/MWh_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Variable O&M " +biomass EOP,c_b,0.46,40°C/80°C,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Cb coefficient" +biomass EOP,c_v,1.0,40°C/80°C,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Cv coefficient" +biomass EOP,efficiency,0.3,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Electricity efficiency, net, annual average" +biomass EOP,efficiency-heat,0.71,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Heat efficiency, net, annual average" +biomass EOP,investment,3210.28,EUR/kW_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Nominal investment " +biomass EOP,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Technical lifetime" +biomass HOP,FOM,5.75,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw HOP: Fixed O&M, heat output" +biomass HOP,VOM,2.78,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",09c Straw HOP: Variable O&M heat output +biomass HOP,efficiency,1.03,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw HOP: Total efficiency , net, annual average" +biomass HOP,investment,832.63,EUR/kW_th - heat output,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",09c Straw HOP: Nominal investment +biomass HOP,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",09c Straw HOP: Technical lifetime +central air-sourced heat pump,FOM,0.23,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Comp. hp, airsource 3 MW: Fixed O&M" +central air-sourced heat pump,VOM,2.51,EUR/MWh_th,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Comp. hp, airsource 3 MW: Variable O&M" +central air-sourced heat pump,efficiency,3.6,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Comp. hp, airsource 3 MW: Total efficiency , net, annual average" +central air-sourced heat pump,investment,856.25,EUR/kW_th,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Comp. hp, airsource 3 MW: Specific investment" +central air-sourced heat pump,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Comp. hp, airsource 3 MW: Technical lifetime" +central coal CHP,FOM,1.63,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",01 Coal CHP: Fixed O&M +central coal CHP,VOM,2.84,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",01 Coal CHP: Variable O&M +central coal CHP,c_b,1.01,50oC/100oC,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",01 Coal CHP: Cb coefficient +central coal CHP,c_v,0.15,50oC/100oC,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",01 Coal CHP: Cv coefficient +central coal CHP,efficiency,0.52,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","01 Coal CHP: Electricity efficiency, condensation mode, net" +central coal CHP,investment,1860.47,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",01 Coal CHP: Nominal investment +central coal CHP,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",01 Coal CHP: Technical lifetime +central gas CHP,FOM,3.32,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Fixed O&M" +central gas CHP,VOM,4.2,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Variable O&M" +central gas CHP,c_b,0.7,per unit,DEA (backpressure ratio), from old pypsa cost assumptions +central gas CHP,c_v,0.17,per unit,DEA (loss of fuel for additional heat), from old pypsa cost assumptions +central gas CHP,efficiency,0.41,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Electricity efficiency, annual average" +central gas CHP,investment,560.0,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Nominal investment" +central gas CHP,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Technical lifetime" +central gas CHP,p_nom_ratio,1.0,per unit,, from old pypsa cost assumptions +central gas CHP CCS,FOM,3.32,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Fixed O&M" +central gas CHP CCS,VOM,4.2,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Variable O&M" +central gas CHP CCS,c_b,0.7,per unit,DEA (backpressure ratio), from old pypsa cost assumptions +central gas CHP CCS,c_v,0.17,per unit,DEA (loss of fuel for additional heat), from old pypsa cost assumptions +central gas CHP CCS,efficiency,0.37,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Electricity efficiency, annual average" +central gas CHP CCS,investment,1160.0,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx , DIW (CCS)","04 Gas turb. simple cycle, L: Nominal investment" +central gas CHP CCS,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Technical lifetime" +central gas CHP CCS,p_nom_ratio,1.0,per unit,, from old pypsa cost assumptions +central gas boiler,FOM,3.8,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",44 Natural Gas DH Only: Fixed O&M +central gas boiler,VOM,1.0,EUR/MWh_th,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",44 Natural Gas DH Only: Variable O&M +central gas boiler,efficiency,1.04,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","44 Natural Gas DH Only: Total efficiency , net, annual average" +central gas boiler,investment,50.0,EUR/kW_th,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",44 Natural Gas DH Only: Nominal investment +central gas boiler,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",44 Natural Gas DH Only: Technical lifetime +central ground-sourced heat pump,FOM,0.39,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Absorption heat pump, DH: Fixed O&M" +central ground-sourced heat pump,VOM,1.25,EUR/MWh_th,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Absorption heat pump, DH: Variable O&M" +central ground-sourced heat pump,efficiency,1.73,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Absorption heat pump, DH: Total efficiency , net, annual average" +central ground-sourced heat pump,investment,507.6,EUR/kW_th excluding drive energy,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Absorption heat pump, DH: Nominal investment" +central ground-sourced heat pump,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Absorption heat pump, DH: Technical lifetime" +central resistive heater,FOM,1.7,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",41 Electric Boilers: Fixed O&M +central resistive heater,VOM,1.0,EUR/MWh_th,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",41 Electric Boilers: Variable O&M +central resistive heater,efficiency,0.99,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","41 Electric Boilers: Total efficiency , net, annual average" +central resistive heater,investment,60.0,EUR/kW_th,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",41 Electric Boilers: Nominal investment; 10/15 kV; >10 MW +central resistive heater,lifetime,20.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",41 Electric Boilers: Technical lifetime +central solar thermal,FOM,1.4,%/year,HP, from old pypsa cost assumptions +central solar thermal,investment,140000.0,EUR/1000m2,HP, from old pypsa cost assumptions +central solar thermal,lifetime,20.0,years,HP, from old pypsa cost assumptions +central solid biomass CHP,FOM,4.1,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Fixed O&M" +central solid biomass CHP,VOM,1.85,EUR/MWh_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Variable O&M " +central solid biomass CHP,c_b,1.01,per unit,DEA for wood pellets CHP (backpressure ratio), from old pypsa cost assumptions +central solid biomass CHP,c_v,0.15,per unit,DEA for wood pellets CHP (loss of fuel for additional heat), from old pypsa cost assumptions +central solid biomass CHP,efficiency,0.29,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Electricity efficiency, net, annual average" +central solid biomass CHP,efficiency-heat,0.69,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Heat efficiency, net, annual average" +central solid biomass CHP,investment,2851.41,EUR/kW_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Nominal investment " +central solid biomass CHP,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Technical lifetime" +central solid biomass CHP,p_nom_ratio,1.0,per unit,, from old pypsa cost assumptions +central solid biomass CHP CCS,FOM,4.1,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Fixed O&M" +central solid biomass CHP CCS,VOM,1.85,EUR/MWh_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Variable O&M " +central solid biomass CHP CCS,c_b,1.01,per unit,DEA for wood pellets CHP (backpressure ratio), from old pypsa cost assumptions +central solid biomass CHP CCS,c_v,0.15,per unit,DEA for wood pellets CHP (loss of fuel for additional heat), from old pypsa cost assumptions +central solid biomass CHP CCS,efficiency,0.26,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Electricity efficiency, net, annual average" +central solid biomass CHP CCS,efficiency-heat,0.69,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Heat efficiency, net, annual average" +central solid biomass CHP CCS,investment,3451.41,EUR/kW_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx , DIW (CCS)","09b Wood Pellets, Medium: Nominal investment " +central solid biomass CHP CCS,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Technical lifetime" +central solid biomass CHP CCS,p_nom_ratio,1.0,per unit,, from old pypsa cost assumptions +central water tank storage,FOM,0.55,%/year,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",140 PTES seasonal: Fixed O&M +central water tank storage,investment,0.54,EUR/kWhCapacity,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",140 PTES seasonal: Specific investment +central water tank storage,lifetime,25.0,years,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",140 PTES seasonal: Technical lifetime +coal,CO2 intensity,0.34,tCO2/MWh_th,Entwicklung der spezifischen Kohlendioxid-Emissionen des deutschen Strommix in den Jahren 1990 - 2018, +coal,FOM,1.6,%/year,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +coal,VOM,3.5,EUR/MWh_e,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +coal,efficiency,0.33,per unit,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +coal,fuel,8.15,EUR/MWh_th,BP 2019, +coal,investment,3845.51,EUR/kW_e,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +coal,lifetime,40.0,years,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +decentral CHP,FOM,3.0,%/year,HP, from old pypsa cost assumptions +decentral CHP,discount rate,0.04,per unit,Palzer thesis, from old pypsa cost assumptions +decentral CHP,investment,1400.0,EUR/kWel,HP, from old pypsa cost assumptions +decentral CHP,lifetime,25.0,years,HP, from old pypsa cost assumptions +decentral air-sourced heat pump,FOM,3.0,%/year,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",207.3 Air to water existing: Fixed O&M +decentral air-sourced heat pump,discount rate,0.04,per unit,Palzer thesis, from old pypsa cost assumptions +decentral air-sourced heat pump,efficiency,3.6,per unit,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx","207.3 Air to water existing: Heat efficiency, annual average, net, radiators, existing one family house" +decentral air-sourced heat pump,investment,850.0,EUR/kW_th,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",207.3 Air to water existing: Specific investment +decentral air-sourced heat pump,lifetime,18.0,years,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",207.3 Air to water existing: Technical lifetime +decentral gas boiler,FOM,6.69,%/year,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",202 Natural gas boiler: Fixed O&M +decentral gas boiler,discount rate,0.04,per unit,Palzer thesis, from old pypsa cost assumptions +decentral gas boiler,efficiency,0.98,per unit,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx","202 Natural gas boiler: Total efficiency, annual average, net" +decentral gas boiler,investment,296.82,EUR/kW_th,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",202 Natural gas boiler: Specific investment +decentral gas boiler,lifetime,20.0,years,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",202 Natural gas boiler: Technical lifetime +decentral gas boiler connection,investment,185.51,EUR/kW_th,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",: Possible additional specific investment +decentral gas boiler connection,lifetime,50.0,years,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",: Technical lifetime +decentral ground-sourced heat pump,FOM,1.82,%/year,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",207.7 Ground source existing: Fixed O&M +decentral ground-sourced heat pump,discount rate,0.04,per unit,Palzer thesis, from old pypsa cost assumptions +decentral ground-sourced heat pump,efficiency,3.9,per unit,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx","207.7 Ground source existing: Heat efficiency, annual average, net, radiators, existing one family house" +decentral ground-sourced heat pump,investment,1400.0,EUR/kW_th,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",207.7 Ground source existing: Specific investment +decentral ground-sourced heat pump,lifetime,20.0,years,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",207.7 Ground source existing: Technical lifetime +decentral oil boiler,FOM,2.0,%/year,Palzer thesis (https://energiesysteme-zukunft.de/fileadmin/user_upload/Publikationen/PDFs/ESYS_Materialien_Optimierungsmodell_REMod-D.pdf), from old pypsa cost assumptions +decentral oil boiler,efficiency,0.9,per unit,Palzer thesis (https://energiesysteme-zukunft.de/fileadmin/user_upload/Publikationen/PDFs/ESYS_Materialien_Optimierungsmodell_REMod-D.pdf), from old pypsa cost assumptions +decentral oil boiler,investment,156.01,EUR/kWth,Palzer thesis (https://energiesysteme-zukunft.de/fileadmin/user_upload/Publikationen/PDFs/ESYS_Materialien_Optimierungsmodell_REMod-D.pdf) (+eigene Berechnung), from old pypsa cost assumptions +decentral oil boiler,lifetime,20.0,years,Palzer thesis (https://energiesysteme-zukunft.de/fileadmin/user_upload/Publikationen/PDFs/ESYS_Materialien_Optimierungsmodell_REMod-D.pdf), from old pypsa cost assumptions +decentral resistive heater,FOM,2.0,%/year,Schaber thesis, from old pypsa cost assumptions +decentral resistive heater,discount rate,0.04,per unit,Palzer thesis, from old pypsa cost assumptions +decentral resistive heater,efficiency,0.9,per unit,Schaber thesis, from old pypsa cost assumptions +decentral resistive heater,investment,100.0,EUR/kWhth,Schaber thesis, from old pypsa cost assumptions +decentral resistive heater,lifetime,20.0,years,Schaber thesis, from old pypsa cost assumptions +decentral solar thermal,FOM,1.3,%/year,HP, from old pypsa cost assumptions +decentral solar thermal,discount rate,0.04,per unit,Palzer thesis, from old pypsa cost assumptions +decentral solar thermal,investment,270000.0,EUR/1000m2,HP, from old pypsa cost assumptions +decentral solar thermal,lifetime,20.0,years,HP, from old pypsa cost assumptions +decentral water tank storage,FOM,1.0,%/year,HP, from old pypsa cost assumptions +decentral water tank storage,discount rate,0.04,per unit,Palzer thesis, from old pypsa cost assumptions +decentral water tank storage,investment,18.38,EUR/kWh,IWES Interaktion, from old pypsa cost assumptions +decentral water tank storage,lifetime,20.0,years,HP, from old pypsa cost assumptions +electricity distribution grid,FOM,2.0,%/year,TODO, from old pypsa cost assumptions +electricity distribution grid,investment,500.0,EUR/kW,TODO, from old pypsa cost assumptions +electricity distribution grid,lifetime,40.0,years,TODO, from old pypsa cost assumptions +electricity grid connection,FOM,2.0,%/year,TODO, from old pypsa cost assumptions +electricity grid connection,investment,140.0,EUR/kW,DEA, from old pypsa cost assumptions +electricity grid connection,lifetime,40.0,years,TODO, from old pypsa cost assumptions +electrolysis,FOM,5.0,%/year,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx",88 Alkaline Electrolyser: Fixed O&M +electrolysis,efficiency,0.66,per unit,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx","88 Alkaline Electrolyser: A) Hydrogen output, at LHV" +electrolysis,investment,550.0,EUR/kW_e,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx",88 Alkaline Electrolyser: Specific investment +electrolysis,lifetime,25.0,years,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx",88 Alkaline Electrolyser: Technical lifetime +fuel cell,FOM,5.0,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",12 LT-PEMFC CHP: Fixed O&M +fuel cell,c_b,1.25,50oC/100oC,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",12 LT-PEMFC CHP: Cb coefficient +fuel cell,efficiency,0.5,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","12 LT-PEMFC CHP: Electricity efficiency, annual average" +fuel cell,investment,1100.0,EUR/kW_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",12 LT-PEMFC CHP: Nominal investment +fuel cell,lifetime,10.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",12 LT-PEMFC CHP: Technical lifetime +gas,CO2 intensity,0.2,tCO2/MWh_th,Entwicklung der spezifischen Kohlendioxid-Emissionen des deutschen Strommix in den Jahren 1990 - 2018, +gas,fuel,20.1,EUR/MWh_th,BP 2019, +gas storage,FOM,3.59,%,Danish Energy Agency,"150 Underground Storage of Gas, Operation and Maintenace, salt cavern (units converted)" +gas storage,investment,0.03,EUR/kWh,Danish Energy Agency,"150 Underground Storage of Gas, Establishment of one cavern (units converted)" +gas storage,lifetime,100.0,years,TODO no source,"estimation: most underground storage are already build, they do have a long lifetime" +gas storage charger,investment,14.34,EUR/kW,Danish Energy Agency,"150 Underground Storage of Gas, Process equipment (units converted)" +gas storage discharger,investment,4.78,EUR/kW,Danish Energy Agency,"150 Underground Storage of Gas, Process equipment (units converted)" +geothermal,CO2 intensity,0.03,tCO2/MWhth,https://www.eia.gov/environment/emissions/co2_vol_mass.php, from old pypsa cost assumptions +geothermal,FOM,2.36,%/year,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +geothermal,efficiency,0.24,per unit,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +geothermal,investment,3392.0,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +geothermal,lifetime,40.0,years,IEA2010, from old pypsa cost assumptions +helmeth,FOM,3.0,%/year,no source, from old pypsa cost assumptions +helmeth,efficiency,0.8,per unit,HELMETH press release, from old pypsa cost assumptions +helmeth,investment,2000.0,EUR/kW,no source, from old pypsa cost assumptions +helmeth,lifetime,25.0,years,no source, from old pypsa cost assumptions +hydro,FOM,1.0,%/year,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +hydro,efficiency,0.9,per unit,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +hydro,investment,2208.16,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +hydro,lifetime,80.0,years,IEA2010, from old pypsa cost assumptions +hydrogen storage tank,FOM,1.11,%/year,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",151a Hydrogen Storage - Tanks: Fixed O&M +hydrogen storage tank,investment,44.91,EUR/kWh,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",151a Hydrogen Storage - Tanks: Specific investment +hydrogen storage tank,lifetime,30.0,years,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",151a Hydrogen Storage - Tanks: Technical lifetime +hydrogen storage underground,FOM,0.0,%/year,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",151c Hydrogen Storage - Caverns: Fixed O&M +hydrogen storage underground,VOM,0.0,EUR/MWh,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",151c Hydrogen Storage - Caverns: Variable O&M +hydrogen storage underground,investment,2.0,EUR/kWh,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",151c Hydrogen Storage - Caverns: Specific investment +hydrogen storage underground,lifetime,100.0,years,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",151c Hydrogen Storage - Caverns: Technical lifetime +industry CCS,FOM,2.0,%/year,Saygin et al 2013 https://doi.org/10.1016/j.ijggc.2013.05.032, from old pypsa cost assumptions +industry CCS,efficiency,0.9,per unit,Saygin et al 2013 https://doi.org/10.1016/j.ijggc.2013.05.032, from old pypsa cost assumptions +industry CCS,investment,300.0,EUR/tCO2/a,Saygin et al 2013 https://doi.org/10.1016/j.ijggc.2013.05.032, from old pypsa cost assumptions +industry CCS,lifetime,25.0,years,Saygin et al 2013 https://doi.org/10.1016/j.ijggc.2013.05.032, from old pypsa cost assumptions +lignite,CO2 intensity,0.41,tCO2/MWh_th,Entwicklung der spezifischen Kohlendioxid-Emissionen des deutschen Strommix in den Jahren 1990 - 2018, +lignite,FOM,1.6,%/year,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +lignite,VOM,3.5,EUR/MWh_e,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +lignite,efficiency,0.33,per unit,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +lignite,fuel,2.9,EUR/MWh_th,DIW, +lignite,investment,3845.51,EUR/kW_e,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +lignite,lifetime,40.0,years,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +methanation,FOM,3.0,%/year,Schaber thesis, from old pypsa cost assumptions +methanation,efficiency,0.8,per unit,Palzer and Schaber thesis, from old pypsa cost assumptions +methanation,investment,1000.0,EUR/kWH2,Schaber thesis, from old pypsa cost assumptions +methanation,lifetime,25.0,years,Schaber thesis, from old pypsa cost assumptions +micro CHP,FOM,6.11,%/year,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",219 LT-PEMFC mCHP - natural gas: Fixed O&M +micro CHP,efficiency,0.35,per unit,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx","219 LT-PEMFC mCHP - natural gas: Electric efficiency, annual average, net" +micro CHP,efficiency-heat,0.61,per unit,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx","219 LT-PEMFC mCHP - natural gas: Heat efficiency, annual average, net" +micro CHP,investment,7410.27,EUR/kW_th,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",219 LT-PEMFC mCHP - natural gas: Specific investment +micro CHP,lifetime,20.0,years,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",219 LT-PEMFC mCHP - natural gas: Technical lifetime +nuclear,FOM,1.4,%/year,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +nuclear,VOM,3.5,EUR/MWh_e,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +nuclear,efficiency,0.33,per unit,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +nuclear,fuel,2.6,EUR/MWh_th,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +nuclear,investment,7940.45,EUR/kW_e,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +nuclear,lifetime,40.0,years,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +offwind,FOM,2.29,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",21 Offshore turbines: Fixed O&M +offwind,VOM,2.67,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",21 Offshore turbines: Variable O&M +offwind,investment,1573.21,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",21 Offshore turbines: Nominal investment grid connection costs substracted from investment costs +offwind,lifetime,30.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",21 Offshore turbines: Technical lifetime +offwind-ac-connection-submarine,investment,2685.0,EUR/MW/km,DEA https://ens.dk/en/our-services/projections-and-models/technology-data, from old pypsa cost assumptions +offwind-ac-connection-underground,investment,1342.0,EUR/MW/km,DEA https://ens.dk/en/our-services/projections-and-models/technology-data, from old pypsa cost assumptions +offwind-ac-station,investment,250.0,EUR/kWel,DEA https://ens.dk/en/our-services/projections-and-models/technology-data, from old pypsa cost assumptions +offwind-dc-connection-submarine,investment,2000.0,EUR/MW/km,DTU report based on Fig 34 of https://ec.europa.eu/energy/sites/ener/files/documents/2014_nsog_report.pdf, from old pypsa cost assumptions +offwind-dc-connection-underground,investment,1000.0,EUR/MW/km,Haertel 2017; average + 13% learning reduction, from old pypsa cost assumptions +offwind-dc-station,investment,400.0,EUR/kWel,Haertel 2017; assuming one onshore and one offshore node + 13% learning reduction, from old pypsa cost assumptions +oil,CO2 intensity,0.27,tCO2/MWh_th,Entwicklung der spezifischen Kohlendioxid-Emissionen des deutschen Strommix in den Jahren 1990 - 2018, +oil,FOM,2.46,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",50 Diesel engine farm: Fixed O&M +oil,VOM,6.0,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",50 Diesel engine farm: Variable O&M +oil,efficiency,0.35,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","50 Diesel engine farm: Electricity efficiency, annual average" +oil,fuel,50.0,EUR/MWhth,IEA WEM2017 97USD/boe = http://www.iea.org/media/weowebsite/2017/WEM_Documentation_WEO2017.pdf, from old pypsa cost assumptions +oil,investment,343.0,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",50 Diesel engine farm: Specific investment +oil,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",50 Diesel engine farm: Technical lifetime +onwind,FOM,1.22,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",20 Onshore turbines: Fixed O&M +onwind,VOM,1.35,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",20 Onshore turbines: Variable O&M +onwind,investment,1035.56,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",20 Onshore turbines: Nominal investment +onwind,lifetime,30.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",20 Onshore turbines: Technical lifetime +ror,FOM,2.0,%/year,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +ror,efficiency,0.9,per unit,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +ror,investment,3312.24,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions +ror,lifetime,80.0,years,IEA2010, from old pypsa cost assumptions +solar,FOM,1.46,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",22 Photovoltaics Medium: Fixed O&M +solar,VOM,0.01,EUR/MWhel,RES costs made up to fix curtailment order, from old pypsa cost assumptions +solar,investment,631.69,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","22 Photovoltaics Medium: Specific investment, total system" +solar,lifetime,35.0,years,"Assuming 50% rooftop, 50% utility",22 Photovoltaics Medium: Technical lifetime of total system +solar-rooftop,FOM,1.24,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",22 Photovoltaics Small: Fixed O&M +solar-rooftop,discount rate,0.04,per unit,standard for decentral, from old pypsa cost assumptions +solar-rooftop,investment,784.31,EUR/kW,European PV Technology and Innovation Platform,"22 Photovoltaics Small: Specific investment, total system" +solar-rooftop,lifetime,30.0,years,European PV Technology and Innovation Platform,22 Photovoltaics Small: Technical lifetime of total system +solar-utility,FOM,1.93,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",22 Photovoltaics Large: Fixed O&M +solar-utility,investment,376.29,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",22 Photovoltaics Large: Nominal investment +solar-utility,lifetime,40.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",22 Photovoltaics Large: Technical lifetime +solid biomass,CO2 intensity,0.3,tCO2/MWh_th,TODO, +solid biomass,fuel,25.2,EUR/MWh_th,Is a 100% renewable European power system feasible by 2050?, +uranium,fuel,2.6,EUR/MWh_th,Lazard s Levelized Cost of Energy Analysis - Version 13.0, +water tank charger,efficiency,0.84,per unit,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: efficiency from sqr(Round trip efficiency) +water tank discharger,efficiency,0.84,per unit,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: efficiency from sqr(Round trip efficiency) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 7a32e628..d0385a97 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -90,7 +90,6 @@ It further adds extendable ``generators`` with **zero** capacity for - additional open- and combined-cycle gas turbines (if ``OCGT`` and/or ``CCGT`` is listed in the config setting ``electricity: extendable_carriers``) """ -from vresutils.costdata import annuity from vresutils.load import timeseries_opsd from vresutils import transfer as vtransfer @@ -121,6 +120,19 @@ def _add_missing_carriers_from_costs(n, costs, carriers): emissions.index = missing_carriers n.import_components_from_dataframe(emissions, 'Carrier') + +def annuity(n, r): + """Calculate the annuity factor for an asset with lifetime n years and + discount rate of r, e.g. annuity(20,0.05)*20 = 1.6""" + + if isinstance(r, pd.Series): + return pd.Series(1/n, index=r.index).where(r == 0, r/(1. - 1./(1.+r)**n)) + elif r > 0: + return r/(1. - 1./(1.+r)**n) + else: + return 1/n + + def load_costs(Nyears=1., tech_costs=None, config=None, elec_config=None): if tech_costs is None: tech_costs = snakemake.input.tech_costs @@ -129,23 +141,22 @@ def load_costs(Nyears=1., tech_costs=None, config=None, elec_config=None): config = snakemake.config['costs'] # set all asset costs and other parameters - costs = pd.read_csv(tech_costs, index_col=list(range(3))).sort_index() + costs = pd.read_csv(tech_costs, index_col=[0,1]).sort_index() - # correct units to MW and EUR - costs.loc[costs.unit.str.contains("/kW"),"value"] *= 1e3 - costs.loc[costs.unit.str.contains("USD"),"value"] *= config['USD2013_to_EUR2013'] + # correct units to MW + to_mw_i = costs.query('unit == "EUR/kW"').index + costs.value.update(costs.value[to_mw_i] * 1e3) + costs.unit.update(pd.Series("EUR/MW", to_mw_i)) - costs = (costs.loc[idx[:,config['year'],:], "value"] - .unstack(level=2).groupby("technology").sum(min_count=1)) - - costs = costs.fillna({"CO2 intensity" : 0, - "FOM" : 0, - "VOM" : 0, - "discount rate" : config['discountrate'], - "efficiency" : 1, - "fuel" : 0, - "investment" : 0, - "lifetime" : 25}) + fill_values = {"CO2 intensity" : 0, + "FOM" : 0, + "VOM" : 0, + "discount rate" : config['discountrate'], + "efficiency" : 1, + "fuel" : 0, + "investment" : 0, + "lifetime" : 25} + costs = costs.value.unstack().fillna(fill_values) costs["capital_cost"] = ((annuity(costs["lifetime"], costs["discount rate"]) + costs["FOM"]/100.) * @@ -182,7 +193,7 @@ def load_costs(Nyears=1., tech_costs=None, config=None, elec_config=None): costs_for_storage(costs.loc["battery storage"], costs.loc["battery inverter"], max_hours=max_hours['battery']) costs.loc["H2"] = \ - costs_for_storage(costs.loc["hydrogen storage"], costs.loc["fuel cell"], + costs_for_storage(costs.loc["hydrogen storage tank"], costs.loc["fuel cell"], costs.loc["electrolysis"], max_hours=max_hours['H2']) for attr in ('marginal_cost', 'capital_cost'): From 0b4abb4c30c3e758228050f7d1c9c16c32755a7f Mon Sep 17 00:00:00 2001 From: Fabian Date: Tue, 25 Aug 2020 21:51:29 +0200 Subject: [PATCH 002/281] revert unit adjustment for EUR/MW only --- scripts/add_electricity.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index d0385a97..60c1060c 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -144,9 +144,7 @@ def load_costs(Nyears=1., tech_costs=None, config=None, elec_config=None): costs = pd.read_csv(tech_costs, index_col=[0,1]).sort_index() # correct units to MW - to_mw_i = costs.query('unit == "EUR/kW"').index - costs.value.update(costs.value[to_mw_i] * 1e3) - costs.unit.update(pd.Series("EUR/MW", to_mw_i)) + costs.loc[costs.unit.str.contains("/kW"),"value"] *= 1e3 fill_values = {"CO2 intensity" : 0, "FOM" : 0, From e9617bca64cbbc617f0a4e010f850177a72ba4c9 Mon Sep 17 00:00:00 2001 From: Fabian Date: Wed, 26 Aug 2020 10:06:10 +0200 Subject: [PATCH 003/281] store cost data in resources enable retrievement in config --- Snakefile | 15 +- config.default.yaml | 1 + config.tutorial.yaml | 1 + data/costs.csv | 308 ----------------------------------------- test/config.test1.yaml | 1 + 5 files changed, 11 insertions(+), 315 deletions(-) delete mode 100644 data/costs.csv diff --git a/Snakefile b/Snakefile index 84662eaf..59cc89bd 100644 --- a/Snakefile +++ b/Snakefile @@ -10,7 +10,7 @@ if not exists("config.yaml"): configfile: "config.yaml" -COSTS="data/costs.csv" +COSTS="resources/costs.csv" wildcard_constraints: ll="(v|c)([0-9\.]+|opt|all)|all", # line limit, can be volume or cost @@ -164,12 +164,13 @@ if config['enable'].get('retrieve_natura_raster', True): log: "logs/retrieve_natura_raster.log" script: 'scripts/retrieve_natura_raster.py' -rule retrieve_cost_data: - params: - year = config['costs']['year'], - version = config['costs']['version'], - output: COSTS - shell: 'curl https://raw.githubusercontent.com/PyPSA/technology-data/{params.version}/outputs/costs_{params.year}.csv -o {output}' +if config['enable'].get('retrieve_cost_data', True): + rule retrieve_cost_data: + params: + year = config['costs']['year'], + version = config['costs']['version'], + output: COSTS + shell: 'curl https://raw.githubusercontent.com/PyPSA/technology-data/{params.version}/outputs/costs_{params.year}.csv -o {output}' rule build_renewable_profiles: input: diff --git a/config.default.yaml b/config.default.yaml index 375bcda6..d0d78730 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -28,6 +28,7 @@ snapshots: enable: prepare_links_p_nom: false retrieve_databundle: true + retrieve_cost_data: true build_cutout: false retrieve_cutout: true build_natura_raster: false diff --git a/config.tutorial.yaml b/config.tutorial.yaml index f77ad2bd..1aa589ca 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -27,6 +27,7 @@ snapshots: enable: prepare_links_p_nom: false retrieve_databundle: true + retrieve_cost_data: true build_cutout: false retrieve_cutout: true build_natura_raster: false diff --git a/data/costs.csv b/data/costs.csv deleted file mode 100644 index 8b50f24d..00000000 --- a/data/costs.csv +++ /dev/null @@ -1,308 +0,0 @@ -technology,parameter,value,unit,source,further description -CCGT,FOM,3.35,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","05 Gas turb. CC, steam extract.: Fixed O&M" -CCGT,VOM,4.2,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","05 Gas turb. CC, steam extract.: Variable O&M" -CCGT,c_b,2.0,50oC/100oC,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","05 Gas turb. CC, steam extract.: Cb coefficient" -CCGT,c_v,0.15,50oC/100oC,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","05 Gas turb. CC, steam extract.: Cv coefficient" -CCGT,efficiency,0.58,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","05 Gas turb. CC, steam extract.: Electricity efficiency, annual average" -CCGT,investment,830.0,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","05 Gas turb. CC, steam extract.: Nominal investment" -CCGT,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","05 Gas turb. CC, steam extract.: Technical lifetime" -DAC,FOM,4.0,%/year,Fasihi, from old pypsa cost assumptions -DAC,investment,383.0,EUR/(tCO2/a),Fasihi, -DAC,lifetime,30.0,years,Fasihi, from old pypsa cost assumptions -Fischer-Tropsch,FOM,3.0,%/year,doi:10.3390/su9020306, from old pypsa cost assumptions -Fischer-Tropsch,efficiency,0.8,per unit,TODO, from old pypsa cost assumptions -Fischer-Tropsch,investment,677.6,EUR/kWH2,Fasihi doi:10.3390/su9020306 (60 kEUR/bpd = 847 EUR/kWL (1b = 1.7 MWh) 847*0.8 = 677.6), from old pypsa cost assumptions -Fischer-Tropsch,lifetime,30.0,years,doi:10.3390/su9020306, from old pypsa cost assumptions -Gasnetz,FOM,2.5,%,"WEGE ZU EINEM KLIMANEUTRALEN ENERGIESYSEM, Anhang zur Studie, Fraunhofer-Institut für Solare Energiesysteme ISE, Freiburg",Gasnetz -Gasnetz,investment,28.0,EUR/kWGas,"WEGE ZU EINEM KLIMANEUTRALEN ENERGIESYSEM, Anhang zur Studie, Fraunhofer-Institut für Solare Energiesysteme ISE, Freiburg",Gasnetz -Gasnetz,lifetime,30.0,years,"WEGE ZU EINEM KLIMANEUTRALEN ENERGIESYSEM, Anhang zur Studie, Fraunhofer-Institut für Solare Energiesysteme ISE, Freiburg",Gasnetz -H2 pipeline,FOM,3.0,%/year,TODO, from old pypsa cost assumptions -H2 pipeline,investment,267.0,EUR/MW/km,Welder et al https://doi.org/10.1016/j.ijhydene.2018.12.156, from old pypsa cost assumptions -H2 pipeline,lifetime,40.0,years,TODO, from old pypsa cost assumptions -HVAC overhead,FOM,2.0,%/year,Hagspiel, from old pypsa cost assumptions -HVAC overhead,investment,400.0,EUR/MW/km,Hagspiel, from old pypsa cost assumptions -HVAC overhead,lifetime,40.0,years,Hagspiel, from old pypsa cost assumptions -HVDC inverter pair,FOM,2.0,%/year,Hagspiel, from old pypsa cost assumptions -HVDC inverter pair,investment,150000.0,EUR/MW,Hagspiel, from old pypsa cost assumptions -HVDC inverter pair,lifetime,40.0,years,Hagspiel, from old pypsa cost assumptions -HVDC overhead,FOM,2.0,%/year,Hagspiel, from old pypsa cost assumptions -HVDC overhead,investment,400.0,EUR/MW/km,Hagspiel, from old pypsa cost assumptions -HVDC overhead,lifetime,40.0,years,Hagspiel, from old pypsa cost assumptions -HVDC submarine,FOM,2.0,%/year,Hagspiel, from old pypsa cost assumptions -HVDC submarine,investment,2000.0,EUR/MW/km,Own analysis of European submarine HVDC projects since 2000, from old pypsa cost assumptions -HVDC submarine,lifetime,40.0,years,Hagspiel, from old pypsa cost assumptions -OCGT,FOM,1.78,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",52 OCGT - Natural gas: Fixed O&M -OCGT,VOM,4.5,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",52 OCGT - Natural gas: Variable O&M -OCGT,efficiency,0.41,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","52 OCGT - Natural gas: Electricity efficiency, annual average" -OCGT,investment,435.24,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",52 OCGT - Natural gas: Specific investment -OCGT,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",52 OCGT - Natural gas: Technical lifetime -PHS,FOM,1.0,%/year,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -PHS,efficiency,0.75,per unit,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -PHS,investment,2208.16,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -PHS,lifetime,80.0,years,IEA2010, from old pypsa cost assumptions -SMR,FOM,5.4,%/year,https://www.gov.uk/government/publications/hydrogen-supply-chain-evidence-base; slide 42 assumption for 2030, from old pypsa cost assumptions -SMR,efficiency,0.74,per unit,https://www.gov.uk/government/publications/hydrogen-supply-chain-evidence-base; slide 42 assumption for 2030, from old pypsa cost assumptions -SMR,investment,540.56,EUR/kWCH4,https://www.gov.uk/government/publications/hydrogen-supply-chain-evidence-base; slide 42 assumption for 2030; GBP 466 exchange 1.16, from old pypsa cost assumptions -SMR,lifetime,25.0,years,TODO, from old pypsa cost assumptions -SMR CCS,FOM,5.4,%/year,https://www.gov.uk/government/publications/hydrogen-supply-chain-evidence-base; slide 42 assumption for 2030, from old pypsa cost assumptions -SMR CCS,efficiency,0.67,per unit,https://www.gov.uk/government/publications/hydrogen-supply-chain-evidence-base; slide 42 assumption for 2030; CCS uses 10% of gas, from old pypsa cost assumptions -SMR CCS,investment,1032.0,EUR/kWCH4,https://www.gov.uk/government/publications/hydrogen-supply-chain-evidence-base; slide 42 assumption for 2030; GBP 466 exchange 1.16; CCS costed at 300 EUR/tCO2/a, from old pypsa cost assumptions -SMR CCS,lifetime,25.0,years,TODO, from old pypsa cost assumptions -battery inverter,FOM,0.34,%/year,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: Fixed O&M -battery inverter,efficiency,0.96,per unit,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: Round trip efficiency DC -battery inverter,investment,160.0,EUR/kW,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: Output capacity expansion cost investment -battery inverter,lifetime,25.0,years,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: Technical lifetime -battery storage,investment,142.0,EUR/kWh,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: Energy storage expansion cost investment -battery storage,lifetime,25.0,years,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: Technical lifetime -biogas,fuel,59.0,EUR/MWhth,JRC and Zappa, from old pypsa cost assumptions -biogas upgrading,FOM,2.49,%/year,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx","82 Biogas, upgrading: Fixed O&M " -biogas upgrading,VOM,3.18,EUR/MWh input,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx","82 Biogas, upgrading: Variable O&M" -biogas upgrading,investment,381.0,EUR/kW input,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx","82 Biogas, upgrading: investment (upgrading, methane redution and grid injection)" -biogas upgrading,lifetime,15.0,years,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx","82 Biogas, upgrading: Technical lifetime" -biomass,FOM,4.53,%/year,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -biomass,efficiency,0.47,per unit,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -biomass,fuel,7.0,EUR/MWhth,IEA2011b, from old pypsa cost assumptions -biomass,investment,2209.0,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -biomass,lifetime,30.0,years,ECF2010 in DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -biomass CHP,FOM,3.58,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Fixed O&M" -biomass CHP,VOM,2.1,EUR/MWh_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Variable O&M " -biomass CHP,c_b,0.46,40°C/80°C,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Cb coefficient" -biomass CHP,c_v,1.0,40°C/80°C,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Cv coefficient" -biomass CHP,efficiency,0.3,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Electricity efficiency, net, annual average" -biomass CHP,efficiency-heat,0.71,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Heat efficiency, net, annual average" -biomass CHP,investment,3210.28,EUR/kW_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Nominal investment " -biomass CHP,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Technical lifetime" -biomass EOP,FOM,3.58,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Fixed O&M" -biomass EOP,VOM,2.1,EUR/MWh_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Variable O&M " -biomass EOP,c_b,0.46,40°C/80°C,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Cb coefficient" -biomass EOP,c_v,1.0,40°C/80°C,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Cv coefficient" -biomass EOP,efficiency,0.3,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Electricity efficiency, net, annual average" -biomass EOP,efficiency-heat,0.71,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Heat efficiency, net, annual average" -biomass EOP,investment,3210.28,EUR/kW_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Nominal investment " -biomass EOP,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw, Large, 40 degree: Technical lifetime" -biomass HOP,FOM,5.75,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw HOP: Fixed O&M, heat output" -biomass HOP,VOM,2.78,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",09c Straw HOP: Variable O&M heat output -biomass HOP,efficiency,1.03,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09c Straw HOP: Total efficiency , net, annual average" -biomass HOP,investment,832.63,EUR/kW_th - heat output,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",09c Straw HOP: Nominal investment -biomass HOP,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",09c Straw HOP: Technical lifetime -central air-sourced heat pump,FOM,0.23,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Comp. hp, airsource 3 MW: Fixed O&M" -central air-sourced heat pump,VOM,2.51,EUR/MWh_th,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Comp. hp, airsource 3 MW: Variable O&M" -central air-sourced heat pump,efficiency,3.6,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Comp. hp, airsource 3 MW: Total efficiency , net, annual average" -central air-sourced heat pump,investment,856.25,EUR/kW_th,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Comp. hp, airsource 3 MW: Specific investment" -central air-sourced heat pump,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Comp. hp, airsource 3 MW: Technical lifetime" -central coal CHP,FOM,1.63,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",01 Coal CHP: Fixed O&M -central coal CHP,VOM,2.84,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",01 Coal CHP: Variable O&M -central coal CHP,c_b,1.01,50oC/100oC,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",01 Coal CHP: Cb coefficient -central coal CHP,c_v,0.15,50oC/100oC,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",01 Coal CHP: Cv coefficient -central coal CHP,efficiency,0.52,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","01 Coal CHP: Electricity efficiency, condensation mode, net" -central coal CHP,investment,1860.47,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",01 Coal CHP: Nominal investment -central coal CHP,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",01 Coal CHP: Technical lifetime -central gas CHP,FOM,3.32,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Fixed O&M" -central gas CHP,VOM,4.2,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Variable O&M" -central gas CHP,c_b,0.7,per unit,DEA (backpressure ratio), from old pypsa cost assumptions -central gas CHP,c_v,0.17,per unit,DEA (loss of fuel for additional heat), from old pypsa cost assumptions -central gas CHP,efficiency,0.41,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Electricity efficiency, annual average" -central gas CHP,investment,560.0,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Nominal investment" -central gas CHP,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Technical lifetime" -central gas CHP,p_nom_ratio,1.0,per unit,, from old pypsa cost assumptions -central gas CHP CCS,FOM,3.32,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Fixed O&M" -central gas CHP CCS,VOM,4.2,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Variable O&M" -central gas CHP CCS,c_b,0.7,per unit,DEA (backpressure ratio), from old pypsa cost assumptions -central gas CHP CCS,c_v,0.17,per unit,DEA (loss of fuel for additional heat), from old pypsa cost assumptions -central gas CHP CCS,efficiency,0.37,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Electricity efficiency, annual average" -central gas CHP CCS,investment,1160.0,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx , DIW (CCS)","04 Gas turb. simple cycle, L: Nominal investment" -central gas CHP CCS,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","04 Gas turb. simple cycle, L: Technical lifetime" -central gas CHP CCS,p_nom_ratio,1.0,per unit,, from old pypsa cost assumptions -central gas boiler,FOM,3.8,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",44 Natural Gas DH Only: Fixed O&M -central gas boiler,VOM,1.0,EUR/MWh_th,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",44 Natural Gas DH Only: Variable O&M -central gas boiler,efficiency,1.04,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","44 Natural Gas DH Only: Total efficiency , net, annual average" -central gas boiler,investment,50.0,EUR/kW_th,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",44 Natural Gas DH Only: Nominal investment -central gas boiler,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",44 Natural Gas DH Only: Technical lifetime -central ground-sourced heat pump,FOM,0.39,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Absorption heat pump, DH: Fixed O&M" -central ground-sourced heat pump,VOM,1.25,EUR/MWh_th,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Absorption heat pump, DH: Variable O&M" -central ground-sourced heat pump,efficiency,1.73,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Absorption heat pump, DH: Total efficiency , net, annual average" -central ground-sourced heat pump,investment,507.6,EUR/kW_th excluding drive energy,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Absorption heat pump, DH: Nominal investment" -central ground-sourced heat pump,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","40 Absorption heat pump, DH: Technical lifetime" -central resistive heater,FOM,1.7,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",41 Electric Boilers: Fixed O&M -central resistive heater,VOM,1.0,EUR/MWh_th,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",41 Electric Boilers: Variable O&M -central resistive heater,efficiency,0.99,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","41 Electric Boilers: Total efficiency , net, annual average" -central resistive heater,investment,60.0,EUR/kW_th,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",41 Electric Boilers: Nominal investment; 10/15 kV; >10 MW -central resistive heater,lifetime,20.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",41 Electric Boilers: Technical lifetime -central solar thermal,FOM,1.4,%/year,HP, from old pypsa cost assumptions -central solar thermal,investment,140000.0,EUR/1000m2,HP, from old pypsa cost assumptions -central solar thermal,lifetime,20.0,years,HP, from old pypsa cost assumptions -central solid biomass CHP,FOM,4.1,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Fixed O&M" -central solid biomass CHP,VOM,1.85,EUR/MWh_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Variable O&M " -central solid biomass CHP,c_b,1.01,per unit,DEA for wood pellets CHP (backpressure ratio), from old pypsa cost assumptions -central solid biomass CHP,c_v,0.15,per unit,DEA for wood pellets CHP (loss of fuel for additional heat), from old pypsa cost assumptions -central solid biomass CHP,efficiency,0.29,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Electricity efficiency, net, annual average" -central solid biomass CHP,efficiency-heat,0.69,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Heat efficiency, net, annual average" -central solid biomass CHP,investment,2851.41,EUR/kW_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Nominal investment " -central solid biomass CHP,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Technical lifetime" -central solid biomass CHP,p_nom_ratio,1.0,per unit,, from old pypsa cost assumptions -central solid biomass CHP CCS,FOM,4.1,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Fixed O&M" -central solid biomass CHP CCS,VOM,1.85,EUR/MWh_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Variable O&M " -central solid biomass CHP CCS,c_b,1.01,per unit,DEA for wood pellets CHP (backpressure ratio), from old pypsa cost assumptions -central solid biomass CHP CCS,c_v,0.15,per unit,DEA for wood pellets CHP (loss of fuel for additional heat), from old pypsa cost assumptions -central solid biomass CHP CCS,efficiency,0.26,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Electricity efficiency, net, annual average" -central solid biomass CHP CCS,efficiency-heat,0.69,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Heat efficiency, net, annual average" -central solid biomass CHP CCS,investment,3451.41,EUR/kW_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx , DIW (CCS)","09b Wood Pellets, Medium: Nominal investment " -central solid biomass CHP CCS,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","09b Wood Pellets, Medium: Technical lifetime" -central solid biomass CHP CCS,p_nom_ratio,1.0,per unit,, from old pypsa cost assumptions -central water tank storage,FOM,0.55,%/year,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",140 PTES seasonal: Fixed O&M -central water tank storage,investment,0.54,EUR/kWhCapacity,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",140 PTES seasonal: Specific investment -central water tank storage,lifetime,25.0,years,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",140 PTES seasonal: Technical lifetime -coal,CO2 intensity,0.34,tCO2/MWh_th,Entwicklung der spezifischen Kohlendioxid-Emissionen des deutschen Strommix in den Jahren 1990 - 2018, -coal,FOM,1.6,%/year,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -coal,VOM,3.5,EUR/MWh_e,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -coal,efficiency,0.33,per unit,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -coal,fuel,8.15,EUR/MWh_th,BP 2019, -coal,investment,3845.51,EUR/kW_e,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -coal,lifetime,40.0,years,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -decentral CHP,FOM,3.0,%/year,HP, from old pypsa cost assumptions -decentral CHP,discount rate,0.04,per unit,Palzer thesis, from old pypsa cost assumptions -decentral CHP,investment,1400.0,EUR/kWel,HP, from old pypsa cost assumptions -decentral CHP,lifetime,25.0,years,HP, from old pypsa cost assumptions -decentral air-sourced heat pump,FOM,3.0,%/year,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",207.3 Air to water existing: Fixed O&M -decentral air-sourced heat pump,discount rate,0.04,per unit,Palzer thesis, from old pypsa cost assumptions -decentral air-sourced heat pump,efficiency,3.6,per unit,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx","207.3 Air to water existing: Heat efficiency, annual average, net, radiators, existing one family house" -decentral air-sourced heat pump,investment,850.0,EUR/kW_th,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",207.3 Air to water existing: Specific investment -decentral air-sourced heat pump,lifetime,18.0,years,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",207.3 Air to water existing: Technical lifetime -decentral gas boiler,FOM,6.69,%/year,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",202 Natural gas boiler: Fixed O&M -decentral gas boiler,discount rate,0.04,per unit,Palzer thesis, from old pypsa cost assumptions -decentral gas boiler,efficiency,0.98,per unit,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx","202 Natural gas boiler: Total efficiency, annual average, net" -decentral gas boiler,investment,296.82,EUR/kW_th,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",202 Natural gas boiler: Specific investment -decentral gas boiler,lifetime,20.0,years,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",202 Natural gas boiler: Technical lifetime -decentral gas boiler connection,investment,185.51,EUR/kW_th,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",: Possible additional specific investment -decentral gas boiler connection,lifetime,50.0,years,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",: Technical lifetime -decentral ground-sourced heat pump,FOM,1.82,%/year,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",207.7 Ground source existing: Fixed O&M -decentral ground-sourced heat pump,discount rate,0.04,per unit,Palzer thesis, from old pypsa cost assumptions -decentral ground-sourced heat pump,efficiency,3.9,per unit,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx","207.7 Ground source existing: Heat efficiency, annual average, net, radiators, existing one family house" -decentral ground-sourced heat pump,investment,1400.0,EUR/kW_th,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",207.7 Ground source existing: Specific investment -decentral ground-sourced heat pump,lifetime,20.0,years,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",207.7 Ground source existing: Technical lifetime -decentral oil boiler,FOM,2.0,%/year,Palzer thesis (https://energiesysteme-zukunft.de/fileadmin/user_upload/Publikationen/PDFs/ESYS_Materialien_Optimierungsmodell_REMod-D.pdf), from old pypsa cost assumptions -decentral oil boiler,efficiency,0.9,per unit,Palzer thesis (https://energiesysteme-zukunft.de/fileadmin/user_upload/Publikationen/PDFs/ESYS_Materialien_Optimierungsmodell_REMod-D.pdf), from old pypsa cost assumptions -decentral oil boiler,investment,156.01,EUR/kWth,Palzer thesis (https://energiesysteme-zukunft.de/fileadmin/user_upload/Publikationen/PDFs/ESYS_Materialien_Optimierungsmodell_REMod-D.pdf) (+eigene Berechnung), from old pypsa cost assumptions -decentral oil boiler,lifetime,20.0,years,Palzer thesis (https://energiesysteme-zukunft.de/fileadmin/user_upload/Publikationen/PDFs/ESYS_Materialien_Optimierungsmodell_REMod-D.pdf), from old pypsa cost assumptions -decentral resistive heater,FOM,2.0,%/year,Schaber thesis, from old pypsa cost assumptions -decentral resistive heater,discount rate,0.04,per unit,Palzer thesis, from old pypsa cost assumptions -decentral resistive heater,efficiency,0.9,per unit,Schaber thesis, from old pypsa cost assumptions -decentral resistive heater,investment,100.0,EUR/kWhth,Schaber thesis, from old pypsa cost assumptions -decentral resistive heater,lifetime,20.0,years,Schaber thesis, from old pypsa cost assumptions -decentral solar thermal,FOM,1.3,%/year,HP, from old pypsa cost assumptions -decentral solar thermal,discount rate,0.04,per unit,Palzer thesis, from old pypsa cost assumptions -decentral solar thermal,investment,270000.0,EUR/1000m2,HP, from old pypsa cost assumptions -decentral solar thermal,lifetime,20.0,years,HP, from old pypsa cost assumptions -decentral water tank storage,FOM,1.0,%/year,HP, from old pypsa cost assumptions -decentral water tank storage,discount rate,0.04,per unit,Palzer thesis, from old pypsa cost assumptions -decentral water tank storage,investment,18.38,EUR/kWh,IWES Interaktion, from old pypsa cost assumptions -decentral water tank storage,lifetime,20.0,years,HP, from old pypsa cost assumptions -electricity distribution grid,FOM,2.0,%/year,TODO, from old pypsa cost assumptions -electricity distribution grid,investment,500.0,EUR/kW,TODO, from old pypsa cost assumptions -electricity distribution grid,lifetime,40.0,years,TODO, from old pypsa cost assumptions -electricity grid connection,FOM,2.0,%/year,TODO, from old pypsa cost assumptions -electricity grid connection,investment,140.0,EUR/kW,DEA, from old pypsa cost assumptions -electricity grid connection,lifetime,40.0,years,TODO, from old pypsa cost assumptions -electrolysis,FOM,5.0,%/year,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx",88 Alkaline Electrolyser: Fixed O&M -electrolysis,efficiency,0.66,per unit,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx","88 Alkaline Electrolyser: A) Hydrogen output, at LHV" -electrolysis,investment,550.0,EUR/kW_e,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx",88 Alkaline Electrolyser: Specific investment -electrolysis,lifetime,25.0,years,"Danish Energy Agency, data_sheets_for_renewable_fuels_-_0003.xlsx",88 Alkaline Electrolyser: Technical lifetime -fuel cell,FOM,5.0,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",12 LT-PEMFC CHP: Fixed O&M -fuel cell,c_b,1.25,50oC/100oC,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",12 LT-PEMFC CHP: Cb coefficient -fuel cell,efficiency,0.5,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","12 LT-PEMFC CHP: Electricity efficiency, annual average" -fuel cell,investment,1100.0,EUR/kW_e,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",12 LT-PEMFC CHP: Nominal investment -fuel cell,lifetime,10.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",12 LT-PEMFC CHP: Technical lifetime -gas,CO2 intensity,0.2,tCO2/MWh_th,Entwicklung der spezifischen Kohlendioxid-Emissionen des deutschen Strommix in den Jahren 1990 - 2018, -gas,fuel,20.1,EUR/MWh_th,BP 2019, -gas storage,FOM,3.59,%,Danish Energy Agency,"150 Underground Storage of Gas, Operation and Maintenace, salt cavern (units converted)" -gas storage,investment,0.03,EUR/kWh,Danish Energy Agency,"150 Underground Storage of Gas, Establishment of one cavern (units converted)" -gas storage,lifetime,100.0,years,TODO no source,"estimation: most underground storage are already build, they do have a long lifetime" -gas storage charger,investment,14.34,EUR/kW,Danish Energy Agency,"150 Underground Storage of Gas, Process equipment (units converted)" -gas storage discharger,investment,4.78,EUR/kW,Danish Energy Agency,"150 Underground Storage of Gas, Process equipment (units converted)" -geothermal,CO2 intensity,0.03,tCO2/MWhth,https://www.eia.gov/environment/emissions/co2_vol_mass.php, from old pypsa cost assumptions -geothermal,FOM,2.36,%/year,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -geothermal,efficiency,0.24,per unit,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -geothermal,investment,3392.0,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -geothermal,lifetime,40.0,years,IEA2010, from old pypsa cost assumptions -helmeth,FOM,3.0,%/year,no source, from old pypsa cost assumptions -helmeth,efficiency,0.8,per unit,HELMETH press release, from old pypsa cost assumptions -helmeth,investment,2000.0,EUR/kW,no source, from old pypsa cost assumptions -helmeth,lifetime,25.0,years,no source, from old pypsa cost assumptions -hydro,FOM,1.0,%/year,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -hydro,efficiency,0.9,per unit,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -hydro,investment,2208.16,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -hydro,lifetime,80.0,years,IEA2010, from old pypsa cost assumptions -hydrogen storage tank,FOM,1.11,%/year,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",151a Hydrogen Storage - Tanks: Fixed O&M -hydrogen storage tank,investment,44.91,EUR/kWh,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",151a Hydrogen Storage - Tanks: Specific investment -hydrogen storage tank,lifetime,30.0,years,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",151a Hydrogen Storage - Tanks: Technical lifetime -hydrogen storage underground,FOM,0.0,%/year,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",151c Hydrogen Storage - Caverns: Fixed O&M -hydrogen storage underground,VOM,0.0,EUR/MWh,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",151c Hydrogen Storage - Caverns: Variable O&M -hydrogen storage underground,investment,2.0,EUR/kWh,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",151c Hydrogen Storage - Caverns: Specific investment -hydrogen storage underground,lifetime,100.0,years,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",151c Hydrogen Storage - Caverns: Technical lifetime -industry CCS,FOM,2.0,%/year,Saygin et al 2013 https://doi.org/10.1016/j.ijggc.2013.05.032, from old pypsa cost assumptions -industry CCS,efficiency,0.9,per unit,Saygin et al 2013 https://doi.org/10.1016/j.ijggc.2013.05.032, from old pypsa cost assumptions -industry CCS,investment,300.0,EUR/tCO2/a,Saygin et al 2013 https://doi.org/10.1016/j.ijggc.2013.05.032, from old pypsa cost assumptions -industry CCS,lifetime,25.0,years,Saygin et al 2013 https://doi.org/10.1016/j.ijggc.2013.05.032, from old pypsa cost assumptions -lignite,CO2 intensity,0.41,tCO2/MWh_th,Entwicklung der spezifischen Kohlendioxid-Emissionen des deutschen Strommix in den Jahren 1990 - 2018, -lignite,FOM,1.6,%/year,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -lignite,VOM,3.5,EUR/MWh_e,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -lignite,efficiency,0.33,per unit,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -lignite,fuel,2.9,EUR/MWh_th,DIW, -lignite,investment,3845.51,EUR/kW_e,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -lignite,lifetime,40.0,years,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -methanation,FOM,3.0,%/year,Schaber thesis, from old pypsa cost assumptions -methanation,efficiency,0.8,per unit,Palzer and Schaber thesis, from old pypsa cost assumptions -methanation,investment,1000.0,EUR/kWH2,Schaber thesis, from old pypsa cost assumptions -methanation,lifetime,25.0,years,Schaber thesis, from old pypsa cost assumptions -micro CHP,FOM,6.11,%/year,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",219 LT-PEMFC mCHP - natural gas: Fixed O&M -micro CHP,efficiency,0.35,per unit,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx","219 LT-PEMFC mCHP - natural gas: Electric efficiency, annual average, net" -micro CHP,efficiency-heat,0.61,per unit,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx","219 LT-PEMFC mCHP - natural gas: Heat efficiency, annual average, net" -micro CHP,investment,7410.27,EUR/kW_th,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",219 LT-PEMFC mCHP - natural gas: Specific investment -micro CHP,lifetime,20.0,years,"Danish Energy Agency, technologydatafor_heating_installations_marts_2018.xlsx",219 LT-PEMFC mCHP - natural gas: Technical lifetime -nuclear,FOM,1.4,%/year,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -nuclear,VOM,3.5,EUR/MWh_e,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -nuclear,efficiency,0.33,per unit,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -nuclear,fuel,2.6,EUR/MWh_th,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -nuclear,investment,7940.45,EUR/kW_e,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -nuclear,lifetime,40.0,years,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -offwind,FOM,2.29,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",21 Offshore turbines: Fixed O&M -offwind,VOM,2.67,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",21 Offshore turbines: Variable O&M -offwind,investment,1573.21,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",21 Offshore turbines: Nominal investment grid connection costs substracted from investment costs -offwind,lifetime,30.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",21 Offshore turbines: Technical lifetime -offwind-ac-connection-submarine,investment,2685.0,EUR/MW/km,DEA https://ens.dk/en/our-services/projections-and-models/technology-data, from old pypsa cost assumptions -offwind-ac-connection-underground,investment,1342.0,EUR/MW/km,DEA https://ens.dk/en/our-services/projections-and-models/technology-data, from old pypsa cost assumptions -offwind-ac-station,investment,250.0,EUR/kWel,DEA https://ens.dk/en/our-services/projections-and-models/technology-data, from old pypsa cost assumptions -offwind-dc-connection-submarine,investment,2000.0,EUR/MW/km,DTU report based on Fig 34 of https://ec.europa.eu/energy/sites/ener/files/documents/2014_nsog_report.pdf, from old pypsa cost assumptions -offwind-dc-connection-underground,investment,1000.0,EUR/MW/km,Haertel 2017; average + 13% learning reduction, from old pypsa cost assumptions -offwind-dc-station,investment,400.0,EUR/kWel,Haertel 2017; assuming one onshore and one offshore node + 13% learning reduction, from old pypsa cost assumptions -oil,CO2 intensity,0.27,tCO2/MWh_th,Entwicklung der spezifischen Kohlendioxid-Emissionen des deutschen Strommix in den Jahren 1990 - 2018, -oil,FOM,2.46,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",50 Diesel engine farm: Fixed O&M -oil,VOM,6.0,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",50 Diesel engine farm: Variable O&M -oil,efficiency,0.35,per unit,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","50 Diesel engine farm: Electricity efficiency, annual average" -oil,fuel,50.0,EUR/MWhth,IEA WEM2017 97USD/boe = http://www.iea.org/media/weowebsite/2017/WEM_Documentation_WEO2017.pdf, from old pypsa cost assumptions -oil,investment,343.0,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",50 Diesel engine farm: Specific investment -oil,lifetime,25.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",50 Diesel engine farm: Technical lifetime -onwind,FOM,1.22,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",20 Onshore turbines: Fixed O&M -onwind,VOM,1.35,EUR/MWh,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",20 Onshore turbines: Variable O&M -onwind,investment,1035.56,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",20 Onshore turbines: Nominal investment -onwind,lifetime,30.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",20 Onshore turbines: Technical lifetime -ror,FOM,2.0,%/year,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -ror,efficiency,0.9,per unit,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -ror,investment,3312.24,EUR/kWel,DIW DataDoc http://hdl.handle.net/10419/80348, from old pypsa cost assumptions -ror,lifetime,80.0,years,IEA2010, from old pypsa cost assumptions -solar,FOM,1.46,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",22 Photovoltaics Medium: Fixed O&M -solar,VOM,0.01,EUR/MWhel,RES costs made up to fix curtailment order, from old pypsa cost assumptions -solar,investment,631.69,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx","22 Photovoltaics Medium: Specific investment, total system" -solar,lifetime,35.0,years,"Assuming 50% rooftop, 50% utility",22 Photovoltaics Medium: Technical lifetime of total system -solar-rooftop,FOM,1.24,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",22 Photovoltaics Small: Fixed O&M -solar-rooftop,discount rate,0.04,per unit,standard for decentral, from old pypsa cost assumptions -solar-rooftop,investment,784.31,EUR/kW,European PV Technology and Innovation Platform,"22 Photovoltaics Small: Specific investment, total system" -solar-rooftop,lifetime,30.0,years,European PV Technology and Innovation Platform,22 Photovoltaics Small: Technical lifetime of total system -solar-utility,FOM,1.93,%/year,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",22 Photovoltaics Large: Fixed O&M -solar-utility,investment,376.29,EUR/kW,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",22 Photovoltaics Large: Nominal investment -solar-utility,lifetime,40.0,years,"Danish Energy Agency, technology_data_for_el_and_dh_-_0009.xlsx",22 Photovoltaics Large: Technical lifetime -solid biomass,CO2 intensity,0.3,tCO2/MWh_th,TODO, -solid biomass,fuel,25.2,EUR/MWh_th,Is a 100% renewable European power system feasible by 2050?, -uranium,fuel,2.6,EUR/MWh_th,Lazard s Levelized Cost of Energy Analysis - Version 13.0, -water tank charger,efficiency,0.84,per unit,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: efficiency from sqr(Round trip efficiency) -water tank discharger,efficiency,0.84,per unit,"Danish Energy Agency, technology_data_catalogue_for_energy_storage.xlsx",: efficiency from sqr(Round trip efficiency) diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 572776c3..536a3d50 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -27,6 +27,7 @@ snapshots: enable: prepare_links_p_nom: false retrieve_databundle: true + retrieve_cost_data: true build_cutout: false retrieve_cutout: true build_natura_raster: false From 8a323b726725380e96d385f84c7718b016ea4c13 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 16 Oct 2020 11:38:26 +0200 Subject: [PATCH 004/281] cost: move defaults to config and improve documentation --- config.default.yaml | 13 +++++++++++-- config.tutorial.yaml | 13 +++++++++++-- doc/configtables/costs.csv | 11 ++++++----- doc/configuration.rst | 4 ++-- doc/costs.rst | 17 +++++------------ doc/release_notes.rst | 6 +++++- doc/tutorial.rst | 2 +- scripts/add_electricity.py | 18 ++++++------------ scripts/add_extra_components.py | 4 ++-- scripts/make_summary.py | 5 +++-- scripts/prepare_network.py | 7 ++++--- scripts/simplify_network.py | 7 ++++--- test/config.test1.yaml | 13 +++++++++++-- 13 files changed, 71 insertions(+), 49 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index d0d78730..5635b739 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -171,8 +171,17 @@ load: costs: year: 2030 - discountrate: 0.07 # From a Lion Hirth paper, also reflects average of Noothout et al 2016 - USD2013_to_EUR2013: 0.7532 # [EUR/USD] ECB: https://www.ecb.europa.eu/stats/exchange/eurofxref/html/eurofxref-graph-usd.en.html + version: v0.1.0 + rooftop_share: 0.5 + fill_values: + FOM: 0 + VOM: 0 + efficiency: 1 + fuel: 0 + investment: 0 + lifetime: 25 + "CO2 intensity": 0 + "discount rate": 0.07 marginal_cost: solar: 0.01 onwind: 0.015 diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 1aa589ca..272a757b 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -149,8 +149,17 @@ load: costs: year: 2030 - discountrate: 0.07 # From a Lion Hirth paper, also reflects average of Noothout et al 2016 - USD2013_to_EUR2013: 0.7532 # [EUR/USD] ECB: https://www.ecb.europa.eu/stats/exchange/eurofxref/html/eurofxref-graph-usd.en.html + version: v0.1.0 + rooftop_share: 0.5 + fill_values: + FOM: 0 + VOM: 0 + efficiency: 1 + fuel: 0 + investment: 0 + lifetime: 25 + "CO2 intensity": 0 + "discount rate": 0.07 marginal_cost: solar: 0.01 onwind: 0.015 diff --git a/doc/configtables/costs.csv b/doc/configtables/costs.csv index 383a6423..11f0f3df 100644 --- a/doc/configtables/costs.csv +++ b/doc/configtables/costs.csv @@ -1,8 +1,9 @@ ,Unit,Values,Description -year,--,"YYYY; e.g. '2030'","Year for which to retrieve cost assumptions of ``data/costs.csv``." -discountrate,--,float,"Default discount rate if not specified for a technology in ``data/costs.csv``." -USD2013_to_EUR2013,--,float,"Exchange rate from USD :math:`_{2013}` to EUR :math:`_{2013}` from `ECB `_" -capital_cost,EUR/MW,"Keys should be in the 'technology' column of ``data/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 ``data/costs.csv``." -marginal_cost,EUR/MWh,"Keys should be in the 'technology' column of ``data/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 ``data/costs.csv``." +year,--,"YYYY; e.g. '2030'","Year for which to retrieve cost assumptions of ``resources/costs.csv``." +version,--,"vX.X.X; e.g. 'v0.1.0'","Version of ``technology-data`` repository to use." +rooftop_share,--,float,"Share of rooftop PV when calculating capital cost of solar (joint rooftop and utility-scale PV)." +fill_values,--,float,"Default values if not specified for a technology in ``resources/costs.csv``." +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." -- co2,EUR/t,float,"Exogenous price of carbon-dioxide added to the marginal costs of fossil-fuelled generators according to their carbon intensity. Added through the keyword ``Ep`` in the ``{opts}`` wildcard only in the rule :mod:`prepare_network``." \ No newline at end of file diff --git a/doc/configuration.rst b/doc/configuration.rst index 265943e8..27f6d104 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -240,9 +240,9 @@ Specifies the temporal range to build an energy system model for as arguments to :file: configtables/costs.csv .. note:: - To change cost assumptions in more detail (i.e. other than ``marginal_cost`` and ``capital_cost``), consider modifying cost assumptions directly in ``data/costs.csv`` as this is not yet supported through the config file. + To change cost assumptions in more detail (i.e. other than ``marginal_cost`` and ``capital_cost``), consider modifying cost assumptions directly in ``resources/costs.csv`` as this is not yet supported through the config file. - You can also build multiple different cost databases. Make a renamed copy of ``data/costs.csv`` (e.g. ``data/costs-optimistic.csv``) and set the variable ``COSTS=data/costs-optimistic.csv`` in the ``Snakefile``. + You can also build multiple different cost databases. Make a renamed copy of ``resources/costs.csv`` (e.g. ``data/costs-optimistic.csv``) and set the variable ``COSTS=data/costs-optimistic.csv`` in the ``Snakefile``. .. _solving_cf: diff --git a/doc/costs.rst b/doc/costs.rst index a51acb85..df296341 100644 --- a/doc/costs.rst +++ b/doc/costs.rst @@ -7,7 +7,9 @@ Cost Assumptions ################## -The database of cost assumptions is stored in ``data/costs.csv``. +The database of cost assumptions is retrieved from the repository `PyPSA/technology-data `_ and then saved to``resources/costs.csv``. + +The ``config.yaml` provides options to choose a reference year (``costs: year:``) and use a specific version of the repository ``costs: version:``. It includes cost assumptions for all included technologies for specific years from various sources, namely for @@ -39,15 +41,6 @@ Modifying Cost Assumptions Some cost assumptions (e.g. marginal cost and capital cost) can be directly overwritten in the ``config.yaml`` (cf. Section :ref:`costs_cf` in :ref:`config`). -To change cost assumptions in more detail, modify cost assumptions directly in ``data/costs.csv`` as this is not yet supported through the config file. +To change cost assumptions in more detail, modify cost assumptions directly in ``resources/costs.csv`` as this is not yet supported through the config file. -You can also build multiple different cost databases. Make a renamed copy of ``data/costs.csv`` (e.g. ``data/costs-optimistic.csv``) and set the variable ``COSTS=data/costs-optimistic.csv`` in the ``Snakefile``. - - -Default Cost Assumptions -======================== - -.. csv-table:: - :header-rows: 1 - :widths: 10,3,5,4,6,8 - :file: ../data/costs.csv \ No newline at end of file +You can also build multiple different cost databases. Make a renamed copy of ``resources/costs.csv`` (e.g. ``data/costs-optimistic.csv``) and set the variable ``COSTS=data/costs-optimistic.csv`` in the ``Snakefile``. diff --git a/doc/release_notes.rst b/doc/release_notes.rst index b5855691..9b79ebab 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -21,7 +21,11 @@ Upcoming Release * Added Google Cloud Platform tutorial (for Windows users). -* Corrected setting of exogenous emission price (in config -> cost -> emission price). This was not weighted by the efficiency and effective emission of the generators. Fixed in `#171 `_. +* Corrected setting of exogenous emission price (in ``cost: emission price:``). This was not weighted by the efficiency and effective emission of the generators (`#171 `_). + +* Techno-economic parameters of technologies (e.g. costs and efficiencies) will now be retrieved from a separate repository `PyPSA/technology-data `_ + that collects assumptions from a variety of sources. It is activated by default with ``enable: retrieve_cost_data: true`` and controlled with ``costs: year:`` and ``costs: version:``. + The location of this data changed from ``data/costs.csv`` to ``resources/costs.csv`` (`#184 `_). PyPSA-Eur 0.2.0 (8th June 2020) diff --git a/doc/tutorial.rst b/doc/tutorial.rst index eca7dd05..abc58be8 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -218,7 +218,7 @@ A job (here ``simplify_network``) will display its attributes and normally some [] rule simplify_network: - input: networks/elec.nc, data/costs.csv, resources/regions_onshore.geojson, resources/regions_offshore.geojson + input: networks/elec.nc, resources/costs.csv, resources/regions_onshore.geojson, resources/regions_offshore.geojson output: networks/elec_s.nc, resources/regions_onshore_elec_s.geojson, resources/regions_offshore_elec_s.geojson, resources/clustermaps_elec_s.h5 jobid: 3 benchmark: benchmarks/simplify_network/elec_s diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 60c1060c..e0e763b4 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -13,7 +13,7 @@ Relevant Settings costs: year: - USD2013_to_EUR2013: + version: dicountrate: emission_prices: @@ -46,7 +46,7 @@ Relevant Settings Inputs ------ -- ``data/costs.csv``: The database of cost assumptions for all included technologies for specific years from various sources; e.g. discount rate, lifetime, investment (CAPEX), fixed operation and maintenance (FOM), variable operation and maintenance (VOM), fuel costs, efficiency, carbon-dioxide intensity. +- ``resources/costs.csv``: The database of cost assumptions for all included technologies for specific years from various sources; e.g. discount rate, lifetime, investment (CAPEX), fixed operation and maintenance (FOM), variable operation and maintenance (VOM), fuel costs, efficiency, carbon-dioxide intensity. - ``data/bundle/hydro_capacities.csv``: Hydropower plant store/discharge power capacities, energy storage capacity, and average hourly inflow by country. .. image:: ../img/hydrocapacities.png @@ -145,15 +145,9 @@ def load_costs(Nyears=1., tech_costs=None, config=None, elec_config=None): # correct units to MW costs.loc[costs.unit.str.contains("/kW"),"value"] *= 1e3 + costs.unit = costs.unit.str.replace("/kW", "/MW") - fill_values = {"CO2 intensity" : 0, - "FOM" : 0, - "VOM" : 0, - "discount rate" : config['discountrate'], - "efficiency" : 1, - "fuel" : 0, - "investment" : 0, - "lifetime" : 25} + fill_values = config["fill_values"] costs = costs.value.unstack().fillna(fill_values) costs["capital_cost"] = ((annuity(costs["lifetime"], costs["discount rate"]) + @@ -170,8 +164,8 @@ def load_costs(Nyears=1., tech_costs=None, config=None, elec_config=None): costs.at['OCGT', 'co2_emissions'] = costs.at['gas', 'co2_emissions'] costs.at['CCGT', 'co2_emissions'] = costs.at['gas', 'co2_emissions'] - costs.at['solar', 'capital_cost'] = 0.5*(costs.at['solar-rooftop', 'capital_cost'] + - costs.at['solar-utility', 'capital_cost']) + costs.at['solar', 'capital_cost'] = config["rooftop_share"] * costs.at['solar-rooftop', 'capital_cost'] + \ + (1-config["rooftop_share"]) * costs.at['solar-utility', 'capital_cost'] def costs_for_storage(store, link1, link2=None, max_hours=1.): capital_cost = link1['capital_cost'] + max_hours * store['capital_cost'] diff --git a/scripts/add_extra_components.py b/scripts/add_extra_components.py index 219c082d..13796366 100644 --- a/scripts/add_extra_components.py +++ b/scripts/add_extra_components.py @@ -13,7 +13,7 @@ Relevant Settings costs: year: - USD2013_to_EUR2013: + version: dicountrate: emission_prices: @@ -32,7 +32,7 @@ Relevant Settings Inputs ------ -- ``data/costs.csv``: The database of cost assumptions for all included technologies for specific years from various sources; e.g. discount rate, lifetime, investment (CAPEX), fixed operation and maintenance (FOM), variable operation and maintenance (VOM), fuel costs, efficiency, carbon-dioxide intensity. +- ``resources/costs.csv``: The database of cost assumptions for all included technologies for specific years from various sources; e.g. discount rate, lifetime, investment (CAPEX), fixed operation and maintenance (FOM), variable operation and maintenance (VOM), fuel costs, efficiency, carbon-dioxide intensity. Outputs ------- diff --git a/scripts/make_summary.py b/scripts/make_summary.py index db9eff46..74fd0936 100644 --- a/scripts/make_summary.py +++ b/scripts/make_summary.py @@ -11,8 +11,9 @@ Relevant Settings .. code:: yaml costs: - USD2013_to_EUR2013: - discountrate: + year: + version: + fill_values: marginal_cost: capital_cost: diff --git a/scripts/prepare_network.py b/scripts/prepare_network.py index 67d134f4..60ae0f71 100755 --- a/scripts/prepare_network.py +++ b/scripts/prepare_network.py @@ -19,9 +19,10 @@ Relevant Settings .. code:: yaml costs: + year: + version: + fill_values: emission_prices: - USD2013_to_EUR2013: - discountrate: marginal_cost: capital_cost: @@ -36,7 +37,7 @@ Relevant Settings Inputs ------ -- ``data/costs.csv``: The database of cost assumptions for all included technologies for specific years from various sources; e.g. discount rate, lifetime, investment (CAPEX), fixed operation and maintenance (FOM), variable operation and maintenance (VOM), fuel costs, efficiency, carbon-dioxide intensity. +- ``resources/costs.csv``: The database of cost assumptions for all included technologies for specific years from various sources; e.g. discount rate, lifetime, investment (CAPEX), fixed operation and maintenance (FOM), variable operation and maintenance (VOM), fuel costs, efficiency, carbon-dioxide intensity. - ``networks/{network}_s{simpl}_{clusters}.nc``: confer :ref:`cluster` Outputs diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 74ba0a7e..26f3f80b 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -14,8 +14,9 @@ Relevant Settings .. code:: yaml costs: - USD2013_to_EUR2013: - discountrate: + year: + version: + fill_values: marginal_cost: capital_cost: @@ -44,7 +45,7 @@ Relevant Settings Inputs ------ -- ``data/costs.csv``: The database of cost assumptions for all included technologies for specific years from various sources; e.g. discount rate, lifetime, investment (CAPEX), fixed operation and maintenance (FOM), variable operation and maintenance (VOM), fuel costs, efficiency, carbon-dioxide intensity. +- ``resources/costs.csv``: The database of cost assumptions for all included technologies for specific years from various sources; e.g. discount rate, lifetime, investment (CAPEX), fixed operation and maintenance (FOM), variable operation and maintenance (VOM), fuel costs, efficiency, carbon-dioxide intensity. - ``resources/regions_onshore.geojson``: confer :ref:`busregions` - ``resources/regions_offshore.geojson``: confer :ref:`busregions` - ``networks/{network}.nc``: confer :ref:`electricity` diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 536a3d50..8de2c707 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -149,8 +149,17 @@ load: costs: year: 2030 - discountrate: 0.07 # From a Lion Hirth paper, also reflects average of Noothout et al 2016 - USD2013_to_EUR2013: 0.7532 # [EUR/USD] ECB: https://www.ecb.europa.eu/stats/exchange/eurofxref/html/eurofxref-graph-usd.en.html + version: v0.1.0 + rooftop_share: 0.5 + fill_values: + FOM: 0 + VOM: 0 + efficiency: 1 + fuel: 0 + investment: 0 + lifetime: 25 + "CO2 intensity": 0 + "discount rate": 0.07 marginal_cost: solar: 0.01 onwind: 0.015 From 4f7f2fa67a0be7868cede4d9fe8c1d856ec7632d Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 16 Oct 2020 14:47:13 +0200 Subject: [PATCH 005/281] extra_components: specify hydrogen storage *tank* --- scripts/add_extra_components.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/add_extra_components.py b/scripts/add_extra_components.py index 13796366..c759c9e5 100644 --- a/scripts/add_extra_components.py +++ b/scripts/add_extra_components.py @@ -99,7 +99,7 @@ def attach_stores(n, costs): carrier='H2', e_nom_extendable=True, e_cyclic=True, - capital_cost=costs.at["hydrogen storage", "capital_cost"]) + capital_cost=costs.at["hydrogen storage tank", "capital_cost"]) n.madd("Link", h2_buses_i + " Electrolysis", bus0=buses_i, From 175b14e24815e2b6b348d402ebc9c27c4f695633 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 27 Apr 2021 14:49:27 +0200 Subject: [PATCH 006/281] merge master follow-up --- doc/costs.rst | 7 ------- 1 file changed, 7 deletions(-) diff --git a/doc/costs.rst b/doc/costs.rst index 68ebc12e..f56e40d3 100644 --- a/doc/costs.rst +++ b/doc/costs.rst @@ -43,11 +43,4 @@ Some cost assumptions (e.g. marginal cost and capital cost) can be directly over To change cost assumptions in more detail, modify cost assumptions directly in ``resources/costs.csv`` as this is not yet supported through the config file. -<<<<<<< HEAD You can also build multiple different cost databases. Make a renamed copy of ``resources/costs.csv`` (e.g. ``data/costs-optimistic.csv``) and set the variable ``COSTS=data/costs-optimistic.csv`` in the ``Snakefile``. -======= -.. csv-table:: - :header-rows: 1 - :widths: 10,3,5,4,6,8 - :file: ../data/costs.csv ->>>>>>> master From e8897cdb4cbb94e72f6cd5aa43dced34ef381e6c Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 27 Apr 2021 14:54:54 +0200 Subject: [PATCH 007/281] http remote to retrieve technology-data --- Snakefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Snakefile b/Snakefile index 8443b8e7..10cc21ee 100644 --- a/Snakefile +++ b/Snakefile @@ -5,6 +5,9 @@ from os.path import normpath, exists from shutil import copyfile +from snakemake.remote.HTTP import RemoteProvider as HTTPRemoteProvider +HTTP = HTTPRemoteProvider() + if not exists("config.yaml"): copyfile("config.default.yaml", "config.yaml") @@ -172,8 +175,9 @@ if config['enable'].get('retrieve_cost_data', True): params: year = config['costs']['year'], version = config['costs']['version'], + input: HTTP.remote("raw.githubusercontent.com/PyPSA/technology-data/{params.version}/outputs/costs_{params.year}.csv", keep_local=True) output: COSTS - shell: 'curl https://raw.githubusercontent.com/PyPSA/technology-data/{params.version}/outputs/costs_{params.year}.csv -o {output}' + shell: 'mv {input} {output}' rule build_renewable_profiles: input: From 5bfc7a49a6cf4ed9937d37405d4d168e80ee2a77 Mon Sep 17 00:00:00 2001 From: lisazeyen Date: Mon, 10 May 2021 16:55:19 +0200 Subject: [PATCH 008/281] adjust battery efficiency. The efficiency in the technology data is given as round trip efficiency --- scripts/add_extra_components.py | 37 ++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/scripts/add_extra_components.py b/scripts/add_extra_components.py index 74c0713a..1fb76d78 100644 --- a/scripts/add_extra_components.py +++ b/scripts/add_extra_components.py @@ -77,16 +77,28 @@ def attach_storageunits(n, costs): lookup_dispatch = {"H2": "fuel cell", "battery": "battery inverter"} for carrier in carriers: - n.madd("StorageUnit", buses_i, ' ' + carrier, - bus=buses_i, - carrier=carrier, - p_nom_extendable=True, - capital_cost=costs.at[carrier, 'capital_cost'], - marginal_cost=costs.at[carrier, 'marginal_cost'], - efficiency_store=costs.at[lookup_store[carrier], 'efficiency'], - efficiency_dispatch=costs.at[lookup_dispatch[carrier], 'efficiency'], - max_hours=max_hours[carrier], - cyclic_state_of_charge=True) + if carrier=="battery": + n.madd("StorageUnit", buses_i, ' ' + carrier, + bus=buses_i, + carrier=carrier, + p_nom_extendable=True, + capital_cost=costs.at[carrier, 'capital_cost'], + marginal_cost=costs.at[carrier, 'marginal_cost'], + efficiency_store=costs.at[lookup_store[carrier], 'efficiency']**0.5, + efficiency_dispatch=costs.at[lookup_dispatch[carrier], 'efficiency']**0.5, + max_hours=max_hours[carrier], + cyclic_state_of_charge=True) + else: + n.madd("StorageUnit", buses_i, ' ' + carrier, + bus=buses_i, + carrier=carrier, + p_nom_extendable=True, + capital_cost=costs.at[carrier, 'capital_cost'], + marginal_cost=costs.at[carrier, 'marginal_cost'], + efficiency_store=costs.at[lookup_store[carrier], 'efficiency'], + efficiency_dispatch=costs.at[lookup_dispatch[carrier], 'efficiency'], + max_hours=max_hours[carrier], + cyclic_state_of_charge=True) def attach_stores(n, costs): @@ -142,7 +154,8 @@ def attach_stores(n, costs): bus0=buses_i, bus1=b_buses_i, carrier='battery charger', - efficiency=costs.at['battery inverter', 'efficiency'], + # the efficiencies are "round trip efficiencies" + efficiency=costs.at['battery inverter', 'efficiency']**0.5, capital_cost=costs.at['battery inverter', 'capital_cost'], p_nom_extendable=True, marginal_cost=costs.at["battery inverter", "marginal_cost"]) @@ -151,7 +164,7 @@ def attach_stores(n, costs): bus0=b_buses_i, bus1=buses_i, carrier='battery discharger', - efficiency=costs.at['battery inverter','efficiency'], + efficiency=costs.at['battery inverter','efficiency']**0.5, p_nom_extendable=True, marginal_cost=costs.at["battery inverter", "marginal_cost"]) From 171db80e3809bab69990989658c05b267046f8a4 Mon Sep 17 00:00:00 2001 From: lisazeyen Date: Mon, 10 May 2021 16:58:53 +0200 Subject: [PATCH 009/281] reduce default solar rooftop shareto 14%, based on the ratio of solar potential rooftop / utility scale --- config.default.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index f3289258..7885e9f7 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -64,27 +64,27 @@ atlite: nprocesses: 4 cutouts: # use 'base' to determine geographical bounds and time span from config - # base: - # module: era5 + # base: + # module: era5 europe-2013-era5: - module: era5 # in priority order + module: era5 # in priority order x: [-12., 35.] y: [33., 72] dx: 0.3 dy: 0.3 time: ['2013', '2013'] europe-2013-sarah: - module: [sarah, era5] # in priority order + module: [sarah, era5] # in priority order x: [-12., 45.] y: [33., 65] dx: 0.2 dy: 0.2 time: ['2013', '2013'] sarah_interpolate: false - sarah_dir: + sarah_dir: features: [influx, temperature] - + renewable: onwind: cutout: europe-2013-era5 @@ -180,16 +180,16 @@ transformers: load: url: https://data.open-power-system-data.org/time_series/2019-06-05/time_series_60min_singleindex.csv - power_statistics: True # only for files from <2019; set false in order to get ENTSOE transparency data + power_statistics: True # only for files from <2019; set false in order to get ENTSOE transparency data interpolate_limit: 3 # data gaps up until this size are interpolated linearly - time_shift_for_large_gaps: 1w # data gaps up until this size are copied by copying from + time_shift_for_large_gaps: 1w # data gaps up until this size are copied by copying from manual_adjustments: true # false scaling_factor: 1.0 costs: year: 2030 version: v0.1.0 - rooftop_share: 0.5 + rooftop_share: 0.14 # based on the potentials, assuming (0.1 kW/m2 and 10 m2/person) fill_values: FOM: 0 VOM: 0 From 299e71e2b3eacf53f796db3c9e965034bbb25d16 Mon Sep 17 00:00:00 2001 From: martacki Date: Wed, 17 Nov 2021 13:46:33 +0100 Subject: [PATCH 010/281] introduce hierarchical agglomeratice clustering (hac) --- config.default.yaml | 9 +++-- config.tutorial.yaml | 9 +++-- doc/configtables/clustering.csv | 9 +++-- envs/environment.yaml | 2 +- scripts/cluster_network.py | 63 +++++++++++++++++++++++++++++---- scripts/simplify_network.py | 10 ++++-- test/config.test1.yaml | 9 +++-- 7 files changed, 93 insertions(+), 18 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index f70e7c2c..631645b9 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -20,8 +20,13 @@ scenario: countries: ['AL', 'AT', 'BA', 'BE', 'BG', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'ME', 'MK', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'SE', 'SI', 'SK'] clustering: - simplify: - to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) + simplify_network: + to_substations: true # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) + algorithm: hac + feature: solar+onwind-time + cluster_network: + algorithm: hac # choose from: [hac, kmeans] + feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. snapshots: start: "2013-01-01" diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 26ead242..919da193 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -20,8 +20,13 @@ scenario: countries: ['DE'] clustering: - simplify: - to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) + simplify_network: + to_substations: true # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) + algorithm: hac + feature: solar+onwind-time + cluster_network: + algorithm: hac # choose from: [hac, kmeans] + feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. snapshots: start: "2013-03-01" diff --git a/doc/configtables/clustering.csv b/doc/configtables/clustering.csv index 2f63f955..e488dd39 100644 --- a/doc/configtables/clustering.csv +++ b/doc/configtables/clustering.csv @@ -1,3 +1,8 @@ ,Unit,Values,Description -simplify,,, --- to_substations,bool,"{'true','false'}","Aggregates all nodes without power injection (positive or negative, i.e. demand or generation) to electrically closest ones" +simplify_network,,, +-- to_substations,bool,"One of {'true','false'}","Aggregates all nodes without power injection (positive or negative, i.e. demand or generation) to electrically closest ones" +-- algorithm,str,"One of {‘kmenas’, ‘hac’}", +-- feature,str,"Str in the format ‘carrier1+carrier2+...+carrierN-X’, where CarrierI can be from {‘solar’, ‘onwind’, ‘offwind’, ‘ror’} and X is one of {‘cap’, ‘time’}.", +cluster_network,,, +-- algorithm,str,"One of {‘kmenas’, ‘hac’}", +-- feature,str,"Str in the format ‘carrier1+carrier2+...+carrierN-X’, where CarrierI can be from {‘solar’, ‘onwind’, ‘offwind’, ‘ror’} and X is one of {‘cap’, ‘time’}.", diff --git a/envs/environment.yaml b/envs/environment.yaml index 29d743ac..5f6a8310 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -12,7 +12,6 @@ dependencies: - pip - mamba # esp for windows build - - pypsa>=0.18 - atlite>=0.2.5 - dask<=2021.3.1 # until https://github.com/dask/dask/issues/7583 is solved @@ -56,5 +55,6 @@ dependencies: - tabula-py - pip: + - git+https://github.com/pypsa/pypsa.git#egg=pypsa - vresutils==0.3.1 - tsam>=1.1.0 diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 980b73b0..7aae3ae6 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -138,7 +138,7 @@ import seaborn as sns from functools import reduce from pypsa.networkclustering import (busmap_by_kmeans, busmap_by_spectral_clustering, - _make_consense, get_clustering_from_busmap) + busmap_by_hac, _make_consense, get_clustering_from_busmap) from add_electricity import load_costs @@ -170,6 +170,45 @@ def weighting_for_country(n, x): return (w * (100. / w.max())).clip(lower=1.).astype(int) +def get_feature_for_hac(n, buses_i, feature=None): #buses_i = n.buses.index + + if feature is None: + feature = "solar+onwind-time" + + carriers = feature.split('-')[0].split('+') + if "offwind" in carriers: + carriers.remove("offwind") + carriers = np.append(carriers, network.generators.carrier.filter(like='offwind').unique()) + + if feature.split('-')[1] == 'cap': + feature_data = pd.DataFrame(index=buses_i, columns=carriers) + for carrier in carriers: + try: + feature_data[carrier] = (n.generators_t.p_max_pu.filter(like=carrier).mean() + .rename(index=lambda x: x.split(' ')[0])) + except: + feature_data[carrier] = (n.generators_t.p_max_pu.filter(like=carrier).mean() + .rename(index=lambda x: x.split(' ')[0] + ' ' + x.split(' ')[1])) + + if feature.split('-')[1] == 'time': + feature_data = pd.DataFrame(columns=buses_i) + for carrier in carriers: + try: + # without simpl wildcard (bus names are "X X"): + feature_data = feature_data.append(n.generators_t.p_max_pu.filter(like=carrier) + .rename(columns=lambda x: x.split(' ')[0]))[buses_i] + except: + # with simpl wildcard (bus names are "X X X"): + feature_data = feature_data.append(n.generators_t.p_max_pu.filter(like=carrier) + .rename(columns=lambda x: x.split(' ')[0] + ' ' + x.split(' ')[1]))[buses_i] + feature_data = feature_data.T + feature_data.columns = feature_data.columns.astype(str) # Timestamp will raise error in sklearn>=v1.2 + + feature_data = feature_data.fillna(0) + + return feature_data + + def distribute_clusters(n, n_clusters, focus_weights=None, solver_name=None): """Determine the number of clusters per country""" @@ -221,12 +260,18 @@ def distribute_clusters(n, n_clusters, focus_weights=None, solver_name=None): return pd.Series(m.n.get_values(), index=L.index).astype(int) -def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algorithm="kmeans", **algorithm_kwds): +def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algorithm="kmeans", feature=None, **algorithm_kwds): if algorithm == "kmeans": algorithm_kwds.setdefault('n_init', 1000) algorithm_kwds.setdefault('max_iter', 30000) algorithm_kwds.setdefault('tol', 1e-6) + if algorithm == "hac": + feature = get_feature_for_hac(n, buses_i=n.buses.index, feature=feature) + elif feature is not None: + logger.info(f"keyword argument feature is only valid for algorithm 'hac'." + f"given feature {feature} will be ignored.") + n.determine_network_topology() n_clusters = distribute_clusters(n, n_clusters, focus_weights=focus_weights, solver_name=solver_name) @@ -250,8 +295,10 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori return prefix + busmap_by_spectral_clustering(reduce_network(n, x), n_clusters[x.name], **algorithm_kwds) elif algorithm == "louvain": return prefix + busmap_by_louvain(reduce_network(n, x), n_clusters[x.name], **algorithm_kwds) + elif algorithm == "hac": + return prefix + busmap_by_hac(n, n_clusters[x.name], buses_i=x.index, feature=feature.loc[x.index]) else: - raise ValueError(f"`algorithm` must be one of 'kmeans', 'spectral' or 'louvain'. Is {algorithm}.") + raise ValueError(f"`algorithm` must be one of 'kmeans', 'hac', 'spectral' or 'louvain'. Is {algorithm}.") return (n.buses.groupby(['country', 'sub_network'], group_keys=False) .apply(busmap_for_country).squeeze().rename('busmap')) @@ -259,7 +306,9 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori def clustering_for_n_clusters(n, n_clusters, custom_busmap=False, aggregate_carriers=None, line_length_factor=1.25, potential_mode='simple', solver_name="cbc", - algorithm="kmeans", extended_link_costs=0, focus_weights=None): + algorithm="kmeans", feature=None, extended_link_costs=0, focus_weights=None): + + logger.info(f"Clustering network using algorithm {algorithm} and feature {feature}...") if potential_mode == 'simple': p_nom_max_strategy = np.sum @@ -273,7 +322,7 @@ def clustering_for_n_clusters(n, n_clusters, custom_busmap=False, aggregate_carr busmap.index = busmap.index.astype(str) logger.info(f"Imported custom busmap from {snakemake.input.custom_busmap}") else: - busmap = busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights, algorithm) + busmap = busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights, algorithm, feature) clustering = get_clustering_from_busmap( n, busmap, @@ -313,7 +362,7 @@ def cluster_regions(busmaps, input=None, output=None): for which in ('regions_onshore', 'regions_offshore'): regions = gpd.read_file(getattr(input, which)).set_index('name') - geom_c = regions.geometry.groupby(busmap).apply(shapely.ops.cascaded_union) + geom_c = regions.geometry.groupby(busmap).apply(shapely.ops.unary_union) regions_c = gpd.GeoDataFrame(dict(geometry=geom_c)) regions_c.index.name = 'name' save_to_geojson(regions_c, getattr(output, which)) @@ -377,6 +426,8 @@ if __name__ == "__main__": line_length_factor=line_length_factor, potential_mode=potential_mode, solver_name=snakemake.config['solving']['solver']['name'], + algorithm=snakemake.config.get('clustering', {}).get('cluster_network', {}).get('algorithm', 'kmeans'), + feature=snakemake.config.get('clustering', {}).get('cluster_network', {}).get('feature', None), extended_link_costs=hvac_overhead_cost, focus_weights=focus_weights) diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 85bc4d15..8a93952c 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -360,7 +360,7 @@ def aggregate_to_substations(n, buses_i=None): return clustering.network, busmap -def cluster(n, n_clusters): +def cluster(n, n_clusters, algorithm="kmeans", feature=None): logger.info(f"Clustering to {n_clusters} buses") focus_weights = snakemake.config.get('focus_weights', None) @@ -377,8 +377,10 @@ def cluster(n, n_clusters): potential_mode = (consense(pd.Series([snakemake.config['renewable'][tech]['potential'] for tech in renewable_carriers])) if len(renewable_carriers) > 0 else 'conservative') + clustering = clustering_for_n_clusters(n, n_clusters, custom_busmap=False, potential_mode=potential_mode, solver_name=snakemake.config['solving']['solver']['name'], + algorithm=algorithm, feature=feature, focus_weights=focus_weights) return clustering.network, clustering.busmap @@ -400,12 +402,14 @@ if __name__ == "__main__": busmaps = [trafo_map, simplify_links_map, stub_map] - if snakemake.config.get('clustering', {}).get('simplify', {}).get('to_substations', False): + if snakemake.config.get('clustering', {}).get('simplify_network', {}).get('to_substations', False): n, substation_map = aggregate_to_substations(n) busmaps.append(substation_map) if snakemake.wildcards.simpl: - n, cluster_map = cluster(n, int(snakemake.wildcards.simpl)) + n, cluster_map = cluster(n, int(snakemake.wildcards.simpl), + algorithm=snakemake.config.get('clustering', {}).get('simplify_network', {}).get('algorithm', 'hac'), + feature=snakemake.config.get('clustering', {}).get('simplify_network', {}).get('feature', None)) busmaps.append(cluster_map) # some entries in n.buses are not updated in previous functions, therefore can be wrong. as they are not needed diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 2986037b..0c34ea13 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -19,8 +19,13 @@ scenario: countries: ['DE'] clustering: - simplify: - to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) + simplify_network: + to_substations: true # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) + algorithm: hac + feature: solar+onwind-time + cluster_network: + algorithm: hac # choose from: [hac, kmeans] + feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. snapshots: start: "2013-03-01" From 6c4ea69e9563c257961e10f3e8d37b85d0cff7cf Mon Sep 17 00:00:00 2001 From: martacki Date: Fri, 10 Dec 2021 17:53:40 +0100 Subject: [PATCH 011/281] clustering: own config for clustering settings --- scripts/cluster_network.py | 14 +++++++++----- scripts/simplify_network.py | 5 +++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 7aae3ae6..415d3820 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -170,7 +170,10 @@ def weighting_for_country(n, x): return (w * (100. / w.max())).clip(lower=1.).astype(int) -def get_feature_for_hac(n, buses_i, feature=None): #buses_i = n.buses.index +def get_feature_for_hac(n, buses_i=None, feature=None): + + if buses_i is None: + buses_i = n.buses.index if feature is None: feature = "solar+onwind-time" @@ -269,8 +272,8 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori if algorithm == "hac": feature = get_feature_for_hac(n, buses_i=n.buses.index, feature=feature) elif feature is not None: - logger.info(f"keyword argument feature is only valid for algorithm 'hac'." - f"given feature {feature} will be ignored.") + logger.warning(f"Keyword argument feature is only valid for algorithm 'hac'." + f"given feature {feature} will be ignored.") n.determine_network_topology() @@ -422,12 +425,13 @@ if __name__ == "__main__": potential_mode = consense(pd.Series([snakemake.config['renewable'][tech]['potential'] for tech in renewable_carriers])) custom_busmap = snakemake.config["enable"].get("custom_busmap", False) + cluster_config = snakemake.config.get('clustering', {}).get('cluster_network', {}) clustering = clustering_for_n_clusters(n, n_clusters, custom_busmap, aggregate_carriers, line_length_factor=line_length_factor, potential_mode=potential_mode, solver_name=snakemake.config['solving']['solver']['name'], - algorithm=snakemake.config.get('clustering', {}).get('cluster_network', {}).get('algorithm', 'kmeans'), - feature=snakemake.config.get('clustering', {}).get('cluster_network', {}).get('feature', None), + algorithm=cluster_config.get('algorithm', 'kmeans'), + feature=cluster_config.get('feature', None), extended_link_costs=hvac_overhead_cost, focus_weights=focus_weights) diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 8a93952c..9464c3f7 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -407,9 +407,10 @@ if __name__ == "__main__": busmaps.append(substation_map) if snakemake.wildcards.simpl: + cluster_config = snakemake.config.get('clustering', {}).get('simplify_network', {}) n, cluster_map = cluster(n, int(snakemake.wildcards.simpl), - algorithm=snakemake.config.get('clustering', {}).get('simplify_network', {}).get('algorithm', 'hac'), - feature=snakemake.config.get('clustering', {}).get('simplify_network', {}).get('feature', None)) + algorithm=cluster_config.get('algorithm', 'hac'), + feature=cluster_config.get('feature', None)) busmaps.append(cluster_map) # some entries in n.buses are not updated in previous functions, therefore can be wrong. as they are not needed From 256ac48b470470571d0b5751319e8f441ce39e0c Mon Sep 17 00:00:00 2001 From: martacki Date: Fri, 4 Feb 2022 16:45:00 +0100 Subject: [PATCH 012/281] resolve merging master bugs --- scripts/cluster_network.py | 13 +++++++++---- scripts/simplify_network.py | 6 +++--- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index d4b3b139..1c55234c 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -190,9 +190,11 @@ def get_feature_for_hac(n, buses_i=None, feature=None): feature_data = pd.DataFrame(index=buses_i, columns=carriers) for carrier in carriers: try: + # without simpl wildcard (bus names are "X X"): feature_data[carrier] = (n.generators_t.p_max_pu.filter(like=carrier).mean() .rename(index=lambda x: x.split(' ')[0])) except: + # with simpl wildcard (bus names are "X X X"): feature_data[carrier] = (n.generators_t.p_max_pu.filter(like=carrier).mean() .rename(index=lambda x: x.split(' ')[0] + ' ' + x.split(' ')[1])) @@ -208,7 +210,7 @@ def get_feature_for_hac(n, buses_i=None, feature=None): feature_data = feature_data.append(n.generators_t.p_max_pu.filter(like=carrier) .rename(columns=lambda x: x.split(' ')[0] + ' ' + x.split(' ')[1]))[buses_i] feature_data = feature_data.T - feature_data.columns = feature_data.columns.astype(str) # Timestamp will raise error in sklearn>=v1.2 + feature_data.columns = feature_data.columns.astype(str) # timestamp raises error in sklearn>=v1.2 feature_data = feature_data.fillna(0) @@ -309,9 +311,9 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori def clustering_for_n_clusters(n, n_clusters, custom_busmap=False, aggregate_carriers=None, line_length_factor=1.25, potential_mode='simple', solver_name="cbc", - algorithm="kmeans", feature=None, extended_link_costs=0, focus_weights=None): + algorithm="hac", feature=None, extended_link_costs=0, focus_weights=None): - logger.info(f"Clustering network using algorithm {algorithm} and feature {feature}...") + logger.info(f"Clustering network using algorithm ``{algorithm}`` and feature ``{feature}``...") if potential_mode == 'simple': p_nom_max_strategy = np.sum @@ -424,10 +426,13 @@ if __name__ == "__main__": custom_busmap.index = custom_busmap.index.astype(str) logger.info(f"Imported custom busmap from {snakemake.input.custom_busmap}") + cluster_config = snakemake.config.get('clustering', {}).get('cluster_network', {}) clustering = clustering_for_n_clusters(n, n_clusters, custom_busmap, aggregate_carriers, line_length_factor, potential_mode, snakemake.config['solving']['solver']['name'], - "kmeans", hvac_overhead_cost, focus_weights) + cluster_config.get("algorithm", "hac"), + cluster_config.get("feature", "solar+onwind-time"), + hvac_overhead_cost, focus_weights) update_p_nom_max(n) diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 0e9dd385..23facc79 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -353,11 +353,10 @@ def aggregate_to_substations(n, buses_i=None): line_length_factor=1.0, generator_strategies={'p_nom_max': 'sum'}, scale_link_capital_costs=False) - return clustering.network, busmap -def cluster(n, n_clusters, config, algorithm="kmeans", feature=None): +def cluster(n, n_clusters, config, algorithm="hac", feature=None): logger.info(f"Clustering to {n_clusters} buses") focus_weights = config.get('focus_weights', None) @@ -403,7 +402,8 @@ if __name__ == "__main__": busmaps = [trafo_map, simplify_links_map, stub_map] - if snakemake.config.get('clustering', {}).get('simplify_network', {}).get('to_substations', False): + cluster_config = snakemake.config.get('clustering', {}).get('simplify_network', {}) + if cluster_config.get('to_substations', False): n, substation_map = aggregate_to_substations(n) busmaps.append(substation_map) From b5dbf4eb3240222e3a3145bbf87b3d66a63d7169 Mon Sep 17 00:00:00 2001 From: martacki Date: Fri, 4 Feb 2022 17:19:23 +0100 Subject: [PATCH 013/281] overwrite country of isolated buses --- scripts/cluster_network.py | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 1c55234c..bd49556f 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -271,11 +271,36 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori algorithm_kwds.setdefault('max_iter', 30000) algorithm_kwds.setdefault('tol', 1e-6) + def fix_country_assignment_for_hac(n): + # overwrite country of nodes that are disconnected from their country-topology + for country in n.buses.country.unique(): + m = n.copy() + m.buses = m.buses.query("country in @country") + m.lines = m.lines.query("bus0 in @m.buses.index and bus1 in @m.buses.index") + m.links = m.links.query("bus0 in @m.buses.index and bus1 in @m.buses.index") + + _, labels = csgraph.connected_components(m.adjacency_matrix(), directed=False) + component = pd.Series(labels, index=m.buses.index) + component_sizes = component.value_counts() + + if len(component_sizes)>1: + disconnected_bus = component[component==component_sizes[component_sizes==component_sizes.min()].index[0]].index + neighbor_bus = n.lines.query("bus0 in @disconnected_bus or bus1 in @disconnected_bus").iloc[0][['bus0','bus1']] + new_country = list(set(n.buses.loc[neighbor_bus].country)-set([country]))[0] + + logger.info(f"overwriting country ``{country}`` of bus ``{disconnected_bus}`` to new country ``{new_country}``, " + "because it is disconnected from its inital inter-country transmission grid.") + n.buses.at[disconnected_bus, "country"] = new_country + return n + if algorithm == "hac": + from scipy.sparse import csgraph + feature = get_feature_for_hac(n, buses_i=n.buses.index, feature=feature) + n = fix_country_assignment_for_hac(n) elif feature is not None: logger.warning(f"Keyword argument feature is only valid for algorithm 'hac'." - f"given feature {feature} will be ignored.") + f"given feature ``{feature}`` will be ignored.") n.determine_network_topology() From 82a0338e9f3f8b68eb7d73aad0ceb3b26862d028 Mon Sep 17 00:00:00 2001 From: martacki Date: Fri, 4 Feb 2022 20:27:18 +0100 Subject: [PATCH 014/281] treatment of outliers and small feature-bugfix --- scripts/cluster_network.py | 17 +++++++++-------- scripts/simplify_network.py | 14 ++++++++++++++ 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index bd49556f..2cc406eb 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -272,6 +272,8 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori algorithm_kwds.setdefault('tol', 1e-6) def fix_country_assignment_for_hac(n): + from scipy.sparse import csgraph + # overwrite country of nodes that are disconnected from their country-topology for country in n.buses.country.unique(): m = n.copy() @@ -288,19 +290,18 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori neighbor_bus = n.lines.query("bus0 in @disconnected_bus or bus1 in @disconnected_bus").iloc[0][['bus0','bus1']] new_country = list(set(n.buses.loc[neighbor_bus].country)-set([country]))[0] - logger.info(f"overwriting country ``{country}`` of bus ``{disconnected_bus}`` to new country ``{new_country}``, " + logger.info(f"overwriting country `{country}` of bus `{disconnected_bus}` to new country `{new_country}`, " "because it is disconnected from its inital inter-country transmission grid.") n.buses.at[disconnected_bus, "country"] = new_country return n if algorithm == "hac": - from scipy.sparse import csgraph - feature = get_feature_for_hac(n, buses_i=n.buses.index, feature=feature) n = fix_country_assignment_for_hac(n) - elif feature is not None: - logger.warning(f"Keyword argument feature is only valid for algorithm 'hac'." - f"given feature ``{feature}`` will be ignored.") + + if (algorithm != "hac") and (feature is not None): + logger.warning(f"Keyword argument feature is only valid for algorithm `hac`. " + f"Given feature `{feature}` will be ignored.") n.determine_network_topology() @@ -338,7 +339,7 @@ def clustering_for_n_clusters(n, n_clusters, custom_busmap=False, aggregate_carr line_length_factor=1.25, potential_mode='simple', solver_name="cbc", algorithm="hac", feature=None, extended_link_costs=0, focus_weights=None): - logger.info(f"Clustering network using algorithm ``{algorithm}`` and feature ``{feature}``...") + logger.info(f"Clustering network using algorithm `{algorithm}` and feature `{feature}`...") if potential_mode == 'simple': p_nom_max_strategy = np.sum @@ -348,7 +349,7 @@ def clustering_for_n_clusters(n, n_clusters, custom_busmap=False, aggregate_carr raise AttributeError(f"potential_mode should be one of 'simple' or 'conservative' but is '{potential_mode}'") if not custom_busmap: - busmap = busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights, algorithm) + busmap = busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights, algorithm, feature) else: busmap = custom_busmap diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 23facc79..b28bc4dc 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -407,7 +407,21 @@ if __name__ == "__main__": n, substation_map = aggregate_to_substations(n) busmaps.append(substation_map) + # treatment of outliers (nodes without a profile for considered carrier) for "cluster_network" + if snakemake.config.get("clustering", {}).get("cluster_network", {}).get("algorithm", "hac") == "hac": + carriers = cluster_config.get("feature", "solar+onwind-time").split('-')[0].split('+') + buses_i = list(set(n.buses.index)-set(n.generators.query("carrier in @carriers").bus)) + n, busmap_hac = aggregate_to_substations(n, buses_i) + busmaps.append(busmap_hac) + if snakemake.wildcards.simpl: + # treatment of outliers (nodes without a profile for a considered carrier) for "simplify" + if cluster_config.get("algorithm", "hac") == "hac": + carriers = cluster_config.get("feature", "solar+onwind-time").split('-')[0].split('+') + buses_i = list(set(n.buses.index)-set(n.generators.query("carrier in @carriers").bus)) + n, busmap_hac = aggregate_to_substations(n, buses_i) + busmaps.append(busmap_hac) + # conduct clustering n, cluster_map = cluster(n, int(snakemake.wildcards.simpl), snakemake.config, algorithm=cluster_config.get('algorithm', 'hac'), feature=cluster_config.get('feature', None)) From 8700f63cdb7c6be02faa8eeba66718ece67c3c3e Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 3 Mar 2022 18:13:54 +0100 Subject: [PATCH 015/281] solve_network: fix load shedding attributes --- scripts/solve_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/solve_network.py b/scripts/solve_network.py index b902f525..c8c44969 100755 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -100,7 +100,7 @@ def prepare_network(n, solve_opts): df.where(df>solve_opts['clip_p_max_pu'], other=0., inplace=True) if solve_opts.get('load_shedding'): - n.add("Carrier", "Load") + n.add("Carrier", "load", color='red', nice_name="Load shedding") buses_i = n.buses.query("carrier == 'AC'").index n.madd("Generator", buses_i, " load", bus=buses_i, From d16f24fc07db277b68eb2f354c26a9748686ab1d Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 3 Mar 2022 23:08:29 +0100 Subject: [PATCH 016/281] follow up --- scripts/solve_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/solve_network.py b/scripts/solve_network.py index c8c44969..46df0328 100755 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -100,7 +100,7 @@ def prepare_network(n, solve_opts): df.where(df>solve_opts['clip_p_max_pu'], other=0., inplace=True) if solve_opts.get('load_shedding'): - n.add("Carrier", "load", color='red', nice_name="Load shedding") + n.add("Carrier", "load", color="#dd2e23", nice_name="Load shedding") buses_i = n.buses.query("carrier == 'AC'").index n.madd("Generator", buses_i, " load", bus=buses_i, From f02d5fe82161f7373423c8ff6571a4319ab8c164 Mon Sep 17 00:00:00 2001 From: martacki Date: Mon, 7 Mar 2022 11:43:04 +0100 Subject: [PATCH 017/281] fix clustering setup for hac according to fneum suggestions --- doc/configtables/clustering.csv | 4 ++-- envs/environment.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/configtables/clustering.csv b/doc/configtables/clustering.csv index e488dd39..d14ab395 100644 --- a/doc/configtables/clustering.csv +++ b/doc/configtables/clustering.csv @@ -1,8 +1,8 @@ ,Unit,Values,Description simplify_network,,, -- to_substations,bool,"One of {'true','false'}","Aggregates all nodes without power injection (positive or negative, i.e. demand or generation) to electrically closest ones" --- algorithm,str,"One of {‘kmenas’, ‘hac’}", +-- algorithm,str,"One of {‘kmeans’, ‘hac’}", -- feature,str,"Str in the format ‘carrier1+carrier2+...+carrierN-X’, where CarrierI can be from {‘solar’, ‘onwind’, ‘offwind’, ‘ror’} and X is one of {‘cap’, ‘time’}.", cluster_network,,, --- algorithm,str,"One of {‘kmenas’, ‘hac’}", +-- algorithm,str,"One of {‘kmeans’, ‘hac’}", -- feature,str,"Str in the format ‘carrier1+carrier2+...+carrierN-X’, where CarrierI can be from {‘solar’, ‘onwind’, ‘offwind’, ‘ror’} and X is one of {‘cap’, ‘time’}.", diff --git a/envs/environment.yaml b/envs/environment.yaml index 1d8d9d28..c64b5fbb 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -10,6 +10,7 @@ dependencies: - python>=3.8 - pip + - pypsa>=0.19.1 - atlite>=0.2.5 - dask @@ -53,6 +54,5 @@ dependencies: - tabula-py - pip: - - git+https://github.com/pypsa/pypsa.git#egg=pypsa - vresutils>=0.3.1 - tsam>=1.1.0 From 0384b4ff834f4d2141c9c1e5c29dd1c649258a6a Mon Sep 17 00:00:00 2001 From: Seth Date: Thu, 10 Mar 2022 13:55:53 +0100 Subject: [PATCH 018/281] fix the plot_network snakemake rule --- scripts/_helpers.py | 2 +- scripts/plot_network.py | 25 +++++++++++++++---------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/scripts/_helpers.py b/scripts/_helpers.py index f1e5e887..410e05af 100644 --- a/scripts/_helpers.py +++ b/scripts/_helpers.py @@ -120,7 +120,7 @@ def load_network_for_plots(fn, tech_costs, config, combine_hydro_ps=True): # n.storage_units.loc[bus_carrier == "heat","carrier"] = "water tanks" Nyears = n.snapshot_weightings.objective.sum() / 8760. - costs = load_costs(Nyears, tech_costs, config['costs'], config['electricity']) + costs = load_costs(tech_costs, config['costs'], config['electricity'], Nyears) update_transmission_costs(n, costs) return n diff --git a/scripts/plot_network.py b/scripts/plot_network.py index 645c8c39..24d49473 100755 --- a/scripts/plot_network.py +++ b/scripts/plot_network.py @@ -20,8 +20,7 @@ Description """ import logging -from _helpers import (retrieve_snakemake_keys, load_network_for_plots, - aggregate_p, aggregate_costs, configure_logging) +from _helpers import (load_network_for_plots, aggregate_p, aggregate_costs, configure_logging) import pandas as pd import numpy as np @@ -182,7 +181,7 @@ def plot_map(n, ax=None, attribute='p_nom', opts={}): return fig -def plot_total_energy_pie(n, ax=None): +def plot_total_energy_pie(n, ax=None, opts={}): if ax is None: ax = plt.gca() ax.set_title('Energy per technology', fontdict=dict(fontsize="medium")) @@ -200,7 +199,7 @@ def plot_total_energy_pie(n, ax=None): t1.remove() t2.remove() -def plot_total_cost_bar(n, ax=None): +def plot_total_cost_bar(n, ax=None, opts={}): if ax is None: ax = plt.gca() total_load = (n.snapshot_weightings.generators * n.loads_t.p.sum(axis=1)).sum() @@ -259,25 +258,31 @@ if __name__ == "__main__": set_plot_style() - paths, config, wildcards, logs, out = retrieve_snakemake_keys(snakemake) + paths, config, wildcards, logs, out = ( + snakemake.input, + snakemake.config, + snakemake.wildcards, + snakemake.log, + snakemake.output, + ) - map_figsize = config['map']['figsize'] - map_boundaries = config['map']['boundaries'] + map_figsize = config["plotting"]['map']['figsize'] + map_boundaries = config["plotting"]['map']['boundaries'] n = load_network_for_plots(paths.network, paths.tech_costs, config) scenario_opts = wildcards.opts.split('-') fig, ax = plt.subplots(figsize=map_figsize, subplot_kw={"projection": ccrs.PlateCarree()}) - plot_map(n, ax, wildcards.attr, config) + plot_map(n, ax, wildcards.attr, config["plotting"]) fig.savefig(out.only_map, dpi=150, bbox_inches='tight') ax1 = fig.add_axes([-0.115, 0.625, 0.2, 0.2]) - plot_total_energy_pie(n, ax1) + plot_total_energy_pie(n, ax1, config["plotting"]) ax2 = fig.add_axes([-0.075, 0.1, 0.1, 0.45]) - plot_total_cost_bar(n, ax2) + plot_total_cost_bar(n, ax2, config["plotting"]) ll = wildcards.ll ll_type = ll[0] From 68f332f5cc8603ceb890fb41f01cfc02bbebb10e Mon Sep 17 00:00:00 2001 From: martacki Date: Thu, 17 Mar 2022 15:42:04 +0100 Subject: [PATCH 019/281] suggestions by coroa and fneum --- scripts/cluster_network.py | 42 +++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index f4058e79..003442ff 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -189,28 +189,20 @@ def get_feature_for_hac(n, buses_i=None, feature=None): if feature.split('-')[1] == 'cap': feature_data = pd.DataFrame(index=buses_i, columns=carriers) for carrier in carriers: - try: - # without simpl wildcard (bus names are "X X"): - feature_data[carrier] = (n.generators_t.p_max_pu.filter(like=carrier).mean() - .rename(index=lambda x: x.split(' ')[0])) - except: - # with simpl wildcard (bus names are "X X X"): - feature_data[carrier] = (n.generators_t.p_max_pu.filter(like=carrier).mean() - .rename(index=lambda x: x.split(' ')[0] + ' ' + x.split(' ')[1])) + gen_i = n.generators.query("carrier == @carrier").index + attach = n.generators_t.p_max_pu[gen_i].mean().rename(index = n.generators.loc[gen_i].bus) + feature_data[carrier] = attach if feature.split('-')[1] == 'time': feature_data = pd.DataFrame(columns=buses_i) for carrier in carriers: - try: - # without simpl wildcard (bus names are "X X"): - feature_data = feature_data.append(n.generators_t.p_max_pu.filter(like=carrier) - .rename(columns=lambda x: x.split(' ')[0]))[buses_i] - except: - # with simpl wildcard (bus names are "X X X"): - feature_data = feature_data.append(n.generators_t.p_max_pu.filter(like=carrier) - .rename(columns=lambda x: x.split(' ')[0] + ' ' + x.split(' ')[1]))[buses_i] + gen_i = n.generators.query("carrier == @carrier").index + attach = n.generators_t.p_max_pu[gen_i].rename(columns = n.generators.loc[gen_i].bus) + feature_data = pd.concat([feature_data, attach], axis=0)[buses_i] + feature_data = feature_data.T - feature_data.columns = feature_data.columns.astype(str) # timestamp raises error in sklearn>=v1.2 + # timestamp raises error in sklearn >= v1.2: + feature_data.columns = feature_data.columns.astype(str) feature_data = feature_data.fillna(0) @@ -283,16 +275,24 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori m.links = m.links.query("bus0 in @m.buses.index and bus1 in @m.buses.index") _, labels = csgraph.connected_components(m.adjacency_matrix(), directed=False) + component = pd.Series(labels, index=m.buses.index) component_sizes = component.value_counts() if len(component_sizes)>1: - disconnected_bus = component[component==component_sizes[component_sizes==component_sizes.min()].index[0]].index - neighbor_bus = n.lines.query("bus0 in @disconnected_bus or bus1 in @disconnected_bus").iloc[0][['bus0','bus1']] + disconnected_bus = component[component==component_sizes.index[-1]].index[0] + + neighbor_bus = ( + n.lines.query("bus0 == @disconnected_bus or bus1 == @disconnected_bus") + .iloc[0][['bus0', 'bus1']] + ) new_country = list(set(n.buses.loc[neighbor_bus].country)-set([country]))[0] - logger.info(f"overwriting country `{country}` of bus `{disconnected_bus}` to new country `{new_country}`, " - "because it is disconnected from its inital inter-country transmission grid.") + logger.info( + f"overwriting country `{country}` of bus `{disconnected_bus}` " + f"to new country `{new_country}`, because it is disconnected " + "from its inital inter-country transmission grid." + ) n.buses.at[disconnected_bus, "country"] = new_country return n From 4c1c5e3a4e2a527792cb9a3dcc0b4d5c08d45f29 Mon Sep 17 00:00:00 2001 From: martacki Date: Thu, 17 Mar 2022 17:38:30 +0100 Subject: [PATCH 020/281] suggestions by coroa and fneum --- scripts/cluster_network.py | 42 +++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index f4058e79..003442ff 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -189,28 +189,20 @@ def get_feature_for_hac(n, buses_i=None, feature=None): if feature.split('-')[1] == 'cap': feature_data = pd.DataFrame(index=buses_i, columns=carriers) for carrier in carriers: - try: - # without simpl wildcard (bus names are "X X"): - feature_data[carrier] = (n.generators_t.p_max_pu.filter(like=carrier).mean() - .rename(index=lambda x: x.split(' ')[0])) - except: - # with simpl wildcard (bus names are "X X X"): - feature_data[carrier] = (n.generators_t.p_max_pu.filter(like=carrier).mean() - .rename(index=lambda x: x.split(' ')[0] + ' ' + x.split(' ')[1])) + gen_i = n.generators.query("carrier == @carrier").index + attach = n.generators_t.p_max_pu[gen_i].mean().rename(index = n.generators.loc[gen_i].bus) + feature_data[carrier] = attach if feature.split('-')[1] == 'time': feature_data = pd.DataFrame(columns=buses_i) for carrier in carriers: - try: - # without simpl wildcard (bus names are "X X"): - feature_data = feature_data.append(n.generators_t.p_max_pu.filter(like=carrier) - .rename(columns=lambda x: x.split(' ')[0]))[buses_i] - except: - # with simpl wildcard (bus names are "X X X"): - feature_data = feature_data.append(n.generators_t.p_max_pu.filter(like=carrier) - .rename(columns=lambda x: x.split(' ')[0] + ' ' + x.split(' ')[1]))[buses_i] + gen_i = n.generators.query("carrier == @carrier").index + attach = n.generators_t.p_max_pu[gen_i].rename(columns = n.generators.loc[gen_i].bus) + feature_data = pd.concat([feature_data, attach], axis=0)[buses_i] + feature_data = feature_data.T - feature_data.columns = feature_data.columns.astype(str) # timestamp raises error in sklearn>=v1.2 + # timestamp raises error in sklearn >= v1.2: + feature_data.columns = feature_data.columns.astype(str) feature_data = feature_data.fillna(0) @@ -283,16 +275,24 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori m.links = m.links.query("bus0 in @m.buses.index and bus1 in @m.buses.index") _, labels = csgraph.connected_components(m.adjacency_matrix(), directed=False) + component = pd.Series(labels, index=m.buses.index) component_sizes = component.value_counts() if len(component_sizes)>1: - disconnected_bus = component[component==component_sizes[component_sizes==component_sizes.min()].index[0]].index - neighbor_bus = n.lines.query("bus0 in @disconnected_bus or bus1 in @disconnected_bus").iloc[0][['bus0','bus1']] + disconnected_bus = component[component==component_sizes.index[-1]].index[0] + + neighbor_bus = ( + n.lines.query("bus0 == @disconnected_bus or bus1 == @disconnected_bus") + .iloc[0][['bus0', 'bus1']] + ) new_country = list(set(n.buses.loc[neighbor_bus].country)-set([country]))[0] - logger.info(f"overwriting country `{country}` of bus `{disconnected_bus}` to new country `{new_country}`, " - "because it is disconnected from its inital inter-country transmission grid.") + logger.info( + f"overwriting country `{country}` of bus `{disconnected_bus}` " + f"to new country `{new_country}`, because it is disconnected " + "from its inital inter-country transmission grid." + ) n.buses.at[disconnected_bus, "country"] = new_country return n From 65e35135e18a2eab21fe4c8e4de17fe0e6278235 Mon Sep 17 00:00:00 2001 From: euronion <42553970+euronion@users.noreply.github.com> Date: Fri, 18 Mar 2022 11:13:58 +0100 Subject: [PATCH 021/281] Update Snakefile --- Snakefile | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Snakefile b/Snakefile index 4b8fa0b3..a2d4c4b2 100644 --- a/Snakefile +++ b/Snakefile @@ -201,19 +201,19 @@ rule build_renewable_profiles: benchmark: "benchmarks/build_renewable_profiles_{technology}" threads: ATLITE_NPROCESSES resources: mem_mb=ATLITE_NPROCESSES * 5000 + wildcard_constraints: technology="solar|onwind|offwind-ac|offwind-dc" script: "scripts/build_renewable_profiles.py" -if 'hydro' in config['renewable'].keys(): - rule build_hydro_profile: - input: - country_shapes='resources/country_shapes.geojson', - eia_hydro_generation='data/bundle/EIA_hydro_generation_2000_2014.csv', - cutout="cutouts/" + config["renewable"]['hydro']['cutout'] + ".nc" - output: 'resources/profile_hydro.nc' - log: "logs/build_hydro_profile.log" - resources: mem_mb=5000 - script: 'scripts/build_hydro_profile.py' +rule build_hydro_profile: + input: + country_shapes='resources/country_shapes.geojson', + eia_hydro_generation='data/bundle/EIA_hydro_generation_2000_2014.csv', + cutout="cutouts/" + config["renewable"]['hydro']['cutout'] + ".nc" + output: 'resources/profile_hydro.nc' + log: "logs/build_hydro_profile.log" + resources: mem_mb=5000 + script: 'scripts/build_hydro_profile.py' rule add_electricity: From da72f5487dbfd247b49a4c652378e41619dd1214 Mon Sep 17 00:00:00 2001 From: euronion <42553970+euronion@users.noreply.github.com> Date: Fri, 18 Mar 2022 14:29:50 +0100 Subject: [PATCH 022/281] Update Snakefile --- Snakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Snakefile b/Snakefile index a2d4c4b2..5286aa06 100644 --- a/Snakefile +++ b/Snakefile @@ -209,7 +209,7 @@ rule build_hydro_profile: input: country_shapes='resources/country_shapes.geojson', eia_hydro_generation='data/bundle/EIA_hydro_generation_2000_2014.csv', - cutout="cutouts/" + config["renewable"]['hydro']['cutout'] + ".nc" + cutout=f"cutouts/{config['renewable']['hydro']['cutout']}.nc" if "hydro" in config["renewable"] else "config['renewable']['hydro']['cutout'] not configured", output: 'resources/profile_hydro.nc' log: "logs/build_hydro_profile.log" resources: mem_mb=5000 From ca94709ed3621e7f75bdfcb77b1133e8ffb83306 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sun, 20 Mar 2022 09:50:38 +0100 Subject: [PATCH 023/281] use snakemake.threads in build_renewable_profiles --- scripts/build_renewable_profiles.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index 36845da5..a2b2eda6 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -202,7 +202,7 @@ if __name__ == '__main__': configure_logging(snakemake) pgb.streams.wrap_stderr() - nprocesses = snakemake.config['atlite'].get('nprocesses') + nprocesses = int(snakemake.threads) noprogress = not snakemake.config['atlite'].get('show_progress', True) config = snakemake.config['renewable'][snakemake.wildcards.technology] resource = config['resource'] # pv panel config / wind turbine config From 5a7c0d7967a57185925d7e6c0df6e7ac70597575 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sun, 20 Mar 2022 10:03:17 +0100 Subject: [PATCH 024/281] remove build/retrieve natura raster, directly use shapefile --- Snakefile | 19 +--- config.default.yaml | 2 - config.tutorial.yaml | 2 - doc/configtables/toplevel.csv | 2 - doc/preparation.rst | 2 - doc/preparation/build_natura_raster.rst | 39 --------- doc/preparation/build_renewable_profiles.rst | 3 - doc/preparation/retrieve.rst | 27 ------ doc/release_notes.rst | 2 + doc/tutorial.rst | 4 +- scripts/build_natura_raster.py | 92 -------------------- scripts/build_renewable_profiles.py | 2 +- test/config.test1.yaml | 2 - 13 files changed, 6 insertions(+), 192 deletions(-) delete mode 100644 doc/preparation/build_natura_raster.rst delete mode 100644 scripts/build_natura_raster.py diff --git a/Snakefile b/Snakefile index 4b8fa0b3..7d2eff1d 100644 --- a/Snakefile +++ b/Snakefile @@ -165,28 +165,11 @@ if config['enable'].get('retrieve_cutout', True): run: move(input[0], output[0]) -if config['enable'].get('build_natura_raster', False): - rule build_natura_raster: - input: - natura="data/bundle/natura/Natura2000_end2015.shp", - cutouts=expand("cutouts/{cutouts}.nc", **config['atlite']) - output: "resources/natura.tiff" - log: "logs/build_natura_raster.log" - script: "scripts/build_natura_raster.py" - - -if config['enable'].get('retrieve_natura_raster', True): - rule retrieve_natura_raster: - input: HTTP.remote("zenodo.org/record/4706686/files/natura.tiff", keep_local=True, static=True) - output: "resources/natura.tiff" - run: move(input[0], output[0]) - - rule build_renewable_profiles: input: base_network="networks/base.nc", corine="data/bundle/corine/g250_clc06_V18_5.tif", - natura="resources/natura.tiff", + natura="data/bundle/natura/Natura2000_end2015.shp", gebco=lambda w: ("data/bundle/GEBCO_2014_2D.nc" if "max_depth" in config["renewable"][w.technology].keys() else []), diff --git a/config.default.yaml b/config.default.yaml index d2bf6159..971293b7 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -33,8 +33,6 @@ enable: retrieve_databundle: true build_cutout: false retrieve_cutout: true - build_natura_raster: false - retrieve_natura_raster: true custom_busmap: false electricity: diff --git a/config.tutorial.yaml b/config.tutorial.yaml index ea624727..67176fdf 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -33,8 +33,6 @@ enable: retrieve_databundle: true build_cutout: false retrieve_cutout: true - build_natura_raster: false - retrieve_natura_raster: true custom_busmap: false electricity: diff --git a/doc/configtables/toplevel.csv b/doc/configtables/toplevel.csv index b7f39d05..8965a0bc 100644 --- a/doc/configtables/toplevel.csv +++ b/doc/configtables/toplevel.csv @@ -12,6 +12,4 @@ enable,,, -- retrieve_databundle,bool,"{true, false}","Switch to retrieve databundle from zenodo via the rule :mod:`retrieve_databundle` or whether to keep a custom databundle located in the corresponding folder." -- build_cutout,bool,"{true, false}","Switch to enable the building of cutouts via the rule :mod:`build_cutout`." -- retrieve_cutout,bool,"{true, false}","Switch to enable the retrieval of cutouts from zenodo with :mod:`retrieve_cutout`." --- build_natura_raster,bool,"{true, false}","Switch to enable the creation of the raster ``natura.tiff`` via the rule :mod:`build_natura_raster`." --- retrieve_natura_raster,bool,"{true, false}","Switch to enable the retrieval of ``natura.tiff`` from zenodo with :mod:`retrieve_natura_raster`." -- custom_busmap,bool,"{true, false}","Switch to enable the use of custom busmaps in rule :mod:`cluster_network`. If activated the rule looks for provided busmaps at ``data/custom_busmap_elec_s{simpl}_{clusters}.csv`` which should have the same format as ``resources/busmap_elec_s{simpl}_{clusters}.csv``, i.e. the index should contain the buses of ``networks/elec_s{simpl}.nc``." diff --git a/doc/preparation.rst b/doc/preparation.rst index dba5e981..7f42190c 100644 --- a/doc/preparation.rst +++ b/doc/preparation.rst @@ -27,7 +27,6 @@ With these and the externally extracted ENTSO-E online map topology Then the process continues by calculating conventional power plant capacities, potentials, and per-unit availability time series for variable renewable energy carriers and hydro power plants with the following rules: - :mod:`build_powerplants` for today's thermal power plant capacities using `powerplantmatching `_ allocating these to the closest substation for each powerplant, -- :mod:`build_natura_raster` for rasterising NATURA2000 natural protection areas, - :mod:`build_renewable_profiles` for the hourly capacity factors and installation potentials constrained by land-use in each substation's Voronoi cell for PV, onshore and offshore wind, and - :mod:`build_hydro_profile` for the hourly per-unit hydro power availability time series. @@ -41,7 +40,6 @@ together into a detailed PyPSA network stored in ``networks/elec.nc``. preparation/build_shapes preparation/build_load_data preparation/build_cutout - preparation/build_natura_raster preparation/prepare_links_p_nom preparation/base_network preparation/build_bus_regions diff --git a/doc/preparation/build_natura_raster.rst b/doc/preparation/build_natura_raster.rst deleted file mode 100644 index e3ec4364..00000000 --- a/doc/preparation/build_natura_raster.rst +++ /dev/null @@ -1,39 +0,0 @@ -.. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors - - SPDX-License-Identifier: CC-BY-4.0 - -.. _natura: - -Rule ``build_natura_raster`` -=============================== - -.. graphviz:: - :align: center - - digraph snakemake_dag { - graph [bgcolor=white, - margin=0, - size="8,5" - ]; - node [fontname=sans, - fontsize=10, - penwidth=2, - shape=box, - style=rounded - ]; - edge [color=grey, - penwidth=2 - ]; - 9 [color="0.22 0.6 0.85", - label=build_renewable_profiles]; - 12 [color="0.31 0.6 0.85", - fillcolor=gray, - label=build_natura_raster, - style=filled]; - 12 -> 9; - } - -| - -.. automodule:: build_natura_raster diff --git a/doc/preparation/build_renewable_profiles.rst b/doc/preparation/build_renewable_profiles.rst index 27e61583..adc4d6ca 100644 --- a/doc/preparation/build_renewable_profiles.rst +++ b/doc/preparation/build_renewable_profiles.rst @@ -41,9 +41,6 @@ Rule ``build_renewable_profiles`` 8 [color="0.00 0.6 0.85", label=build_shapes]; 8 -> 9; - 12 [color="0.31 0.6 0.85", - label=build_natura_raster]; - 12 -> 9; 13 [color="0.56 0.6 0.85", label=build_cutout]; 13 -> 9; diff --git a/doc/preparation/retrieve.rst b/doc/preparation/retrieve.rst index 42479284..21187924 100644 --- a/doc/preparation/retrieve.rst +++ b/doc/preparation/retrieve.rst @@ -50,30 +50,3 @@ The :ref:`tutorial` uses a smaller cutout than required for the full model (30 M .. seealso:: For details see :mod:`build_cutout` and read the `atlite documentation `_. - - -Rule ``retrieve_natura_raster`` -------------------------------- - -.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.4706686.svg - :target: https://doi.org/10.5281/zenodo.4706686 - -This rule, as a substitute for :mod:`build_natura_raster`, downloads an already rasterized version (`natura.tiff `_) of `Natura 2000 `_ natural protection areas to reduce computation times. The file is placed into the ``resources`` sub-directory. - -**Relevant Settings** - -.. code:: yaml - - enable: - build_natura_raster: - -.. seealso:: - Documentation of the configuration file ``config.yaml`` at - :ref:`toplevel_cf` - -**Outputs** - -- ``resources/natura.tiff``: Rasterized version of `Natura 2000 `_ natural protection areas to reduce computation times. - -.. seealso:: - For details see :mod:`build_natura_raster`. diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 3b20fbcf..be1259d9 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -62,6 +62,8 @@ Upcoming Release * New network topology extracted from the ENTSO-E interactive map. +* Remove rules to build or retrieve rasterized NATURA 2000 dataset. Renewable potential calculation now directly uses the shapefiles. + PyPSA-Eur 0.4.0 (22th September 2021) ===================================== diff --git a/doc/tutorial.rst b/doc/tutorial.rst index 17d4e3c1..512683a5 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -35,8 +35,8 @@ To run the tutorial, use this as your configuration file ``config.yaml``. .../pypsa-eur % cp config.tutorial.yaml config.yaml -This configuration is set to download a reduced data set via the rules :mod:`retrieve_databundle`, -:mod:`retrieve_natura_raster`, :mod:`retrieve_cutout` totalling at less than 250 MB. +This configuration is set to download a reduced data set via the rules :mod:`retrieve_databundle` +and :mod:`retrieve_cutout` totalling at less than 250 MB. The full set of data dependencies would consume 5.3 GB. For more information on the data dependencies of PyPSA-Eur, continue reading :ref:`data`. diff --git a/scripts/build_natura_raster.py b/scripts/build_natura_raster.py deleted file mode 100644 index 71d2c45e..00000000 --- a/scripts/build_natura_raster.py +++ /dev/null @@ -1,92 +0,0 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors -# -# SPDX-License-Identifier: MIT - -""" -Rasters the vector data of the `Natura 2000 `_ natural protection areas onto all cutout regions. - -Relevant Settings ------------------ - -.. code:: yaml - - renewable: - {technology}: - cutout: - -.. seealso:: - Documentation of the configuration file ``config.yaml`` at - :ref:`renewable_cf` - -Inputs ------- - -- ``data/bundle/natura/Natura2000_end2015.shp``: `Natura 2000 `_ natural protection areas. - - .. image:: ../img/natura.png - :scale: 33 % - -Outputs -------- - -- ``resources/natura.tiff``: Rasterized version of `Natura 2000 `_ natural protection areas to reduce computation times. - - .. image:: ../img/natura.png - :scale: 33 % - -Description ------------ - -""" - -import logging -from _helpers import configure_logging, retrieve_snakemake_keys - -import atlite -import geopandas as gpd -import rasterio as rio -from rasterio.features import geometry_mask -from rasterio.warp import transform_bounds - -logger = logging.getLogger(__name__) - - -def determine_cutout_xXyY(cutout_name): - cutout = atlite.Cutout(cutout_name) - assert cutout.crs.to_epsg() == 4326 - x, X, y, Y = cutout.extent - dx, dy = cutout.dx, cutout.dy - return [x - dx/2., X + dx/2., y - dy/2., Y + dy/2.] - - -def get_transform_and_shape(bounds, res): - left, bottom = [(b // res)* res for b in bounds[:2]] - right, top = [(b // res + 1) * res for b in bounds[2:]] - shape = int((top - bottom) // res), int((right - left) / res) - transform = rio.Affine(res, 0, left, 0, -res, top) - return transform, shape - - -if __name__ == "__main__": - if 'snakemake' not in globals(): - from _helpers import mock_snakemake - snakemake = mock_snakemake('build_natura_raster') - configure_logging(snakemake) - - paths, config, wildcards, logs, out = retrieve_snakemake_keys(snakemake) - - cutouts = paths.cutouts - xs, Xs, ys, Ys = zip(*(determine_cutout_xXyY(cutout) for cutout in cutouts)) - bounds = transform_bounds(4326, 3035, min(xs), min(ys), max(Xs), max(Ys)) - transform, out_shape = get_transform_and_shape(bounds, res=100) - - # adjusted boundaries - shapes = gpd.read_file(paths.natura).to_crs(3035) - raster = ~geometry_mask(shapes.geometry, out_shape[::-1], transform) - raster = raster.astype(rio.uint8) - - with rio.open(out[0], 'w', driver='GTiff', dtype=rio.uint8, - count=1, transform=transform, crs=3035, compress='lzw', - width=raster.shape[1], height=raster.shape[0]) as dst: - dst.write(raster, indexes=1) - diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index 36845da5..41d208c1 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -224,7 +224,7 @@ if __name__ == '__main__': excluder = atlite.ExclusionContainer(crs=3035, res=100) if config['natura']: - excluder.add_raster(snakemake.input.natura, nodata=0, allow_no_overlap=True) + excluder.add_geometry(snakemake.input.natura) corine = config.get("corine", {}) if "grid_codes" in corine: diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 2986037b..d017cafc 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -32,8 +32,6 @@ enable: retrieve_databundle: true build_cutout: false retrieve_cutout: true - build_natura_raster: false - retrieve_natura_raster: true custom_busmap: false electricity: From 7ba1f26eb8c2d87d41b34c0f9f805550639ca6d8 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sun, 20 Mar 2022 20:56:38 +0100 Subject: [PATCH 025/281] must read NATURA shape before add_geometry --- scripts/build_renewable_profiles.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index 41d208c1..2b95e669 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -224,7 +224,9 @@ if __name__ == '__main__': excluder = atlite.ExclusionContainer(crs=3035, res=100) if config['natura']: - excluder.add_geometry(snakemake.input.natura) + mask = regions.to_crs(3035).buffer(0) # buffer to avoid invalid geometry + natura = gpd.read_file(snakemake.input.natura, mask=mask) + excluder.add_geometry(natura.geometry) corine = config.get("corine", {}) if "grid_codes" in corine: From 31f9864daf45fda94102ec197227b4297981cb3b Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sun, 20 Mar 2022 21:01:07 +0100 Subject: [PATCH 026/281] omit NATURA from testing and tutorial due to file size# --- Snakefile | 4 +++- config.tutorial.yaml | 8 ++++---- test/config.test1.yaml | 8 ++++---- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Snakefile b/Snakefile index 7d2eff1d..50e0d2f8 100644 --- a/Snakefile +++ b/Snakefile @@ -169,7 +169,9 @@ rule build_renewable_profiles: input: base_network="networks/base.nc", corine="data/bundle/corine/g250_clc06_V18_5.tif", - natura="data/bundle/natura/Natura2000_end2015.shp", + natura=lambda w: ("data/bundle/natura/Natura2000_end2015.shp" + if config["renewable"][w.technology]["natura"] + else []), gebco=lambda w: ("data/bundle/GEBCO_2014_2D.nc" if "max_depth" in config["renewable"][w.technology].keys() else []), diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 67176fdf..da3e10cc 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -77,7 +77,7 @@ renewable: 24, 25, 26, 27, 28, 29, 31, 32] distance: 1000 distance_grid_codes: [1, 2, 3, 4, 5, 6] - natura: true + natura: false potential: simple # or conservative clip_p_max_pu: 1.e-2 offwind-ac: @@ -88,7 +88,7 @@ renewable: capacity_per_sqkm: 3 # correction_factor: 0.93 corine: [44, 255] - natura: true + natura: false max_shore_distance: 30000 potential: simple # or conservative clip_p_max_pu: 1.e-2 @@ -101,7 +101,7 @@ renewable: capacity_per_sqkm: 3 # correction_factor: 0.93 corine: [44, 255] - natura: true + natura: false min_shore_distance: 30000 potential: simple # or conservative clip_p_max_pu: 1.e-2 @@ -123,7 +123,7 @@ renewable: # correction_factor: 0.854337 corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] - natura: true + natura: false potential: simple # or conservative clip_p_max_pu: 1.e-2 diff --git a/test/config.test1.yaml b/test/config.test1.yaml index d017cafc..7a48ea87 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -76,7 +76,7 @@ renewable: 24, 25, 26, 27, 28, 29, 31, 32] distance: 1000 distance_grid_codes: [1, 2, 3, 4, 5, 6] - natura: true + natura: false potential: simple # or conservative clip_p_max_pu: 1.e-2 offwind-ac: @@ -87,7 +87,7 @@ renewable: capacity_per_sqkm: 3 # correction_factor: 0.93 corine: [44, 255] - natura: true + natura: false max_shore_distance: 30000 potential: simple # or conservative clip_p_max_pu: 1.e-2 @@ -100,7 +100,7 @@ renewable: capacity_per_sqkm: 3 # correction_factor: 0.93 corine: [44, 255] - natura: true + natura: false min_shore_distance: 30000 potential: simple # or conservative clip_p_max_pu: 1.e-2 @@ -121,7 +121,7 @@ renewable: correction_factor: 0.854337 corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] - natura: true + natura: false potential: simple # or conservative clip_p_max_pu: 1.e-2 From 30cb861ca2644e4c1acc3e1a7425c9e746bcb46b Mon Sep 17 00:00:00 2001 From: euronion <42553970+euronion@users.noreply.github.com> Date: Mon, 21 Mar 2022 09:37:50 +0100 Subject: [PATCH 027/281] Update Snakefile --- Snakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Snakefile b/Snakefile index 5286aa06..dc8277ea 100644 --- a/Snakefile +++ b/Snakefile @@ -201,7 +201,7 @@ rule build_renewable_profiles: benchmark: "benchmarks/build_renewable_profiles_{technology}" threads: ATLITE_NPROCESSES resources: mem_mb=ATLITE_NPROCESSES * 5000 - wildcard_constraints: technology="solar|onwind|offwind-ac|offwind-dc" + wildcard_constraints: technology="^(?!hydro).*$" # Any technology other than hydro script: "scripts/build_renewable_profiles.py" From e2e98120b17b3ae2c6137d7257dc17f6a05aa0b9 Mon Sep 17 00:00:00 2001 From: euronion <42553970+euronion@users.noreply.github.com> Date: Mon, 21 Mar 2022 10:01:34 +0100 Subject: [PATCH 028/281] Update Snakefile --- Snakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Snakefile b/Snakefile index dc8277ea..a0709043 100644 --- a/Snakefile +++ b/Snakefile @@ -201,7 +201,7 @@ rule build_renewable_profiles: benchmark: "benchmarks/build_renewable_profiles_{technology}" threads: ATLITE_NPROCESSES resources: mem_mb=ATLITE_NPROCESSES * 5000 - wildcard_constraints: technology="^(?!hydro).*$" # Any technology other than hydro + wildcard_constraints: technology="(?!hydro).*" # Any technology other than hydro script: "scripts/build_renewable_profiles.py" From 8cb4c17930909c873d66f003ea41a2e09a924e4f Mon Sep 17 00:00:00 2001 From: martacki Date: Tue, 22 Mar 2022 16:53:05 +0100 Subject: [PATCH 029/281] unify vre treatment for hac clustering for simplify_network and cluster_network --- scripts/simplify_network.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index b28bc4dc..f9ac8ad7 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -351,7 +351,7 @@ def aggregate_to_substations(n, buses_i=None): aggregate_generators_carriers=None, aggregate_one_ports=["Load", "StorageUnit"], line_length_factor=1.0, - generator_strategies={'p_nom_max': 'sum'}, + generator_strategies={'p_nom_max': 'sum', 'p_nom_min': 'sum'}, scale_link_capital_costs=False) return clustering.network, busmap @@ -407,21 +407,20 @@ if __name__ == "__main__": n, substation_map = aggregate_to_substations(n) busmaps.append(substation_map) - # treatment of outliers (nodes without a profile for considered carrier) for "cluster_network" - if snakemake.config.get("clustering", {}).get("cluster_network", {}).get("algorithm", "hac") == "hac": + # treatment of outliers (nodes without a profile for considered carrier): + # all nodes that have no profile of the given carrier are being aggregated to closest neighbor + if ( + snakemake.config.get("clustering", {}).get("cluster_network", {}).get("algorithm", "hac") == "hac" or + cluster_config.get("algorithm", "hac") == "hac" + ): carriers = cluster_config.get("feature", "solar+onwind-time").split('-')[0].split('+') - buses_i = list(set(n.buses.index)-set(n.generators.query("carrier in @carriers").bus)) - n, busmap_hac = aggregate_to_substations(n, buses_i) - busmaps.append(busmap_hac) - - if snakemake.wildcards.simpl: - # treatment of outliers (nodes without a profile for a considered carrier) for "simplify" - if cluster_config.get("algorithm", "hac") == "hac": - carriers = cluster_config.get("feature", "solar+onwind-time").split('-')[0].split('+') - buses_i = list(set(n.buses.index)-set(n.generators.query("carrier in @carriers").bus)) + for carrier in carriers: + buses_i = list(set(n.buses.index)-set(n.generators.query("carrier == @carrier").bus)) + logger.info(f'clustering preparaton (hac): aggregating {len(buses_i)} buses of type {carrier}.') n, busmap_hac = aggregate_to_substations(n, buses_i) busmaps.append(busmap_hac) - # conduct clustering + + if snakemake.wildcards.simpl: n, cluster_map = cluster(n, int(snakemake.wildcards.simpl), snakemake.config, algorithm=cluster_config.get('algorithm', 'hac'), feature=cluster_config.get('feature', None)) From ad4bd56ab27be0c16620f80ecfb9a0dcf132a29c Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 24 Mar 2022 12:36:54 +0100 Subject: [PATCH 030/281] cache data bundle --- .github/workflows/ci.yaml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c753deab..0406e742 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -19,7 +19,8 @@ on: - cron: "0 5 * * TUE" env: - CACHE_NUMBER: 1 # Change this value to manually reset the environment cache + CONDA_CACHE_NUMBER: 1 # Change this value to manually reset the environment cache + BUNDLE_CACHE_NUMBER: 1 jobs: build: @@ -66,6 +67,12 @@ jobs: miniforge-version: latest activate-environment: pypsa-eur use-mamba: true + + - name: Cache data bundle + uses: actions/cache@v3 + with: + path: data/bundle + key: data-bundle-${{ env.BUNDLE_CACHE_NUMBER }} - name: Set cache date run: echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV @@ -75,7 +82,7 @@ jobs: id: cache with: path: ${{ matrix.prefix }} - key: ${{ matrix.label }}-conda-${{ hashFiles('envs/environment.yaml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} + key: ${{ matrix.label }}-conda-${{ hashFiles('envs/environment.yaml') }}-${{ env.DATE }}-${{ env.CONDA_CACHE_NUMBER }} - name: Update environment due to outdated or unavailable cache run: mamba env update -n pypsa-eur -f envs/environment.yaml From d24b9a48832e48499464acfdcbe2a6a2e66c0765 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 24 Mar 2022 12:40:29 +0100 Subject: [PATCH 031/281] run CI on PRs targeting non-master branches --- .github/workflows/ci.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0406e742..0421ef82 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -13,8 +13,6 @@ on: branches: - master pull_request: - branches: - - master schedule: - cron: "0 5 * * TUE" @@ -73,7 +71,7 @@ jobs: with: path: data/bundle key: data-bundle-${{ env.BUNDLE_CACHE_NUMBER }} - + - name: Set cache date run: echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV From 7f29c31abe6cf133f28f4b4558cccb7f20899d72 Mon Sep 17 00:00:00 2001 From: martacki Date: Thu, 24 Mar 2022 13:17:01 +0100 Subject: [PATCH 032/281] .copy() shortcut --- scripts/cluster_network.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 9c6d541f..f659f8a8 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -269,10 +269,7 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori # overwrite country of nodes that are disconnected from their country-topology for country in n.buses.country.unique(): - m = n.copy() - m.buses = m.buses.query("country in @country") - m.lines = m.lines.query("bus0 in @m.buses.index and bus1 in @m.buses.index") - m.links = m.links.query("bus0 in @m.buses.index and bus1 in @m.buses.index") + m = n[n.buses.country ==country].copy() _, labels = csgraph.connected_components(m.adjacency_matrix(), directed=False) From f90bb92e1a4199ab1d76e0a4645d53a076f84bfa Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 24 Mar 2022 13:37:21 +0100 Subject: [PATCH 033/281] automatically download NATURA2000 gpkg and use it --- Snakefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Snakefile b/Snakefile index 50e0d2f8..a28bd4fd 100644 --- a/Snakefile +++ b/Snakefile @@ -67,6 +67,12 @@ if config['enable'].get('retrieve_databundle', True): script: 'scripts/retrieve_databundle.py' +rule retrieve_natura_data: + input: HTTP.remote("sdi.eea.europa.eu/datashare/s/H6QGCybMdLLnywo/download?path=%2FNatura2000_end2020_gpkg&files=Natura2000_end2020.gpkg", keep_local=True, static=True) + output: "data/Natura2000_end2020.gpkg" + run: move(input[0], output[0]) + + rule retrieve_load_data: input: HTTP.remote("data.open-power-system-data.org/time_series/2019-06-05/time_series_60min_singleindex.csv", keep_local=True, static=True) output: "data/load_raw.csv" @@ -169,7 +175,7 @@ rule build_renewable_profiles: input: base_network="networks/base.nc", corine="data/bundle/corine/g250_clc06_V18_5.tif", - natura=lambda w: ("data/bundle/natura/Natura2000_end2015.shp" + natura=lambda w: ("data/Natura2000_end2020.gpkg" if config["renewable"][w.technology]["natura"] else []), gebco=lambda w: ("data/bundle/GEBCO_2014_2D.nc" From 273ac5a1921c623c509b30f44885af466b84bbff Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 24 Mar 2022 14:07:44 +0100 Subject: [PATCH 034/281] cache full data folder and cutouts --- .github/workflows/ci.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0421ef82..98c024b6 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -18,7 +18,7 @@ on: env: CONDA_CACHE_NUMBER: 1 # Change this value to manually reset the environment cache - BUNDLE_CACHE_NUMBER: 1 + DATA_CACHE_NUMBER: 1 jobs: build: @@ -66,11 +66,13 @@ jobs: activate-environment: pypsa-eur use-mamba: true - - name: Cache data bundle + - name: Cache data and cutouts folders uses: actions/cache@v3 with: - path: data/bundle - key: data-bundle-${{ env.BUNDLE_CACHE_NUMBER }} + path: | + data + cutouts + key: data-cutouts-${{ env.DATA_CACHE_NUMBER }} - name: Set cache date run: echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV From 9f4e61d822c9c18600d6f09ad53d8e4a9159e213 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 24 Mar 2022 14:13:37 +0100 Subject: [PATCH 035/281] refresh data/cutouts folders cache every week --- .github/workflows/ci.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 98c024b6..af285b7a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -72,10 +72,12 @@ jobs: path: | data cutouts - key: data-cutouts-${{ env.DATA_CACHE_NUMBER }} + key: data-cutouts-${{ env.WEEK }}-${{ env.DATA_CACHE_NUMBER }} - - name: Set cache date - run: echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV + - name: Set cache dates + run: | + echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV + echo "WEEK=$(date +'%Y%U')" >> $GITHUB_ENV - name: Create environment cache uses: actions/cache@v2 From 5833ac90eb186fa11eb85ba7766e35a39438f141 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 24 Mar 2022 14:14:33 +0100 Subject: [PATCH 036/281] move up cache date setting --- .github/workflows/ci.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index af285b7a..d447a56f 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -66,6 +66,11 @@ jobs: activate-environment: pypsa-eur use-mamba: true + - name: Set cache dates + run: | + echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV + echo "WEEK=$(date +'%Y%U')" >> $GITHUB_ENV + - name: Cache data and cutouts folders uses: actions/cache@v3 with: @@ -74,11 +79,6 @@ jobs: cutouts key: data-cutouts-${{ env.WEEK }}-${{ env.DATA_CACHE_NUMBER }} - - name: Set cache dates - run: | - echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV - echo "WEEK=$(date +'%Y%U')" >> $GITHUB_ENV - - name: Create environment cache uses: actions/cache@v2 id: cache From 1a82b875872cb082c751fb6a436b547e48f5ba54 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 24 Mar 2022 14:30:28 +0100 Subject: [PATCH 037/281] skip iterations if no lines are expandable --- scripts/solve_network.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/solve_network.py b/scripts/solve_network.py index b902f525..4704d179 100755 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -254,7 +254,12 @@ def solve_network(n, config, opts='', **kwargs): n.config = config n.opts = opts - if cf_solving.get('skip_iterations', False): + skip_iterations = cf_solving.get('skip_iterations', False) + if not n.lines.s_nom_extendable.any(): + skip_iterations = True + logger.info("No expandable lines found. Skipping iterative solving.") + + if skip_iterations: network_lopf(n, solver_name=solver_name, solver_options=solver_options, extra_functionality=extra_functionality, **kwargs) else: From 12a5a5f86a1c4e59929234d6cacad1a73018de2c Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 24 Mar 2022 14:34:08 +0100 Subject: [PATCH 038/281] add release notes --- doc/release_notes.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 3b20fbcf..79689bf5 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -62,6 +62,8 @@ Upcoming Release * New network topology extracted from the ENTSO-E interactive map. +* Iterative solving with impedance updates is skipped if there are no expandable lines. + PyPSA-Eur 0.4.0 (22th September 2021) ===================================== From 62e7653d7edff3e4cfa554008b62bad0852857e6 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 24 Mar 2022 14:37:18 +0100 Subject: [PATCH 039/281] add release notes --- doc/release_notes.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index be1259d9..acc18851 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -64,6 +64,9 @@ Upcoming Release * Remove rules to build or retrieve rasterized NATURA 2000 dataset. Renewable potential calculation now directly uses the shapefiles. +* Cache data and cutouts folders. This cache will be updated weekly. + +* Add rule to automatically retrieve Natura2000 natural protection areas. Switch of file format to GPKG. PyPSA-Eur 0.4.0 (22th September 2021) ===================================== From da8a7f1293c2be282a329073f51dad689b77c8e4 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 24 Mar 2022 14:39:36 +0100 Subject: [PATCH 040/281] consider again NATURA in testing --- test/config.test1.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 7a48ea87..d017cafc 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -76,7 +76,7 @@ renewable: 24, 25, 26, 27, 28, 29, 31, 32] distance: 1000 distance_grid_codes: [1, 2, 3, 4, 5, 6] - natura: false + natura: true potential: simple # or conservative clip_p_max_pu: 1.e-2 offwind-ac: @@ -87,7 +87,7 @@ renewable: capacity_per_sqkm: 3 # correction_factor: 0.93 corine: [44, 255] - natura: false + natura: true max_shore_distance: 30000 potential: simple # or conservative clip_p_max_pu: 1.e-2 @@ -100,7 +100,7 @@ renewable: capacity_per_sqkm: 3 # correction_factor: 0.93 corine: [44, 255] - natura: false + natura: true min_shore_distance: 30000 potential: simple # or conservative clip_p_max_pu: 1.e-2 @@ -121,7 +121,7 @@ renewable: correction_factor: 0.854337 corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] - natura: false + natura: true potential: simple # or conservative clip_p_max_pu: 1.e-2 From c54ddab4a331fdbe08f4938cb838bf2f128d93f0 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 24 Mar 2022 14:47:00 +0100 Subject: [PATCH 041/281] remove unused simple_hvdc_costs --- doc/release_notes.rst | 1 + scripts/add_electricity.py | 18 +++++++----------- scripts/make_summary.py | 2 +- scripts/prepare_network.py | 2 +- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 3b20fbcf..7deee108 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -62,6 +62,7 @@ Upcoming Release * New network topology extracted from the ENTSO-E interactive map. +* The unused argument ``simple_hvdc_costs`` in :mod:`add_electricity` was removed. PyPSA-Eur 0.4.0 (22th September 2021) ===================================== diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 7dffe60f..ad932cd8 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -227,7 +227,7 @@ def attach_load(n, regions, load, nuts3_shapes, countries, scaling=1.): n.madd("Load", substation_lv_i, bus=substation_lv_i, p_set=load) -def update_transmission_costs(n, costs, length_factor=1.0, simple_hvdc_costs=False): +def update_transmission_costs(n, costs, length_factor=1.0): # TODO: line length factor of lines is applied to lines and links. # Separate the function to distinguish. @@ -242,16 +242,12 @@ def update_transmission_costs(n, costs, length_factor=1.0, simple_hvdc_costs=Fal # may be missing. Therefore we have to return here. if n.links.loc[dc_b].empty: return - if simple_hvdc_costs: - costs = (n.links.loc[dc_b, 'length'] * length_factor * - costs.at['HVDC overhead', 'capital_cost']) - else: - costs = (n.links.loc[dc_b, 'length'] * length_factor * - ((1. - n.links.loc[dc_b, 'underwater_fraction']) * - costs.at['HVDC overhead', 'capital_cost'] + - n.links.loc[dc_b, 'underwater_fraction'] * - costs.at['HVDC submarine', 'capital_cost']) + - costs.at['HVDC inverter pair', 'capital_cost']) + costs = (n.links.loc[dc_b, 'length'] * length_factor * + ((1. - n.links.loc[dc_b, 'underwater_fraction']) * + costs.at['HVDC overhead', 'capital_cost'] + + n.links.loc[dc_b, 'underwater_fraction'] * + costs.at['HVDC submarine', 'capital_cost']) + + costs.at['HVDC inverter pair', 'capital_cost']) n.links.loc[dc_b, 'capital_cost'] = costs diff --git a/scripts/make_summary.py b/scripts/make_summary.py index 854e9463..af1ecf36 100644 --- a/scripts/make_summary.py +++ b/scripts/make_summary.py @@ -404,7 +404,7 @@ def make_summaries(networks_dict, paths, config, country='all'): Nyears = n.snapshot_weightings.objective.sum() / 8760. costs = load_costs(paths[0], config['costs'], config['electricity'], Nyears) - update_transmission_costs(n, costs, simple_hvdc_costs=False) + update_transmission_costs(n, costs) assign_carriers(n) diff --git a/scripts/prepare_network.py b/scripts/prepare_network.py index f984ace6..206e220b 100755 --- a/scripts/prepare_network.py +++ b/scripts/prepare_network.py @@ -104,7 +104,7 @@ def set_transmission_limit(n, ll_type, factor, costs, Nyears=1): ref = (lines_s_nom @ n.lines[col] + n.links.loc[links_dc_b, "p_nom"] @ n.links.loc[links_dc_b, col]) - update_transmission_costs(n, costs, simple_hvdc_costs=False) + update_transmission_costs(n, costs) if factor == 'opt' or float(factor) > 1.0: n.lines['s_nom_min'] = lines_s_nom From 35f8b54a460a2014954e7a8e1d7e8a2de89779c2 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 24 Mar 2022 15:51:36 +0100 Subject: [PATCH 042/281] switch to Belgium for CI and tutorial --- Snakefile | 2 +- config.tutorial.yaml | 10 +++++----- test/config.test1.yaml | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Snakefile b/Snakefile index a0709043..7678a401 100644 --- a/Snakefile +++ b/Snakefile @@ -160,7 +160,7 @@ if config['enable'].get('build_cutout', False): if config['enable'].get('retrieve_cutout', True): rule retrieve_cutout: - input: HTTP.remote("zenodo.org/record/4709858/files/{cutout}.nc", keep_local=True, static=True) + input: HTTP.remote("zenodo.org/record/6382570/files/{cutout}.nc", keep_local=True, static=True) output: "cutouts/{cutout}.nc" run: move(input[0], output[0]) diff --git a/config.tutorial.yaml b/config.tutorial.yaml index ea624727..5cade102 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -58,7 +58,7 @@ electricity: atlite: nprocesses: 4 cutouts: - europe-2013-era5-tutorial: + be-03-2013-era5: module: era5 x: [4., 15.] y: [46., 56.] @@ -66,7 +66,7 @@ atlite: renewable: onwind: - cutout: europe-2013-era5-tutorial + cutout: be-03-2013-era5 resource: method: wind turbine: Vestas_V112_3MW @@ -83,7 +83,7 @@ renewable: potential: simple # or conservative clip_p_max_pu: 1.e-2 offwind-ac: - cutout: europe-2013-era5-tutorial + cutout: be-03-2013-era5 resource: method: wind turbine: NREL_ReferenceTurbine_5MW_offshore @@ -95,7 +95,7 @@ renewable: potential: simple # or conservative clip_p_max_pu: 1.e-2 offwind-dc: - cutout: europe-2013-era5-tutorial + cutout: be-03-2013-era5 resource: method: wind turbine: NREL_ReferenceTurbine_5MW_offshore @@ -108,7 +108,7 @@ renewable: potential: simple # or conservative clip_p_max_pu: 1.e-2 solar: - cutout: europe-2013-era5-tutorial + cutout: be-03-2013-era5 resource: method: pv panel: CSi diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 2986037b..27cf739c 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -57,7 +57,7 @@ electricity: atlite: nprocesses: 4 cutouts: - europe-2013-era5-tutorial: + be-03-2013-era5: module: era5 x: [4., 15.] y: [46., 56.] @@ -65,7 +65,7 @@ atlite: renewable: onwind: - cutout: europe-2013-era5-tutorial + cutout: be-03-2013-era5 resource: method: wind turbine: Vestas_V112_3MW @@ -82,7 +82,7 @@ renewable: potential: simple # or conservative clip_p_max_pu: 1.e-2 offwind-ac: - cutout: europe-2013-era5-tutorial + cutout: be-03-2013-era5 resource: method: wind turbine: NREL_ReferenceTurbine_5MW_offshore @@ -94,7 +94,7 @@ renewable: potential: simple # or conservative clip_p_max_pu: 1.e-2 offwind-dc: - cutout: europe-2013-era5-tutorial + cutout: be-03-2013-era5 resource: method: wind turbine: NREL_ReferenceTurbine_5MW_offshore @@ -107,7 +107,7 @@ renewable: potential: simple # or conservative clip_p_max_pu: 1.e-2 solar: - cutout: europe-2013-era5-tutorial + cutout: be-03-2013-era5 resource: method: pv panel: CSi From bf8cbf507eb45f9fae7fded03033f27746ee015b Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 24 Mar 2022 15:52:01 +0100 Subject: [PATCH 043/281] switch to Belgium for CI and tutorial --- test/config.test1.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 27cf739c..a9ce1e50 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -16,7 +16,7 @@ scenario: clusters: [5] opts: [Co2L-24H] -countries: ['DE'] +countries: ['BE'] clustering: simplify: From d94719a33db6b1a6007f2c8104729e8bc9f52c42 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 24 Mar 2022 15:53:02 +0100 Subject: [PATCH 044/281] fix tutorial and add release notes --- config.tutorial.yaml | 2 +- doc/release_notes.rst | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 5cade102..225d8f78 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -17,7 +17,7 @@ scenario: clusters: [5] opts: [Co2L-24H] -countries: ['DE'] +countries: ['BE'] clustering: simplify: diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 3b20fbcf..f9f9967b 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -62,6 +62,9 @@ Upcoming Release * New network topology extracted from the ENTSO-E interactive map. +* Switch from Germany to Belgium for continuous integration and tutorial to save resources. + +* Use updated SARAH-2 and ERA5 cutouts with slightly wider scope to east and additional variables. PyPSA-Eur 0.4.0 (22th September 2021) ===================================== @@ -104,7 +107,7 @@ PyPSA-Eur 0.4.0 (22th September 2021) [`#261 `_]. * The tutorial cutout was renamed from ``cutouts/europe-2013-era5.nc`` to - ``cutouts/europe-2013-era5-tutorial.nc`` to accomodate tutorial and productive + ``cutouts/be-03-2013-era5.nc`` to accomodate tutorial and productive cutouts side-by-side. * The flag ``keep_all_available_areas`` in the configuration for renewable From 832cc8e5e8ddb8c9cb17d3f53f5493aa28abad10 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Mon, 28 Mar 2022 10:56:52 +0200 Subject: [PATCH 045/281] Windows compatibility through request string --- Snakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Snakefile b/Snakefile index 16d1c88e..53c4f6c9 100644 --- a/Snakefile +++ b/Snakefile @@ -68,7 +68,7 @@ if config['enable'].get('retrieve_databundle', True): rule retrieve_natura_data: - input: HTTP.remote("sdi.eea.europa.eu/datashare/s/H6QGCybMdLLnywo/download?path=%2FNatura2000_end2020_gpkg&files=Natura2000_end2020.gpkg", keep_local=True, static=True) + input: HTTP.remote("sdi.eea.europa.eu/datashare/s/H6QGCybMdLLnywo/download", additional_request_string="?path=%2FNatura2000_end2020_gpkg&files=Natura2000_end2020.gpkg", static=True) output: "data/Natura2000_end2020.gpkg" run: move(input[0], output[0]) From e45c7a65ffb767a5831ac6623813d2dd11228afb Mon Sep 17 00:00:00 2001 From: Seth <78690362+thesethtruth@users.noreply.github.com> Date: Mon, 28 Mar 2022 12:10:51 +0200 Subject: [PATCH 046/281] Apply suggestions from Martha's code review Co-authored-by: Martha Frysztacki --- scripts/plot_network.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/scripts/plot_network.py b/scripts/plot_network.py index 24d49473..3f95e16d 100755 --- a/scripts/plot_network.py +++ b/scripts/plot_network.py @@ -181,7 +181,7 @@ def plot_map(n, ax=None, attribute='p_nom', opts={}): return fig -def plot_total_energy_pie(n, ax=None, opts={}): +def plot_total_energy_pie(n, opts, ax=None): if ax is None: ax = plt.gca() ax.set_title('Energy per technology', fontdict=dict(fontsize="medium")) @@ -199,7 +199,7 @@ def plot_total_energy_pie(n, ax=None, opts={}): t1.remove() t2.remove() -def plot_total_cost_bar(n, ax=None, opts={}): +def plot_total_cost_bar(n, opts, ax=None): if ax is None: ax = plt.gca() total_load = (n.snapshot_weightings.generators * n.loads_t.p.sum(axis=1)).sum() @@ -258,13 +258,7 @@ if __name__ == "__main__": set_plot_style() - paths, config, wildcards, logs, out = ( - snakemake.input, - snakemake.config, - snakemake.wildcards, - snakemake.log, - snakemake.output, - ) + config, wildcards = snakemake.config, snakemake.wildcards map_figsize = config["plotting"]['map']['figsize'] map_boundaries = config["plotting"]['map']['boundaries'] From d3589be761c26a50484f3c3ad95591f2b6eb7957 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Mon, 28 Mar 2022 13:17:21 +0200 Subject: [PATCH 047/281] test explicit fiona for Windows --- envs/environment.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/envs/environment.yaml b/envs/environment.yaml index 0c881720..eca18332 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -45,6 +45,7 @@ dependencies: - cartopy - descartes - rasterio + - fiona # explicit for Windows # PyPSA-Eur-Sec Dependencies - geopy From c37171b01d772b0b8cdec19b386cbd4493461faf Mon Sep 17 00:00:00 2001 From: Seth Date: Mon, 28 Mar 2022 13:42:55 +0200 Subject: [PATCH 048/281] feedback code review (opts argument and unpacking) --- scripts/plot_network.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/plot_network.py b/scripts/plot_network.py index 3f95e16d..71a6e627 100755 --- a/scripts/plot_network.py +++ b/scripts/plot_network.py @@ -74,7 +74,7 @@ def set_plot_style(): }]) -def plot_map(n, ax=None, attribute='p_nom', opts={}): +def plot_map(n, opts, ax=None, attribute='p_nom'): if ax is None: ax = plt.gca() @@ -263,20 +263,20 @@ if __name__ == "__main__": map_figsize = config["plotting"]['map']['figsize'] map_boundaries = config["plotting"]['map']['boundaries'] - n = load_network_for_plots(paths.network, paths.tech_costs, config) + n = load_network_for_plots(snakemake.input.network, snakemake.input.tech_costs, config) scenario_opts = wildcards.opts.split('-') fig, ax = plt.subplots(figsize=map_figsize, subplot_kw={"projection": ccrs.PlateCarree()}) - plot_map(n, ax, wildcards.attr, config["plotting"]) + plot_map(n, config["plotting"], ax=ax, attribute=wildcards.attr) - fig.savefig(out.only_map, dpi=150, bbox_inches='tight') + fig.savefig(snakemake.output.only_map, dpi=150, bbox_inches='tight') ax1 = fig.add_axes([-0.115, 0.625, 0.2, 0.2]) - plot_total_energy_pie(n, ax1, config["plotting"]) + plot_total_energy_pie(n, config["plotting"], ax=ax1) ax2 = fig.add_axes([-0.075, 0.1, 0.1, 0.45]) - plot_total_cost_bar(n, ax2, config["plotting"]) + plot_total_cost_bar(n, config["plotting"], ax=ax2) ll = wildcards.ll ll_type = ll[0] @@ -286,4 +286,4 @@ if __name__ == "__main__": fig.suptitle('Expansion to {amount} {label} at {clusters} clusters' .format(amount=amnt, label=lbl, clusters=wildcards.clusters)) - fig.savefig(out.ext, transparent=True, bbox_inches='tight') + fig.savefig(snakemake.output.ext, transparent=True, bbox_inches='tight') From a05881479ccd363cf729e74e9947dcc45fbede33 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Mon, 28 Mar 2022 15:17:55 +0200 Subject: [PATCH 049/281] build_bus_regions: move voronoi partition from vresutils to script --- scripts/build_bus_regions.py | 65 ++++++++++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/scripts/build_bus_regions.py b/scripts/build_bus_regions.py index d91d0575..4f2369b6 100644 --- a/scripts/build_bus_regions.py +++ b/scripts/build_bus_regions.py @@ -47,9 +47,10 @@ from _helpers import configure_logging import pypsa import os import pandas as pd +import numpy as np import geopandas as gpd - -from vresutils.graph import voronoi_partition_pts +from shapely.geometry import Polygon +from scipy.spatial import Voronoi logger = logging.getLogger(__name__) @@ -61,6 +62,66 @@ def save_to_geojson(s, fn): s.to_file(fn, driver='GeoJSON', schema=schema) +def voronoi_partition_pts(points, outline, no_multipolygons=False): + """ + Compute the polygons of a voronoi partition of `points` within the + polygon `outline`. Taken from + https://github.com/FRESNA/vresutils/blob/master/vresutils/graph.py + Attributes + ---------- + points : Nx2 - ndarray[dtype=float] + outline : Polygon + no_multipolygons : bool (default: False) + If true, replace each MultiPolygon by its largest component + Returns + ------- + polygons : N - ndarray[dtype=Polygon|MultiPolygon] + """ + + points = np.asarray(points) + + if len(points) == 1: + polygons = [outline] + else: + xmin, ymin = np.amin(points, axis=0) + xmax, ymax = np.amax(points, axis=0) + xspan = xmax - xmin + yspan = ymax - ymin + + # to avoid any network positions outside all Voronoi cells, append + # the corners of a rectangle framing these points + vor = Voronoi(np.vstack((points, + [[xmin-3.*xspan, ymin-3.*yspan], + [xmin-3.*xspan, ymax+3.*yspan], + [xmax+3.*xspan, ymin-3.*yspan], + [xmax+3.*xspan, ymax+3.*yspan]]))) + + polygons = [] + for i in range(len(points)): + poly = Polygon(vor.vertices[vor.regions[vor.point_region[i]]]) + + if not poly.is_valid: + poly = poly.buffer(0) + + poly = poly.intersection(outline) + + polygons.append(poly) + + if no_multipolygons: + def demultipolygon(poly): + try: + # for a MultiPolygon pick the part with the largest area + poly = max(poly.geoms, key=lambda pg: pg.area) + except: + pass + return poly + polygons = [demultipolygon(poly) for poly in polygons] + + polygons_arr = np.empty((len(polygons),), 'object') + polygons_arr[:] = polygons + return polygons_arr + + if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake From 9eac6d9bbea17f0c8dacf003132df5a942002ff8 Mon Sep 17 00:00:00 2001 From: davide-f Date: Mon, 28 Mar 2022 21:45:03 +0200 Subject: [PATCH 050/281] Fix environment --- envs/environment.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/envs/environment.yaml b/envs/environment.yaml index 0c881720..00b7830a 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -37,6 +37,7 @@ dependencies: - pyomo - matplotlib - proj + - fiona <= 1.18.20 # Till issue https://github.com/Toblerity/Fiona/issues/1085 is not solved # Keep in conda environment when calling ipython - ipython From 70640cc336c9ed559c6ea04ed7517c7046b1484a Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sun, 3 Apr 2022 09:42:07 +0200 Subject: [PATCH 051/281] doc: fix tutorial config line references --- doc/tutorial.rst | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/doc/tutorial.rst b/doc/tutorial.rst index 17d4e3c1..76970aff 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -53,41 +53,43 @@ Likewise, the example's temporal scope can be restricted (e.g. to a single month .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 24-27 + :start-at: snapshots: + :end-before: enable: It is also possible to allow less or more carbon-dioxide emissions. Here, we limit the emissions of Germany 100 Megatonnes per year. .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 38,40 + :lines: 40,42 PyPSA-Eur also includes a database of existing conventional powerplants. We can select which types of powerplants we like to be included with fixed capacities: .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 38,54 + :lines: 40,56 To accurately model the temporal and spatial availability of renewables such as wind and solar energy, we rely on historical weather data. It is advisable to adapt the required range of coordinates to the selection of countries. .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 56-63 + :start-at: atlite: + :end-before: renewable: We can also decide which weather data source should be used to calculate potentials and capacity factor time-series for each carrier. For example, we may want to use the ERA-5 dataset for solar and not the default SARAH-2 dataset. .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 65,108-109 + :lines: 67,110,111 Finally, it is possible to pick a solver. For instance, this tutorial uses the open-source solvers CBC and Ipopt and does not rely on the commercial solvers Gurobi or CPLEX (for which free academic licenses are available). .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 171,181-182 + :lines: 173,183,184 .. note:: @@ -126,11 +128,6 @@ orders ``snakemake`` to run the script ``solve_network`` that produces the solve .. until https://github.com/snakemake/snakemake/issues/46 closed -.. warning:: - On Windows the previous command may currently cause a ``MissingRuleException`` due to problems with output files in subfolders. - This is an `open issue `_ at `snakemake `_. - Windows users should add the option ``--keep-target-files`` to the command or instead run ``snakemake -j 1 solve_all_networks``. - This triggers a workflow of multiple preceding jobs that depend on each rule's inputs and outputs: .. graphviz:: @@ -271,7 +268,8 @@ the wildcards given in ``scenario`` in the configuration file ``config.yaml`` ar .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 14-18 + :start-at: scenario: + :end-before: countries: In this example we would not only solve a 6-node model of Germany but also a 2-node model. From a217415c396b7e1eea58c346b21f865366e15849 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sun, 3 Apr 2022 09:42:35 +0200 Subject: [PATCH 052/281] env: bump minimum version number of atlite due to new cutouts with azimuth wind --- envs/environment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 00b7830a..3c69b77b 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -11,7 +11,7 @@ dependencies: - pip - pypsa>=0.18.1 - - atlite>=0.2.5 + - atlite>=0.2.6 - dask # Dependencies of the workflow itself From 7bc9b8012c1fe1c747d6386656bade8be70d7a5e Mon Sep 17 00:00:00 2001 From: Fabian Date: Mon, 4 Apr 2022 18:07:48 +0200 Subject: [PATCH 053/281] powerplants: update to ppm >= v0.5.1 --- envs/environment.yaml | 2 +- scripts/build_powerplants.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 3c69b77b..795aa334 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -24,7 +24,6 @@ dependencies: - yaml - pytables - lxml - - powerplantmatching>=0.4.8 - numpy - pandas - geopandas @@ -57,3 +56,4 @@ dependencies: - pip: - vresutils>=0.3.1 - tsam>=1.1.0 + - powerplantmatching>=0.5.1 diff --git a/scripts/build_powerplants.py b/scripts/build_powerplants.py index 764028d1..e18232b8 100755 --- a/scripts/build_powerplants.py +++ b/scripts/build_powerplants.py @@ -104,7 +104,7 @@ if __name__ == "__main__": countries = n.buses.country.unique() ppl = (pm.powerplants(from_url=True) - .powerplant.fill_missing_decommyears() + .powerplant.fill_missing_decommissioning_years() .powerplant.convert_country_to_alpha2() .query('Fueltype not in ["Solar", "Wind"] and Country in @countries') .replace({'Technology': {'Steam Turbine': 'OCGT'}}) From ade22bf4f003b774185e4a4ad123a6c33913bb0e Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Mon, 4 Apr 2022 19:03:09 +0200 Subject: [PATCH 054/281] add existing wind and solar capacities based on IRENASTATS --- config.default.yaml | 18 +++++++++++---- doc/release_notes.rst | 20 ++++++++++++++++ envs/environment.yaml | 2 +- scripts/add_electricity.py | 47 ++++++++++++++++++++------------------ 4 files changed, 60 insertions(+), 27 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index d2bf6159..f952f5b7 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -58,10 +58,20 @@ electricity: conventional_carriers: [nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass] renewable_capacities_from_OPSD: [] # onwind, offwind, solar - # estimate_renewable_capacities_from_capacity_stats: - # # Wind is the Fueltype in ppm.data.Capacity_stats, onwind, offwind-{ac,dc} the carrier in PyPSA-Eur - # Wind: [onwind, offwind-ac, offwind-dc] - # Solar: [solar] + estimate_renewable_capacities: + # Renewable capacities are based on existing capacities reported by IRENA + + # Reference year, any of 2000 to 2020 + year: 2020 + # Artificially limit maximum capacities to factor * (IRENA capacities), + # i.e. 110% of 's capacities => expansion_limit: 1.1 + # false: Use estimated renewable potentials determine by the workflow + expansion_limit: false + technology_mapping: + # Wind is the Fueltype in ppm.data.Capacity_stats, onwind, offwind-{ac,dc} the carrier in PyPSA-Eur + Offshore: [offwind-ac, offwind-dc] + Onshore: [onwind] + PV: [solar] atlite: nprocesses: 4 diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 3f131dc0..9b012bf8 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -7,6 +7,26 @@ Release Notes ########################################## +Energy Security Release (April 2022) +==================================== + +**New Features and Changes** + +* Added existing renewable capacities for all countries based on IRENA statistics (IRENASTAT) using new ``powerplantmatching`` version: + * Configuration of reference year for capacities can be configured (default: ``2020``) + * Uniform expansion limit of renewable build-up based on existing capacities can be configured using ``expansion_limit`` option + (default: ``false``; limited to determined renewable potentials) + * Distribution of country-level capacities proportional to maximum annual energy yield for each bus region + * This functionality was previously using OPSD data. + * The corresponding ``config`` entries changed, cf. ``config.default.yaml``: + * old: ``estimate_renewable_capacities_from_capacity_stats`` + * new: ``estimate_renewable_capacities`` + + +**Bugs and Compatibility** + +* ``powerplantmatching>=0.5.1`` is now required for ``IRENASTATS``. + Synchronisation Release - Ukraine and Moldova (17th March 2022) =============================================================== diff --git a/envs/environment.yaml b/envs/environment.yaml index 3c69b77b..d02b0018 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -24,7 +24,7 @@ dependencies: - yaml - pytables - lxml - - powerplantmatching>=0.4.8 + - powerplantmatching>=0.5.1 - numpy - pandas - geopandas diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index ad932cd8..f468bab3 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT @@ -491,29 +491,29 @@ def attach_OPSD_renewables(n, techs): -def estimate_renewable_capacities(n, tech_map): +def estimate_renewable_capacities(n, config): - if len(tech_map) == 0: return - - capacities = (pm.data.Capacity_stats().powerplant.convert_country_to_alpha2() - [lambda df: df.Energy_Source_Level_2] - .set_index(['Fueltype', 'Country']).sort_index()) - - countries = n.buses.country.unique() + if not config["electricity"]["estimate_renewable_capacities"]: return + + year = config["electricity"]["estimate_renewable_capacities"]["year"] + tech_map = config["electricity"]["estimate_renewable_capacities"]["technology_mapping"] + tech_keys = list(tech_map.keys()) + countries = config["countries"] + expansion_limit = config["electricity"]["estimate_renewable_capacities"]["expansion_limit"] if len(countries) == 0: return + if len(tech_map) == 0: return - logger.info('heuristics applied to distribute renewable capacities [MW] \n{}' - .format(capacities.query('Fueltype in @tech_map.keys() and Capacity >= 0.1') - .groupby('Country').agg({'Capacity': 'sum'}))) + capacities = pm.data.IRENASTAT().powerplant.convert_country_to_alpha2() + capacities = capacities.query("Year == @year and Technology in @tech_keys and Country in @countries") + capacities = capacities.groupby(["Technology", "Country"]).Capacity.sum() - for ppm_fueltype, techs in tech_map.items(): - tech_capacities = capacities.loc[ppm_fueltype, 'Capacity']\ - .reindex(countries, fill_value=0.) - #tech_i = n.generators.query('carrier in @techs').index - tech_i = (n.generators.query('carrier in @techs') - [n.generators.query('carrier in @techs') - .bus.map(n.buses.country).isin(countries)].index) + logger.info(f"Heuristics applied to distribute renewable capacities [MW] " + f"{capacities.groupby('Country').sum()}") + + for ppm_technology, techs in tech_map.items(): + tech_capacities = capacities.loc[ppm_technology].reindex(countries, fill_value=0.) + tech_i = n.generators.query('carrier in @techs').index n.generators.loc[tech_i, 'p_nom'] = ( (n.generators_t.p_max_pu[tech_i].mean() * n.generators.loc[tech_i, 'p_nom_max']) # maximal yearly generation @@ -522,6 +522,11 @@ def estimate_renewable_capacities(n, tech_map): .where(lambda s: s>0.1, 0.)) # only capacities above 100kW n.generators.loc[tech_i, 'p_nom_min'] = n.generators.loc[tech_i, 'p_nom'] + if expansion_limit: + assert np.isscalar(expansion_limit) + logger.info(f"Reducing capacity expansion limit to {expansion_limit*100:.2f}% of installed capacity.") + n.generators.loc[tech_i, 'p_nom_max'] = float(expansion_limit) * n.generators.loc[tech_i, 'p_nom_min'] + def add_nice_carrier_names(n, config): carrier_i = n.carriers.index @@ -565,11 +570,9 @@ if __name__ == "__main__": carriers = snakemake.config['electricity']['extendable_carriers']['Generator'] attach_extendable_generators(n, costs, ppl, carriers) - tech_map = snakemake.config['electricity'].get('estimate_renewable_capacities_from_capacity_stats', {}) - estimate_renewable_capacities(n, tech_map) + estimate_renewable_capacities(n, snakemake.config) techs = snakemake.config['electricity'].get('renewable_capacities_from_OPSD', []) attach_OPSD_renewables(n, techs) - update_p_nom_max(n) add_nice_carrier_names(n, snakemake.config) From 46acddd3697c9af84e6be5fcfef229e2a32609d3 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Mon, 4 Apr 2022 22:17:40 +0200 Subject: [PATCH 055/281] update TYNDP links which are already built --- data/links_tyndp.csv | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/data/links_tyndp.csv b/data/links_tyndp.csv index 8079be72..38203979 100644 --- a/data/links_tyndp.csv +++ b/data/links_tyndp.csv @@ -1,14 +1,15 @@ Name,Converterstation 1,Converterstation 2,Length (given) (km),Length (distance*1.2) (km),Power (MW),status,replaces,Ref,x1,y1,x2,y2 Biscay Gulf,Gatica (ES),Cubnezais (FR),370,,2200,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/16,-2.867,43.367,-0.408943,45.074191 Italy-France,Piossasco (IT),Grand Ile (FR),190,,1000,under construction,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/21,7.468,44.9898,6.045,45.472 -IFA2,Tourbe (FR),Chilling (GB),,247.2,1000,under construction,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/25,-0.172042,49.083593,-1.277269,50.839338 -Italy-Montenegro,Villanova (IT),Latsva (MT),445,,1200,under construction,Link.14539,https://tyndp.entsoe.eu/tyndp2018/projects/projects/28,14.125,42.3947222222222,18.7947222222222,42.3175 -NordLink,Tonstad (NO),Wilster (DE),514,,1400,under construction,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/37,6.716948,58.662631,9.373979,53.922479 -COBRA cable,Endrup (DK),Eemshaven (NL),325,,700,under construction,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/71,8.718392,55.523115,6.835494,53.438589 -Thames Estuary Cluster (NEMO-Link),Richborough (GB),Gezelle (BE),140,,1000,under construction,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/74,1.324854,51.295891,3.23043,51.24902 -Anglo-Scottish -1,Hunterston (UK),Deeside (UK),422,,2400,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/77,-4.898329,55.723331,-3.032972,53.199735 +IFA2,Tourbe (FR),Chilling (GB),,247.2,1000,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/25,-0.172042,49.083593,-1.277269,50.839338 +Italy-Montenegro Phase 1,Villanova (IT),Latsva (MT),445,,600,built,Link.14539,https://tyndp.entsoe.eu/tyndp2018/projects/projects/28,14.125,42.3947222222222,18.7947222222222,42.3175 +Italy-Montenegro Phase 2,Villanova (IT),Latsva (MT),445,,600,under construction,Link.14539,https://tyndp.entsoe.eu/tyndp2018/projects/projects/28,14.125,42.3947222222222,18.7947222222222,42.3175 +NordLink,Tonstad (NO),Wilster (DE),514,,1400,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/37,6.716948,58.662631,9.373979,53.922479 +COBRA cable,Endrup (DK),Eemshaven (NL),325,,700,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/71,8.718392,55.523115,6.835494,53.438589 +Thames Estuary Cluster (NEMO-Link),Richborough (GB),Gezelle (BE),140,,1000,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/74,1.324854,51.295891,3.23043,51.24902 +Anglo-Scottish-1,Hunterston (UK),Deeside (UK),422,,2400,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/77,-4.898329,55.723331,-3.032972,53.199735 ALEGrO,Lixhe (BE),Oberzier (DE),100,,1000,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/92,5.67933,50.7567965,6.474704,50.867532 -North Sea Link,Kvilldal (NO),Blythe (GB),720,,1400,under construction,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/110,6.637527,59.515096,-1.510277,55.126957 +North Sea Link,Kvilldal (NO),Blythe (GB),720,,1400,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/110,6.637527,59.515096,-1.510277,55.126957 HVDC SuedOstLink,Wolmirstedt (DE),Isar (DE),,557,2000,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/130,11.629014,52.252137,12.091596,48.080837 HVDC Line A-North,Emden East (DE),Osterath (DE),,284,2000,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/132,7.206009,53.359403,6.619451,51.272935 France-Alderney-Britain,Exeter (UK),Menuel (FR),220,,1400,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/153,-3.533899,50.718412,-1.469216,49.509594 From f878faac73b9ef61d0a4c146c8ac6be0a990dd7b Mon Sep 17 00:00:00 2001 From: Fabian Date: Tue, 5 Apr 2022 08:02:44 +0200 Subject: [PATCH 056/281] add_electricity: allow estimate_renewable_capacities to be commented out --- scripts/add_electricity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index f468bab3..961b87dc 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -493,7 +493,7 @@ def attach_OPSD_renewables(n, techs): def estimate_renewable_capacities(n, config): - if not config["electricity"]["estimate_renewable_capacities"]: return + if not config["electricity"].get("estimate_renewable_capacities"): return year = config["electricity"]["estimate_renewable_capacities"]["year"] tech_map = config["electricity"]["estimate_renewable_capacities"]["technology_mapping"] From 1fd6a685ab636ca918eb58a5e3dbac175d66ad68 Mon Sep 17 00:00:00 2001 From: Fabian Date: Tue, 5 Apr 2022 15:12:01 +0200 Subject: [PATCH 057/281] powerplants: filter out powerplants with shut down date < 2021 --- config.default.yaml | 6 ++++-- doc/release_notes.rst | 1 + scripts/build_powerplants.py | 13 +++++++------ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index f952f5b7..4cd0eadc 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -53,8 +53,10 @@ electricity: battery: 6 H2: 168 - powerplants_filter: false # use pandas query strings here, e.g. Country not in ['Germany'] - custom_powerplants: false # use pandas query strings here, e.g. Country in ['Germany'] + # use pandas query strings here, e.g. Country not in ['Germany'] + powerplants_filter: (DateOut >= 2021 or DateOut != DateOut) + # use pandas query strings here, e.g. Country in ['Germany'] + custom_powerplants: false conventional_carriers: [nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass] renewable_capacities_from_OPSD: [] # onwind, offwind, solar diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 9b012bf8..4ef5e956 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -22,6 +22,7 @@ Energy Security Release (April 2022) * old: ``estimate_renewable_capacities_from_capacity_stats`` * new: ``estimate_renewable_capacities`` +* The powerplants that have been shut down before 2021 are filtered out. **Bugs and Compatibility** diff --git a/scripts/build_powerplants.py b/scripts/build_powerplants.py index e18232b8..9a7c9e23 100755 --- a/scripts/build_powerplants.py +++ b/scripts/build_powerplants.py @@ -94,6 +94,10 @@ def add_custom_powerplants(ppl, custom_powerplants, custom_ppl_query=False): return pd.concat([ppl, add_ppls], sort=False, ignore_index=True, verify_integrity=True) +def replace_natural_gas_by_technology(df): + return df.Fueltype.where(df.Fueltype != 'Natural Gas', df.Technology) + + if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake @@ -103,16 +107,13 @@ if __name__ == "__main__": n = pypsa.Network(snakemake.input.base_network) countries = n.buses.country.unique() + ppl = (pm.powerplants(from_url=True) .powerplant.fill_missing_decommissioning_years() .powerplant.convert_country_to_alpha2() .query('Fueltype not in ["Solar", "Wind"] and Country in @countries') - .replace({'Technology': {'Steam Turbine': 'OCGT'}}) - .assign(Fueltype=lambda df: ( - df.Fueltype - .where(df.Fueltype != 'Natural Gas', - df.Technology.replace('Steam Turbine', - 'OCGT').fillna('OCGT'))))) + .replace({'Technology': {'Steam Turbine': 'OCGT', "Combustion Engine": "OCGT"}}) + .assign(Fueltype=replace_natural_gas_by_technology)) ppl_query = snakemake.config['electricity']['powerplants_filter'] if isinstance(ppl_query, str): From 2a34ab26c4f09deb637ed3c143c8a6d96e7346a2 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 5 Apr 2022 16:07:04 +0200 Subject: [PATCH 058/281] add TYNDP link replaces --- data/links_tyndp.csv | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/data/links_tyndp.csv b/data/links_tyndp.csv index 38203979..dd55e514 100644 --- a/data/links_tyndp.csv +++ b/data/links_tyndp.csv @@ -2,14 +2,13 @@ Name,Converterstation 1,Converterstation 2,Length (given) (km),Length (distance* Biscay Gulf,Gatica (ES),Cubnezais (FR),370,,2200,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/16,-2.867,43.367,-0.408943,45.074191 Italy-France,Piossasco (IT),Grand Ile (FR),190,,1000,under construction,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/21,7.468,44.9898,6.045,45.472 IFA2,Tourbe (FR),Chilling (GB),,247.2,1000,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/25,-0.172042,49.083593,-1.277269,50.839338 -Italy-Montenegro Phase 1,Villanova (IT),Latsva (MT),445,,600,built,Link.14539,https://tyndp.entsoe.eu/tyndp2018/projects/projects/28,14.125,42.3947222222222,18.7947222222222,42.3175 -Italy-Montenegro Phase 2,Villanova (IT),Latsva (MT),445,,600,under construction,Link.14539,https://tyndp.entsoe.eu/tyndp2018/projects/projects/28,14.125,42.3947222222222,18.7947222222222,42.3175 -NordLink,Tonstad (NO),Wilster (DE),514,,1400,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/37,6.716948,58.662631,9.373979,53.922479 -COBRA cable,Endrup (DK),Eemshaven (NL),325,,700,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/71,8.718392,55.523115,6.835494,53.438589 +Italy-Montenegro,Villanova (IT),Latsva (MT),445,,1200,built,Link.14802,https://tyndp.entsoe.eu/tyndp2018/projects/projects/28,14.125,42.3947222222222,18.7947222222222,42.3175 +NordLink,Tonstad (NO),Wilster (DE),514,,1400,built,Link.14848,https://tyndp.entsoe.eu/tyndp2018/projects/projects/37,6.716948,58.662631,9.373979,53.922479 +COBRA cable,Endrup (DK),Eemshaven (NL),325,,700,built,Link.14803,https://tyndp.entsoe.eu/tyndp2018/projects/projects/71,8.718392,55.523115,6.835494,53.438589 Thames Estuary Cluster (NEMO-Link),Richborough (GB),Gezelle (BE),140,,1000,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/74,1.324854,51.295891,3.23043,51.24902 -Anglo-Scottish-1,Hunterston (UK),Deeside (UK),422,,2400,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/77,-4.898329,55.723331,-3.032972,53.199735 -ALEGrO,Lixhe (BE),Oberzier (DE),100,,1000,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/92,5.67933,50.7567965,6.474704,50.867532 -North Sea Link,Kvilldal (NO),Blythe (GB),720,,1400,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/110,6.637527,59.515096,-1.510277,55.126957 +Anglo-Scottish-1,Hunterston (UK),Deeside (UK),422,,2400,built,Link.8009,https://tyndp.entsoe.eu/tyndp2018/projects/projects/77,-4.898329,55.723331,-3.032972,53.199735 +ALEGrO,Lixhe (BE),Oberzier (DE),100,,1000,built,Link.14801,https://tyndp.entsoe.eu/tyndp2018/projects/projects/92,5.67933,50.7567965,6.474704,50.867532 +North Sea Link,Kvilldal (NO),Blythe (GB),720,,1400,built,Link.14804,https://tyndp.entsoe.eu/tyndp2018/projects/projects/110,6.637527,59.515096,-1.510277,55.126957 HVDC SuedOstLink,Wolmirstedt (DE),Isar (DE),,557,2000,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/130,11.629014,52.252137,12.091596,48.080837 HVDC Line A-North,Emden East (DE),Osterath (DE),,284,2000,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/132,7.206009,53.359403,6.619451,51.272935 France-Alderney-Britain,Exeter (UK),Menuel (FR),220,,1400,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/153,-3.533899,50.718412,-1.469216,49.509594 @@ -24,4 +23,4 @@ HVDC Ultranet,Osterath (DE),Philippsburg (DE),,314,600,in permitting,,https://ty Gridlink,Kingsnorth (UK),Warande (FR),160,,1400,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/285,0.596111111111111,51.41972,2.376776,51.034368 NeuConnect,Grain (UK),Fedderwarden (DE),680,,1400,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/309,0.716666666666667,51.44,8.046524,53.562763 NordBalt,Klaipeda (LT),Nybro (SE),450,,700,built,,https://en.wikipedia.org/wiki/NordBalt,21.256667,55.681667,15.854167,56.767778 -Estlink 1,Harku (EE),Espoo (FI),105,,350,built,,https://en.wikipedia.org/wiki/Estlink,24.560278,59.384722,24.551667,60.203889 +Estlink 1,Harku (EE),Espoo (FI),105,,350,built,Link.14807,https://en.wikipedia.org/wiki/Estlink,24.560278,59.384722,24.551667,60.203889 From eca4a017dbb882645b49eb6114ff9731e4b476ce Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 5 Apr 2022 16:07:30 +0200 Subject: [PATCH 059/281] implement TYNDP link overriding for link_id not oid --- scripts/base_network.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/scripts/base_network.py b/scripts/base_network.py index 50ec8e53..646a3e9c 100644 --- a/scripts/base_network.py +++ b/scripts/base_network.py @@ -196,14 +196,15 @@ def _add_links_from_tyndp(buses, links, links_tyndp, europe_shape): return buses, links has_replaces_b = links_tyndp.replaces.notnull() - oids = dict(Bus=_get_oid(buses), Link=_get_oid(links)) + logger.info("TYNDP links replacing links in dataset (overwriting): " + ", ".join(links_tyndp.loc[has_replaces_b, "Name"])) + ids = dict(Bus=buses.index, Link=links.index) keep_b = dict(Bus=pd.Series(True, index=buses.index), Link=pd.Series(True, index=links.index)) for reps in links_tyndp.loc[has_replaces_b, 'replaces']: for comps in reps.split(':'): - oids_to_remove = comps.split('.') - c = oids_to_remove.pop(0) - keep_b[c] &= ~oids[c].isin(oids_to_remove) + ids_to_remove = comps.split('.') + c = ids_to_remove.pop(0) + keep_b[c] &= ~ids[c].isin(ids_to_remove) buses = buses.loc[keep_b['Bus']] links = links.loc[keep_b['Link']] @@ -211,7 +212,7 @@ def _add_links_from_tyndp(buses, links, links_tyndp, europe_shape): # Corresponds approximately to 20km tolerances if links_tyndp["j"].notnull().any(): - logger.info("TYNDP links already in the dataset (skipping): " + ", ".join(links_tyndp.loc[links_tyndp["j"].notnull(), "Name"])) + logger.info("Additional TYNDP links already in the dataset (skipping): " + ", ".join(links_tyndp.loc[links_tyndp["j"].notnull(), "Name"])) links_tyndp = links_tyndp.loc[links_tyndp["j"].isnull()] if links_tyndp.empty: return buses, links From aa6e98a56375b6c8c2c16cfc541a48ca4b239277 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 5 Apr 2022 16:11:02 +0200 Subject: [PATCH 060/281] label built TYNDP links as not under_construction --- scripts/base_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/base_network.py b/scripts/base_network.py index 646a3e9c..9e8421ab 100644 --- a/scripts/base_network.py +++ b/scripts/base_network.py @@ -236,7 +236,7 @@ def _add_links_from_tyndp(buses, links, links_tyndp, europe_shape): carrier='DC', p_nom=links_tyndp["Power (MW)"], length=links_tyndp["Length (given) (km)"].fillna(links_tyndp["Length (distance*1.2) (km)"]), - under_construction=True, + under_construction=~(links_tyndp.status == 'built'), underground=False, geometry=(links_tyndp[["x1", "y1", "x2", "y2"]] .apply(lambda s: str(LineString([[s.x1, s.y1], [s.x2, s.y2]])), axis=1)), From 7a52b6bc455e160b9b32ca95400e5b882da32e0e Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Mon, 28 Mar 2022 12:02:08 +0200 Subject: [PATCH 061/281] resolve cherry merge conflict 1 --- Snakefile | 4 ++-- scripts/build_hydro_profile.py | 29 ++++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/Snakefile b/Snakefile index 7678a401..f3a894fc 100644 --- a/Snakefile +++ b/Snakefile @@ -50,7 +50,7 @@ if config['enable'].get('prepare_links_p_nom', False): datafiles = ['ch_cantons.csv', 'je-e-21.03.02.xls', - 'eez/World_EEZ_v8_2014.shp', 'EIA_hydro_generation_2000_2014.csv', + 'eez/World_EEZ_v8_2014.shp', 'hydro_capacities.csv', 'naturalearth/ne_10m_admin_0_countries.shp', 'NUTS_2013_60M_SH/data/NUTS_RG_60M_2013.shp', 'nama_10r_3popgdp.tsv.gz', 'nama_10r_3gdp.tsv.gz', 'corine/g250_clc06_V18_5.tif'] @@ -208,7 +208,7 @@ rule build_renewable_profiles: rule build_hydro_profile: input: country_shapes='resources/country_shapes.geojson', - eia_hydro_generation='data/bundle/EIA_hydro_generation_2000_2014.csv', + eia_hydro_generation='data/eia_hydro_annual_generation.csv', cutout=f"cutouts/{config['renewable']['hydro']['cutout']}.nc" if "hydro" in config["renewable"] else "config['renewable']['hydro']['cutout'] not configured", output: 'resources/profile_hydro.nc' log: "logs/build_hydro_profile.log" diff --git a/scripts/build_hydro_profile.py b/scripts/build_hydro_profile.py index 74efc2ef..0fb20b06 100644 --- a/scripts/build_hydro_profile.py +++ b/scripts/build_hydro_profile.py @@ -64,7 +64,29 @@ from _helpers import configure_logging import atlite import geopandas as gpd -from vresutils import hydro as vhydro +import pandas as pd + +import country_converter as coco +cc = coco.CountryConverter() + + +def get_eia_annual_hydro_generation(fn, countries): + + # in billion kWh/a = TWh/a + df = pd.read_csv(fn, skiprows=2, index_col=1, na_values=[u' ','--']).iloc[1:, 1:] + df.index = df.index.str.strip() + + df.loc["Germany"] = df.filter(like='Germany', axis=0).sum() + df.loc["Serbia"] += df.loc["Kosovo"] + df = df.loc[~df.index.str.contains('Former')] + + df.index = cc.convert(df.index, to='iso2') + df.index.name = 'countries' + + df = df.T[countries] * 1e6 # in MWh/a + + return df + logger = logging.getLogger(__name__) @@ -82,8 +104,9 @@ if __name__ == "__main__": .set_index('name')['geometry'].reindex(countries)) country_shapes.index.name = 'countries' - eia_stats = vhydro.get_eia_annual_hydro_generation( - snakemake.input.eia_hydro_generation).reindex(columns=countries) + fn = snakemake.input.eia_hydro_generation + eia_stats = get_eia_annual_hydro_generation(fn, countries) + inflow = cutout.runoff(shapes=country_shapes, smooth=True, lower_threshold_quantile=True, From 998761ec8851c3fae06c8e9c738cba7d31f80ed5 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Mon, 28 Mar 2022 12:03:23 +0200 Subject: [PATCH 062/281] build_hydro: add new EIA hydro dataset --- data/eia_hydro_annual_generation.csv | 50 ++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 data/eia_hydro_annual_generation.csv diff --git a/data/eia_hydro_annual_generation.csv b/data/eia_hydro_annual_generation.csv new file mode 100644 index 00000000..cb1ae12f --- /dev/null +++ b/data/eia_hydro_annual_generation.csv @@ -0,0 +1,50 @@ +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&s=315532800000&e=1577836800000&ev=false& +Report generated on: 03-28-2022 11:20:48 +"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" +"","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.441501","569.308453","591.206662","587.371195","541.542535","506.19703","544.536443","545.176179","537.335934","540.934407","567.557921","564.244482","619.96477","543.05273","600.46622","631.86431","619.59229","615.53013","629.98906","562.59258","619.31106","610.62616","670.925" +"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.49133","4.09068","4.67775","6.88941","4.67676","5.83605","7.70418","4.47975","8.46648","5.15394","5.281" +"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.43655","45.344" +"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.311","0.108","1.29" +"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.7521","6.35382","6.02019","6.1" +"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.98168","2.84328","3.14622","3.99564","4.55598","5.59845","3.8412","2.79972","5.09553","3.34917","3.37" +"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.327","6.784","5.255","7.62399","5.87268","3.4" +"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" +"INTL.33-12-CZE-BKWH.A"," Czech Republic","--","--","--","--","--","--","--","--","--","--","--","--","--","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.98792","3.4" +"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.019","0.018","0.015","0.01584","0.02" +"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.01881","0.04" +"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.075262","0.075195","0.095535","0.08483","0.093443","0.097986","0.099934","0.103407","0.094921","0.091482","0.06676","0.092","0.099","0.091","0.121","0.132","0.105","0.11","0.107","0.102","0.11" +"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.634","14.61","13.137","12.31461","15.56" +"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.98242","64.84" +"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.815","19.86039","24.75" +"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" +"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.43" +"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.227","0.253","0.214","0.216","0.21681","0.24" +"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.092","13.892","13.679","13.32441","12.46" +"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.87813","1.21" +"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.36477","41.45625","52.24626","57.95955","45.08163","42.00768","35.83701","48.29913","45.31824","47.72" +"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.27027","0.2079","0.26" +"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.857","3.677","2.838","1.953","1.841","2.523","4.356","2.417","2.08692","2.59" +"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.446193","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.34254","1.06" +"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.10593","1.09" +"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" +"INTL.33-12-MNE-BKWH.A"," Montenegro","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","1.733","1.271","1.524","2.05","2.723","1.192","1.462","2.479","1.734","1.476","1.825","1.014","2.09187","1.78","1.8" +"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.104","0.114","0.112","0.093","0.1","0.061","0.072","0.07326","0.05" +"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.878","1.099","1.773","1.15236","1.24" +"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.66288","141.69" +"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.93842","2.93" +"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","13.96" +"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.63","14.774","15.886","13.126","16.348","20.005","18.172","15.806","17.023","15.379","19.684","14.581","11.945","14.807","18.618","16.467","17.848","14.349","17.48736","15.65289","15.53" +"INTL.33-12-SRB-BKWH.A"," Serbia","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","10.855","9.937","9.468","10.436","11.772","8.58","9.193","10.101","10.893","9.979","10.684","9.061","10.53261","10.07028","9.66" +"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.27383","4.67" +"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.43421","5.24" +"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.23025","33.34" +"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.46583","71.6" +"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","39.604","36.466","40.895","34.862","34.471","33.411","30.914","30.649","34.898","35.676","35.366","35.704","32.069","38.218","38.08","37.659","37.879","34.281","33.754","34.637","37.6596","40.62" +"INTL.33-12-TUR-BKWH.A"," Turkey","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.686","57.824","59.49","87.99714","77.39" +"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.067","5.283","5.035","4.015","4.74","3.195","4.795","4.873","4.547","5.026","5.094","5.178","3.566","5.655","5.286","4.667","5.832","6.246","5.342","5.836","5.189","5.89941","7.64" \ No newline at end of file From 9812e64e8228be3e297fcf5e959e2bf31f526d35 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 29 Mar 2022 09:17:28 +0200 Subject: [PATCH 063/281] resolve cherry merge conflict 2 --- envs/environment.yaml | 2 +- scripts/build_hydro_profile.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 795aa334..9772d882 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -37,6 +37,7 @@ dependencies: - matplotlib - proj - fiona <= 1.18.20 # Till issue https://github.com/Toblerity/Fiona/issues/1085 is not solved + - country_converter # Keep in conda environment when calling ipython - ipython @@ -50,7 +51,6 @@ dependencies: - geopy - tqdm - pytz - - country_converter - tabula-py - pip: diff --git a/scripts/build_hydro_profile.py b/scripts/build_hydro_profile.py index 0fb20b06..4add4c85 100644 --- a/scripts/build_hydro_profile.py +++ b/scripts/build_hydro_profile.py @@ -79,6 +79,7 @@ def get_eia_annual_hydro_generation(fn, countries): df.loc["Germany"] = df.filter(like='Germany', axis=0).sum() df.loc["Serbia"] += df.loc["Kosovo"] df = df.loc[~df.index.str.contains('Former')] + df.drop(["Europe", "Germany, West", "Germany, East"], inplace=True) df.index = cc.convert(df.index, to='iso2') df.index.name = 'countries' From 51dffbefa393a2498b8d2fd28aaaf63a051ec1f0 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 5 Apr 2022 16:59:51 +0200 Subject: [PATCH 064/281] add gas usage limit constraint --- config.default.yaml | 1 + scripts/prepare_network.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/config.default.yaml b/config.default.yaml index 4cd0eadc..128c7bac 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -39,6 +39,7 @@ enable: electricity: voltages: [220., 300., 380.] + gaslimit: false co2limit: 7.75e+7 # 0.05 * 3.1e9*0.5 co2base: 1.487e+9 agg_p_nom_limits: data/agg_p_nom_minmax.csv diff --git a/scripts/prepare_network.py b/scripts/prepare_network.py index 206e220b..27aacacf 100755 --- a/scripts/prepare_network.py +++ b/scripts/prepare_network.py @@ -77,6 +77,16 @@ def add_co2limit(n, co2limit, Nyears=1.): constant=co2limit * Nyears) +def add_gaslimit(n, gaslimit, Nyears=1.): + + sel = n.carriers.index.intersection(["OCGT", "CCGT", "CHP"]) + n.carriers.loc[sel, "gas_usage"] = 1. + + n.add("GlobalConstraint", "GasLimit", + carrier_attribute="gas_usage", sense="<=", + constant=gaslimit * Nyears) + + def add_emission_prices(n, emission_prices={'co2': 0.}, exclude_co2=False): if exclude_co2: emission_prices.pop('co2') ep = (pd.Series(emission_prices).rename(lambda x: x+'_emissions') * @@ -237,6 +247,10 @@ if __name__ == "__main__": add_co2limit(n, snakemake.config['electricity']['co2limit'], Nyears) break + gaslimit = snakemake.config["electricity"].get("gaslimit") + if gaslimit: + add_gaslimit(n, gaslimit, Nyears) + for o in opts: oo = o.split("+") suptechs = map(lambda c: c.split("-", 2)[0], n.carriers.index) From c4bb470b933237a114efcaf8a866de7c0ccbc4a9 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 5 Apr 2022 17:05:50 +0200 Subject: [PATCH 065/281] add release note and instructions on global gas limit --- config.default.yaml | 2 +- doc/release_notes.rst | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/config.default.yaml b/config.default.yaml index 128c7bac..6983945c 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -39,7 +39,7 @@ enable: electricity: voltages: [220., 300., 380.] - gaslimit: false + gaslimit: false # global gas usage limit of X MWh_th co2limit: 7.75e+7 # 0.05 * 3.1e9*0.5 co2base: 1.487e+9 agg_p_nom_limits: data/agg_p_nom_minmax.csv diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 4ef5e956..78a9997d 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -22,6 +22,8 @@ Energy Security Release (April 2022) * old: ``estimate_renewable_capacities_from_capacity_stats`` * new: ``estimate_renewable_capacities`` +* Add function to add global constraint on use of gas in :mod:`prepare_network`. This can be activated with `electricity: gaslimit:` given in MWh. + * The powerplants that have been shut down before 2021 are filtered out. **Bugs and Compatibility** From bfcc20aa13578354e90fe851f4761dd70e726ba9 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 5 Apr 2022 17:10:12 +0200 Subject: [PATCH 066/281] Revert "update TYNDP links which are already built" --- data/links_tyndp.csv | 18 +++++++++--------- scripts/base_network.py | 13 ++++++------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/data/links_tyndp.csv b/data/links_tyndp.csv index dd55e514..8079be72 100644 --- a/data/links_tyndp.csv +++ b/data/links_tyndp.csv @@ -1,14 +1,14 @@ Name,Converterstation 1,Converterstation 2,Length (given) (km),Length (distance*1.2) (km),Power (MW),status,replaces,Ref,x1,y1,x2,y2 Biscay Gulf,Gatica (ES),Cubnezais (FR),370,,2200,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/16,-2.867,43.367,-0.408943,45.074191 Italy-France,Piossasco (IT),Grand Ile (FR),190,,1000,under construction,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/21,7.468,44.9898,6.045,45.472 -IFA2,Tourbe (FR),Chilling (GB),,247.2,1000,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/25,-0.172042,49.083593,-1.277269,50.839338 -Italy-Montenegro,Villanova (IT),Latsva (MT),445,,1200,built,Link.14802,https://tyndp.entsoe.eu/tyndp2018/projects/projects/28,14.125,42.3947222222222,18.7947222222222,42.3175 -NordLink,Tonstad (NO),Wilster (DE),514,,1400,built,Link.14848,https://tyndp.entsoe.eu/tyndp2018/projects/projects/37,6.716948,58.662631,9.373979,53.922479 -COBRA cable,Endrup (DK),Eemshaven (NL),325,,700,built,Link.14803,https://tyndp.entsoe.eu/tyndp2018/projects/projects/71,8.718392,55.523115,6.835494,53.438589 -Thames Estuary Cluster (NEMO-Link),Richborough (GB),Gezelle (BE),140,,1000,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/74,1.324854,51.295891,3.23043,51.24902 -Anglo-Scottish-1,Hunterston (UK),Deeside (UK),422,,2400,built,Link.8009,https://tyndp.entsoe.eu/tyndp2018/projects/projects/77,-4.898329,55.723331,-3.032972,53.199735 -ALEGrO,Lixhe (BE),Oberzier (DE),100,,1000,built,Link.14801,https://tyndp.entsoe.eu/tyndp2018/projects/projects/92,5.67933,50.7567965,6.474704,50.867532 -North Sea Link,Kvilldal (NO),Blythe (GB),720,,1400,built,Link.14804,https://tyndp.entsoe.eu/tyndp2018/projects/projects/110,6.637527,59.515096,-1.510277,55.126957 +IFA2,Tourbe (FR),Chilling (GB),,247.2,1000,under construction,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/25,-0.172042,49.083593,-1.277269,50.839338 +Italy-Montenegro,Villanova (IT),Latsva (MT),445,,1200,under construction,Link.14539,https://tyndp.entsoe.eu/tyndp2018/projects/projects/28,14.125,42.3947222222222,18.7947222222222,42.3175 +NordLink,Tonstad (NO),Wilster (DE),514,,1400,under construction,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/37,6.716948,58.662631,9.373979,53.922479 +COBRA cable,Endrup (DK),Eemshaven (NL),325,,700,under construction,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/71,8.718392,55.523115,6.835494,53.438589 +Thames Estuary Cluster (NEMO-Link),Richborough (GB),Gezelle (BE),140,,1000,under construction,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/74,1.324854,51.295891,3.23043,51.24902 +Anglo-Scottish -1,Hunterston (UK),Deeside (UK),422,,2400,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/77,-4.898329,55.723331,-3.032972,53.199735 +ALEGrO,Lixhe (BE),Oberzier (DE),100,,1000,built,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/92,5.67933,50.7567965,6.474704,50.867532 +North Sea Link,Kvilldal (NO),Blythe (GB),720,,1400,under construction,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/110,6.637527,59.515096,-1.510277,55.126957 HVDC SuedOstLink,Wolmirstedt (DE),Isar (DE),,557,2000,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/130,11.629014,52.252137,12.091596,48.080837 HVDC Line A-North,Emden East (DE),Osterath (DE),,284,2000,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/132,7.206009,53.359403,6.619451,51.272935 France-Alderney-Britain,Exeter (UK),Menuel (FR),220,,1400,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/153,-3.533899,50.718412,-1.469216,49.509594 @@ -23,4 +23,4 @@ HVDC Ultranet,Osterath (DE),Philippsburg (DE),,314,600,in permitting,,https://ty Gridlink,Kingsnorth (UK),Warande (FR),160,,1400,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/285,0.596111111111111,51.41972,2.376776,51.034368 NeuConnect,Grain (UK),Fedderwarden (DE),680,,1400,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/309,0.716666666666667,51.44,8.046524,53.562763 NordBalt,Klaipeda (LT),Nybro (SE),450,,700,built,,https://en.wikipedia.org/wiki/NordBalt,21.256667,55.681667,15.854167,56.767778 -Estlink 1,Harku (EE),Espoo (FI),105,,350,built,Link.14807,https://en.wikipedia.org/wiki/Estlink,24.560278,59.384722,24.551667,60.203889 +Estlink 1,Harku (EE),Espoo (FI),105,,350,built,,https://en.wikipedia.org/wiki/Estlink,24.560278,59.384722,24.551667,60.203889 diff --git a/scripts/base_network.py b/scripts/base_network.py index 9e8421ab..50ec8e53 100644 --- a/scripts/base_network.py +++ b/scripts/base_network.py @@ -196,15 +196,14 @@ def _add_links_from_tyndp(buses, links, links_tyndp, europe_shape): return buses, links has_replaces_b = links_tyndp.replaces.notnull() - logger.info("TYNDP links replacing links in dataset (overwriting): " + ", ".join(links_tyndp.loc[has_replaces_b, "Name"])) - ids = dict(Bus=buses.index, Link=links.index) + oids = dict(Bus=_get_oid(buses), Link=_get_oid(links)) keep_b = dict(Bus=pd.Series(True, index=buses.index), Link=pd.Series(True, index=links.index)) for reps in links_tyndp.loc[has_replaces_b, 'replaces']: for comps in reps.split(':'): - ids_to_remove = comps.split('.') - c = ids_to_remove.pop(0) - keep_b[c] &= ~ids[c].isin(ids_to_remove) + oids_to_remove = comps.split('.') + c = oids_to_remove.pop(0) + keep_b[c] &= ~oids[c].isin(oids_to_remove) buses = buses.loc[keep_b['Bus']] links = links.loc[keep_b['Link']] @@ -212,7 +211,7 @@ def _add_links_from_tyndp(buses, links, links_tyndp, europe_shape): # Corresponds approximately to 20km tolerances if links_tyndp["j"].notnull().any(): - logger.info("Additional TYNDP links already in the dataset (skipping): " + ", ".join(links_tyndp.loc[links_tyndp["j"].notnull(), "Name"])) + logger.info("TYNDP links already in the dataset (skipping): " + ", ".join(links_tyndp.loc[links_tyndp["j"].notnull(), "Name"])) links_tyndp = links_tyndp.loc[links_tyndp["j"].isnull()] if links_tyndp.empty: return buses, links @@ -236,7 +235,7 @@ def _add_links_from_tyndp(buses, links, links_tyndp, europe_shape): carrier='DC', p_nom=links_tyndp["Power (MW)"], length=links_tyndp["Length (given) (km)"].fillna(links_tyndp["Length (distance*1.2) (km)"]), - under_construction=~(links_tyndp.status == 'built'), + under_construction=True, underground=False, geometry=(links_tyndp[["x1", "y1", "x2", "y2"]] .apply(lambda s: str(LineString([[s.x1, s.y1], [s.x2, s.y2]])), axis=1)), From 3678e5c523080190468e2ce235663df43e644714 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 7 Apr 2022 14:39:34 +0200 Subject: [PATCH 067/281] Add operational reserve margin constraint analogous to GenX Co-authored-by: FabianHofmann --- config.default.yaml | 5 +++ doc/release_notes.rst | 3 ++ scripts/solve_network.py | 74 ++++++++++++++++++++++++++++++++++++++-- 3 files changed, 80 insertions(+), 2 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index 6983945c..8ea82891 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -44,6 +44,11 @@ electricity: co2base: 1.487e+9 agg_p_nom_limits: data/agg_p_nom_minmax.csv + operational_reserve: # like https://genxproject.github.io/GenX/dev/core/#Reserves + epsilon_load: 0.02 # share of total load + epsilon_vres: 0.02 # share of total renewable supply + contingency: 4000 # fixed capacity in MW + extendable_carriers: Generator: [] StorageUnit: [] # battery, H2 diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 78a9997d..97a24291 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -22,6 +22,9 @@ Energy Security Release (April 2022) * old: ``estimate_renewable_capacities_from_capacity_stats`` * new: ``estimate_renewable_capacities`` +* Add operational reserve margin constraint analogous to `GenX implementation `_. + Can be activated with config setting ``electricity: operational_reserve:``. + * Add function to add global constraint on use of gas in :mod:`prepare_network`. This can be activated with `electricity: gaslimit:` given in MWh. * The powerplants that have been shut down before 2021 are filtered out. diff --git a/scripts/solve_network.py b/scripts/solve_network.py index 4704d179..a13b1531 100755 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -84,8 +84,9 @@ import pandas as pd import re import pypsa -from pypsa.linopf import (get_var, define_constraints, linexpr, join_exprs, - network_lopf, ilopf) +from pypsa.linopf import (get_var, define_constraints, define_variables, + linexpr, join_exprs, network_lopf, ilopf) +from pypsa.descriptors import get_switchable_as_dense as get_as_dense from pathlib import Path from vresutils.benchmark import memory_logger @@ -211,6 +212,73 @@ def add_SAFE_constraints(n, config): define_constraints(n, lhs, '>=', rhs, 'Safe', 'mintotalcap') +def add_operational_reserve_margin_constraint(n, config): + + reserve_config = config["electricity"]["operational_reserve"] + EPSILON_LOAD = reserve_config["epsilon_load"] + EPSILON_VRES = reserve_config["epsilon_vres"] + CONTINGENCY = reserve_config["contingency"] + + # Reserve Variables + reserve = get_var(n, 'Generator', 'r') + + # Share of extendable renewable capacities + ext_i = n.generators.query('p_nom_extendable').index + vres_i = n.generators_t.p_max_pu.columns + capacity_factor = n.generators_t.p_max_pu[vres_i.intersection(ext_i)] + renewable_capacity_variables = get_var(n, 'Generator', 'p_nom')[vres_i.intersection(ext_i)] + + # Left-hand-side + lhs = ( + linexpr((1, reserve)).sum(1) + + linexpr((-EPSILON_VRES * capacity_factor, renewable_capacity_variables)).sum(1) + ) + + + # Total demand at t + demand = n.loads_t.p.sum(1) + + # VRES potential of non extendable generators + capacity_factor = n.generators_t.p_max_pu[vres_i.difference(ext_i)] + renewable_capacity = n.generators.p_nom[vres_i.difference(ext_i)] + potential = (capacity_factor * renewable_capacity).sum(1) + + # Right-hand-side + rhs = EPSILON_LOAD * demand + EPSILON_VRES * potential + CONTINGENCY + + define_constraints(n, lhs, '>=', rhs, "Reserve margin") + + +def update_capacity_constraint(n): + gen_i = n.generators.index + ext_i = n.generators.query('p_nom_extendable').index + fix_i = n.generators.query('not p_nom_extendable').index + + dispatch = get_var(n, 'Generator', 'p') + reserve = get_var(n, 'Generator', 'r') + + capacity_variable = get_var(n, 'Generator', 'p_nom') + capacity_fixed = n.generators.p_nom[fix_i] + + p_max_pu = get_as_dense(n, 'Generator', 'p_max_pu') + + lhs = linexpr((1, dispatch), (1, reserve)) + lhs += linexpr((-p_max_pu[ext_i], capacity_variable)).reindex(columns=gen_i, fill_value='') + + rhs = (p_max_pu[fix_i] * capacity_fixed).reindex(columns=gen_i, fill_value=0) + + define_constraints(n, lhs, '<=', rhs, 'Generators', 'updated_capacity_constraint') + + +def add_operational_reserve_margin(n, sns, config): + + define_variables(n, 0, np.inf, 'Generator', 'r', axes=[sns, n.generators.index]) + + add_operational_reserve_margin_constraint(n, config) + + update_capacity_constraint(n) + + def add_battery_constraints(n): nodes = n.buses.index[n.buses.carrier == "battery"] if nodes.empty or ('Link', 'p_nom') not in n.variables.index: @@ -236,6 +304,8 @@ def extra_functionality(n, snapshots): add_SAFE_constraints(n, config) if 'CCL' in opts and n.generators.p_nom_extendable.any(): add_CCL_constraints(n, config) + if config["electricity"].get("operational_reserve"): + add_operational_reserve_margin(n, snapshots, config) for o in opts: if "EQ" in o: add_EQ_constraints(n, o) From 84e146834c412edb6f402255dd1fcdcc77de3cd6 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 7 Apr 2022 15:22:10 +0200 Subject: [PATCH 068/281] Apply suggestion from code review to add switch --- config.default.yaml | 1 + scripts/solve_network.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/config.default.yaml b/config.default.yaml index 8ea82891..ecb9f201 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -45,6 +45,7 @@ electricity: agg_p_nom_limits: data/agg_p_nom_minmax.csv operational_reserve: # like https://genxproject.github.io/GenX/dev/core/#Reserves + activate: true epsilon_load: 0.02 # share of total load epsilon_vres: 0.02 # share of total renewable supply contingency: 4000 # fixed capacity in MW diff --git a/scripts/solve_network.py b/scripts/solve_network.py index a13b1531..0398dce0 100755 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -304,7 +304,8 @@ def extra_functionality(n, snapshots): add_SAFE_constraints(n, config) if 'CCL' in opts and n.generators.p_nom_extendable.any(): add_CCL_constraints(n, config) - if config["electricity"].get("operational_reserve"): + reserve = config["electricity"].get("operational_reserve", {}) + if reserve.get("activate"): add_operational_reserve_margin(n, snapshots, config) for o in opts: if "EQ" in o: From 630fb9783f5acb9586f28d9732cc97ecad288524 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 7 Apr 2022 17:20:56 +0200 Subject: [PATCH 069/281] fix to operational reserve margin to work without any extendable gens --- scripts/solve_network.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/scripts/solve_network.py b/scripts/solve_network.py index 0398dce0..5d4bb780 100755 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -221,20 +221,16 @@ def add_operational_reserve_margin_constraint(n, config): # Reserve Variables reserve = get_var(n, 'Generator', 'r') + lhs = linexpr((1, reserve)).sum(1) # Share of extendable renewable capacities ext_i = n.generators.query('p_nom_extendable').index vres_i = n.generators_t.p_max_pu.columns - capacity_factor = n.generators_t.p_max_pu[vres_i.intersection(ext_i)] - renewable_capacity_variables = get_var(n, 'Generator', 'p_nom')[vres_i.intersection(ext_i)] + if not ext_i.empty and not vres_i.empty: + capacity_factor = n.generators_t.p_max_pu[vres_i.intersection(ext_i)] + renewable_capacity_variables = get_var(n, 'Generator', 'p_nom')[vres_i.intersection(ext_i)] + lhs += linexpr((-EPSILON_VRES * capacity_factor, renewable_capacity_variables)).sum(1) - # Left-hand-side - lhs = ( - linexpr((1, reserve)).sum(1) + - linexpr((-EPSILON_VRES * capacity_factor, renewable_capacity_variables)).sum(1) - ) - - # Total demand at t demand = n.loads_t.p.sum(1) @@ -256,14 +252,16 @@ def update_capacity_constraint(n): dispatch = get_var(n, 'Generator', 'p') reserve = get_var(n, 'Generator', 'r') - - capacity_variable = get_var(n, 'Generator', 'p_nom') + capacity_fixed = n.generators.p_nom[fix_i] p_max_pu = get_as_dense(n, 'Generator', 'p_max_pu') lhs = linexpr((1, dispatch), (1, reserve)) - lhs += linexpr((-p_max_pu[ext_i], capacity_variable)).reindex(columns=gen_i, fill_value='') + + if not ext_i.empty: + capacity_variable = get_var(n, 'Generator', 'p_nom') + lhs += linexpr((-p_max_pu[ext_i], capacity_variable)).reindex(columns=gen_i, fill_value='') rhs = (p_max_pu[fix_i] * capacity_fixed).reindex(columns=gen_i, fill_value=0) From 64424ed208812ddac2e3dd6453340acceebf2c48 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 7 Apr 2022 21:13:48 +0200 Subject: [PATCH 070/281] add results dir to simplify multiple configs (like PyPSA-Eur-Sec) --- Snakefile | 70 ++++++++++++++++++++++----------------------- config.default.yaml | 2 +- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/Snakefile b/Snakefile index f3a894fc..37f0ddca 100644 --- a/Snakefile +++ b/Snakefile @@ -15,7 +15,7 @@ configfile: "config.yaml" COSTS="data/costs.csv" ATLITE_NPROCESSES = config['atlite'].get('nprocesses', 4) - +RDIR = config["results_dir"] wildcard_constraints: simpl="[a-zA-Z0-9]*|all", @@ -25,19 +25,19 @@ wildcard_constraints: rule cluster_all_networks: - input: expand("networks/elec_s{simpl}_{clusters}.nc", **config['scenario']) + input: expand(RDIR + "networks/elec_s{simpl}_{clusters}.nc", **config['scenario']) rule extra_components_all_networks: - input: expand("networks/elec_s{simpl}_{clusters}_ec.nc", **config['scenario']) + input: expand(RDIR + "networks/elec_s{simpl}_{clusters}_ec.nc", **config['scenario']) rule prepare_all_networks: - input: expand("networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) + input: expand(RDIR + "networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) rule solve_all_networks: - input: expand("results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) + input: expand(RDIR + "results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) if config['enable'].get('prepare_links_p_nom', False): @@ -228,7 +228,7 @@ rule add_electricity: nuts3_shapes='resources/nuts3_shapes.geojson', **{f"profile_{tech}": f"resources/profile_{tech}.nc" for tech in config['renewable']} - output: "networks/elec.nc" + output: RDIR + "/prenetworks/elec.nc" log: "logs/add_electricity.log" benchmark: "benchmarks/add_electricity" threads: 1 @@ -238,16 +238,16 @@ rule add_electricity: rule simplify_network: input: - network='networks/elec.nc', + network=RDIR + '/prenetworks/elec.nc', tech_costs=COSTS, - regions_onshore="resources/regions_onshore.geojson", - regions_offshore="resources/regions_offshore.geojson" + regions_onshore="/resources/regions_onshore.geojson", + regions_offshore="/resources/regions_offshore.geojson" output: - network='networks/elec_s{simpl}.nc', - regions_onshore="resources/regions_onshore_elec_s{simpl}.geojson", - regions_offshore="resources/regions_offshore_elec_s{simpl}.geojson", - busmap='resources/busmap_elec_s{simpl}.csv', - connection_costs='resources/connection_costs_s{simpl}.csv' + network=RDIR + '/prenetworks/elec_s{simpl}.nc', + regions_onshore=RDIR + "/resources/regions_onshore_elec_s{simpl}.geojson", + regions_offshore=RDIR + "/resources/regions_offshore_elec_s{simpl}.geojson", + busmap=RDIR + '/resources/busmap_elec_s{simpl}.csv', + connection_costs=RDIR + '/resources/connection_costs_s{simpl}.csv' log: "logs/simplify_network/elec_s{simpl}.log" benchmark: "benchmarks/simplify_network/elec_s{simpl}" threads: 1 @@ -257,19 +257,19 @@ rule simplify_network: rule cluster_network: input: - network='networks/elec_s{simpl}.nc', - regions_onshore="resources/regions_onshore_elec_s{simpl}.geojson", - regions_offshore="resources/regions_offshore_elec_s{simpl}.geojson", - busmap=ancient('resources/busmap_elec_s{simpl}.csv'), + network=RDIR + '/prenetworks/elec_s{simpl}.nc', + regions_onshore=RDIR + "/resources/regions_onshore_elec_s{simpl}.geojson", + regions_offshore=RDIR + "/resources/regions_offshore_elec_s{simpl}.geojson", + busmap=ancient(RDIR + '/resources/busmap_elec_s{simpl}.csv'), custom_busmap=("data/custom_busmap_elec_s{simpl}_{clusters}.csv" if config["enable"].get("custom_busmap", False) else []), tech_costs=COSTS output: - network='networks/elec_s{simpl}_{clusters}.nc', - regions_onshore="resources/regions_onshore_elec_s{simpl}_{clusters}.geojson", - regions_offshore="resources/regions_offshore_elec_s{simpl}_{clusters}.geojson", - busmap="resources/busmap_elec_s{simpl}_{clusters}.csv", - linemap="resources/linemap_elec_s{simpl}_{clusters}.csv" + network=RDIR + '/prenetworks/elec_s{simpl}_{clusters}.nc', + regions_onshore=RDIR + "/resources/regions_onshore_elec_s{simpl}_{clusters}.geojson", + regions_offshore=RDIR + "/resources/regions_offshore_elec_s{simpl}_{clusters}.geojson", + busmap=RDIR + "/resources/busmap_elec_s{simpl}_{clusters}.csv", + linemap=RDIR + "/resources/linemap_elec_s{simpl}_{clusters}.csv" log: "logs/cluster_network/elec_s{simpl}_{clusters}.log" benchmark: "benchmarks/cluster_network/elec_s{simpl}_{clusters}" threads: 1 @@ -279,9 +279,9 @@ rule cluster_network: rule add_extra_components: input: - network='networks/elec_s{simpl}_{clusters}.nc', + network=RDIR + '/prenetworks/elec_s{simpl}_{clusters}.nc', tech_costs=COSTS, - output: 'networks/elec_s{simpl}_{clusters}_ec.nc' + output: RDIR + '/prenetworks/elec_s{simpl}_{clusters}_ec.nc' log: "logs/add_extra_components/elec_s{simpl}_{clusters}.log" benchmark: "benchmarks/add_extra_components/elec_s{simpl}_{clusters}_ec" threads: 1 @@ -290,8 +290,8 @@ rule add_extra_components: rule prepare_network: - input: 'networks/elec_s{simpl}_{clusters}_ec.nc', tech_costs=COSTS - output: 'networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc' + input: RDIR + '/prenetworks/elec_s{simpl}_{clusters}_ec.nc', tech_costs=COSTS + output: RDIR + '/prenetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc' log: "logs/prepare_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.log" benchmark: "benchmarks/prepare_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}" threads: 1 @@ -320,8 +320,8 @@ def memory(w): rule solve_network: - input: "networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" - output: "results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" + input: RDIR + "/prenetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" + output: RDIR + "/postnetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" log: solver=normpath("logs/solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_solver.log"), python="logs/solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_python.log", @@ -335,9 +335,9 @@ rule solve_network: rule solve_operations_network: input: - unprepared="networks/elec_s{simpl}_{clusters}_ec.nc", - optimized="results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" - output: "results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op.nc" + unprepared=RDIR + "/prenetworks/elec_s{simpl}_{clusters}_ec.nc", + optimized=RDIR + "/postnetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" + output: RDIR + "postnetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op.nc" log: solver=normpath("logs/solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_solver.log"), python="logs/solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_python.log", @@ -351,7 +351,7 @@ rule solve_operations_network: rule plot_network: input: - network="results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", + network=RDIR + "/postnetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", tech_costs=COSTS output: only_map="results/plots/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}.{ext}", @@ -369,7 +369,7 @@ def input_make_summary(w): else: ll = w.ll return ([COSTS] + - expand("results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", + expand(RDIR + "/postnetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", ll=ll, **{k: config["scenario"][k] if getattr(w, k) == "all" else getattr(w, k) for k in ["simpl", "clusters", "opts"]})) @@ -390,7 +390,7 @@ rule plot_summary: def input_plot_p_nom_max(w): - return [("networks/elec_s{simpl}{maybe_cluster}.nc" + return [(RDIR + "/postnetworks/elec_s{simpl}{maybe_cluster}.nc" .format(maybe_cluster=('' if c == 'full' else ('_' + c)), **w)) for c in w.clusts.split(",")] diff --git a/config.default.yaml b/config.default.yaml index ecb9f201..45903b80 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -9,7 +9,7 @@ logging: level: INFO format: '%(levelname)s:%(name)s:%(message)s' -summary_dir: results +results_dir: results/your-run-name scenario: simpl: [''] From b1143dc39b332020c03241b1981691156b2b447a Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 7 Apr 2022 21:48:00 +0200 Subject: [PATCH 071/281] env: update to powerplantmatching >= v0.5.2 --- envs/environment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 9772d882..7bcb8163 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -56,4 +56,4 @@ dependencies: - pip: - vresutils>=0.3.1 - tsam>=1.1.0 - - powerplantmatching>=0.5.1 + - powerplantmatching>=0.5.2 From f474f8bce43ac671e9b6a477c45494c9bc0c8dbd Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 7 Apr 2022 22:07:18 +0200 Subject: [PATCH 072/281] finetuning of results dir --- Snakefile | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Snakefile b/Snakefile index 37f0ddca..87d31cd5 100644 --- a/Snakefile +++ b/Snakefile @@ -25,19 +25,19 @@ wildcard_constraints: rule cluster_all_networks: - input: expand(RDIR + "networks/elec_s{simpl}_{clusters}.nc", **config['scenario']) + input: expand(RDIR + "/prenetworks/elec_s{simpl}_{clusters}.nc", **config['scenario']) rule extra_components_all_networks: - input: expand(RDIR + "networks/elec_s{simpl}_{clusters}_ec.nc", **config['scenario']) + input: expand(RDIR + "/prenetworks/elec_s{simpl}_{clusters}_ec.nc", **config['scenario']) rule prepare_all_networks: - input: expand(RDIR + "networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) + input: expand(RDIR + "/prenetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) rule solve_all_networks: - input: expand(RDIR + "results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) + input: expand(RDIR + "/postnetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) if config['enable'].get('prepare_links_p_nom', False): @@ -240,8 +240,8 @@ rule simplify_network: input: network=RDIR + '/prenetworks/elec.nc', tech_costs=COSTS, - regions_onshore="/resources/regions_onshore.geojson", - regions_offshore="/resources/regions_offshore.geojson" + regions_onshore="resources/regions_onshore.geojson", + regions_offshore="resources/regions_offshore.geojson" output: network=RDIR + '/prenetworks/elec_s{simpl}.nc', regions_onshore=RDIR + "/resources/regions_onshore_elec_s{simpl}.geojson", @@ -337,7 +337,7 @@ rule solve_operations_network: input: unprepared=RDIR + "/prenetworks/elec_s{simpl}_{clusters}_ec.nc", optimized=RDIR + "/postnetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" - output: RDIR + "postnetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op.nc" + output: RDIR + "/postnetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op.nc" log: solver=normpath("logs/solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_solver.log"), python="logs/solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_python.log", From f9ede37a022975b424cfb404c4dd14da59a667e3 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 8 Apr 2022 10:26:16 +0200 Subject: [PATCH 073/281] allow varying marginal cost of carrier in opts wc: CCGT+m2.0 --- scripts/prepare_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/prepare_network.py b/scripts/prepare_network.py index 27aacacf..2664d362 100755 --- a/scripts/prepare_network.py +++ b/scripts/prepare_network.py @@ -257,7 +257,7 @@ if __name__ == "__main__": if oo[0].startswith(tuple(suptechs)): carrier = oo[0] # handles only p_nom_max as stores and lines have no potentials - attr_lookup = {"p": "p_nom_max", "c": "capital_cost"} + attr_lookup = {"p": "p_nom_max", "c": "capital_cost", "m": "marginal_cost"} attr = attr_lookup[oo[1][0]] factor = float(oo[1][1:]) if carrier == "AC": # lines do not have carrier From bd75953674a6d02dc43027cc75761a22de2b662e Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 8 Apr 2022 10:26:38 +0200 Subject: [PATCH 074/281] add logging to co2limit2 --- scripts/prepare_network.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/prepare_network.py b/scripts/prepare_network.py index 2664d362..52e2eff4 100755 --- a/scripts/prepare_network.py +++ b/scripts/prepare_network.py @@ -243,8 +243,10 @@ if __name__ == "__main__": if len(m) > 0: co2limit = float(m[0]) * snakemake.config['electricity']['co2base'] add_co2limit(n, co2limit, Nyears) + logger.info("Setting CO2 limit according to wildcard value.") else: add_co2limit(n, snakemake.config['electricity']['co2limit'], Nyears) + logger.info("Setting CO2 limit according to config value.") break gaslimit = snakemake.config["electricity"].get("gaslimit") From 02c06017d3f1373c7eb2107b19d5ae2cfba51278 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 8 Apr 2022 10:27:23 +0200 Subject: [PATCH 075/281] prepare: add gas consumption limit through wildcard: CH4L --- scripts/prepare_network.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/scripts/prepare_network.py b/scripts/prepare_network.py index 52e2eff4..2b4e6113 100755 --- a/scripts/prepare_network.py +++ b/scripts/prepare_network.py @@ -249,9 +249,17 @@ if __name__ == "__main__": logger.info("Setting CO2 limit according to config value.") break - gaslimit = snakemake.config["electricity"].get("gaslimit") - if gaslimit: - add_gaslimit(n, gaslimit, Nyears) + for o in opts: + if "CH4L" in o: + m = re.findall("[0-9]*\.?[0-9]+$", o) + if len(m) > 0: + limit = float(m[0]) * 1e6 + add_gaslimit(n, limit, Nyears) + logger.info("Setting gas usage limit according to wildcard value.") + else: + add_gaslimit(n, snakemake.config["electricity"].get("gaslimit"), Nyears) + logger.info("Setting gas usage limit according to config value.") + break for o in opts: oo = o.split("+") From 2403650be29b60b9a902f7327f23b92697ddc723 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 8 Apr 2022 10:27:55 +0200 Subject: [PATCH 076/281] prepare: allow varying emission prices in opts wc: e.g. Ep80.5 --- scripts/prepare_network.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/scripts/prepare_network.py b/scripts/prepare_network.py index 2b4e6113..178c6bb3 100755 --- a/scripts/prepare_network.py +++ b/scripts/prepare_network.py @@ -278,8 +278,16 @@ if __name__ == "__main__": sel = c.df.carrier.str.contains(carrier) c.df.loc[sel,attr] *= factor - if 'Ep' in opts: - add_emission_prices(n, snakemake.config['costs']['emission_prices']) + for o in opts: + if 'Ep' in o: + m = re.findall("[0-9]*\.?[0-9]+$", o) + if len(m) > 0: + logger.info("Setting emission prices according to wildcard value.") + add_emission_prices(n, dict(co2=float(m[0]))) + else: + logger.info("Setting emission prices according to config value.") + add_emission_prices(n, snakemake.config['costs']['emission_prices']) + break ll_type, factor = snakemake.wildcards.ll[0], snakemake.wildcards.ll[1:] set_transmission_limit(n, ll_type, factor, costs, Nyears) From e5cb2d34fbf63ee92f18780fe7d4aebcf22a4204 Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 8 Apr 2022 11:30:29 +0200 Subject: [PATCH 077/281] env: update to powerplantmatching >= 0.5.3 --- envs/environment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 7bcb8163..9c50d8dd 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -56,4 +56,4 @@ dependencies: - pip: - vresutils>=0.3.1 - tsam>=1.1.0 - - powerplantmatching>=0.5.2 + - powerplantmatching>=0.5.3 From e37a3f57ab7fb0e187bacbcd6085b4988df06dc8 Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 8 Apr 2022 12:23:24 +0200 Subject: [PATCH 078/281] adjust biomass capacities --- config.default.yaml | 2 +- scripts/build_powerplants.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/config.default.yaml b/config.default.yaml index ecb9f201..e62c6c3c 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -61,7 +61,7 @@ electricity: H2: 168 # use pandas query strings here, e.g. Country not in ['Germany'] - powerplants_filter: (DateOut >= 2021 or DateOut != DateOut) + powerplants_filter: (DateOut >= 2022 or DateOut != DateOut) # use pandas query strings here, e.g. Country in ['Germany'] custom_powerplants: false conventional_carriers: [nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass] diff --git a/scripts/build_powerplants.py b/scripts/build_powerplants.py index 9a7c9e23..00b1a9a3 100755 --- a/scripts/build_powerplants.py +++ b/scripts/build_powerplants.py @@ -115,6 +115,14 @@ if __name__ == "__main__": .replace({'Technology': {'Steam Turbine': 'OCGT', "Combustion Engine": "OCGT"}}) .assign(Fueltype=replace_natural_gas_by_technology)) + # Correct bioenergy for countries where possible + opsd = pm.data.OPSD_VRE().powerplant.convert_country_to_alpha2() + opsd = opsd.query('Country in @countries and Fueltype == "Bioenergy"') + opsd['Fueltype'] = 'biomass' + available_countries = opsd.Country.unique() + ppl = ppl.query('not (Country in @available_countries and Fueltype == "Bioenergy")') + ppl = pd.concat([ppl, opsd]) + ppl_query = snakemake.config['electricity']['powerplants_filter'] if isinstance(ppl_query, str): ppl.query(ppl_query, inplace=True) From 40c882f0e968f45fc3b80beff1cfa7c24f70e9d4 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 8 Apr 2022 13:19:25 +0200 Subject: [PATCH 079/281] solve: allow to parse load shedding cost in config --- scripts/solve_network.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/scripts/solve_network.py b/scripts/solve_network.py index 5d4bb780..a5ebfe6e 100755 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -100,17 +100,19 @@ def prepare_network(n, solve_opts): for df in (n.generators_t.p_max_pu, n.storage_units_t.inflow): df.where(df>solve_opts['clip_p_max_pu'], other=0., inplace=True) - if solve_opts.get('load_shedding'): + load_shedding = solve_opts.get('load_shedding') + if load_shedding: n.add("Carrier", "Load") buses_i = n.buses.query("carrier == 'AC'").index + if not np.isscalar(load_shedding): load_shedding = 1e2 + # intersect between macroeconomic and surveybased + # willingness to pay + # http://journal.frontiersin.org/article/10.3389/fenrg.2015.00055/full) n.madd("Generator", buses_i, " load", bus=buses_i, carrier='load', sign=1e-3, # Adjust sign to measure p and p_nom in kW instead of MW - marginal_cost=1e2, # Eur/kWh - # intersect between macroeconomic and surveybased - # willingness to pay - # http://journal.frontiersin.org/article/10.3389/fenrg.2015.00055/full + marginal_cost=load_shedding, p_nom=1e9 # kW ) From 881c822437a972cd49bfd30503e677e0142d9e5e Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 8 Apr 2022 13:20:43 +0200 Subject: [PATCH 080/281] Snakefile: add powerplants to results-dir --- Snakefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Snakefile b/Snakefile index 87d31cd5..b385a0db 100644 --- a/Snakefile +++ b/Snakefile @@ -221,7 +221,7 @@ rule add_electricity: base_network='networks/base.nc', tech_costs=COSTS, regions="resources/regions_onshore.geojson", - powerplants='resources/powerplants.csv', + powerplants=RDIR + '/resources/powerplants.csv', hydro_capacities='data/bundle/hydro_capacities.csv', geth_hydro_capacities='data/geth2015_hydro_capacities.csv', load='resources/load.csv', @@ -268,7 +268,7 @@ rule cluster_network: network=RDIR + '/prenetworks/elec_s{simpl}_{clusters}.nc', regions_onshore=RDIR + "/resources/regions_onshore_elec_s{simpl}_{clusters}.geojson", regions_offshore=RDIR + "/resources/regions_offshore_elec_s{simpl}_{clusters}.geojson", - busmap=RDIR + "/resources/busmap_elec_s{simpl}_{clusters}.csv", + busmap=RDIR + "/resources/busmap_elec_s{simpl}_{clusters}.csv", linemap=RDIR + "/resources/linemap_elec_s{simpl}_{clusters}.csv" log: "logs/cluster_network/elec_s{simpl}_{clusters}.log" benchmark: "benchmarks/cluster_network/elec_s{simpl}_{clusters}" From f0d0edcf542c5db84b6a02ae838fb489940b5563 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 8 Apr 2022 13:20:43 +0200 Subject: [PATCH 081/281] Snakefile: add powerplants to results-dir --- Snakefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Snakefile b/Snakefile index 87d31cd5..df3f7cac 100644 --- a/Snakefile +++ b/Snakefile @@ -84,7 +84,7 @@ rule build_powerplants: input: base_network="networks/base.nc", custom_powerplants="data/custom_powerplants.csv" - output: "resources/powerplants.csv" + output: RDIR + "/resources/powerplants.csv" log: "logs/build_powerplants.log" threads: 1 resources: mem_mb=500 @@ -221,7 +221,7 @@ rule add_electricity: base_network='networks/base.nc', tech_costs=COSTS, regions="resources/regions_onshore.geojson", - powerplants='resources/powerplants.csv', + powerplants=RDIR + '/resources/powerplants.csv', hydro_capacities='data/bundle/hydro_capacities.csv', geth_hydro_capacities='data/geth2015_hydro_capacities.csv', load='resources/load.csv', @@ -268,7 +268,7 @@ rule cluster_network: network=RDIR + '/prenetworks/elec_s{simpl}_{clusters}.nc', regions_onshore=RDIR + "/resources/regions_onshore_elec_s{simpl}_{clusters}.geojson", regions_offshore=RDIR + "/resources/regions_offshore_elec_s{simpl}_{clusters}.geojson", - busmap=RDIR + "/resources/busmap_elec_s{simpl}_{clusters}.csv", + busmap=RDIR + "/resources/busmap_elec_s{simpl}_{clusters}.csv", linemap=RDIR + "/resources/linemap_elec_s{simpl}_{clusters}.csv" log: "logs/cluster_network/elec_s{simpl}_{clusters}.log" benchmark: "benchmarks/cluster_network/elec_s{simpl}_{clusters}" From d53487f822e717e5bbe3a1e7d93527e84df70176 Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 8 Apr 2022 14:23:33 +0200 Subject: [PATCH 082/281] build_powerplants: fix duplicated names per bus --- scripts/build_powerplants.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/build_powerplants.py b/scripts/build_powerplants.py index 00b1a9a3..cc01d373 100755 --- a/scripts/build_powerplants.py +++ b/scripts/build_powerplants.py @@ -118,7 +118,7 @@ if __name__ == "__main__": # Correct bioenergy for countries where possible opsd = pm.data.OPSD_VRE().powerplant.convert_country_to_alpha2() opsd = opsd.query('Country in @countries and Fueltype == "Bioenergy"') - opsd['Fueltype'] = 'biomass' + opsd['Name'] = "Biomass" available_countries = opsd.Country.unique() ppl = ppl.query('not (Country in @available_countries and Fueltype == "Bioenergy")') ppl = pd.concat([ppl, opsd]) @@ -148,4 +148,8 @@ if __name__ == "__main__": if bus_null_b.any(): logging.warning(f"Couldn't find close bus for {bus_null_b.sum()} powerplants") + # TODO: This has to fixed in PPM, some powerplants are still duplicated + cumcount = ppl.groupby(['bus', 'Fueltype']).cumcount() + 1 + ppl.Name = ppl.Name.where(cumcount == 1, ppl.Name + " " + cumcount.astype(str)) + ppl.to_csv(snakemake.output[0]) From 65790cd065f32934739a51248bcaf74ba0bdb760 Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 8 Apr 2022 14:34:52 +0200 Subject: [PATCH 083/281] build_powerplants: remove non-assigned ppls --- scripts/build_powerplants.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/build_powerplants.py b/scripts/build_powerplants.py index cc01d373..74f53d80 100755 --- a/scripts/build_powerplants.py +++ b/scripts/build_powerplants.py @@ -146,7 +146,9 @@ if __name__ == "__main__": bus_null_b = ppl["bus"].isnull() if bus_null_b.any(): - logging.warning(f"Couldn't find close bus for {bus_null_b.sum()} powerplants") + logging.warning(f"Couldn't find close bus for {bus_null_b.sum()} powerplants. " + "Removing them from the powerplants list.") + ppl = ppl[~bus_null_b] # TODO: This has to fixed in PPM, some powerplants are still duplicated cumcount = ppl.groupby(['bus', 'Fueltype']).cumcount() + 1 From 40425a7767e614163aae9c393e2ae6ae84129b59 Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 8 Apr 2022 15:25:05 +0200 Subject: [PATCH 084/281] build powerplants: use map_country bus function for bus attachement --- scripts/build_powerplants.py | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/scripts/build_powerplants.py b/scripts/build_powerplants.py index 74f53d80..c1ee4127 100755 --- a/scripts/build_powerplants.py +++ b/scripts/build_powerplants.py @@ -79,6 +79,7 @@ import powerplantmatching as pm import pandas as pd import numpy as np +from powerplantmatching.export import map_country_bus from scipy.spatial import cKDTree as KDTree logger = logging.getLogger(__name__) @@ -87,8 +88,7 @@ logger = logging.getLogger(__name__) def add_custom_powerplants(ppl, custom_powerplants, custom_ppl_query=False): if not custom_ppl_query: return ppl - add_ppls = pd.read_csv(custom_powerplants, index_col=0, - dtype={'bus': 'str'}) + add_ppls = pd.read_csv(custom_powerplants, index_col=0, dtype={'bus': 'str'}) if isinstance(custom_ppl_query, str): add_ppls.query(custom_ppl_query, inplace=True) return pd.concat([ppl, add_ppls], sort=False, ignore_index=True, verify_integrity=True) @@ -131,18 +131,12 @@ if __name__ == "__main__": custom_ppl_query = snakemake.config['electricity']['custom_powerplants'] ppl = add_custom_powerplants(ppl, snakemake.input.custom_powerplants, custom_ppl_query) - cntries_without_ppl = [c for c in countries if c not in ppl.Country.unique()] + countries_wo_ppl = [c for c in countries if c not in ppl.Country.unique()] + if countries_wo_ppl: + logging.warning(f"No powerplants known in: {', '.join(countries_wo_ppl)}") - for c in countries: - substation_i = n.buses.query('substation_lv and country == @c').index - kdtree = KDTree(n.buses.loc[substation_i, ['x','y']].values) - ppl_i = ppl.query('Country == @c').index - - tree_i = kdtree.query(ppl.loc[ppl_i, ['lon','lat']].values)[1] - ppl.loc[ppl_i, 'bus'] = substation_i.append(pd.Index([np.nan]))[tree_i] - - if cntries_without_ppl: - logging.warning(f"No powerplants known in: {', '.join(cntries_without_ppl)}") + substations = n.buses.query('substation_lv') + ppl = map_country_bus(ppl, substations) bus_null_b = ppl["bus"].isnull() if bus_null_b.any(): @@ -154,4 +148,4 @@ if __name__ == "__main__": cumcount = ppl.groupby(['bus', 'Fueltype']).cumcount() + 1 ppl.Name = ppl.Name.where(cumcount == 1, ppl.Name + " " + cumcount.astype(str)) - ppl.to_csv(snakemake.output[0]) + ppl.reset_index(drop=True).to_csv(snakemake.output[0]) From c412a61013feae39d3c3451a2fbd938f6c65368e Mon Sep 17 00:00:00 2001 From: euronion <42553970+euronion@users.noreply.github.com> Date: Fri, 8 Apr 2022 15:41:23 +0200 Subject: [PATCH 085/281] Add country-specific EAF restriction for NPPs. (#361) * Add country-specific EAF restriction for NPPs. Based on historic figures from IAEA. * Update release_notes.rst --- config.default.yaml | 25 ++++++++++++++++++++++++- doc/release_notes.rst | 5 ++++- scripts/add_electricity.py | 22 +++++++++++++++++++--- 3 files changed, 47 insertions(+), 5 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index e62c6c3c..4f1708b4 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -64,7 +64,30 @@ electricity: powerplants_filter: (DateOut >= 2022 or DateOut != DateOut) # use pandas query strings here, e.g. Country in ['Germany'] custom_powerplants: false - conventional_carriers: [nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass] + conventional_carriers: + technologies: [nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass] + # Limit energy availability from these sources -> p_max_pu + # syntax: + # : or : + energy_availability_factors: + # From IAEA + # https://pris.iaea.org/PRIS/WorldStatistics/ThreeYrsEnergyAvailabilityFactor.aspx (2022-04-08) + nuclear: + BE: 0.65 + BG: 0.89 + CZ: 0.82 + FI: 0.92 + FR: 0.70 + DE: 0.88 + HU: 0.90 + NL: 0.86 + RO: 0.92 + SK: 0.89 + SI: 0.94 + ES: 0.89 + SE: 0.82 + CH: 0.86 + GB: 0.67 renewable_capacities_from_OPSD: [] # onwind, offwind, solar estimate_renewable_capacities: diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 97a24291..f07176ad 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -25,7 +25,10 @@ Energy Security Release (April 2022) * Add operational reserve margin constraint analogous to `GenX implementation `_. Can be activated with config setting ``electricity: operational_reserve:``. -* Add function to add global constraint on use of gas in :mod:`prepare_network`. This can be activated with `electricity: gaslimit:` given in MWh. +* Add function to add global constraint on use of gas in :mod:`prepare_network`. This can be activated with `electricity: gaslimit:` given in MWh. + +* Add configuration option to implement Energy Availability Factors (EAFs) for conventional generation technologies. +* Implement country-specific EAFs for nuclear power plants based on IAEA 2018-2020 reported country averages. * The powerplants that have been shut down before 2021 are filtered out. diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 961b87dc..ab3aa321 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -290,8 +290,9 @@ def attach_wind_and_solar(n, costs, input_profiles, technologies, line_length_fa p_max_pu=ds['profile'].transpose('time', 'bus').to_pandas()) -def attach_conventional_generators(n, costs, ppl, carriers): +def attach_conventional_generators(n, costs, ppl, conventional_carriers): + carriers = conventional_carriers["technologies"] _add_missing_carriers_from_costs(n, costs, carriers) ppl = (ppl.query('carrier in @carriers').join(costs, on='carrier') @@ -309,6 +310,22 @@ def attach_conventional_generators(n, costs, ppl, carriers): capital_cost=0) logger.warning(f'Capital costs for conventional generators put to 0 EUR/MW.') + + for k,v in conventional_carriers["energy_availability_factors"].items(): + + # Generators with technology affected + idx = n.generators.query("carrier == @k").index + + if isinstance(v, float): + # Single value affecting all generators of technology k indiscriminantely of country + n.generators.loc[idx, "p_max_pu"] = v + elif isinstance(v, dict): + v = pd.Series(v) + + # Values affecting generators of technology k country-specific + # First map generator buses to countries; then map countries to p_max_pu + n.generators["p_max_pu"] = n.generators.loc[idx]["bus"].replace(n.buses["country"]).replace(v) + def attach_hydro(n, costs, ppl, profile_hydro, hydro_capacities, carriers, **config): @@ -556,8 +573,7 @@ if __name__ == "__main__": update_transmission_costs(n, costs, snakemake.config['lines']['length_factor']) - carriers = snakemake.config['electricity']['conventional_carriers'] - attach_conventional_generators(n, costs, ppl, carriers) + attach_conventional_generators(n, costs, ppl, snakemake.config["electricity"]["conventional_carriers"]) carriers = snakemake.config['renewable'] attach_wind_and_solar(n, costs, snakemake.input, carriers, snakemake.config['lines']['length_factor']) From 4712bfc893f8e32816d409a06f293a6e2f129b66 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 8 Apr 2022 19:55:40 +0200 Subject: [PATCH 086/281] fix nuclear EAF processing code --- scripts/add_electricity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index ab3aa321..6c8b6de6 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -324,7 +324,7 @@ def attach_conventional_generators(n, costs, ppl, conventional_carriers): # Values affecting generators of technology k country-specific # First map generator buses to countries; then map countries to p_max_pu - n.generators["p_max_pu"] = n.generators.loc[idx]["bus"].replace(n.buses["country"]).replace(v) + n.generators.loc[idx, "p_max_pu"] = n.generators.loc[idx]["bus"].replace(n.buses["country"]).replace(v) From 732d114416d99b9402fea656611e6a44c201ea5b Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 8 Apr 2022 19:59:27 +0200 Subject: [PATCH 087/281] add results_dir to all configs --- config.tutorial.yaml | 2 +- test/config.test1.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 225d8f78..3238329c 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -9,7 +9,7 @@ logging: level: INFO format: '%(levelname)s:%(name)s:%(message)s' -summary_dir: results +results_dir: results/your-run-name scenario: simpl: [''] diff --git a/test/config.test1.yaml b/test/config.test1.yaml index a9ce1e50..600a3aac 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -8,7 +8,7 @@ logging: level: INFO format: '%(levelname)s:%(name)s:%(message)s' -summary_dir: results +results_dir: results/your-run-name scenario: simpl: [''] From 3acc4a22360cbf6c3f22c63880f55c465ee8244b Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 12 Apr 2022 14:52:37 +0200 Subject: [PATCH 088/281] update country reference from Germany to Belgium in tutorial --- doc/tutorial.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tutorial.rst b/doc/tutorial.rst index 76970aff..c37abb39 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -43,7 +43,7 @@ For more information on the data dependencies of PyPSA-Eur, continue reading :re How to customise PyPSA-Eur? =========================== -The model can be adapted to only include selected countries (e.g. Germany) instead of all European countries to limit the spatial scope. +The model can be adapted to only include selected countries (e.g. Belgium) instead of all European countries to limit the spatial scope. .. literalinclude:: ../config.tutorial.yaml :language: yaml From 49f1c0f6299401fc99ea2ebb849ff45be68397a4 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 15 Apr 2022 18:36:37 +0200 Subject: [PATCH 089/281] Merge pull request #348 from PyPSA/annuity add_electricity: remove vresutils.costdata.annuity dependency --- scripts/add_electricity.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index ad932cd8..ceef2390 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -94,7 +94,6 @@ import geopandas as gpd import powerplantmatching as pm from powerplantmatching.export import map_country_bus -from vresutils.costdata import annuity from vresutils import transfer as vtransfer idx = pd.IndexSlice @@ -105,6 +104,18 @@ logger = logging.getLogger(__name__) def normed(s): return s/s.sum() +def calculate_annuity(n, r): + """Calculate the annuity factor for an asset with lifetime n years and + discount rate of r, e.g. annuity(20, 0.05) * 20 = 1.6""" + + if isinstance(r, pd.Series): + return pd.Series(1/n, index=r.index).where(r == 0, r/(1. - 1./(1.+r)**n)) + elif r > 0: + return r / (1. - 1./(1.+r)**n) + else: + return 1 / n + + def _add_missing_carriers_from_costs(n, costs, carriers): missing_carriers = pd.Index(carriers).difference(n.carriers.index) if missing_carriers.empty: return @@ -138,7 +149,7 @@ def load_costs(tech_costs, config, elec_config, Nyears=1.): "investment" : 0, "lifetime" : 25}) - costs["capital_cost"] = ((annuity(costs["lifetime"], costs["discount rate"]) + + costs["capital_cost"] = ((calculate_annuity(costs["lifetime"], costs["discount rate"]) + costs["FOM"]/100.) * costs["investment"] * Nyears) From dcac3ea6e1f8df9c8eca4e67c87512412310d252 Mon Sep 17 00:00:00 2001 From: martacki Date: Thu, 28 Apr 2022 12:59:25 +0200 Subject: [PATCH 090/281] respect stores in make_summary script --- scripts/make_summary.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/make_summary.py b/scripts/make_summary.py index af1ecf36..a14000ef 100644 --- a/scripts/make_summary.py +++ b/scripts/make_summary.py @@ -171,6 +171,9 @@ def calculate_capacity(n,label,capacity): if 'p_nom_opt' in c.df.columns: c_capacities = abs(c.df.p_nom_opt.multiply(c.df.sign)).groupby(c.df.carrier).sum() capacity = include_in_summary(capacity, [c.list_name], label, c_capacities) + elif 'e_nom_opt' in c.df.columns: + c_capacities = abs(c.df.e_nom_opt.multiply(c.df.sign)).groupby(c.df.carrier).sum() + capacity = include_in_summary(capacity, [c.list_name], label, c_capacities) for c in n.iterate_components(n.passive_branch_components): c_capacities = c.df['s_nom_opt'].groupby(c.df.carrier).sum() From d12405d848ce83134bf0011f25d2394c020733d4 Mon Sep 17 00:00:00 2001 From: martacki Date: Fri, 29 Apr 2022 13:48:58 +0200 Subject: [PATCH 091/281] respect stores for energy_supply.csv --- scripts/make_summary.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/make_summary.py b/scripts/make_summary.py index a14000ef..972b245d 100644 --- a/scripts/make_summary.py +++ b/scripts/make_summary.py @@ -235,11 +235,11 @@ def calculate_supply(n, label, supply): def calculate_supply_energy(n, label, supply_energy): """calculate the total dispatch of each component at the buses where the loads are attached""" - load_types = n.loads.carrier.value_counts().index + load_types = n.buses.carrier.unique() for i in load_types: - buses = n.loads.bus[n.loads.carrier == i].values + buses = n.buses.query("carrier == @i").index bus_map = pd.Series(False,index=n.buses.index) From ac7c94337e98735906d87bb2da5c6b1d4bc2a5f2 Mon Sep 17 00:00:00 2001 From: martacki Date: Fri, 29 Apr 2022 13:51:54 +0200 Subject: [PATCH 092/281] respect stores for supply.csv --- scripts/make_summary.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/make_summary.py b/scripts/make_summary.py index 972b245d..c070d33f 100644 --- a/scripts/make_summary.py +++ b/scripts/make_summary.py @@ -188,11 +188,11 @@ def calculate_capacity(n,label,capacity): def calculate_supply(n, label, supply): """calculate the max dispatch of each component at the buses where the loads are attached""" - load_types = n.loads.carrier.value_counts().index + load_types = n.buses.carrier.unique() for i in load_types: - buses = n.loads.bus[n.loads.carrier == i].values + buses = n.buses.query("carrier == @i").index bus_map = pd.Series(False,index=n.buses.index) From 8a49697a51ee4148a565d2937cdd69d9a761810b Mon Sep 17 00:00:00 2001 From: martacki Date: Fri, 29 Apr 2022 15:09:10 +0200 Subject: [PATCH 093/281] bugfixes for manual load adjustments --- config.default.yaml | 2 +- config.tutorial.yaml | 2 +- scripts/build_load_data.py | 24 ++++++++++++++++++------ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index d2bf6159..8ac51ee8 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -26,7 +26,7 @@ clustering: snapshots: start: "2013-01-01" end: "2014-01-01" - closed: 'left' # end is not inclusive + inclusive: 'left' # end is not inclusive enable: prepare_links_p_nom: false diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 225d8f78..2ac96ee3 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -26,7 +26,7 @@ clustering: snapshots: start: "2013-03-01" end: "2013-04-01" - closed: 'left' # end is not inclusive + inclusive: 'left' # end is not inclusive enable: prepare_links_p_nom: false diff --git a/scripts/build_load_data.py b/scripts/build_load_data.py index 10921782..3c11b947 100755 --- a/scripts/build_load_data.py +++ b/scripts/build_load_data.py @@ -116,14 +116,20 @@ def nan_statistics(df): keys=['total', 'consecutive', 'max_total_per_month'], axis=1) -def copy_timeslice(load, cntry, start, stop, delta): +def copy_timeslice(load, cntry, start, stop, delta, fn_load=None): start = pd.Timestamp(start) stop = pd.Timestamp(stop) - if start-delta in load.index and stop in load.index and cntry in load: - load.loc[start:stop, cntry] = load.loc[start-delta:stop-delta, cntry].values + if (start in load.index and stop in load.index): + if start-delta in load.index and stop-delta in load.index and cntry in load: + load.loc[start:stop, cntry] = load.loc[start-delta:stop-delta, cntry].values + elif fn_load is not None: + duration = pd.date_range(freq='h', start=start-delta, end=stop-delta) + load_raw = load_timeseries(fn_load, duration, [cntry], powerstatistics) + if start-delta in load_raw.index and stop-delta in load_raw.index and cntry in load_raw: + load.loc[start:stop, cntry] = load_raw.loc[start-delta:stop-delta, cntry].values -def manual_adjustment(load, powerstatistics): +def manual_adjustment(load, fn_load, powerstatistics): """ Adjust gaps manual for load data from OPSD time-series package. @@ -150,6 +156,8 @@ def manual_adjustment(load, powerstatistics): powerstatistics: bool Whether argument load comprises the electricity consumption data of the ENTSOE power statistics or of the ENTSOE transparency map + load_fn: str + File name or url location (file format .csv) Returns ------- @@ -175,7 +183,11 @@ def manual_adjustment(load, powerstatistics): copy_timeslice(load, 'CH', '2010-11-04 04:00', '2010-11-04 22:00', Delta(days=1)) copy_timeslice(load, 'NO', '2010-12-09 11:00', '2010-12-09 18:00', Delta(days=1)) # whole january missing - copy_timeslice(load, 'GB', '2009-12-31 23:00', '2010-01-31 23:00', Delta(days=-364)) + copy_timeslice(load, 'GB', '2010-01-01 00:00', '2010-01-31 23:00', Delta(days=-365), fn_load) + # 1.1. at midnight gets special treatment + copy_timeslice(load, 'IE', '2016-01-01 00:00', '2016-01-01 01:00', Delta(days=-366), fn_load) + copy_timeslice(load, 'PT', '2016-01-01 00:00', '2016-01-01 01:00', Delta(days=-366), fn_load) + copy_timeslice(load, 'GB', '2016-01-01 00:00', '2016-01-01 01:00', Delta(days=-366), fn_load) else: if 'ME' in load: @@ -206,7 +218,7 @@ if __name__ == "__main__": load = load_timeseries(snakemake.input[0], years, countries, powerstatistics) if snakemake.config['load']['manual_adjustments']: - load = manual_adjustment(load, powerstatistics) + load = manual_adjustment(load, snakemake.input[0], powerstatistics) logger.info(f"Linearly interpolate gaps of size {interpolate_limit} and less.") load = load.interpolate(method='linear', limit=interpolate_limit) From 2e4c30e28e7a0d5a774116a77cdf87d9750f48aa Mon Sep 17 00:00:00 2001 From: martacki Date: Fri, 29 Apr 2022 15:18:22 +0200 Subject: [PATCH 094/281] abbreviate --- scripts/build_load_data.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/build_load_data.py b/scripts/build_load_data.py index 3c11b947..55270e49 100755 --- a/scripts/build_load_data.py +++ b/scripts/build_load_data.py @@ -125,8 +125,7 @@ def copy_timeslice(load, cntry, start, stop, delta, fn_load=None): elif fn_load is not None: duration = pd.date_range(freq='h', start=start-delta, end=stop-delta) load_raw = load_timeseries(fn_load, duration, [cntry], powerstatistics) - if start-delta in load_raw.index and stop-delta in load_raw.index and cntry in load_raw: - load.loc[start:stop, cntry] = load_raw.loc[start-delta:stop-delta, cntry].values + load.loc[start:stop, cntry] = load_raw.loc[start-delta:stop-delta, cntry].values def manual_adjustment(load, fn_load, powerstatistics): From fa0a028499ba7113c10b3fa74ea4726f11825869 Mon Sep 17 00:00:00 2001 From: martacki Date: Mon, 2 May 2022 10:01:51 +0200 Subject: [PATCH 095/281] pandas compatibility --- config.default.yaml | 2 +- config.tutorial.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index 8ac51ee8..d2bf6159 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -26,7 +26,7 @@ clustering: snapshots: start: "2013-01-01" end: "2014-01-01" - inclusive: 'left' # end is not inclusive + closed: 'left' # end is not inclusive enable: prepare_links_p_nom: false diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 2ac96ee3..225d8f78 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -26,7 +26,7 @@ clustering: snapshots: start: "2013-03-01" end: "2013-04-01" - inclusive: 'left' # end is not inclusive + closed: 'left' # end is not inclusive enable: prepare_links_p_nom: false From 4706422f4b5e2da52031d59440909374cec35be6 Mon Sep 17 00:00:00 2001 From: Ebbe Kyhl <69363603+ebbekyhl@users.noreply.github.com> Date: Fri, 27 May 2022 16:14:01 +0200 Subject: [PATCH 096/281] Update version of powerplantmatching Hi, I recently became aware that I was using an older version (0.4.8) of the powerplantmatching. I tested my setup with the newer version (0.5.3), and it runs without any issues. The following is a comment/question on the powerplantmatching dataset, which maybe is relevant to mention: With regard to pumped-hydro storage (PHS), the newest version of powerplantmatching entails an energy storage capacity of 4.3 TWh (Europe-aggregate, assuming 6-hours duration for plants that do not have duration specified). In the earlier version 0.4.8, this was vastly overestimated at 10 TWh. As comparison, Geth et al. (2015) showed 1.3 TWh (including Norway and Switzerland) using 2012-numbers. PHS power capacity has increased from roughly 50 to 55 GW from 2014 to 2020 (iha, 2015, 2021), so energy storage capacity most likely is increased as well. But is it fair to say that energy storage capacity has been quadrupled since 2012 (from 1.3 TWh to 4.3 TWh)? Or how can we interpret this difference? Sources: Geth et al., 2015, https://doi.org/10.1016/j.rser.2015.07.145 iha, 2015, https://www.aler-renovaveis.org/contents/lerpublication/iha_2015_sept_hydropower-status-report.pdf iha, 2021, https://assets-global.website-files.com/5f749e4b9399c80b5e421384/60c37321987070812596e26a_IHA20212405-status-report-02_LR.pdf --- envs/environment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 3c69b77b..eaad600f 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -24,7 +24,7 @@ dependencies: - yaml - pytables - lxml - - powerplantmatching>=0.4.8 + - powerplantmatching==0.5.3 - numpy - pandas - geopandas From b6032fb891c3506d1720b0609fa979e6d2d87321 Mon Sep 17 00:00:00 2001 From: Max Parzen Date: Sat, 28 May 2022 14:48:32 +0100 Subject: [PATCH 097/281] fix crs bug --- scripts/build_renewable_profiles.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index a2b2eda6..41e1b54d 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -240,7 +240,7 @@ if __name__ == '__main__': # use named function np.greater with partially frozen argument instead # and exclude areas where: -max_depth > grid cell depth func = functools.partial(np.greater,-config['max_depth']) - excluder.add_raster(snakemake.input.gebco, codes=func, crs=4236, nodata=-1000) + excluder.add_raster(snakemake.input.gebco, codes=func, crs=4326, nodata=-1000) if 'min_shore_distance' in config: buffer = config['min_shore_distance'] From edb81a9e6a4ce2f7f53aeacf68d15aaa48799509 Mon Sep 17 00:00:00 2001 From: Max Parzen Date: Sat, 28 May 2022 14:50:44 +0100 Subject: [PATCH 098/281] add release note --- doc/release_notes.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 3f131dc0..80211635 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -70,6 +70,8 @@ Upcoming Release * Use updated SARAH-2 and ERA5 cutouts with slightly wider scope to east and additional variables. +* Fix crs bug. Change crs 4236 to 4326. + PyPSA-Eur 0.4.0 (22th September 2021) ===================================== From 3bb8a7967a92b15f86ad5d914be1ada37bf60ff2 Mon Sep 17 00:00:00 2001 From: Ebbe Kyhl <69363603+ebbekyhl@users.noreply.github.com> Date: Mon, 30 May 2022 08:15:54 +0200 Subject: [PATCH 099/281] Powerplantmatching version 0.5.3 as lower bound --- envs/environment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index eaad600f..a2cba37f 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -24,7 +24,7 @@ dependencies: - yaml - pytables - lxml - - powerplantmatching==0.5.3 + - powerplantmatching>=0.5.3 - numpy - pandas - geopandas From 798c015bf6e8f34e35d5e9accd5eb0323487c655 Mon Sep 17 00:00:00 2001 From: Max Parzen Date: Fri, 3 Jun 2022 17:03:10 +0100 Subject: [PATCH 100/281] restrict rasterio version --- envs/environment.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index a2cba37f..69025845 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -37,7 +37,7 @@ dependencies: - pyomo - matplotlib - proj - - fiona <= 1.18.20 # Till issue https://github.com/Toblerity/Fiona/issues/1085 is not solved + - fiona<=1.18.20 # Till issue https://github.com/Toblerity/Fiona/issues/1085 is not solved # Keep in conda environment when calling ipython - ipython @@ -45,7 +45,7 @@ dependencies: # GIS dependencies: - cartopy - descartes - - rasterio + - rasterio<=1.2.8 # 1.2.10 creates error https://github.com/PyPSA/atlite/issues/238 # PyPSA-Eur-Sec Dependencies - geopy From 21f627c74ec0b3153d60969f542052694b142e1c Mon Sep 17 00:00:00 2001 From: Max Parzen Date: Fri, 3 Jun 2022 17:05:32 +0100 Subject: [PATCH 101/281] update version --- envs/environment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 69025845..f8060de1 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -45,7 +45,7 @@ dependencies: # GIS dependencies: - cartopy - descartes - - rasterio<=1.2.8 # 1.2.10 creates error https://github.com/PyPSA/atlite/issues/238 + - rasterio<=1.2.9 # 1.2.10 creates error https://github.com/PyPSA/atlite/issues/238 # PyPSA-Eur-Sec Dependencies - geopy From e974a30fd3dcf6cc8d005251b1247778cdffb933 Mon Sep 17 00:00:00 2001 From: Max Parzen Date: Fri, 3 Jun 2022 17:14:30 +0100 Subject: [PATCH 102/281] add release note --- doc/release_notes.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 80211635..963a1175 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -72,6 +72,8 @@ Upcoming Release * Fix crs bug. Change crs 4236 to 4326. +* Update rasterio version to correctly calculate exclusion raster + PyPSA-Eur 0.4.0 (22th September 2021) ===================================== From d5db3b8d8060dfd7d4a33c5749a4c2c70ef64864 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 7 Jun 2022 10:57:01 +0200 Subject: [PATCH 103/281] Update scripts/build_bus_regions.py Co-authored-by: Fabian Hofmann --- scripts/build_bus_regions.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/scripts/build_bus_regions.py b/scripts/build_bus_regions.py index 4f2369b6..382a32e8 100644 --- a/scripts/build_bus_regions.py +++ b/scripts/build_bus_regions.py @@ -117,9 +117,7 @@ def voronoi_partition_pts(points, outline, no_multipolygons=False): return poly polygons = [demultipolygon(poly) for poly in polygons] - polygons_arr = np.empty((len(polygons),), 'object') - polygons_arr[:] = polygons - return polygons_arr + return np.array(polygons, dtype=object) if __name__ == "__main__": From aa867cb70489041cd7fdbed61ebec85a52e38ed6 Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Tue, 7 Jun 2022 15:00:57 +0200 Subject: [PATCH 104/281] Update scripts/build_bus_regions.py Co-authored-by: Fabian Neumann --- scripts/build_bus_regions.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/scripts/build_bus_regions.py b/scripts/build_bus_regions.py index 382a32e8..89765ed9 100644 --- a/scripts/build_bus_regions.py +++ b/scripts/build_bus_regions.py @@ -107,15 +107,6 @@ def voronoi_partition_pts(points, outline, no_multipolygons=False): polygons.append(poly) - if no_multipolygons: - def demultipolygon(poly): - try: - # for a MultiPolygon pick the part with the largest area - poly = max(poly.geoms, key=lambda pg: pg.area) - except: - pass - return poly - polygons = [demultipolygon(poly) for poly in polygons] return np.array(polygons, dtype=object) From 97fbf77ff8ddb7da8bb75602b73853e319854cb5 Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Tue, 7 Jun 2022 15:01:18 +0200 Subject: [PATCH 105/281] Update scripts/build_bus_regions.py --- scripts/build_bus_regions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_bus_regions.py b/scripts/build_bus_regions.py index 89765ed9..b6d2d129 100644 --- a/scripts/build_bus_regions.py +++ b/scripts/build_bus_regions.py @@ -62,7 +62,7 @@ def save_to_geojson(s, fn): s.to_file(fn, driver='GeoJSON', schema=schema) -def voronoi_partition_pts(points, outline, no_multipolygons=False): +def voronoi_partition_pts(points, outline): """ Compute the polygons of a voronoi partition of `points` within the polygon `outline`. Taken from From bdd094d796b3f896b42ba8d6fb27c0093f467a67 Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Tue, 7 Jun 2022 15:01:40 +0200 Subject: [PATCH 106/281] Update scripts/build_bus_regions.py --- scripts/build_bus_regions.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/build_bus_regions.py b/scripts/build_bus_regions.py index b6d2d129..8003d370 100644 --- a/scripts/build_bus_regions.py +++ b/scripts/build_bus_regions.py @@ -71,8 +71,6 @@ def voronoi_partition_pts(points, outline): ---------- points : Nx2 - ndarray[dtype=float] outline : Polygon - no_multipolygons : bool (default: False) - If true, replace each MultiPolygon by its largest component Returns ------- polygons : N - ndarray[dtype=Polygon|MultiPolygon] From 8b855f04787b4959cfa7f22cdb1a2c3675a71155 Mon Sep 17 00:00:00 2001 From: Fabian Date: Tue, 7 Jun 2022 15:17:49 +0200 Subject: [PATCH 107/281] add_elecitricity: scale only missing renewable capacities from OPSD --- scripts/add_electricity.py | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 6c8b6de6..b2a6f7f4 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -478,18 +478,16 @@ def attach_extendable_generators(n, costs, ppl, carriers): def attach_OPSD_renewables(n, techs): - available = ['DE', 'FR', 'PL', 'CH', 'DK', 'CZ', 'SE', 'GB'] tech_map = {'Onshore': 'onwind', 'Offshore': 'offwind', 'Solar': 'solar'} - countries = set(available) & set(n.buses.country) tech_map = {k: v for k, v in tech_map.items() if v in techs} if not tech_map: return - logger.info(f'Using OPSD renewable capacities in {", ".join(countries)} ' - f'for technologies {", ".join(tech_map.values())}.') + tech_string = ", ".join(tech_map.values()) + logger.info(f'Using OPSD renewable capacities for technologies {tech_string}.') - df = pd.concat([pm.data.OPSD_VRE_country(c) for c in countries]) + df = pm.data.OPSD_VRE().powerplant.convert_country_to_alpha2() technology_b = ~df.Technology.isin(['Onshore', 'Offshore']) df['Fueltype'] = df.Fueltype.where(technology_b, df.Technology) df = df.query('Fueltype in @tech_map').powerplant.convert_country_to_alpha2() @@ -528,21 +526,27 @@ def estimate_renewable_capacities(n, config): logger.info(f"Heuristics applied to distribute renewable capacities [MW] " f"{capacities.groupby('Country').sum()}") + for ppm_technology, techs in tech_map.items(): - tech_capacities = capacities.loc[ppm_technology].reindex(countries, fill_value=0.) tech_i = n.generators.query('carrier in @techs').index - n.generators.loc[tech_i, 'p_nom'] = ( - (n.generators_t.p_max_pu[tech_i].mean() * - n.generators.loc[tech_i, 'p_nom_max']) # maximal yearly generation - .groupby(n.generators.bus.map(n.buses.country)) - .transform(lambda s: normed(s) * tech_capacities.at[s.name]) - .where(lambda s: s>0.1, 0.)) # only capacities above 100kW + stats = capacities.loc[ppm_technology].reindex(countries, fill_value=0.) + country = n.generators[tech_i].bus.map(n.buses.country) + existent = n.generators.p_nom[tech_i].groupby(country).sum() + missing = stats - existent + dist = n.generators_t.p_max_pu.mean() * n.generators.p_nom_max + + n.generators.loc[tech_i, 'p_nom'] += ( + dist[tech_i] + .groupby(country) + .transform(lambda s: normed(s) * missing[s.name]) + .where(lambda s: s>0.1, 0.) # only capacities above 100kW + ) n.generators.loc[tech_i, 'p_nom_min'] = n.generators.loc[tech_i, 'p_nom'] if expansion_limit: assert np.isscalar(expansion_limit) logger.info(f"Reducing capacity expansion limit to {expansion_limit*100:.2f}% of installed capacity.") - n.generators.loc[tech_i, 'p_nom_max'] = float(expansion_limit) * n.generators.loc[tech_i, 'p_nom_min'] + n.generators.loc[tech_i, 'p_nom_max'] = expansion_limit * n.generators.loc[tech_i, 'p_nom_min'] def add_nice_carrier_names(n, config): @@ -586,9 +590,11 @@ if __name__ == "__main__": carriers = snakemake.config['electricity']['extendable_carriers']['Generator'] attach_extendable_generators(n, costs, ppl, carriers) - estimate_renewable_capacities(n, snakemake.config) techs = snakemake.config['electricity'].get('renewable_capacities_from_OPSD', []) attach_OPSD_renewables(n, techs) + + estimate_renewable_capacities(n, snakemake.config) + update_p_nom_max(n) add_nice_carrier_names(n, snakemake.config) From cd92d8092ba2ba332e5c8e0ea3b29ff78e89c2b8 Mon Sep 17 00:00:00 2001 From: martacki Date: Wed, 8 Jun 2022 15:49:06 +0200 Subject: [PATCH 108/281] plot_summary: remove deprecated retrieve_snakemake_keys function --- scripts/plot_summary.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/plot_summary.py b/scripts/plot_summary.py index 48f064b0..bc2bd30c 100644 --- a/scripts/plot_summary.py +++ b/scripts/plot_summary.py @@ -21,7 +21,7 @@ Description import os import logging -from _helpers import configure_logging, retrieve_snakemake_keys +from _helpers import configure_logging import pandas as pd import matplotlib.pyplot as plt @@ -170,12 +170,12 @@ if __name__ == "__main__": attr='', ext='png', country='all') configure_logging(snakemake) - paths, config, wildcards, logs, out = retrieve_snakemake_keys(snakemake) + config = snakemake.config - summary = wildcards.summary + summary = snakemake.wildcards.summary try: func = globals()[f"plot_{summary}"] except KeyError: raise RuntimeError(f"plotting function for {summary} has not been defined") - func(os.path.join(paths[0], f"{summary}.csv"), config, out[0]) + func(os.path.join(snakemake.input[0], f"{summary}.csv"), config, snakemake.output[0]) From 1a7b439f2d43bd24f685e3602d6be6d122d557b1 Mon Sep 17 00:00:00 2001 From: zoltanmaric Date: Wed, 8 Jun 2022 17:19:06 +0200 Subject: [PATCH 109/281] Remove usages of `retrieve_snakemake_keys` --- scripts/build_natura_raster.py | 11 ++++------- scripts/plot_p_nom_max.py | 14 ++++++-------- scripts/prepare_links_p_nom.py | 6 ++---- 3 files changed, 12 insertions(+), 19 deletions(-) diff --git a/scripts/build_natura_raster.py b/scripts/build_natura_raster.py index 71d2c45e..7fa9d544 100644 --- a/scripts/build_natura_raster.py +++ b/scripts/build_natura_raster.py @@ -40,7 +40,7 @@ Description """ import logging -from _helpers import configure_logging, retrieve_snakemake_keys +from _helpers import configure_logging import atlite import geopandas as gpd @@ -73,20 +73,17 @@ if __name__ == "__main__": snakemake = mock_snakemake('build_natura_raster') configure_logging(snakemake) - paths, config, wildcards, logs, out = retrieve_snakemake_keys(snakemake) - - cutouts = paths.cutouts + cutouts = snakemake.input.cutouts xs, Xs, ys, Ys = zip(*(determine_cutout_xXyY(cutout) for cutout in cutouts)) bounds = transform_bounds(4326, 3035, min(xs), min(ys), max(Xs), max(Ys)) transform, out_shape = get_transform_and_shape(bounds, res=100) # adjusted boundaries - shapes = gpd.read_file(paths.natura).to_crs(3035) + shapes = gpd.read_file(snakemake.input.natura).to_crs(3035) raster = ~geometry_mask(shapes.geometry, out_shape[::-1], transform) raster = raster.astype(rio.uint8) - with rio.open(out[0], 'w', driver='GTiff', dtype=rio.uint8, + with rio.open(snakemake.output[0], 'w', driver='GTiff', dtype=rio.uint8, count=1, transform=transform, crs=3035, compress='lzw', width=raster.shape[1], height=raster.shape[0]) as dst: dst.write(raster, indexes=1) - diff --git a/scripts/plot_p_nom_max.py b/scripts/plot_p_nom_max.py index ea66d612..e79ad274 100644 --- a/scripts/plot_p_nom_max.py +++ b/scripts/plot_p_nom_max.py @@ -19,7 +19,7 @@ Description """ import logging -from _helpers import configure_logging, retrieve_snakemake_keys +from _helpers import configure_logging import pypsa import pandas as pd @@ -53,13 +53,11 @@ if __name__ == "__main__": clusts= '5,full', country= 'all') configure_logging(snakemake) - paths, config, wildcards, logs, out = retrieve_snakemake_keys(snakemake) - plot_kwds = dict(drawstyle="steps-post") - clusters = wildcards.clusts.split(',') - techs = wildcards.techs.split(',') - country = wildcards.country + clusters = snakemake.wildcards.clusts.split(',') + techs = snakemake.wildcards.techs.split(',') + country = snakemake.wildcards.country if country == 'all': country = None else: @@ -68,7 +66,7 @@ if __name__ == "__main__": fig, axes = plt.subplots(1, len(techs)) for j, cluster in enumerate(clusters): - net = pypsa.Network(paths[j]) + net = pypsa.Network(snakemake.input[j]) for i, tech in enumerate(techs): cum_p_nom_max(net, tech, country).plot(x="p_max_pu", y="cum_p_nom_max", @@ -81,4 +79,4 @@ if __name__ == "__main__": plt.legend(title="Cluster level") - fig.savefig(out[0], transparent=True, bbox_inches='tight') + fig.savefig(snakemake.output[0], transparent=True, bbox_inches='tight') diff --git a/scripts/prepare_links_p_nom.py b/scripts/prepare_links_p_nom.py index 6bd4bca4..b83089d6 100644 --- a/scripts/prepare_links_p_nom.py +++ b/scripts/prepare_links_p_nom.py @@ -37,7 +37,7 @@ Description """ import logging -from _helpers import configure_logging, retrieve_snakemake_keys +from _helpers import configure_logging import pandas as pd @@ -63,8 +63,6 @@ if __name__ == "__main__": snakemake = mock_snakemake('prepare_links_p_nom', simpl='', network='elec') configure_logging(snakemake) - paths, config, wildcards, logs, out = retrieve_snakemake_keys(snakemake) - links_p_nom = pd.read_html('https://en.wikipedia.org/wiki/List_of_HVDC_projects', header=0, match="SwePol")[0] mw = "Power (MW)" @@ -76,4 +74,4 @@ if __name__ == "__main__": links_p_nom['x1'], links_p_nom['y1'] = extract_coordinates(links_p_nom['Converterstation 1']) links_p_nom['x2'], links_p_nom['y2'] = extract_coordinates(links_p_nom['Converterstation 2']) - links_p_nom.dropna(subset=['x1', 'y1', 'x2', 'y2']).to_csv(out[0], index=False) + links_p_nom.dropna(subset=['x1', 'y1', 'x2', 'y2']).to_csv(snakemake.output[0], index=False) From eb59e68f353f4bf141cf315e834d8070691231c2 Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 9 Jun 2022 20:24:28 +0200 Subject: [PATCH 110/281] Snakefile: remove RDIR selection --- Snakefile | 69 +++++++++++++++++++++++++++---------------------------- 1 file changed, 34 insertions(+), 35 deletions(-) diff --git a/Snakefile b/Snakefile index df3f7cac..7df3a6ac 100644 --- a/Snakefile +++ b/Snakefile @@ -15,7 +15,6 @@ configfile: "config.yaml" COSTS="data/costs.csv" ATLITE_NPROCESSES = config['atlite'].get('nprocesses', 4) -RDIR = config["results_dir"] wildcard_constraints: simpl="[a-zA-Z0-9]*|all", @@ -25,19 +24,19 @@ wildcard_constraints: rule cluster_all_networks: - input: expand(RDIR + "/prenetworks/elec_s{simpl}_{clusters}.nc", **config['scenario']) + input: expand("networks/elec_s{simpl}_{clusters}.nc", **config['scenario']) rule extra_components_all_networks: - input: expand(RDIR + "/prenetworks/elec_s{simpl}_{clusters}_ec.nc", **config['scenario']) + input: expand("networks/elec_s{simpl}_{clusters}_ec.nc", **config['scenario']) rule prepare_all_networks: - input: expand(RDIR + "/prenetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) + input: expand("networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) rule solve_all_networks: - input: expand(RDIR + "/postnetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) + input: expand("results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) if config['enable'].get('prepare_links_p_nom', False): @@ -84,7 +83,7 @@ rule build_powerplants: input: base_network="networks/base.nc", custom_powerplants="data/custom_powerplants.csv" - output: RDIR + "/resources/powerplants.csv" + output: "resources/powerplants.csv" log: "logs/build_powerplants.log" threads: 1 resources: mem_mb=500 @@ -221,14 +220,14 @@ rule add_electricity: base_network='networks/base.nc', tech_costs=COSTS, regions="resources/regions_onshore.geojson", - powerplants=RDIR + '/resources/powerplants.csv', + powerplants='resources/powerplants.csv', hydro_capacities='data/bundle/hydro_capacities.csv', geth_hydro_capacities='data/geth2015_hydro_capacities.csv', load='resources/load.csv', nuts3_shapes='resources/nuts3_shapes.geojson', **{f"profile_{tech}": f"resources/profile_{tech}.nc" for tech in config['renewable']} - output: RDIR + "/prenetworks/elec.nc" + output: "networks/elec.nc" log: "logs/add_electricity.log" benchmark: "benchmarks/add_electricity" threads: 1 @@ -238,16 +237,16 @@ rule add_electricity: rule simplify_network: input: - network=RDIR + '/prenetworks/elec.nc', + network='networks/elec.nc', tech_costs=COSTS, regions_onshore="resources/regions_onshore.geojson", regions_offshore="resources/regions_offshore.geojson" output: - network=RDIR + '/prenetworks/elec_s{simpl}.nc', - regions_onshore=RDIR + "/resources/regions_onshore_elec_s{simpl}.geojson", - regions_offshore=RDIR + "/resources/regions_offshore_elec_s{simpl}.geojson", - busmap=RDIR + '/resources/busmap_elec_s{simpl}.csv', - connection_costs=RDIR + '/resources/connection_costs_s{simpl}.csv' + network='networks/elec_s{simpl}.nc', + regions_onshore="resources/regions_onshore_elec_s{simpl}.geojson", + regions_offshore="resources/regions_offshore_elec_s{simpl}.geojson", + busmap='resources/busmap_elec_s{simpl}.csv', + connection_costs='resources/connection_costs_s{simpl}.csv' log: "logs/simplify_network/elec_s{simpl}.log" benchmark: "benchmarks/simplify_network/elec_s{simpl}" threads: 1 @@ -257,19 +256,19 @@ rule simplify_network: rule cluster_network: input: - network=RDIR + '/prenetworks/elec_s{simpl}.nc', - regions_onshore=RDIR + "/resources/regions_onshore_elec_s{simpl}.geojson", - regions_offshore=RDIR + "/resources/regions_offshore_elec_s{simpl}.geojson", - busmap=ancient(RDIR + '/resources/busmap_elec_s{simpl}.csv'), + network='networks/elec_s{simpl}.nc', + regions_onshore="resources/regions_onshore_elec_s{simpl}.geojson", + regions_offshore="resources/regions_offshore_elec_s{simpl}.geojson", + busmap=ancient('resources/busmap_elec_s{simpl}.csv'), custom_busmap=("data/custom_busmap_elec_s{simpl}_{clusters}.csv" if config["enable"].get("custom_busmap", False) else []), tech_costs=COSTS output: - network=RDIR + '/prenetworks/elec_s{simpl}_{clusters}.nc', - regions_onshore=RDIR + "/resources/regions_onshore_elec_s{simpl}_{clusters}.geojson", - regions_offshore=RDIR + "/resources/regions_offshore_elec_s{simpl}_{clusters}.geojson", - busmap=RDIR + "/resources/busmap_elec_s{simpl}_{clusters}.csv", - linemap=RDIR + "/resources/linemap_elec_s{simpl}_{clusters}.csv" + network='networks/elec_s{simpl}_{clusters}.nc', + regions_onshore="resources/regions_onshore_elec_s{simpl}_{clusters}.geojson", + regions_offshore="resources/regions_offshore_elec_s{simpl}_{clusters}.geojson", + busmap="resources/busmap_elec_s{simpl}_{clusters}.csv", + linemap="resources/linemap_elec_s{simpl}_{clusters}.csv" log: "logs/cluster_network/elec_s{simpl}_{clusters}.log" benchmark: "benchmarks/cluster_network/elec_s{simpl}_{clusters}" threads: 1 @@ -279,9 +278,9 @@ rule cluster_network: rule add_extra_components: input: - network=RDIR + '/prenetworks/elec_s{simpl}_{clusters}.nc', + network='networks/elec_s{simpl}_{clusters}.nc', tech_costs=COSTS, - output: RDIR + '/prenetworks/elec_s{simpl}_{clusters}_ec.nc' + output: 'networks/elec_s{simpl}_{clusters}_ec.nc' log: "logs/add_extra_components/elec_s{simpl}_{clusters}.log" benchmark: "benchmarks/add_extra_components/elec_s{simpl}_{clusters}_ec" threads: 1 @@ -290,8 +289,8 @@ rule add_extra_components: rule prepare_network: - input: RDIR + '/prenetworks/elec_s{simpl}_{clusters}_ec.nc', tech_costs=COSTS - output: RDIR + '/prenetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc' + input: 'networks/elec_s{simpl}_{clusters}_ec.nc', tech_costs=COSTS + output: 'networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc' log: "logs/prepare_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.log" benchmark: "benchmarks/prepare_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}" threads: 1 @@ -320,8 +319,8 @@ def memory(w): rule solve_network: - input: RDIR + "/prenetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" - output: RDIR + "/postnetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" + input: "networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" + output: "results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" log: solver=normpath("logs/solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_solver.log"), python="logs/solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_python.log", @@ -335,9 +334,9 @@ rule solve_network: rule solve_operations_network: input: - unprepared=RDIR + "/prenetworks/elec_s{simpl}_{clusters}_ec.nc", - optimized=RDIR + "/postnetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" - output: RDIR + "/postnetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op.nc" + unprepared="networks/elec_s{simpl}_{clusters}_ec.nc", + optimized="results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" + output: "results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op.nc" log: solver=normpath("logs/solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_solver.log"), python="logs/solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_python.log", @@ -351,7 +350,7 @@ rule solve_operations_network: rule plot_network: input: - network=RDIR + "/postnetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", + network="results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", tech_costs=COSTS output: only_map="results/plots/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}.{ext}", @@ -369,7 +368,7 @@ def input_make_summary(w): else: ll = w.ll return ([COSTS] + - expand(RDIR + "/postnetworks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", + expand("results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", ll=ll, **{k: config["scenario"][k] if getattr(w, k) == "all" else getattr(w, k) for k in ["simpl", "clusters", "opts"]})) @@ -390,7 +389,7 @@ rule plot_summary: def input_plot_p_nom_max(w): - return [(RDIR + "/postnetworks/elec_s{simpl}{maybe_cluster}.nc" + return [("results/networks/elec_s{simpl}{maybe_cluster}.nc" .format(maybe_cluster=('' if c == 'full' else ('_' + c)), **w)) for c in w.clusts.split(",")] From 0ec3a8638b1c37e100e900de746f537248c3551e Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 9 Jun 2022 20:31:50 +0200 Subject: [PATCH 111/281] add_electricity & config: - refactor attachment of conventional carriers - refactor scaling of renewable carriers --- config.default.yaml | 70 ++++++++++---------- scripts/add_electricity.py | 131 +++++++++++++++++++++---------------- 2 files changed, 107 insertions(+), 94 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index edd88567..fc09dfd6 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -9,8 +9,6 @@ logging: level: INFO format: '%(levelname)s:%(name)s:%(message)s' -results_dir: results/your-run-name - scenario: simpl: [''] ll: ['copt'] @@ -50,57 +48,36 @@ electricity: epsilon_vres: 0.02 # share of total renewable supply contingency: 4000 # fixed capacity in MW - extendable_carriers: - Generator: [] - StorageUnit: [] # battery, H2 - Store: [battery, H2] - Link: [] - max_hours: battery: 6 H2: 168 + extendable_carriers: + Generator: [solar, onwind, offwind-ac, offwind-dc, OCGT] + StorageUnit: [] # battery, H2 + Store: [battery, H2] + Link: [AC, DC] + # use pandas query strings here, e.g. Country not in ['Germany'] powerplants_filter: (DateOut >= 2022 or DateOut != DateOut) # use pandas query strings here, e.g. Country in ['Germany'] custom_powerplants: false - conventional_carriers: - technologies: [nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass] - # Limit energy availability from these sources -> p_max_pu - # syntax: - # : or : - energy_availability_factors: - # From IAEA - # https://pris.iaea.org/PRIS/WorldStatistics/ThreeYrsEnergyAvailabilityFactor.aspx (2022-04-08) - nuclear: - BE: 0.65 - BG: 0.89 - CZ: 0.82 - FI: 0.92 - FR: 0.70 - DE: 0.88 - HU: 0.90 - NL: 0.86 - RO: 0.92 - SK: 0.89 - SI: 0.94 - ES: 0.89 - SE: 0.82 - CH: 0.86 - GB: 0.67 - renewable_capacities_from_OPSD: [] # onwind, offwind, solar + + conventional_carriers: [nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass] + renewable_carriers: [solar, onwind, offwind-ac, offwind-dc, hydro] estimate_renewable_capacities: + enable: true + # Add capacities from OPSD data + from_opsd: true # Renewable capacities are based on existing capacities reported by IRENA - - # Reference year, any of 2000 to 2020 year: 2020 # Artificially limit maximum capacities to factor * (IRENA capacities), # i.e. 110% of 's capacities => expansion_limit: 1.1 # false: Use estimated renewable potentials determine by the workflow expansion_limit: false technology_mapping: - # Wind is the Fueltype in ppm.data.Capacity_stats, onwind, offwind-{ac,dc} the carrier in PyPSA-Eur + # Wind is the Fueltype in powerplantmatching, onwind, offwind-{ac,dc} the carrier in PyPSA-Eur Offshore: [offwind-ac, offwind-dc] Onshore: [onwind] PV: [solar] @@ -210,6 +187,27 @@ renewable: hydro_max_hours: "energy_capacity_totals_by_country" # one of energy_capacity_totals_by_country, estimate_by_large_installations or a float clip_min_inflow: 1.0 +conventional: + nuclear: + energy_availability_factors: + # From IAEA + # https://pris.iaea.org/PRIS/WorldStatistics/ThreeYrsEnergyAvailabilityFactor.aspx (2022-04-08) + BE: 0.65 + BG: 0.89 + CZ: 0.82 + FI: 0.92 + FR: 0.70 + DE: 0.88 + HU: 0.90 + NL: 0.86 + RO: 0.92 + SK: 0.89 + SI: 0.94 + ES: 0.89 + SE: 0.82 + CH: 0.86 + GB: 0.67 + lines: types: 220.: "Al/St 240/40 2-bundle 220.0" diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index b2a6f7f4..992c0b3d 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -24,8 +24,8 @@ Relevant Settings conventional_carriers: co2limit: extendable_carriers: - include_renewable_capacities_from_OPSD: - estimate_renewable_capacities_from_capacity_stats: + estimate_renewable_capacities: + load: scaling_factor: @@ -185,7 +185,7 @@ def load_powerplants(ppl_fn): 'ccgt, thermal': 'CCGT', 'hard coal': 'coal'} return (pd.read_csv(ppl_fn, index_col=0, dtype={'bus': 'str'}) .powerplant.to_pypsa_names() - .rename(columns=str.lower).drop(columns=['efficiency']) + .rename(columns=str.lower) .replace({'carrier': carrier_dict})) @@ -251,13 +251,14 @@ def update_transmission_costs(n, costs, length_factor=1.0): n.links.loc[dc_b, 'capital_cost'] = costs -def attach_wind_and_solar(n, costs, input_profiles, technologies, line_length_factor=1): +def attach_wind_and_solar(n, costs, input_profiles, technologies, extendable_carriers, line_length_factor=1): # TODO: rename tech -> carrier, technologies -> carriers - - for tech in technologies: - if tech == 'hydro': continue + _add_missing_carriers_from_costs(n, costs, technologies) + + for tech in technologies: + if tech == 'hydro': + continue - n.add("Carrier", name=tech) with xr.open_dataset(getattr(input_profiles, 'profile_' + tech)) as ds: if ds.indexes['bus'].empty: continue @@ -281,7 +282,7 @@ def attach_wind_and_solar(n, costs, input_profiles, technologies, line_length_fa n.madd("Generator", ds.indexes['bus'], ' ' + tech, bus=ds.indexes['bus'], carrier=tech, - p_nom_extendable=True, + p_nom_extendable=tech in extendable_carriers['Generator'], p_nom_max=ds['p_nom_max'].to_pandas(), weight=ds['weight'].to_pandas(), marginal_cost=costs.at[suptech, 'marginal_cost'], @@ -290,41 +291,45 @@ def attach_wind_and_solar(n, costs, input_profiles, technologies, line_length_fa p_max_pu=ds['profile'].transpose('time', 'bus').to_pandas()) -def attach_conventional_generators(n, costs, ppl, conventional_carriers): +def attach_conventional_generators(n, costs, ppl, conventional_carriers, extendable_carriers, **config): - carriers = conventional_carriers["technologies"] + carriers = set(conventional_carriers) | set(extendable_carriers['Generator']) _add_missing_carriers_from_costs(n, costs, carriers) - ppl = (ppl.query('carrier in @carriers').join(costs, on='carrier') + ppl = (ppl.query('carrier in @carriers').join(costs, on='carrier', rsuffix='_r') .rename(index=lambda s: 'C' + str(s))) + ppl.efficiency.update(ppl.efficiency_r.dropna()) - logger.info('Adding {} generators with capacities [MW] \n{}' - .format(len(ppl), ppl.groupby('carrier').p_nom.sum())) + logger.info('Adding {} generators with capacities [GW] \n{}' + .format(len(ppl), ppl.groupby('carrier').p_nom.sum().div(1e3).round(2))) n.madd("Generator", ppl.index, carrier=ppl.carrier, bus=ppl.bus, - p_nom=ppl.p_nom, + p_nom_min=ppl.p_nom.where(ppl.carrier.isin(conventional_carriers), 0), + p_nom=ppl.p_nom.where(ppl.carrier.isin(conventional_carriers), 0), + p_nom_extendable=ppl.carrier.isin(extendable_carriers['Generator']), efficiency=ppl.efficiency, marginal_cost=ppl.marginal_cost, - capital_cost=0) - - logger.warning(f'Capital costs for conventional generators put to 0 EUR/MW.') + capital_cost=ppl.capital_cost, + build_year=ppl.datein.fillna(0).astype(int), + lifetime=(ppl.dateout - ppl.datein).fillna(9999).astype(int), + ) - for k,v in conventional_carriers["energy_availability_factors"].items(): - + for carrier in config: + # Generators with technology affected - idx = n.generators.query("carrier == @k").index + idx = n.generators.query("carrier == @carrier").index + factors = config[carrier].get("energy_availability_factors") if isinstance(v, float): # Single value affecting all generators of technology k indiscriminantely of country n.generators.loc[idx, "p_max_pu"] = v elif isinstance(v, dict): v = pd.Series(v) - # Values affecting generators of technology k country-specific # First map generator buses to countries; then map countries to p_max_pu - n.generators.loc[idx, "p_max_pu"] = n.generators.loc[idx]["bus"].replace(n.buses["country"]).replace(v) + n.generators.p_max_pu.update(n.generators.loc[idx].bus.map(v).dropna()) @@ -429,7 +434,7 @@ def attach_hydro(n, costs, ppl, profile_hydro, hydro_capacities, carriers, **con def attach_extendable_generators(n, costs, ppl, carriers): - + logger.warning("The function `attach_extendable_generators` is deprecated in v0.0.5.") _add_missing_carriers_from_costs(n, costs, carriers) for tech in carriers: @@ -476,24 +481,18 @@ def attach_extendable_generators(n, costs, ppl, carriers): -def attach_OPSD_renewables(n, techs): +def attach_OPSD_renewables(n, tech_map): - tech_map = {'Onshore': 'onwind', 'Offshore': 'offwind', 'Solar': 'solar'} - tech_map = {k: v for k, v in tech_map.items() if v in techs} - - if not tech_map: - return - - tech_string = ", ".join(tech_map.values()) - logger.info(f'Using OPSD renewable capacities for technologies {tech_string}.') + tech_string = ", ".join(sum(tech_map.values(), [])) + logger.info(f'Using OPSD renewable capacities for carriers {tech_string}.') df = pm.data.OPSD_VRE().powerplant.convert_country_to_alpha2() technology_b = ~df.Technology.isin(['Onshore', 'Offshore']) - df['Fueltype'] = df.Fueltype.where(technology_b, df.Technology) + df['Fueltype'] = df.Fueltype.where(technology_b, df.Technology).replace({"Solar": "PV"}) df = df.query('Fueltype in @tech_map').powerplant.convert_country_to_alpha2() - for fueltype, carrier_like in tech_map.items(): - gens = n.generators[lambda df: df.carrier.str.contains(carrier_like)] + for fueltype, carriers in tech_map.items(): + gens = n.generators[lambda df: df.carrier.isin(carriers)] buses = n.buses.loc[gens.bus.unique()] gens_per_bus = gens.groupby('bus').p_nom.count() @@ -505,32 +504,27 @@ def attach_OPSD_renewables(n, techs): n.generators.p_nom_min.update(gens.bus.map(caps).dropna()) - def estimate_renewable_capacities(n, config): - if not config["electricity"].get("estimate_renewable_capacities"): return - year = config["electricity"]["estimate_renewable_capacities"]["year"] tech_map = config["electricity"]["estimate_renewable_capacities"]["technology_mapping"] - tech_keys = list(tech_map.keys()) countries = config["countries"] expansion_limit = config["electricity"]["estimate_renewable_capacities"]["expansion_limit"] - if len(countries) == 0: return - if len(tech_map) == 0: return + if not len(countries) or not len(tech_map): return capacities = pm.data.IRENASTAT().powerplant.convert_country_to_alpha2() - capacities = capacities.query("Year == @year and Technology in @tech_keys and Country in @countries") + capacities = capacities.query("Year == @year and Technology in @tech_map and Country in @countries") capacities = capacities.groupby(["Technology", "Country"]).Capacity.sum() - logger.info(f"Heuristics applied to distribute renewable capacities [MW] " - f"{capacities.groupby('Country').sum()}") + logger.info(f"Heuristics applied to distribute renewable capacities [GW]: " + f"\n{capacities.groupby('Technology').sum().div(1e3).round(2)}") for ppm_technology, techs in tech_map.items(): tech_i = n.generators.query('carrier in @techs').index stats = capacities.loc[ppm_technology].reindex(countries, fill_value=0.) - country = n.generators[tech_i].bus.map(n.buses.country) + country = n.generators.bus[tech_i].map(n.buses.country) existent = n.generators.p_nom[tech_i].groupby(country).sum() missing = stats - existent dist = n.generators_t.p_max_pu.mean() * n.generators.p_nom_max @@ -571,29 +565,50 @@ if __name__ == "__main__": costs = load_costs(snakemake.input.tech_costs, snakemake.config['costs'], snakemake.config['electricity'], Nyears) ppl = load_powerplants(snakemake.input.powerplants) + + if "renewable_carriers" in snakemake.config['electricity']: + renewable_carriers = set(snakemake.config['renewable']) + else: + logger.warning("Key `renewable_carriers` not found in config under tag `electricity`, " + "falling back to carriers listed under `renewable`.") + renewable_carriers = snakemake.config['renewable'] + + extendable_carriers = snakemake.config['electricity']['extendable_carriers'] + if not (set(renewable_carriers) & set(extendable_carriers['Generator'])): + logger.warning(f"In future versions >= v0.0.6, extenable renewable carriers have to be " + "explicitely mentioned in `extendable_carriers`.") + + conventional_carriers = snakemake.config["electricity"]["conventional_carriers"] + attach_load(n, snakemake.input.regions, snakemake.input.load, snakemake.input.nuts3_shapes, snakemake.config['countries'], snakemake.config['load']['scaling_factor']) update_transmission_costs(n, costs, snakemake.config['lines']['length_factor']) - attach_conventional_generators(n, costs, ppl, snakemake.config["electricity"]["conventional_carriers"]) + attach_conventional_generators(n, costs, ppl, conventional_carriers, extendable_carriers) - carriers = snakemake.config['renewable'] - attach_wind_and_solar(n, costs, snakemake.input, carriers, snakemake.config['lines']['length_factor']) + attach_wind_and_solar(n, costs, snakemake.input, renewable_carriers, extendable_carriers, snakemake.config['lines']['length_factor']) - if 'hydro' in snakemake.config['renewable']: - carriers = snakemake.config['renewable']['hydro'].pop('carriers', []) - attach_hydro(n, costs, ppl, snakemake.input.profile_hydro, snakemake.input.hydro_capacities, - carriers, **snakemake.config['renewable']['hydro']) + if 'hydro' in renewable_carriers: + conf = snakemake.config['renewable']['hydro'] + attach_hydro(n, costs, ppl, snakemake.input.profile_hydro, snakemake.input.hydro_capacities, + conf.pop('carriers', []), **conf) - carriers = snakemake.config['electricity']['extendable_carriers']['Generator'] - attach_extendable_generators(n, costs, ppl, carriers) + estimate_renewable_caps = snakemake.config['electricity'].get('estimate_renewable_capacities', {}) + if not isinstance(estimate_renewable_caps, dict): + logger.warning("The config entry `estimate_renewable_capacities` was changed to a dictionary, " + "please update your config yaml file accordingly.") + from_opsd = bool(snakemake.config["electricity"]["renewable_capacities_from_opsd"]) + estimate_renewable_caps = {"enable": True, "from_opsd": from_opsd} - techs = snakemake.config['electricity'].get('renewable_capacities_from_OPSD', []) - attach_OPSD_renewables(n, techs) + if estimate_renewable_caps["enable"]: + + if estimate_renewable_caps["from_opsd"]: + tech_map = snakemake.config["electricity"]["estimate_renewable_capacities"]["technology_mapping"] + attach_OPSD_renewables(n, tech_map) - estimate_renewable_capacities(n, snakemake.config) + estimate_renewable_capacities(n, snakemake.config) update_p_nom_max(n) From 26a56d1836fff183d5c996e76006b7a74e9f37e2 Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 9 Jun 2022 20:33:13 +0200 Subject: [PATCH 112/281] update release notes --- doc/release_notes.rst | 76 ++++++++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 33 deletions(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index f07176ad..2636ea31 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -7,13 +7,38 @@ Release Notes ########################################## -Energy Security Release (April 2022) -==================================== +Upcoming Release +================ -**New Features and Changes** +* Add an efficiency factor of 88.55% to offshore wind capacity factors + as a proxy for wake losses. More rigorous modelling is `planned `_ + [`#277 `_]. + +* The default deployment density of AC- and DC-connected offshore wind capacity is reduced from 3 MW/sqkm + to a more conservative estimate of 2 MW/sqkm [`#280 `_]. + +* Following discussion in `#285 `_ we have disabled the + correction factor for solar PV capacity factors by default while satellite data is used. + A correction factor of 0.854337 is recommended if reanalysis data like ERA5 is used. + +* Resource definitions for memory usage now follow [Snakemake standard resource definition](https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#standard-resources) ```mem_mb`` rather than ``mem``. + +* Network building is made deterministic by supplying a fixed random state to network clustering routines. + +* New network topology extracted from the ENTSO-E interactive map. + +* The unused argument ``simple_hvdc_costs`` in :mod:`add_electricity` was removed. + +* Iterative solving with impedance updates is skipped if there are no expandable lines. + +* Switch from Germany to Belgium for continuous integration and tutorial to save resources. + +* Use updated SARAH-2 and ERA5 cutouts with slightly wider scope to east and additional variables. * Added existing renewable capacities for all countries based on IRENA statistics (IRENASTAT) using new ``powerplantmatching`` version: + * The estimation is endabled by setting ``enable`` to ``True``. * Configuration of reference year for capacities can be configured (default: ``2020``) + * The list of renewables provided by the OPSD database can be used as a basis, using the tag ``from_opsd: True``. This adds the renewables from the database and fills up the missing capacities with the heuristic distribution. * Uniform expansion limit of renewable build-up based on existing capacities can be configured using ``expansion_limit`` option (default: ``false``; limited to determined renewable potentials) * Distribution of country-level capacities proportional to maximum annual energy yield for each bus region @@ -22,6 +47,8 @@ Energy Security Release (April 2022) * old: ``estimate_renewable_capacities_from_capacity_stats`` * new: ``estimate_renewable_capacities`` +* The config key ``renewable_capacities_from_OPSD`` is deprecated and was moved under the section, ``estimate_renewable_capacities``. To enable it set ``from_opsd`` to `True`. + * Add operational reserve margin constraint analogous to `GenX implementation `_. Can be activated with config setting ``electricity: operational_reserve:``. @@ -31,11 +58,22 @@ Energy Security Release (April 2022) * Implement country-specific EAFs for nuclear power plants based on IAEA 2018-2020 reported country averages. * The powerplants that have been shut down before 2021 are filtered out. - -**Bugs and Compatibility** * ``powerplantmatching>=0.5.1`` is now required for ``IRENASTATS``. +* The interpretation of ``extendable_carriers`` in the config was changed that all carriers that should be extendable have to be listed here. Before, renewable carriers were always set to be extendable. For backwards compatibility, the workflow is looking at both the listed carriers under the ``renewable`` key and the ``extendable`` key. But in the future, all of them have to be listed under ``extendable_carriers``. + +* It is now possible to set conventional power plants as extendable by adding them to the list of extendable ``Generator`` carriers in the config. + +* By having carriers in the list of ``extendable_carriers`` but not in the list of ``conventional_carriers``, the corresponding conventional power plants are set extendable without a lower capacity bound of today's capacities. + +* Now, conventional carriers have an assigned capital cost by default. + +* The ``build_year`` and ``lifetime`` column are now defined for conventional power plants. + +* A new section ``conventional`` was added to the config file. This section contains configurations for conventional carriers. Using the ``energy_availibility_factor`` key, the ``p_max_pu`` values for conventional power plants can be defined. + + Synchronisation Release - Ukraine and Moldova (17th March 2022) =============================================================== @@ -71,34 +109,6 @@ This release is not on the ``master`` branch. It can be used with git checkout synchronisation-release -Upcoming Release -================ - -* Add an efficiency factor of 88.55% to offshore wind capacity factors - as a proxy for wake losses. More rigorous modelling is `planned `_ - [`#277 `_]. - -* The default deployment density of AC- and DC-connected offshore wind capacity is reduced from 3 MW/sqkm - to a more conservative estimate of 2 MW/sqkm [`#280 `_]. - -* Following discussion in `#285 `_ we have disabled the - correction factor for solar PV capacity factors by default while satellite data is used. - A correction factor of 0.854337 is recommended if reanalysis data like ERA5 is used. - -* Resource definitions for memory usage now follow [Snakemake standard resource definition](https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#standard-resources) ```mem_mb`` rather than ``mem``. - -* Network building is made deterministic by supplying a fixed random state to network clustering routines. - -* New network topology extracted from the ENTSO-E interactive map. - -* The unused argument ``simple_hvdc_costs`` in :mod:`add_electricity` was removed. - -* Iterative solving with impedance updates is skipped if there are no expandable lines. - -* Switch from Germany to Belgium for continuous integration and tutorial to save resources. - -* Use updated SARAH-2 and ERA5 cutouts with slightly wider scope to east and additional variables. - PyPSA-Eur 0.4.0 (22th September 2021) ===================================== From f45803ff10d6e1afec101400c8e98215611515c4 Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 9 Jun 2022 23:40:32 +0200 Subject: [PATCH 113/281] add_electricity: fix missing backwards compat and warnings --- scripts/add_electricity.py | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 24027162..880dcaad 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -25,7 +25,7 @@ Relevant Settings co2limit: extendable_carriers: estimate_renewable_capacities: - + load: scaling_factor: @@ -580,14 +580,16 @@ if __name__ == "__main__": if "renewable_carriers" in snakemake.config['electricity']: renewable_carriers = set(snakemake.config['renewable']) else: - logger.warning("Key `renewable_carriers` not found in config under tag `electricity`, " - "falling back to carriers listed under `renewable`.") + logger.warning("Missing key `renewable_carriers` under config entry `electricity`. " + "In future versions, this will raise an error. " + "Falling back to carriers listed under `renewable`.") renewable_carriers = snakemake.config['renewable'] extendable_carriers = snakemake.config['electricity']['extendable_carriers'] if not (set(renewable_carriers) & set(extendable_carriers['Generator'])): - logger.warning(f"In future versions >= v0.0.6, extenable renewable carriers have to be " - "explicitely mentioned in `extendable_carriers`.") + logger.warning("No renewables found in config entry `extendable_carriers`. " + "In future versions, these have to be explicitely listed. " + "Falling back to all renewables.") conventional_carriers = snakemake.config["electricity"]["conventional_carriers"] @@ -606,19 +608,26 @@ if __name__ == "__main__": attach_hydro(n, costs, ppl, snakemake.input.profile_hydro, snakemake.input.hydro_capacities, conf.pop('carriers', []), **conf) - estimate_renewable_caps = snakemake.config['electricity'].get('estimate_renewable_capacities', {}) - if not isinstance(estimate_renewable_caps, dict): - logger.warning("The config entry `estimate_renewable_capacities` was changed to a dictionary, " - "please update your config yaml file accordingly.") + if "estimate_renewable_capacities" not in snakemake.config['electricity']: + logger.warning("Missing key `estimate_renewable_capacities` under config entry `electricity`." + "In future versions, this will raise an error. ") + estimate_renewable_caps = {'enable': False} + if "enable" not in estimate_renewable_caps: + logger.warning("Missing key `enable` under config entry `estimate_renewable_capacities`." + "In future versions, this will raise an error. Falling back to False.") + estimate_renewable_caps = {'enable': False} + if "from_opsd" not in estimate_renewable_caps: + logger.warning("Missing key `from_opsd` under config entry `estimate_renewable_capacities`." + "In future versions, this will raise an error. " + "Falling back to whether `renewable_capacities_from_opsd` is non-empty.") from_opsd = bool(snakemake.config["electricity"]["renewable_capacities_from_opsd"]) - estimate_renewable_caps = {"enable": True, "from_opsd": from_opsd} + estimate_renewable_caps['from_opsd'] = from_opsd + - if estimate_renewable_caps["enable"]: - + if estimate_renewable_caps["enable"]: if estimate_renewable_caps["from_opsd"]: tech_map = snakemake.config["electricity"]["estimate_renewable_capacities"]["technology_mapping"] attach_OPSD_renewables(n, tech_map) - estimate_renewable_capacities(n, snakemake.config) update_p_nom_max(n) From 8cbe4e4f9dfdcbb3a5d92104e0a76497138469aa Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 10 Jun 2022 00:33:09 +0200 Subject: [PATCH 114/281] update release notes and doc --- doc/configtables/electricity.csv | 8 ++--- doc/configuration.rst | 3 -- doc/release_notes.rst | 52 +++++++++++++++++--------------- 3 files changed, 31 insertions(+), 32 deletions(-) diff --git a/doc/configtables/electricity.csv b/doc/configtables/electricity.csv index aef35350..3ec26106 100644 --- a/doc/configtables/electricity.csv +++ b/doc/configtables/electricity.csv @@ -4,7 +4,7 @@ co2limit,:math:`t_{CO_2-eq}/a`,float,Cap on total annual system carbon dioxide e co2base,:math:`t_{CO_2-eq}/a`,float,Reference value of total annual system carbon dioxide emissions if relative emission reduction target is specified in ``{opts}`` wildcard. agg_p_nom_limits,file,path,Reference to ``.csv`` file specifying per carrier generator nominal capacity constraints for individual countries if ``'CCL'`` is in ``{opts}`` wildcard. Defaults to ``data/agg_p_nom_minmax.csv``. extendable_carriers,,, --- Generator,--,"Any subset of {'OCGT','CCGT'}",Places extendable conventional power plants (OCGT and/or CCGT) where gas power plants are located today without capacity limits. +-- Generator,--,"Any extendable carrier",Defines existing or non-existing conventional and renewable power plants to be extendable during the optimization. Conventional generators can only be built/expanded where already existent today. If a listed conventional carrier is not included in the ``conventional_carriers`` list, the lower limit of the capacity expansion is set to 0. -- StorageUnit,--,"Any subset of {'battery','H2'}",Adds extendable storage units (battery and/or hydrogen) at every node/bus after clustering without capacity limits and with zero initial capacity. -- Store,--,"Any subset of {'battery','H2'}",Adds extendable storage units (battery and/or hydrogen) at every node/bus after clustering without capacity limits and with zero initial capacity. -- Link,--,Any subset of {'H2 pipeline'},Adds extendable links (H2 pipelines only) at every connection where there are lines or HVDC links without capacity limits and with zero initial capacity. Hydrogen pipelines require hydrogen storage to be modelled as ``Store``. @@ -13,7 +13,7 @@ max_hours,,, -- H2,h,float,Maximum state of charge capacity of the hydrogen storage in terms of hours at full output capacity ``p_nom``. Cf. `PyPSA documentation `_. powerplants_filter,--,"use `pandas.query `_ strings here, e.g. Country not in ['Germany']",Filter query for the default powerplant database. custom_powerplants,--,"use `pandas.query `_ strings here, e.g. Country in ['Germany']",Filter query for the custom powerplant database. -conventional_carriers,--,"Any subset of {nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass}",List of conventional power plants to include in the model from ``resources/powerplants.csv``. -renewable_capacities_from_OPSD,,"[solar, onwind, offwind]",List of carriers (offwind-ac and offwind-dc are included in offwind) whose capacities 'p_nom' are aligned to the `OPSD renewable power plant list `_ -estimate_renewable_capacities_from_capacitiy_stats,,, +conventional_carriers,--,"Any subset of {nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass}",List of conventional power plants to include in the model from ``resources/powerplants.csv``. If an included carrier is also listed in `extendable_carriers`, the capacity is taken as a lower bound. +renewable_carriers,--,"Any subset of {solar, offwind-ac, offwind-dc, hydro}",List of renewable generators to include in the model. +estimate_renewable_capacities,,, "-- Fueltype [ppm], e.g. Wind",,"list of fueltypes strings in PyPSA-Eur, e.g. [onwind, offwind-ac, offwind-dc]",converts ppm Fueltype to PyPSA-EUR Fueltype diff --git a/doc/configuration.rst b/doc/configuration.rst index a448f817..67d25228 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -91,9 +91,6 @@ Specifies the temporal range to build an energy system model for as arguments to :widths: 25,7,22,30 :file: configtables/electricity.csv -.. warning:: - Carriers in ``conventional_carriers`` must not also be in ``extendable_carriers``. - .. _atlite_cf: ``atlite`` diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 5ceea76d..1825c65c 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -36,42 +36,44 @@ Upcoming Release * Use updated SARAH-2 and ERA5 cutouts with slightly wider scope to east and additional variables. * Added existing renewable capacities for all countries based on IRENA statistics (IRENASTAT) using new ``powerplantmatching`` version: - * The estimation is endabled by setting ``enable`` to ``True``. - * Configuration of reference year for capacities can be configured (default: ``2020``) - * The list of renewables provided by the OPSD database can be used as a basis, using the tag ``from_opsd: True``. This adds the renewables from the database and fills up the missing capacities with the heuristic distribution. - * Uniform expansion limit of renewable build-up based on existing capacities can be configured using ``expansion_limit`` option - (default: ``false``; limited to determined renewable potentials) - * Distribution of country-level capacities proportional to maximum annual energy yield for each bus region - * This functionality was previously using OPSD data. - * The corresponding ``config`` entries changed, cf. ``config.default.yaml``: - * old: ``estimate_renewable_capacities_from_capacity_stats`` - * new: ``estimate_renewable_capacities`` + * The corresponding ``config`` entries changed, cf. ``config.default.yaml``: + * old: ``estimate_renewable_capacities_from_capacity_stats`` + * new: ``estimate_renewable_capacities`` + * The estimation is endabled by setting the subkey ``enable`` to ``True``. + * Configuration of reference year for capacities can be configured (default: ``2020``) + * The list of renewables provided by the OPSD database can be used as a basis, using the tag ``from_opsd: True``. This adds the renewables from the database and fills up the missing capacities with the heuristic distribution. + * Uniform expansion limit of renewable build-up based on existing capacities can be configured using ``expansion_limit`` option + (default: ``false``; limited to determined renewable potentials) + * Distribution of country-level capacities proportional to maximum annual energy yield for each bus region -* The config key ``renewable_capacities_from_OPSD`` is deprecated and was moved under the section, ``estimate_renewable_capacities``. To enable it set ``from_opsd`` to `True`. +* The config key ``renewable_capacities_from_OPSD`` is deprecated and was moved under the section, ``estimate_renewable_capacities``. To enable it, set ``from_opsd`` to `True`. -* Add operational reserve margin constraint analogous to `GenX implementation `_. - Can be activated with config setting ``electricity: operational_reserve:``. +* Add operational reserve margin constraint analogous to `GenX implementation `_. + Can be activated with config setting ``electricity: operational_reserve:``. -* Add function to add global constraint on use of gas in :mod:`prepare_network`. This can be activated with `electricity: gaslimit:` given in MWh. +* Add function to add global constraint on use of gas in :mod:`prepare_network`. This can be activated with `electricity: gaslimit:` given in MWh. -* Add configuration option to implement Energy Availability Factors (EAFs) for conventional generation technologies. -* Implement country-specific EAFs for nuclear power plants based on IAEA 2018-2020 reported country averages. +* Add configuration option to implement Energy Availability Factors (EAFs) for conventional generation technologies. -* The powerplants that have been shut down before 2021 are filtered out. - -* ``powerplantmatching>=0.5.1`` is now required for ``IRENASTATS``. +* A new section ``conventional`` was added to the config file. This section contains configurations for conventional carriers. -* The interpretation of ``extendable_carriers`` in the config was changed that all carriers that should be extendable have to be listed here. Before, renewable carriers were always set to be extendable. For backwards compatibility, the workflow is looking at both the listed carriers under the ``renewable`` key and the ``extendable`` key. But in the future, all of them have to be listed under ``extendable_carriers``. +* Implement country-specific EAFs for nuclear power plants based on IAEA 2018-2020 reported country averages. These are specified under the ``energy_availibility_factor`` key in the config entry ``conventional`` and specify the static `p_max_pu` values. -* It is now possible to set conventional power plants as extendable by adding them to the list of extendable ``Generator`` carriers in the config. +* The powerplants that have been shut down before 2021 are filtered out. -* By having carriers in the list of ``extendable_carriers`` but not in the list of ``conventional_carriers``, the corresponding conventional power plants are set extendable without a lower capacity bound of today's capacities. +* ``powerplantmatching>=0.5.1`` is now required for ``IRENASTATS``. -* Now, conventional carriers have an assigned capital cost by default. +* The inclusion of renewable carriers is now specified in the config entry ``renewable_carriers``. Before this was done by commenting/uncommenting sub-sections in the `renewable` config section. -* The ``build_year`` and ``lifetime`` column are now defined for conventional power plants. +* Now, all carriers that should be extendable have to be listed in the config entry ``extendable_carriers``. Before, renewable carriers were always set to be extendable. For backwards compatibility, the workflow is still looking at the listed carriers under the ``renewable`` key. In the future, all of them have to be listed under ``extendable_carriers``. -* A new section ``conventional`` was added to the config file. This section contains configurations for conventional carriers. Using the ``energy_availibility_factor`` key, the ``p_max_pu`` values for conventional power plants can be defined. +* It is now possible to set conventional power plants as extendable by adding them to the list of extendable ``Generator`` carriers in the config. + +* Listing conventional carriers in ``extendable_carriers`` but not in ``conventional_carriers``, sets the corresponding conventional power plants as extendable without a lower capacity bound of today's capacities. + +* Now, conventional carriers have an assigned capital cost by default. + +* The ``build_year`` and ``lifetime`` column are now defined for conventional power plants. * Fix crs bug. Change crs 4236 to 4326. From c68aa028ffff8d83a4ea3fa0dcefcf8e256aa58a Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 10 Jun 2022 00:36:07 +0200 Subject: [PATCH 115/281] add_electricity: fix missing config key --- scripts/add_electricity.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 880dcaad..bd17dbe5 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -609,18 +609,22 @@ if __name__ == "__main__": conf.pop('carriers', []), **conf) if "estimate_renewable_capacities" not in snakemake.config['electricity']: - logger.warning("Missing key `estimate_renewable_capacities` under config entry `electricity`." - "In future versions, this will raise an error. ") - estimate_renewable_caps = {'enable': False} + logger.warning("Missing key `estimate_renewable_capacities` under config entry `electricity`. " + "In future versions, this will raise an error. " + "Falling back to whether ``estimate_renewable_capacities_from_capacity_stats`` is in the config.") + if "estimate_renewable_capacities_from_capacity_stats" in snakemake.config['electricity']: + estimate_renewable_caps = {'enable': True, **snakemake.config['electricity']["estimate_renewable_capacities_from_capacity_stats"]} + else: + estimate_renewable_caps = {'enable': False} if "enable" not in estimate_renewable_caps: - logger.warning("Missing key `enable` under config entry `estimate_renewable_capacities`." + logger.warning("Missing key `enable` under config entry `estimate_renewable_capacities`. " "In future versions, this will raise an error. Falling back to False.") estimate_renewable_caps = {'enable': False} if "from_opsd" not in estimate_renewable_caps: - logger.warning("Missing key `from_opsd` under config entry `estimate_renewable_capacities`." + logger.warning("Missing key `from_opsd` under config entry `estimate_renewable_capacities`. " "In future versions, this will raise an error. " "Falling back to whether `renewable_capacities_from_opsd` is non-empty.") - from_opsd = bool(snakemake.config["electricity"]["renewable_capacities_from_opsd"]) + from_opsd = bool(snakemake.config["electricity"].get("renewable_capacities_from_opsd", False)) estimate_renewable_caps['from_opsd'] = from_opsd From 13992125bdaf3d8b7190b6c396f7ccaa2a3a75a7 Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 10 Jun 2022 00:54:54 +0200 Subject: [PATCH 116/281] cluster_network: adjust generator strategy for new columns --- scripts/add_electricity.py | 2 +- scripts/cluster_network.py | 6 ++++-- scripts/simplify_network.py | 15 +++++++++++++-- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index bd17dbe5..87516a83 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -309,7 +309,7 @@ def attach_conventional_generators(n, costs, ppl, conventional_carriers, extenda ppl = (ppl.query('carrier in @carriers').join(costs, on='carrier', rsuffix='_r') .rename(index=lambda s: 'C' + str(s))) - ppl.efficiency.update(ppl.efficiency_r.dropna()) + ppl["efficiency"] = ppl.efficiency.fillna(ppl.efficiency_r) logger.info('Adding {} generators with capacities [GW] \n{}' .format(len(ppl), ppl.groupby('carrier').p_nom.sum().div(1e3).round(2))) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 642db4da..a3ce5c52 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -281,7 +281,9 @@ def clustering_for_n_clusters(n, n_clusters, custom_busmap=False, aggregate_carr aggregate_generators_carriers=aggregate_carriers, aggregate_one_ports=["Load", "StorageUnit"], line_length_factor=line_length_factor, - generator_strategies={'p_nom_max': p_nom_max_strategy, 'p_nom_min': pd.Series.sum}, + generator_strategies={'p_nom_max': p_nom_max_strategy, 'p_nom_min': pd.Series.sum, + 'build_year': lambda x: 0, 'lifetime': lambda x: np.inf, + 'efficiency': np.mean}, scale_link_capital_costs=False) if not n.links.empty: @@ -342,7 +344,7 @@ if __name__ == "__main__": if snakemake.wildcards.clusters.endswith('m'): n_clusters = int(snakemake.wildcards.clusters[:-1]) - aggregate_carriers = pd.Index(n.generators.carrier.unique()).difference(renewable_carriers) + aggregate_carriers = None elif snakemake.wildcards.clusters == 'all': n_clusters = len(n.buses) aggregate_carriers = None # All diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 287dfe32..5f9aec6c 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -200,7 +200,14 @@ def _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, a _adjust_capital_costs_using_connection_costs(n, connection_costs_to_bus, output) - generators, generators_pnl = aggregategenerators(n, busmap, custom_strategies={'p_nom_min': np.sum}) + strategies = { + 'p_nom_min': np.sum, + 'p_nom_max': 'sum', + 'build_year': lambda x: 0, + 'lifetime': lambda x: np.inf, + 'efficiency': np.mean + } + generators, generators_pnl = aggregategenerators(n, busmap, custom_strategies=strategies) replace_components(n, "Generator", generators, generators_pnl) for one_port in aggregate_one_ports: @@ -351,7 +358,11 @@ def aggregate_to_substations(n, buses_i=None): aggregate_generators_carriers=None, aggregate_one_ports=["Load", "StorageUnit"], line_length_factor=1.0, - generator_strategies={'p_nom_max': 'sum'}, + generator_strategies={'p_nom_max': 'sum', + 'build_year': lambda x: 0, + 'lifetime': lambda x: np.inf, + 'efficiency': np.mean + }, scale_link_capital_costs=False) return clustering.network, busmap From 1c0975181e17b324b35e5b55986039502d0e73fc Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 10 Jun 2022 11:23:35 +0200 Subject: [PATCH 117/281] add_electricity: fix missing config key --- scripts/add_electricity.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 87516a83..ba1bf9bf 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -616,6 +616,8 @@ if __name__ == "__main__": estimate_renewable_caps = {'enable': True, **snakemake.config['electricity']["estimate_renewable_capacities_from_capacity_stats"]} else: estimate_renewable_caps = {'enable': False} + else: + estimate_renewable_caps = snakemake.config['electricity']["estimate_renewable_capacities"] if "enable" not in estimate_renewable_caps: logger.warning("Missing key `enable` under config entry `estimate_renewable_capacities`. " "In future versions, this will raise an error. Falling back to False.") From 6b9932f5e80d685579617f2d962b4f9e77763263 Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Tue, 14 Jun 2022 15:24:10 +0200 Subject: [PATCH 118/281] build_renewable_profiles: set show progress default to False --- scripts/build_renewable_profiles.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index 41e1b54d..70cadab4 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -203,7 +203,7 @@ if __name__ == '__main__': pgb.streams.wrap_stderr() nprocesses = int(snakemake.threads) - noprogress = not snakemake.config['atlite'].get('show_progress', True) + noprogress = not snakemake.config['atlite'].get('show_progress', False) config = snakemake.config['renewable'][snakemake.wildcards.technology] resource = config['resource'] # pv panel config / wind turbine config correction_factor = config.get('correction_factor', 1.) From 5df588ccb80026eaf60b2d70eb71f3c8c55923bc Mon Sep 17 00:00:00 2001 From: Philipp Glaum Date: Mon, 20 Jun 2022 12:45:28 +0200 Subject: [PATCH 119/281] fix snakemake error introduced after v7.7.0 --- scripts/_helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_helpers.py b/scripts/_helpers.py index 410e05af..766fb421 100644 --- a/scripts/_helpers.py +++ b/scripts/_helpers.py @@ -240,7 +240,7 @@ def mock_snakemake(rulename, **wildcards): if os.path.exists(p): snakefile = p break - workflow = sm.Workflow(snakefile, overwrite_configfiles=[]) + workflow = sm.Workflow(snakefile, overwrite_configfiles=[], rerun_triggers=[]) workflow.include(snakefile) workflow.global_resources = {} rule = workflow.get_rule(rulename) From c2413aeef439ffb0a96f02d4b1b86a4d9520ba1f Mon Sep 17 00:00:00 2001 From: Fabian Date: Mon, 20 Jun 2022 18:20:28 +0200 Subject: [PATCH 120/281] cluster-network: add strategies for conventionals --- scripts/cluster_network.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 642db4da..1d5608e2 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -281,7 +281,14 @@ def clustering_for_n_clusters(n, n_clusters, custom_busmap=False, aggregate_carr aggregate_generators_carriers=aggregate_carriers, aggregate_one_ports=["Load", "StorageUnit"], line_length_factor=line_length_factor, - generator_strategies={'p_nom_max': p_nom_max_strategy, 'p_nom_min': pd.Series.sum}, + generator_strategies={'p_nom_max': p_nom_max_strategy, + 'p_nom_min': pd.Series.sum, + 'p_min_pu': pd.Series.mean, + 'marginal_cost': pd.Series.mean, + 'committable': np.any, + 'ramp_limit_up': pd.Series.max, + 'ramp_limit_down': pd.Series.max, + }, scale_link_capital_costs=False) if not n.links.empty: From bef4967e84567434aa836d6d572c0316abe6f96f Mon Sep 17 00:00:00 2001 From: martacki Date: Mon, 20 Jun 2022 18:58:23 +0200 Subject: [PATCH 121/281] clustering strategies moved to configurables --- config.default.yaml | 4 ++++ config.tutorial.yaml | 4 ++++ scripts/cluster_network.py | 43 +++++++++++++++-------------------- scripts/simplify_network.py | 45 ++++++++++++++++++++----------------- 4 files changed, 51 insertions(+), 45 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index d2bf6159..9462719b 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -22,6 +22,10 @@ countries: ['AL', 'AT', 'BA', 'BE', 'BG', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'F clustering: simplify: to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) + aggregation_strategies: + generators: + p_nom_max: "sum" # use "min" for more conservative assumptions + p_nom_min: "sum" snapshots: start: "2013-01-01" diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 225d8f78..4dc7a94d 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -22,6 +22,10 @@ countries: ['BE'] clustering: simplify: to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) + aggregation_strategies: + generators: + p_nom_max: "sum" # use "min" for more conservative assumptions + p_nom_min: "sum" snapshots: start: "2013-03-01" diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 1d5608e2..0a3d768a 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -11,11 +11,10 @@ Relevant Settings .. code:: yaml - focus_weights: + clustering: + aggregation_strategies: - renewable: (keys) - {technology}: - potential: + focus_weights: solving: solver: @@ -259,15 +258,16 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori def clustering_for_n_clusters(n, n_clusters, custom_busmap=False, aggregate_carriers=None, - line_length_factor=1.25, potential_mode='simple', solver_name="cbc", + line_length_factor=1.25, aggregation_strategies=dict(), solver_name="cbc", algorithm="kmeans", extended_link_costs=0, focus_weights=None): - if potential_mode == 'simple': - p_nom_max_strategy = pd.Series.sum - elif potential_mode == 'conservative': - p_nom_max_strategy = pd.Series.min - else: - raise AttributeError(f"potential_mode should be one of 'simple' or 'conservative' but is '{potential_mode}'") + bus_strategies = dict(country=_make_consense("Bus", "country")) + bus_strategies.update(aggregation_strategies.get("buses", {})) + generator_strategies = aggregation_strategies.get("generators", {"p_nom_max": "sum"}) + + # this snippet supports compatibility of PyPSA and PyPSA-EUR: + if "p_nom_max" in generator_strategies: + if generator_strategies["p_nom_max"] == "min": generator_strategies["p_nom_max"] = np.min if not isinstance(custom_busmap, pd.Series): busmap = busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights, algorithm) @@ -276,19 +276,12 @@ def clustering_for_n_clusters(n, n_clusters, custom_busmap=False, aggregate_carr clustering = get_clustering_from_busmap( n, busmap, - bus_strategies=dict(country=_make_consense("Bus", "country")), + bus_strategies=bus_strategies, aggregate_generators_weighted=True, aggregate_generators_carriers=aggregate_carriers, aggregate_one_ports=["Load", "StorageUnit"], line_length_factor=line_length_factor, - generator_strategies={'p_nom_max': p_nom_max_strategy, - 'p_nom_min': pd.Series.sum, - 'p_min_pu': pd.Series.mean, - 'marginal_cost': pd.Series.mean, - 'committable': np.any, - 'ramp_limit_up': pd.Series.max, - 'ramp_limit_down': pd.Series.max, - }, + generator_strategies=generator_strategies, scale_link_capital_costs=False) if not n.links.empty: @@ -375,8 +368,8 @@ if __name__ == "__main__": "The `potential` configuration option must agree for all renewable carriers, for now!" ) return v - potential_mode = consense(pd.Series([snakemake.config['renewable'][tech]['potential'] - for tech in renewable_carriers])) + aggregation_strategies = snakemake.config["clustering"].get("aggregation_strategies", {}) + custom_busmap = snakemake.config["enable"].get("custom_busmap", False) if custom_busmap: custom_busmap = pd.read_csv(snakemake.input.custom_busmap, index_col=0, squeeze=True) @@ -384,12 +377,12 @@ if __name__ == "__main__": logger.info(f"Imported custom busmap from {snakemake.input.custom_busmap}") clustering = clustering_for_n_clusters(n, n_clusters, custom_busmap, aggregate_carriers, - line_length_factor, potential_mode, + line_length_factor, aggregation_strategies, snakemake.config['solving']['solver']['name'], "kmeans", hvac_overhead_cost, focus_weights) - - update_p_nom_max(n) + update_p_nom_max(clustering.network) + clustering.network.export_to_netcdf(snakemake.output.network) for attr in ('busmap', 'linemap'): #also available: linemap_positive, linemap_negative getattr(clustering, attr).to_csv(snakemake.output[attr]) diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 287dfe32..7d51c511 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -13,6 +13,10 @@ Relevant Settings .. code:: yaml + clustering: + simplify: + aggregation_strategies: + costs: USD2013_to_EUR2013: discountrate: @@ -22,10 +26,6 @@ Relevant Settings electricity: max_hours: - renewables: (keys) - {technology}: - potential: - lines: length_factor: @@ -320,7 +320,7 @@ def remove_stubs(n, costs, config, output): return n, busmap -def aggregate_to_substations(n, buses_i=None): +def aggregate_to_substations(n, config, aggregation_strategies=dict(), buses_i=None): # can be used to aggregate a selection of buses to electrically closest neighbors # if no buses are given, nodes that are no substations or without offshore connection are aggregated @@ -345,19 +345,29 @@ def aggregate_to_substations(n, buses_i=None): busmap = n.buses.index.to_series() busmap.loc[buses_i] = dist.idxmin(1) + # default aggregation strategies must be specified within the function, otherwise (when defaults are passed in + # the function's definition) they get lost in case custom values for different variables are specified in the config + bus_strategies = dict(country=_make_consense("Bus", "country")) + bus_strategies.update(aggregation_strategies.get("buses", {})) + generator_strategies = aggregation_strategies.get("generators", {"p_nom_max": "sum"}) + + # this snippet supports compatibility of PyPSA and PyPSA-EUR: + if "p_nom_max" in generator_strategies: + if generator_strategies["p_nom_max"] == "min": generator_strategies["p_nom_max"] = np.min + clustering = get_clustering_from_busmap(n, busmap, - bus_strategies=dict(country=_make_consense("Bus", "country")), + bus_strategies=bus_strategies, aggregate_generators_weighted=True, aggregate_generators_carriers=None, aggregate_one_ports=["Load", "StorageUnit"], line_length_factor=1.0, - generator_strategies={'p_nom_max': 'sum'}, + generator_strategies=generator_strategies, scale_link_capital_costs=False) return clustering.network, busmap -def cluster(n, n_clusters, config): +def cluster(n, n_clusters, config, aggregation_strategies=dict()): logger.info(f"Clustering to {n_clusters} buses") focus_weights = config.get('focus_weights', None) @@ -365,16 +375,9 @@ def cluster(n, n_clusters, config): renewable_carriers = pd.Index([tech for tech in n.generators.carrier.unique() if tech.split('-', 2)[0] in config['renewable']]) - def consense(x): - v = x.iat[0] - assert ((x == v).all() or x.isnull().all()), ( - "The `potential` configuration option must agree for all renewable carriers, for now!" - ) - return v - potential_mode = (consense(pd.Series([config['renewable'][tech]['potential'] - for tech in renewable_carriers])) - if len(renewable_carriers) > 0 else 'conservative') - clustering = clustering_for_n_clusters(n, n_clusters, custom_busmap=False, potential_mode=potential_mode, + + clustering = clustering_for_n_clusters(n, n_clusters, custom_busmap=False, + aggregation_strategies=aggregation_strategies, solver_name=config['solving']['solver']['name'], focus_weights=focus_weights) @@ -389,6 +392,8 @@ if __name__ == "__main__": n = pypsa.Network(snakemake.input.network) + aggregation_strategies = snakemake.config["clustering"].get("aggregation_strategies", {}) + n, trafo_map = simplify_network_to_380(n) Nyears = n.snapshot_weightings.objective.sum() / 8760 @@ -402,11 +407,11 @@ if __name__ == "__main__": busmaps = [trafo_map, simplify_links_map, stub_map] if snakemake.config.get('clustering', {}).get('simplify', {}).get('to_substations', False): - n, substation_map = aggregate_to_substations(n) + n, substation_map = aggregate_to_substations(n, snakemake.config, aggregation_strategies) busmaps.append(substation_map) if snakemake.wildcards.simpl: - n, cluster_map = cluster(n, int(snakemake.wildcards.simpl), snakemake.config) + n, cluster_map = cluster(n, int(snakemake.wildcards.simpl), snakemake.config, aggregation_strategies) busmaps.append(cluster_map) # some entries in n.buses are not updated in previous functions, therefore can be wrong. as they are not needed From b4d8dd8ecb827c3ed450375e80fcf3717cc2aaab Mon Sep 17 00:00:00 2001 From: martacki Date: Mon, 20 Jun 2022 19:21:08 +0200 Subject: [PATCH 122/281] add changes from PR #379 --- config.default.yaml | 9 +++++++-- config.tutorial.yaml | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index 9462719b..7162d449 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -24,8 +24,13 @@ clustering: to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) aggregation_strategies: generators: - p_nom_max: "sum" # use "min" for more conservative assumptions - p_nom_min: "sum" + p_nom_max: sum # use "min" for more conservative assumptions + p_nom_min: sum + p_min_pu: mean + marginal_cost: mean + committable: any + ramp_limit_up: max + ramp_limit_down: max snapshots: start: "2013-01-01" diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 4dc7a94d..f18f23f4 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -24,8 +24,13 @@ clustering: to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) aggregation_strategies: generators: - p_nom_max: "sum" # use "min" for more conservative assumptions - p_nom_min: "sum" + p_nom_max: sum # use "min" for more conservative assumptions + p_nom_min: sum + p_min_pu: mean + marginal_cost: mean + committable: any + ramp_limit_up: max + ramp_limit_down: max snapshots: start: "2013-03-01" From 51ff3f02bb5ac45f840b7cd1a15c41a6e4112f6a Mon Sep 17 00:00:00 2001 From: Philipp Glaum Date: Tue, 21 Jun 2022 16:13:16 +0200 Subject: [PATCH 123/281] helpers: check snakemake version for bug fix --- scripts/_helpers.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/_helpers.py b/scripts/_helpers.py index 766fb421..af6d831c 100644 --- a/scripts/_helpers.py +++ b/scripts/_helpers.py @@ -231,6 +231,7 @@ def mock_snakemake(rulename, **wildcards): import os from pypsa.descriptors import Dict from snakemake.script import Snakemake + from packaging.version import Version, parse script_dir = Path(__file__).parent.resolve() assert Path.cwd().resolve() == script_dir, \ @@ -240,7 +241,8 @@ def mock_snakemake(rulename, **wildcards): if os.path.exists(p): snakefile = p break - workflow = sm.Workflow(snakefile, overwrite_configfiles=[], rerun_triggers=[]) + kwargs=dict(rerun_triggers=[]) if parse(sm.__version__) > Version("7.7.0") else {} + workflow = sm.Workflow(snakefile, overwrite_configfiles=[], **kwargs) workflow.include(snakefile) workflow.global_resources = {} rule = workflow.get_rule(rulename) From cc657b762874994b06809adedaf5647e014ff83a Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 21 Jun 2022 16:21:21 +0200 Subject: [PATCH 124/281] Update scripts/_helpers.py --- scripts/_helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_helpers.py b/scripts/_helpers.py index af6d831c..6e47c053 100644 --- a/scripts/_helpers.py +++ b/scripts/_helpers.py @@ -241,7 +241,7 @@ def mock_snakemake(rulename, **wildcards): if os.path.exists(p): snakefile = p break - kwargs=dict(rerun_triggers=[]) if parse(sm.__version__) > Version("7.7.0") else {} + kwargs = dict(rerun_triggers=[]) if parse(sm.__version__) > Version("7.7.0") else {} workflow = sm.Workflow(snakefile, overwrite_configfiles=[], **kwargs) workflow.include(snakefile) workflow.global_resources = {} From bdd0cc3aa125fa5a721357ebfc47418b79475716 Mon Sep 17 00:00:00 2001 From: martacki Date: Tue, 21 Jun 2022 18:42:49 +0200 Subject: [PATCH 125/281] clustering strats to configurables: review suggestions --- scripts/cluster_network.py | 11 +++++++---- scripts/simplify_network.py | 19 +++++++++++-------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 0a3d768a..fd66b043 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -263,11 +263,8 @@ def clustering_for_n_clusters(n, n_clusters, custom_busmap=False, aggregate_carr bus_strategies = dict(country=_make_consense("Bus", "country")) bus_strategies.update(aggregation_strategies.get("buses", {})) - generator_strategies = aggregation_strategies.get("generators", {"p_nom_max": "sum"}) - # this snippet supports compatibility of PyPSA and PyPSA-EUR: - if "p_nom_max" in generator_strategies: - if generator_strategies["p_nom_max"] == "min": generator_strategies["p_nom_max"] = np.min + generator_strategies = aggregation_strategies.get("generators", {"p_nom_max": "sum"}) if not isinstance(custom_busmap, pd.Series): busmap = busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights, algorithm) @@ -369,6 +366,12 @@ if __name__ == "__main__": ) return v aggregation_strategies = snakemake.config["clustering"].get("aggregation_strategies", {}) + aggregation_strategies = {} + # translate str entries of aggregation_strategies to pd.Series functions: + aggregation_strategies = { + p: {k: getattr(pd.Series, v) for k,v in aggregation_strategies[p].items()} + for p in aggregation_strategies.keys() + } custom_busmap = snakemake.config["enable"].get("custom_busmap", False) if custom_busmap: diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 7d51c511..52e0c815 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -320,7 +320,7 @@ def remove_stubs(n, costs, config, output): return n, busmap -def aggregate_to_substations(n, config, aggregation_strategies=dict(), buses_i=None): +def aggregate_to_substations(n, aggregation_strategies=dict(), buses_i=None): # can be used to aggregate a selection of buses to electrically closest neighbors # if no buses are given, nodes that are no substations or without offshore connection are aggregated @@ -345,15 +345,13 @@ def aggregate_to_substations(n, config, aggregation_strategies=dict(), buses_i=N busmap = n.buses.index.to_series() busmap.loc[buses_i] = dist.idxmin(1) - # default aggregation strategies must be specified within the function, otherwise (when defaults are passed in - # the function's definition) they get lost in case custom values for different variables are specified in the config + # default aggregation strategies must be specified within the function, otherwise (when defaults + # are passed in the function's definition) they get lost in case custom values for different + # variables are specified in the config. bus_strategies = dict(country=_make_consense("Bus", "country")) bus_strategies.update(aggregation_strategies.get("buses", {})) - generator_strategies = aggregation_strategies.get("generators", {"p_nom_max": "sum"}) - # this snippet supports compatibility of PyPSA and PyPSA-EUR: - if "p_nom_max" in generator_strategies: - if generator_strategies["p_nom_max"] == "min": generator_strategies["p_nom_max"] = np.min + generator_strategies = aggregation_strategies.get("generators", {"p_nom_max": "sum"}) clustering = get_clustering_from_busmap(n, busmap, bus_strategies=bus_strategies, @@ -393,6 +391,11 @@ if __name__ == "__main__": n = pypsa.Network(snakemake.input.network) aggregation_strategies = snakemake.config["clustering"].get("aggregation_strategies", {}) + # translate str entries of aggregation_strategies to pd.Series functions: + aggregation_strategies = { + p: {k: getattr(pd.Series, v) for k,v in aggregation_strategies[p].items()} + for p in aggregation_strategies.keys() + } n, trafo_map = simplify_network_to_380(n) @@ -407,7 +410,7 @@ if __name__ == "__main__": busmaps = [trafo_map, simplify_links_map, stub_map] if snakemake.config.get('clustering', {}).get('simplify', {}).get('to_substations', False): - n, substation_map = aggregate_to_substations(n, snakemake.config, aggregation_strategies) + n, substation_map = aggregate_to_substations(n, aggregation_strategies) busmaps.append(substation_map) if snakemake.wildcards.simpl: From 8dba48c4125a5578a65f4cf96c94f33780fb36ca Mon Sep 17 00:00:00 2001 From: martacki Date: Tue, 21 Jun 2022 19:08:22 +0200 Subject: [PATCH 126/281] clustering strats to configurables: documentation and testing --- doc/configtables/clustering.csv | 5 +++++ doc/release_notes.rst | 1 + test/config.test1.yaml | 9 +++++++++ 3 files changed, 15 insertions(+) diff --git a/doc/configtables/clustering.csv b/doc/configtables/clustering.csv index 2f63f955..f178ff5c 100644 --- a/doc/configtables/clustering.csv +++ b/doc/configtables/clustering.csv @@ -1,3 +1,8 @@ ,Unit,Values,Description simplify,,, -- to_substations,bool,"{'true','false'}","Aggregates all nodes without power injection (positive or negative, i.e. demand or generation) to electrically closest ones" +-- 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." diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 963a1175..c000a046 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -74,6 +74,7 @@ Upcoming Release * Update rasterio version to correctly calculate exclusion raster +* Clustering strategies for generators and buses have moved from distinct scripts to configurables to unify the process and make it more transparent. PyPSA-Eur 0.4.0 (22th September 2021) ===================================== diff --git a/test/config.test1.yaml b/test/config.test1.yaml index a9ce1e50..e3f39ab5 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -21,6 +21,15 @@ countries: ['BE'] clustering: simplify: to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) + aggregation_strategies: + generators: + p_nom_max: sum # use "min" for more conservative assumptions + p_nom_min: sum + p_min_pu: mean + marginal_cost: mean + committable: any + ramp_limit_up: max + ramp_limit_down: max snapshots: start: "2013-03-01" From f6b7317d043b8d53ba779727da273bd1afd5d81b Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Thu, 23 Jun 2022 15:14:38 +0200 Subject: [PATCH 127/281] Update config.tutorial.yaml Co-authored-by: Martha Frysztacki --- config.tutorial.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 3238329c..568119cd 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -9,7 +9,6 @@ logging: level: INFO format: '%(levelname)s:%(name)s:%(message)s' -results_dir: results/your-run-name scenario: simpl: [''] From db78f9cd2adec74c75ef8c286b0cf2699a823997 Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Thu, 23 Jun 2022 15:54:22 +0200 Subject: [PATCH 128/281] Update scripts/add_electricity.py Co-authored-by: Martha Frysztacki --- scripts/add_electricity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index ba1bf9bf..4e4fdecd 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -599,7 +599,7 @@ if __name__ == "__main__": update_transmission_costs(n, costs, snakemake.config['lines']['length_factor']) - attach_conventional_generators(n, costs, ppl, conventional_carriers, extendable_carriers) + attach_conventional_generators(n, costs, ppl, conventional_carriers, extendable_carriers, **snakemake.config["conventional"]) attach_wind_and_solar(n, costs, snakemake.input, renewable_carriers, extendable_carriers, snakemake.config['lines']['length_factor']) From 441d7d56f9f25b0b187008931c3c615b1d599942 Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 23 Jun 2022 16:04:49 +0200 Subject: [PATCH 129/281] fix eafs and conventional setttings --- config.default.yaml | 23 +++-------------------- scripts/add_electricity.py | 17 +++++++++-------- scripts/solve_network.py | 4 ++++ 3 files changed, 16 insertions(+), 28 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index fc09dfd6..30f1d2b6 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -43,14 +43,14 @@ electricity: agg_p_nom_limits: data/agg_p_nom_minmax.csv operational_reserve: # like https://genxproject.github.io/GenX/dev/core/#Reserves - activate: true + activate: false epsilon_load: 0.02 # share of total load epsilon_vres: 0.02 # share of total renewable supply contingency: 4000 # fixed capacity in MW max_hours: battery: 6 - H2: 168 + H2: 168 extendable_carriers: Generator: [solar, onwind, offwind-ac, offwind-dc, OCGT] @@ -189,24 +189,7 @@ renewable: conventional: nuclear: - energy_availability_factors: - # From IAEA - # https://pris.iaea.org/PRIS/WorldStatistics/ThreeYrsEnergyAvailabilityFactor.aspx (2022-04-08) - BE: 0.65 - BG: 0.89 - CZ: 0.82 - FI: 0.92 - FR: 0.70 - DE: 0.88 - HU: 0.90 - NL: 0.86 - RO: 0.92 - SK: 0.89 - SI: 0.94 - ES: 0.89 - SE: 0.82 - CH: 0.86 - GB: 0.67 + energy_availability_factors: "data/nuclear-eafs.csv" # float of file name lines: types: diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 4e4fdecd..c37a791d 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -302,7 +302,7 @@ def attach_wind_and_solar(n, costs, input_profiles, technologies, extendable_car p_max_pu=ds['profile'].transpose('time', 'bus').to_pandas()) -def attach_conventional_generators(n, costs, ppl, conventional_carriers, extendable_carriers, **config): +def attach_conventional_generators(n, costs, ppl, conventional_carriers, extendable_carriers, conventional_config): carriers = set(conventional_carriers) | set(extendable_carriers['Generator']) _add_missing_carriers_from_costs(n, costs, carriers) @@ -327,20 +327,21 @@ def attach_conventional_generators(n, costs, ppl, conventional_carriers, extenda lifetime=(ppl.dateout - ppl.datein).fillna(9999).astype(int), ) - for carrier in config: + for carrier in conventional_config: # Generators with technology affected idx = n.generators.query("carrier == @carrier").index - factors = config[carrier].get("energy_availability_factors") + factors = conventional_config[carrier].get("energy_availability_factors") - if isinstance(v, float): + if isinstance(factors, float): # Single value affecting all generators of technology k indiscriminantely of country - n.generators.loc[idx, "p_max_pu"] = v - elif isinstance(v, dict): - v = pd.Series(v) + n.generators.loc[idx, "p_max_pu"] = factors + elif isinstance(factors, str): + factors = pd.read_file(factors, index_col=0) # Values affecting generators of technology k country-specific # First map generator buses to countries; then map countries to p_max_pu - n.generators.p_max_pu.update(n.generators.loc[idx].bus.map(v).dropna()) + bus_factors = n.buses.country.map(factors) + n.generators.p_max_pu.update(n.generators.loc[idx].bus.map(bus_factors).dropna()) diff --git a/scripts/solve_network.py b/scripts/solve_network.py index a5ebfe6e..06296723 100755 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -271,6 +271,10 @@ def update_capacity_constraint(n): def add_operational_reserve_margin(n, sns, config): + """ + Build reserve margin constraints based on the formulation given in + https://genxproject.github.io/GenX/dev/core/#Reserves. + """ define_variables(n, 0, np.inf, 'Generator', 'r', axes=[sns, n.generators.index]) From 95e8a9534a3410fc75bd76bc7d8b47b97e12fe1e Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 23 Jun 2022 16:07:33 +0200 Subject: [PATCH 130/281] env: remove duplicated ppm dependency --- envs/environment.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 0c636edc..73c14fa5 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -57,4 +57,3 @@ dependencies: - pip: - vresutils>=0.3.1 - tsam>=1.1.0 - - powerplantmatching>=0.5.3 From d6930b878afab2084df172269a6778f288fdc2cc Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Thu, 23 Jun 2022 16:14:20 +0200 Subject: [PATCH 131/281] Update scripts/cluster_network.py Co-authored-by: Martha Frysztacki --- scripts/cluster_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 5166f37a..833614ab 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -352,7 +352,7 @@ if __name__ == "__main__": if snakemake.wildcards.clusters.endswith('m'): n_clusters = int(snakemake.wildcards.clusters[:-1]) - aggregate_carriers = None + aggregate_carriers = snakemake.config["electricity"].get("conventional_carriers") elif snakemake.wildcards.clusters == 'all': n_clusters = len(n.buses) aggregate_carriers = None # All From 348b14b052fcd5744494b8aa87cba62bf467bf62 Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Thu, 23 Jun 2022 16:15:37 +0200 Subject: [PATCH 132/281] Update scripts/build_hydro_profile.py Co-authored-by: Martha Frysztacki --- scripts/build_hydro_profile.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/build_hydro_profile.py b/scripts/build_hydro_profile.py index 4add4c85..bfba40b2 100644 --- a/scripts/build_hydro_profile.py +++ b/scripts/build_hydro_profile.py @@ -78,8 +78,6 @@ def get_eia_annual_hydro_generation(fn, countries): df.loc["Germany"] = df.filter(like='Germany', axis=0).sum() df.loc["Serbia"] += df.loc["Kosovo"] - df = df.loc[~df.index.str.contains('Former')] - df.drop(["Europe", "Germany, West", "Germany, East"], inplace=True) df.index = cc.convert(df.index, to='iso2') df.index.name = 'countries' From 2e212fb436053af0e2b654b6998a2f20ac763ea1 Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Thu, 23 Jun 2022 16:16:36 +0200 Subject: [PATCH 133/281] Update test/config.test1.yaml Co-authored-by: Martha Frysztacki --- test/config.test1.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 600a3aac..18c01ad2 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -8,7 +8,6 @@ logging: level: INFO format: '%(levelname)s:%(name)s:%(message)s' -results_dir: results/your-run-name scenario: simpl: [''] From 2c5643a5f8edf85130ca88c848e16f628024ae52 Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 23 Jun 2022 16:36:22 +0200 Subject: [PATCH 134/281] add_electricity: fix conventional config --- scripts/add_electricity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index c37a791d..f2dfdfef 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -600,7 +600,7 @@ if __name__ == "__main__": update_transmission_costs(n, costs, snakemake.config['lines']['length_factor']) - attach_conventional_generators(n, costs, ppl, conventional_carriers, extendable_carriers, **snakemake.config["conventional"]) + attach_conventional_generators(n, costs, ppl, conventional_carriers, extendable_carriers, snakemake.config.get("conventional", {})) attach_wind_and_solar(n, costs, snakemake.input, renewable_carriers, extendable_carriers, snakemake.config['lines']['length_factor']) From b581e7afc6a6ed0268315c53f9b86c4e11229b2b Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 23 Jun 2022 21:19:41 +0200 Subject: [PATCH 135/281] build_hydro_profiles: revert changes --- scripts/build_hydro_profile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/build_hydro_profile.py b/scripts/build_hydro_profile.py index bfba40b2..4add4c85 100644 --- a/scripts/build_hydro_profile.py +++ b/scripts/build_hydro_profile.py @@ -78,6 +78,8 @@ def get_eia_annual_hydro_generation(fn, countries): df.loc["Germany"] = df.filter(like='Germany', axis=0).sum() df.loc["Serbia"] += df.loc["Kosovo"] + df = df.loc[~df.index.str.contains('Former')] + df.drop(["Europe", "Germany, West", "Germany, East"], inplace=True) df.index = cc.convert(df.index, to='iso2') df.index.name = 'countries' From d18867ce61c7e6d60ad8ef3ba557d8b03bbefd3b Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 23 Jun 2022 21:27:18 +0200 Subject: [PATCH 136/281] build_renewable_profiles: use dask client instead of kwargs --- scripts/build_renewable_profiles.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index 70cadab4..b77d79e1 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -189,6 +189,7 @@ import logging from pypsa.geo import haversine from shapely.geometry import LineString import time +from dask.distributed import Client from _helpers import configure_logging @@ -216,6 +217,7 @@ if __name__ == '__main__': if correction_factor != 1.: logger.info(f'correction_factor is set as {correction_factor}') + client = Client(n_workers=nprocesses) cutout = atlite.Cutout(snakemake.input['cutout']) regions = gpd.read_file(snakemake.input.regions).set_index('name').rename_axis('bus') @@ -266,7 +268,7 @@ if __name__ == '__main__': potential = capacity_per_sqkm * availability.sum('bus') * area func = getattr(cutout, resource.pop('method')) - resource['dask_kwargs'] = {'num_workers': nprocesses} + # resource['dask_kwargs'] = {'num_workers': nprocesses, "scheduler": "threading"} capacity_factor = correction_factor * func(capacity_factor=True, **resource) layout = capacity_factor * area * capacity_per_sqkm profile, capacities = func(matrix=availability.stack(spatial=['y','x']), From 743fdea874aac727e356ba6acf9c787a9eed4cc3 Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 23 Jun 2022 21:39:28 +0200 Subject: [PATCH 137/281] add dask-worker-space to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b4734ab2..559dde47 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ gurobi.log /data /data/links_p_nom.csv /cutouts +/dask-worker-space doc/_build From 75f9719076c39d7d6ff3653917d16b966c5a3e07 Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 24 Jun 2022 14:07:51 +0200 Subject: [PATCH 138/281] build_renewable_profiles: use LocalCluster instance --- scripts/build_renewable_profiles.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index b77d79e1..37e1e9de 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -189,7 +189,7 @@ import logging from pypsa.geo import haversine from shapely.geometry import LineString import time -from dask.distributed import Client +from dask.distributed import Client, LocalCluster from _helpers import configure_logging @@ -217,8 +217,9 @@ if __name__ == '__main__': if correction_factor != 1.: logger.info(f'correction_factor is set as {correction_factor}') - client = Client(n_workers=nprocesses) - + cluster = LocalCluster(n_workers=nprocesses, threads_per_worker=1) + client = Client(cluster, asynchronous=True) + cutout = atlite.Cutout(snakemake.input['cutout']) regions = gpd.read_file(snakemake.input.regions).set_index('name').rename_axis('bus') buses = regions.index @@ -268,7 +269,7 @@ if __name__ == '__main__': potential = capacity_per_sqkm * availability.sum('bus') * area func = getattr(cutout, resource.pop('method')) - # resource['dask_kwargs'] = {'num_workers': nprocesses, "scheduler": "threading"} + resource['dask_kwargs'] = {"scheduler": client} capacity_factor = correction_factor * func(capacity_factor=True, **resource) layout = capacity_factor * area * capacity_per_sqkm profile, capacities = func(matrix=availability.stack(spatial=['y','x']), From c42d2bd97d79fde0cf47264f364e5f552b00ea48 Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 23 Jun 2022 14:25:30 +0200 Subject: [PATCH 139/281] refactor save to geojson file functionality to allow import/export of empty geodfs --- doc/release_notes.rst | 2 ++ envs/environment.yaml | 2 +- scripts/_helpers.py | 2 ++ scripts/base_network.py | 4 +++- scripts/build_bus_regions.py | 20 ++++++++------------ scripts/build_cutout.py | 2 +- scripts/build_renewable_profiles.py | 6 +++++- scripts/build_shapes.py | 26 ++++++++------------------ scripts/cluster_network.py | 20 +++++++------------- 9 files changed, 37 insertions(+), 47 deletions(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 963a1175..39ec0ebe 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -45,6 +45,8 @@ This release is not on the ``master`` branch. It can be used with Upcoming Release ================ +* The workflow now supports to run a selection of countries which do not have any offshore regions assigned. Therefore the offshore technologies need to be disabled, otherwise the workflow will raise an error. + * Add an efficiency factor of 88.55% to offshore wind capacity factors as a proxy for wake losses. More rigorous modelling is `planned `_ [`#277 `_]. diff --git a/envs/environment.yaml b/envs/environment.yaml index f8060de1..039b602a 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -27,7 +27,7 @@ dependencies: - powerplantmatching>=0.5.3 - numpy - pandas - - geopandas + - geopandas>=0.11.0 - xarray - netcdf4 - networkx diff --git a/scripts/_helpers.py b/scripts/_helpers.py index 6e47c053..d77266d8 100644 --- a/scripts/_helpers.py +++ b/scripts/_helpers.py @@ -4,7 +4,9 @@ import pandas as pd from pathlib import Path +from collections import OrderedDict +REGION_COLS = ['geometry', 'name', 'x', 'y', 'country'] def configure_logging(snakemake, skip_handlers=False): """ diff --git a/scripts/base_network.py b/scripts/base_network.py index 50ec8e53..1d105225 100644 --- a/scripts/base_network.py +++ b/scripts/base_network.py @@ -391,7 +391,9 @@ def _set_countries_and_substations(n, config, country_shapes, offshore_shapes): countries = config['countries'] country_shapes = gpd.read_file(country_shapes).set_index('name')['geometry'] - offshore_shapes = gpd.read_file(offshore_shapes).set_index('name')['geometry'] + # reindexing necessary for supporting empty geo-dataframes + offshore_shapes = gpd.read_file(offshore_shapes) + offshore_shapes = offshore_shapes.reindex(columns=['name', 'geometry']).set_index('name')['geometry'] substation_b = buses['symbol'].str.contains('substation|converter station', case=False) def prefer_voltage(x, which): diff --git a/scripts/build_bus_regions.py b/scripts/build_bus_regions.py index 8003d370..8869c9f4 100644 --- a/scripts/build_bus_regions.py +++ b/scripts/build_bus_regions.py @@ -42,7 +42,7 @@ Description """ import logging -from _helpers import configure_logging +from _helpers import configure_logging, REGION_COLS import pypsa import os @@ -55,13 +55,6 @@ from scipy.spatial import Voronoi logger = logging.getLogger(__name__) -def save_to_geojson(s, fn): - if os.path.exists(fn): - os.unlink(fn) - schema = {**gpd.io.file.infer_schema(s), 'geometry': 'Unknown'} - s.to_file(fn, driver='GeoJSON', schema=schema) - - def voronoi_partition_pts(points, outline): """ Compute the polygons of a voronoi partition of `points` within the @@ -120,7 +113,8 @@ if __name__ == "__main__": n = pypsa.Network(snakemake.input.base_network) country_shapes = gpd.read_file(snakemake.input.country_shapes).set_index('name')['geometry'] - offshore_shapes = gpd.read_file(snakemake.input.offshore_shapes).set_index('name')['geometry'] + offshore_shapes = gpd.read_file(snakemake.input.offshore_shapes) + offshore_shapes = offshore_shapes.reindex(columns=REGION_COLS).set_index('name')['geometry'] onshore_regions = [] offshore_regions = [] @@ -151,6 +145,8 @@ if __name__ == "__main__": offshore_regions_c = offshore_regions_c.loc[offshore_regions_c.area > 1e-2] offshore_regions.append(offshore_regions_c) - save_to_geojson(pd.concat(onshore_regions, ignore_index=True), snakemake.output.regions_onshore) - - save_to_geojson(pd.concat(offshore_regions, ignore_index=True), snakemake.output.regions_offshore) + pd.concat(onshore_regions, ignore_index=True).to_file(snakemake.output.regions_onshore) + if offshore_regions: + pd.concat(offshore_regions, ignore_index=True).to_file(snakemake.output.regions_offshore) + else: + offshore_shapes.to_frame().to_file(snakemake.output.regions_offshore) \ No newline at end of file diff --git a/scripts/build_cutout.py b/scripts/build_cutout.py index 78eafac6..5ab085a1 100644 --- a/scripts/build_cutout.py +++ b/scripts/build_cutout.py @@ -116,7 +116,7 @@ if __name__ == "__main__": # Determine the bounds from bus regions with a buffer of two grid cells onshore = gpd.read_file(snakemake.input.regions_onshore) offshore = gpd.read_file(snakemake.input.regions_offshore) - regions = onshore.append(offshore) + regions = pd.concat([onshore, offshore]) d = max(cutout_params.get('dx', 0.25), cutout_params.get('dy', 0.25))*2 cutout_params['bounds'] = regions.total_bounds + [-d, -d, d, d] elif {'x', 'y'}.issubset(cutout_params): diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index 37e1e9de..5db87c78 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -221,7 +221,11 @@ if __name__ == '__main__': client = Client(cluster, asynchronous=True) cutout = atlite.Cutout(snakemake.input['cutout']) - regions = gpd.read_file(snakemake.input.regions).set_index('name').rename_axis('bus') + regions = gpd.read_file(snakemake.input.regions) + assert not regions.empty, (f"List of regions in {snakemake.input.regions} is empty, please " + "disable the corresponding renewable technology") + # do not pull up, set_index does not work if geo dataframe is empty + regions = regions.set_index('name').rename_axis('bus') buses = regions.index excluder = atlite.ExclusionContainer(crs=3035, res=100) diff --git a/scripts/build_shapes.py b/scripts/build_shapes.py index 22aed1fe..09230ddc 100644 --- a/scripts/build_shapes.py +++ b/scripts/build_shapes.py @@ -129,14 +129,15 @@ def eez(country_shapes, eez, country_list): df['name'] = df['ISO_3digit'].map(lambda c: _get_country('alpha_2', alpha_3=c)) s = df.set_index('name').geometry.map(lambda s: _simplify_polys(s, filterremote=False)) s = gpd.GeoSeries({k:v for k,v in s.iteritems() if v.distance(country_shapes[k]) < 1e-3}) + s = s.to_frame("geometry") s.index.name = "name" return s def country_cover(country_shapes, eez_shapes=None): - shapes = list(country_shapes) + shapes = country_shapes if eez_shapes is not None: - shapes += list(eez_shapes) + shapes = pd.concat([shapes, eez_shapes]) europe_shape = unary_union(shapes) if isinstance(europe_shape, MultiPolygon): @@ -203,16 +204,6 @@ def nuts3(country_shapes, nuts3, nuts3pop, nuts3gdp, ch_cantons, ch_popgdp): return df -def save_to_geojson(df, fn): - if os.path.exists(fn): - os.unlink(fn) - if not isinstance(df, gpd.GeoDataFrame): - df = gpd.GeoDataFrame(dict(geometry=df)) - df = df.reset_index() - schema = {**gpd.io.file.infer_schema(df), 'geometry': 'Unknown'} - df.to_file(fn, driver='GeoJSON', schema=schema) - - if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake @@ -220,15 +211,14 @@ if __name__ == "__main__": configure_logging(snakemake) country_shapes = countries(snakemake.input.naturalearth, snakemake.config['countries']) - save_to_geojson(country_shapes, snakemake.output.country_shapes) + country_shapes.reset_index().to_file(snakemake.output.country_shapes) offshore_shapes = eez(country_shapes, snakemake.input.eez, snakemake.config['countries']) - save_to_geojson(offshore_shapes, snakemake.output.offshore_shapes) + offshore_shapes.reset_index().to_file(snakemake.output.offshore_shapes) - europe_shape = country_cover(country_shapes, offshore_shapes) - save_to_geojson(gpd.GeoSeries(europe_shape), snakemake.output.europe_shape) + europe_shape = gpd.GeoDataFrame(geometry=[country_cover(country_shapes, offshore_shapes.geometry)]) + europe_shape.reset_index().to_file(snakemake.output.europe_shape) nuts3_shapes = nuts3(country_shapes, snakemake.input.nuts3, snakemake.input.nuts3pop, snakemake.input.nuts3gdp, snakemake.input.ch_cantons, snakemake.input.ch_popgdp) - - save_to_geojson(nuts3_shapes, snakemake.output.nuts3_shapes) + nuts3_shapes.reset_index().to_file(snakemake.output.nuts3_shapes) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 1d5608e2..7a4daaee 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -122,7 +122,7 @@ Exemplary unsolved network clustered to 37 nodes: """ import logging -from _helpers import configure_logging, update_p_nom_max +from _helpers import configure_logging, update_p_nom_max, REGION_COLS import pypsa import os @@ -303,24 +303,18 @@ def clustering_for_n_clusters(n, n_clusters, custom_busmap=False, aggregate_carr return clustering -def save_to_geojson(s, fn): - if os.path.exists(fn): - os.unlink(fn) - df = s.reset_index() - schema = {**gpd.io.file.infer_schema(df), 'geometry': 'Unknown'} - df.to_file(fn, driver='GeoJSON', schema=schema) - - def cluster_regions(busmaps, input=None, output=None): busmap = reduce(lambda x, y: x.map(y), busmaps[1:], busmaps[0]) for which in ('regions_onshore', 'regions_offshore'): - regions = gpd.read_file(getattr(input, which)).set_index('name') - geom_c = regions.geometry.groupby(busmap).apply(shapely.ops.unary_union) - regions_c = gpd.GeoDataFrame(dict(geometry=geom_c)) + regions = gpd.read_file(getattr(input, which)) + regions = regions.reindex(columns=REGION_COLS).set_index('name') + aggfunc = dict(x="mean", y="mean", country="first") + regions_c = regions.dissolve(busmap, aggfunc=aggfunc) regions_c.index.name = 'name' - save_to_geojson(regions_c, getattr(output, which)) + regions_c = regions_c.reset_index() + regions_c.to_file(getattr(output, which)) def plot_busmap_for_n_clusters(n, n_clusters, fn=None): From 17d7403f20fd5d7e279f33feae9d777a04da371e Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Fri, 24 Jun 2022 15:34:26 +0200 Subject: [PATCH 140/281] build_powerplants: apply suggestions from code review Co-authored-by: Martha Frysztacki --- doc/configtables/electricity.csv | 2 +- scripts/build_powerplants.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/configtables/electricity.csv b/doc/configtables/electricity.csv index 3ec26106..5abae842 100644 --- a/doc/configtables/electricity.csv +++ b/doc/configtables/electricity.csv @@ -14,6 +14,6 @@ max_hours,,, powerplants_filter,--,"use `pandas.query `_ strings here, e.g. Country not in ['Germany']",Filter query for the default powerplant database. custom_powerplants,--,"use `pandas.query `_ strings here, e.g. Country in ['Germany']",Filter query for the custom powerplant database. conventional_carriers,--,"Any subset of {nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass}",List of conventional power plants to include in the model from ``resources/powerplants.csv``. If an included carrier is also listed in `extendable_carriers`, the capacity is taken as a lower bound. -renewable_carriers,--,"Any subset of {solar, offwind-ac, offwind-dc, hydro}",List of renewable generators to include in the model. +renewable_carriers,--,"Any subset of {solar, onwind, offwind-ac, offwind-dc, hydro}",List of renewable generators to include in the model. estimate_renewable_capacities,,, "-- Fueltype [ppm], e.g. Wind",,"list of fueltypes strings in PyPSA-Eur, e.g. [onwind, offwind-ac, offwind-dc]",converts ppm Fueltype to PyPSA-EUR Fueltype diff --git a/scripts/build_powerplants.py b/scripts/build_powerplants.py index c1ee4127..a5dbf57b 100755 --- a/scripts/build_powerplants.py +++ b/scripts/build_powerplants.py @@ -131,7 +131,7 @@ if __name__ == "__main__": custom_ppl_query = snakemake.config['electricity']['custom_powerplants'] ppl = add_custom_powerplants(ppl, snakemake.input.custom_powerplants, custom_ppl_query) - countries_wo_ppl = [c for c in countries if c not in ppl.Country.unique()] + countries_wo_ppl = set(countries)-set(ppl.Country.unique()) if countries_wo_ppl: logging.warning(f"No powerplants known in: {', '.join(countries_wo_ppl)}") From 3dbd8d1492b164f3f2f4c126e63cf35837af007a Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 24 Jun 2022 18:31:39 +0200 Subject: [PATCH 141/281] add_electricity: fix read_csv --- scripts/add_electricity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index f2dfdfef..9a99d314 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -337,7 +337,7 @@ def attach_conventional_generators(n, costs, ppl, conventional_carriers, extenda # Single value affecting all generators of technology k indiscriminantely of country n.generators.loc[idx, "p_max_pu"] = factors elif isinstance(factors, str): - factors = pd.read_file(factors, index_col=0) + factors = pd.read_csv(factors, index_col=0)['factor'] # Values affecting generators of technology k country-specific # First map generator buses to countries; then map countries to p_max_pu bus_factors = n.buses.country.map(factors) From a1ee747dc612e301477d09c2c50987a49587b231 Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 24 Jun 2022 18:37:43 +0200 Subject: [PATCH 142/281] data: add nuclear_eafs --- data/nuclear_eafs.csv | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 data/nuclear_eafs.csv diff --git a/data/nuclear_eafs.csv b/data/nuclear_eafs.csv new file mode 100644 index 00000000..06b5f684 --- /dev/null +++ b/data/nuclear_eafs.csv @@ -0,0 +1,16 @@ +country,factor +BE,0.65 +BG,0.89 +CZ,0.82 +FI,0.92 +FR,0.70 +DE,0.88 +HU,0.90 +NL,0.86 +RO,0.92 +SK,0.89 +SI,0.94 +ES,0.89 +SE,0.82 +CH,0.86 +GB,0.67 \ No newline at end of file From b37c1d98d32274708f8bff8bc3e53bc9f9e283fb Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 24 Jun 2022 18:44:03 +0200 Subject: [PATCH 143/281] update release notes --- doc/release_notes.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 1825c65c..337f09e9 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -57,7 +57,7 @@ Upcoming Release * A new section ``conventional`` was added to the config file. This section contains configurations for conventional carriers. -* Implement country-specific EAFs for nuclear power plants based on IAEA 2018-2020 reported country averages. These are specified under the ``energy_availibility_factor`` key in the config entry ``conventional`` and specify the static `p_max_pu` values. +* Implement country-specific EAFs for nuclear power plants based on IAEA 2018-2020 reported country averages. These are specified `data/nuclear_eafs.csv` and translate to static `p_max_pu` values. * The powerplants that have been shut down before 2021 are filtered out. From c9c738e96b2240c8522f84a1941b163069c0e351 Mon Sep 17 00:00:00 2001 From: martacki Date: Fri, 24 Jun 2022 20:57:53 +0200 Subject: [PATCH 144/281] clustering strats to configurables: set defaults for yaml-incompatible strats + include in stubaggregation --- config.default.yaml | 1 + config.tutorial.yaml | 1 + scripts/cluster_network.py | 6 +++--- scripts/simplify_network.py | 37 +++++++++++++++++++++++++------------ test/config.test1.yaml | 1 + 5 files changed, 31 insertions(+), 15 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index 7162d449..144f416e 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -31,6 +31,7 @@ clustering: committable: any ramp_limit_up: max ramp_limit_down: max + efficiency: mean snapshots: start: "2013-01-01" diff --git a/config.tutorial.yaml b/config.tutorial.yaml index f18f23f4..31ca7f99 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -31,6 +31,7 @@ clustering: committable: any ramp_limit_up: max ramp_limit_down: max + efficiency:mean snapshots: start: "2013-03-01" diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index fd66b043..93cd89cd 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -264,7 +264,8 @@ def clustering_for_n_clusters(n, n_clusters, custom_busmap=False, aggregate_carr bus_strategies = dict(country=_make_consense("Bus", "country")) bus_strategies.update(aggregation_strategies.get("buses", {})) - generator_strategies = aggregation_strategies.get("generators", {"p_nom_max": "sum"}) + generator_strategies = {'build_year': lambda x: 0, 'lifetime': lambda x: np.inf} + generator_strategies.update(aggregation_strategies.get("generators", {})) if not isinstance(custom_busmap, pd.Series): busmap = busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights, algorithm) @@ -366,7 +367,6 @@ if __name__ == "__main__": ) return v aggregation_strategies = snakemake.config["clustering"].get("aggregation_strategies", {}) - aggregation_strategies = {} # translate str entries of aggregation_strategies to pd.Series functions: aggregation_strategies = { p: {k: getattr(pd.Series, v) for k,v in aggregation_strategies[p].items()} @@ -383,7 +383,7 @@ if __name__ == "__main__": line_length_factor, aggregation_strategies, snakemake.config['solving']['solver']['name'], "kmeans", hvac_overhead_cost, focus_weights) - + update_p_nom_max(clustering.network) clustering.network.export_to_netcdf(snakemake.output.network) diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 52e0c815..0fda5c77 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -189,7 +189,10 @@ def _adjust_capital_costs_using_connection_costs(n, connection_costs_to_bus, out -def _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, aggregate_one_ports={"Load", "StorageUnit"}): +def _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, + aggregate_one_ports={"Load", "StorageUnit"}, + aggregation_strategies=dict()): + def replace_components(n, c, df, pnl): n.mremove(c, n.df(c).index) @@ -200,7 +203,12 @@ def _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, a _adjust_capital_costs_using_connection_costs(n, connection_costs_to_bus, output) - generators, generators_pnl = aggregategenerators(n, busmap, custom_strategies={'p_nom_min': np.sum}) + generator_strategies = {'build_year': lambda x: 0, 'lifetime': lambda x: np.inf} + generator_strategies.update(aggregation_strategies.get("generators", {})) + + generators, generators_pnl = aggregategenerators( + n, busmap, custom_strategies=generator_strategies + ) replace_components(n, "Generator", generators, generators_pnl) for one_port in aggregate_one_ports: @@ -214,7 +222,7 @@ def _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, a n.mremove(c, df.index[df.bus0.isin(buses_to_del) | df.bus1.isin(buses_to_del)]) -def simplify_links(n, costs, config, output): +def simplify_links(n, costs, config, output, aggregation_strategies=dict()): ## Complex multi-node links are folded into end-points logger.info("Simplifying connected link components") @@ -306,17 +314,19 @@ def simplify_links(n, costs, config, output): logger.debug("Collecting all components using the busmap") - _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output) + _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, + aggregation_strategies=aggregation_strategies) return n, busmap -def remove_stubs(n, costs, config, output): +def remove_stubs(n, costs, config, output, aggregation_strategies=dict()): logger.info("Removing stubs") busmap = busmap_by_stubs(n) # ['country']) connection_costs_to_bus = _compute_connection_costs_to_bus(n, busmap, costs, config) - _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output) + _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, + aggregation_strategies=aggregation_strategies) return n, busmap @@ -345,13 +355,14 @@ def aggregate_to_substations(n, aggregation_strategies=dict(), buses_i=None): busmap = n.buses.index.to_series() busmap.loc[buses_i] = dist.idxmin(1) - # default aggregation strategies must be specified within the function, otherwise (when defaults - # are passed in the function's definition) they get lost in case custom values for different - # variables are specified in the config. + # default aggregation strategies that cannot be defined in .yaml format must be specified within + # the function, otherwise (when defaults are passed in the function's definition) they get lost + # in case custom values for different variables are specified in the config. bus_strategies = dict(country=_make_consense("Bus", "country")) bus_strategies.update(aggregation_strategies.get("buses", {})) - generator_strategies = aggregation_strategies.get("generators", {"p_nom_max": "sum"}) + generator_strategies = {'build_year': lambda x: 0, 'lifetime': lambda x: np.inf} + generator_strategies.update(aggregation_strategies.get("generators", {})) clustering = get_clustering_from_busmap(n, busmap, bus_strategies=bus_strategies, @@ -403,9 +414,11 @@ if __name__ == "__main__": technology_costs = load_costs(snakemake.input.tech_costs, snakemake.config['costs'], snakemake.config['electricity'], Nyears) - n, simplify_links_map = simplify_links(n, technology_costs, snakemake.config, snakemake.output) + n, simplify_links_map = simplify_links(n, technology_costs, snakemake.config, snakemake.output, + aggregation_strategies) - n, stub_map = remove_stubs(n, technology_costs, snakemake.config, snakemake.output) + n, stub_map = remove_stubs(n, technology_costs, snakemake.config, snakemake.output, + aggregation_strategies=aggregation_strategies) busmaps = [trafo_map, simplify_links_map, stub_map] diff --git a/test/config.test1.yaml b/test/config.test1.yaml index e3f39ab5..6d626f7e 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -30,6 +30,7 @@ clustering: committable: any ramp_limit_up: max ramp_limit_down: max + efficiency: mean snapshots: start: "2013-03-01" From 9c6c6d243ffa457200a014f7d4bf13ffa56f719b Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Mon, 27 Jun 2022 10:21:08 +0200 Subject: [PATCH 145/281] Adaptations to match current PyPSA-Eur version --- Snakefile | 4 ++-- config.tutorial.yaml | 2 +- doc/costs.rst | 4 ++-- scripts/add_electricity.py | 2 +- scripts/add_extra_components.py | 35 ++++++++++++--------------------- test/config.test1.yaml | 2 +- 6 files changed, 20 insertions(+), 29 deletions(-) diff --git a/Snakefile b/Snakefile index f4ee4c2b..ad50ff97 100644 --- a/Snakefile +++ b/Snakefile @@ -173,9 +173,9 @@ if config['enable'].get('retrieve_cost_data', True): params: year = config['costs']['year'], version = config['costs']['version'], - input: HTTP.remote("raw.githubusercontent.com/PyPSA/technology-data/{params.version}/outputs/costs_{params.year}.csv", keep_local=True) + input: HTTP.remote(f"raw.githubusercontent.com/PyPSA/technology-data/{params.version}/outputs/costs_{params.year}.csv", keep_local=True) output: COSTS - shell: 'mv {input} {output}' + run: move(input[0], output[0]) rule build_renewable_profiles: input: diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 89f04324..ecfeff6b 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -159,7 +159,7 @@ load: costs: year: 2030 version: v0.1.0 - rooftop_share: 0.5 + rooftop_share: 0.14 fill_values: FOM: 0 VOM: 0 diff --git a/doc/costs.rst b/doc/costs.rst index f56e40d3..ef0b4d37 100644 --- a/doc/costs.rst +++ b/doc/costs.rst @@ -7,9 +7,9 @@ Cost Assumptions ################## -The database of cost assumptions is retrieved from the repository `PyPSA/technology-data `_ and then saved to``resources/costs.csv``. +The database of cost assumptions is retrieved from the repository `PyPSA/technology-data `_ and then saved to``resources/costs.csv``. Cost assumptions of previous PyPSA-Eur versions can be restored by setting in the ``Snakefile``: ``COSTS="data/costs.csv". -The ``config.yaml` provides options to choose a reference year (``costs: year:``) and use a specific version of the repository ``costs: version:``. +The ``config.yaml`` provides options to choose a reference year (``costs: year:``) and use a specific version of the repository ``costs: version:``. It includes cost assumptions for all included technologies for specific years from various sources, namely for diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index c0701c6f..5351bba9 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -169,7 +169,7 @@ def load_costs(tech_costs, config, elec_config, Nyears=1.): costs_for_storage(costs.loc["battery storage"], costs.loc["battery inverter"], max_hours=max_hours['battery']) costs.loc["H2"] = \ - costs_for_storage(costs.loc["hydrogen storage tank"], costs.loc["fuel cell"], + costs_for_storage(costs.loc["hydrogen storage underground"], costs.loc["fuel cell"], costs.loc["electrolysis"], max_hours=max_hours['H2']) for attr in ('marginal_cost', 'capital_cost'): diff --git a/scripts/add_extra_components.py b/scripts/add_extra_components.py index 72e90e3b..bf5c4175 100644 --- a/scripts/add_extra_components.py +++ b/scripts/add_extra_components.py @@ -76,28 +76,19 @@ def attach_storageunits(n, costs, elec_opts): lookup_dispatch = {"H2": "fuel cell", "battery": "battery inverter"} for carrier in carriers: - if carrier=="battery": - n.madd("StorageUnit", buses_i, ' ' + carrier, - bus=buses_i, - carrier=carrier, - p_nom_extendable=True, - capital_cost=costs.at[carrier, 'capital_cost'], - marginal_cost=costs.at[carrier, 'marginal_cost'], - efficiency_store=costs.at[lookup_store[carrier], 'efficiency']**0.5, - efficiency_dispatch=costs.at[lookup_dispatch[carrier], 'efficiency']**0.5, - max_hours=max_hours[carrier], - cyclic_state_of_charge=True) - else: - n.madd("StorageUnit", buses_i, ' ' + carrier, - bus=buses_i, - carrier=carrier, - p_nom_extendable=True, - capital_cost=costs.at[carrier, 'capital_cost'], - marginal_cost=costs.at[carrier, 'marginal_cost'], - efficiency_store=costs.at[lookup_store[carrier], 'efficiency'], - efficiency_dispatch=costs.at[lookup_dispatch[carrier], 'efficiency'], - max_hours=max_hours[carrier], - cyclic_state_of_charge=True) + roundtrip_correction = 0.5 if carrier == "battery" else 1 + + n.madd("StorageUnit", buses_i, ' ' + carrier, + bus=buses_i, + carrier=carrier, + p_nom_extendable=True, + capital_cost=costs.at[carrier, 'capital_cost'], + marginal_cost=costs.at[carrier, 'marginal_cost'], + efficiency_store=costs.at[lookup_store[carrier], 'efficiency']**roundtrip_correction, + efficiency_dispatch=costs.at[lookup_dispatch[carrier], 'efficiency']**roundtrip_correction, + max_hours=max_hours[carrier], + cyclic_state_of_charge=True + ) def attach_stores(n, costs, elec_opts): diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 2a6bb26a..efd2bc12 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -157,7 +157,7 @@ load: costs: year: 2030 version: v0.1.0 - rooftop_share: 0.5 + rooftop_share: 0.14 fill_values: FOM: 0 VOM: 0 From 4d79a0dc96b7f40097f730a93df1d4cb80b306ac Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Mon, 27 Jun 2022 10:23:22 +0200 Subject: [PATCH 146/281] Apply suggestions from code review --- scripts/add_extra_components.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/add_extra_components.py b/scripts/add_extra_components.py index bf5c4175..c9a9b7cb 100644 --- a/scripts/add_extra_components.py +++ b/scripts/add_extra_components.py @@ -107,7 +107,7 @@ def attach_stores(n, costs, elec_opts): carrier='H2', e_nom_extendable=True, e_cyclic=True, - capital_cost=costs.at["hydrogen storage tank", "capital_cost"]) + capital_cost=costs.at["hydrogen storage underground", "capital_cost"]) n.madd("Link", h2_buses_i + " Electrolysis", bus0=buses_i, From fa43038564bd727099362c5b6eaa38067ae30654 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Mon, 27 Jun 2022 10:35:39 +0200 Subject: [PATCH 147/281] remove params from input as they are not exposed to input --- Snakefile | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Snakefile b/Snakefile index ad50ff97..ee415ee4 100644 --- a/Snakefile +++ b/Snakefile @@ -170,10 +170,7 @@ if config['enable'].get('retrieve_cutout', True): if config['enable'].get('retrieve_cost_data', True): rule retrieve_cost_data: - params: - year = config['costs']['year'], - version = config['costs']['version'], - input: HTTP.remote(f"raw.githubusercontent.com/PyPSA/technology-data/{params.version}/outputs/costs_{params.year}.csv", keep_local=True) + input: HTTP.remote(f"raw.githubusercontent.com/PyPSA/technology-data/{config['costs']['version']}/outputs/costs_{config['costs']['year']}.csv", keep_local=True) output: COSTS run: move(input[0], output[0]) From 8349e85252d2e296d9ba45f4bbfd60e621a68599 Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Mon, 27 Jun 2022 11:48:45 +0200 Subject: [PATCH 148/281] Apply suggestions from code review Co-authored-by: Fabian Neumann --- doc/release_notes.rst | 8 +++++--- scripts/add_electricity.py | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 300bef88..57c0a2f0 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -21,7 +21,7 @@ Upcoming Release correction factor for solar PV capacity factors by default while satellite data is used. A correction factor of 0.854337 is recommended if reanalysis data like ERA5 is used. -* Resource definitions for memory usage now follow [Snakemake standard resource definition](https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#standard-resources) ```mem_mb`` rather than ``mem``. +* Resource definitions for memory usage now follow `Snakemake standard resource definition `_ ``mem_mb`` rather than ``mem``. * Network building is made deterministic by supplying a fixed random state to network clustering routines. @@ -51,13 +51,13 @@ Upcoming Release * Add operational reserve margin constraint analogous to `GenX implementation `_. Can be activated with config setting ``electricity: operational_reserve:``. -* Add function to add global constraint on use of gas in :mod:`prepare_network`. This can be activated with `electricity: gaslimit:` given in MWh. +* Add function to add global constraint on use of gas in :mod:`prepare_network`. This can be activated by including the keyword ``CH4L`` in the ``{opts}`` wildcard which enforces the limit set in ``electricity: gaslimit:`` given in MWh thermal. Alternatively, it is possible to append a number in the `{opts}` wildcard, e.g. `CH4L200` which limits the gas use to 200 TWh thermal. * Add configuration option to implement Energy Availability Factors (EAFs) for conventional generation technologies. * A new section ``conventional`` was added to the config file. This section contains configurations for conventional carriers. -* Implement country-specific EAFs for nuclear power plants based on IAEA 2018-2020 reported country averages. These are specified `data/nuclear_eafs.csv` and translate to static `p_max_pu` values. +* Implement country-specific EAFs for nuclear power plants based on IAEA 2018-2020 reported country averages. These are specified ``data/nuclear_eafs.csv`` and translate to static ``p_max_pu`` values. * The powerplants that have been shut down before 2021 are filtered out. @@ -84,7 +84,9 @@ Upcoming Release * Cache data and cutouts folders. This cache will be updated weekly. * Add rule to automatically retrieve Natura2000 natural protection areas. Switch of file format to GPKG. +* Add option to set CO2 emission prices through `{opts}` wildcard: `Ep`, e.g. `Ep180`, will set the EUR/tCO2 price. +* Add option to alter marginal costs of a carrier through `{opts}` wildcard: `+m`, e.g. `gas+m2.5`, will multiply the default marginal cost for gas by factor 2.5. Synchronisation Release - Ukraine and Moldova (17th March 2022) =============================================================== diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 9a99d314..ea95fd94 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -324,7 +324,7 @@ def attach_conventional_generators(n, costs, ppl, conventional_carriers, extenda marginal_cost=ppl.marginal_cost, capital_cost=ppl.capital_cost, build_year=ppl.datein.fillna(0).astype(int), - lifetime=(ppl.dateout - ppl.datein).fillna(9999).astype(int), + lifetime=(ppl.dateout - ppl.datein).fillna(np.inf), ) for carrier in conventional_config: @@ -446,7 +446,7 @@ def attach_hydro(n, costs, ppl, profile_hydro, hydro_capacities, carriers, **con def attach_extendable_generators(n, costs, ppl, carriers): - logger.warning("The function `attach_extendable_generators` is deprecated in v0.0.5.") + logger.warning("The function `attach_extendable_generators` is deprecated in v0.5.0.") _add_missing_carriers_from_costs(n, costs, carriers) for tech in carriers: From 2dfa2753ba8b5de6df56d6e6f9b278aa32047d55 Mon Sep 17 00:00:00 2001 From: martacki Date: Mon, 27 Jun 2022 13:59:04 +0200 Subject: [PATCH 149/281] clustering strats to configurables: config spacing --- config.tutorial.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 31ca7f99..edf0091c 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -31,7 +31,7 @@ clustering: committable: any ramp_limit_up: max ramp_limit_down: max - efficiency:mean + efficiency: mean snapshots: start: "2013-03-01" From a3af137b74d6e505e2dae32fc7cea2b2226f834c Mon Sep 17 00:00:00 2001 From: martacki Date: Mon, 27 Jun 2022 14:18:47 +0200 Subject: [PATCH 150/281] clustering strats to configurables: move duplicate code to _helpers script & import --- scripts/_helpers.py | 16 ++++++++++++++++ scripts/cluster_network.py | 8 ++------ scripts/simplify_network.py | 14 +++----------- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/scripts/_helpers.py b/scripts/_helpers.py index 6e47c053..3c3e6ac7 100644 --- a/scripts/_helpers.py +++ b/scripts/_helpers.py @@ -210,6 +210,22 @@ def progress_retrieve(url, file): urllib.request.urlretrieve(url, file, reporthook=dlProgress) +def get_aggregation_strategies(aggregation_strategies): + # default aggregation strategies that cannot be defined in .yaml format must be specified within + # the function, otherwise (when defaults are passed in the function's definition) they get lost + # when custom values are specified in the config. + + import numpy as np + from pypsa.networkclustering import _make_consense + + bus_strategies = dict(country=_make_consense("Bus", "country")) + bus_strategies.update(aggregation_strategies.get("buses", {})) + + generator_strategies = {'build_year': lambda x: 0, 'lifetime': lambda x: np.inf} + generator_strategies.update(aggregation_strategies.get("generators", {})) + + return bus_strategies, generator_strategies + def mock_snakemake(rulename, **wildcards): """ diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 93cd89cd..6186a00e 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -121,7 +121,7 @@ Exemplary unsolved network clustered to 37 nodes: """ import logging -from _helpers import configure_logging, update_p_nom_max +from _helpers import configure_logging, update_p_nom_max, get_aggregation_strategies import pypsa import os @@ -261,11 +261,7 @@ def clustering_for_n_clusters(n, n_clusters, custom_busmap=False, aggregate_carr line_length_factor=1.25, aggregation_strategies=dict(), solver_name="cbc", algorithm="kmeans", extended_link_costs=0, focus_weights=None): - bus_strategies = dict(country=_make_consense("Bus", "country")) - bus_strategies.update(aggregation_strategies.get("buses", {})) - - generator_strategies = {'build_year': lambda x: 0, 'lifetime': lambda x: np.inf} - generator_strategies.update(aggregation_strategies.get("generators", {})) + bus_strategies, generator_strategies = get_aggregation_strategies(aggregation_strategies) if not isinstance(custom_busmap, pd.Series): busmap = busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights, algorithm) diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 0fda5c77..37e7e698 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -83,7 +83,7 @@ The rule :mod:`simplify_network` does up to four things: """ import logging -from _helpers import configure_logging, update_p_nom_max +from _helpers import configure_logging, update_p_nom_max, get_aggregation_strategies from cluster_network import clustering_for_n_clusters, cluster_regions from add_electricity import load_costs @@ -203,8 +203,7 @@ def _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, _adjust_capital_costs_using_connection_costs(n, connection_costs_to_bus, output) - generator_strategies = {'build_year': lambda x: 0, 'lifetime': lambda x: np.inf} - generator_strategies.update(aggregation_strategies.get("generators", {})) + _, generator_strategies = get_aggregation_strategies(aggregation_strategies) generators, generators_pnl = aggregategenerators( n, busmap, custom_strategies=generator_strategies @@ -355,14 +354,7 @@ def aggregate_to_substations(n, aggregation_strategies=dict(), buses_i=None): busmap = n.buses.index.to_series() busmap.loc[buses_i] = dist.idxmin(1) - # default aggregation strategies that cannot be defined in .yaml format must be specified within - # the function, otherwise (when defaults are passed in the function's definition) they get lost - # in case custom values for different variables are specified in the config. - bus_strategies = dict(country=_make_consense("Bus", "country")) - bus_strategies.update(aggregation_strategies.get("buses", {})) - - generator_strategies = {'build_year': lambda x: 0, 'lifetime': lambda x: np.inf} - generator_strategies.update(aggregation_strategies.get("generators", {})) + bus_strategies, generator_strategies = get_aggregation_strategies(aggregation_strategies) clustering = get_clustering_from_busmap(n, busmap, bus_strategies=bus_strategies, From b56d1f6f4d445536708779f3c886ddfec647aabf Mon Sep 17 00:00:00 2001 From: Fabian Date: Mon, 27 Jun 2022 17:35:19 +0200 Subject: [PATCH 151/281] conventional config section: update to more general attribute assignment scheme --- Snakefile | 5 ++-- config.default.yaml | 2 +- ...{nuclear_eafs.csv => nuclear_p_max_pu.csv} | 0 doc/configuration.rst | 13 ++++++++++- doc/release_notes.rst | 6 ++--- scripts/add_electricity.py | 23 +++++++++++-------- 6 files changed, 32 insertions(+), 17 deletions(-) rename data/{nuclear_eafs.csv => nuclear_p_max_pu.csv} (100%) diff --git a/Snakefile b/Snakefile index af2e6e90..71c6bc21 100644 --- a/Snakefile +++ b/Snakefile @@ -174,7 +174,7 @@ rule build_renewable_profiles: input: base_network="networks/base.nc", corine="data/bundle/corine/g250_clc06_V18_5.tif", - natura=lambda w: ("data/Natura2000_end2020.gpkg" + natura=lambda w: ("resources/natura.tiff" if config["renewable"][w.technology]["natura"] else []), gebco=lambda w: ("data/bundle/GEBCO_2014_2D.nc" @@ -217,7 +217,8 @@ rule add_electricity: load='resources/load.csv', nuts3_shapes='resources/nuts3_shapes.geojson', **{f"profile_{tech}": f"resources/profile_{tech}.nc" - for tech in config['renewable']} + for tech in config['renewable']}, + **{"conventional_{carrier}_{attrs}": fn for carrier in config.get('conventional', {None: {}}).values() for fn in carrier.values() if str(fn).startswith("data/")}, output: "networks/elec.nc" log: "logs/add_electricity.log" benchmark: "benchmarks/add_electricity" diff --git a/config.default.yaml b/config.default.yaml index 177c5e74..a67562c6 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -187,7 +187,7 @@ renewable: conventional: nuclear: - energy_availability_factors: "data/nuclear-eafs.csv" # float of file name + p_max_pu: "data/nuclear_p_max_pu.csv" # float of file name lines: types: diff --git a/data/nuclear_eafs.csv b/data/nuclear_p_max_pu.csv similarity index 100% rename from data/nuclear_eafs.csv rename to data/nuclear_p_max_pu.csv diff --git a/doc/configuration.rst b/doc/configuration.rst index 67d25228..c332ea7d 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -171,7 +171,7 @@ Define and specify the ``atlite.Cutout`` used for calculating renewable potentia .. literalinclude:: ../config.default.yaml :language: yaml :start-at: hydro: - :end-before: lines: + :end-before: conventional: .. csv-table:: :header-rows: 1 @@ -180,6 +180,17 @@ Define and specify the ``atlite.Cutout`` used for calculating renewable potentia .. _lines_cf: +``conventional`` +============= + +Define additional generator attribute for conventional carrier types. If a scalar value is given it is applied to all generators. However if a string starting with "data/" is given, the value is interpreted as a path to a csv file with country specific values. Then, the values are read in and applied to all generators of the given carrier in the given country. Note that the value(s) overwrite the existing values in the corresponding section of the ``generators`` dataframe. + +.. literalinclude:: ../config.default.yaml + :language: yaml + :start-at: conventional: + :end-before: lines: + + ``lines`` ============= diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 57c0a2f0..3addf3ab 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -53,11 +53,11 @@ Upcoming Release * Add function to add global constraint on use of gas in :mod:`prepare_network`. This can be activated by including the keyword ``CH4L`` in the ``{opts}`` wildcard which enforces the limit set in ``electricity: gaslimit:`` given in MWh thermal. Alternatively, it is possible to append a number in the `{opts}` wildcard, e.g. `CH4L200` which limits the gas use to 200 TWh thermal. -* Add configuration option to implement Energy Availability Factors (EAFs) for conventional generation technologies. - * A new section ``conventional`` was added to the config file. This section contains configurations for conventional carriers. -* Implement country-specific EAFs for nuclear power plants based on IAEA 2018-2020 reported country averages. These are specified ``data/nuclear_eafs.csv`` and translate to static ``p_max_pu`` values. +* Add configuration option to implement arbitrary generator attributes for conventional generation technologies. + +* Implement country-specific Energy Availability Factors (EAFs) for nuclear power plants based on IAEA 2018-2020 reported country averages. These are specified ``data/nuclear_p_max_pu.csv`` and translate to static ``p_max_pu`` values. * The powerplants that have been shut down before 2021 are filtered out. diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index ea95fd94..88c2ce66 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -331,17 +331,20 @@ def attach_conventional_generators(n, costs, ppl, conventional_carriers, extenda # Generators with technology affected idx = n.generators.query("carrier == @carrier").index - factors = conventional_config[carrier].get("energy_availability_factors") - if isinstance(factors, float): - # Single value affecting all generators of technology k indiscriminantely of country - n.generators.loc[idx, "p_max_pu"] = factors - elif isinstance(factors, str): - factors = pd.read_csv(factors, index_col=0)['factor'] - # Values affecting generators of technology k country-specific - # First map generator buses to countries; then map countries to p_max_pu - bus_factors = n.buses.country.map(factors) - n.generators.p_max_pu.update(n.generators.loc[idx].bus.map(bus_factors).dropna()) + for key in list(set(conventional_carriers[carrier]) & set(n.generators)): + + values = conventional_config[carrier][key] + + if isinstance(values, str) and str(values).startswith("data/"): + # Values affecting generators of technology k country-specific + # First map generator buses to countries; then map countries to p_max_pu + values = pd.read_csv(values, index_col=0).iloc[:, 0] + bus_values = n.buses.country.map(values) + n.generators[key].update(n.generators.loc[idx].bus.map(bus_values).dropna()) + else: + # Single value affecting all generators of technology k indiscriminantely of country + n.generators.loc[idx, key] = values From 51de606aab6eddcba8d121873f779c4ce995afa8 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Mon, 27 Jun 2022 19:00:41 +0200 Subject: [PATCH 152/281] Revert "remove build/retrieve natura raster, directly use shapefile" --- .github/workflows/ci.yaml | 23 ++--- Snakefile | 27 ++++-- config.default.yaml | 2 + config.tutorial.yaml | 10 ++- doc/configtables/toplevel.csv | 2 + doc/preparation.rst | 2 + doc/preparation/build_natura_raster.rst | 39 +++++++++ doc/preparation/build_renewable_profiles.rst | 3 + doc/preparation/retrieve.rst | 27 ++++++ doc/release_notes.rst | 5 -- doc/tutorial.rst | 4 +- envs/environment.yaml | 1 - scripts/build_natura_raster.py | 89 ++++++++++++++++++++ scripts/build_renewable_profiles.py | 4 +- test/config.test1.yaml | 2 + 15 files changed, 200 insertions(+), 40 deletions(-) create mode 100644 doc/preparation/build_natura_raster.rst create mode 100644 scripts/build_natura_raster.py diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index d447a56f..c753deab 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -13,12 +13,13 @@ on: branches: - master pull_request: + branches: + - master schedule: - cron: "0 5 * * TUE" env: - CONDA_CACHE_NUMBER: 1 # Change this value to manually reset the environment cache - DATA_CACHE_NUMBER: 1 + CACHE_NUMBER: 1 # Change this value to manually reset the environment cache jobs: build: @@ -65,26 +66,16 @@ jobs: miniforge-version: latest activate-environment: pypsa-eur use-mamba: true - - - name: Set cache dates - run: | - echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV - echo "WEEK=$(date +'%Y%U')" >> $GITHUB_ENV - - - name: Cache data and cutouts folders - uses: actions/cache@v3 - with: - path: | - data - cutouts - key: data-cutouts-${{ env.WEEK }}-${{ env.DATA_CACHE_NUMBER }} + + - name: Set cache date + run: echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV - name: Create environment cache uses: actions/cache@v2 id: cache with: path: ${{ matrix.prefix }} - key: ${{ matrix.label }}-conda-${{ hashFiles('envs/environment.yaml') }}-${{ env.DATE }}-${{ env.CONDA_CACHE_NUMBER }} + key: ${{ matrix.label }}-conda-${{ hashFiles('envs/environment.yaml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} - name: Update environment due to outdated or unavailable cache run: mamba env update -n pypsa-eur -f envs/environment.yaml diff --git a/Snakefile b/Snakefile index 42ecc45b..7678a401 100644 --- a/Snakefile +++ b/Snakefile @@ -67,12 +67,6 @@ if config['enable'].get('retrieve_databundle', True): script: 'scripts/retrieve_databundle.py' -rule retrieve_natura_data: - input: HTTP.remote("sdi.eea.europa.eu/datashare/s/H6QGCybMdLLnywo/download", additional_request_string="?path=%2FNatura2000_end2020_gpkg&files=Natura2000_end2020.gpkg", static=True) - output: "data/Natura2000_end2020.gpkg" - run: move(input[0], output[0]) - - rule retrieve_load_data: input: HTTP.remote("data.open-power-system-data.org/time_series/2019-06-05/time_series_60min_singleindex.csv", keep_local=True, static=True) output: "data/load_raw.csv" @@ -171,13 +165,28 @@ if config['enable'].get('retrieve_cutout', True): run: move(input[0], output[0]) +if config['enable'].get('build_natura_raster', False): + rule build_natura_raster: + input: + natura="data/bundle/natura/Natura2000_end2015.shp", + cutouts=expand("cutouts/{cutouts}.nc", **config['atlite']) + output: "resources/natura.tiff" + log: "logs/build_natura_raster.log" + script: "scripts/build_natura_raster.py" + + +if config['enable'].get('retrieve_natura_raster', True): + rule retrieve_natura_raster: + input: HTTP.remote("zenodo.org/record/4706686/files/natura.tiff", keep_local=True, static=True) + output: "resources/natura.tiff" + run: move(input[0], output[0]) + + rule build_renewable_profiles: input: base_network="networks/base.nc", corine="data/bundle/corine/g250_clc06_V18_5.tif", - natura=lambda w: ("data/Natura2000_end2020.gpkg" - if config["renewable"][w.technology]["natura"] - else []), + natura="resources/natura.tiff", gebco=lambda w: ("data/bundle/GEBCO_2014_2D.nc" if "max_depth" in config["renewable"][w.technology].keys() else []), diff --git a/config.default.yaml b/config.default.yaml index 7e6a1f78..144f416e 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -43,6 +43,8 @@ enable: retrieve_databundle: true build_cutout: false retrieve_cutout: true + build_natura_raster: false + retrieve_natura_raster: true custom_busmap: false electricity: diff --git a/config.tutorial.yaml b/config.tutorial.yaml index ba0bb01a..edf0091c 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -43,6 +43,8 @@ enable: retrieve_databundle: true build_cutout: false retrieve_cutout: true + build_natura_raster: false + retrieve_natura_raster: true custom_busmap: false electricity: @@ -87,7 +89,7 @@ renewable: 24, 25, 26, 27, 28, 29, 31, 32] distance: 1000 distance_grid_codes: [1, 2, 3, 4, 5, 6] - natura: false + natura: true potential: simple # or conservative clip_p_max_pu: 1.e-2 offwind-ac: @@ -98,7 +100,7 @@ renewable: capacity_per_sqkm: 3 # correction_factor: 0.93 corine: [44, 255] - natura: false + natura: true max_shore_distance: 30000 potential: simple # or conservative clip_p_max_pu: 1.e-2 @@ -111,7 +113,7 @@ renewable: capacity_per_sqkm: 3 # correction_factor: 0.93 corine: [44, 255] - natura: false + natura: true min_shore_distance: 30000 potential: simple # or conservative clip_p_max_pu: 1.e-2 @@ -133,7 +135,7 @@ renewable: # correction_factor: 0.854337 corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] - natura: false + natura: true potential: simple # or conservative clip_p_max_pu: 1.e-2 diff --git a/doc/configtables/toplevel.csv b/doc/configtables/toplevel.csv index 8965a0bc..b7f39d05 100644 --- a/doc/configtables/toplevel.csv +++ b/doc/configtables/toplevel.csv @@ -12,4 +12,6 @@ enable,,, -- retrieve_databundle,bool,"{true, false}","Switch to retrieve databundle from zenodo via the rule :mod:`retrieve_databundle` or whether to keep a custom databundle located in the corresponding folder." -- build_cutout,bool,"{true, false}","Switch to enable the building of cutouts via the rule :mod:`build_cutout`." -- retrieve_cutout,bool,"{true, false}","Switch to enable the retrieval of cutouts from zenodo with :mod:`retrieve_cutout`." +-- build_natura_raster,bool,"{true, false}","Switch to enable the creation of the raster ``natura.tiff`` via the rule :mod:`build_natura_raster`." +-- retrieve_natura_raster,bool,"{true, false}","Switch to enable the retrieval of ``natura.tiff`` from zenodo with :mod:`retrieve_natura_raster`." -- custom_busmap,bool,"{true, false}","Switch to enable the use of custom busmaps in rule :mod:`cluster_network`. If activated the rule looks for provided busmaps at ``data/custom_busmap_elec_s{simpl}_{clusters}.csv`` which should have the same format as ``resources/busmap_elec_s{simpl}_{clusters}.csv``, i.e. the index should contain the buses of ``networks/elec_s{simpl}.nc``." diff --git a/doc/preparation.rst b/doc/preparation.rst index 7f42190c..dba5e981 100644 --- a/doc/preparation.rst +++ b/doc/preparation.rst @@ -27,6 +27,7 @@ With these and the externally extracted ENTSO-E online map topology Then the process continues by calculating conventional power plant capacities, potentials, and per-unit availability time series for variable renewable energy carriers and hydro power plants with the following rules: - :mod:`build_powerplants` for today's thermal power plant capacities using `powerplantmatching `_ allocating these to the closest substation for each powerplant, +- :mod:`build_natura_raster` for rasterising NATURA2000 natural protection areas, - :mod:`build_renewable_profiles` for the hourly capacity factors and installation potentials constrained by land-use in each substation's Voronoi cell for PV, onshore and offshore wind, and - :mod:`build_hydro_profile` for the hourly per-unit hydro power availability time series. @@ -40,6 +41,7 @@ together into a detailed PyPSA network stored in ``networks/elec.nc``. preparation/build_shapes preparation/build_load_data preparation/build_cutout + preparation/build_natura_raster preparation/prepare_links_p_nom preparation/base_network preparation/build_bus_regions diff --git a/doc/preparation/build_natura_raster.rst b/doc/preparation/build_natura_raster.rst new file mode 100644 index 00000000..e3ec4364 --- /dev/null +++ b/doc/preparation/build_natura_raster.rst @@ -0,0 +1,39 @@ +.. + SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + + SPDX-License-Identifier: CC-BY-4.0 + +.. _natura: + +Rule ``build_natura_raster`` +=============================== + +.. graphviz:: + :align: center + + digraph snakemake_dag { + graph [bgcolor=white, + margin=0, + size="8,5" + ]; + node [fontname=sans, + fontsize=10, + penwidth=2, + shape=box, + style=rounded + ]; + edge [color=grey, + penwidth=2 + ]; + 9 [color="0.22 0.6 0.85", + label=build_renewable_profiles]; + 12 [color="0.31 0.6 0.85", + fillcolor=gray, + label=build_natura_raster, + style=filled]; + 12 -> 9; + } + +| + +.. automodule:: build_natura_raster diff --git a/doc/preparation/build_renewable_profiles.rst b/doc/preparation/build_renewable_profiles.rst index adc4d6ca..27e61583 100644 --- a/doc/preparation/build_renewable_profiles.rst +++ b/doc/preparation/build_renewable_profiles.rst @@ -41,6 +41,9 @@ Rule ``build_renewable_profiles`` 8 [color="0.00 0.6 0.85", label=build_shapes]; 8 -> 9; + 12 [color="0.31 0.6 0.85", + label=build_natura_raster]; + 12 -> 9; 13 [color="0.56 0.6 0.85", label=build_cutout]; 13 -> 9; diff --git a/doc/preparation/retrieve.rst b/doc/preparation/retrieve.rst index 21187924..42479284 100644 --- a/doc/preparation/retrieve.rst +++ b/doc/preparation/retrieve.rst @@ -50,3 +50,30 @@ The :ref:`tutorial` uses a smaller cutout than required for the full model (30 M .. seealso:: For details see :mod:`build_cutout` and read the `atlite documentation `_. + + +Rule ``retrieve_natura_raster`` +------------------------------- + +.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.4706686.svg + :target: https://doi.org/10.5281/zenodo.4706686 + +This rule, as a substitute for :mod:`build_natura_raster`, downloads an already rasterized version (`natura.tiff `_) of `Natura 2000 `_ natural protection areas to reduce computation times. The file is placed into the ``resources`` sub-directory. + +**Relevant Settings** + +.. code:: yaml + + enable: + build_natura_raster: + +.. seealso:: + Documentation of the configuration file ``config.yaml`` at + :ref:`toplevel_cf` + +**Outputs** + +- ``resources/natura.tiff``: Rasterized version of `Natura 2000 `_ natural protection areas to reduce computation times. + +.. seealso:: + For details see :mod:`build_natura_raster`. diff --git a/doc/release_notes.rst b/doc/release_notes.rst index df7af28e..c000a046 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -62,11 +62,6 @@ Upcoming Release * New network topology extracted from the ENTSO-E interactive map. -* Remove rules to build or retrieve rasterized NATURA 2000 dataset. Renewable potential calculation now directly uses the shapefiles. - -* Cache data and cutouts folders. This cache will be updated weekly. - -* Add rule to automatically retrieve Natura2000 natural protection areas. Switch of file format to GPKG. * The unused argument ``simple_hvdc_costs`` in :mod:`add_electricity` was removed. * Iterative solving with impedance updates is skipped if there are no expandable lines. diff --git a/doc/tutorial.rst b/doc/tutorial.rst index 1c247f8e..c37abb39 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -35,8 +35,8 @@ To run the tutorial, use this as your configuration file ``config.yaml``. .../pypsa-eur % cp config.tutorial.yaml config.yaml -This configuration is set to download a reduced data set via the rules :mod:`retrieve_databundle` -and :mod:`retrieve_cutout` totalling at less than 250 MB. +This configuration is set to download a reduced data set via the rules :mod:`retrieve_databundle`, +:mod:`retrieve_natura_raster`, :mod:`retrieve_cutout` totalling at less than 250 MB. The full set of data dependencies would consume 5.3 GB. For more information on the data dependencies of PyPSA-Eur, continue reading :ref:`data`. diff --git a/envs/environment.yaml b/envs/environment.yaml index fd6dff49..f8060de1 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -45,7 +45,6 @@ dependencies: # GIS dependencies: - cartopy - descartes - - fiona # explicit for Windows - rasterio<=1.2.9 # 1.2.10 creates error https://github.com/PyPSA/atlite/issues/238 # PyPSA-Eur-Sec Dependencies diff --git a/scripts/build_natura_raster.py b/scripts/build_natura_raster.py new file mode 100644 index 00000000..7fa9d544 --- /dev/null +++ b/scripts/build_natura_raster.py @@ -0,0 +1,89 @@ +# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# +# SPDX-License-Identifier: MIT + +""" +Rasters the vector data of the `Natura 2000 `_ natural protection areas onto all cutout regions. + +Relevant Settings +----------------- + +.. code:: yaml + + renewable: + {technology}: + cutout: + +.. seealso:: + Documentation of the configuration file ``config.yaml`` at + :ref:`renewable_cf` + +Inputs +------ + +- ``data/bundle/natura/Natura2000_end2015.shp``: `Natura 2000 `_ natural protection areas. + + .. image:: ../img/natura.png + :scale: 33 % + +Outputs +------- + +- ``resources/natura.tiff``: Rasterized version of `Natura 2000 `_ natural protection areas to reduce computation times. + + .. image:: ../img/natura.png + :scale: 33 % + +Description +----------- + +""" + +import logging +from _helpers import configure_logging + +import atlite +import geopandas as gpd +import rasterio as rio +from rasterio.features import geometry_mask +from rasterio.warp import transform_bounds + +logger = logging.getLogger(__name__) + + +def determine_cutout_xXyY(cutout_name): + cutout = atlite.Cutout(cutout_name) + assert cutout.crs.to_epsg() == 4326 + x, X, y, Y = cutout.extent + dx, dy = cutout.dx, cutout.dy + return [x - dx/2., X + dx/2., y - dy/2., Y + dy/2.] + + +def get_transform_and_shape(bounds, res): + left, bottom = [(b // res)* res for b in bounds[:2]] + right, top = [(b // res + 1) * res for b in bounds[2:]] + shape = int((top - bottom) // res), int((right - left) / res) + transform = rio.Affine(res, 0, left, 0, -res, top) + return transform, shape + + +if __name__ == "__main__": + if 'snakemake' not in globals(): + from _helpers import mock_snakemake + snakemake = mock_snakemake('build_natura_raster') + configure_logging(snakemake) + + cutouts = snakemake.input.cutouts + xs, Xs, ys, Ys = zip(*(determine_cutout_xXyY(cutout) for cutout in cutouts)) + bounds = transform_bounds(4326, 3035, min(xs), min(ys), max(Xs), max(Ys)) + transform, out_shape = get_transform_and_shape(bounds, res=100) + + # adjusted boundaries + shapes = gpd.read_file(snakemake.input.natura).to_crs(3035) + raster = ~geometry_mask(shapes.geometry, out_shape[::-1], transform) + raster = raster.astype(rio.uint8) + + with rio.open(snakemake.output[0], 'w', driver='GTiff', dtype=rio.uint8, + count=1, transform=transform, crs=3035, compress='lzw', + width=raster.shape[1], height=raster.shape[0]) as dst: + dst.write(raster, indexes=1) diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index a49df1f5..37e1e9de 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -227,9 +227,7 @@ if __name__ == '__main__': excluder = atlite.ExclusionContainer(crs=3035, res=100) if config['natura']: - mask = regions.to_crs(3035).buffer(0) # buffer to avoid invalid geometry - natura = gpd.read_file(snakemake.input.natura, mask=mask) - excluder.add_geometry(natura.geometry) + excluder.add_raster(snakemake.input.natura, nodata=0, allow_no_overlap=True) corine = config.get("corine", {}) if "grid_codes" in corine: diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 64b169a4..6d626f7e 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -42,6 +42,8 @@ enable: retrieve_databundle: true build_cutout: false retrieve_cutout: true + build_natura_raster: false + retrieve_natura_raster: true custom_busmap: false electricity: From 29fe0fb7fb8ab34cde94dc01ca947cece2ed924c Mon Sep 17 00:00:00 2001 From: martacki Date: Mon, 27 Jun 2022 21:02:45 +0200 Subject: [PATCH 153/281] hierarchical clustering: account for changes from merging master --- scripts/cluster_network.py | 1 + scripts/simplify_network.py | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index b1bf759d..59641a7e 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -12,6 +12,7 @@ Relevant Settings .. code:: yaml clustering: + cluster_network: aggregation_strategies: focus_weights: diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 7e258966..0b31e5c6 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -14,7 +14,8 @@ Relevant Settings .. code:: yaml clustering: - simplify: + simplify_network: + cluster_network: aggregation_strategies: costs: @@ -415,7 +416,7 @@ if __name__ == "__main__": busmaps = [trafo_map, simplify_links_map, stub_map] cluster_config = snakemake.config.get('clustering', {}).get('simplify_network', {}) - if cluster_config.get('clustering', {}).get('simplify', {}).get('to_substations', False): + if cluster_config.get('clustering', {}).get('simplify_network', {}).get('to_substations', False): n, substation_map = aggregate_to_substations(n, aggregation_strategies) busmaps.append(substation_map) @@ -429,7 +430,7 @@ if __name__ == "__main__": for carrier in carriers: buses_i = list(set(n.buses.index)-set(n.generators.query("carrier == @carrier").bus)) logger.info(f'clustering preparaton (hac): aggregating {len(buses_i)} buses of type {carrier}.') - n, busmap_hac = aggregate_to_substations(n, buses_i) + n, busmap_hac = aggregate_to_substations(n, aggregation_strategies, buses_i) busmaps.append(busmap_hac) if snakemake.wildcards.simpl: From f1dedd9429fe6a5633fdfeead552abfacea48e39 Mon Sep 17 00:00:00 2001 From: martacki Date: Mon, 27 Jun 2022 21:11:49 +0200 Subject: [PATCH 154/281] hierarchical clustering: release notes & revert to old default clustering algorithm (kmeans) --- config.default.yaml | 8 ++++---- config.tutorial.yaml | 8 ++++---- doc/release_notes.rst | 2 ++ test/config.test1.yaml | 8 ++++---- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index e699c38f..e1ac6237 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -22,11 +22,11 @@ countries: ['AL', 'AT', 'BA', 'BE', 'BG', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'F clustering: simplify_network: to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) - algorithm: hac - feature: solar+onwind-time - cluster_network: - algorithm: hac # choose from: [hac, kmeans] + algorithm: kmeans # choose from: [hac, kmeans] feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. + cluster_network: + algorithm: kmeans + feature: solar+onwind-time aggregation_strategies: generators: p_nom_max: sum # use "min" for more conservative assumptions diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 75703b8a..db20f1a4 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -22,11 +22,11 @@ countries: ['BE'] clustering: simplify_network: to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) - algorithm: hac - feature: solar+onwind-time - cluster_network: - algorithm: hac # choose from: [hac, kmeans] + algorithm: kmeans # choose from: [hac, kmeans] feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. + cluster_network: + algorithm: kmeans + feature: solar+onwind-time aggregation_strategies: generators: p_nom_max: sum # use "min" for more conservative assumptions diff --git a/doc/release_notes.rst b/doc/release_notes.rst index c000a046..47a67970 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -76,6 +76,8 @@ Upcoming Release * Clustering strategies for generators and buses have moved from distinct scripts to configurables to unify the process and make it more transparent. +* Hierarchical clustering was introduced. Distance metric is calculated from renewable potentials on hourly (feature entry ends with `-time`) or annual (feature entry in config end with `-cap`) values. + PyPSA-Eur 0.4.0 (22th September 2021) ===================================== diff --git a/test/config.test1.yaml b/test/config.test1.yaml index d8d095b8..5aecfdf2 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -21,11 +21,11 @@ countries: ['BE'] clustering: simplify_network: to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) - algorithm: hac - feature: solar+onwind-time - cluster_network: - algorithm: hac # choose from: [hac, kmeans] + algorithm: kmeans # choose from: [hac, kmeans] feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. + cluster_network: + algorithm: kmeans + feature: solar+onwind-time aggregation_strategies: generators: p_nom_max: sum # use "min" for more conservative assumptions From 9d997fbd790321dee611cd0dbb49683e6ce1cd53 Mon Sep 17 00:00:00 2001 From: Fabian Date: Tue, 28 Jun 2022 10:14:26 +0200 Subject: [PATCH 155/281] generalize conventional attr handling through config --- Snakefile | 3 ++- config.default.yaml | 2 +- ...{nuclear_eafs.csv => nuclear_p_max_pu.csv} | 0 doc/configuration.rst | 13 ++++++++++- doc/release_notes.rst | 6 ++--- scripts/add_electricity.py | 23 +++++++++++-------- 6 files changed, 31 insertions(+), 16 deletions(-) rename data/{nuclear_eafs.csv => nuclear_p_max_pu.csv} (100%) diff --git a/Snakefile b/Snakefile index af2e6e90..22b6107d 100644 --- a/Snakefile +++ b/Snakefile @@ -217,7 +217,8 @@ rule add_electricity: load='resources/load.csv', nuts3_shapes='resources/nuts3_shapes.geojson', **{f"profile_{tech}": f"resources/profile_{tech}.nc" - for tech in config['renewable']} + for tech in config['renewable']}, + **{"conventional_{carrier}_{attrs}": fn for carrier in config.get('conventional', {None: {}}).values() for fn in carrier.values() if str(fn).startswith("data/")}, output: "networks/elec.nc" log: "logs/add_electricity.log" benchmark: "benchmarks/add_electricity" diff --git a/config.default.yaml b/config.default.yaml index 177c5e74..a67562c6 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -187,7 +187,7 @@ renewable: conventional: nuclear: - energy_availability_factors: "data/nuclear-eafs.csv" # float of file name + p_max_pu: "data/nuclear_p_max_pu.csv" # float of file name lines: types: diff --git a/data/nuclear_eafs.csv b/data/nuclear_p_max_pu.csv similarity index 100% rename from data/nuclear_eafs.csv rename to data/nuclear_p_max_pu.csv diff --git a/doc/configuration.rst b/doc/configuration.rst index 67d25228..c332ea7d 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -171,7 +171,7 @@ Define and specify the ``atlite.Cutout`` used for calculating renewable potentia .. literalinclude:: ../config.default.yaml :language: yaml :start-at: hydro: - :end-before: lines: + :end-before: conventional: .. csv-table:: :header-rows: 1 @@ -180,6 +180,17 @@ Define and specify the ``atlite.Cutout`` used for calculating renewable potentia .. _lines_cf: +``conventional`` +============= + +Define additional generator attribute for conventional carrier types. If a scalar value is given it is applied to all generators. However if a string starting with "data/" is given, the value is interpreted as a path to a csv file with country specific values. Then, the values are read in and applied to all generators of the given carrier in the given country. Note that the value(s) overwrite the existing values in the corresponding section of the ``generators`` dataframe. + +.. literalinclude:: ../config.default.yaml + :language: yaml + :start-at: conventional: + :end-before: lines: + + ``lines`` ============= diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 57c0a2f0..3addf3ab 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -53,11 +53,11 @@ Upcoming Release * Add function to add global constraint on use of gas in :mod:`prepare_network`. This can be activated by including the keyword ``CH4L`` in the ``{opts}`` wildcard which enforces the limit set in ``electricity: gaslimit:`` given in MWh thermal. Alternatively, it is possible to append a number in the `{opts}` wildcard, e.g. `CH4L200` which limits the gas use to 200 TWh thermal. -* Add configuration option to implement Energy Availability Factors (EAFs) for conventional generation technologies. - * A new section ``conventional`` was added to the config file. This section contains configurations for conventional carriers. -* Implement country-specific EAFs for nuclear power plants based on IAEA 2018-2020 reported country averages. These are specified ``data/nuclear_eafs.csv`` and translate to static ``p_max_pu`` values. +* Add configuration option to implement arbitrary generator attributes for conventional generation technologies. + +* Implement country-specific Energy Availability Factors (EAFs) for nuclear power plants based on IAEA 2018-2020 reported country averages. These are specified ``data/nuclear_p_max_pu.csv`` and translate to static ``p_max_pu`` values. * The powerplants that have been shut down before 2021 are filtered out. diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index ea95fd94..88c2ce66 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -331,17 +331,20 @@ def attach_conventional_generators(n, costs, ppl, conventional_carriers, extenda # Generators with technology affected idx = n.generators.query("carrier == @carrier").index - factors = conventional_config[carrier].get("energy_availability_factors") - if isinstance(factors, float): - # Single value affecting all generators of technology k indiscriminantely of country - n.generators.loc[idx, "p_max_pu"] = factors - elif isinstance(factors, str): - factors = pd.read_csv(factors, index_col=0)['factor'] - # Values affecting generators of technology k country-specific - # First map generator buses to countries; then map countries to p_max_pu - bus_factors = n.buses.country.map(factors) - n.generators.p_max_pu.update(n.generators.loc[idx].bus.map(bus_factors).dropna()) + for key in list(set(conventional_carriers[carrier]) & set(n.generators)): + + values = conventional_config[carrier][key] + + if isinstance(values, str) and str(values).startswith("data/"): + # Values affecting generators of technology k country-specific + # First map generator buses to countries; then map countries to p_max_pu + values = pd.read_csv(values, index_col=0).iloc[:, 0] + bus_values = n.buses.country.map(values) + n.generators[key].update(n.generators.loc[idx].bus.map(bus_values).dropna()) + else: + # Single value affecting all generators of technology k indiscriminantely of country + n.generators.loc[idx, key] = values From 917f41ef21d97635a1ff1aa8ebca2d7ca0a1255d Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Tue, 28 Jun 2022 13:11:08 +0200 Subject: [PATCH 156/281] Update Snakefile Co-authored-by: Fabian Neumann --- Snakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Snakefile b/Snakefile index 22b6107d..c786efdc 100644 --- a/Snakefile +++ b/Snakefile @@ -218,7 +218,7 @@ rule add_electricity: nuts3_shapes='resources/nuts3_shapes.geojson', **{f"profile_{tech}": f"resources/profile_{tech}.nc" for tech in config['renewable']}, - **{"conventional_{carrier}_{attrs}": fn for carrier in config.get('conventional', {None: {}}).values() for fn in carrier.values() if str(fn).startswith("data/")}, + **{f"conventional_{carrier}_{attrs}": fn for carrier in config.get('conventional', {None: {}}).values() for attrs, fn in carrier.items() if str(fn).startswith("data/")}, output: "networks/elec.nc" log: "logs/add_electricity.log" benchmark: "benchmarks/add_electricity" From 3294ad92ebafaa5ace5b3fcbdf2f3d29efe2537f Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Tue, 28 Jun 2022 13:14:47 +0200 Subject: [PATCH 157/281] Update scripts/solve_network.py Co-authored-by: Martha Frysztacki --- scripts/solve_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/solve_network.py b/scripts/solve_network.py index 6c40ca4f..b3280a94 100755 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -104,7 +104,7 @@ def prepare_network(n, solve_opts): if load_shedding: n.add("Carrier", "load", color="#dd2e23", nice_name="Load shedding") buses_i = n.buses.query("carrier == 'AC'").index - if not np.isscalar(load_shedding): load_shedding = 1e2 + if not np.isscalar(load_shedding): load_shedding = 1e2 # Eur/kWh # intersect between macroeconomic and surveybased # willingness to pay # http://journal.frontiersin.org/article/10.3389/fenrg.2015.00055/full) From 522f218eed4cacd8d2d37ea3b034ca6b38e60c52 Mon Sep 17 00:00:00 2001 From: Fabian Date: Tue, 28 Jun 2022 13:15:37 +0200 Subject: [PATCH 158/281] Snakefile: rename attrs to attr in add_electricity input function --- Snakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Snakefile b/Snakefile index c786efdc..9e8d6236 100644 --- a/Snakefile +++ b/Snakefile @@ -218,7 +218,7 @@ rule add_electricity: nuts3_shapes='resources/nuts3_shapes.geojson', **{f"profile_{tech}": f"resources/profile_{tech}.nc" for tech in config['renewable']}, - **{f"conventional_{carrier}_{attrs}": fn for carrier in config.get('conventional', {None: {}}).values() for attrs, fn in carrier.items() if str(fn).startswith("data/")}, + **{f"conventional_{carrier}_{attr}": fn for carrier in config.get('conventional', {None: {}}).values() for attr, fn in carrier.items() if str(fn).startswith("data/")}, output: "networks/elec.nc" log: "logs/add_electricity.log" benchmark: "benchmarks/add_electricity" From 82013fd0816c380e148e4b214408254d84f8c946 Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Tue, 28 Jun 2022 13:16:55 +0200 Subject: [PATCH 159/281] Update scripts/add_electricity.py Co-authored-by: Martha Frysztacki --- scripts/add_electricity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 88c2ce66..d244a381 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -332,7 +332,7 @@ def attach_conventional_generators(n, costs, ppl, conventional_carriers, extenda # Generators with technology affected idx = n.generators.query("carrier == @carrier").index - for key in list(set(conventional_carriers[carrier]) & set(n.generators)): + for key in list(set(conventional_config[carrier]) & set(n.generators)): values = conventional_config[carrier][key] From e9e00291c501b473146d12098510be3e4e96eccc Mon Sep 17 00:00:00 2001 From: martacki Date: Tue, 28 Jun 2022 13:40:14 +0200 Subject: [PATCH 160/281] update configtables/opts to include CH4L option --- doc/configtables/opts.csv | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/configtables/opts.csv b/doc/configtables/opts.csv index 918d0d17..6a72dd01 100644 --- a/doc/configtables/opts.csv +++ b/doc/configtables/opts.csv @@ -8,4 +8,5 @@ Trigger, Description, Definition, Status ``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+{c|p}factor``, "Alter the capital cost (``c``) or installable potential (``p``) of a carrier by a factor. Example: ``solar+c0.5`` reduces the capital cost of solar to 50\% of original values.", ``prepare_network``, In active use +``carrier+{c|p|m}factor``,"Alter the capital cost (``c``), installable potential (``p``) or marginal costs (``m``) of a carrier by a factor. Example: ``solar+c0.5`` reduces the capital cost of solar 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 \ No newline at end of file From 67ac464b6a0b66e012b1dcaae9748c0c5722e0a6 Mon Sep 17 00:00:00 2001 From: Fabian Date: Tue, 28 Jun 2022 16:33:46 +0200 Subject: [PATCH 161/281] add_electricity: use conventional_inputs from snakemake.input for attach_conventional_generators --- Snakefile | 2 +- scripts/add_electricity.py | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Snakefile b/Snakefile index a8d98057..576d1fbb 100644 --- a/Snakefile +++ b/Snakefile @@ -229,7 +229,7 @@ rule add_electricity: nuts3_shapes='resources/nuts3_shapes.geojson', **{f"profile_{tech}": f"resources/profile_{tech}.nc" for tech in config['renewable']}, - **{f"conventional_{carrier}_{attr}": fn for carrier in config.get('conventional', {None: {}}).values() for attr, fn in carrier.items() if str(fn).startswith("data/")}, + **{f"conventional_{carrier}_{attr}": fn for carrier, d in config.get('conventional', {None: {}}).items() for attr, fn in d.items() if str(fn).startswith("data/")}, output: "networks/elec.nc" log: "logs/add_electricity.log" benchmark: "benchmarks/add_electricity" diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index d244a381..342b12e9 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -302,7 +302,7 @@ def attach_wind_and_solar(n, costs, input_profiles, technologies, extendable_car p_max_pu=ds['profile'].transpose('time', 'bus').to_pandas()) -def attach_conventional_generators(n, costs, ppl, conventional_carriers, extendable_carriers, conventional_config): +def attach_conventional_generators(n, costs, ppl, conventional_carriers, extendable_carriers, conventional_config, conventional_inputs): carriers = set(conventional_carriers) | set(extendable_carriers['Generator']) _add_missing_carriers_from_costs(n, costs, carriers) @@ -332,19 +332,19 @@ def attach_conventional_generators(n, costs, ppl, conventional_carriers, extenda # Generators with technology affected idx = n.generators.query("carrier == @carrier").index - for key in list(set(conventional_config[carrier]) & set(n.generators)): + for attr in list(set(conventional_config[carrier]) & set(n.generators)): - values = conventional_config[carrier][key] + values = conventional_config[carrier][attr] - if isinstance(values, str) and str(values).startswith("data/"): + if f"conventional_{carrier}_{attr}" in conventional_inputs: # Values affecting generators of technology k country-specific # First map generator buses to countries; then map countries to p_max_pu values = pd.read_csv(values, index_col=0).iloc[:, 0] bus_values = n.buses.country.map(values) - n.generators[key].update(n.generators.loc[idx].bus.map(bus_values).dropna()) + n.generators[attr].update(n.generators.loc[idx].bus.map(bus_values).dropna()) else: # Single value affecting all generators of technology k indiscriminantely of country - n.generators.loc[idx, key] = values + n.generators.loc[idx, attr] = values @@ -603,7 +603,8 @@ if __name__ == "__main__": update_transmission_costs(n, costs, snakemake.config['lines']['length_factor']) - attach_conventional_generators(n, costs, ppl, conventional_carriers, extendable_carriers, snakemake.config.get("conventional", {})) + conventional_inputs = {k: v for k, v in snakemake.input.items() if k.startswith("conventional_")} + attach_conventional_generators(n, costs, ppl, conventional_carriers, extendable_carriers, snakemake.config.get("conventional", {}), conventional_inputs) attach_wind_and_solar(n, costs, snakemake.input, renewable_carriers, extendable_carriers, snakemake.config['lines']['length_factor']) From 217780263d31e3604f2461e58d2a6df087963489 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 30 Jun 2022 08:39:03 +0200 Subject: [PATCH 162/281] store config and wildcards in n.meta --- envs/environment.yaml | 2 +- scripts/add_electricity.py | 1 + scripts/add_extra_components.py | 3 ++- scripts/base_network.py | 1 + scripts/cluster_network.py | 3 ++- scripts/make_summary.py | 2 +- scripts/plot_network.py | 2 +- scripts/plot_p_nom_max.py | 2 +- scripts/plot_summary.py | 2 +- scripts/prepare_links_p_nom.py | 2 +- scripts/prepare_network.py | 3 ++- scripts/simplify_network.py | 5 +++-- scripts/solve_network.py | 3 ++- scripts/solve_operations_network.py | 3 ++- 14 files changed, 21 insertions(+), 13 deletions(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 4aefcb9a..77c4db4c 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -10,7 +10,7 @@ dependencies: - python>=3.8 - pip - - pypsa>=0.19.1 + - pypsa>=0.20 - atlite>=0.2.6 - dask diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 342b12e9..6216e3f5 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -645,4 +645,5 @@ if __name__ == "__main__": add_nice_carrier_names(n, snakemake.config) + n.meta = snakemake.config n.export_to_netcdf(snakemake.output[0]) diff --git a/scripts/add_extra_components.py b/scripts/add_extra_components.py index 287dd66e..ff64d4b0 100644 --- a/scripts/add_extra_components.py +++ b/scripts/add_extra_components.py @@ -189,7 +189,7 @@ def attach_hydrogen_pipelines(n, costs, elec_opts): if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('add_extra_components', network='elec', + snakemake = mock_snakemake('add_extra_components', simpl='', clusters=5) configure_logging(snakemake) @@ -205,4 +205,5 @@ if __name__ == "__main__": add_nice_carrier_names(n, snakemake.config) + n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards))) n.export_to_netcdf(snakemake.output[0]) diff --git a/scripts/base_network.py b/scripts/base_network.py index 1d105225..7d616f4a 100644 --- a/scripts/base_network.py +++ b/scripts/base_network.py @@ -596,4 +596,5 @@ if __name__ == "__main__": snakemake.input.links_p_nom, snakemake.input.links_tyndp, snakemake.input.europe_shape, snakemake.input.country_shapes, snakemake.input.offshore_shapes, snakemake.input.parameter_corrections, snakemake.config) + n.meta = snakemake.config n.export_to_netcdf(snakemake.output[0]) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index bd412b7f..7efd0356 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -393,7 +393,7 @@ def plot_busmap_for_n_clusters(n, n_clusters, fn=None): if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('cluster_network', network='elec', simpl='', clusters='5') + snakemake = mock_snakemake('cluster_network', simpl='', clusters='5') configure_logging(snakemake) n = pypsa.Network(snakemake.input.network) @@ -455,6 +455,7 @@ if __name__ == "__main__": update_p_nom_max(clustering.network) + clustering.network.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards))) clustering.network.export_to_netcdf(snakemake.output.network) for attr in ('busmap', 'linemap'): #also available: linemap_positive, linemap_negative getattr(clustering, attr).to_csv(snakemake.output[attr]) diff --git a/scripts/make_summary.py b/scripts/make_summary.py index c070d33f..622cd610 100644 --- a/scripts/make_summary.py +++ b/scripts/make_summary.py @@ -426,7 +426,7 @@ def to_csv(dfs, dir): if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('make_summary', network='elec', simpl='', + snakemake = mock_snakemake('make_summary', simpl='', clusters='5', ll='copt', opts='Co2L-24H', country='all') network_dir = os.path.join('..', 'results', 'networks') else: diff --git a/scripts/plot_network.py b/scripts/plot_network.py index 71a6e627..ee311b3d 100755 --- a/scripts/plot_network.py +++ b/scripts/plot_network.py @@ -251,7 +251,7 @@ def plot_total_cost_bar(n, opts, ax=None): if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('plot_network', network='elec', simpl='', + snakemake = mock_snakemake('plot_network', simpl='', clusters='5', ll='copt', opts='Co2L-24H', attr='p_nom', ext="pdf") configure_logging(snakemake) diff --git a/scripts/plot_p_nom_max.py b/scripts/plot_p_nom_max.py index e79ad274..fede1063 100644 --- a/scripts/plot_p_nom_max.py +++ b/scripts/plot_p_nom_max.py @@ -48,7 +48,7 @@ def cum_p_nom_max(net, tech, country=None): if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('plot_p_nom_max', network='elec', simpl='', + snakemake = mock_snakemake('plot_p_nom_max', simpl='', techs='solar,onwind,offwind-dc', ext='png', clusts= '5,full', country= 'all') configure_logging(snakemake) diff --git a/scripts/plot_summary.py b/scripts/plot_summary.py index bc2bd30c..bae85560 100644 --- a/scripts/plot_summary.py +++ b/scripts/plot_summary.py @@ -165,7 +165,7 @@ def plot_energy(infn, config, fn=None): if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('plot_summary', summary='energy', network='elec', + snakemake = mock_snakemake('plot_summary', summary='energy', simpl='', clusters=5, ll='copt', opts='Co2L-24H', attr='', ext='png', country='all') configure_logging(snakemake) diff --git a/scripts/prepare_links_p_nom.py b/scripts/prepare_links_p_nom.py index b83089d6..db493220 100644 --- a/scripts/prepare_links_p_nom.py +++ b/scripts/prepare_links_p_nom.py @@ -60,7 +60,7 @@ def extract_coordinates(s): if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake #rule must be enabled in config - snakemake = mock_snakemake('prepare_links_p_nom', simpl='', network='elec') + snakemake = mock_snakemake('prepare_links_p_nom', simpl='') configure_logging(snakemake) links_p_nom = pd.read_html('https://en.wikipedia.org/wiki/List_of_HVDC_projects', header=0, match="SwePol")[0] diff --git a/scripts/prepare_network.py b/scripts/prepare_network.py index 178c6bb3..e090276d 100755 --- a/scripts/prepare_network.py +++ b/scripts/prepare_network.py @@ -212,7 +212,7 @@ def set_line_nom_max(n, s_nom_max_set=np.inf, p_nom_max_set=np.inf): if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('prepare_network', network='elec', simpl='', + snakemake = mock_snakemake('prepare_network', simpl='', clusters='40', ll='v0.3', opts='Co2L-24H') configure_logging(snakemake) @@ -300,4 +300,5 @@ if __name__ == "__main__": elif "ATKc" in opts: enforce_autarky(n, only_crossborder=True) + n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards))) n.export_to_netcdf(snakemake.output[0]) diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 24cfc016..55f5327d 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -390,7 +390,7 @@ def cluster(n, n_clusters, config, algorithm="hac", feature=None, aggregation_st if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('simplify_network', simpl='', network='elec') + snakemake = mock_snakemake('simplify_network', simpl='f') configure_logging(snakemake) n = pypsa.Network(snakemake.input.network) @@ -447,7 +447,8 @@ if __name__ == "__main__": n.buses = n.buses.drop(buses_c, axis=1) update_p_nom_max(n) - + + n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards))) n.export_to_netcdf(snakemake.output.network) busmap_s = reduce(lambda x, y: x.map(y), busmaps[1:], busmaps[0]) diff --git a/scripts/solve_network.py b/scripts/solve_network.py index b3280a94..ea488925 100755 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -349,7 +349,7 @@ def solve_network(n, config, opts='', **kwargs): if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('solve_network', network='elec', simpl='', + snakemake = mock_snakemake('solve_network', simpl='', clusters='5', ll='copt', opts='Co2L-BAU-CCL-24H') configure_logging(snakemake) @@ -365,6 +365,7 @@ if __name__ == "__main__": n = prepare_network(n, solve_opts) n = solve_network(n, snakemake.config, opts, solver_dir=tmpdir, solver_logfile=snakemake.log.solver) + n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards))) n.export_to_netcdf(snakemake.output[0]) logger.info("Maximum memory usage: {}".format(mem.mem_usage)) diff --git a/scripts/solve_operations_network.py b/scripts/solve_operations_network.py index 47bb713f..91015d8d 100644 --- a/scripts/solve_operations_network.py +++ b/scripts/solve_operations_network.py @@ -96,7 +96,7 @@ def set_parameters_from_optimized(n, n_optim): if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('solve_operations_network', network='elec', + snakemake = mock_snakemake('solve_operations_network', simpl='', clusters='5', ll='copt', opts='Co2L-BAU-24H') configure_logging(snakemake) @@ -117,6 +117,7 @@ if __name__ == "__main__": n = prepare_network(n, snakemake.config['solving']['options']) n = solve_network(n, snakemake.config, opts, solver_dir=tmpdir, solver_logfile=snakemake.log.solver) + n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards))) n.export_to_netcdf(snakemake.output[0]) logger.info("Maximum memory usage: {}".format(mem.mem_usage)) From 27e5dec4e69277322b758311bc7a251272faf145 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Thu, 30 Jun 2022 09:01:49 +0200 Subject: [PATCH 163/281] documentation fixes --- config.default.yaml | 38 +++++++++++++++++----------------- config.tutorial.yaml | 38 +++++++++++++++++----------------- doc/configtables/snapshots.csv | 2 +- doc/installation.rst | 2 ++ doc/tutorial.rst | 15 +++++++------- scripts/retrieve_databundle.py | 2 +- test/config.test1.yaml | 38 +++++++++++++++++----------------- 7 files changed, 69 insertions(+), 66 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index 173feb51..d185b5d1 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -17,25 +17,6 @@ scenario: countries: ['AL', 'AT', 'BA', 'BE', 'BG', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'ME', 'MK', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'SE', 'SI', 'SK'] -clustering: - simplify_network: - to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) - algorithm: kmeans # choose from: [hac, kmeans] - feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. - cluster_network: - algorithm: kmeans - feature: solar+onwind-time - aggregation_strategies: - generators: - p_nom_max: sum # use "min" for more conservative assumptions - p_nom_min: sum - p_min_pu: mean - marginal_cost: mean - committable: any - ramp_limit_up: max - ramp_limit_down: max - efficiency: mean - snapshots: start: "2013-01-01" end: "2014-01-01" @@ -251,6 +232,25 @@ costs: emission_prices: # in currency per tonne emission, only used with the option Ep co2: 0. +clustering: + simplify_network: + to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) + algorithm: kmeans # choose from: [hac, kmeans] + feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. + cluster_network: + algorithm: kmeans + feature: solar+onwind-time + aggregation_strategies: + generators: + p_nom_max: sum # use "min" for more conservative assumptions + p_nom_min: sum + p_min_pu: mean + marginal_cost: mean + committable: any + ramp_limit_up: max + ramp_limit_down: max + efficiency: mean + solving: options: formulation: kirchhoff diff --git a/config.tutorial.yaml b/config.tutorial.yaml index b49f24ba..00b8576a 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -18,25 +18,6 @@ scenario: countries: ['BE'] -clustering: - simplify_network: - to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) - algorithm: kmeans # choose from: [hac, kmeans] - feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. - cluster_network: - algorithm: kmeans - feature: solar+onwind-time - aggregation_strategies: - generators: - p_nom_max: sum # use "min" for more conservative assumptions - p_nom_min: sum - p_min_pu: mean - marginal_cost: mean - committable: any - ramp_limit_up: max - ramp_limit_down: max - efficiency: mean - snapshots: start: "2013-03-01" end: "2013-04-01" @@ -184,6 +165,25 @@ costs: emission_prices: # in currency per tonne emission, only used with the option Ep co2: 0. +clustering: + simplify_network: + to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) + algorithm: kmeans # choose from: [hac, kmeans] + feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. + cluster_network: + algorithm: kmeans + feature: solar+onwind-time + aggregation_strategies: + generators: + p_nom_max: sum # use "min" for more conservative assumptions + p_nom_min: sum + p_min_pu: mean + marginal_cost: mean + committable: any + ramp_limit_up: max + ramp_limit_down: max + efficiency: mean + solving: options: formulation: kirchhoff diff --git a/doc/configtables/snapshots.csv b/doc/configtables/snapshots.csv index 4d917f4d..00297498 100644 --- a/doc/configtables/snapshots.csv +++ b/doc/configtables/snapshots.csv @@ -1,4 +1,4 @@ ,Unit,Values,Description start,--,"str or datetime-like; e.g. YYYY-MM-DD","Left bound of date range" end,--,"str or datetime-like; e.g. YYYY-MM-DD","Right bound of date range" -closed,--,"One of {None, ‘left’, ‘right’}","Make the time interval closed to the ``left``, ``right``, or both sides ``None``." +closed,--,"One of {None, ‘left’, ‘right’}","Make the time interval closed to the ``left``, ``right``, or open on both sides ``None``." diff --git a/doc/installation.rst b/doc/installation.rst index 16fdf766..aea25a42 100644 --- a/doc/installation.rst +++ b/doc/installation.rst @@ -102,6 +102,8 @@ It might be the case that you can only retrieve solutions by using a commercial conda activate pypsa-eur conda install -c conda-forge ipopt glpk +.. warning:: + On Windows, new versions of ``ipopt`` have caused problems. Consider downgrading to version 3.11.1. .. _defaultconfig: diff --git a/doc/tutorial.rst b/doc/tutorial.rst index c37abb39..93143783 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -47,7 +47,8 @@ The model can be adapted to only include selected countries (e.g. Belgium) inste .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 20 + :start-at: countries: + :end-before: snapshots: Likewise, the example's temporal scope can be restricted (e.g. to a single month). @@ -60,14 +61,14 @@ It is also possible to allow less or more carbon-dioxide emissions. Here, we lim .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 40,42 + :lines: 35,37 PyPSA-Eur also includes a database of existing conventional powerplants. -We can select which types of powerplants we like to be included with fixed capacities: +We can select which types of powerplants we like to be included: .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 40,56 + :lines: 35,51 To accurately model the temporal and spatial availability of renewables such as wind and solar energy, we rely on historical weather data. It is advisable to adapt the required range of coordinates to the selection of countries. @@ -82,14 +83,14 @@ For example, we may want to use the ERA-5 dataset for solar and not the default .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 67,110,111 + :lines: 62,105,106 Finally, it is possible to pick a solver. For instance, this tutorial uses the open-source solvers CBC and Ipopt and does not rely on the commercial solvers Gurobi or CPLEX (for which free academic licenses are available). .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 173,183,184 + :lines: 187,197,198 .. note:: @@ -284,4 +285,4 @@ The solved networks can be analysed just like any other PyPSA network (e.g. in J network = pypsa.Network("results/networks/elec_s_6_ec_lcopt_Co2L-24H.nc") -For inspiration, read the `examples section in the PyPSA documentation `_. +For inspiration, read the `examples section in the PyPSA documentation `_. diff --git a/scripts/retrieve_databundle.py b/scripts/retrieve_databundle.py index 86869879..d29ce32b 100644 --- a/scripts/retrieve_databundle.py +++ b/scripts/retrieve_databundle.py @@ -11,7 +11,7 @@ The data bundle (1.4 GB) contains common GIS datasets like NUTS3 shapes, EEZ sha This rule downloads the data bundle from `zenodo `_ and extracts it in the ``data`` sub-directory, such that all files of the bundle are stored in the ``data/bundle`` subdirectory. -The :ref:`tutorial` uses a smaller `data bundle `_ than required for the full model (19 MB) +The :ref:`tutorial` uses a smaller `data bundle `_ than required for the full model (188 MB) .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3517921.svg :target: https://doi.org/10.5281/zenodo.3517921 diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 66e65a7c..b3f63fa8 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -17,25 +17,6 @@ scenario: countries: ['BE'] -clustering: - simplify_network: - to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) - algorithm: kmeans # choose from: [hac, kmeans] - feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. - cluster_network: - algorithm: kmeans - feature: solar+onwind-time - aggregation_strategies: - generators: - p_nom_max: sum # use "min" for more conservative assumptions - p_nom_min: sum - p_min_pu: mean - marginal_cost: mean - committable: any - ramp_limit_up: max - ramp_limit_down: max - efficiency: mean - snapshots: start: "2013-03-01" end: "2013-03-08" @@ -182,6 +163,25 @@ costs: emission_prices: # only used with the option Ep co2: 0. +clustering: + simplify_network: + to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) + algorithm: kmeans # choose from: [hac, kmeans] + feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. + cluster_network: + algorithm: kmeans + feature: solar+onwind-time + aggregation_strategies: + generators: + p_nom_max: sum # use "min" for more conservative assumptions + p_nom_min: sum + p_min_pu: mean + marginal_cost: mean + committable: any + ramp_limit_up: max + ramp_limit_down: max + efficiency: mean + solving: options: formulation: kirchhoff From 44f793be91c006b7eb6ffcf8ef91dd232026b8c5 Mon Sep 17 00:00:00 2001 From: Julio Pascual <108464786+jpscl@users.noreply.github.com> Date: Mon, 4 Jul 2022 11:49:55 +0200 Subject: [PATCH 164/281] Changed doc info in retrieve_databundle.py Simply changed the text regarding the output directory. It said 'cutouts/bundle' but I think it should be 'data/bundle'. It only affects the documentation. --- scripts/retrieve_databundle.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/retrieve_databundle.py b/scripts/retrieve_databundle.py index d29ce32b..5f05c575 100644 --- a/scripts/retrieve_databundle.py +++ b/scripts/retrieve_databundle.py @@ -28,7 +28,7 @@ The :ref:`tutorial` uses a smaller `data bundle Date: Mon, 4 Jul 2022 18:41:08 +0200 Subject: [PATCH 165/281] Update build_load_data.py --- scripts/build_load_data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_load_data.py b/scripts/build_load_data.py index 55270e49..13dc1363 100755 --- a/scripts/build_load_data.py +++ b/scripts/build_load_data.py @@ -30,7 +30,7 @@ Inputs Outputs ------- -- ``resource/time_series_60min_singleindex_filtered.csv``: +- ``resources/load.csv``: """ From ce3b193a88ad7290ed8b669df4d9a550e9b80978 Mon Sep 17 00:00:00 2001 From: Julio Pascual <108464786+jpscl@users.noreply.github.com> Date: Mon, 4 Jul 2022 18:42:22 +0200 Subject: [PATCH 166/281] Update add_electricity.py --- scripts/add_electricity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 342b12e9..0fb025df 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -53,7 +53,7 @@ Inputs :scale: 34 % - ``data/geth2015_hydro_capacities.csv``: alternative to capacities above; not currently used! -- ``resources/opsd_load.csv`` Hourly per-country load profiles. +- ``resources/load.csv`` Hourly per-country load profiles. - ``resources/regions_onshore.geojson``: confer :ref:`busregions` - ``resources/nuts3_shapes.geojson``: confer :ref:`shapes` - ``resources/powerplants.csv``: confer :ref:`powerplants` From 433f0af4093107b49093d388ea8416306d59e010 Mon Sep 17 00:00:00 2001 From: Julio Pascual <108464786+jpscl@users.noreply.github.com> Date: Mon, 4 Jul 2022 18:51:49 +0200 Subject: [PATCH 167/281] Update build_load_data.py --- scripts/build_load_data.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/build_load_data.py b/scripts/build_load_data.py index 13dc1363..b0317f5e 100755 --- a/scripts/build_load_data.py +++ b/scripts/build_load_data.py @@ -26,6 +26,8 @@ Relevant Settings Inputs ------ +- ``data/load_raw.csv``: + Outputs ------- From 5d98cc7e97996283580462d1a50669be5eb81947 Mon Sep 17 00:00:00 2001 From: Julio Pascual <108464786+jpscl@users.noreply.github.com> Date: Mon, 4 Jul 2022 18:53:41 +0200 Subject: [PATCH 168/281] Update build_load_data.py --- scripts/build_load_data.py | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/build_load_data.py b/scripts/build_load_data.py index b0317f5e..ac6de2b1 100755 --- a/scripts/build_load_data.py +++ b/scripts/build_load_data.py @@ -28,7 +28,6 @@ Inputs - ``data/load_raw.csv``: - Outputs ------- From 387271b03bb24d5ae4975f19df065aa19fbd6a56 Mon Sep 17 00:00:00 2001 From: martacki Date: Wed, 13 Jul 2022 14:51:48 +0200 Subject: [PATCH 169/281] new spatial clustering method: modularity --- envs/environment.yaml | 2 +- scripts/cluster_network.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 4aefcb9a..90b710c9 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -10,7 +10,6 @@ dependencies: - python>=3.8 - pip - - pypsa>=0.19.1 - atlite>=0.2.6 - dask @@ -55,5 +54,6 @@ dependencies: - tabula-py - pip: + - git+https://github.com/pypsa/pypsa.git#egg=pypsa - vresutils>=0.3.1 - tsam>=1.1.0 diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index bd412b7f..bb35decb 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -138,7 +138,8 @@ import seaborn as sns from functools import reduce from pypsa.networkclustering import (busmap_by_kmeans, busmap_by_spectral_clustering, - busmap_by_hac, _make_consense, get_clustering_from_busmap) + busmap_by_hac, busmap_by_greedy_modularity, + _make_consense, get_clustering_from_busmap) import warnings warnings.filterwarnings(action='ignore', category=UserWarning) @@ -326,6 +327,8 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori return prefix + busmap_by_louvain(reduce_network(n, x), n_clusters[x.name], **algorithm_kwds) elif algorithm == "hac": return prefix + busmap_by_hac(n, n_clusters[x.name], buses_i=x.index, feature=feature.loc[x.index]) + elif algorithm == "modularity": + return prefix + busmap_by_greedy_modularity(n, n_clusters[x.name], buses_i=x.index) else: raise ValueError(f"`algorithm` must be one of 'kmeans', 'hac', 'spectral' or 'louvain'. Is {algorithm}.") From 90ffc35f05a06536aeaa7297384ba67ce0a7aa41 Mon Sep 17 00:00:00 2001 From: martacki Date: Wed, 13 Jul 2022 15:39:46 +0200 Subject: [PATCH 170/281] documentation --- doc/configtables/clustering.csv | 2 +- doc/release_notes.rst | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/configtables/clustering.csv b/doc/configtables/clustering.csv index cf004dad..02a7b1fc 100644 --- a/doc/configtables/clustering.csv +++ b/doc/configtables/clustering.csv @@ -1,7 +1,7 @@ ,Unit,Values,Description 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" --- algorithm,str,"One of {‘kmeans’, ‘hac’}", +-- algorithm,str,"One of {‘kmeans’, ‘hac’, ‘modularity‘}", -- feature,str,"Str in the format ‘carrier1+carrier2+...+carrierN-X’, where CarrierI can be from {‘solar’, ‘onwind’, ‘offwind’, ‘ror’} and X is one of {‘cap’, ‘time’}.", cluster_network -- algorithm,str,"One of {‘kmeans’, ‘hac’}", diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 7aee0e32..5d96be07 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -92,6 +92,8 @@ Upcoming Release * Hierarchical clustering was introduced. Distance metric is calculated from renewable potentials on hourly (feature entry ends with `-time`) or annual (feature entry in config end with `-cap`) values. +* Greedy modularity clustering was introduced. Distance metric is based on electrical distance taking into account the impedance of all transmission lines of the network. + Synchronisation Release - Ukraine and Moldova (17th March 2022) =============================================================== From a860643dd8cd66418b6a6d7893960c636d78ec3b Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Mon, 18 Jul 2022 17:28:09 +0200 Subject: [PATCH 171/281] reduce number of columns for simplified and clustered regions --- scripts/cluster_network.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index bd412b7f..1ef2f2e5 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -122,7 +122,7 @@ Exemplary unsolved network clustered to 37 nodes: """ import logging -from _helpers import configure_logging, update_p_nom_max, get_aggregation_strategies, REGION_COLS +from _helpers import configure_logging, update_p_nom_max, get_aggregation_strategies import pypsa import os @@ -372,9 +372,8 @@ def cluster_regions(busmaps, input=None, output=None): for which in ('regions_onshore', 'regions_offshore'): regions = gpd.read_file(getattr(input, which)) - regions = regions.reindex(columns=REGION_COLS).set_index('name') - aggfunc = dict(x="mean", y="mean", country="first") - regions_c = regions.dissolve(busmap, aggfunc=aggfunc) + regions = regions.reindex(columns=["name", "geometry"]).set_index('name') + regions_c = regions.dissolve(busmap) regions_c.index.name = 'name' regions_c = regions_c.reset_index() regions_c.to_file(getattr(output, which)) From 6047c8d7508bcc7e24b018adda2ce90c9d1682ac Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 20 Jul 2022 11:47:07 +0200 Subject: [PATCH 172/281] add mergedeep to dependencies --- envs/environment.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/envs/environment.yaml b/envs/environment.yaml index 4aefcb9a..8bd7428f 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -53,6 +53,7 @@ dependencies: - tqdm - pytz - tabula-py + - mergedeep - pip: - vresutils>=0.3.1 From 4ec95fa90e972afa1c613dbf6595303c37d3e588 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 20 Jul 2022 13:01:14 +0200 Subject: [PATCH 173/281] hydro: distribute eia data for former countries to successor states by ratio --- scripts/build_hydro_profile.py | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/scripts/build_hydro_profile.py b/scripts/build_hydro_profile.py index 4add4c85..eed3431e 100644 --- a/scripts/build_hydro_profile.py +++ b/scripts/build_hydro_profile.py @@ -76,10 +76,32 @@ def get_eia_annual_hydro_generation(fn, countries): df = pd.read_csv(fn, skiprows=2, index_col=1, na_values=[u' ','--']).iloc[1:, 1:] df.index = df.index.str.strip() + former_countries = { + "Former Czechoslovakia": dict( + countries=["Czech Republic", "Slovakia"], + start=1980, end=1992), + "Former Serbia and Montenegro": dict( + countries=["Serbia", "Montenegro"], + start=1992, end=2005), + "Former Yugoslavia": dict( + countries=["Slovenia", "Croatia", "Bosnia and Herzegovina", "Serbia", "Montenegro", "North Macedonia"], + start=1980, end=1991), + } + + for k, v in former_countries.items(): + period = [str(i) for i in range(v["start"], v["end"]+1)] + ratio = df.loc[v['countries']].T.dropna().sum() + ratio /= ratio.sum() + for country in v['countries']: + df.loc[country, period] = df.loc[k, period] * ratio[country] + + baltic_states = ["Latvia", "Estonia", "Lithuania"] + df.loc[baltic_states] = df.loc[baltic_states].T.fillna(df.loc[baltic_states].mean(axis=1)).T + df.loc["Germany"] = df.filter(like='Germany', axis=0).sum() - df.loc["Serbia"] += df.loc["Kosovo"] + df.loc["Serbia"] += df.loc["Kosovo"].fillna(0.) df = df.loc[~df.index.str.contains('Former')] - df.drop(["Europe", "Germany, West", "Germany, East"], inplace=True) + df.drop(["Europe", "Germany, West", "Germany, East", "Kosovo"], inplace=True) df.index = cc.convert(df.index, to='iso2') df.index.name = 'countries' From 3210bbf8f92e114811635d09f223a73a1266b6c2 Mon Sep 17 00:00:00 2001 From: Max Parzen Date: Thu, 21 Jul 2022 14:43:28 +0100 Subject: [PATCH 174/281] clean config, add H2 pipeline comment --- config.default.yaml | 2 +- config.tutorial.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index d185b5d1..9caf7ad4 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -52,7 +52,7 @@ electricity: Generator: [solar, onwind, offwind-ac, offwind-dc, OCGT] StorageUnit: [] # battery, H2 Store: [battery, H2] - Link: [AC, DC] + Link: [] # H2 pipeline # use pandas query strings here, e.g. Country not in ['Germany'] powerplants_filter: (DateOut >= 2022 or DateOut != DateOut) diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 00b8576a..61866772 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -40,7 +40,7 @@ electricity: Generator: [OCGT] StorageUnit: [] #battery, H2 Store: [battery, H2] - Link: [] + Link: [] # H2 pipeline max_hours: battery: 6 From 84c8a9bc0ebe58643b84f7e576bac37e749c671e Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sat, 23 Jul 2022 09:24:03 +0200 Subject: [PATCH 175/281] env: add pyxlsb to read .xslb files with pandas --- envs/environment.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/envs/environment.yaml b/envs/environment.yaml index 8bd7428f..e60a2261 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -54,6 +54,7 @@ dependencies: - pytz - tabula-py - mergedeep + - pyxlsb - pip: - vresutils>=0.3.1 From e3555523d80d4ccd2f912ef772e0e5fd0f7a268d Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 26 Jul 2022 14:04:06 +0200 Subject: [PATCH 176/281] env: use new pypsa 0.20 --- envs/environment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 90b710c9..77c4db4c 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -10,6 +10,7 @@ dependencies: - python>=3.8 - pip + - pypsa>=0.20 - atlite>=0.2.6 - dask @@ -54,6 +55,5 @@ dependencies: - tabula-py - pip: - - git+https://github.com/pypsa/pypsa.git#egg=pypsa - vresutils>=0.3.1 - tsam>=1.1.0 From e523cb4cb542fc6c7eada1069f58dc245ca6239c Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 26 Jul 2022 15:01:21 +0200 Subject: [PATCH 177/281] doc: minor updates --- config.default.yaml | 4 ++-- config.tutorial.yaml | 2 +- doc/configtables/electricity.csv | 26 ++++++++++++++++++-------- doc/configtables/offwind-ac.csv | 1 - doc/configtables/offwind-dc.csv | 1 - doc/configtables/onwind.csv | 1 - doc/configtables/solar.csv | 1 - doc/configuration.rst | 22 +++++++++++++++++++--- doc/costs.rst | 9 +++++---- doc/installation.rst | 1 + doc/tutorial.rst | 6 ++---- envs/environment.yaml | 1 - test/config.test1.yaml | 2 +- 13 files changed, 49 insertions(+), 28 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index 61621153..1d31beaa 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -64,7 +64,7 @@ electricity: renewable_carriers: [solar, onwind, offwind-ac, offwind-dc, hydro] estimate_renewable_capacities: - enable: true + enable: false # Add capacities from OPSD data from_opsd: true # Renewable capacities are based on existing capacities reported by IRENA @@ -218,7 +218,7 @@ load: costs: year: 2030 - version: v0.1.0 + version: v0.4.0 rooftop_share: 0.14 # based on the potentials, assuming (0.1 kW/m2 and 10 m2/person) fill_values: FOM: 0 diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 223486b7..751b361d 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -155,7 +155,7 @@ load: costs: year: 2030 - version: v0.1.0 + version: v0.4.0 rooftop_share: 0.14 fill_values: FOM: 0 diff --git a/doc/configtables/electricity.csv b/doc/configtables/electricity.csv index 5abae842..eb9a2379 100644 --- a/doc/configtables/electricity.csv +++ b/doc/configtables/electricity.csv @@ -1,19 +1,29 @@ ,Unit,Values,Description -voltages,kV,"Any subset of {220., 300., 380.}",Voltage levels to consider when +voltages,kV,"Any subset of {220., 300., 380.}",Voltage levels to consider +gaslimit,MWhth,"float or false",Global gas usage limit co2limit,:math:`t_{CO_2-eq}/a`,float,Cap on total annual system carbon dioxide emissions co2base,:math:`t_{CO_2-eq}/a`,float,Reference value of total annual system carbon dioxide emissions if relative emission reduction target is specified in ``{opts}`` wildcard. agg_p_nom_limits,file,path,Reference to ``.csv`` file specifying per carrier generator nominal capacity constraints for individual countries if ``'CCL'`` is in ``{opts}`` wildcard. Defaults to ``data/agg_p_nom_minmax.csv``. -extendable_carriers,,, --- Generator,--,"Any extendable carrier",Defines existing or non-existing conventional and renewable power plants to be extendable during the optimization. Conventional generators can only be built/expanded where already existent today. If a listed conventional carrier is not included in the ``conventional_carriers`` list, the lower limit of the capacity expansion is set to 0. --- StorageUnit,--,"Any subset of {'battery','H2'}",Adds extendable storage units (battery and/or hydrogen) at every node/bus after clustering without capacity limits and with zero initial capacity. --- Store,--,"Any subset of {'battery','H2'}",Adds extendable storage units (battery and/or hydrogen) at every node/bus after clustering without capacity limits and with zero initial capacity. --- Link,--,Any subset of {'H2 pipeline'},Adds extendable links (H2 pipelines only) at every connection where there are lines or HVDC links without capacity limits and with zero initial capacity. Hydrogen pipelines require hydrogen storage to be modelled as ``Store``. +operational_reserve,,,"Settings for reserve requirements following like `GenX `_" +-- activate,bool,"true or false","Whether to take operational reserve requirements into account during optimisation" +-- epsilon_load,--,float,share of total load +-- epsilon_vres,--,float,share of total renewable supply +-- contingency,MW,float,fixed reserve capacity max_hours,,, -- battery,h,float,Maximum state of charge capacity of the battery in terms of hours at full output capacity ``p_nom``. Cf. `PyPSA documentation `_. -- H2,h,float,Maximum state of charge capacity of the hydrogen storage in terms of hours at full output capacity ``p_nom``. Cf. `PyPSA documentation `_. +extendable_carriers,,, +-- Generator,--,"Any extendable carrier","Defines existing or non-existing conventional and renewable power plants to be extendable during the optimization. Conventional generators can only be built/expanded where already existent today. If a listed conventional carrier is not included in the ``conventional_carriers`` list, the lower limit of the capacity expansion is set to 0." +-- StorageUnit,--,"Any subset of {'battery','H2'}",Adds extendable storage units (battery and/or hydrogen) at every node/bus after clustering without capacity limits and with zero initial capacity. +-- Store,--,"Any subset of {'battery','H2'}",Adds extendable storage units (battery and/or hydrogen) at every node/bus after clustering without capacity limits and with zero initial capacity. +-- Link,--,Any subset of {'H2 pipeline'},Adds extendable links (H2 pipelines only) at every connection where there are lines or HVDC links without capacity limits and with zero initial capacity. Hydrogen pipelines require hydrogen storage to be modelled as ``Store``. powerplants_filter,--,"use `pandas.query `_ strings here, e.g. Country not in ['Germany']",Filter query for the default powerplant database. custom_powerplants,--,"use `pandas.query `_ strings here, e.g. Country in ['Germany']",Filter query for the custom powerplant database. -conventional_carriers,--,"Any subset of {nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass}",List of conventional power plants to include in the model from ``resources/powerplants.csv``. If an included carrier is also listed in `extendable_carriers`, the capacity is taken as a lower bound. +conventional_carriers,--,"Any subset of {nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass}","List of conventional power plants to include in the model from ``resources/powerplants.csv``. If an included carrier is also listed in `extendable_carriers`, the capacity is taken as a lower bound." renewable_carriers,--,"Any subset of {solar, onwind, offwind-ac, offwind-dc, hydro}",List of renewable generators to include in the model. estimate_renewable_capacities,,, -"-- Fueltype [ppm], e.g. Wind",,"list of fueltypes strings in PyPSA-Eur, e.g. [onwind, offwind-ac, offwind-dc]",converts ppm Fueltype to PyPSA-EUR Fueltype +-- enable,,bool,"Activate routine to estimate renewable capacities" +-- from_opsd,--,bool,"Add capacities from OPSD data" +-- year,--,bool,"Renewable capacities are based on existing capacities reported by IRENA for the specified year" +-- expansion_limit,--,float or false,"Artificially limit maximum capacities to factor * (IRENA capacities), i.e. 110% of 's capacities => expansion_limit: 1.1 false: Use estimated renewable potentials determine by the workflow" +-- technology_mapping,,,"Mapping between powerplantmatching and PyPSA-Eur technology names" \ No newline at end of file diff --git a/doc/configtables/offwind-ac.csv b/doc/configtables/offwind-ac.csv index e5bbc847..def73e4c 100644 --- a/doc/configtables/offwind-ac.csv +++ b/doc/configtables/offwind-ac.csv @@ -10,4 +10,3 @@ max_depth,m,float,"Maximum sea water depth at which wind turbines can be build. min_shore_distance,m,float,"Minimum distance to the shore below which wind turbines cannot be build. Such areas close to the shore are excluded in the process of calculating the AC-connected offshore wind potential." potential,--,"One of {'simple', 'conservative'}","Method to compute the maximal installable potential for a node; confer :ref:`renewableprofiles`" 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." -keep_all_available_areas,bool,"{'true', 'false'}","Use all availabe weather cells for renewable profile and potential generation. The default ignores weather cells where only less than 1 MW can be installed." diff --git a/doc/configtables/offwind-dc.csv b/doc/configtables/offwind-dc.csv index 06b82ba0..17edafca 100644 --- a/doc/configtables/offwind-dc.csv +++ b/doc/configtables/offwind-dc.csv @@ -10,4 +10,3 @@ max_depth,m,float,"Maximum sea water depth at which wind turbines can be build. min_shore_distance,m,float,"Minimum distance to the shore below which wind turbines cannot be build. Such areas close to the shore are excluded in the process of calculating the AC-connected offshore wind potential." potential,--,"One of {'simple', 'conservative'}","Method to compute the maximal installable potential for a node; confer :ref:`renewableprofiles`" 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." -keep_all_available_areas,bool,"{'true', 'false'}","Use all availabe weather cells for renewable profile and potential generation. The default ignores weather cells where only less than 1 MW can be installed." diff --git a/doc/configtables/onwind.csv b/doc/configtables/onwind.csv index 31884183..c5f9da20 100644 --- a/doc/configtables/onwind.csv +++ b/doc/configtables/onwind.csv @@ -11,4 +11,3 @@ corine,,, natura,bool,"{true, false}","Switch to exclude `Natura 2000 `_ natural protection areas. Area is excluded if ``true``." potential,--,"One of {'simple', 'conservative'}","Method to compute the maximal installable potential for a node; confer :ref:`renewableprofiles`" 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." -keep_all_available_areas,bool,"{'true', 'false'}","Use all availabe weather cells for renewable profile and potential generation. The default ignores weather cells where only less than 1 MW can be installed." diff --git a/doc/configtables/solar.csv b/doc/configtables/solar.csv index 7be39c04..9aa24268 100644 --- a/doc/configtables/solar.csv +++ b/doc/configtables/solar.csv @@ -12,4 +12,3 @@ corine,--,"Any subset of the `CORINE Land Cover code list `_ natural protection areas. Area is excluded if ``true``." potential,--,"One of {'simple', 'conservative'}","Method to compute the maximal installable potential for a node; confer :ref:`renewableprofiles`" 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." -keep_all_available_areas,bool,"{'true', 'false'}","Use all availabe weather cells for renewable profile and potential generation. The default ignores weather cells where only less than 1 MW can be installed." diff --git a/doc/configuration.rst b/doc/configuration.rst index f7e07c2b..a982fd09 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -241,8 +241,7 @@ Define additional generator attribute for conventional carrier types. If a scala .. literalinclude:: ../config.default.yaml :language: yaml - :start-at: load: - :end-before: costs: + :lines: 212-217 .. csv-table:: :header-rows: 1 @@ -257,7 +256,7 @@ Define additional generator attribute for conventional carrier types. If a scala .. literalinclude:: ../config.default.yaml :language: yaml :start-after: scaling_factor: - :end-before: solving: + :end-before: clustering: .. csv-table:: :header-rows: 1 @@ -268,6 +267,23 @@ Define additional generator attribute for conventional carrier types. If a scala To change cost assumptions in more detail (i.e. other than ``marginal_cost`` and ``capital_cost``), consider modifying cost assumptions directly in ``resources/costs.csv`` as this is not yet supported through the config file. You can also build multiple different cost databases. Make a renamed copy of ``resources/costs.csv`` (e.g. ``data/costs-optimistic.csv``) and set the variable ``COSTS=data/costs-optimistic.csv`` in the ``Snakefile``. + +.. _clustering_cf: + +``clustering`` +============== + +.. literalinclude:: ../config.default.yaml + :language: yaml + :start-after: co2: + :end-before: solving: + +.. csv-table:: + :header-rows: 1 + :widths: 25,7,22,30 + :file: configtables/clustering.csv + + .. _solving_cf: ``solving`` diff --git a/doc/costs.rst b/doc/costs.rst index ef0b4d37..4b11146f 100644 --- a/doc/costs.rst +++ b/doc/costs.rst @@ -7,7 +7,11 @@ Cost Assumptions ################## -The database of cost assumptions is retrieved from the repository `PyPSA/technology-data `_ and then saved to``resources/costs.csv``. Cost assumptions of previous PyPSA-Eur versions can be restored by setting in the ``Snakefile``: ``COSTS="data/costs.csv". +The database of cost assumptions is retrieved from the repository +`PyPSA/technology-data `_ and then +saved to ``resources/costs.csv``. Cost assumptions of previous PyPSA-Eur +versions can be restored by setting in the ``Snakefile``: +``COSTS="data/costs.csv"``. The ``config.yaml`` provides options to choose a reference year (``costs: year:``) and use a specific version of the repository ``costs: version:``. @@ -32,9 +36,6 @@ with a discount rate of :math:`r` over the economic lifetime :math:`n` using the Based on the parameters above the ``marginal_cost`` and ``capital_cost`` of the system components are calculated. -.. note:: - - Another great resource for cost assumptions is the `cost database from the Danish Energy Agency `_. Modifying Cost Assumptions ========================== diff --git a/doc/installation.rst b/doc/installation.rst index aea25a42..4e4eed73 100644 --- a/doc/installation.rst +++ b/doc/installation.rst @@ -71,6 +71,7 @@ PyPSA is known to work with the free software - `Ipopt `_ - `Cbc `_ - `GLPK `_ (`WinGLKP `_) +- `HiGHS `_ and the non-free, commercial software (for some of which free academic licenses are available) diff --git a/doc/tutorial.rst b/doc/tutorial.rst index 7b41b2f0..5d996348 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -83,14 +83,14 @@ For example, we may want to use the ERA-5 dataset for solar and not the default .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 62,105,106 + :lines: 63,106,107 Finally, it is possible to pick a solver. For instance, this tutorial uses the open-source solvers CBC and Ipopt and does not rely on the commercial solvers Gurobi or CPLEX (for which free academic licenses are available). .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 187,197,198 + :lines: 188,198,199 .. note:: @@ -272,8 +272,6 @@ the wildcards given in ``scenario`` in the configuration file ``config.yaml`` ar :start-at: scenario: :end-before: countries: -In this example we would not only solve a 6-node model of Germany but also a 2-node model. - How to analyse solved networks? =============================== diff --git a/envs/environment.yaml b/envs/environment.yaml index e60a2261..176c6781 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -53,7 +53,6 @@ dependencies: - tqdm - pytz - tabula-py - - mergedeep - pyxlsb - pip: diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 3f179078..a67cadc5 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -153,7 +153,7 @@ load: costs: year: 2030 - version: v0.1.0 + version: v0.4.0 rooftop_share: 0.14 fill_values: FOM: 0 From 8fc0c57ed69d0a07101ccfcabb4baeff40ac7a13 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 26 Jul 2022 15:05:59 +0200 Subject: [PATCH 178/281] update copyright years --- .gitattributes | 2 +- .gitignore | 2 +- .readthedocs.yml | 2 +- .reuse/dep5 | 6 +++--- LICENSES/MIT.txt | 2 +- README.md | 2 +- Snakefile | 2 +- config.default.yaml | 4 ++-- config.tutorial.yaml | 4 ++-- doc/Makefile | 2 +- doc/_static/theme_overrides.css | 2 +- doc/conf.py | 2 +- doc/configuration.rst | 2 +- doc/contributing.rst | 2 +- doc/costs.rst | 2 +- doc/index.rst | 2 +- doc/installation.rst | 2 +- doc/introduction.rst | 2 +- doc/limitations.rst | 2 +- doc/make.bat | 2 +- doc/plotting.rst | 2 +- doc/preparation.rst | 2 +- doc/preparation/add_electricity.rst | 2 +- doc/preparation/base_network.rst | 2 +- doc/preparation/build_bus_regions.rst | 2 +- doc/preparation/build_cutout.rst | 2 +- doc/preparation/build_hydro_profile.rst | 2 +- doc/preparation/build_load_data.rst | 2 +- doc/preparation/build_natura_raster.rst | 2 +- doc/preparation/build_powerplants.rst | 2 +- doc/preparation/build_renewable_profiles.rst | 2 +- doc/preparation/build_shapes.rst | 2 +- doc/preparation/prepare_links_p_nom.rst | 2 +- doc/preparation/retrieve.rst | 2 +- doc/release_notes.rst | 2 +- doc/requirements.txt | 2 +- doc/simplification.rst | 2 +- doc/simplification/add_extra_components.rst | 2 +- doc/simplification/cluster_network.rst | 2 +- doc/simplification/prepare_network.rst | 2 +- doc/simplification/simplify_network.rst | 2 +- doc/solving.rst | 2 +- doc/solving/solve_network.rst | 2 +- doc/solving/solve_operations_network.rst | 2 +- doc/tutorial.rst | 2 +- doc/wildcards.rst | 2 +- envs/environment.fixed.yaml | 2 +- envs/environment.yaml | 2 +- scripts/_helpers.py | 2 +- scripts/add_extra_components.py | 2 +- scripts/base_network.py | 2 +- scripts/build_bus_regions.py | 2 +- scripts/build_cutout.py | 2 +- scripts/build_hydro_profile.py | 2 +- scripts/build_natura_raster.py | 2 +- scripts/build_powerplants.py | 2 +- scripts/build_renewable_profiles.py | 2 +- scripts/build_shapes.py | 2 +- scripts/cluster_network.py | 2 +- scripts/make_summary.py | 2 +- scripts/plot_network.py | 2 +- scripts/plot_p_nom_max.py | 2 +- scripts/plot_summary.py | 2 +- scripts/prepare_links_p_nom.py | 2 +- scripts/prepare_network.py | 2 +- scripts/retrieve_databundle.py | 4 ++-- scripts/simplify_network.py | 2 +- scripts/solve_network.py | 2 +- scripts/solve_operations_network.py | 2 +- test/config.test1.yaml | 4 ++-- 70 files changed, 76 insertions(+), 76 deletions(-) diff --git a/.gitattributes b/.gitattributes index 6d21b21b..9e85b38b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/.gitignore b/.gitignore index 559dde47..80f91408 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/.readthedocs.yml b/.readthedocs.yml index d6b81a40..a492403f 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/.reuse/dep5 b/.reuse/dep5 index eb64a172..df28a631 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -12,7 +12,7 @@ Copyright: 2019 Fabian Neumann (KIT) License: CC-BY-4.0 Files: data/* -Copyright: 2017-2020 The PyPSA-Eur Authors +Copyright: 2017-2022 The PyPSA-Eur Authors License: CC-BY-4.0 Files: .github/* @@ -20,9 +20,9 @@ Copyright: 2019 The PyPSA-Eur Authors License: CC0-1.0 Files: matplotlibrc -Copyright: : 2017-2020 The PyPSA-Eur Authors +Copyright: : 2017-2022 The PyPSA-Eur Authors License: CC0-1.0 Files: borg-it -Copyright: : 2017-2020 The PyPSA-Eur Authors +Copyright: : 2017-2022 The PyPSA-Eur Authors License: CC0-1.0 diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt index dc10fd32..ef8a01cb 100644 --- a/LICENSES/MIT.txt +++ b/LICENSES/MIT.txt @@ -1,6 +1,6 @@ MIT License -Copyright 2017-2021 The PyPSA-Eur Authors +Copyright 2017-2022 The PyPSA-Eur Authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/README.md b/README.md index ab4d63b3..8d42e4d2 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ diff --git a/Snakefile b/Snakefile index 14849b5e..ce2b9889 100644 --- a/Snakefile +++ b/Snakefile @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/config.default.yaml b/config.default.yaml index 1d31beaa..b37297af 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -1,8 +1,8 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 -version: 0.4.0 +version: 0.5.0 tutorial: false logging: diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 751b361d..99e7836b 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -1,8 +1,8 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 -version: 0.4.0 +version: 0.5.0 tutorial: true logging: diff --git a/doc/Makefile b/doc/Makefile index 75df2f48..d9bd3d5d 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/doc/_static/theme_overrides.css b/doc/_static/theme_overrides.css index a4c9818d..febf442a 100644 --- a/doc/_static/theme_overrides.css +++ b/doc/_static/theme_overrides.css @@ -1,4 +1,4 @@ -/* SPDX-FileCopyrightText: 2017-2020 The PyPSA-Eur Authors +/* SPDX-FileCopyrightText: 2017-2022 The PyPSA-Eur Authors SPDX-License-Identifier: MIT */ diff --git a/doc/conf.py b/doc/conf.py index 01dd6bc8..3208002c 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -66,7 +66,7 @@ master_doc = 'index' # General information about the project. project = u'PyPSA-Eur' -copyright = u'2017-2020 Jonas Hoersch (KIT, FIAS), Fabian Hofmann (FIAS), David Schlachtberger (FIAS), Tom Brown (KIT, FIAS); 2019-2020 Fabian Neumann (KIT)' +copyright = u'2017-2022 Jonas Hoersch (KIT, FIAS), Fabian Hofmann (FIAS), David Schlachtberger (FIAS), Tom Brown (KIT, FIAS); 2019-2022 Fabian Neumann (KIT)' author = u'Jonas Hoersch (KIT, FIAS), Fabian Hofmann (FIAS), David Schlachtberger (FIAS), Tom Brown (KIT, FIAS), Fabian Neumann (KIT)' # The version info for the project you're documenting, acts as replacement for diff --git a/doc/configuration.rst b/doc/configuration.rst index a982fd09..e5188da2 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/contributing.rst b/doc/contributing.rst index d57f1212..3962da0c 100644 --- a/doc/contributing.rst +++ b/doc/contributing.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/costs.rst b/doc/costs.rst index 4b11146f..10b91e06 100644 --- a/doc/costs.rst +++ b/doc/costs.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/index.rst b/doc/index.rst index 5ee1db5b..ef7f478a 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/installation.rst b/doc/installation.rst index 4e4eed73..da1497e6 100644 --- a/doc/installation.rst +++ b/doc/installation.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/introduction.rst b/doc/introduction.rst index bc4f267f..8e64b682 100644 --- a/doc/introduction.rst +++ b/doc/introduction.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/limitations.rst b/doc/limitations.rst index 3b6c03d7..99c22aed 100644 --- a/doc/limitations.rst +++ b/doc/limitations.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/make.bat b/doc/make.bat index 35dcecc2..2d7118ab 100644 --- a/doc/make.bat +++ b/doc/make.bat @@ -1,4 +1,4 @@ -REM SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors +REM SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors REM SPDX-License-Identifier: MIT @ECHO OFF diff --git a/doc/plotting.rst b/doc/plotting.rst index 6b0ce392..e31cb68f 100644 --- a/doc/plotting.rst +++ b/doc/plotting.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/preparation.rst b/doc/preparation.rst index dba5e981..74e53b05 100644 --- a/doc/preparation.rst +++ b/doc/preparation.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/preparation/add_electricity.rst b/doc/preparation/add_electricity.rst index 0f3d431f..cec1228c 100644 --- a/doc/preparation/add_electricity.rst +++ b/doc/preparation/add_electricity.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/preparation/base_network.rst b/doc/preparation/base_network.rst index 1afc4e05..85e19707 100644 --- a/doc/preparation/base_network.rst +++ b/doc/preparation/base_network.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/preparation/build_bus_regions.rst b/doc/preparation/build_bus_regions.rst index 16aab725..7bb761e8 100644 --- a/doc/preparation/build_bus_regions.rst +++ b/doc/preparation/build_bus_regions.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/preparation/build_cutout.rst b/doc/preparation/build_cutout.rst index da2c04d1..2e6cb4a3 100644 --- a/doc/preparation/build_cutout.rst +++ b/doc/preparation/build_cutout.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/preparation/build_hydro_profile.rst b/doc/preparation/build_hydro_profile.rst index 77b12915..b940c39f 100644 --- a/doc/preparation/build_hydro_profile.rst +++ b/doc/preparation/build_hydro_profile.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/preparation/build_load_data.rst b/doc/preparation/build_load_data.rst index 03535981..3a42410e 100644 --- a/doc/preparation/build_load_data.rst +++ b/doc/preparation/build_load_data.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2020-2021 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2020-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/preparation/build_natura_raster.rst b/doc/preparation/build_natura_raster.rst index e3ec4364..b60be2f4 100644 --- a/doc/preparation/build_natura_raster.rst +++ b/doc/preparation/build_natura_raster.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/preparation/build_powerplants.rst b/doc/preparation/build_powerplants.rst index 19cce03b..e3d5dcef 100644 --- a/doc/preparation/build_powerplants.rst +++ b/doc/preparation/build_powerplants.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/preparation/build_renewable_profiles.rst b/doc/preparation/build_renewable_profiles.rst index 27e61583..82ac1312 100644 --- a/doc/preparation/build_renewable_profiles.rst +++ b/doc/preparation/build_renewable_profiles.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/preparation/build_shapes.rst b/doc/preparation/build_shapes.rst index 6bed0109..fc142879 100644 --- a/doc/preparation/build_shapes.rst +++ b/doc/preparation/build_shapes.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/preparation/prepare_links_p_nom.rst b/doc/preparation/prepare_links_p_nom.rst index 7ae9c3b4..78e7324d 100644 --- a/doc/preparation/prepare_links_p_nom.rst +++ b/doc/preparation/prepare_links_p_nom.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/preparation/retrieve.rst b/doc/preparation/retrieve.rst index 42479284..31ae25b9 100644 --- a/doc/preparation/retrieve.rst +++ b/doc/preparation/retrieve.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 3d999f3f..d30978b9 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2021 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/requirements.txt b/doc/requirements.txt index 2b461718..4aa053b3 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2019-2021 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2019-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/doc/simplification.rst b/doc/simplification.rst index 280b1da0..3ac12d4f 100644 --- a/doc/simplification.rst +++ b/doc/simplification.rst @@ -1,7 +1,7 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/simplification/add_extra_components.rst b/doc/simplification/add_extra_components.rst index c1337b44..8ca30574 100644 --- a/doc/simplification/add_extra_components.rst +++ b/doc/simplification/add_extra_components.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/simplification/cluster_network.rst b/doc/simplification/cluster_network.rst index 52fc5840..80c9068d 100644 --- a/doc/simplification/cluster_network.rst +++ b/doc/simplification/cluster_network.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/simplification/prepare_network.rst b/doc/simplification/prepare_network.rst index d7e22e03..037f8190 100644 --- a/doc/simplification/prepare_network.rst +++ b/doc/simplification/prepare_network.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/simplification/simplify_network.rst b/doc/simplification/simplify_network.rst index 128a697f..9bbd66c6 100644 --- a/doc/simplification/simplify_network.rst +++ b/doc/simplification/simplify_network.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/solving.rst b/doc/solving.rst index 87fdc040..55707d79 100644 --- a/doc/solving.rst +++ b/doc/solving.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/solving/solve_network.rst b/doc/solving/solve_network.rst index 4b0b9861..4fe18368 100644 --- a/doc/solving/solve_network.rst +++ b/doc/solving/solve_network.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/solving/solve_operations_network.rst b/doc/solving/solve_operations_network.rst index b5bbc89f..d51fd5ab 100644 --- a/doc/solving/solve_operations_network.rst +++ b/doc/solving/solve_operations_network.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/tutorial.rst b/doc/tutorial.rst index 5d996348..916dae0e 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/wildcards.rst b/doc/wildcards.rst index 2290de67..09dc53e9 100644 --- a/doc/wildcards.rst +++ b/doc/wildcards.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2020 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/envs/environment.fixed.yaml b/envs/environment.fixed.yaml index 3fe3d51a..b025b9a3 100644 --- a/envs/environment.fixed.yaml +++ b/envs/environment.fixed.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/envs/environment.yaml b/envs/environment.yaml index 176c6781..cffb2754 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/_helpers.py b/scripts/_helpers.py index dc638915..8dd2acd5 100644 --- a/scripts/_helpers.py +++ b/scripts/_helpers.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/add_extra_components.py b/scripts/add_extra_components.py index c9a9b7cb..dd4f23c0 100644 --- a/scripts/add_extra_components.py +++ b/scripts/add_extra_components.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/base_network.py b/scripts/base_network.py index 1d105225..e6bf8b56 100644 --- a/scripts/base_network.py +++ b/scripts/base_network.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/build_bus_regions.py b/scripts/build_bus_regions.py index 8869c9f4..e51f34f2 100644 --- a/scripts/build_bus_regions.py +++ b/scripts/build_bus_regions.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/build_cutout.py b/scripts/build_cutout.py index 5ab085a1..fb353d65 100644 --- a/scripts/build_cutout.py +++ b/scripts/build_cutout.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2021 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/build_hydro_profile.py b/scripts/build_hydro_profile.py index eed3431e..c130e220 100644 --- a/scripts/build_hydro_profile.py +++ b/scripts/build_hydro_profile.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/build_natura_raster.py b/scripts/build_natura_raster.py index 7fa9d544..410e3661 100644 --- a/scripts/build_natura_raster.py +++ b/scripts/build_natura_raster.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/build_powerplants.py b/scripts/build_powerplants.py index a5dbf57b..1c3990af 100755 --- a/scripts/build_powerplants.py +++ b/scripts/build_powerplants.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index 5db87c78..49e481ca 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/build_shapes.py b/scripts/build_shapes.py index 09230ddc..35d564b3 100644 --- a/scripts/build_shapes.py +++ b/scripts/build_shapes.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 1ef2f2e5..b76b703f 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/make_summary.py b/scripts/make_summary.py index 2cd15fbc..7c14a36d 100644 --- a/scripts/make_summary.py +++ b/scripts/make_summary.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/plot_network.py b/scripts/plot_network.py index 71a6e627..5844a959 100755 --- a/scripts/plot_network.py +++ b/scripts/plot_network.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/plot_p_nom_max.py b/scripts/plot_p_nom_max.py index e79ad274..0f76a2f3 100644 --- a/scripts/plot_p_nom_max.py +++ b/scripts/plot_p_nom_max.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/plot_summary.py b/scripts/plot_summary.py index bc2bd30c..49fa0770 100644 --- a/scripts/plot_summary.py +++ b/scripts/plot_summary.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/prepare_links_p_nom.py b/scripts/prepare_links_p_nom.py index b83089d6..ef6647ad 100644 --- a/scripts/prepare_links_p_nom.py +++ b/scripts/prepare_links_p_nom.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/prepare_network.py b/scripts/prepare_network.py index 4946e8ca..2248fa57 100755 --- a/scripts/prepare_network.py +++ b/scripts/prepare_network.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/retrieve_databundle.py b/scripts/retrieve_databundle.py index 5f05c575..1ed420bb 100644 --- a/scripts/retrieve_databundle.py +++ b/scripts/retrieve_databundle.py @@ -1,5 +1,5 @@ -# Copyright 2019-2020 Fabian Hofmann (FIAS) -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# Copyright 2019-2022 Fabian Hofmann (FIAS) +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index fafae8ba..2bba1077 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/solve_network.py b/scripts/solve_network.py index b3280a94..3208d209 100755 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/solve_operations_network.py b/scripts/solve_operations_network.py index 47bb713f..bcd75890 100644 --- a/scripts/solve_operations_network.py +++ b/scripts/solve_operations_network.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/test/config.test1.yaml b/test/config.test1.yaml index a67cadc5..ab741ccd 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -1,8 +1,8 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 -version: 0.4.0 +version: 0.5.0 tutorial: true logging: level: INFO From 6027ade0ed0c150e1c05d2a0f8e0bc8464b39bb1 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 26 Jul 2022 15:30:07 +0200 Subject: [PATCH 179/281] prepare release notes --- doc/release_notes.rst | 181 ++++++++++++++++++++++++++++++------------ 1 file changed, 129 insertions(+), 52 deletions(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index d30978b9..cf53d5dd 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -10,92 +10,169 @@ Release Notes Upcoming Release ================ -* Add an efficiency factor of 88.55% to offshore wind capacity factors - as a proxy for wake losses. More rigorous modelling is `planned `_ - [`#277 `_]. +* new feature -* The default deployment density of AC- and DC-connected offshore wind capacity is reduced from 3 MW/sqkm - to a more conservative estimate of 2 MW/sqkm [`#280 `_]. +PyPSA-Eur 0.5.0 (26th July 2022) +===================================== -* Following discussion in `#285 `_ we have disabled the - correction factor for solar PV capacity factors by default while satellite data is used. - A correction factor of 0.854337 is recommended if reanalysis data like ERA5 is used. - -* Resource definitions for memory usage now follow `Snakemake standard resource definition `_ ``mem_mb`` rather than ``mem``. - -* Network building is made deterministic by supplying a fixed random state to network clustering routines. +**New Features** * New network topology extracted from the ENTSO-E interactive map. -* The unused argument ``simple_hvdc_costs`` in :mod:`add_electricity` was removed. - -* Iterative solving with impedance updates is skipped if there are no expandable lines. - -* Switch from Germany to Belgium for continuous integration and tutorial to save resources. - -* Use updated SARAH-2 and ERA5 cutouts with slightly wider scope to east and additional variables. - -* Added existing renewable capacities for all countries based on IRENA statistics (IRENASTAT) using new ``powerplantmatching`` version: +* Added existing renewable capacities for all countries based on IRENA + statistics (IRENASTAT) using new ``powerplantmatching`` version: * The corresponding ``config`` entries changed, cf. ``config.default.yaml``: * old: ``estimate_renewable_capacities_from_capacity_stats`` * new: ``estimate_renewable_capacities`` * The estimation is endabled by setting the subkey ``enable`` to ``True``. - * Configuration of reference year for capacities can be configured (default: ``2020``) - * The list of renewables provided by the OPSD database can be used as a basis, using the tag ``from_opsd: True``. This adds the renewables from the database and fills up the missing capacities with the heuristic distribution. - * Uniform expansion limit of renewable build-up based on existing capacities can be configured using ``expansion_limit`` option - (default: ``false``; limited to determined renewable potentials) - * Distribution of country-level capacities proportional to maximum annual energy yield for each bus region + * Configuration of reference year for capacities can be configured (default: + ``2020``) + * The list of renewables provided by the OPSD database can be used as a basis, + using the tag ``from_opsd: True``. This adds the renewables from the + database and fills up the missing capacities with the heuristic + distribution. + * Uniform expansion limit of renewable build-up based on existing capacities + can be configured using ``expansion_limit`` option (default: ``false``; + limited to determined renewable potentials) + * Distribution of country-level capacities proportional to maximum annual + energy yield for each bus region + * The config key ``renewable_capacities_from_OPSD`` is deprecated and was moved + under the section, ``estimate_renewable_capacities``. To enable it, set + ``from_opsd`` to `True`. -* The config key ``renewable_capacities_from_OPSD`` is deprecated and was moved under the section, ``estimate_renewable_capacities``. To enable it, set ``from_opsd`` to `True`. +* Add operational reserve margin constraint analogous to `GenX implementation + `_. Can be activated + with config setting ``electricity: operational_reserve:``. -* Add operational reserve margin constraint analogous to `GenX implementation `_. - Can be activated with config setting ``electricity: operational_reserve:``. +* Implement country-specific Energy Availability Factors (EAFs) for nuclear + power plants based on IAEA 2018-2020 reported country averages. These are + specified ``data/nuclear_p_max_pu.csv`` and translate to static ``p_max_pu`` + values. -* Add function to add global constraint on use of gas in :mod:`prepare_network`. This can be activated by including the keyword ``CH4L`` in the ``{opts}`` wildcard which enforces the limit set in ``electricity: gaslimit:`` given in MWh thermal. Alternatively, it is possible to append a number in the `{opts}` wildcard, e.g. `CH4L200` which limits the gas use to 200 TWh thermal. +* Add function to add global constraint on use of gas in :mod:`prepare_network`. + This can be activated by including the keyword ``CH4L`` in the ``{opts}`` + wildcard which enforces the limit set in ``electricity: gaslimit:`` given in + MWh thermal. Alternatively, it is possible to append a number in the `{opts}` + wildcard, e.g. `CH4L200` which limits the gas use to 200 TWh thermal. -* A new section ``conventional`` was added to the config file. This section contains configurations for conventional carriers. +* Add option to alter marginal costs of a carrier through `{opts}` wildcard: + `+m`, e.g. `gas+m2.5`, will multiply the default marginal + cost for gas by factor 2.5. -* Add configuration option to implement arbitrary generator attributes for conventional generation technologies. +* Hierarchical clustering was introduced. Distance metric is calculated from + renewable potentials on hourly (feature entry ends with `-time`) or annual + (feature entry in config end with `-cap`) values. -* Implement country-specific Energy Availability Factors (EAFs) for nuclear power plants based on IAEA 2018-2020 reported country averages. These are specified ``data/nuclear_p_max_pu.csv`` and translate to static ``p_max_pu`` values. +* Techno-economic parameters of technologies (e.g. costs and efficiencies) will + now be retrieved from a separate repository `PyPSA/technology-data + `_ that collects assumptions from a + variety of sources. It is activated by default with ``enable: + retrieve_cost_data: true`` and controlled with ``costs: year:`` and ``costs: + version:``. The location of this data changed from ``data/costs.csv`` to + ``resources/costs.csv`` [`#184 + `_]. -* The powerplants that have been shut down before 2021 are filtered out. +* A new section ``conventional`` was added to the config file. This section + contains configurations for conventional carriers. -* ``powerplantmatching>=0.5.1`` is now required for ``IRENASTATS``. +* Add configuration option to implement arbitrary generator attributes for + conventional generation technologies. -* The inclusion of renewable carriers is now specified in the config entry ``renewable_carriers``. Before this was done by commenting/uncommenting sub-sections in the `renewable` config section. +* Add option to set CO2 emission prices through `{opts}` wildcard: `Ep`, + e.g. `Ep180`, will set the EUR/tCO2 price. -* Now, all carriers that should be extendable have to be listed in the config entry ``extendable_carriers``. Before, renewable carriers were always set to be extendable. For backwards compatibility, the workflow is still looking at the listed carriers under the ``renewable`` key. In the future, all of them have to be listed under ``extendable_carriers``. +**Changes** -* It is now possible to set conventional power plants as extendable by adding them to the list of extendable ``Generator`` carriers in the config. +* Add an efficiency factor of 88.55% to offshore wind capacity factors as a + proxy for wake losses. More rigorous modelling is `planned + `_ [`#277 + `_]. -* Listing conventional carriers in ``extendable_carriers`` but not in ``conventional_carriers``, sets the corresponding conventional power plants as extendable without a lower capacity bound of today's capacities. +* Following discussion in `#285 + `_ we have disabled the + correction factor for solar PV capacity factors by default while satellite + data is used. A correction factor of 0.854337 is recommended if reanalysis + data like ERA5 is used. + +* The default deployment density of AC- and DC-connected offshore wind capacity + is reduced from 3 MW/sqkm to a more conservative estimate of 2 MW/sqkm [`#280 + `_]. + +* The inclusion of renewable carriers is now specified in the config entry + ``renewable_carriers``. Before this was done by commenting/uncommenting + sub-sections in the `renewable` config section. + +* Now, all carriers that should be extendable have to be listed in the config + entry ``extendable_carriers``. Before, renewable carriers were always set to + be extendable. For backwards compatibility, the workflow is still looking at + the listed carriers under the ``renewable`` key. In the future, all of them + have to be listed under ``extendable_carriers``. + +* It is now possible to set conventional power plants as extendable by adding + them to the list of extendable ``Generator`` carriers in the config. + +* Listing conventional carriers in ``extendable_carriers`` but not in + ``conventional_carriers``, sets the corresponding conventional power plants as + extendable without a lower capacity bound of today's capacities. * Now, conventional carriers have an assigned capital cost by default. -* The ``build_year`` and ``lifetime`` column are now defined for conventional power plants. +* The ``build_year`` and ``lifetime`` column are now defined for conventional + power plants. + +* Use updated SARAH-2 and ERA5 cutouts with slightly wider scope to east and + additional variables. + +* Resource definitions for memory usage now follow `Snakemake standard resource + definition + `_ + ``mem_mb`` rather than ``mem``. + +* The powerplants that have been shut down by 2021 are filtered out. + +* Updated historical `EIA hydro generation data `_. + +* Network building is made deterministic by supplying a fixed random state to + network clustering routines. + +* Clustering strategies for generator and bus attributes can now be specified directly in the ``config.yaml``. + +* Iterative solving with impedance updates is skipped if there are no expandable + lines. + +* The unused argument ``simple_hvdc_costs`` in :mod:`add_electricity` was + removed. + +* Switch from Germany to Belgium for continuous integration and tutorial to save + resources. + +* It is now possible to skip the progressbar for land eligibility calculations for additional speedup. + +**Bugs and Compatibility** * Fix crs bug. Change crs 4236 to 4326. -* Update rasterio version to correctly calculate exclusion raster +* ``powerplantmatching>=0.5.1`` is now required for ``IRENASTATS``. -* Remove rules to build or retrieve rasterized NATURA 2000 dataset. Renewable potential calculation now directly uses the shapefiles. +* Update rasterio version to correctly calculate exclusion raster. -* Cache data and cutouts folders. This cache will be updated weekly. +* It is now possible to run the workflow with only landlocked countries. -* Add rule to automatically retrieve Natura2000 natural protection areas. Switch of file format to GPKG. -* Add option to set CO2 emission prices through `{opts}` wildcard: `Ep`, e.g. `Ep180`, will set the EUR/tCO2 price. +* Bugfixes for manual load adjustments across years. -* Add option to alter marginal costs of a carrier through `{opts}` wildcard: `+m`, e.g. `gas+m2.5`, will multiply the default marginal cost for gas by factor 2.5. +* Enable parallel computing with new dask version. -* Clustering strategies for generators and buses have moved from distinct scripts to configurables to unify the process and make it more transparent. +* Restore compatibility of ``mock_snakemake`` with lastest Snakemake versions. -* Hierarchical clustering was introduced. Distance metric is calculated from renewable potentials on hourly (feature entry ends with `-time`) or annual (feature entry in config end with `-cap`) values. +* Script ``build_bus_regions``: move voronoi partition from vresutils to script. -* Techno-economic parameters of technologies (e.g. costs and efficiencies) will now be retrieved from a separate repository `PyPSA/technology-data `_ - that collects assumptions from a variety of sources. It is activated by default with ``enable: retrieve_cost_data: true`` and controlled with ``costs: year:`` and ``costs: version:``. - The location of this data changed from ``data/costs.csv`` to ``resources/costs.csv`` - [`#184 `_]. +* Script ``add_electricity``: remove ``vresutils.costdata.annuity`` dependency. + +* Fix the plot_network snakemake rule. + +* Compatibility with pandas 1.4. Address deprecations. + +* Restore Windows compatibility by using ``shutil.move`` rather than ``mv``. Synchronisation Release - Ukraine and Moldova (17th March 2022) From 87388d4b4a0363ac68b5d305a58e9e8ccedbb01d Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 26 Jul 2022 15:32:48 +0200 Subject: [PATCH 180/281] update author affiliations --- .reuse/dep5 | 4 ++-- doc/conf.py | 4 ++-- scripts/retrieve_databundle.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.reuse/dep5 b/.reuse/dep5 index df28a631..8ddff0f7 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -4,11 +4,11 @@ Upstream-Contact: Tom Brown Source: https://github.com/pypsa/pypsa-eur Files: doc/img/* -Copyright: 2019 Fabian Neumann (KIT) +Copyright: 2019 Fabian Neumann (TUB, KIT) License: CC-BY-4.0 Files: doc/configtables/* -Copyright: 2019 Fabian Neumann (KIT) +Copyright: 2019 Fabian Neumann (TUB, KIT) License: CC-BY-4.0 Files: data/* diff --git a/doc/conf.py b/doc/conf.py index 3208002c..2a3398fb 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -66,8 +66,8 @@ master_doc = 'index' # General information about the project. project = u'PyPSA-Eur' -copyright = u'2017-2022 Jonas Hoersch (KIT, FIAS), Fabian Hofmann (FIAS), David Schlachtberger (FIAS), Tom Brown (KIT, FIAS); 2019-2022 Fabian Neumann (KIT)' -author = u'Jonas Hoersch (KIT, FIAS), Fabian Hofmann (FIAS), David Schlachtberger (FIAS), Tom Brown (KIT, FIAS), Fabian Neumann (KIT)' +copyright = u'2017-2022 Jonas Hoersch (KIT, FIAS), Fabian Hofmann (TUB, FIAS), David Schlachtberger (FIAS), Tom Brown (TUB, KIT, FIAS); 2019-2022 Fabian Neumann (TUB, KIT)' +author = u'Jonas Hoersch (KIT, FIAS), Fabian Hofmann (TUB, FIAS), David Schlachtberger (FIAS), Tom Brown (TUB, KIT, FIAS), Fabian Neumann (TUB, KIT)' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the diff --git a/scripts/retrieve_databundle.py b/scripts/retrieve_databundle.py index 1ed420bb..2b106823 100644 --- a/scripts/retrieve_databundle.py +++ b/scripts/retrieve_databundle.py @@ -1,4 +1,4 @@ -# Copyright 2019-2022 Fabian Hofmann (FIAS) +# Copyright 2019-2022 Fabian Hofmann (TUB, FIAS) # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT From cdd063d3b050851a7621dca10851375fb16e3382 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 27 Jul 2022 09:02:34 +0200 Subject: [PATCH 181/281] scripts: remove deprecated clustering methods, remove unused imports --- scripts/_helpers.py | 1 - scripts/build_powerplants.py | 2 -- scripts/build_shapes.py | 1 - scripts/cluster_network.py | 17 ++--------------- scripts/simplify_network.py | 2 +- 5 files changed, 3 insertions(+), 20 deletions(-) diff --git a/scripts/_helpers.py b/scripts/_helpers.py index 8dd2acd5..0871f622 100644 --- a/scripts/_helpers.py +++ b/scripts/_helpers.py @@ -4,7 +4,6 @@ import pandas as pd from pathlib import Path -from collections import OrderedDict REGION_COLS = ['geometry', 'name', 'x', 'y', 'country'] diff --git a/scripts/build_powerplants.py b/scripts/build_powerplants.py index 1c3990af..056c2649 100755 --- a/scripts/build_powerplants.py +++ b/scripts/build_powerplants.py @@ -77,10 +77,8 @@ from _helpers import configure_logging import pypsa import powerplantmatching as pm import pandas as pd -import numpy as np from powerplantmatching.export import map_country_bus -from scipy.spatial import cKDTree as KDTree logger = logging.getLogger(__name__) diff --git a/scripts/build_shapes.py b/scripts/build_shapes.py index 35d564b3..c2c081b4 100644 --- a/scripts/build_shapes.py +++ b/scripts/build_shapes.py @@ -70,7 +70,6 @@ Description import logging from _helpers import configure_logging -import os import numpy as np from operator import attrgetter from functools import reduce diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index b76b703f..76fc8398 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -125,8 +125,6 @@ import logging from _helpers import configure_logging, update_p_nom_max, get_aggregation_strategies import pypsa -import os -import shapely import pandas as pd import numpy as np @@ -137,8 +135,7 @@ import seaborn as sns from functools import reduce -from pypsa.networkclustering import (busmap_by_kmeans, busmap_by_spectral_clustering, - busmap_by_hac, _make_consense, get_clustering_from_busmap) +from pypsa.networkclustering import (busmap_by_kmeans, busmap_by_hac, get_clustering_from_busmap) import warnings warnings.filterwarnings(action='ignore', category=UserWarning) @@ -305,12 +302,6 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori n_clusters = distribute_clusters(n, n_clusters, focus_weights=focus_weights, solver_name=solver_name) - def reduce_network(n, buses): - nr = pypsa.Network() - nr.import_components_from_dataframe(buses, "Bus") - nr.import_components_from_dataframe(n.lines.loc[n.lines.bus0.isin(buses.index) & n.lines.bus1.isin(buses.index)], "Line") - return nr - def busmap_for_country(x): prefix = x.name[0] + x.name[1] + ' ' logger.debug(f"Determining busmap for country {prefix[:-1]}") @@ -320,14 +311,10 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori if algorithm == "kmeans": return prefix + busmap_by_kmeans(n, weight, n_clusters[x.name], buses_i=x.index, **algorithm_kwds) - elif algorithm == "spectral": - return prefix + busmap_by_spectral_clustering(reduce_network(n, x), n_clusters[x.name], **algorithm_kwds) - elif algorithm == "louvain": - return prefix + busmap_by_louvain(reduce_network(n, x), n_clusters[x.name], **algorithm_kwds) elif algorithm == "hac": return prefix + busmap_by_hac(n, n_clusters[x.name], buses_i=x.index, feature=feature.loc[x.index]) else: - raise ValueError(f"`algorithm` must be one of 'kmeans', 'hac', 'spectral' or 'louvain'. Is {algorithm}.") + raise ValueError(f"`algorithm` must be one of 'kmeans' or 'hac'. Is {algorithm}.") return (n.buses.groupby(['country', 'sub_network'], group_keys=False) .apply(busmap_for_country).squeeze().rename('busmap')) diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 2bba1077..bbd8c2cf 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -99,7 +99,7 @@ from functools import reduce import pypsa from pypsa.io import import_components_from_dataframe, import_series_from_dataframe -from pypsa.networkclustering import busmap_by_stubs, aggregategenerators, aggregateoneport, get_clustering_from_busmap, _make_consense +from pypsa.networkclustering import busmap_by_stubs, aggregategenerators, aggregateoneport, get_clustering_from_busmap logger = logging.getLogger(__name__) From 060bc492234b1fc4ad4129bea2e576401304b13f Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 27 Jul 2022 09:26:21 +0200 Subject: [PATCH 182/281] helpers: make copy of snakemake.config to avoid non-serializable JSON --- scripts/_helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_helpers.py b/scripts/_helpers.py index dc638915..435beee4 100644 --- a/scripts/_helpers.py +++ b/scripts/_helpers.py @@ -29,7 +29,7 @@ def configure_logging(snakemake, skip_handlers=False): import logging - kwargs = snakemake.config.get('logging', dict()) + kwargs = snakemake.config.get('logging', dict()).copy() kwargs.setdefault("level", "INFO") if skip_handlers is False: From 4dcb47f74baa49655e1fef2bd3c120c7e93b3a06 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 27 Jul 2022 11:49:30 +0200 Subject: [PATCH 183/281] release notes: update date --- doc/release_notes.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 1b48ff89..937999e7 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -12,7 +12,7 @@ Upcoming Release * new feature -PyPSA-Eur 0.5.0 (26th July 2022) +PyPSA-Eur 0.5.0 (27th July 2022) ===================================== **New Features** From c9c19106994d1f0ef7cb7110985fa9c71c54526b Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 27 Jul 2022 11:50:42 +0200 Subject: [PATCH 184/281] doc: remove gitter --- README.md | 1 - doc/index.rst | 4 ---- 2 files changed, 5 deletions(-) diff --git a/README.md b/README.md index 8d42e4d2..0e358ca0 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,6 @@ SPDX-License-Identifier: CC-BY-4.0 [![Documentation](https://readthedocs.org/projects/pypsa-eur/badge/?version=latest)](https://pypsa-eur.readthedocs.io/en/latest/?badge=latest) ![Size](https://img.shields.io/github/repo-size/pypsa/pypsa-eur) [![Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.3520874.svg)](https://doi.org/10.5281/zenodo.3520874) -[![Gitter](https://badges.gitter.im/PyPSA/community.svg)](https://gitter.im/PyPSA/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Snakemake](https://img.shields.io/badge/snakemake-≥5.0.0-brightgreen.svg?style=flat)](https://snakemake.readthedocs.io) [![REUSE status](https://api.reuse.software/badge/github.com/pypsa/pypsa-eur)](https://api.reuse.software/info/github.com/pypsa/pypsa-eur) diff --git a/doc/index.rst b/doc/index.rst index ef7f478a..774c9dc3 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -22,10 +22,6 @@ PyPSA-Eur: An Open Optimisation Model of the European Transmission System .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3520874.svg :target: https://doi.org/10.5281/zenodo.3520874 -.. image:: https://badges.gitter.im/PyPSA/community.svg - :target: https://gitter.im/PyPSA/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge - :alt: Chat on Gitter - .. image:: https://img.shields.io/badge/snakemake-≥5.0.0-brightgreen.svg?style=flat :target: https://snakemake.readthedocs.io :alt: Snakemake From 3c64ecf0578f835f03e1175933ae2c06ca7d40e0 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 27 Jul 2022 11:55:37 +0200 Subject: [PATCH 185/281] doc: fix syntax of electricity.csv --- doc/configtables/electricity.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/configtables/electricity.csv b/doc/configtables/electricity.csv index eb9a2379..e0ee25cd 100644 --- a/doc/configtables/electricity.csv +++ b/doc/configtables/electricity.csv @@ -19,7 +19,7 @@ extendable_carriers,,, -- Link,--,Any subset of {'H2 pipeline'},Adds extendable links (H2 pipelines only) at every connection where there are lines or HVDC links without capacity limits and with zero initial capacity. Hydrogen pipelines require hydrogen storage to be modelled as ``Store``. powerplants_filter,--,"use `pandas.query `_ strings here, e.g. Country not in ['Germany']",Filter query for the default powerplant database. custom_powerplants,--,"use `pandas.query `_ strings here, e.g. Country in ['Germany']",Filter query for the custom powerplant database. -conventional_carriers,--,"Any subset of {nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass}","List of conventional power plants to include in the model from ``resources/powerplants.csv``. If an included carrier is also listed in `extendable_carriers`, the capacity is taken as a lower bound." +conventional_carriers,--,"Any subset of {nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass}","List of conventional power plants to include in the model from ``resources/powerplants.csv``. If an included carrier is also listed in `extendable_carriers`, the capacity is taken as a lower bound." renewable_carriers,--,"Any subset of {solar, onwind, offwind-ac, offwind-dc, hydro}",List of renewable generators to include in the model. estimate_renewable_capacities,,, -- enable,,bool,"Activate routine to estimate renewable capacities" From 885316002ced01ee1636205897be5a10e68d853b Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 27 Jul 2022 11:58:23 +0200 Subject: [PATCH 186/281] release_notes: markdown to rst syntax --- doc/release_notes.rst | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 937999e7..1633ac90 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -38,7 +38,7 @@ PyPSA-Eur 0.5.0 (27th July 2022) energy yield for each bus region * The config key ``renewable_capacities_from_OPSD`` is deprecated and was moved under the section, ``estimate_renewable_capacities``. To enable it, set - ``from_opsd`` to `True`. + ``from_opsd`` to ``True``. * Add operational reserve margin constraint analogous to `GenX implementation `_. Can be activated @@ -52,16 +52,16 @@ PyPSA-Eur 0.5.0 (27th July 2022) * Add function to add global constraint on use of gas in :mod:`prepare_network`. This can be activated by including the keyword ``CH4L`` in the ``{opts}`` wildcard which enforces the limit set in ``electricity: gaslimit:`` given in - MWh thermal. Alternatively, it is possible to append a number in the `{opts}` - wildcard, e.g. `CH4L200` which limits the gas use to 200 TWh thermal. + MWh thermal. Alternatively, it is possible to append a number in the ``{opts}`` + wildcard, e.g. ``CH4L200`` which limits the gas use to 200 TWh thermal. -* Add option to alter marginal costs of a carrier through `{opts}` wildcard: - `+m`, e.g. `gas+m2.5`, will multiply the default marginal +* Add option to alter marginal costs of a carrier through ``{opts}`` wildcard: + ``+m``, e.g. ``gas+m2.5``, will multiply the default marginal cost for gas by factor 2.5. * Hierarchical clustering was introduced. Distance metric is calculated from - renewable potentials on hourly (feature entry ends with `-time`) or annual - (feature entry in config end with `-cap`) values. + renewable potentials on hourly (feature entry ends with ``-time``) or annual + (feature entry in config end with ``-cap``) values. * Greedy modularity clustering was introduced. Distance metric is based on electrical distance taking into account the impedance of all transmission lines of the network. @@ -80,8 +80,8 @@ PyPSA-Eur 0.5.0 (27th July 2022) * Add configuration option to implement arbitrary generator attributes for conventional generation technologies. -* Add option to set CO2 emission prices through `{opts}` wildcard: `Ep`, - e.g. `Ep180`, will set the EUR/tCO2 price. +* Add option to set CO2 emission prices through ``{opts}`` wildcard: ``Ep``, + e.g. ``Ep180``, will set the EUR/tCO2 price. **Changes** @@ -102,7 +102,7 @@ PyPSA-Eur 0.5.0 (27th July 2022) * The inclusion of renewable carriers is now specified in the config entry ``renewable_carriers``. Before this was done by commenting/uncommenting - sub-sections in the `renewable` config section. + sub-sections in the ``renewable`` config section. * Now, all carriers that should be extendable have to be listed in the config entry ``extendable_carriers``. Before, renewable carriers were always set to From eb72d8aaadc5450ac244d0542789b101f2e9a6e8 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 27 Jul 2022 13:08:12 +0200 Subject: [PATCH 187/281] add release 0.5 envs/environment.fixed.yaml --- envs/environment.fixed.yaml | 387 +++++++++++++++++++----------------- 1 file changed, 208 insertions(+), 179 deletions(-) diff --git a/envs/environment.fixed.yaml b/envs/environment.fixed.yaml index b025b9a3..ee6a5035 100644 --- a/envs/environment.fixed.yaml +++ b/envs/environment.fixed.yaml @@ -5,280 +5,308 @@ name: pypsa-eur channels: - bioconda + - http://conda.anaconda.org/gurobi - conda-forge - defaults dependencies: - _libgcc_mutex=0.1 - _openmp_mutex=4.5 - - affine=2.3.0 - - alsa-lib=1.2.3 - - amply=0.1.4 + - affine=2.3.1 + - alsa-lib=1.2.3.2 + - amply=0.1.5 - appdirs=1.4.4 - - atlite=0.2.5 - - attrs=21.2.0 + - asttokens=2.0.5 + - atlite=0.2.7 + - attrs=21.4.0 - backcall=0.2.0 - backports=1.0 - backports.functools_lru_cache=1.6.4 - - beautifulsoup4=4.10.0 - - blosc=1.21.0 - - bokeh=2.3.3 + - beautifulsoup4=4.11.1 + - blosc=1.21.1 + - bokeh=2.4.3 - boost-cpp=1.74.0 - - bottleneck=1.3.2 + - bottleneck=1.3.5 + - branca=0.5.0 + - brotli=1.0.9 + - brotli-bin=1.0.9 - brotlipy=0.7.0 - bzip2=1.0.8 - - c-ares=1.17.2 - - ca-certificates=2021.5.30 + - c-ares=1.18.1 + - ca-certificates=2022.6.15 - cairo=1.16.0 - - cartopy=0.19.0.post1 + - cartopy=0.20.1 - cdsapi=0.5.1 - - certifi=2021.5.30 - - cffi=1.14.6 - - cfitsio=3.470 - - cftime=1.5.0 - - chardet=4.0.0 - - charset-normalizer=2.0.0 - - click=7.1.2 + - certifi=2022.6.15 + - cffi=1.15.1 + - cfitsio=4.0.0 + - cftime=1.6.1 + - charset-normalizer=2.1.0 + - click=8.1.3 - click-plugins=1.1.1 - cligj=0.7.2 - - cloudpickle=2.0.0 - - coincbc=2.10.5 - - colorama=0.4.4 - - conda=4.10.3 - - conda-package-handling=1.7.3 - - configargparse=1.5.2 + - cloudpickle=2.1.0 + - coin-or-cbc=2.10.8 + - coin-or-cgl=0.60.6 + - coin-or-clp=1.17.7 + - coin-or-osi=0.108.7 + - coin-or-utils=2.11.6 + - coincbc=2.10.8 + - colorama=0.4.5 + - configargparse=1.5.3 - connection_pool=0.0.3 - - country_converter=0.7.3 - - cryptography=3.4.7 - - curl=7.79.0 - - cycler=0.10.0 - - cytoolz=0.11.0 - - dask=2021.3.1 - - dask-core=2021.3.1 + - country_converter=0.7.4 + - cryptography=37.0.4 + - curl=7.83.1 + - cycler=0.11.0 + - cytoolz=0.12.0 + - dask=2022.7.1 + - dask-core=2022.7.1 - datrie=0.8.2 - dbus=1.13.6 - - decorator=4.4.2 + - decorator=5.1.1 - deprecation=2.1.0 - descartes=1.1.0 - - distributed=2021.4.1 - - distro=1.5.0 - - docutils=0.17.1 - - entsoe-py=0.3.7 + - distributed=2022.7.1 + - distro=1.6.0 + - docutils=0.19 + - dpath=2.0.6 + - entsoe-py=0.5.4 - et_xmlfile=1.0.1 - - expat=2.4.1 - - filelock=3.0.12 - - fiona=1.8.18 - - fontconfig=2.13.1 + - executing=0.9.1 + - expat=2.4.8 + - filelock=3.7.1 + - fiona=1.8.20 + - folium=0.12.1.post1 + - font-ttf-dejavu-sans-mono=2.37 + - font-ttf-inconsolata=3.000 + - font-ttf-source-code-pro=2.038 + - font-ttf-ubuntu=0.83 + - fontconfig=2.14.0 + - fonts-conda-ecosystem=1 + - fonts-conda-forge=1 + - fonttools=4.34.4 - freetype=2.10.4 - freexl=1.0.6 - - fsspec=2021.8.1 - - gdal=3.2.1 + - fsspec=2022.5.0 + - gdal=3.3.3 - geographiclib=1.52 - - geopandas=0.9.0 - - geopandas-base=0.9.0 + - geojson-rewind=1.0.2 + - geopandas=0.11.1 + - geopandas-base=0.11.1 - geopy=2.2.0 - - geos=3.9.1 - - geotiff=1.6.0 + - geos=3.10.0 + - geotiff=1.7.0 - gettext=0.19.8.1 - giflib=5.2.1 - - gitdb=4.0.7 - - gitpython=3.1.23 - - glib=2.68.4 - - glib-tools=2.68.4 + - gitdb=4.0.9 + - gitpython=3.1.27 - graphite2=1.3.13 - gst-plugins-base=1.18.5 - gstreamer=1.18.5 - harfbuzz=2.9.1 - hdf4=4.2.15 - - hdf5=1.10.6 + - hdf5=1.12.1 - heapdict=1.0.1 - - icu=68.1 - - idna=3.1 - - importlib-metadata=4.8.1 + - icu=68.2 + - idna=3.3 + - importlib-metadata=4.11.4 + - importlib_resources=5.9.0 - iniconfig=1.1.1 - - ipython=7.27.0 - - ipython_genutils=0.2.0 - - jdcal=1.4.1 - - jedi=0.18.0 - - jinja2=3.0.1 - - joblib=1.0.1 - - jpeg=9d + - ipython=8.4.0 + - jedi=0.18.1 + - jinja2=3.1.2 + - joblib=1.1.0 + - jpeg=9e - json-c=0.15 - - jsonschema=3.2.0 - - jupyter_core=4.8.1 - - kealib=1.4.14 - - kiwisolver=1.3.2 - - krb5=1.19.2 + - jsonschema=4.7.2 + - jupyter_core=4.11.1 + - kealib=1.4.15 + - keyutils=1.6.1 + - kiwisolver=1.4.4 + - krb5=1.19.3 - lcms2=2.12 - ld_impl_linux-64=2.36.1 - - libarchive=3.5.1 + - lerc=3.0 - libblas=3.9.0 + - libbrotlicommon=1.0.9 + - libbrotlidec=1.0.9 + - libbrotlienc=1.0.9 - libcblas=3.9.0 - libclang=11.1.0 - - libcurl=7.79.0 + - libcurl=7.83.1 - libdap4=3.20.6 + - libdeflate=1.12 - libedit=3.1.20191231 - libev=4.33 - libevent=2.1.10 - libffi=3.4.2 - - libgcc-ng=11.2.0 - - libgdal=3.2.1 - - libgfortran-ng=11.2.0 - - libgfortran5=11.2.0 - - libglib=2.68.4 - - libgomp=11.2.0 + - libgcc-ng=12.1.0 + - libgdal=3.3.3 + - libgfortran-ng=12.1.0 + - libgfortran5=12.1.0 + - libglib=2.72.1 + - libgomp=12.1.0 - libiconv=1.16 - libkml=1.3.0 - liblapack=3.9.0 + - liblapacke=3.9.0 - libllvm11=11.1.0 - - libnetcdf=4.7.4 - - libnghttp2=1.43.0 + - libnetcdf=4.8.1 + - libnghttp2=1.47.0 + - libnsl=2.0.0 - libogg=1.3.4 - - libopenblas=0.3.17 + - libopenblas=0.3.20 - libopus=1.3.1 - libpng=1.6.37 - - libpq=13.3 + - libpq=13.5 - librttopo=1.1.0 - - libsolv=0.7.19 - libspatialindex=1.9.3 - libspatialite=5.0.1 - libssh2=1.10.0 - - libstdcxx-ng=11.2.0 - - libtiff=4.2.0 + - libstdcxx-ng=12.1.0 + - libtiff=4.4.0 - libuuid=2.32.1 - libvorbis=1.3.7 - - libwebp-base=1.2.1 + - libwebp=1.2.3 + - libwebp-base=1.2.3 - libxcb=1.13 - libxkbcommon=1.0.3 - libxml2=2.9.12 - libxslt=1.1.33 - - locket=0.2.0 - - lxml=4.6.3 + - libzip=1.9.2 + - libzlib=1.2.12 + - locket=1.0.0 + - lxml=4.8.0 + - lz4=4.0.0 - lz4-c=1.9.3 - lzo=2.10 - - mamba=0.15.3 - mapclassify=2.4.3 - - markupsafe=2.0.1 - - matplotlib=3.4.3 - - matplotlib-base=3.4.3 + - markupsafe=2.1.1 + - matplotlib=3.5.2 + - matplotlib-base=3.5.2 - matplotlib-inline=0.1.3 - - memory_profiler=0.58.0 - - mock=4.0.3 - - more-itertools=8.10.0 - - msgpack-python=1.0.2 + - memory_profiler=0.60.0 + - msgpack-python=1.0.4 - munch=2.5.0 - - mysql-common=8.0.25 - - mysql-libs=8.0.25 - - nbformat=5.1.3 - - ncurses=6.2 - - netcdf4=1.5.6 - - networkx=2.6.3 - - nspr=4.30 - - nss=3.69 - - numexpr=2.7.3 - - numpy=1.21.2 - - olefile=0.46 + - munkres=1.1.4 + - mysql-common=8.0.29 + - mysql-libs=8.0.29 + - nbformat=5.4.0 + - ncurses=6.3 + - netcdf4=1.6.0 + - networkx=2.8.5 + - nomkl=1.0 + - nspr=4.32 + - nss=3.78 + - numexpr=2.8.3 + - numpy=1.23.1 - openjdk=11.0.9.1 - openjpeg=2.4.0 - - openpyxl=3.0.8 - - openssl=1.1.1l - - packaging=21.0 - - pandas=1.2.5 - - parso=0.8.2 + - openpyxl=3.0.9 + - openssl=1.1.1q + - packaging=21.3 + - pandas=1.4.3 + - parso=0.8.3 - partd=1.2.0 - - patsy=0.5.1 + - patsy=0.5.2 - pcre=8.45 - pexpect=4.8.0 - pickleshare=0.7.5 - - pillow=8.2.0 - - pip=21.2.4 + - pillow=9.2.0 + - pip=22.2 - pixman=0.40.0 + - plac=1.3.5 - pluggy=1.0.0 - ply=3.11 - - poppler=0.89.0 + - poppler=21.09.0 - poppler-data=0.4.11 - - postgresql=13.3 - - powerplantmatching=0.4.8 - - progressbar2=3.53.1 - - proj=7.2.0 - - prompt-toolkit=3.0.20 - - psutil=5.8.0 + - postgresql=13.5 + - powerplantmatching=0.5.3 + - progressbar2=4.0.0 + - proj=8.1.1 + - prompt-toolkit=3.0.30 + - psutil=5.9.1 - pthread-stubs=0.4 - ptyprocess=0.7.0 - - pulp=2.5.0 - - py=1.10.0 - - pycosat=0.6.3 + - pulp=2.6.0 + - pure_eval=0.2.2 + - py=1.11.0 - pycountry=20.7.3 - - pycparser=2.20 - - pygments=2.10.0 - - pyomo=6.1.2 - - pyopenssl=20.0.1 - - pyparsing=2.4.7 - - pyproj=3.1.0 - - pypsa=0.18.0 + - pycparser=2.21 + - pygments=2.12.0 + - pyomo=6.4.1 + - pyopenssl=22.0.0 + - pyparsing=3.0.9 + - pyproj=3.2.1 + - pypsa=0.20.0 - pyqt=5.12.3 - pyqt-impl=5.12.3 - pyqt5-sip=4.19.18 - pyqtchart=5.12 - pyqtwebengine=5.12.1 - - pyrsistent=0.17.3 - - pyshp=2.1.3 + - pyrsistent=0.18.1 + - pyshp=2.3.0 - pysocks=1.7.1 - - pytables=3.6.1 - - pytest=6.2.5 - - python=3.9.7 + - pytables=3.7.0 + - pytest=7.1.2 + - python=3.9.13 - python-dateutil=2.8.2 - - python-utils=2.5.6 + - python-fastjsonschema=2.16.1 + - python-utils=3.3.3 - python_abi=3.9 - - pytz=2021.1 - - pyyaml=5.4.1 + - pytz=2022.1 + - pyxlsb=1.0.9 + - pyyaml=6.0 - qt=5.12.9 - - rasterio=1.2.6 + - rasterio=1.2.9 - ratelimiter=1.2.0 - - readline=8.1 - - reproc=14.2.3 - - reproc-cpp=14.2.3 - - requests=2.26.0 - - rtree=0.9.7 - - ruamel_yaml=0.15.80 - - scikit-learn=0.24.2 - - scipy=1.7.1 + - readline=8.1.2 + - requests=2.28.1 + - retry=0.9.2 + - rtree=1.0.0 + - scikit-learn=1.1.1 + - scipy=1.8.1 - seaborn=0.11.2 - seaborn-base=0.11.2 - - setuptools=58.0.4 - - setuptools-scm=6.3.2 - - setuptools_scm=6.3.2 - - shapely=1.7.1 + - setuptools=63.2.0 + - setuptools-scm=7.0.5 + - setuptools_scm=7.0.5 + - shapely=1.8.0 - six=1.16.0 - - smart_open=5.2.1 + - smart_open=6.0.0 - smmap=3.0.5 - - snakemake-minimal=6.8.0 + - snakemake-minimal=7.9.0 + - snappy=1.1.9 - snuggs=1.4.7 - sortedcontainers=2.4.0 - - soupsieve=2.0.1 - - sqlite=3.36.0 - - statsmodels=0.12.2 + - soupsieve=2.3.2.post1 + - sqlite=3.39.2 + - stack_data=0.3.0 + - statsmodels=0.13.2 - stopit=1.1.2 - tabula-py=2.2.0 - - tabulate=0.8.9 + - tabulate=0.8.10 - tblib=1.7.0 - - threadpoolctl=2.2.0 - - tiledb=2.2.9 - - tk=8.6.11 - - toml=0.10.2 - - tomli=1.2.1 - - toolz=0.11.1 - - toposort=1.6 + - threadpoolctl=3.1.0 + - tiledb=2.3.4 + - tk=8.6.12 + - tomli=2.0.1 + - toolz=0.12.0 + - toposort=1.7 - tornado=6.1 - - tqdm=4.62.3 - - traitlets=5.1.0 - - typing_extensions=3.10.0.2 - - tzcode=2021a - - tzdata=2021a - - urllib3=1.26.6 + - tqdm=4.64.0 + - traitlets=5.3.0 + - typing-extensions=4.3.0 + - typing_extensions=4.3.0 + - tzcode=2022a + - tzdata=2022a + - unicodedata2=14.0.0 + - unidecode=1.3.4 + - urllib3=1.26.11 - wcwidth=0.2.5 - - wheel=0.37.0 - - wrapt=1.12.1 - - xarray=0.19.0 + - wheel=0.37.1 + - wrapt=1.14.1 + - xarray=2022.6.0 - xerces-c=3.2.3 - xlrd=2.0.1 - xorg-fixesproto=5.0 @@ -298,14 +326,15 @@ dependencies: - xorg-renderproto=0.11.1 - xorg-xextproto=7.3.0 - xorg-xproto=7.0.31 + - xyzservices=2022.6.0 - xz=5.2.5 - yaml=0.2.5 - - zict=2.0.0 - - zipp=3.5.0 - - zlib=1.2.11 - - zstd=1.4.9 + - yte=1.5.1 + - zict=2.2.0 + - zipp=3.8.0 + - zlib=1.2.12 + - zstd=1.5.2 - pip: - countrycode==0.2 - - sklearn==0.0 - - tsam==1.1.1 - - vresutils==0.3.1 + - tsam==2.1.0 + - vresutils==0.3.1 \ No newline at end of file From df6d74a087a08ab1393a757bcdcd587099351617 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 27 Jul 2022 13:12:52 +0200 Subject: [PATCH 188/281] add release docs where to change versions --- CITATION.cff | 2 +- doc/release_notes.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index a28562fd..089c924f 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -6,7 +6,7 @@ cff-version: 1.1.0 message: "If you use this package, please cite the corresponding manuscript in Energy Strategy Reviews." title: "PyPSA-Eur: An open optimisation model of the European transmission system" repository: https://github.com/pypsa/pypsa-eur -version: 0.4.0 +version: 0.5.0 license: MIT journal: Energy Strategy Reviews doi: 10.1016/j.esr.2018.08.012 diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 1633ac90..04c41a81 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -502,7 +502,7 @@ Release Process ``conda env export -n pypsa-eur -f envs/environment.fixed.yaml --no-builds`` from an up-to-date `pypsa-eur` environment. -* Update version number in ``doc/conf.py`` and ``*config.*.yaml``. +* Update version number in ``doc/conf.py``, ``CITATION.cff`` and ``*config.*.yaml``. * Open, review and merge pull request for branch ``release-v0.x.x``. Make sure to close issues and PRs or the release milestone with it (e.g. closes #X). From bfcc08665d136ffd53d6300cfe3164e01654f702 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 27 Jul 2022 13:40:41 +0200 Subject: [PATCH 189/281] make resolution of exclusion calculation a configurable option --- config.default.yaml | 4 ++++ config.tutorial.yaml | 4 ++++ scripts/build_renewable_profiles.py | 3 ++- test/config.test1.yaml | 4 ++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/config.default.yaml b/config.default.yaml index b37297af..dd79713b 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -120,6 +120,7 @@ renewable: distance: 1000 distance_grid_codes: [1, 2, 3, 4, 5, 6] natura: true + excluder_resolution: 100 potential: simple # or conservative clip_p_max_pu: 1.e-2 offwind-ac: @@ -136,6 +137,7 @@ renewable: natura: true max_depth: 50 max_shore_distance: 30000 + excluder_resolution: 200 potential: simple # or conservative clip_p_max_pu: 1.e-2 offwind-dc: @@ -153,6 +155,7 @@ renewable: natura: true max_depth: 50 min_shore_distance: 30000 + excluder_resolution: 200 potential: simple # or conservative clip_p_max_pu: 1.e-2 solar: @@ -175,6 +178,7 @@ renewable: corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] natura: true + excluder_resolution: 100 potential: simple # or conservative clip_p_max_pu: 1.e-2 hydro: diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 99e7836b..87f48071 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -76,6 +76,7 @@ renewable: distance: 1000 distance_grid_codes: [1, 2, 3, 4, 5, 6] natura: true + excluder_resolution: 200 potential: simple # or conservative clip_p_max_pu: 1.e-2 offwind-ac: @@ -88,6 +89,7 @@ renewable: corine: [44, 255] natura: true max_shore_distance: 30000 + excluder_resolution: 200 potential: simple # or conservative clip_p_max_pu: 1.e-2 offwind-dc: @@ -101,6 +103,7 @@ renewable: corine: [44, 255] natura: true min_shore_distance: 30000 + excluder_resolution: 200 potential: simple # or conservative clip_p_max_pu: 1.e-2 solar: @@ -122,6 +125,7 @@ renewable: corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] natura: true + excluder_resolution: 200 potential: simple # or conservative clip_p_max_pu: 1.e-2 diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index 49e481ca..a4b442e4 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -228,7 +228,8 @@ if __name__ == '__main__': regions = regions.set_index('name').rename_axis('bus') buses = regions.index - excluder = atlite.ExclusionContainer(crs=3035, res=100) + res = config.get("excluder_resolution", 100) + excluder = atlite.ExclusionContainer(crs=3035, res=res) if config['natura']: excluder.add_raster(snakemake.input.natura, nodata=0, allow_no_overlap=True) diff --git a/test/config.test1.yaml b/test/config.test1.yaml index ab741ccd..e0ac2079 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -75,6 +75,7 @@ renewable: distance: 1000 distance_grid_codes: [1, 2, 3, 4, 5, 6] natura: true + excluder_resolution: 200 potential: simple # or conservative clip_p_max_pu: 1.e-2 offwind-ac: @@ -87,6 +88,7 @@ renewable: corine: [44, 255] natura: true max_shore_distance: 30000 + excluder_resolution: 200 potential: simple # or conservative clip_p_max_pu: 1.e-2 offwind-dc: @@ -100,6 +102,7 @@ renewable: corine: [44, 255] natura: true min_shore_distance: 30000 + excluder_resolution: 200 potential: simple # or conservative clip_p_max_pu: 1.e-2 solar: @@ -120,6 +123,7 @@ renewable: corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] natura: true + excluder_resolution: 200 potential: simple # or conservative clip_p_max_pu: 1.e-2 From 6d070a19e07cf8cfc6fa0f43d9cdff3cc7297d11 Mon Sep 17 00:00:00 2001 From: Philipp Glaum Date: Thu, 28 Jul 2022 10:38:24 +0200 Subject: [PATCH 190/281] initial ship raster implementation --- Snakefile | 19 ++ config.default.yaml | 4 + config_float.yaml | 333 ++++++++++++++++++++++++++++ scripts/build_renewable_profiles.py | 5 + scripts/build_ship_raster.py | 63 ++++++ 5 files changed, 424 insertions(+) create mode 100755 config_float.yaml create mode 100644 scripts/build_ship_raster.py diff --git a/Snakefile b/Snakefile index ce2b9889..ceef901a 100644 --- a/Snakefile +++ b/Snakefile @@ -185,6 +185,22 @@ if config['enable'].get('retrieve_natura_raster', True): run: move(input[0], output[0]) +if config['enable'].get('build_ship_raster', False): + rule build_ship_raster: + input: + ship_density="data/bundle/shipdensity/shipdensity_global.zip", + cutouts=expand("cutouts/{cutouts}.nc", **config['atlite']) + output: "resources/europe_shipdensity_raster.nc" + log: "logs/build_ship_raster.log" + script: "scripts/build_ship_raster.py" + + +if config['enable'].get('retrieve_ship_raster', True): + rule retrieve_ship_raster: + input: HTTP.remote("https://tubcloud.tu-berlin.de/s/P9HArMwKbTH48Tf", keep_local=True, static=True) + output: "resources/europe_shipdensity_raster.nc" + run: move(input[0], output[0]) + rule build_renewable_profiles: input: base_network="networks/base.nc", @@ -195,6 +211,9 @@ rule build_renewable_profiles: gebco=lambda w: ("data/bundle/GEBCO_2014_2D.nc" if "max_depth" in config["renewable"][w.technology].keys() else []), + ship_density= lambda w: ("resources/europe_shipdensity_raster.nc" + if "ship_threshold" in config["renewable"][w.technology].keys() + else []), country_shapes='resources/country_shapes.geojson', offshore_shapes='resources/offshore_shapes.geojson', regions=lambda w: ("resources/regions_onshore.geojson" diff --git a/config.default.yaml b/config.default.yaml index b37297af..924d5f85 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -30,6 +30,8 @@ enable: retrieve_cutout: true build_natura_raster: false retrieve_natura_raster: true + build_ship_raster: false + retrieve_ship_raster: true custom_busmap: false electricity: @@ -134,6 +136,7 @@ renewable: # until done more rigorously in #153 corine: [44, 255] natura: true + ship_threshold: 400 max_depth: 50 max_shore_distance: 30000 potential: simple # or conservative @@ -151,6 +154,7 @@ renewable: # until done more rigorously in #153 corine: [44, 255] natura: true + ship_threshold: 400 max_depth: 50 min_shore_distance: 30000 potential: simple # or conservative diff --git a/config_float.yaml b/config_float.yaml new file mode 100755 index 00000000..d99764d4 --- /dev/null +++ b/config_float.yaml @@ -0,0 +1,333 @@ +# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# +# SPDX-License-Identifier: CC0-1.0 + +version: 0.4.0 +tutorial: false + +logging: + level: INFO + format: '%(levelname)s:%(name)s:%(message)s' + +summary_dir: results + +scenario: + simpl: [''] + ll: ['copt'] + clusters: [100] + opts: [Co2L-24H] + +countries: ['BE','DE', 'DK', 'GB', 'NL', 'NO'] + +clustering: + simplify: + to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) + +snapshots: + start: "2013-01-01" + end: "2014-01-01" + closed: 'left' # end is not inclusive + +enable: + prepare_links_p_nom: false + retrieve_databundle: true + build_cutout: false + retrieve_cutout: false + build_natura_raster: false + retrieve_natura_raster: true + custom_busmap: false + split_offshore_regions: true #splits big offshore regions into smaller regions + build_ship_raster: true + retrieve_ship_raster: true + +electricity: + voltages: [220., 300., 380.] + co2limit: 7.75e+7 # 0.05 * 3.1e9*0.5 + co2base: 1.487e+9 + agg_p_nom_limits: data/agg_p_nom_minmax.csv + + extendable_carriers: + Generator: [] + StorageUnit: [] # battery, H2 + Store: [battery, H2] + Link: [] + + max_hours: + battery: 6 + H2: 168 + + powerplants_filter: false # use pandas query strings here, e.g. Country not in ['Germany'] + custom_powerplants: false # use pandas query strings here, e.g. Country in ['Germany'] + conventional_carriers: [nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass] + renewable_capacities_from_OPSD: [] # onwind, offwind, solar + + # estimate_renewable_capacities_from_capacity_stats: + # # Wind is the Fueltype in ppm.data.Capacity_stats, onwind, offwind-{ac,dc} the carrier in PyPSA-Eur + # Wind: [onwind, offwind-ac, offwind-dc] + # Solar: [solar] + +atlite: + nprocesses: 1 + show_progress: false + cutouts: + # use 'base' to determine geographical bounds and time span from config + # base: + # module: era5 + europe-2013-era5: + module: era5 # in priority order + dx: 0.3 + dy: 0.3 + time: ['2013', '2013'] + + +renewable: + onwind: + cutout: europe-2013-era5 + resource: + method: wind + turbine: Vestas_V112_3MW + capacity_per_sqkm: 3 # ScholzPhd Tab 4.3.1: 10MW/km^2 + # correction_factor: 0.93 + corine: + # Scholz, Y. (2012). Renewable energy based electricity supply at low costs: + # development of the REMix model and application for Europe. ( p.42 / p.28) + grid_codes: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 31, 32] + distance: 1000 + distance_grid_codes: [1, 2, 3, 4, 5, 6] + natura: true + potential: simple # or conservative + clip_p_max_pu: 1.e-2 + offwind-ac: + cutout: europe-2013-era5 + resource: + method: wind + turbine: NREL_ReferenceTurbine_2020ATB_12MW_offshore + capacity_per_sqkm: 2 + correction_factor: 0.8855 + # proxy for wake losses + # from 10.1016/j.energy.2018.08.153 + # until done more rigorously in #153 + #corine: [44, 255] + natura: true + max_depth: 60 + max_shore_distance: 30000 + potential: simple # or conservative + clip_p_max_pu: 1.e-2 + calculate_topology_cost: true + offwind-dc: + cutout: europe-2013-era5 + resource: + method: wind + turbine: NREL_ReferenceTurbine_2020ATB_12MW_offshore + capacity_per_sqkm: 2 + correction_factor: 0.8855 + # proxy for wake losses + # from 10.1016/j.energy.2018.08.153 + # until done more rigorously in #153 + #corine: [44, 255] + natura: true + max_depth: 60 + min_shore_distance: 30000 + potential: simple # or conservative + clip_p_max_pu: 1.e-2 + calculate_topology_cost: true + offwind-float: + cutout: europe-2013-era5 + resource: + method: wind + turbine: NREL_ReferenceTurbine_5MW_offshore + # ScholzPhd Tab 4.3.1: 10MW/km^2 + capacity_per_sqkm: 2 + correction_factor: 0.8855 + # proxy for wake losses + # from 10.1016/j.energy.2018.08.153 + # until done more rigorously in #153 + #corine: [44, 255] + natura: true + min_depth: 60 + potential: simple # or conservative + clip_p_max_pu: 1.e-2 + solar: + cutout: europe-2013-era5 + resource: + method: pv + panel: CSi + orientation: + slope: 35. + azimuth: 180. + capacity_per_sqkm: 1.7 # ScholzPhd Tab 4.3.1: 170 MW/km^2 + # Correction factor determined by comparing uncorrected area-weighted full-load hours to those + # published in Supplementary Data to + # Pietzcker, Robert Carl, et al. "Using the sun to decarbonize the power + # sector: The economic potential of photovoltaics and concentrating solar + # power." Applied Energy 135 (2014): 704-720. + # This correction factor of 0.854337 may be in order if using reanalysis data. + # for discussion refer to https://github.com/PyPSA/pypsa-eur/pull/304 + # correction_factor: 0.854337 + corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] + natura: true + potential: simple # or conservative + clip_p_max_pu: 1.e-2 + hydro: + cutout: europe-2013-era5 + carriers: [ror, PHS, hydro] + PHS_max_hours: 6 + hydro_max_hours: "energy_capacity_totals_by_country" # one of energy_capacity_totals_by_country, estimate_by_large_installations or a float + clip_min_inflow: 1.0 + +lines: + types: + 220.: "Al/St 240/40 2-bundle 220.0" + 300.: "Al/St 240/40 3-bundle 300.0" + 380.: "Al/St 240/40 4-bundle 380.0" + s_max_pu: 0.7 + s_nom_max: .inf + length_factor: 1.25 + under_construction: 'zero' # 'zero': set capacity to zero, 'remove': remove, 'keep': with full capacity + +links: + p_max_pu: 1.0 + p_nom_max: .inf + include_tyndp: true + under_construction: 'zero' # 'zero': set capacity to zero, 'remove': remove, 'keep': with full capacity + +transformers: + x: 0.1 + s_nom: 2000. + type: '' + +load: + power_statistics: True # only for files from <2019; set false in order to get ENTSOE transparency data + interpolate_limit: 3 # data gaps up until this size are interpolated linearly + time_shift_for_large_gaps: 1w # data gaps up until this size are copied by copying from + manual_adjustments: true # false + scaling_factor: 1.0 + +costs: + year: 2030 + discountrate: 0.07 # From a Lion Hirth paper, also reflects average of Noothout et al 2016 + USD2013_to_EUR2013: 0.7532 # [EUR/USD] ECB: https://www.ecb.europa.eu/stats/exchange/eurofxref/html/eurofxref-graph-usd.en.html + marginal_cost: # EUR/MWh + solar: 0.01 + onwind: 0.015 + offwind-ac: 0.015 + offwind-dc: 0.015 + hydro: 0. + H2: 0. + electrolysis: 0. + fuel cell: 0. + battery: 0. + battery inverter: 0. + emission_prices: # in currency per tonne emission, only used with the option Ep + co2: 0. + +solving: + options: + formulation: kirchhoff + load_shedding: false + noisy_costs: true + min_iterations: 4 + max_iterations: 6 + clip_p_max_pu: 0.01 + skip_iterations: false + track_iterations: false + #nhours: 10 + solver: + name: gurobi + threads: 4 + method: 2 # barrier + crossover: 0 + BarConvTol: 1.e-5 + FeasibilityTol: 1.e-6 + AggFill: 0 + PreDual: 0 + GURO_PAR_BARDENSETHRESH: 200 + # solver: + # name: cplex + # threads: 4 + # lpmethod: 4 # barrier + # solutiontype: 2 # non basic solution, ie no crossover + # barrier.convergetol: 1.e-5 + # feasopt.tolerance: 1.e-6 + +plotting: + map: + figsize: [7, 7] + boundaries: [-10.2, 29, 35, 72] + p_nom: + bus_size_factor: 5.e+4 + linewidth_factor: 3.e+3 + + costs_max: 800 + costs_threshold: 1 + + energy_max: 15000. + energy_min: -10000. + energy_threshold: 50. + + vre_techs: ["onwind", "offwind-ac", "offwind-dc", "solar", "ror"] + conv_techs: ["OCGT", "CCGT", "Nuclear", "Coal"] + storage_techs: ["hydro+PHS", "battery", "H2"] + load_carriers: ["AC load"] + AC_carriers: ["AC line", "AC transformer"] + link_carriers: ["DC line", "Converter AC-DC"] + tech_colors: + "onwind" : "#235ebc" + "onshore wind" : "#235ebc" + 'offwind' : "#6895dd" + 'offwind-ac' : "#6895dd" + 'offshore wind' : "#6895dd" + 'offshore wind ac' : "#6895dd" + 'offwind-dc' : "#74c6f2" + 'offshore wind dc' : "#74c6f2" + "hydro" : "#08ad97" + "hydro+PHS" : "#08ad97" + "PHS" : "#08ad97" + "hydro reservoir" : "#08ad97" + 'hydroelectricity' : '#08ad97' + "ror" : "#4adbc8" + "run of river" : "#4adbc8" + 'solar' : "#f9d002" + 'solar PV' : "#f9d002" + 'solar thermal' : '#ffef60' + 'biomass' : '#0c6013' + 'solid biomass' : '#06540d' + 'biogas' : '#23932d' + 'waste' : '#68896b' + 'geothermal' : '#ba91b1' + "OCGT" : "#d35050" + "gas" : "#d35050" + "natural gas" : "#d35050" + "CCGT" : "#b20101" + "nuclear" : "#ff9000" + "coal" : "#707070" + "lignite" : "#9e5a01" + "oil" : "#262626" + "H2" : "#ea048a" + "hydrogen storage" : "#ea048a" + "battery" : "#b8ea04" + "Electric load" : "#f9d002" + "electricity" : "#f9d002" + "lines" : "#70af1d" + "transmission lines" : "#70af1d" + "AC-AC" : "#70af1d" + "AC line" : "#70af1d" + "links" : "#8a1caf" + "HVDC links" : "#8a1caf" + "DC-DC" : "#8a1caf" + "DC link" : "#8a1caf" + nice_names: + OCGT: "Open-Cycle Gas" + CCGT: "Combined-Cycle Gas" + offwind-ac: "Offshore Wind (AC)" + offwind-dc: "Offshore Wind (DC)" + onwind: "Onshore Wind" + solar: "Solar" + PHS: "Pumped Hydro Storage" + hydro: "Reservoir & Dam" + battery: "Battery Storage" + H2: "Hydrogen Storage" + lines: "Transmission Lines" + ror: "Run of River" diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index 49e481ca..675dc6f9 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -241,6 +241,11 @@ if __name__ == '__main__': codes = corine["distance_grid_codes"] buffer = corine["distance"] excluder.add_raster(snakemake.input.corine, codes=codes, buffer=buffer, crs=3035) + + if "ship_threshold" in config: + shipping_threshold=config["ship_threshold"]*8760*6 # approximation because 6 years of data which is hourly collected + func = functools.partial(np.less,shipping_threshold) + excluder.add_raster(snakemake.input.ship_density, codes=func, crs=4326, allow_no_overlap=True) if "max_depth" in config: # lambda not supported for atlite + multiprocessing diff --git a/scripts/build_ship_raster.py b/scripts/build_ship_raster.py new file mode 100644 index 00000000..12ad64a6 --- /dev/null +++ b/scripts/build_ship_raster.py @@ -0,0 +1,63 @@ +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors +# +# SPDX-License-Identifier: MIT + +""" +Transforms the global ship density data from https://datacatalog.worldbank.org/search/dataset/0037580/Global-Shipping-Traffic-Density to the size of the considered cutout. The global ship density raster is later used for the exclusion when calculating the offshore potentials. + +Relevant Settings +----------------- + +.. code:: yaml + + renewable: + {technology}: + cutout: + +.. seealso:: + Documentation of the configuration file ``config.yaml`` at + :ref:`renewable_cf` + +Inputs +------ + +- ``data/bundle/shipdensity/shipdensity_global.zip``: `Global ship density from `. + +Outputs +------- + +- ``resources/natura.tiff``: Reduced version of `Global ship density from Date: Thu, 28 Jul 2022 15:21:21 +0200 Subject: [PATCH 191/281] fix raster format error due to import --- scripts/build_ship_raster.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/build_ship_raster.py b/scripts/build_ship_raster.py index 12ad64a6..d34a1c10 100644 --- a/scripts/build_ship_raster.py +++ b/scripts/build_ship_raster.py @@ -51,13 +51,13 @@ if __name__ == "__main__": cutouts = snakemake.input.cutouts xs, Xs, ys, Ys = zip(*(determine_cutout_xXyY(cutout) for cutout in cutouts)) - + with zipfile.ZipFile(snakemake.input.ship_density) as zip_f: zip_f.extract("shipdensity_global.tif") - ship_density=xarray.open_dataarray("shipdensity_global.tif", engine="rasterio") + ship_density=xarray.open_rasterio("shipdensity_global.tif") os.remove("shipdensity_global.tif") - ship_density=ship_density.drop("band").sel(x=slice(min(xs),max(Xs)), y=slice(max(Ys),min(ys))) - + ship_density=ship_density.drop(["band"]).sel(x=slice(min(xs),max(Xs)), y=slice(max(Ys),min(ys))) + ship_density.to_netcdf(snakemake.output[0]) From 4db62fa0c6cda6b1b8dd9c511b06ffd78dbbcf12 Mon Sep 17 00:00:00 2001 From: Philipp Glaum Date: Fri, 29 Jul 2022 11:52:33 +0200 Subject: [PATCH 192/281] place holder in snakefile for path to ship_raster --- Snakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Snakefile b/Snakefile index ceef901a..346c8fff 100644 --- a/Snakefile +++ b/Snakefile @@ -197,7 +197,7 @@ if config['enable'].get('build_ship_raster', False): if config['enable'].get('retrieve_ship_raster', True): rule retrieve_ship_raster: - input: HTTP.remote("https://tubcloud.tu-berlin.de/s/P9HArMwKbTH48Tf", keep_local=True, static=True) + input: HTTP.remote("path-to-file", keep_local=True, static=True) output: "resources/europe_shipdensity_raster.nc" run: move(input[0], output[0]) From 2b5fefc7db50f91e234b15e38ad2e6d7683961e8 Mon Sep 17 00:00:00 2001 From: Philipp Glaum Date: Fri, 29 Jul 2022 11:52:55 +0200 Subject: [PATCH 193/281] update test config --- test/config.test1.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/config.test1.yaml b/test/config.test1.yaml index ab741ccd..71cc6903 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -30,6 +30,8 @@ enable: retrieve_cutout: true build_natura_raster: false retrieve_natura_raster: true + build_ship_raster: false + retrieve_ship_raster: true custom_busmap: false electricity: @@ -86,6 +88,7 @@ renewable: # correction_factor: 0.93 corine: [44, 255] natura: true + ship_threshold: 400 max_shore_distance: 30000 potential: simple # or conservative clip_p_max_pu: 1.e-2 @@ -99,6 +102,7 @@ renewable: # correction_factor: 0.93 corine: [44, 255] natura: true + ship_threshold: 400 min_shore_distance: 30000 potential: simple # or conservative clip_p_max_pu: 1.e-2 From 9cebf95fc0a612a93df9a9ec38be0cc2ce88d24c Mon Sep 17 00:00:00 2001 From: Philipp Glaum Date: Fri, 29 Jul 2022 12:03:50 +0200 Subject: [PATCH 194/281] update tutorial config --- config.tutorial.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 99e7836b..8f7e227a 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -31,6 +31,8 @@ enable: retrieve_cutout: true build_natura_raster: false retrieve_natura_raster: true + build_ship_raster: false + retrieve_ship_raster: true custom_busmap: false electricity: @@ -87,6 +89,7 @@ renewable: # correction_factor: 0.93 corine: [44, 255] natura: true + ship_threshold: 400 max_shore_distance: 30000 potential: simple # or conservative clip_p_max_pu: 1.e-2 @@ -100,6 +103,7 @@ renewable: # correction_factor: 0.93 corine: [44, 255] natura: true + ship_threshold: 400 min_shore_distance: 30000 potential: simple # or conservative clip_p_max_pu: 1.e-2 From ebf54a7c9d9ac8b95015d75f7ca0fba4553bfa45 Mon Sep 17 00:00:00 2001 From: Philipp Glaum Date: Fri, 29 Jul 2022 12:11:46 +0200 Subject: [PATCH 195/281] update configtables in the documentation --- doc/configtables/offwind-ac.csv | 1 + doc/configtables/offwind-dc.csv | 1 + 2 files changed, 2 insertions(+) diff --git a/doc/configtables/offwind-ac.csv b/doc/configtables/offwind-ac.csv index def73e4c..d478011d 100644 --- a/doc/configtables/offwind-ac.csv +++ b/doc/configtables/offwind-ac.csv @@ -6,6 +6,7 @@ resource,,, capacity_per_sqkm,:math:`MW/km^2`,float,"Allowable density of wind turbine placement." corine,--,"Any *realistic* subset of the `CORINE Land Cover code list `_","Specifies areas according to CORINE Land Cover codes which are generally eligible for AC-connected offshore wind turbine placement." natura,bool,"{true, false}","Switch to exclude `Natura 2000 `_ natural protection areas. Area is excluded if ``true``." +ship_threshold,--,float,"Ship density threshold from which areas are excluded." max_depth,m,float,"Maximum sea water depth at which wind turbines can be build. Maritime areas with deeper waters are excluded in the process of calculating the AC-connected offshore wind potential." min_shore_distance,m,float,"Minimum distance to the shore below which wind turbines cannot be build. Such areas close to the shore are excluded in the process of calculating the AC-connected offshore wind potential." potential,--,"One of {'simple', 'conservative'}","Method to compute the maximal installable potential for a node; confer :ref:`renewableprofiles`" diff --git a/doc/configtables/offwind-dc.csv b/doc/configtables/offwind-dc.csv index 17edafca..67bda165 100644 --- a/doc/configtables/offwind-dc.csv +++ b/doc/configtables/offwind-dc.csv @@ -6,6 +6,7 @@ resource,,, capacity_per_sqkm,:math:`MW/km^2`,float,"Allowable density of wind turbine placement." corine,--,"Any *realistic* subset of the `CORINE Land Cover code list `_","Specifies areas according to CORINE Land Cover codes which are generally eligible for AC-connected offshore wind turbine placement." natura,bool,"{true, false}","Switch to exclude `Natura 2000 `_ natural protection areas. Area is excluded if ``true``." +ship_threshold,--,float,"Ship density threshold from which areas are excluded." max_depth,m,float,"Maximum sea water depth at which wind turbines can be build. Maritime areas with deeper waters are excluded in the process of calculating the AC-connected offshore wind potential." min_shore_distance,m,float,"Minimum distance to the shore below which wind turbines cannot be build. Such areas close to the shore are excluded in the process of calculating the AC-connected offshore wind potential." potential,--,"One of {'simple', 'conservative'}","Method to compute the maximal installable potential for a node; confer :ref:`renewableprofiles`" From 1009e2a0f666cbf413d4f528a243292df4ad5ced Mon Sep 17 00:00:00 2001 From: Philipp Glaum Date: Fri, 29 Jul 2022 13:43:13 +0200 Subject: [PATCH 196/281] delete config_float --- config_float.yaml | 333 ---------------------------------------------- 1 file changed, 333 deletions(-) delete mode 100755 config_float.yaml diff --git a/config_float.yaml b/config_float.yaml deleted file mode 100755 index d99764d4..00000000 --- a/config_float.yaml +++ /dev/null @@ -1,333 +0,0 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors -# -# SPDX-License-Identifier: CC0-1.0 - -version: 0.4.0 -tutorial: false - -logging: - level: INFO - format: '%(levelname)s:%(name)s:%(message)s' - -summary_dir: results - -scenario: - simpl: [''] - ll: ['copt'] - clusters: [100] - opts: [Co2L-24H] - -countries: ['BE','DE', 'DK', 'GB', 'NL', 'NO'] - -clustering: - simplify: - to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) - -snapshots: - start: "2013-01-01" - end: "2014-01-01" - closed: 'left' # end is not inclusive - -enable: - prepare_links_p_nom: false - retrieve_databundle: true - build_cutout: false - retrieve_cutout: false - build_natura_raster: false - retrieve_natura_raster: true - custom_busmap: false - split_offshore_regions: true #splits big offshore regions into smaller regions - build_ship_raster: true - retrieve_ship_raster: true - -electricity: - voltages: [220., 300., 380.] - co2limit: 7.75e+7 # 0.05 * 3.1e9*0.5 - co2base: 1.487e+9 - agg_p_nom_limits: data/agg_p_nom_minmax.csv - - extendable_carriers: - Generator: [] - StorageUnit: [] # battery, H2 - Store: [battery, H2] - Link: [] - - max_hours: - battery: 6 - H2: 168 - - powerplants_filter: false # use pandas query strings here, e.g. Country not in ['Germany'] - custom_powerplants: false # use pandas query strings here, e.g. Country in ['Germany'] - conventional_carriers: [nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass] - renewable_capacities_from_OPSD: [] # onwind, offwind, solar - - # estimate_renewable_capacities_from_capacity_stats: - # # Wind is the Fueltype in ppm.data.Capacity_stats, onwind, offwind-{ac,dc} the carrier in PyPSA-Eur - # Wind: [onwind, offwind-ac, offwind-dc] - # Solar: [solar] - -atlite: - nprocesses: 1 - show_progress: false - cutouts: - # use 'base' to determine geographical bounds and time span from config - # base: - # module: era5 - europe-2013-era5: - module: era5 # in priority order - dx: 0.3 - dy: 0.3 - time: ['2013', '2013'] - - -renewable: - onwind: - cutout: europe-2013-era5 - resource: - method: wind - turbine: Vestas_V112_3MW - capacity_per_sqkm: 3 # ScholzPhd Tab 4.3.1: 10MW/km^2 - # correction_factor: 0.93 - corine: - # Scholz, Y. (2012). Renewable energy based electricity supply at low costs: - # development of the REMix model and application for Europe. ( p.42 / p.28) - grid_codes: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 31, 32] - distance: 1000 - distance_grid_codes: [1, 2, 3, 4, 5, 6] - natura: true - potential: simple # or conservative - clip_p_max_pu: 1.e-2 - offwind-ac: - cutout: europe-2013-era5 - resource: - method: wind - turbine: NREL_ReferenceTurbine_2020ATB_12MW_offshore - capacity_per_sqkm: 2 - correction_factor: 0.8855 - # proxy for wake losses - # from 10.1016/j.energy.2018.08.153 - # until done more rigorously in #153 - #corine: [44, 255] - natura: true - max_depth: 60 - max_shore_distance: 30000 - potential: simple # or conservative - clip_p_max_pu: 1.e-2 - calculate_topology_cost: true - offwind-dc: - cutout: europe-2013-era5 - resource: - method: wind - turbine: NREL_ReferenceTurbine_2020ATB_12MW_offshore - capacity_per_sqkm: 2 - correction_factor: 0.8855 - # proxy for wake losses - # from 10.1016/j.energy.2018.08.153 - # until done more rigorously in #153 - #corine: [44, 255] - natura: true - max_depth: 60 - min_shore_distance: 30000 - potential: simple # or conservative - clip_p_max_pu: 1.e-2 - calculate_topology_cost: true - offwind-float: - cutout: europe-2013-era5 - resource: - method: wind - turbine: NREL_ReferenceTurbine_5MW_offshore - # ScholzPhd Tab 4.3.1: 10MW/km^2 - capacity_per_sqkm: 2 - correction_factor: 0.8855 - # proxy for wake losses - # from 10.1016/j.energy.2018.08.153 - # until done more rigorously in #153 - #corine: [44, 255] - natura: true - min_depth: 60 - potential: simple # or conservative - clip_p_max_pu: 1.e-2 - solar: - cutout: europe-2013-era5 - resource: - method: pv - panel: CSi - orientation: - slope: 35. - azimuth: 180. - capacity_per_sqkm: 1.7 # ScholzPhd Tab 4.3.1: 170 MW/km^2 - # Correction factor determined by comparing uncorrected area-weighted full-load hours to those - # published in Supplementary Data to - # Pietzcker, Robert Carl, et al. "Using the sun to decarbonize the power - # sector: The economic potential of photovoltaics and concentrating solar - # power." Applied Energy 135 (2014): 704-720. - # This correction factor of 0.854337 may be in order if using reanalysis data. - # for discussion refer to https://github.com/PyPSA/pypsa-eur/pull/304 - # correction_factor: 0.854337 - corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] - natura: true - potential: simple # or conservative - clip_p_max_pu: 1.e-2 - hydro: - cutout: europe-2013-era5 - carriers: [ror, PHS, hydro] - PHS_max_hours: 6 - hydro_max_hours: "energy_capacity_totals_by_country" # one of energy_capacity_totals_by_country, estimate_by_large_installations or a float - clip_min_inflow: 1.0 - -lines: - types: - 220.: "Al/St 240/40 2-bundle 220.0" - 300.: "Al/St 240/40 3-bundle 300.0" - 380.: "Al/St 240/40 4-bundle 380.0" - s_max_pu: 0.7 - s_nom_max: .inf - length_factor: 1.25 - under_construction: 'zero' # 'zero': set capacity to zero, 'remove': remove, 'keep': with full capacity - -links: - p_max_pu: 1.0 - p_nom_max: .inf - include_tyndp: true - under_construction: 'zero' # 'zero': set capacity to zero, 'remove': remove, 'keep': with full capacity - -transformers: - x: 0.1 - s_nom: 2000. - type: '' - -load: - power_statistics: True # only for files from <2019; set false in order to get ENTSOE transparency data - interpolate_limit: 3 # data gaps up until this size are interpolated linearly - time_shift_for_large_gaps: 1w # data gaps up until this size are copied by copying from - manual_adjustments: true # false - scaling_factor: 1.0 - -costs: - year: 2030 - discountrate: 0.07 # From a Lion Hirth paper, also reflects average of Noothout et al 2016 - USD2013_to_EUR2013: 0.7532 # [EUR/USD] ECB: https://www.ecb.europa.eu/stats/exchange/eurofxref/html/eurofxref-graph-usd.en.html - marginal_cost: # EUR/MWh - solar: 0.01 - onwind: 0.015 - offwind-ac: 0.015 - offwind-dc: 0.015 - hydro: 0. - H2: 0. - electrolysis: 0. - fuel cell: 0. - battery: 0. - battery inverter: 0. - emission_prices: # in currency per tonne emission, only used with the option Ep - co2: 0. - -solving: - options: - formulation: kirchhoff - load_shedding: false - noisy_costs: true - min_iterations: 4 - max_iterations: 6 - clip_p_max_pu: 0.01 - skip_iterations: false - track_iterations: false - #nhours: 10 - solver: - name: gurobi - threads: 4 - method: 2 # barrier - crossover: 0 - BarConvTol: 1.e-5 - FeasibilityTol: 1.e-6 - AggFill: 0 - PreDual: 0 - GURO_PAR_BARDENSETHRESH: 200 - # solver: - # name: cplex - # threads: 4 - # lpmethod: 4 # barrier - # solutiontype: 2 # non basic solution, ie no crossover - # barrier.convergetol: 1.e-5 - # feasopt.tolerance: 1.e-6 - -plotting: - map: - figsize: [7, 7] - boundaries: [-10.2, 29, 35, 72] - p_nom: - bus_size_factor: 5.e+4 - linewidth_factor: 3.e+3 - - costs_max: 800 - costs_threshold: 1 - - energy_max: 15000. - energy_min: -10000. - energy_threshold: 50. - - vre_techs: ["onwind", "offwind-ac", "offwind-dc", "solar", "ror"] - conv_techs: ["OCGT", "CCGT", "Nuclear", "Coal"] - storage_techs: ["hydro+PHS", "battery", "H2"] - load_carriers: ["AC load"] - AC_carriers: ["AC line", "AC transformer"] - link_carriers: ["DC line", "Converter AC-DC"] - tech_colors: - "onwind" : "#235ebc" - "onshore wind" : "#235ebc" - 'offwind' : "#6895dd" - 'offwind-ac' : "#6895dd" - 'offshore wind' : "#6895dd" - 'offshore wind ac' : "#6895dd" - 'offwind-dc' : "#74c6f2" - 'offshore wind dc' : "#74c6f2" - "hydro" : "#08ad97" - "hydro+PHS" : "#08ad97" - "PHS" : "#08ad97" - "hydro reservoir" : "#08ad97" - 'hydroelectricity' : '#08ad97' - "ror" : "#4adbc8" - "run of river" : "#4adbc8" - 'solar' : "#f9d002" - 'solar PV' : "#f9d002" - 'solar thermal' : '#ffef60' - 'biomass' : '#0c6013' - 'solid biomass' : '#06540d' - 'biogas' : '#23932d' - 'waste' : '#68896b' - 'geothermal' : '#ba91b1' - "OCGT" : "#d35050" - "gas" : "#d35050" - "natural gas" : "#d35050" - "CCGT" : "#b20101" - "nuclear" : "#ff9000" - "coal" : "#707070" - "lignite" : "#9e5a01" - "oil" : "#262626" - "H2" : "#ea048a" - "hydrogen storage" : "#ea048a" - "battery" : "#b8ea04" - "Electric load" : "#f9d002" - "electricity" : "#f9d002" - "lines" : "#70af1d" - "transmission lines" : "#70af1d" - "AC-AC" : "#70af1d" - "AC line" : "#70af1d" - "links" : "#8a1caf" - "HVDC links" : "#8a1caf" - "DC-DC" : "#8a1caf" - "DC link" : "#8a1caf" - nice_names: - OCGT: "Open-Cycle Gas" - CCGT: "Combined-Cycle Gas" - offwind-ac: "Offshore Wind (AC)" - offwind-dc: "Offshore Wind (DC)" - onwind: "Onshore Wind" - solar: "Solar" - PHS: "Pumped Hydro Storage" - hydro: "Reservoir & Dam" - battery: "Battery Storage" - H2: "Hydrogen Storage" - lines: "Transmission Lines" - ror: "Run of River" From ba7a5363e7b5440f1de6dd0ff6252536d5346d98 Mon Sep 17 00:00:00 2001 From: Philipp Glaum Date: Fri, 29 Jul 2022 14:56:00 +0200 Subject: [PATCH 197/281] update Fabians review comments --- Snakefile | 4 ++-- scripts/build_renewable_profiles.py | 4 ++-- scripts/build_ship_raster.py | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Snakefile b/Snakefile index 346c8fff..6aaa9547 100644 --- a/Snakefile +++ b/Snakefile @@ -52,7 +52,7 @@ datafiles = ['ch_cantons.csv', 'je-e-21.03.02.xls', 'eez/World_EEZ_v8_2014.shp', 'hydro_capacities.csv', 'naturalearth/ne_10m_admin_0_countries.shp', 'NUTS_2013_60M_SH/data/NUTS_RG_60M_2013.shp', 'nama_10r_3popgdp.tsv.gz', - 'nama_10r_3gdp.tsv.gz', 'corine/g250_clc06_V18_5.tif'] + 'nama_10r_3gdp.tsv.gz', 'corine/g250_clc06_V18_5.tif', 'shipdensity/shipdensity_global.zip'] if not config.get('tutorial', False): @@ -197,7 +197,7 @@ if config['enable'].get('build_ship_raster', False): if config['enable'].get('retrieve_ship_raster', True): rule retrieve_ship_raster: - input: HTTP.remote("path-to-file", keep_local=True, static=True) + input: HTTP.remote("https://sandbox.zenodo.org/record/1089563/files/europe_shipdensity_raster.nc", keep_local=True, static=True) output: "resources/europe_shipdensity_raster.nc" run: move(input[0], output[0]) diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index 675dc6f9..bcc1549b 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -243,8 +243,8 @@ if __name__ == '__main__': excluder.add_raster(snakemake.input.corine, codes=codes, buffer=buffer, crs=3035) if "ship_threshold" in config: - shipping_threshold=config["ship_threshold"]*8760*6 # approximation because 6 years of data which is hourly collected - func = functools.partial(np.less,shipping_threshold) + shipping_threshold=config["ship_threshold"] * 8760 * 6 # approximation because 6 years of data which is hourly collected + func = functools.partial(np.less, shipping_threshold) excluder.add_raster(snakemake.input.ship_density, codes=func, crs=4326, allow_no_overlap=True) if "max_depth" in config: diff --git a/scripts/build_ship_raster.py b/scripts/build_ship_raster.py index d34a1c10..b5f9e9da 100644 --- a/scripts/build_ship_raster.py +++ b/scripts/build_ship_raster.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT @@ -26,7 +26,7 @@ Inputs Outputs ------- -- ``resources/natura.tiff``: Reduced version of `Global ship density from Date: Fri, 29 Jul 2022 15:12:19 +0200 Subject: [PATCH 198/281] add release note --- doc/release_notes.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 04c41a81..e02e643e 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -10,7 +10,7 @@ Release Notes Upcoming Release ================ -* new feature +* Add functionality to consider shipping routes when calculating the available area for offshore technologies. Data for the shipping density comes from the `Global Shipping Traffic Density dataset ` PyPSA-Eur 0.5.0 (27th July 2022) ===================================== From ca183ba89ee65ebe6500c23bdbb5ca57ed79e9b0 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 2 Aug 2022 15:56:47 +0200 Subject: [PATCH 199/281] add zenodo dataset for download --- Snakefile | 30 +++++++++++++++--------------- config.default.yaml | 2 -- config.tutorial.yaml | 2 -- test/config.test1.yaml | 2 -- 4 files changed, 15 insertions(+), 21 deletions(-) diff --git a/Snakefile b/Snakefile index 6aaa9547..44803448 100644 --- a/Snakefile +++ b/Snakefile @@ -52,7 +52,7 @@ datafiles = ['ch_cantons.csv', 'je-e-21.03.02.xls', 'eez/World_EEZ_v8_2014.shp', 'hydro_capacities.csv', 'naturalearth/ne_10m_admin_0_countries.shp', 'NUTS_2013_60M_SH/data/NUTS_RG_60M_2013.shp', 'nama_10r_3popgdp.tsv.gz', - 'nama_10r_3gdp.tsv.gz', 'corine/g250_clc06_V18_5.tif', 'shipdensity/shipdensity_global.zip'] + 'nama_10r_3gdp.tsv.gz', 'corine/g250_clc06_V18_5.tif'] if not config.get('tutorial', False): @@ -185,21 +185,21 @@ if config['enable'].get('retrieve_natura_raster', True): run: move(input[0], output[0]) -if config['enable'].get('build_ship_raster', False): - rule build_ship_raster: - input: - ship_density="data/bundle/shipdensity/shipdensity_global.zip", - cutouts=expand("cutouts/{cutouts}.nc", **config['atlite']) - output: "resources/europe_shipdensity_raster.nc" - log: "logs/build_ship_raster.log" - script: "scripts/build_ship_raster.py" +rule retrieve_ship_raster: + input: HTTP.remote("https://zenodo.org/record/6953563/files/shipdensity_global.zip", keep_local=True, static=True) + output: "data/shipdensity_global.zip" + run: move(input[0], output[0]) -if config['enable'].get('retrieve_ship_raster', True): - rule retrieve_ship_raster: - input: HTTP.remote("https://sandbox.zenodo.org/record/1089563/files/europe_shipdensity_raster.nc", keep_local=True, static=True) - output: "resources/europe_shipdensity_raster.nc" - run: move(input[0], output[0]) +rule build_ship_raster: + input: + ship_density="data/shipdensity_global.zip", + cutouts=expand("cutouts/{cutouts}.nc", **config['atlite']) + output: "resources/shipdensity_raster.nc" + log: "logs/build_ship_raster.log" + benchmark: "benchmarks/build_ship_raster" + script: "scripts/build_ship_raster.py" + rule build_renewable_profiles: input: @@ -211,7 +211,7 @@ rule build_renewable_profiles: gebco=lambda w: ("data/bundle/GEBCO_2014_2D.nc" if "max_depth" in config["renewable"][w.technology].keys() else []), - ship_density= lambda w: ("resources/europe_shipdensity_raster.nc" + ship_density= lambda w: ("resources/shipdensity_raster.nc" if "ship_threshold" in config["renewable"][w.technology].keys() else []), country_shapes='resources/country_shapes.geojson', diff --git a/config.default.yaml b/config.default.yaml index b287b87b..83f1cfd8 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -30,8 +30,6 @@ enable: retrieve_cutout: true build_natura_raster: false retrieve_natura_raster: true - build_ship_raster: false - retrieve_ship_raster: true custom_busmap: false electricity: diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 5f81dbae..ed2f9bf0 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -31,8 +31,6 @@ enable: retrieve_cutout: true build_natura_raster: false retrieve_natura_raster: true - build_ship_raster: false - retrieve_ship_raster: true custom_busmap: false electricity: diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 4ed1e904..2f25b6eb 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -30,8 +30,6 @@ enable: retrieve_cutout: true build_natura_raster: false retrieve_natura_raster: true - build_ship_raster: false - retrieve_ship_raster: true custom_busmap: false electricity: From adbfe8b5dcf07d7b009ba54fbe22a7c68afd2a66 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 2 Aug 2022 16:44:24 +0200 Subject: [PATCH 200/281] fix windows for build_ship_raster --- scripts/build_ship_raster.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/build_ship_raster.py b/scripts/build_ship_raster.py index b5f9e9da..d0f46a95 100644 --- a/scripts/build_ship_raster.py +++ b/scripts/build_ship_raster.py @@ -55,9 +55,10 @@ if __name__ == "__main__": with zipfile.ZipFile(snakemake.input.ship_density) as zip_f: zip_f.extract("shipdensity_global.tif") ship_density = xr.open_rasterio("shipdensity_global.tif") - os.remove("shipdensity_global.tif") - ship_density = ship_density.drop(["band"]).sel(x=slice(min(xs),max(Xs)), y=slice(max(Ys),min(ys))) - - ship_density.to_netcdf(snakemake.output[0]) + da = ship_density.drop(["band"]).sel(x=slice(min(xs),max(Xs)), y=slice(max(Ys),min(ys))) + da.to_netcdf(snakemake.output[0]) + + del ship_density + os.remove("shipdensity_global.tif") From d569d3782cedddbb19e843144478d9a4616dfcc0 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 2 Aug 2022 18:25:24 +0200 Subject: [PATCH 201/281] fix windows for build_ship_raster 2 --- scripts/build_ship_raster.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/scripts/build_ship_raster.py b/scripts/build_ship_raster.py index d0f46a95..7d59c4b1 100644 --- a/scripts/build_ship_raster.py +++ b/scripts/build_ship_raster.py @@ -59,6 +59,3 @@ if __name__ == "__main__": da = ship_density.drop(["band"]).sel(x=slice(min(xs),max(Xs)), y=slice(max(Ys),min(ys))) da.to_netcdf(snakemake.output[0]) - - del ship_density - os.remove("shipdensity_global.tif") From 29cc8021b9e94c534f10f95641f7c15561b04d80 Mon Sep 17 00:00:00 2001 From: Philipp Glaum Date: Wed, 3 Aug 2022 16:13:27 +0200 Subject: [PATCH 202/281] build_ship_raster: make file deletion windows compatible --- scripts/build_ship_raster.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/build_ship_raster.py b/scripts/build_ship_raster.py index 7d59c4b1..af9b8702 100644 --- a/scripts/build_ship_raster.py +++ b/scripts/build_ship_raster.py @@ -54,8 +54,8 @@ if __name__ == "__main__": with zipfile.ZipFile(snakemake.input.ship_density) as zip_f: zip_f.extract("shipdensity_global.tif") - ship_density = xr.open_rasterio("shipdensity_global.tif") - - da = ship_density.drop(["band"]).sel(x=slice(min(xs),max(Xs)), y=slice(max(Ys),min(ys))) - - da.to_netcdf(snakemake.output[0]) + with xr.open_rasterio("shipdensity_global.tif") as ship_density: + ship_density = ship_density.drop(["band"]).sel(x=slice(min(xs),max(Xs)), y=slice(max(Ys),min(ys))) + ship_density.to_netcdf(snakemake.output[0]) + + os.remove("shipdensity_global.tif") \ No newline at end of file From f20203e623d68ba88fe789fbf3683df2c48f4ab2 Mon Sep 17 00:00:00 2001 From: Irieo Date: Thu, 4 Aug 2022 15:25:00 +0200 Subject: [PATCH 203/281] fix NaN techtype & fix wrong tech for Nuclear --- scripts/build_powerplants.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/scripts/build_powerplants.py b/scripts/build_powerplants.py index 056c2649..baf4ba5d 100755 --- a/scripts/build_powerplants.py +++ b/scripts/build_powerplants.py @@ -92,10 +92,16 @@ def add_custom_powerplants(ppl, custom_powerplants, custom_ppl_query=False): return pd.concat([ppl, add_ppls], sort=False, ignore_index=True, verify_integrity=True) -def replace_natural_gas_by_technology(df): - return df.Fueltype.where(df.Fueltype != 'Natural Gas', df.Technology) +def replace_natural_gas_technology(df): + mapping = {'Steam Turbine': 'OCGT', "Combustion Engine": "OCGT"} + tech = df.Technology.replace(mapping).fillna('OCGT') + return df.Technology.where(df.Fueltype != 'Natural Gas', tech) +def replace_natural_gas_fueltype(df): + return df.Fueltype.where(df.Fueltype != 'Natural Gas', df.Technology) + + if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake @@ -110,8 +116,8 @@ if __name__ == "__main__": .powerplant.fill_missing_decommissioning_years() .powerplant.convert_country_to_alpha2() .query('Fueltype not in ["Solar", "Wind"] and Country in @countries') - .replace({'Technology': {'Steam Turbine': 'OCGT', "Combustion Engine": "OCGT"}}) - .assign(Fueltype=replace_natural_gas_by_technology)) + .assign(Technology=replace_natural_gas_technology) + .assign(Fueltype=replace_natural_gas_fueltype)) # Correct bioenergy for countries where possible opsd = pm.data.OPSD_VRE().powerplant.convert_country_to_alpha2() From 07ff021a6e20477f14374d3d880c762392630fa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Mari=C4=87?= <5569474+zoltanmaric@users.noreply.github.com> Date: Tue, 9 Aug 2022 12:09:07 +0200 Subject: [PATCH 204/281] Use `geomap=True` for plotting existing lines Since https://github.com/PyPSA/PyPSA/commit/e754928e#diff-1ffb543f39b9a9c1d00adfc3fb2c1a89c905c56e00b9ede9178787a8148dc0eeR210 PyPSA raises an exception for plots that have geo axes but use `geomap=False`. --- scripts/plot_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/plot_network.py b/scripts/plot_network.py index 437c5fe1..8467c12d 100755 --- a/scripts/plot_network.py +++ b/scripts/plot_network.py @@ -123,7 +123,7 @@ def plot_map(n, opts, ax=None, attribute='p_nom'): link_colors=link_colors_with_alpha, bus_sizes=0, boundaries=map_boundaries, - color_geomap=True, geomap=False, + color_geomap=True, geomap=True, ax=ax) ax.set_aspect('equal') ax.axis('off') From 98dd2db6223514cc570644933f73e378b8e08d55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ebbe=20Kyhl=20G=C3=B8tske=20ekg=40mpe=2Eau=2Edk?= Date: Thu, 11 Aug 2022 10:10:35 +0200 Subject: [PATCH 205/281] specify memory resources --- Snakefile | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Snakefile b/Snakefile index 44803448..79adc377 100644 --- a/Snakefile +++ b/Snakefile @@ -63,12 +63,14 @@ if config['enable'].get('retrieve_databundle', True): rule retrieve_databundle: output: expand('data/bundle/{file}', file=datafiles) log: "logs/retrieve_databundle.log" + resources: mem_mb=1000 script: 'scripts/retrieve_databundle.py' rule retrieve_load_data: input: HTTP.remote("data.open-power-system-data.org/time_series/2019-06-05/time_series_60min_singleindex.csv", keep_local=True, static=True) output: "data/load_raw.csv" + resources: mem_mb=5000 run: move(input[0], output[0]) @@ -76,6 +78,7 @@ rule build_load_data: input: "data/load_raw.csv" output: "resources/load.csv" log: "logs/build_load_data.log" + resources: mem_mb=5000 script: 'scripts/build_load_data.py' rule build_powerplants: @@ -85,7 +88,7 @@ rule build_powerplants: output: "resources/powerplants.csv" log: "logs/build_powerplants.log" threads: 1 - resources: mem_mb=500 + resources: mem_mb=5000 script: "scripts/build_powerplants.py" @@ -160,12 +163,16 @@ if config['enable'].get('retrieve_cutout', True): rule retrieve_cutout: input: HTTP.remote("zenodo.org/record/6382570/files/{cutout}.nc", keep_local=True, static=True) output: "cutouts/{cutout}.nc" + log: "logs/retrieve_cutout_{cutout}.log" + resources: mem_mb=5000 run: move(input[0], output[0]) if config['enable'].get('retrieve_cost_data', True): rule retrieve_cost_data: input: HTTP.remote(f"raw.githubusercontent.com/PyPSA/technology-data/{config['costs']['version']}/outputs/costs_{config['costs']['year']}.csv", keep_local=True) output: COSTS + log: "logs/retrieve_cost_data.log" + resources: mem_mb=5000 run: move(input[0], output[0]) if config['enable'].get('build_natura_raster', False): @@ -174,6 +181,7 @@ if config['enable'].get('build_natura_raster', False): natura="data/bundle/natura/Natura2000_end2015.shp", cutouts=expand("cutouts/{cutouts}.nc", **config['atlite']) output: "resources/natura.tiff" + resources: mem_mb=5000 log: "logs/build_natura_raster.log" script: "scripts/build_natura_raster.py" @@ -182,12 +190,14 @@ if config['enable'].get('retrieve_natura_raster', True): rule retrieve_natura_raster: input: HTTP.remote("zenodo.org/record/4706686/files/natura.tiff", keep_local=True, static=True) output: "resources/natura.tiff" + resources: mem_mb=5000 run: move(input[0], output[0]) rule retrieve_ship_raster: input: HTTP.remote("https://zenodo.org/record/6953563/files/shipdensity_global.zip", keep_local=True, static=True) output: "data/shipdensity_global.zip" + resources: mem_mb=5000 run: move(input[0], output[0]) @@ -197,6 +207,7 @@ rule build_ship_raster: cutouts=expand("cutouts/{cutouts}.nc", **config['atlite']) output: "resources/shipdensity_raster.nc" log: "logs/build_ship_raster.log" + resources: mem_mb=5000 benchmark: "benchmarks/build_ship_raster" script: "scripts/build_ship_raster.py" @@ -404,6 +415,7 @@ rule make_summary: input: input_make_summary output: directory("results/summaries/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}") log: "logs/make_summary/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}.log", + resources: mem_mb=500 script: "scripts/make_summary.py" @@ -411,6 +423,7 @@ rule plot_summary: input: "results/summaries/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}" output: "results/plots/summary_{summary}_elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}.{ext}" log: "logs/plot_summary/{summary}_elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}_{ext}.log" + resources: mem_mb=500 script: "scripts/plot_summary.py" @@ -424,5 +437,6 @@ rule plot_p_nom_max: input: input_plot_p_nom_max output: "results/plots/elec_s{simpl}_cum_p_nom_max_{clusts}_{techs}_{country}.{ext}" log: "logs/plot_p_nom_max/elec_s{simpl}_{clusts}_{techs}_{country}_{ext}.log" + resources: mem_mb=500 script: "scripts/plot_p_nom_max.py" From 2eb26f7334da63fbc4d25e8200569d4a87de28d3 Mon Sep 17 00:00:00 2001 From: Fabian Date: Mon, 5 Sep 2022 12:51:30 +0200 Subject: [PATCH 206/281] address #314 --- doc/release_notes.rst | 2 ++ scripts/simplify_network.py | 36 ++++++++++++++++++++---------------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index e02e643e..dcf42355 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -12,6 +12,8 @@ Upcoming Release * Add functionality to consider shipping routes when calculating the available area for offshore technologies. Data for the shipping density comes from the `Global Shipping Traffic Density dataset ` +* When fixing line voltages to 380kV, the workflow now preserves the transmission capacity instead of the electrical impedance and reactance. + PyPSA-Eur 0.5.0 (27th July 2022) ===================================== diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 90fad1fa..56889fbf 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -105,26 +105,30 @@ logger = logging.getLogger(__name__) def simplify_network_to_380(n): - ## All goes to v_nom == 380 + """ + Fix all lines to a voltage level of 380 kV and remove all transformers. + + The function preserves the transmission capacity for each line while updating + its voltage level, line type and number of parallel bundles (num_parallel). + + Transformers are removed and connected components are moved from their + starting bus to their ending bus. The corresponing starting buses are + removed as well. + """ logger.info("Mapping all network lines onto a single 380kV layer") n.buses['v_nom'] = 380. linetype_380, = n.lines.loc[n.lines.v_nom == 380., 'type'].unique() - lines_v_nom_b = n.lines.v_nom != 380. - n.lines.loc[lines_v_nom_b, 'num_parallel'] *= (n.lines.loc[lines_v_nom_b, 'v_nom'] / 380.)**2 - n.lines.loc[lines_v_nom_b, 'v_nom'] = 380. - n.lines.loc[lines_v_nom_b, 'type'] = linetype_380 - n.lines.loc[lines_v_nom_b, 's_nom'] = ( - np.sqrt(3) * n.lines['type'].map(n.line_types.i_nom) * - n.lines.bus0.map(n.buses.v_nom) * n.lines.num_parallel - ) + n.lines['type'] = linetype_380 + n.lines["v_nom"] = 380 + n.lines["i_nom"] = n.line_types.i_nom[linetype_380] + n.lines['num_parallel'] = n.lines.eval("s_nom / (sqrt(3) * v_nom * i_nom)") - # Replace transformers by lines - trafo_map = pd.Series(n.transformers.bus1.values, index=n.transformers.bus0.values) + trafo_map = pd.Series(n.transformers.bus1.values, n.transformers.bus0.values) trafo_map = trafo_map[~trafo_map.index.duplicated(keep='first')] several_trafo_b = trafo_map.isin(trafo_map.index) - trafo_map.loc[several_trafo_b] = trafo_map.loc[several_trafo_b].map(trafo_map) + trafo_map[several_trafo_b] = trafo_map[several_trafo_b].map(trafo_map) missing_buses_i = n.buses.index.difference(trafo_map.index) missing = pd.Series(missing_buses_i, missing_buses_i) trafo_map = pd.concat([trafo_map, missing]) @@ -187,8 +191,8 @@ def _adjust_capital_costs_using_connection_costs(n, connection_costs_to_bus, out logger.info("Displacing {} generator(s) and adding connection costs to capital_costs: {} " .format(tech, ", ".join("{:.0f} Eur/MW/a for `{}`".format(d, b) for b, d in costs.iteritems()))) connection_costs[tech] = costs - pd.DataFrame(connection_costs).to_csv(output.connection_costs) - + pd.DataFrame(connection_costs).to_csv(output.connection_costs) + def _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, @@ -335,7 +339,7 @@ def remove_stubs(n, costs, config, output, aggregation_strategies=dict()): def aggregate_to_substations(n, aggregation_strategies=dict(), buses_i=None): # can be used to aggregate a selection of buses to electrically closest neighbors # if no buses are given, nodes that are no substations or without offshore connection are aggregated - + if buses_i is None: logger.info("Aggregating buses that are no substations or have no valid offshore connection") buses_i = list(set(n.buses.index)-set(n.generators.bus)-set(n.loads.bus)) @@ -374,7 +378,7 @@ def cluster(n, n_clusters, config, algorithm="hac", feature=None, aggregation_st logger.info(f"Clustering to {n_clusters} buses") focus_weights = config.get('focus_weights', None) - + renewable_carriers = pd.Index([tech for tech in n.generators.carrier.unique() if tech.split('-', 2)[0] in config['renewable']]) From 71ba743e46a242d0896a0cb57a5a4e1ed6c1d589 Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 8 Sep 2022 09:52:00 +0200 Subject: [PATCH 207/281] enable scneario management for different configs --- Snakefile | 257 +++++++++++++++++++++-------------------- config.default.yaml | 5 + config.tutorial.yaml | 2 + doc/configuration.rst | 17 ++- doc/release_notes.rst | 2 + test/config.test1.yaml | 2 + 6 files changed, 157 insertions(+), 128 deletions(-) diff --git a/Snakefile b/Snakefile index 79adc377..3d0c30bd 100644 --- a/Snakefile +++ b/Snakefile @@ -13,9 +13,14 @@ if not exists("config.yaml"): configfile: "config.yaml" -COSTS="resources/costs.csv" +run = config.get("run", {}) +RDIR = run.get("name", "") + "/" if run.get("name", "") else "" +CDIR = "" if run.get("dedicated_cutouts", True) else RDIR + +COSTS = "resources/" + RDIR + "costs.csv" ATLITE_NPROCESSES = config['atlite'].get('nprocesses', 4) + wildcard_constraints: simpl="[a-zA-Z0-9]*|all", clusters="[0-9]+m?|all", @@ -24,25 +29,25 @@ wildcard_constraints: rule cluster_all_networks: - input: expand("networks/elec_s{simpl}_{clusters}.nc", **config['scenario']) + input: expand("networks/" + RDIR + "elec_s{simpl}_{clusters}.nc", **config['scenario']) rule extra_components_all_networks: - input: expand("networks/elec_s{simpl}_{clusters}_ec.nc", **config['scenario']) + input: expand("networks/" + RDIR + "elec_s{simpl}_{clusters}_ec.nc", **config['scenario']) rule prepare_all_networks: - input: expand("networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) + input: expand("networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) rule solve_all_networks: - input: expand("results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) + input: expand("results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) if config['enable'].get('prepare_links_p_nom', False): rule prepare_links_p_nom: output: 'data/links_p_nom.csv' - log: 'logs/prepare_links_p_nom.log' + log: "logs/" + RDIR + "prepare_links_p_nom.log" threads: 1 resources: mem_mb=500 script: 'scripts/prepare_links_p_nom.py' @@ -62,7 +67,7 @@ if not config.get('tutorial', False): if config['enable'].get('retrieve_databundle', True): rule retrieve_databundle: output: expand('data/bundle/{file}', file=datafiles) - log: "logs/retrieve_databundle.log" + log: "logs/" + RDIR + "retrieve_databundle.log" resources: mem_mb=1000 script: 'scripts/retrieve_databundle.py' @@ -76,17 +81,17 @@ rule retrieve_load_data: rule build_load_data: input: "data/load_raw.csv" - output: "resources/load.csv" - log: "logs/build_load_data.log" + output: "resources/" + RDIR + "load.csv" + log: "logs/" + RDIR + "build_load_data.log" resources: mem_mb=5000 script: 'scripts/build_load_data.py' rule build_powerplants: input: - base_network="networks/base.nc", + base_network="networks/" + RDIR + "base.nc", custom_powerplants="data/custom_powerplants.csv" - output: "resources/powerplants.csv" - log: "logs/build_powerplants.log" + output: "resources/" + RDIR + "powerplants.csv" + log: "logs/" + RDIR + "build_powerplants.log" threads: 1 resources: mem_mb=5000 script: "scripts/build_powerplants.py" @@ -102,12 +107,12 @@ rule base_network: parameter_corrections='data/parameter_corrections.yaml', links_p_nom='data/links_p_nom.csv', links_tyndp='data/links_tyndp.csv', - country_shapes='resources/country_shapes.geojson', - offshore_shapes='resources/offshore_shapes.geojson', - europe_shape='resources/europe_shape.geojson' - output: "networks/base.nc" - log: "logs/base_network.log" - benchmark: "benchmarks/base_network" + country_shapes="resources/" + RDIR + "country_shapes.geojson", + offshore_shapes="resources/" + RDIR + "offshore_shapes.geojson", + europe_shape="resources/" + RDIR + "europe_shape.geojson" + output: "networks/" + RDIR + "base.nc" + log: "logs/" + RDIR + "base_network.log" + benchmark: "benchmarks/" + RDIR + "base_network" threads: 1 resources: mem_mb=500 script: "scripts/base_network.py" @@ -123,11 +128,11 @@ rule build_shapes: ch_cantons='data/bundle/ch_cantons.csv', ch_popgdp='data/bundle/je-e-21.03.02.xls' output: - country_shapes='resources/country_shapes.geojson', - offshore_shapes='resources/offshore_shapes.geojson', - europe_shape='resources/europe_shape.geojson', - nuts3_shapes='resources/nuts3_shapes.geojson' - log: "logs/build_shapes.log" + country_shapes="resources/" + RDIR + "country_shapes.geojson", + offshore_shapes="resources/" + RDIR + "offshore_shapes.geojson", + europe_shape="resources/" + RDIR + "europe_shape.geojson", + nuts3_shapes="resources/" + RDIR + "nuts3_shapes.geojson" + log: "logs/" + RDIR + "build_shapes.log" threads: 1 resources: mem_mb=500 script: "scripts/build_shapes.py" @@ -135,13 +140,13 @@ rule build_shapes: rule build_bus_regions: input: - country_shapes='resources/country_shapes.geojson', - offshore_shapes='resources/offshore_shapes.geojson', - base_network="networks/base.nc" + country_shapes="resources/" + RDIR + "country_shapes.geojson", + offshore_shapes="resources/" + RDIR + "offshore_shapes.geojson", + base_network="networks/" + RDIR + "base.nc" output: - regions_onshore="resources/regions_onshore.geojson", - regions_offshore="resources/regions_offshore.geojson" - log: "logs/build_bus_regions.log" + regions_onshore="resources/" + RDIR + "regions_onshore.geojson", + regions_offshore="resources/" + RDIR + "regions_offshore.geojson" + log: "logs/" + RDIR + "build_bus_regions.log" threads: 1 resources: mem_mb=1000 script: "scripts/build_bus_regions.py" @@ -149,11 +154,11 @@ rule build_bus_regions: if config['enable'].get('build_cutout', False): rule build_cutout: input: - regions_onshore="resources/regions_onshore.geojson", - regions_offshore="resources/regions_offshore.geojson" - output: "cutouts/{cutout}.nc" - log: "logs/build_cutout/{cutout}.log" - benchmark: "benchmarks/build_cutout_{cutout}" + regions_onshore="resources/" + RDIR + "regions_onshore.geojson", + regions_offshore="resources/" + RDIR + "regions_offshore.geojson" + output: "cutouts/" + CDIR + "{cutout}.nc" + log: "logs/" + CDIR + "build_cutout/{cutout}.log" + benchmark: "benchmarks/" + CDIR + "build_cutout_{cutout}" threads: ATLITE_NPROCESSES resources: mem_mb=ATLITE_NPROCESSES * 1000 script: "scripts/build_cutout.py" @@ -162,8 +167,8 @@ if config['enable'].get('build_cutout', False): if config['enable'].get('retrieve_cutout', True): rule retrieve_cutout: input: HTTP.remote("zenodo.org/record/6382570/files/{cutout}.nc", keep_local=True, static=True) - output: "cutouts/{cutout}.nc" - log: "logs/retrieve_cutout_{cutout}.log" + output: "cutouts/" + CDIR + "{cutout}.nc" + log: "logs/" + CDIR + "retrieve_cutout_{cutout}.log" resources: mem_mb=5000 run: move(input[0], output[0]) @@ -171,7 +176,7 @@ if config['enable'].get('retrieve_cost_data', True): rule retrieve_cost_data: input: HTTP.remote(f"raw.githubusercontent.com/PyPSA/technology-data/{config['costs']['version']}/outputs/costs_{config['costs']['year']}.csv", keep_local=True) output: COSTS - log: "logs/retrieve_cost_data.log" + log: "logs/" + RDIR + "retrieve_cost_data.log" resources: mem_mb=5000 run: move(input[0], output[0]) @@ -179,17 +184,17 @@ if config['enable'].get('build_natura_raster', False): rule build_natura_raster: input: natura="data/bundle/natura/Natura2000_end2015.shp", - cutouts=expand("cutouts/{cutouts}.nc", **config['atlite']) - output: "resources/natura.tiff" + cutouts=expand("cutouts/" + CDIR + "{cutouts}.nc", **config['atlite']) + output: "resources/" + RDIR + "natura.tiff" resources: mem_mb=5000 - log: "logs/build_natura_raster.log" + log: "logs/" + RDIR + "build_natura_raster.log" script: "scripts/build_natura_raster.py" if config['enable'].get('retrieve_natura_raster', True): rule retrieve_natura_raster: input: HTTP.remote("zenodo.org/record/4706686/files/natura.tiff", keep_local=True, static=True) - output: "resources/natura.tiff" + output: "resources/" + RDIR + "natura.tiff" resources: mem_mb=5000 run: move(input[0], output[0]) @@ -204,36 +209,36 @@ rule retrieve_ship_raster: rule build_ship_raster: input: ship_density="data/shipdensity_global.zip", - cutouts=expand("cutouts/{cutouts}.nc", **config['atlite']) - output: "resources/shipdensity_raster.nc" - log: "logs/build_ship_raster.log" + cutouts=expand("cutouts/" + CDIR + "{cutouts}.nc", **config['atlite']) + output: "resources/" + RDIR + "shipdensity_raster.nc" + log: "logs/" + RDIR + "build_ship_raster.log" resources: mem_mb=5000 - benchmark: "benchmarks/build_ship_raster" + benchmark: "benchmarks/" + RDIR + "build_ship_raster" script: "scripts/build_ship_raster.py" rule build_renewable_profiles: input: - base_network="networks/base.nc", + base_network="networks/" + RDIR + "base.nc", corine="data/bundle/corine/g250_clc06_V18_5.tif", - natura=lambda w: ("resources/natura.tiff" + natura=lambda w: ("resources/" + RDIR + "natura.tiff" if config["renewable"][w.technology]["natura"] else []), gebco=lambda w: ("data/bundle/GEBCO_2014_2D.nc" if "max_depth" in config["renewable"][w.technology].keys() else []), - ship_density= lambda w: ("resources/shipdensity_raster.nc" + ship_density= lambda w: ("resources/" + RDIR + "shipdensity_raster.nc" if "ship_threshold" in config["renewable"][w.technology].keys() else []), - country_shapes='resources/country_shapes.geojson', - offshore_shapes='resources/offshore_shapes.geojson', - regions=lambda w: ("resources/regions_onshore.geojson" + country_shapes="resources/" + RDIR + "country_shapes.geojson", + offshore_shapes="resources/" + RDIR + "offshore_shapes.geojson", + regions=lambda w: ("resources/" + RDIR + "regions_onshore.geojson" if w.technology in ('onwind', 'solar') - else "resources/regions_offshore.geojson"), - cutout=lambda w: "cutouts/" + config["renewable"][w.technology]['cutout'] + ".nc" - output: profile="resources/profile_{technology}.nc", - log: "logs/build_renewable_profile_{technology}.log" - benchmark: "benchmarks/build_renewable_profiles_{technology}" + else "resources/" + RDIR + "regions_offshore.geojson"), + cutout=lambda w: "cutouts/" + CDIR + config["renewable"][w.technology]['cutout'] + ".nc" + output: profile="resources/" + RDIR + "profile_{technology}.nc", + log: "logs/" + RDIR + "build_renewable_profile_{technology}.log" + benchmark: "benchmarks/" + RDIR + "build_renewable_profiles_{technology}" threads: ATLITE_NPROCESSES resources: mem_mb=ATLITE_NPROCESSES * 5000 wildcard_constraints: technology="(?!hydro).*" # Any technology other than hydro @@ -242,31 +247,33 @@ rule build_renewable_profiles: rule build_hydro_profile: input: - country_shapes='resources/country_shapes.geojson', + country_shapes="resources/" + RDIR + "country_shapes.geojson", eia_hydro_generation='data/eia_hydro_annual_generation.csv', - cutout=f"cutouts/{config['renewable']['hydro']['cutout']}.nc" if "hydro" in config["renewable"] else "config['renewable']['hydro']['cutout'] not configured", - output: 'resources/profile_hydro.nc' - log: "logs/build_hydro_profile.log" + cutout=f"cutouts/" + CDIR + "{config['renewable']['hydro']['cutout']}.nc" if "hydro" in config["renewable"] else "config['renewable']['hydro']['cutout'] not configured", + output: "resources/" + RDIR + "profile_hydro.nc" + log: "logs/" + RDIR + "build_hydro_profile.log" resources: mem_mb=5000 script: 'scripts/build_hydro_profile.py' rule add_electricity: input: - base_network='networks/base.nc', + base_network="networks/" + RDIR + "base.nc", tech_costs=COSTS, - regions="resources/regions_onshore.geojson", - powerplants='resources/powerplants.csv', + regions="resources/" + RDIR + "regions_onshore.geojson", + powerplants="resources/" + RDIR + "powerplants.csv", hydro_capacities='data/bundle/hydro_capacities.csv', geth_hydro_capacities='data/geth2015_hydro_capacities.csv', - load='resources/load.csv', - nuts3_shapes='resources/nuts3_shapes.geojson', - **{f"profile_{tech}": f"resources/profile_{tech}.nc" + load="resources/" + RDIR + "load.csv", + nuts3_shapes="resources/" + RDIR + "nuts3_shapes.geojson", + **{f"profile_{tech}": "resources/" + RDIR + f"profile_{tech}.nc" for tech in config['renewable']}, - **{f"conventional_{carrier}_{attr}": fn for carrier, d in config.get('conventional', {None: {}}).items() for attr, fn in d.items() if str(fn).startswith("data/")}, - output: "networks/elec.nc" - log: "logs/add_electricity.log" - benchmark: "benchmarks/add_electricity" + **{f"conventional_{carrier}_{attr}": fn + for carrier, d in config.get('conventional', {None: {}}).items() + for attr, fn in d.items() if str(fn).startswith("data/")}, + output: "networks/" + RDIR + "elec.nc" + log: "logs/" + RDIR + "add_electricity.log" + benchmark: "benchmarks/" + RDIR + "add_electricity" threads: 1 resources: mem_mb=5000 script: "scripts/add_electricity.py" @@ -274,18 +281,18 @@ rule add_electricity: rule simplify_network: input: - network='networks/elec.nc', + network="networks/" + RDIR + "elec.nc", tech_costs=COSTS, - regions_onshore="resources/regions_onshore.geojson", - regions_offshore="resources/regions_offshore.geojson" + regions_onshore="resources/" + RDIR + "regions_onshore.geojson", + regions_offshore="resources/" + RDIR + "regions_offshore.geojson" output: - network='networks/elec_s{simpl}.nc', - regions_onshore="resources/regions_onshore_elec_s{simpl}.geojson", - regions_offshore="resources/regions_offshore_elec_s{simpl}.geojson", - busmap='resources/busmap_elec_s{simpl}.csv', - connection_costs='resources/connection_costs_s{simpl}.csv' - log: "logs/simplify_network/elec_s{simpl}.log" - benchmark: "benchmarks/simplify_network/elec_s{simpl}" + network="networks/" + RDIR + "elec_s{simpl}.nc", + regions_onshore="resources/" + RDIR + "regions_onshore_elec_s{simpl}.geojson", + regions_offshore="resources/" + RDIR + "regions_offshore_elec_s{simpl}.geojson", + busmap="resources/" + RDIR + "busmap_elec_s{simpl}.csv", + connection_costs="resources/" + RDIR + "connection_costs_s{simpl}.csv" + log: "logs/" + RDIR + "simplify_network/elec_s{simpl}.log" + benchmark: "benchmarks/" + RDIR + "simplify_network/elec_s{simpl}" threads: 1 resources: mem_mb=4000 script: "scripts/simplify_network.py" @@ -293,21 +300,21 @@ rule simplify_network: rule cluster_network: input: - network='networks/elec_s{simpl}.nc', - regions_onshore="resources/regions_onshore_elec_s{simpl}.geojson", - regions_offshore="resources/regions_offshore_elec_s{simpl}.geojson", - busmap=ancient('resources/busmap_elec_s{simpl}.csv'), + network="networks/" + RDIR + "elec_s{simpl}.nc", + regions_onshore="resources/" + RDIR + "regions_onshore_elec_s{simpl}.geojson", + regions_offshore="resources/" + RDIR + "regions_offshore_elec_s{simpl}.geojson", + busmap=ancient("resources/" + RDIR + "busmap_elec_s{simpl}.csv"), custom_busmap=("data/custom_busmap_elec_s{simpl}_{clusters}.csv" if config["enable"].get("custom_busmap", False) else []), tech_costs=COSTS output: - network='networks/elec_s{simpl}_{clusters}.nc', - regions_onshore="resources/regions_onshore_elec_s{simpl}_{clusters}.geojson", - regions_offshore="resources/regions_offshore_elec_s{simpl}_{clusters}.geojson", - busmap="resources/busmap_elec_s{simpl}_{clusters}.csv", - linemap="resources/linemap_elec_s{simpl}_{clusters}.csv" - log: "logs/cluster_network/elec_s{simpl}_{clusters}.log" - benchmark: "benchmarks/cluster_network/elec_s{simpl}_{clusters}" + network="networks/" + RDIR + "elec_s{simpl}_{clusters}.nc", + regions_onshore="resources/" + RDIR + "regions_onshore_elec_s{simpl}_{clusters}.geojson", + regions_offshore="resources/" + RDIR + "regions_offshore_elec_s{simpl}_{clusters}.geojson", + busmap="resources/" + RDIR + "busmap_elec_s{simpl}_{clusters}.csv", + linemap="resources/" + RDIR + "linemap_elec_s{simpl}_{clusters}.csv" + log: "logs/" + RDIR + "cluster_network/elec_s{simpl}_{clusters}.log" + benchmark: "benchmarks/" + RDIR + "cluster_network/elec_s{simpl}_{clusters}" threads: 1 resources: mem_mb=6000 script: "scripts/cluster_network.py" @@ -315,21 +322,21 @@ rule cluster_network: rule add_extra_components: input: - network='networks/elec_s{simpl}_{clusters}.nc', + network="networks/" + RDIR + "elec_s{simpl}_{clusters}.nc", tech_costs=COSTS, - output: 'networks/elec_s{simpl}_{clusters}_ec.nc' - log: "logs/add_extra_components/elec_s{simpl}_{clusters}.log" - benchmark: "benchmarks/add_extra_components/elec_s{simpl}_{clusters}_ec" + output: "networks/" + RDIR + "elec_s{simpl}_{clusters}_ec.nc" + log: "logs/" + RDIR + "add_extra_components/elec_s{simpl}_{clusters}.log" + benchmark: "benchmarks/" + RDIR + "add_extra_components/elec_s{simpl}_{clusters}_ec" threads: 1 resources: mem_mb=3000 script: "scripts/add_extra_components.py" rule prepare_network: - input: 'networks/elec_s{simpl}_{clusters}_ec.nc', tech_costs=COSTS - output: 'networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc' - log: "logs/prepare_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.log" - benchmark: "benchmarks/prepare_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}" + input: "networks/" + RDIR + "elec_s{simpl}_{clusters}_ec.nc", tech_costs=COSTS, + output: "networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" + log: "logs/" + RDIR + "prepare_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.log" + benchmark: "benchmarks/" + RDIR + "prepare_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}" threads: 1 resources: mem_mb=4000 script: "scripts/prepare_network.py" @@ -356,13 +363,13 @@ def memory(w): rule solve_network: - input: "networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" - output: "results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" + input: "networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" + output: "results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" log: - solver=normpath("logs/solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_solver.log"), - python="logs/solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_python.log", - memory="logs/solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_memory.log" - benchmark: "benchmarks/solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}" + solver=normpath("logs/" + RDIR + "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_solver.log"), + python="logs/" + RDIR + "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_python.log", + memory="logs/" + RDIR + "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_memory.log" + benchmark: "benchmarks/" + RDIR + "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}" threads: 4 resources: mem_mb=memory shadow: "minimal" @@ -371,14 +378,14 @@ rule solve_network: rule solve_operations_network: input: - unprepared="networks/elec_s{simpl}_{clusters}_ec.nc", - optimized="results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" - output: "results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op.nc" + unprepared="networks/" + RDIR + "elec_s{simpl}_{clusters}_ec.nc", + optimized="results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" + output: "results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op.nc" log: - solver=normpath("logs/solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_solver.log"), - python="logs/solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_python.log", - memory="logs/solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_memory.log" - benchmark: "benchmarks/solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}" + solver=normpath("logs/" + RDIR + "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_solver.log"), + python="logs/" + RDIR + "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_python.log", + memory="logs/" + RDIR + "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_memory.log" + benchmark: "benchmarks/" + RDIR + "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}" threads: 4 resources: mem_mb=(lambda w: 5000 + 372 * int(w.clusters)) shadow: "minimal" @@ -387,12 +394,12 @@ rule solve_operations_network: rule plot_network: input: - network="results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", + network="results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", tech_costs=COSTS output: - only_map="results/plots/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}.{ext}", - ext="results/plots/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}_ext.{ext}" - log: "logs/plot_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}_{ext}.log" + only_map="results/plots/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}.{ext}", + ext="results/plots/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}_ext.{ext}" + log: "logs/" + RDIR + "plot_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}_{ext}.log" script: "scripts/plot_network.py" @@ -405,7 +412,7 @@ def input_make_summary(w): else: ll = w.ll return ([COSTS] + - expand("results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", + expand("results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", ll=ll, **{k: config["scenario"][k] if getattr(w, k) == "all" else getattr(w, k) for k in ["simpl", "clusters", "opts"]})) @@ -413,30 +420,30 @@ def input_make_summary(w): rule make_summary: input: input_make_summary - output: directory("results/summaries/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}") - log: "logs/make_summary/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}.log", + output: directory("results/summaries/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}") + log: "logs/" + RDIR + "make_summary/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}.log", resources: mem_mb=500 script: "scripts/make_summary.py" rule plot_summary: - input: "results/summaries/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}" - output: "results/plots/summary_{summary}_elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}.{ext}" - log: "logs/plot_summary/{summary}_elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}_{ext}.log" + input: "results/summaries/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}" + output: "results/plots/" + RDIR + "summary_{summary}_elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}.{ext}" + log: "logs/" + RDIR + "plot_summary/{summary}_elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}_{ext}.log" resources: mem_mb=500 script: "scripts/plot_summary.py" def input_plot_p_nom_max(w): - return [("results/networks/elec_s{simpl}{maybe_cluster}.nc" + return [("results/networks/" + RDIR + "elec_s{simpl}{maybe_cluster}.nc" .format(maybe_cluster=('' if c == 'full' else ('_' + c)), **w)) for c in w.clusts.split(",")] rule plot_p_nom_max: input: input_plot_p_nom_max - output: "results/plots/elec_s{simpl}_cum_p_nom_max_{clusts}_{techs}_{country}.{ext}" - log: "logs/plot_p_nom_max/elec_s{simpl}_{clusts}_{techs}_{country}_{ext}.log" + output: "results/plots/" + RDIR + "elec_s{simpl}_cum_p_nom_max_{clusts}_{techs}_{country}.{ext}" + log: "logs/" + RDIR + "plot_p_nom_max/elec_s{simpl}_{clusts}_{techs}_{country}_{ext}.log" resources: mem_mb=500 script: "scripts/plot_p_nom_max.py" diff --git a/config.default.yaml b/config.default.yaml index 83f1cfd8..efaa14d9 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -9,6 +9,11 @@ logging: level: INFO format: '%(levelname)s:%(name)s:%(message)s' +run: + name: "" # use this to keep track of runs with different settings + dedicated_cutouts: True # set to false to use the default cutout(s) + + scenario: simpl: [''] ll: ['copt'] diff --git a/config.tutorial.yaml b/config.tutorial.yaml index ed2f9bf0..22c87834 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -9,6 +9,8 @@ logging: level: INFO format: '%(levelname)s:%(name)s:%(message)s' +run: + name: "" scenario: simpl: [''] diff --git a/doc/configuration.rst b/doc/configuration.rst index e5188da2..b59454cd 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -28,13 +28,24 @@ Top-level configuration .. _scenario: -``scenario`` -============ +``run`` +======= It is common conduct to analyse energy system optimisation models for **multiple scenarios** for a variety of reasons, e.g. assessing their sensitivity towards changing the temporal and/or geographical resolution or investigating how investment changes as more ambitious greenhouse-gas emission reduction targets are applied. +The ``run`` section is used for running and storing scenarios with different configurations which are not covered by :ref:`wildcards`. It determines the path at which resources, networks and results are stored. Therefore the user can run different configurations within the same directory. If a run with a non empty name should use the default cutouts, set ``dedicated_cutouts`` to `false`. + +.. literalinclude:: ../config.default.yaml + :language: yaml + :start-at: run: + :end-before: scenario: + + +``scenario`` +============ + The ``scenario`` section is an extraordinary section of the config file that is strongly connected to the :ref:`wildcards` and is designed to facilitate running multiple scenarios through a single command @@ -96,7 +107,7 @@ Specifies the temporal range to build an energy system model for as arguments to ``atlite`` ========== -Define and specify the ``atlite.Cutout`` used for calculating renewable potentials and time-series. All options except for ``features`` are directly used as `cutout parameters `_. +Define and specify the ``atlite.Cutout`` used for calculating renewable potentials and time-series. All options except for ``features`` are directly used as `cutout parameters `_. .. literalinclude:: ../config.default.yaml :language: yaml diff --git a/doc/release_notes.rst b/doc/release_notes.rst index dcf42355..f9cc6b44 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -14,6 +14,8 @@ Upcoming Release * When fixing line voltages to 380kV, the workflow now preserves the transmission capacity instead of the electrical impedance and reactance. +* The software now supports running the workflow with different settings within the same directory. A new config section ``run`` was created that specifies under which scenario ``name`` the created resources, networks and results should be stored. If ``name`` is not specified, the workflow uses the default paths. The entry ``dedicated_cutouts`` specifies whether the run should use cutouts from the default root directory and use run-specific cutouts. + PyPSA-Eur 0.5.0 (27th July 2022) ===================================== diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 2f25b6eb..bc01e0dc 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -8,6 +8,8 @@ logging: level: INFO format: '%(levelname)s:%(name)s:%(message)s' +run: + name: "" scenario: simpl: [''] From 02725e00f005afa25ab376d3208ecdf9101a60da Mon Sep 17 00:00:00 2001 From: Fabian Date: Thu, 8 Sep 2022 10:46:00 +0200 Subject: [PATCH 208/281] add precommit-yaml config --- .pre-commit-config.yaml | 86 +++++++++++++++++++++++++++++++++++++++++ doc/contributing.rst | 12 +++++- 2 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 .pre-commit-config.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000..a6d643e2 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,86 @@ +exclude: "^LICENSES" + +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.3.0 + hooks: + - id: check-merge-conflict + - id: end-of-file-fixer + - id: fix-encoding-pragma + - id: mixed-line-ending + - id: trailing-whitespace + - id: check-added-large-files + args: ["--maxkb=2000"] + + # Sort package imports alphabetically + - repo: https://github.com/PyCQA/isort + rev: 5.10.1 + hooks: + - id: isort + args: ["--profile", "black", "--filter-files"] + + # Convert relative imports to absolute imports + - repo: https://github.com/MarcoGorelli/absolufy-imports + rev: v0.3.1 + hooks: + - id: absolufy-imports + + # Find common spelling mistakes in comments and docstrings + - repo: https://github.com/codespell-project/codespell + rev: v2.2.1 + hooks: + - id: codespell + args: [ + '--ignore-regex="(\b[A-Z]+\b)"', + ] # Ignore capital case words, e.g. country codes + types_or: [python, rst, markdown] + files: ^(scripts|doc)/ + + # Make docstrings PEP 257 compliant + - repo: https://github.com/myint/docformatter + rev: v1.5.0 + hooks: + - id: docformatter + args: + ["--in-place", "--make-summary-multi-line", "--pre-summary-newline"] + + - repo: https://github.com/keewis/blackdoc + rev: v0.3.5 + hooks: + - id: blackdoc + + # Formatting with "black" coding style + - repo: https://github.com/psf/black + rev: 22.8.0 + hooks: + # Format Python files + - id: black + # Format Jupyter Python notebooks + - id: black-jupyter + + # Remove output from Jupyter notebooks + - repo: https://github.com/aflc/pre-commit-jupyter + rev: v1.2.1 + hooks: + - id: jupyter-notebook-cleanup + args: ["--remove-kernel-metadata"] + + # Do YAML formatting (before the linter checks it for misses) + - repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks + rev: v2.4.0 + hooks: + - id: pretty-format-yaml + args: [--autofix, --indent, "2", --preserve-quotes] + + # Format Snakemake rule / workflow files + - repo: https://github.com/snakemake/snakefmt + rev: 0.4.4 + hooks: + - id: snakefmt + + # For cleaning jupyter notebooks + - repo: https://github.com/aflc/pre-commit-jupyter + rev: v1.2.1 + hooks: + - id: jupyter-notebook-cleanup + exclude: examples/solve-on-remote.ipynb \ No newline at end of file diff --git a/doc/contributing.rst b/doc/contributing.rst index 3962da0c..b7ccc8e7 100644 --- a/doc/contributing.rst +++ b/doc/contributing.rst @@ -16,7 +16,17 @@ to our `GitHub repository `_. * If you start working on a feature in the code, let us know by opening an issue or a draft pull request. This helps all of us to keep an overview on what is being done and helps to avoid a situation where we are doing the same work twice in parallel. -* We encourage you to use the `PEP 8 coding style `_. + +For linting, formatting and checking your code contributions +against our guidelines (e.g. we use `Black `_ as code style +use `pre-commit `_: + +1. Installation ``conda install -c conda-forge pre-commit`` or ``pip install pre-commit`` +2. Usage: + * To automatically activate ``pre-commit`` on every ``git commit``: Run ``pre-commit install`` + * To manually run it: ``pre-commit run --all`` + +Note that installing `pre-commit` locally is not strictly necessary. If you create a Pull Request the `pre-commit CI` will be triggered automatically and take care of the checks. For all code contributions we follow the four eyes principle (two person principle), i.e. all suggested code including our own are reviewed by a second person before they are incoporated into our repository. From 1185983f8f110b6cb6b7e2db35351db384db9e0c Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Thu, 8 Sep 2022 20:32:22 +0200 Subject: [PATCH 209/281] Update Snakefile Co-authored-by: Philipp Glaum <95913147+p-glaum@users.noreply.github.com> --- Snakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Snakefile b/Snakefile index 3d0c30bd..b841eba9 100644 --- a/Snakefile +++ b/Snakefile @@ -15,7 +15,7 @@ configfile: "config.yaml" run = config.get("run", {}) RDIR = run.get("name", "") + "/" if run.get("name", "") else "" -CDIR = "" if run.get("dedicated_cutouts", True) else RDIR +CDIR = RDIR if run.get("dedicated_cutouts", True) else "" COSTS = "resources/" + RDIR + "costs.csv" ATLITE_NPROCESSES = config['atlite'].get('nprocesses', 4) From 5f08dca2fd47c737c0eca2f8ce289e136f0244b1 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sat, 10 Sep 2022 15:31:43 +0200 Subject: [PATCH 210/281] prepare release 0.6.0 --- CITATION.cff | 2 +- config.20220727.yaml | 371 ++++++++++++++++++++++++++++++++++++ config.default.yaml | 2 +- config.tutorial.yaml | 2 +- doc/conf.py | 4 +- doc/release_notes.rst | 24 ++- envs/environment.fixed.yaml | 150 ++++++++++++--- envs/environment.yaml | 12 +- test/config.test1.yaml | 2 +- 9 files changed, 529 insertions(+), 40 deletions(-) create mode 100755 config.20220727.yaml diff --git a/CITATION.cff b/CITATION.cff index 089c924f..e54f14ca 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -6,7 +6,7 @@ cff-version: 1.1.0 message: "If you use this package, please cite the corresponding manuscript in Energy Strategy Reviews." title: "PyPSA-Eur: An open optimisation model of the European transmission system" repository: https://github.com/pypsa/pypsa-eur -version: 0.5.0 +version: 0.6.0 license: MIT journal: Energy Strategy Reviews doi: 10.1016/j.esr.2018.08.012 diff --git a/config.20220727.yaml b/config.20220727.yaml new file mode 100755 index 00000000..61621153 --- /dev/null +++ b/config.20220727.yaml @@ -0,0 +1,371 @@ +# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors +# +# SPDX-License-Identifier: CC0-1.0 + +version: 0.4.0 +tutorial: false + +logging: + level: INFO + format: '%(levelname)s:%(name)s:%(message)s' + +scenario: + simpl: [''] + ll: ['copt'] + clusters: [37, 128, 256, 512, 1024] + opts: [Co2L-3H] + +countries: ['AL', 'AT', 'BA', 'BE', 'BG', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'ME', 'MK', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'SE', 'SI', 'SK'] + +snapshots: + start: "2013-01-01" + end: "2014-01-01" + closed: 'left' # end is not inclusive + +enable: + prepare_links_p_nom: false + retrieve_databundle: true + retrieve_cost_data: true + build_cutout: false + retrieve_cutout: true + build_natura_raster: false + retrieve_natura_raster: true + custom_busmap: false + +electricity: + voltages: [220., 300., 380.] + gaslimit: false # global gas usage limit of X MWh_th + co2limit: 7.75e+7 # 0.05 * 3.1e9*0.5 + co2base: 1.487e+9 + agg_p_nom_limits: data/agg_p_nom_minmax.csv + + operational_reserve: # like https://genxproject.github.io/GenX/dev/core/#Reserves + activate: false + epsilon_load: 0.02 # share of total load + epsilon_vres: 0.02 # share of total renewable supply + contingency: 4000 # fixed capacity in MW + + max_hours: + battery: 6 + H2: 168 + + extendable_carriers: + Generator: [solar, onwind, offwind-ac, offwind-dc, OCGT] + StorageUnit: [] # battery, H2 + Store: [battery, H2] + Link: [] # H2 pipeline + + # use pandas query strings here, e.g. Country not in ['Germany'] + powerplants_filter: (DateOut >= 2022 or DateOut != DateOut) + # use pandas query strings here, e.g. Country in ['Germany'] + custom_powerplants: false + + conventional_carriers: [nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass] + renewable_carriers: [solar, onwind, offwind-ac, offwind-dc, hydro] + + estimate_renewable_capacities: + enable: true + # Add capacities from OPSD data + from_opsd: true + # Renewable capacities are based on existing capacities reported by IRENA + year: 2020 + # Artificially limit maximum capacities to factor * (IRENA capacities), + # i.e. 110% of 's capacities => expansion_limit: 1.1 + # false: Use estimated renewable potentials determine by the workflow + expansion_limit: false + technology_mapping: + # Wind is the Fueltype in powerplantmatching, onwind, offwind-{ac,dc} the carrier in PyPSA-Eur + Offshore: [offwind-ac, offwind-dc] + Onshore: [onwind] + PV: [solar] + +atlite: + nprocesses: 4 + cutouts: + # use 'base' to determine geographical bounds and time span from config + # base: + # module: era5 + europe-2013-era5: + module: era5 # in priority order + x: [-12., 35.] + y: [33., 72] + dx: 0.3 + dy: 0.3 + time: ['2013', '2013'] + europe-2013-sarah: + module: [sarah, era5] # in priority order + x: [-12., 45.] + y: [33., 65] + dx: 0.2 + dy: 0.2 + time: ['2013', '2013'] + sarah_interpolate: false + sarah_dir: + features: [influx, temperature] + + +renewable: + onwind: + cutout: europe-2013-era5 + resource: + method: wind + turbine: Vestas_V112_3MW + capacity_per_sqkm: 3 # ScholzPhd Tab 4.3.1: 10MW/km^2 + # correction_factor: 0.93 + corine: + # Scholz, Y. (2012). Renewable energy based electricity supply at low costs: + # development of the REMix model and application for Europe. ( p.42 / p.28) + grid_codes: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 31, 32] + distance: 1000 + distance_grid_codes: [1, 2, 3, 4, 5, 6] + natura: true + potential: simple # or conservative + clip_p_max_pu: 1.e-2 + offwind-ac: + cutout: europe-2013-era5 + resource: + method: wind + turbine: NREL_ReferenceTurbine_5MW_offshore + capacity_per_sqkm: 2 + correction_factor: 0.8855 + # proxy for wake losses + # from 10.1016/j.energy.2018.08.153 + # until done more rigorously in #153 + corine: [44, 255] + natura: true + max_depth: 50 + max_shore_distance: 30000 + potential: simple # or conservative + clip_p_max_pu: 1.e-2 + offwind-dc: + cutout: europe-2013-era5 + resource: + method: wind + turbine: NREL_ReferenceTurbine_5MW_offshore + # ScholzPhd Tab 4.3.1: 10MW/km^2 + capacity_per_sqkm: 2 + correction_factor: 0.8855 + # proxy for wake losses + # from 10.1016/j.energy.2018.08.153 + # until done more rigorously in #153 + corine: [44, 255] + natura: true + max_depth: 50 + min_shore_distance: 30000 + potential: simple # or conservative + clip_p_max_pu: 1.e-2 + solar: + cutout: europe-2013-sarah + resource: + method: pv + panel: CSi + orientation: + slope: 35. + azimuth: 180. + capacity_per_sqkm: 1.7 # ScholzPhd Tab 4.3.1: 170 MW/km^2 + # Correction factor determined by comparing uncorrected area-weighted full-load hours to those + # published in Supplementary Data to + # Pietzcker, Robert Carl, et al. "Using the sun to decarbonize the power + # sector: The economic potential of photovoltaics and concentrating solar + # power." Applied Energy 135 (2014): 704-720. + # This correction factor of 0.854337 may be in order if using reanalysis data. + # for discussion refer to https://github.com/PyPSA/pypsa-eur/pull/304 + # correction_factor: 0.854337 + corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] + natura: true + potential: simple # or conservative + clip_p_max_pu: 1.e-2 + hydro: + cutout: europe-2013-era5 + carriers: [ror, PHS, hydro] + PHS_max_hours: 6 + hydro_max_hours: "energy_capacity_totals_by_country" # one of energy_capacity_totals_by_country, estimate_by_large_installations or a float + clip_min_inflow: 1.0 + +conventional: + nuclear: + p_max_pu: "data/nuclear_p_max_pu.csv" # float of file name + +lines: + types: + 220.: "Al/St 240/40 2-bundle 220.0" + 300.: "Al/St 240/40 3-bundle 300.0" + 380.: "Al/St 240/40 4-bundle 380.0" + s_max_pu: 0.7 + s_nom_max: .inf + length_factor: 1.25 + under_construction: 'zero' # 'zero': set capacity to zero, 'remove': remove, 'keep': with full capacity + +links: + p_max_pu: 1.0 + p_nom_max: .inf + include_tyndp: true + under_construction: 'zero' # 'zero': set capacity to zero, 'remove': remove, 'keep': with full capacity + +transformers: + x: 0.1 + s_nom: 2000. + type: '' + +load: + power_statistics: True # only for files from <2019; set false in order to get ENTSOE transparency data + interpolate_limit: 3 # data gaps up until this size are interpolated linearly + time_shift_for_large_gaps: 1w # data gaps up until this size are copied by copying from + manual_adjustments: true # false + scaling_factor: 1.0 + +costs: + year: 2030 + version: v0.1.0 + rooftop_share: 0.14 # based on the potentials, assuming (0.1 kW/m2 and 10 m2/person) + fill_values: + FOM: 0 + VOM: 0 + efficiency: 1 + fuel: 0 + investment: 0 + lifetime: 25 + "CO2 intensity": 0 + "discount rate": 0.07 + marginal_cost: + solar: 0.01 + onwind: 0.015 + offwind: 0.015 + hydro: 0. + H2: 0. + electrolysis: 0. + fuel cell: 0. + battery: 0. + battery inverter: 0. + emission_prices: # in currency per tonne emission, only used with the option Ep + co2: 0. + +clustering: + simplify_network: + to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) + algorithm: kmeans # choose from: [hac, kmeans] + feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. + cluster_network: + algorithm: kmeans + feature: solar+onwind-time + aggregation_strategies: + generators: + p_nom_max: sum # use "min" for more conservative assumptions + p_nom_min: sum + p_min_pu: mean + marginal_cost: mean + committable: any + ramp_limit_up: max + ramp_limit_down: max + efficiency: mean + +solving: + options: + formulation: kirchhoff + load_shedding: false + noisy_costs: true + min_iterations: 4 + max_iterations: 6 + clip_p_max_pu: 0.01 + skip_iterations: false + track_iterations: false + #nhours: 10 + solver: + name: gurobi + threads: 4 + method: 2 # barrier + crossover: 0 + BarConvTol: 1.e-5 + FeasibilityTol: 1.e-6 + AggFill: 0 + PreDual: 0 + GURO_PAR_BARDENSETHRESH: 200 + # solver: + # name: cplex + # threads: 4 + # lpmethod: 4 # barrier + # solutiontype: 2 # non basic solution, ie no crossover + # barrier.convergetol: 1.e-5 + # feasopt.tolerance: 1.e-6 + +plotting: + map: + figsize: [7, 7] + boundaries: [-10.2, 29, 35, 72] + p_nom: + bus_size_factor: 5.e+4 + linewidth_factor: 3.e+3 + + costs_max: 800 + costs_threshold: 1 + + energy_max: 15000. + energy_min: -10000. + energy_threshold: 50. + + vre_techs: ["onwind", "offwind-ac", "offwind-dc", "solar", "ror"] + conv_techs: ["OCGT", "CCGT", "Nuclear", "Coal"] + storage_techs: ["hydro+PHS", "battery", "H2"] + load_carriers: ["AC load"] + AC_carriers: ["AC line", "AC transformer"] + link_carriers: ["DC line", "Converter AC-DC"] + tech_colors: + "onwind" : "#235ebc" + "onshore wind" : "#235ebc" + 'offwind' : "#6895dd" + 'offwind-ac' : "#6895dd" + 'offshore wind' : "#6895dd" + 'offshore wind ac' : "#6895dd" + 'offwind-dc' : "#74c6f2" + 'offshore wind dc' : "#74c6f2" + "hydro" : "#08ad97" + "hydro+PHS" : "#08ad97" + "PHS" : "#08ad97" + "hydro reservoir" : "#08ad97" + 'hydroelectricity' : '#08ad97' + "ror" : "#4adbc8" + "run of river" : "#4adbc8" + 'solar' : "#f9d002" + 'solar PV' : "#f9d002" + 'solar thermal' : '#ffef60' + 'biomass' : '#0c6013' + 'solid biomass' : '#06540d' + 'biogas' : '#23932d' + 'waste' : '#68896b' + 'geothermal' : '#ba91b1' + "OCGT" : "#d35050" + "gas" : "#d35050" + "natural gas" : "#d35050" + "CCGT" : "#b20101" + "nuclear" : "#ff9000" + "coal" : "#707070" + "lignite" : "#9e5a01" + "oil" : "#262626" + "H2" : "#ea048a" + "hydrogen storage" : "#ea048a" + "battery" : "#b8ea04" + "Electric load" : "#f9d002" + "electricity" : "#f9d002" + "lines" : "#70af1d" + "transmission lines" : "#70af1d" + "AC-AC" : "#70af1d" + "AC line" : "#70af1d" + "links" : "#8a1caf" + "HVDC links" : "#8a1caf" + "DC-DC" : "#8a1caf" + "DC link" : "#8a1caf" + nice_names: + OCGT: "Open-Cycle Gas" + CCGT: "Combined-Cycle Gas" + offwind-ac: "Offshore Wind (AC)" + offwind-dc: "Offshore Wind (DC)" + onwind: "Onshore Wind" + solar: "Solar" + PHS: "Pumped Hydro Storage" + hydro: "Reservoir & Dam" + battery: "Battery Storage" + H2: "Hydrogen Storage" + lines: "Transmission Lines" + ror: "Run of River" diff --git a/config.default.yaml b/config.default.yaml index 83f1cfd8..0050a505 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: CC0-1.0 -version: 0.5.0 +version: 0.6.0 tutorial: false logging: diff --git a/config.tutorial.yaml b/config.tutorial.yaml index ed2f9bf0..7edbdc27 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: CC0-1.0 -version: 0.5.0 +version: 0.6.0 tutorial: true logging: diff --git a/doc/conf.py b/doc/conf.py index 2a3398fb..a09f836b 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -74,9 +74,9 @@ author = u'Jonas Hoersch (KIT, FIAS), Fabian Hofmann (TUB, FIAS), David Schlacht # built documents. # # The short X.Y version. -version = u'0.3' +version = u'0.6' # The full version, including alpha/beta/rc tags. -release = u'0.4.0' +release = u'0.6.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/doc/release_notes.rst b/doc/release_notes.rst index dcf42355..db106864 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -10,9 +10,29 @@ Release Notes Upcoming Release ================ -* Add functionality to consider shipping routes when calculating the available area for offshore technologies. Data for the shipping density comes from the `Global Shipping Traffic Density dataset ` +* new feature + + +PyPSA-Eur 0.6.0 (10th September 2022) +===================================== + +* Functionality to consider shipping routes when calculating the available area + for offshore technologies were added. Data for the shipping density comes from + the `Global Shipping Traffic Density dataset + `_. + +* When transforming all transmission lines to a unified voltage level of 380kV, + the workflow now preserves the transmission capacity rather than electrical + impedance and reactance. + +* Memory resources are now specified for all rules. + +* Filtering of power plant data was adjusted to new versions of + ``powerplantmatching``. + +* The resolution of land exclusion calculation is now a configurable option. See + setting ``excluder_resolution``. -* When fixing line voltages to 380kV, the workflow now preserves the transmission capacity instead of the electrical impedance and reactance. PyPSA-Eur 0.5.0 (27th July 2022) ===================================== diff --git a/envs/environment.fixed.yaml b/envs/environment.fixed.yaml index ee6a5035..cde31ba2 100644 --- a/envs/environment.fixed.yaml +++ b/envs/environment.fixed.yaml @@ -1,7 +1,3 @@ -# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors -# -# SPDX-License-Identifier: CC0-1.0 - name: pypsa-eur channels: - bioconda @@ -11,17 +7,33 @@ channels: dependencies: - _libgcc_mutex=0.1 - _openmp_mutex=4.5 + - abseil-cpp=20210324.2 - affine=2.3.1 - alsa-lib=1.2.3.2 + - altair=4.2.0 + - ampl-mp=3.1.0 - amply=0.1.5 + - anyio=3.6.1 - appdirs=1.4.4 + - argon2-cffi=21.3.0 + - argon2-cffi-bindings=21.2.0 + - arrow-cpp=8.0.0 - asttokens=2.0.5 - - atlite=0.2.7 + - atlite=0.2.9 - attrs=21.4.0 + - aws-c-cal=0.5.11 + - aws-c-common=0.6.2 + - aws-c-event-stream=0.2.7 + - aws-c-io=0.10.5 + - aws-checksums=0.1.11 + - aws-sdk-cpp=1.8.186 + - babel=2.10.3 - backcall=0.2.0 - backports=1.0 - backports.functools_lru_cache=1.6.4 - beautifulsoup4=4.11.1 + - bleach=5.0.1 + - blinker=1.4 - blosc=1.21.1 - bokeh=2.4.3 - boost-cpp=1.74.0 @@ -32,16 +44,17 @@ dependencies: - brotlipy=0.7.0 - bzip2=1.0.8 - c-ares=1.18.1 - - ca-certificates=2022.6.15 + - ca-certificates=2022.6.15.1 + - cachetools=5.0.0 - cairo=1.16.0 - cartopy=0.20.1 - cdsapi=0.5.1 - - certifi=2022.6.15 + - certifi=2022.6.15.1 - cffi=1.15.1 - cfitsio=4.0.0 - cftime=1.6.1 - charset-normalizer=2.1.0 - - click=8.1.3 + - click=8.0.4 - click-plugins=1.1.1 - cligj=0.7.2 - cloudpickle=2.1.0 @@ -52,6 +65,8 @@ dependencies: - coin-or-utils=2.11.6 - coincbc=2.10.8 - colorama=0.4.5 + - colorcet=3.0.0 + - commonmark=0.9.1 - configargparse=1.5.3 - connection_pool=0.0.3 - country_converter=0.7.4 @@ -59,23 +74,28 @@ dependencies: - curl=7.83.1 - cycler=0.11.0 - cytoolz=0.12.0 - - dask=2022.7.1 - - dask-core=2022.7.1 + - dask=2022.7.0 + - dask-core=2022.7.0 + - dataclasses=0.8 - datrie=0.8.2 - dbus=1.13.6 + - debugpy=1.6.0 - decorator=5.1.1 + - defusedxml=0.7.1 - deprecation=2.1.0 - descartes=1.1.0 - - distributed=2022.7.1 + - distributed=2022.7.0 - distro=1.6.0 - docutils=0.19 - dpath=2.0.6 + - entrypoints=0.4 - entsoe-py=0.5.4 - et_xmlfile=1.0.1 - - executing=0.9.1 + - executing=0.8.3 - expat=2.4.8 - filelock=3.7.1 - fiona=1.8.20 + - flit-core=3.7.1 - folium=0.12.1.post1 - font-ttf-dejavu-sans-mono=2.37 - font-ttf-inconsolata=3.000 @@ -88,38 +108,58 @@ dependencies: - freetype=2.10.4 - freexl=1.0.6 - fsspec=2022.5.0 + - future=0.18.2 - gdal=3.3.3 - geographiclib=1.52 - geojson-rewind=1.0.2 - - geopandas=0.11.1 - - geopandas-base=0.11.1 + - geopandas=0.11.0 + - geopandas-base=0.11.0 - geopy=2.2.0 - geos=3.10.0 - geotiff=1.7.0 - gettext=0.19.8.1 + - gflags=2.2.2 - giflib=5.2.1 - gitdb=4.0.9 - gitpython=3.1.27 + - glog=0.6.0 + - glpk=5.0 + - gmp=6.2.1 - graphite2=1.3.13 + - grpc-cpp=1.45.2 - gst-plugins-base=1.18.5 - gstreamer=1.18.5 - harfbuzz=2.9.1 - hdf4=4.2.15 - hdf5=1.12.1 - heapdict=1.0.1 + - holoviews=1.15.0 + - hvplot=0.8.0 - icu=68.2 - idna=3.3 - importlib-metadata=4.11.4 - - importlib_resources=5.9.0 + - importlib_metadata=4.11.4 + - importlib_resources=5.8.0 - iniconfig=1.1.1 + - ipopt=3.14.8 + - ipykernel=6.15.1 - ipython=8.4.0 + - ipython_genutils=0.2.0 + - ipywidgets=7.7.1 - jedi=0.18.1 - jinja2=3.1.2 - joblib=1.1.0 - jpeg=9e - json-c=0.15 + - json5=0.9.5 - jsonschema=4.7.2 - - jupyter_core=4.11.1 + - jupyter_client=7.3.4 + - jupyter_core=4.10.0 + - jupyter_server=1.18.1 + - jupyterlab=3.4.3 + - jupyterlab_pygments=0.2.2 + - jupyterlab_server=2.15.0 + - jupyterlab_widgets=1.1.1 - kealib=1.4.15 - keyutils=1.6.1 - kiwisolver=1.4.4 @@ -133,6 +173,7 @@ dependencies: - libbrotlienc=1.0.9 - libcblas=3.9.0 - libclang=11.1.0 + - libcrc32c=1.1.2 - libcurl=7.83.1 - libdap4=3.20.6 - libdeflate=1.12 @@ -146,6 +187,7 @@ dependencies: - libgfortran5=12.1.0 - libglib=2.72.1 - libgomp=12.1.0 + - libgoogle-cloud=1.40.2 - libiconv=1.16 - libkml=1.3.0 - liblapack=3.9.0 @@ -159,16 +201,20 @@ dependencies: - libopus=1.3.1 - libpng=1.6.37 - libpq=13.5 + - libprotobuf=3.20.1 - librttopo=1.1.0 + - libsodium=1.0.18 - libspatialindex=1.9.3 - libspatialite=5.0.1 - libssh2=1.10.0 - libstdcxx-ng=12.1.0 + - libthrift=0.16.0 - libtiff=4.4.0 + - libutf8proc=2.7.0 - libuuid=2.32.1 - libvorbis=1.3.7 - - libwebp=1.2.3 - - libwebp-base=1.2.3 + - libwebp=1.2.2 + - libwebp-base=1.2.2 - libxcb=1.13 - libxkbcommon=1.0.3 - libxml2=2.9.12 @@ -181,21 +227,34 @@ dependencies: - lz4-c=1.9.3 - lzo=2.10 - mapclassify=2.4.3 + - markdown=3.4.1 - markupsafe=2.1.1 - matplotlib=3.5.2 - matplotlib-base=3.5.2 - matplotlib-inline=0.1.3 - memory_profiler=0.60.0 + - metis=5.1.0 + - mistune=0.8.4 - msgpack-python=1.0.4 + - mumps-include=5.2.1 + - mumps-seq=5.2.1 - munch=2.5.0 - munkres=1.1.4 - mysql-common=8.0.29 - mysql-libs=8.0.29 + - nbclassic=0.4.3 + - nbclient=0.6.6 + - nbconvert=6.5.0 + - nbconvert-core=6.5.0 + - nbconvert-pandoc=6.5.0 - nbformat=5.4.0 - ncurses=6.3 + - nest-asyncio=1.5.5 - netcdf4=1.6.0 - - networkx=2.8.5 + - networkx=2.8.4 - nomkl=1.0 + - notebook=6.4.12 + - notebook-shim=0.1.0 - nspr=4.32 - nss=3.78 - numexpr=2.8.3 @@ -204,8 +263,14 @@ dependencies: - openjpeg=2.4.0 - openpyxl=3.0.9 - openssl=1.1.1q + - orc=1.7.5 - packaging=21.3 - pandas=1.4.3 + - pandoc=2.18 + - pandocfilters=1.5.0 + - panel=0.13.1 + - param=1.12.2 + - parquet-cpp=1.5.1 - parso=0.8.3 - partd=1.2.0 - patsy=0.5.2 @@ -213,27 +278,35 @@ dependencies: - pexpect=4.8.0 - pickleshare=0.7.5 - pillow=9.2.0 - - pip=22.2 + - pip=22.1.2 - pixman=0.40.0 - plac=1.3.5 + - plotly=5.9.0 - pluggy=1.0.0 - ply=3.11 - poppler=21.09.0 - poppler-data=0.4.11 - postgresql=13.5 - - powerplantmatching=0.5.3 + - powerplantmatching=0.5.4 - progressbar2=4.0.0 - proj=8.1.1 + - prometheus_client=0.14.1 - prompt-toolkit=3.0.30 + - protobuf=3.20.1 - psutil=5.9.1 - pthread-stubs=0.4 - ptyprocess=0.7.0 - pulp=2.6.0 - pure_eval=0.2.2 - py=1.11.0 + - pyarrow=8.0.0 - pycountry=20.7.3 - pycparser=2.21 + - pyct=0.4.6 + - pyct-core=0.4.6 + - pydeck=0.7.1 - pygments=2.12.0 + - pympler=0.9 - pyomo=6.4.1 - pyopenssl=22.0.0 - pyparsing=3.0.9 @@ -252,22 +325,32 @@ dependencies: - python=3.9.13 - python-dateutil=2.8.2 - python-fastjsonschema=2.16.1 + - python-tzdata=2022.1 - python-utils=3.3.3 - python_abi=3.9 - pytz=2022.1 + - pytz-deprecation-shim=0.1.0.post0 + - pyviz_comms=2.2.0 - pyxlsb=1.0.9 - pyyaml=6.0 + - pyzmq=23.2.0 - qt=5.12.9 - rasterio=1.2.9 - ratelimiter=1.2.0 + - re2=2022.06.01 - readline=8.1.2 - requests=2.28.1 - retry=0.9.2 + - rich=12.5.1 - rtree=1.0.0 + - s2n=1.0.10 - scikit-learn=1.1.1 - scipy=1.8.1 + - scotch=6.0.9 - seaborn=0.11.2 - seaborn-base=0.11.2 + - semver=2.13.0 + - send2trash=1.8.0 - setuptools=63.2.0 - setuptools-scm=7.0.5 - setuptools_scm=7.0.5 @@ -275,21 +358,27 @@ dependencies: - six=1.16.0 - smart_open=6.0.0 - smmap=3.0.5 - - snakemake-minimal=7.9.0 + - snakemake-minimal=7.8.5 - snappy=1.1.9 + - sniffio=1.2.0 - snuggs=1.4.7 - sortedcontainers=2.4.0 - - soupsieve=2.3.2.post1 - - sqlite=3.39.2 + - soupsieve=2.3.1 + - sqlite=3.39.1 - stack_data=0.3.0 - statsmodels=0.13.2 - stopit=1.1.2 + - streamlit=1.10.0 - tabula-py=2.2.0 - tabulate=0.8.10 - tblib=1.7.0 + - tenacity=8.0.1 + - terminado=0.15.0 - threadpoolctl=3.1.0 - tiledb=2.3.4 + - tinycss2=1.1.1 - tk=8.6.12 + - toml=0.10.2 - tomli=2.0.1 - toolz=0.12.0 - toposort=1.7 @@ -300,13 +389,20 @@ dependencies: - typing_extensions=4.3.0 - tzcode=2022a - tzdata=2022a + - tzlocal=4.2 - unicodedata2=14.0.0 - unidecode=1.3.4 - - urllib3=1.26.11 + - unixodbc=2.3.10 + - urllib3=1.26.10 + - validators=0.18.2 + - watchdog=2.1.9 - wcwidth=0.2.5 + - webencodings=0.5.1 + - websocket-client=1.3.3 - wheel=0.37.1 + - widgetsnbextension=3.6.1 - wrapt=1.14.1 - - xarray=2022.6.0 + - xarray=2022.3.0 - xerces-c=3.2.3 - xlrd=2.0.1 - xorg-fixesproto=5.0 @@ -330,11 +426,13 @@ dependencies: - xz=5.2.5 - yaml=0.2.5 - yte=1.5.1 + - zeromq=4.3.4 - zict=2.2.0 - zipp=3.8.0 - zlib=1.2.12 - zstd=1.5.2 - pip: - countrycode==0.2 + - gurobipy==9.5.2 - tsam==2.1.0 - vresutils==0.3.1 \ No newline at end of file diff --git a/envs/environment.yaml b/envs/environment.yaml index 3330a698..41fd6c86 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -7,11 +7,11 @@ channels: - conda-forge - bioconda dependencies: - - python>=3.8 + - python==3.9 - pip - pypsa>=0.20 - - atlite>=0.2.6 + - atlite>=0.2.9 - dask # Dependencies of the workflow itself @@ -24,7 +24,7 @@ dependencies: - yaml - pytables - lxml - - powerplantmatching>=0.5.3 + - powerplantmatching>=0.5.4 - numpy - pandas - geopandas>=0.11.0 @@ -32,19 +32,19 @@ dependencies: - netcdf4 - networkx - scipy - - shapely + - shapely<2.0 # need to address deprecations - progressbar2 - pyomo - matplotlib - proj - - fiona <= 1.18.20 # Till issue https://github.com/Toblerity/Fiona/issues/1085 is not solved + - fiona # <= 1.18.20 # Till issue https://github.com/Toblerity/Fiona/issues/1085 is not solved - country_converter # Keep in conda environment when calling ipython - ipython # GIS dependencies: - - cartopy + - cartopy>=0.16 - descartes - rasterio<=1.2.9 # 1.2.10 creates error https://github.com/PyPSA/atlite/issues/238 diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 2f25b6eb..abb41723 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: CC0-1.0 -version: 0.5.0 +version: 0.6.0 tutorial: true logging: level: INFO From 4799b411f8527a0591854374018d933b237ab2a6 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sat, 10 Sep 2022 15:32:26 +0200 Subject: [PATCH 211/281] remove accidental config file additions --- config.20220727.yaml | 371 ------------------------------------------- 1 file changed, 371 deletions(-) delete mode 100755 config.20220727.yaml diff --git a/config.20220727.yaml b/config.20220727.yaml deleted file mode 100755 index 61621153..00000000 --- a/config.20220727.yaml +++ /dev/null @@ -1,371 +0,0 @@ -# SPDX-FileCopyrightText: : 2017-2020 The PyPSA-Eur Authors -# -# SPDX-License-Identifier: CC0-1.0 - -version: 0.4.0 -tutorial: false - -logging: - level: INFO - format: '%(levelname)s:%(name)s:%(message)s' - -scenario: - simpl: [''] - ll: ['copt'] - clusters: [37, 128, 256, 512, 1024] - opts: [Co2L-3H] - -countries: ['AL', 'AT', 'BA', 'BE', 'BG', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'ME', 'MK', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'SE', 'SI', 'SK'] - -snapshots: - start: "2013-01-01" - end: "2014-01-01" - closed: 'left' # end is not inclusive - -enable: - prepare_links_p_nom: false - retrieve_databundle: true - retrieve_cost_data: true - build_cutout: false - retrieve_cutout: true - build_natura_raster: false - retrieve_natura_raster: true - custom_busmap: false - -electricity: - voltages: [220., 300., 380.] - gaslimit: false # global gas usage limit of X MWh_th - co2limit: 7.75e+7 # 0.05 * 3.1e9*0.5 - co2base: 1.487e+9 - agg_p_nom_limits: data/agg_p_nom_minmax.csv - - operational_reserve: # like https://genxproject.github.io/GenX/dev/core/#Reserves - activate: false - epsilon_load: 0.02 # share of total load - epsilon_vres: 0.02 # share of total renewable supply - contingency: 4000 # fixed capacity in MW - - max_hours: - battery: 6 - H2: 168 - - extendable_carriers: - Generator: [solar, onwind, offwind-ac, offwind-dc, OCGT] - StorageUnit: [] # battery, H2 - Store: [battery, H2] - Link: [] # H2 pipeline - - # use pandas query strings here, e.g. Country not in ['Germany'] - powerplants_filter: (DateOut >= 2022 or DateOut != DateOut) - # use pandas query strings here, e.g. Country in ['Germany'] - custom_powerplants: false - - conventional_carriers: [nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass] - renewable_carriers: [solar, onwind, offwind-ac, offwind-dc, hydro] - - estimate_renewable_capacities: - enable: true - # Add capacities from OPSD data - from_opsd: true - # Renewable capacities are based on existing capacities reported by IRENA - year: 2020 - # Artificially limit maximum capacities to factor * (IRENA capacities), - # i.e. 110% of 's capacities => expansion_limit: 1.1 - # false: Use estimated renewable potentials determine by the workflow - expansion_limit: false - technology_mapping: - # Wind is the Fueltype in powerplantmatching, onwind, offwind-{ac,dc} the carrier in PyPSA-Eur - Offshore: [offwind-ac, offwind-dc] - Onshore: [onwind] - PV: [solar] - -atlite: - nprocesses: 4 - cutouts: - # use 'base' to determine geographical bounds and time span from config - # base: - # module: era5 - europe-2013-era5: - module: era5 # in priority order - x: [-12., 35.] - y: [33., 72] - dx: 0.3 - dy: 0.3 - time: ['2013', '2013'] - europe-2013-sarah: - module: [sarah, era5] # in priority order - x: [-12., 45.] - y: [33., 65] - dx: 0.2 - dy: 0.2 - time: ['2013', '2013'] - sarah_interpolate: false - sarah_dir: - features: [influx, temperature] - - -renewable: - onwind: - cutout: europe-2013-era5 - resource: - method: wind - turbine: Vestas_V112_3MW - capacity_per_sqkm: 3 # ScholzPhd Tab 4.3.1: 10MW/km^2 - # correction_factor: 0.93 - corine: - # Scholz, Y. (2012). Renewable energy based electricity supply at low costs: - # development of the REMix model and application for Europe. ( p.42 / p.28) - grid_codes: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 31, 32] - distance: 1000 - distance_grid_codes: [1, 2, 3, 4, 5, 6] - natura: true - potential: simple # or conservative - clip_p_max_pu: 1.e-2 - offwind-ac: - cutout: europe-2013-era5 - resource: - method: wind - turbine: NREL_ReferenceTurbine_5MW_offshore - capacity_per_sqkm: 2 - correction_factor: 0.8855 - # proxy for wake losses - # from 10.1016/j.energy.2018.08.153 - # until done more rigorously in #153 - corine: [44, 255] - natura: true - max_depth: 50 - max_shore_distance: 30000 - potential: simple # or conservative - clip_p_max_pu: 1.e-2 - offwind-dc: - cutout: europe-2013-era5 - resource: - method: wind - turbine: NREL_ReferenceTurbine_5MW_offshore - # ScholzPhd Tab 4.3.1: 10MW/km^2 - capacity_per_sqkm: 2 - correction_factor: 0.8855 - # proxy for wake losses - # from 10.1016/j.energy.2018.08.153 - # until done more rigorously in #153 - corine: [44, 255] - natura: true - max_depth: 50 - min_shore_distance: 30000 - potential: simple # or conservative - clip_p_max_pu: 1.e-2 - solar: - cutout: europe-2013-sarah - resource: - method: pv - panel: CSi - orientation: - slope: 35. - azimuth: 180. - capacity_per_sqkm: 1.7 # ScholzPhd Tab 4.3.1: 170 MW/km^2 - # Correction factor determined by comparing uncorrected area-weighted full-load hours to those - # published in Supplementary Data to - # Pietzcker, Robert Carl, et al. "Using the sun to decarbonize the power - # sector: The economic potential of photovoltaics and concentrating solar - # power." Applied Energy 135 (2014): 704-720. - # This correction factor of 0.854337 may be in order if using reanalysis data. - # for discussion refer to https://github.com/PyPSA/pypsa-eur/pull/304 - # correction_factor: 0.854337 - corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] - natura: true - potential: simple # or conservative - clip_p_max_pu: 1.e-2 - hydro: - cutout: europe-2013-era5 - carriers: [ror, PHS, hydro] - PHS_max_hours: 6 - hydro_max_hours: "energy_capacity_totals_by_country" # one of energy_capacity_totals_by_country, estimate_by_large_installations or a float - clip_min_inflow: 1.0 - -conventional: - nuclear: - p_max_pu: "data/nuclear_p_max_pu.csv" # float of file name - -lines: - types: - 220.: "Al/St 240/40 2-bundle 220.0" - 300.: "Al/St 240/40 3-bundle 300.0" - 380.: "Al/St 240/40 4-bundle 380.0" - s_max_pu: 0.7 - s_nom_max: .inf - length_factor: 1.25 - under_construction: 'zero' # 'zero': set capacity to zero, 'remove': remove, 'keep': with full capacity - -links: - p_max_pu: 1.0 - p_nom_max: .inf - include_tyndp: true - under_construction: 'zero' # 'zero': set capacity to zero, 'remove': remove, 'keep': with full capacity - -transformers: - x: 0.1 - s_nom: 2000. - type: '' - -load: - power_statistics: True # only for files from <2019; set false in order to get ENTSOE transparency data - interpolate_limit: 3 # data gaps up until this size are interpolated linearly - time_shift_for_large_gaps: 1w # data gaps up until this size are copied by copying from - manual_adjustments: true # false - scaling_factor: 1.0 - -costs: - year: 2030 - version: v0.1.0 - rooftop_share: 0.14 # based on the potentials, assuming (0.1 kW/m2 and 10 m2/person) - fill_values: - FOM: 0 - VOM: 0 - efficiency: 1 - fuel: 0 - investment: 0 - lifetime: 25 - "CO2 intensity": 0 - "discount rate": 0.07 - marginal_cost: - solar: 0.01 - onwind: 0.015 - offwind: 0.015 - hydro: 0. - H2: 0. - electrolysis: 0. - fuel cell: 0. - battery: 0. - battery inverter: 0. - emission_prices: # in currency per tonne emission, only used with the option Ep - co2: 0. - -clustering: - simplify_network: - to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) - algorithm: kmeans # choose from: [hac, kmeans] - feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. - cluster_network: - algorithm: kmeans - feature: solar+onwind-time - aggregation_strategies: - generators: - p_nom_max: sum # use "min" for more conservative assumptions - p_nom_min: sum - p_min_pu: mean - marginal_cost: mean - committable: any - ramp_limit_up: max - ramp_limit_down: max - efficiency: mean - -solving: - options: - formulation: kirchhoff - load_shedding: false - noisy_costs: true - min_iterations: 4 - max_iterations: 6 - clip_p_max_pu: 0.01 - skip_iterations: false - track_iterations: false - #nhours: 10 - solver: - name: gurobi - threads: 4 - method: 2 # barrier - crossover: 0 - BarConvTol: 1.e-5 - FeasibilityTol: 1.e-6 - AggFill: 0 - PreDual: 0 - GURO_PAR_BARDENSETHRESH: 200 - # solver: - # name: cplex - # threads: 4 - # lpmethod: 4 # barrier - # solutiontype: 2 # non basic solution, ie no crossover - # barrier.convergetol: 1.e-5 - # feasopt.tolerance: 1.e-6 - -plotting: - map: - figsize: [7, 7] - boundaries: [-10.2, 29, 35, 72] - p_nom: - bus_size_factor: 5.e+4 - linewidth_factor: 3.e+3 - - costs_max: 800 - costs_threshold: 1 - - energy_max: 15000. - energy_min: -10000. - energy_threshold: 50. - - vre_techs: ["onwind", "offwind-ac", "offwind-dc", "solar", "ror"] - conv_techs: ["OCGT", "CCGT", "Nuclear", "Coal"] - storage_techs: ["hydro+PHS", "battery", "H2"] - load_carriers: ["AC load"] - AC_carriers: ["AC line", "AC transformer"] - link_carriers: ["DC line", "Converter AC-DC"] - tech_colors: - "onwind" : "#235ebc" - "onshore wind" : "#235ebc" - 'offwind' : "#6895dd" - 'offwind-ac' : "#6895dd" - 'offshore wind' : "#6895dd" - 'offshore wind ac' : "#6895dd" - 'offwind-dc' : "#74c6f2" - 'offshore wind dc' : "#74c6f2" - "hydro" : "#08ad97" - "hydro+PHS" : "#08ad97" - "PHS" : "#08ad97" - "hydro reservoir" : "#08ad97" - 'hydroelectricity' : '#08ad97' - "ror" : "#4adbc8" - "run of river" : "#4adbc8" - 'solar' : "#f9d002" - 'solar PV' : "#f9d002" - 'solar thermal' : '#ffef60' - 'biomass' : '#0c6013' - 'solid biomass' : '#06540d' - 'biogas' : '#23932d' - 'waste' : '#68896b' - 'geothermal' : '#ba91b1' - "OCGT" : "#d35050" - "gas" : "#d35050" - "natural gas" : "#d35050" - "CCGT" : "#b20101" - "nuclear" : "#ff9000" - "coal" : "#707070" - "lignite" : "#9e5a01" - "oil" : "#262626" - "H2" : "#ea048a" - "hydrogen storage" : "#ea048a" - "battery" : "#b8ea04" - "Electric load" : "#f9d002" - "electricity" : "#f9d002" - "lines" : "#70af1d" - "transmission lines" : "#70af1d" - "AC-AC" : "#70af1d" - "AC line" : "#70af1d" - "links" : "#8a1caf" - "HVDC links" : "#8a1caf" - "DC-DC" : "#8a1caf" - "DC link" : "#8a1caf" - nice_names: - OCGT: "Open-Cycle Gas" - CCGT: "Combined-Cycle Gas" - offwind-ac: "Offshore Wind (AC)" - offwind-dc: "Offshore Wind (DC)" - onwind: "Onshore Wind" - solar: "Solar" - PHS: "Pumped Hydro Storage" - hydro: "Reservoir & Dam" - battery: "Battery Storage" - H2: "Hydrogen Storage" - lines: "Transmission Lines" - ror: "Run of River" From ed6d93f6f7b04fcb5964c1ba156c4acad294e801 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sat, 10 Sep 2022 15:36:01 +0200 Subject: [PATCH 212/281] add missing SPDX license identifier --- envs/environment.fixed.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/envs/environment.fixed.yaml b/envs/environment.fixed.yaml index cde31ba2..72339219 100644 --- a/envs/environment.fixed.yaml +++ b/envs/environment.fixed.yaml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors +# +# SPDX-License-Identifier: CC0-1.0 + name: pypsa-eur channels: - bioconda From c13d3a520c5fc65f3634c04d2bb9d9070c129677 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sat, 10 Sep 2022 15:38:30 +0200 Subject: [PATCH 213/281] settle envs/environment.yaml --- envs/environment.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 41fd6c86..8cb8e565 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -7,7 +7,7 @@ channels: - conda-forge - bioconda dependencies: - - python==3.9 + - python>=3.8 - pip - pypsa>=0.20 @@ -37,14 +37,14 @@ dependencies: - pyomo - matplotlib - proj - - fiona # <= 1.18.20 # Till issue https://github.com/Toblerity/Fiona/issues/1085 is not solved + - fiona <= 1.18.20 # Till issue https://github.com/Toblerity/Fiona/issues/1085 is not solved - country_converter # Keep in conda environment when calling ipython - ipython # GIS dependencies: - - cartopy>=0.16 + - cartopy - descartes - rasterio<=1.2.9 # 1.2.10 creates error https://github.com/PyPSA/atlite/issues/238 From 61f4f397e4a37d58badd7dfc2e6456c9e99aa178 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sat, 10 Sep 2022 15:41:21 +0200 Subject: [PATCH 214/281] remove non-essential packages --- envs/environment.fixed.yaml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/envs/environment.fixed.yaml b/envs/environment.fixed.yaml index 72339219..b818ce72 100644 --- a/envs/environment.fixed.yaml +++ b/envs/environment.fixed.yaml @@ -127,7 +127,6 @@ dependencies: - gitdb=4.0.9 - gitpython=3.1.27 - glog=0.6.0 - - glpk=5.0 - gmp=6.2.1 - graphite2=1.3.13 - grpc-cpp=1.45.2 @@ -137,15 +136,12 @@ dependencies: - hdf4=4.2.15 - hdf5=1.12.1 - heapdict=1.0.1 - - holoviews=1.15.0 - - hvplot=0.8.0 - icu=68.2 - idna=3.3 - importlib-metadata=4.11.4 - importlib_metadata=4.11.4 - importlib_resources=5.8.0 - iniconfig=1.1.1 - - ipopt=3.14.8 - ipykernel=6.15.1 - ipython=8.4.0 - ipython_genutils=0.2.0 @@ -160,10 +156,6 @@ dependencies: - jupyter_client=7.3.4 - jupyter_core=4.10.0 - jupyter_server=1.18.1 - - jupyterlab=3.4.3 - - jupyterlab_pygments=0.2.2 - - jupyterlab_server=2.15.0 - - jupyterlab_widgets=1.1.1 - kealib=1.4.15 - keyutils=1.6.1 - kiwisolver=1.4.4 @@ -272,8 +264,6 @@ dependencies: - pandas=1.4.3 - pandoc=2.18 - pandocfilters=1.5.0 - - panel=0.13.1 - - param=1.12.2 - parquet-cpp=1.5.1 - parso=0.8.3 - partd=1.2.0 @@ -285,7 +275,6 @@ dependencies: - pip=22.1.2 - pixman=0.40.0 - plac=1.3.5 - - plotly=5.9.0 - pluggy=1.0.0 - ply=3.11 - poppler=21.09.0 @@ -437,6 +426,5 @@ dependencies: - zstd=1.5.2 - pip: - countrycode==0.2 - - gurobipy==9.5.2 - tsam==2.1.0 - vresutils==0.3.1 \ No newline at end of file From 0339ed71ac0f51aa0cd4735fe87bf43644cd05aa Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Tue, 13 Sep 2022 09:47:11 +0200 Subject: [PATCH 215/281] Update Snakefile Co-authored-by: Fabian Neumann --- Snakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Snakefile b/Snakefile index b841eba9..3be3ec6f 100644 --- a/Snakefile +++ b/Snakefile @@ -14,7 +14,7 @@ if not exists("config.yaml"): configfile: "config.yaml" run = config.get("run", {}) -RDIR = run.get("name", "") + "/" if run.get("name", "") else "" +RDIR = run["name"] + "/" if run.get("name") else "" CDIR = RDIR if run.get("dedicated_cutouts", True) else "" COSTS = "resources/" + RDIR + "costs.csv" From acfdc36bd7488670fe74ff79603968820164d87d Mon Sep 17 00:00:00 2001 From: Fabian Date: Tue, 13 Sep 2022 14:43:53 +0200 Subject: [PATCH 216/281] .pre-commit add code spell args --- .pre-commit-config.yaml | 121 ++++++++++++++++++++-------------------- 1 file changed, 59 insertions(+), 62 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a6d643e2..846f0adf 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,86 +1,83 @@ exclude: "^LICENSES" repos: - - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.3.0 - hooks: - - id: check-merge-conflict - - id: end-of-file-fixer - - id: fix-encoding-pragma - - id: mixed-line-ending - - id: trailing-whitespace - - id: check-added-large-files - args: ["--maxkb=2000"] +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.3.0 + hooks: + - id: check-merge-conflict + - id: end-of-file-fixer + - id: fix-encoding-pragma + - id: mixed-line-ending + - id: trailing-whitespace + - id: check-added-large-files + args: ["--maxkb=2000"] # Sort package imports alphabetically - - repo: https://github.com/PyCQA/isort - rev: 5.10.1 - hooks: - - id: isort - args: ["--profile", "black", "--filter-files"] +- repo: https://github.com/PyCQA/isort + rev: 5.10.1 + hooks: + - id: isort + args: ["--profile", "black", "--filter-files"] # Convert relative imports to absolute imports - - repo: https://github.com/MarcoGorelli/absolufy-imports - rev: v0.3.1 - hooks: - - id: absolufy-imports +- repo: https://github.com/MarcoGorelli/absolufy-imports + rev: v0.3.1 + hooks: + - id: absolufy-imports # Find common spelling mistakes in comments and docstrings - - repo: https://github.com/codespell-project/codespell - rev: v2.2.1 - hooks: - - id: codespell - args: [ - '--ignore-regex="(\b[A-Z]+\b)"', - ] # Ignore capital case words, e.g. country codes - types_or: [python, rst, markdown] - files: ^(scripts|doc)/ +- repo: https://github.com/codespell-project/codespell + rev: v2.2.1 + hooks: + - id: codespell + args: ['--ignore-regex="(\b[A-Z]+\b)"', '--ignore-words-list=FOM'] # Ignore capital case words, e.g. country codes + types_or: [python, rst, markdown] + files: ^(scripts|doc)/ # Make docstrings PEP 257 compliant - - repo: https://github.com/myint/docformatter - rev: v1.5.0 - hooks: - - id: docformatter - args: - ["--in-place", "--make-summary-multi-line", "--pre-summary-newline"] +- repo: https://github.com/myint/docformatter + rev: v1.5.0 + hooks: + - id: docformatter + args: ["--in-place", "--make-summary-multi-line", "--pre-summary-newline"] - - repo: https://github.com/keewis/blackdoc - rev: v0.3.5 - hooks: - - id: blackdoc +- repo: https://github.com/keewis/blackdoc + rev: v0.3.5 + hooks: + - id: blackdoc # Formatting with "black" coding style - - repo: https://github.com/psf/black - rev: 22.8.0 - hooks: +- repo: https://github.com/psf/black + rev: 22.8.0 + hooks: # Format Python files - - id: black + - id: black # Format Jupyter Python notebooks - - id: black-jupyter + - id: black-jupyter # Remove output from Jupyter notebooks - - repo: https://github.com/aflc/pre-commit-jupyter - rev: v1.2.1 - hooks: - - id: jupyter-notebook-cleanup - args: ["--remove-kernel-metadata"] +- repo: https://github.com/aflc/pre-commit-jupyter + rev: v1.2.1 + hooks: + - id: jupyter-notebook-cleanup + args: ["--remove-kernel-metadata"] # Do YAML formatting (before the linter checks it for misses) - - repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks - rev: v2.4.0 - hooks: - - id: pretty-format-yaml - args: [--autofix, --indent, "2", --preserve-quotes] +- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks + rev: v2.4.0 + hooks: + - id: pretty-format-yaml + args: [--autofix, --indent, "2", --preserve-quotes] # Format Snakemake rule / workflow files - - repo: https://github.com/snakemake/snakefmt - rev: 0.4.4 - hooks: - - id: snakefmt +- repo: https://github.com/snakemake/snakefmt + rev: 0.4.4 + hooks: + - id: snakefmt # For cleaning jupyter notebooks - - repo: https://github.com/aflc/pre-commit-jupyter - rev: v1.2.1 - hooks: - - id: jupyter-notebook-cleanup - exclude: examples/solve-on-remote.ipynb \ No newline at end of file +- repo: https://github.com/aflc/pre-commit-jupyter + rev: v1.2.1 + hooks: + - id: jupyter-notebook-cleanup + exclude: examples/solve-on-remote.ipynb From 8cfe97524749f1d37d16543792115a8e28a19bd4 Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Tue, 13 Sep 2022 14:50:16 +0200 Subject: [PATCH 217/281] Update doc/configuration.rst Co-authored-by: Fabian Neumann --- doc/configuration.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/configuration.rst b/doc/configuration.rst index b59454cd..ea5df67e 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -35,7 +35,7 @@ It is common conduct to analyse energy system optimisation models for **multiple e.g. assessing their sensitivity towards changing the temporal and/or geographical resolution or investigating how investment changes as more ambitious greenhouse-gas emission reduction targets are applied. -The ``run`` section is used for running and storing scenarios with different configurations which are not covered by :ref:`wildcards`. It determines the path at which resources, networks and results are stored. Therefore the user can run different configurations within the same directory. If a run with a non empty name should use the default cutouts, set ``dedicated_cutouts`` to `false`. +The ``run`` section is used for running and storing scenarios with different configurations which are not covered by :ref:`wildcards`. It determines the path at which resources, networks and results are stored. Therefore the user can run different configurations within the same directory. If a run with a non-empty name should use cutouts shared across runs, set ``shared_cutouts`` to `true`. .. literalinclude:: ../config.default.yaml :language: yaml From b6943375411c867d832045ec42a9498c67f3e5e4 Mon Sep 17 00:00:00 2001 From: Fabian Date: Tue, 13 Sep 2022 14:51:36 +0200 Subject: [PATCH 218/281] scenario management: use "shared_cutouts" instead of "dedicated_cutouts" --- Snakefile | 2 +- config.default.yaml | 2 +- doc/configuration.rst | 2 +- doc/release_notes.rst | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Snakefile b/Snakefile index 3be3ec6f..0e5205ed 100644 --- a/Snakefile +++ b/Snakefile @@ -15,7 +15,7 @@ configfile: "config.yaml" run = config.get("run", {}) RDIR = run["name"] + "/" if run.get("name") else "" -CDIR = RDIR if run.get("dedicated_cutouts", True) else "" +CDIR = RDIR if not run.get("shared_cutouts") else "" COSTS = "resources/" + RDIR + "costs.csv" ATLITE_NPROCESSES = config['atlite'].get('nprocesses', 4) diff --git a/config.default.yaml b/config.default.yaml index a080aad4..fb1e9603 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -11,7 +11,7 @@ logging: run: name: "" # use this to keep track of runs with different settings - dedicated_cutouts: True # set to false to use the default cutout(s) + shared_cutouts: false # set to true to share the default cutout(s) across runs scenario: diff --git a/doc/configuration.rst b/doc/configuration.rst index ea5df67e..fa955d2f 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -35,7 +35,7 @@ It is common conduct to analyse energy system optimisation models for **multiple e.g. assessing their sensitivity towards changing the temporal and/or geographical resolution or investigating how investment changes as more ambitious greenhouse-gas emission reduction targets are applied. -The ``run`` section is used for running and storing scenarios with different configurations which are not covered by :ref:`wildcards`. It determines the path at which resources, networks and results are stored. Therefore the user can run different configurations within the same directory. If a run with a non-empty name should use cutouts shared across runs, set ``shared_cutouts`` to `true`. +The ``run`` section is used for running and storing scenarios with different configurations which are not covered by :ref:`wildcards`. It determines the path at which resources, networks and results are stored. Therefore the user can run different configurations within the same directory. If a run with a non-empty name should use cutouts shared across runs, set ``shared_cutouts`` to `true`. .. literalinclude:: ../config.default.yaml :language: yaml diff --git a/doc/release_notes.rst b/doc/release_notes.rst index a532b7a3..b61e6ee8 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -34,7 +34,7 @@ PyPSA-Eur 0.6.0 (10th September 2022) setting ``excluder_resolution``. -* The software now supports running the workflow with different settings within the same directory. A new config section ``run`` was created that specifies under which scenario ``name`` the created resources, networks and results should be stored. If ``name`` is not specified, the workflow uses the default paths. The entry ``dedicated_cutouts`` specifies whether the run should use cutouts from the default root directory and use run-specific cutouts. +* The software now supports running the workflow with different settings within the same directory. A new config section ``run`` was created that specifies under which scenario ``name`` the created resources, networks and results should be stored. If ``name`` is not specified, the workflow uses the default paths. The entry ``shared_cutouts`` specifies whether the run should use cutouts from the default root directory or use run-specific cutouts. PyPSA-Eur 0.5.0 (27th July 2022) ===================================== From 24e008a98e03f6cf0def2ed95d1d75fed555a72b Mon Sep 17 00:00:00 2001 From: Philipp Glaum Date: Fri, 16 Sep 2022 14:25:15 +0200 Subject: [PATCH 219/281] add feature: aggregate carrier exclusion --- config.default.yaml | 1 + config.tutorial.yaml | 1 + scripts/cluster_network.py | 3 +-- scripts/simplify_network.py | 13 ++++++++----- test/config.test1.yaml | 1 + 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index fb1e9603..0c2c8218 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -261,6 +261,7 @@ clustering: cluster_network: algorithm: kmeans feature: solar+onwind-time + exclude_carriers: [] # list of carriers which will not be aggregated. If empty, all carriers will be aggregated. aggregation_strategies: generators: p_nom_max: sum # use "min" for more conservative assumptions diff --git a/config.tutorial.yaml b/config.tutorial.yaml index fb5fe807..0cfdc5ab 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -191,6 +191,7 @@ clustering: cluster_network: algorithm: kmeans feature: solar+onwind-time + exclude_carriers: [] # list of carriers which will not be aggregated. If empty, all carriers will be aggregated. aggregation_strategies: generators: p_nom_max: sum # use "min" for more conservative assumptions diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 11defccb..a392d024 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -393,15 +393,14 @@ if __name__ == "__main__": for tech in n.generators.carrier.unique() if tech in snakemake.config['renewable']]) + aggregate_carriers=set(n.carriers.index)-set(snakemake.config["clustering"]["exclude_carriers"]) if snakemake.wildcards.clusters.endswith('m'): n_clusters = int(snakemake.wildcards.clusters[:-1]) aggregate_carriers = snakemake.config["electricity"].get("conventional_carriers") elif snakemake.wildcards.clusters == 'all': n_clusters = len(n.buses) - aggregate_carriers = None # All else: n_clusters = int(snakemake.wildcards.clusters) - aggregate_carriers = None # All if n_clusters == len(n.buses): # Fast-path if no clustering is necessary diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 56889fbf..16726156 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -197,7 +197,7 @@ def _adjust_capital_costs_using_connection_costs(n, connection_costs_to_bus, out def _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, aggregate_one_ports={"Load", "StorageUnit"}, - aggregation_strategies=dict()): + aggregation_strategies=dict(), exclude_carriers=None): def replace_components(n, c, df, pnl): n.mremove(c, n.df(c).index) @@ -210,9 +210,10 @@ def _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, _adjust_capital_costs_using_connection_costs(n, connection_costs_to_bus, output) _, generator_strategies = get_aggregation_strategies(aggregation_strategies) - + + carriers=set(n.carriers.index)-set(exclude_carriers) generators, generators_pnl = aggregategenerators( - n, busmap, custom_strategies=generator_strategies + n, busmap, carriers=carriers, custom_strategies=generator_strategies ) replace_components(n, "Generator", generators, generators_pnl) @@ -320,8 +321,9 @@ def simplify_links(n, costs, config, output, aggregation_strategies=dict()): logger.debug("Collecting all components using the busmap") + exclude_carriers=config["clustering"]["exclude_carriers"] _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, - aggregation_strategies=aggregation_strategies) + aggregation_strategies=aggregation_strategies, exclude_carriers=exclude_carriers) return n, busmap def remove_stubs(n, costs, config, output, aggregation_strategies=dict()): @@ -331,8 +333,9 @@ def remove_stubs(n, costs, config, output, aggregation_strategies=dict()): connection_costs_to_bus = _compute_connection_costs_to_bus(n, busmap, costs, config) + exclude_carriers=config["clustering"]["exclude_carriers"] _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, - aggregation_strategies=aggregation_strategies) + aggregation_strategies=aggregation_strategies, exclude_carriers=exclude_carriers) return n, busmap diff --git a/test/config.test1.yaml b/test/config.test1.yaml index a9df427b..9cc4015b 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -189,6 +189,7 @@ clustering: cluster_network: algorithm: kmeans feature: solar+onwind-time + exclude_carriers: ["OCGT", "offwind-ac", "coal"] aggregation_strategies: generators: p_nom_max: sum # use "min" for more conservative assumptions From 1536cc2787d0a31cf6d303674ef3386a8a01811f Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 16 Sep 2022 13:33:38 +0200 Subject: [PATCH 220/281] codespell: fix typos Snakefile: fix unformattable parst pre-commit: fix codespell ignore --- .pre-commit-config.yaml | 2 +- Snakefile | 15 ++++++++++----- doc/cloudcomputing.rst | 4 ++-- doc/contributing.rst | 2 +- doc/release_notes.rst | 6 +++--- doc/tutorial.rst | 12 ++++-------- doc/wildcards.rst | 2 +- scripts/add_electricity.py | 2 +- scripts/cluster_network.py | 2 +- scripts/make_summary.py | 6 +++--- scripts/simplify_network.py | 4 ++-- 11 files changed, 29 insertions(+), 28 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 846f0adf..0bed73b8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -30,7 +30,7 @@ repos: rev: v2.2.1 hooks: - id: codespell - args: ['--ignore-regex="(\b[A-Z]+\b)"', '--ignore-words-list=FOM'] # Ignore capital case words, e.g. country codes + args: ['--ignore-regex="(\b[A-Z]+\b)"', '--ignore-words-list=fom'] # Ignore capital case words, e.g. country codes types_or: [python, rst, markdown] files: ^(scripts|doc)/ diff --git a/Snakefile b/Snakefile index 79adc377..9f31fa77 100644 --- a/Snakefile +++ b/Snakefile @@ -71,7 +71,8 @@ rule retrieve_load_data: input: HTTP.remote("data.open-power-system-data.org/time_series/2019-06-05/time_series_60min_singleindex.csv", keep_local=True, static=True) output: "data/load_raw.csv" resources: mem_mb=5000 - run: move(input[0], output[0]) + run: + move(input[0], output[0]) rule build_load_data: @@ -165,7 +166,8 @@ if config['enable'].get('retrieve_cutout', True): output: "cutouts/{cutout}.nc" log: "logs/retrieve_cutout_{cutout}.log" resources: mem_mb=5000 - run: move(input[0], output[0]) + run: + move(input[0], output[0]) if config['enable'].get('retrieve_cost_data', True): rule retrieve_cost_data: @@ -173,7 +175,8 @@ if config['enable'].get('retrieve_cost_data', True): output: COSTS log: "logs/retrieve_cost_data.log" resources: mem_mb=5000 - run: move(input[0], output[0]) + run: + move(input[0], output[0]) if config['enable'].get('build_natura_raster', False): rule build_natura_raster: @@ -191,14 +194,16 @@ if config['enable'].get('retrieve_natura_raster', True): input: HTTP.remote("zenodo.org/record/4706686/files/natura.tiff", keep_local=True, static=True) output: "resources/natura.tiff" resources: mem_mb=5000 - run: move(input[0], output[0]) + run: + move(input[0], output[0]) rule retrieve_ship_raster: input: HTTP.remote("https://zenodo.org/record/6953563/files/shipdensity_global.zip", keep_local=True, static=True) output: "data/shipdensity_global.zip" resources: mem_mb=5000 - run: move(input[0], output[0]) + run: + move(input[0], output[0]) rule build_ship_raster: diff --git a/doc/cloudcomputing.rst b/doc/cloudcomputing.rst index f751d624..6df8b2b3 100644 --- a/doc/cloudcomputing.rst +++ b/doc/cloudcomputing.rst @@ -72,7 +72,7 @@ Step 3 - Installation of Cloud SDK - Download Google Cloud SDK `SDK `_. Check that you are logged in in your Google account. The link should lead you to the Windows installation of Google Cloud SDK. - Follow the "Quickstart for Windows - Before you begin" steps. -- After the successfull installation and initialization, close the Google Cloud SDK reopen it again. Type the following command into the "Google Cloud SDK Shell": +- After the successful installation and initialization, close the Google Cloud SDK reopen it again. Type the following command into the "Google Cloud SDK Shell": .. code:: bash @@ -107,7 +107,7 @@ Make sure that your instance is operating for the next steps. - Click on the advanced setting. SSH -> Authentication. - Option 1. Click on the Tools button and "Install Public Key into Server..". Somewhere in your folder structure must be a public key. I found it with the following folder syntax on my local windows computer -> :\Users\...\.ssh (there should be a PKK file). - Option 2. Click on the Tools button and "Generate new key pair...". Save the private key at a folder you remember and add it to the "private key file" field in WinSCP. Upload the public key to the metadeta of your instance. -- Click ok and save. Then click Login. If successfull WinSCP will open on the left side your local computer folder structure and on the right side the folder strucutre of your VM. (If you followed Option 2 and its not initially working. Stop your instance, refresh the website, reopen the WinSCP field. Afterwards your your Login should be successfull) +- Click ok and save. Then click Login. If successful WinSCP will open on the left side your local computer folder structure and on the right side the folder structure of your VM. (If you followed Option 2 and its not initially working. Stop your instance, refresh the website, reopen the WinSCP field. Afterwards your your Login should be successful) If you had struggle with the above steps, you could also try `this video `_. diff --git a/doc/contributing.rst b/doc/contributing.rst index b7ccc8e7..57959124 100644 --- a/doc/contributing.rst +++ b/doc/contributing.rst @@ -29,7 +29,7 @@ use `pre-commit `_: Note that installing `pre-commit` locally is not strictly necessary. If you create a Pull Request the `pre-commit CI` will be triggered automatically and take care of the checks. For all code contributions we follow the four eyes principle (two person principle), i.e. all suggested code -including our own are reviewed by a second person before they are incoporated into our repository. +including our own are reviewed by a second person before they are incorporated into our repository. If you are unfamiliar with pull requests, the GitHub help pages have a nice `guide `_. diff --git a/doc/release_notes.rst b/doc/release_notes.rst index dcf42355..892e71ac 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -166,7 +166,7 @@ PyPSA-Eur 0.5.0 (27th July 2022) * Enable parallel computing with new dask version. -* Restore compatibility of ``mock_snakemake`` with lastest Snakemake versions. +* Restore compatibility of ``mock_snakemake`` with latest Snakemake versions. * Script ``build_bus_regions``: move voronoi partition from vresutils to script. @@ -255,7 +255,7 @@ PyPSA-Eur 0.4.0 (22th September 2021) [`#261 `_]. * The tutorial cutout was renamed from ``cutouts/europe-2013-era5.nc`` to - ``cutouts/be-03-2013-era5.nc`` to accomodate tutorial and productive + ``cutouts/be-03-2013-era5.nc`` to accommodate tutorial and productive cutouts side-by-side. * The flag ``keep_all_available_areas`` in the configuration for renewable @@ -448,7 +448,7 @@ PyPSA-Eur 0.2.0 (8th June 2020) * Removed the ``id`` column for custom power plants in ``data/custom_powerplants.csv`` to avoid custom power plants with conflicting ids getting attached to the wrong bus [`#131 `_]. -* Add option ``renewables: {carrier}: keep_all_available_areas:`` to use all availabe weather cells for renewable profile and potential generation. The default ignores weather cells where only less than 1 MW can be installed [`#150 `_]. +* Add option ``renewables: {carrier}: keep_all_available_areas:`` to use all available weather cells for renewable profile and potential generation. The default ignores weather cells where only less than 1 MW can be installed [`#150 `_]. * Added a function ``_helpers.load_network()`` which loads a network with overridden components specified in ``snakemake.config['override_components']`` [`#128 `_]. diff --git a/doc/tutorial.rst b/doc/tutorial.rst index 916dae0e..75bd350b 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -119,13 +119,9 @@ clustered down to 6 buses and every 24 hours aggregated to one snapshot. The com orders ``snakemake`` to run the script ``solve_network`` that produces the solved network and stores it in ``.../pypsa-eur/results/networks`` with the name ``elec_s_6_ec_lcopt_Co2L-24H.nc``: -.. code:: - - rule solve_network: - input: "networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" - output: "results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" - [...] - script: "scripts/solve_network.py" +.. literalinclude:: ../Snakefile + :start-at: rule solve_network: + :end-before: rule solve_operations_network: .. until https://github.com/snakemake/snakemake/issues/46 closed @@ -245,7 +241,7 @@ Once the whole worktree is finished, it should show state so in the terminal: You will notice that many intermediate stages are saved, namely the outputs of each individual ``snakemake`` rule. -You can produce any output file occuring in the ``Snakefile`` by running +You can produce any output file occurring in the ``Snakefile`` by running .. code:: bash diff --git a/doc/wildcards.rst b/doc/wildcards.rst index 09dc53e9..61bde06b 100644 --- a/doc/wildcards.rst +++ b/doc/wildcards.rst @@ -123,7 +123,7 @@ These cutouts will be stored in a folder specified by ``{cutout}``. The ``{technology}`` wildcard ============================= -The ``{technology}`` wildcard specifies for which renewable energy technology to produce availablity time +The ``{technology}`` wildcard specifies for which renewable energy technology to produce availability time series and potentials using the rule :mod:`build_renewable_profiles`. It can take the values ``onwind``, ``offwind-ac``, ``offwind-dc``, and ``solar`` but **not** ``hydro`` (since hydroelectric plant profiles are created by a different rule). diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 5f667190..039d58e3 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -582,7 +582,7 @@ if __name__ == "__main__": extendable_carriers = snakemake.config['electricity']['extendable_carriers'] if not (set(renewable_carriers) & set(extendable_carriers['Generator'])): logger.warning("No renewables found in config entry `extendable_carriers`. " - "In future versions, these have to be explicitely listed. " + "In future versions, these have to be explicitly listed. " "Falling back to all renewables.") conventional_carriers = snakemake.config["electricity"]["conventional_carriers"] diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 11defccb..b0f78fff 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -286,7 +286,7 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori logger.info( f"overwriting country `{country}` of bus `{disconnected_bus}` " f"to new country `{new_country}`, because it is disconnected " - "from its inital inter-country transmission grid." + "from its initial inter-country transmission grid." ) n.buses.at[disconnected_bus, "country"] = new_country return n diff --git a/scripts/make_summary.py b/scripts/make_summary.py index 75959877..4ba01dc9 100644 --- a/scripts/make_summary.py +++ b/scripts/make_summary.py @@ -33,9 +33,9 @@ Outputs Description ----------- -The following rule can be used to summarize the results in seperate .csv files: +The following rule can be used to summarize the results in separate .csv files: -.. code:: +.. code:: bash snakemake results/summaries/elec_s_all_lall_Co2L-3H_all clusters @@ -46,7 +46,7 @@ The following rule can be used to summarize the results in seperate .csv files: the line volume/cost cap field can be set to one of the following: * ``lv1.25`` for a particular line volume extension by 25% * ``lc1.25`` for a line cost extension by 25 % -* ``lall`` for all evalutated caps +* ``lall`` for all evaluated caps * ``lvall`` for all line volume caps * ``lcall`` for all line cost caps diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 56889fbf..2236fafe 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -77,7 +77,7 @@ The rule :mod:`simplify_network` does up to four things: 1. Create an equivalent transmission network in which all voltage levels are mapped to the 380 kV level by the function ``simplify_network(...)``. -2. DC only sub-networks that are connected at only two buses to the AC network are reduced to a single representative link in the function ``simplify_links(...)``. The components attached to buses in between are moved to the nearest endpoint. The grid connection cost of offshore wind generators are added to the captial costs of the generator. +2. DC only sub-networks that are connected at only two buses to the AC network are reduced to a single representative link in the function ``simplify_links(...)``. The components attached to buses in between are moved to the nearest endpoint. The grid connection cost of offshore wind generators are added to the capital costs of the generator. 3. Stub lines and links, i.e. dead-ends of the network, are sequentially removed from the network in the function ``remove_stubs(...)``. Components are moved along. @@ -112,7 +112,7 @@ def simplify_network_to_380(n): its voltage level, line type and number of parallel bundles (num_parallel). Transformers are removed and connected components are moved from their - starting bus to their ending bus. The corresponing starting buses are + starting bus to their ending bus. The corresponding starting buses are removed as well. """ logger.info("Mapping all network lines onto a single 380kV layer") From e9ea4c5e53d29bdc918955692188987d9000ca49 Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 16 Sep 2022 15:03:22 +0200 Subject: [PATCH 221/281] update release notes --- doc/release_notes.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 20d6f064..e4b383f8 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -10,7 +10,8 @@ Release Notes Upcoming Release ================ -* new feature +* Individual commits are now tested against pre-commit hooks. This includes black style formatting, sorting of package imports, Snakefile formatting and others. Installation instructions can for the pre-commit can be found `here `_. +* Pre-commit CI is now part of the repository's CI. PyPSA-Eur 0.6.0 (10th September 2022) From 5d1ef8a64055a039aa4a0834d2d26fe7752fe9a0 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 16 Sep 2022 13:04:04 +0000 Subject: [PATCH 222/281] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .github/ISSUE_TEMPLATE/config.yml | 6 +- .github/workflows/ci.yaml | 92 +-- .readthedocs.yml | 2 +- .syncignore-receive | 2 +- Snakefile | 699 +++++++++++++++------- config.default.yaml | 106 ++-- config.tutorial.yaml | 102 ++-- data/eia_hydro_annual_generation.csv | 2 +- data/nuclear_p_max_pu.csv | 2 +- doc/_static/theme_overrides.css | 2 +- doc/conf.py | 186 +++--- doc/configtables/electricity.csv | 2 +- doc/configtables/load.csv | 2 +- doc/configtables/opts.csv | 2 +- doc/configuration.rst | 6 +- doc/index.rst | 2 +- doc/preparation/retrieve.rst | 2 +- doc/release_notes.rst | 66 +-- doc/requirements.txt | 2 +- doc/wildcards.rst | 1 + envs/environment.fixed.yaml | 846 +++++++++++++-------------- envs/environment.yaml | 86 +-- scripts/_helpers.py | 222 ++++--- scripts/add_electricity.py | 830 ++++++++++++++++---------- scripts/add_extra_components.py | 233 +++++--- scripts/base_network.py | 544 +++++++++++------ scripts/build_bus_regions.py | 100 ++-- scripts/build_cutout.py | 32 +- scripts/build_hydro_profile.py | 83 +-- scripts/build_load_data.py | 263 ++++++--- scripts/build_natura_raster.py | 32 +- scripts/build_powerplants.py | 81 +-- scripts/build_renewable_profiles.py | 194 +++--- scripts/build_shapes.py | 178 ++++-- scripts/build_ship_raster.py | 29 +- scripts/cluster_network.py | 363 ++++++++---- scripts/make_summary.py | 393 ++++++++----- scripts/plot_network.py | 386 +++++++----- scripts/plot_p_nom_max.py | 49 +- scripts/plot_summary.py | 107 ++-- scripts/prepare_links_p_nom.py | 51 +- scripts/prepare_network.py | 190 +++--- scripts/retrieve_databundle.py | 22 +- scripts/simplify_network.py | 368 ++++++++---- scripts/solve_network.py | 352 ++++++----- scripts/solve_operations_network.py | 109 ++-- test/config.test1.yaml | 100 ++-- 47 files changed, 4578 insertions(+), 2951 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 5b64d242..d8c04382 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,5 @@ blank_issues_enabled: false contact_links: - - name: PyPSA Mailing List - url: https://groups.google.com/forum/#!forum/pypsa - about: Please ask and answer general usage questions here. +- name: PyPSA Mailing List + url: https://groups.google.com/forum/#!forum/pypsa + about: Please ask and answer general usage questions here. diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c753deab..2be9b7f7 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -16,7 +16,7 @@ on: branches: - master schedule: - - cron: "0 5 * * TUE" + - cron: "0 5 * * TUE" env: CACHE_NUMBER: 1 # Change this value to manually reset the environment cache @@ -28,63 +28,63 @@ jobs: matrix: include: # Matrix required to handle caching with Mambaforge - - os: ubuntu-latest - label: ubuntu-latest - prefix: /usr/share/miniconda3/envs/pypsa-eur + - os: ubuntu-latest + label: ubuntu-latest + prefix: /usr/share/miniconda3/envs/pypsa-eur - - os: macos-latest - label: macos-latest - prefix: /Users/runner/miniconda3/envs/pypsa-eur + - os: macos-latest + label: macos-latest + prefix: /Users/runner/miniconda3/envs/pypsa-eur - - os: windows-latest - label: windows-latest - prefix: C:\Miniconda3\envs\pypsa-eur + - os: windows-latest + label: windows-latest + prefix: C:\Miniconda3\envs\pypsa-eur name: ${{ matrix.label }} runs-on: ${{ matrix.os }} - + defaults: run: shell: bash -l {0} - + steps: - - uses: actions/checkout@v2 - - - name: Setup secrets - run: | - echo -ne "url: ${CDSAPI_URL}\nkey: ${CDSAPI_TOKEN}\n" > ~/.cdsapirc + - uses: actions/checkout@v2 - - name: Add solver to environment - run: | - echo -e " - glpk\n - ipopt<3.13.3" >> envs/environment.yaml + - name: Setup secrets + run: | + echo -ne "url: ${CDSAPI_URL}\nkey: ${CDSAPI_TOKEN}\n" > ~/.cdsapirc - - name: Setup Mambaforge - uses: conda-incubator/setup-miniconda@v2 - with: - miniforge-variant: Mambaforge - miniforge-version: latest - activate-environment: pypsa-eur - use-mamba: true - - - name: Set cache date - run: echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV + - name: Add solver to environment + run: | + echo -e " - glpk\n - ipopt<3.13.3" >> envs/environment.yaml - - name: Create environment cache - uses: actions/cache@v2 - id: cache - with: - path: ${{ matrix.prefix }} - key: ${{ matrix.label }}-conda-${{ hashFiles('envs/environment.yaml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} + - name: Setup Mambaforge + uses: conda-incubator/setup-miniconda@v2 + with: + miniforge-variant: Mambaforge + miniforge-version: latest + activate-environment: pypsa-eur + use-mamba: true - - name: Update environment due to outdated or unavailable cache - run: mamba env update -n pypsa-eur -f envs/environment.yaml - if: steps.cache.outputs.cache-hit != 'true' + - name: Set cache date + run: echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV - - name: Test snakemake workflow - run: | - conda activate pypsa-eur - conda list - cp test/config.test1.yaml config.yaml - snakemake --cores all solve_all_networks - rm -rf resources/*.nc resources/*.geojson resources/*.h5 networks results + - name: Create environment cache + uses: actions/cache@v2 + id: cache + with: + path: ${{ matrix.prefix }} + key: ${{ matrix.label }}-conda-${{ hashFiles('envs/environment.yaml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} + + - name: Update environment due to outdated or unavailable cache + run: mamba env update -n pypsa-eur -f envs/environment.yaml + if: steps.cache.outputs.cache-hit != 'true' + + - name: Test snakemake workflow + run: | + conda activate pypsa-eur + conda list + cp test/config.test1.yaml config.yaml + snakemake --cores all solve_all_networks + rm -rf resources/*.nc resources/*.geojson resources/*.h5 networks results diff --git a/.readthedocs.yml b/.readthedocs.yml index a492403f..4290ae6f 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -7,5 +7,5 @@ version: 2 python: version: 3.8 install: - - requirements: doc/requirements.txt + - requirements: doc/requirements.txt system_packages: true diff --git a/.syncignore-receive b/.syncignore-receive index 717245c3..8a9f7d10 100644 --- a/.syncignore-receive +++ b/.syncignore-receive @@ -16,4 +16,4 @@ notebooks doc cutouts data/bundle -*.nc \ No newline at end of file +*.nc diff --git a/Snakefile b/Snakefile index b84efa99..25c717cf 100644 --- a/Snakefile +++ b/Snakefile @@ -6,207 +6,312 @@ from os.path import normpath, exists from shutil import copyfile, move from snakemake.remote.HTTP import RemoteProvider as HTTPRemoteProvider + HTTP = HTTPRemoteProvider() if not exists("config.yaml"): copyfile("config.default.yaml", "config.yaml") + configfile: "config.yaml" + run = config.get("run", {}) RDIR = run["name"] + "/" if run.get("name") else "" -CDIR = RDIR if not run.get("shared_cutouts") else "" +CDIR = RDIR if not run.get("shared_cutouts") else "" COSTS = "resources/" + RDIR + "costs.csv" -ATLITE_NPROCESSES = config['atlite'].get('nprocesses', 4) +ATLITE_NPROCESSES = config["atlite"].get("nprocesses", 4) wildcard_constraints: simpl="[a-zA-Z0-9]*|all", clusters="[0-9]+m?|all", ll="(v|c)([0-9\.]+|opt|all)|all", - opts="[-+a-zA-Z0-9\.]*" + opts="[-+a-zA-Z0-9\.]*", rule cluster_all_networks: - input: expand("networks/" + RDIR + "elec_s{simpl}_{clusters}.nc", **config['scenario']) + input: + expand("networks/" + RDIR + "elec_s{simpl}_{clusters}.nc", **config["scenario"]), rule extra_components_all_networks: - input: expand("networks/" + RDIR + "elec_s{simpl}_{clusters}_ec.nc", **config['scenario']) + input: + expand( + "networks/" + RDIR + "elec_s{simpl}_{clusters}_ec.nc", **config["scenario"] + ), rule prepare_all_networks: - input: expand("networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) + input: + expand( + "networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", + **config["scenario"] + ), rule solve_all_networks: - input: expand("results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", **config['scenario']) + input: + expand( + "results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", + **config["scenario"] + ), -if config['enable'].get('prepare_links_p_nom', False): +if config["enable"].get("prepare_links_p_nom", False): + rule prepare_links_p_nom: - output: 'data/links_p_nom.csv' - log: "logs/" + RDIR + "prepare_links_p_nom.log" + output: + "data/links_p_nom.csv", + log: + "logs/" + RDIR + "prepare_links_p_nom.log", threads: 1 - resources: mem_mb=500 - script: 'scripts/prepare_links_p_nom.py' + resources: + mem_mb=500, + script: + "scripts/prepare_links_p_nom.py" -datafiles = ['ch_cantons.csv', 'je-e-21.03.02.xls', - 'eez/World_EEZ_v8_2014.shp', - 'hydro_capacities.csv', 'naturalearth/ne_10m_admin_0_countries.shp', - 'NUTS_2013_60M_SH/data/NUTS_RG_60M_2013.shp', 'nama_10r_3popgdp.tsv.gz', - 'nama_10r_3gdp.tsv.gz', 'corine/g250_clc06_V18_5.tif'] +datafiles = [ + "ch_cantons.csv", + "je-e-21.03.02.xls", + "eez/World_EEZ_v8_2014.shp", + "hydro_capacities.csv", + "naturalearth/ne_10m_admin_0_countries.shp", + "NUTS_2013_60M_SH/data/NUTS_RG_60M_2013.shp", + "nama_10r_3popgdp.tsv.gz", + "nama_10r_3gdp.tsv.gz", + "corine/g250_clc06_V18_5.tif", +] -if not config.get('tutorial', False): +if not config.get("tutorial", False): datafiles.extend(["natura/Natura2000_end2015.shp", "GEBCO_2014_2D.nc"]) -if config['enable'].get('retrieve_databundle', True): +if config["enable"].get("retrieve_databundle", True): + rule retrieve_databundle: - output: expand('data/bundle/{file}', file=datafiles) - log: "logs/" + RDIR + "retrieve_databundle.log" - resources: mem_mb=1000 - script: 'scripts/retrieve_databundle.py' + output: + expand("data/bundle/{file}", file=datafiles), + log: + "logs/" + RDIR + "retrieve_databundle.log", + resources: + mem_mb=1000, + script: + "scripts/retrieve_databundle.py" rule retrieve_load_data: - input: HTTP.remote("data.open-power-system-data.org/time_series/2019-06-05/time_series_60min_singleindex.csv", keep_local=True, static=True) - output: "data/load_raw.csv" - resources: mem_mb=5000 + input: + HTTP.remote( + "data.open-power-system-data.org/time_series/2019-06-05/time_series_60min_singleindex.csv", + keep_local=True, + static=True, + ), + output: + "data/load_raw.csv", + resources: + mem_mb=5000, run: move(input[0], output[0]) rule build_load_data: - input: "data/load_raw.csv" - output: "resources/" + RDIR + "load.csv" - log: "logs/" + RDIR + "build_load_data.log" - resources: mem_mb=5000 - script: 'scripts/build_load_data.py' + input: + "data/load_raw.csv", + output: + "resources/" + RDIR + "load.csv", + log: + "logs/" + RDIR + "build_load_data.log", + resources: + mem_mb=5000, + script: + "scripts/build_load_data.py" + rule build_powerplants: input: base_network="networks/" + RDIR + "base.nc", - custom_powerplants="data/custom_powerplants.csv" - output: "resources/" + RDIR + "powerplants.csv" - log: "logs/" + RDIR + "build_powerplants.log" + custom_powerplants="data/custom_powerplants.csv", + output: + "resources/" + RDIR + "powerplants.csv", + log: + "logs/" + RDIR + "build_powerplants.log", threads: 1 - resources: mem_mb=5000 - script: "scripts/build_powerplants.py" + resources: + mem_mb=5000, + script: + "scripts/build_powerplants.py" rule base_network: input: - eg_buses='data/entsoegridkit/buses.csv', - eg_lines='data/entsoegridkit/lines.csv', - eg_links='data/entsoegridkit/links.csv', - eg_converters='data/entsoegridkit/converters.csv', - eg_transformers='data/entsoegridkit/transformers.csv', - parameter_corrections='data/parameter_corrections.yaml', - links_p_nom='data/links_p_nom.csv', - links_tyndp='data/links_tyndp.csv', + eg_buses="data/entsoegridkit/buses.csv", + eg_lines="data/entsoegridkit/lines.csv", + eg_links="data/entsoegridkit/links.csv", + eg_converters="data/entsoegridkit/converters.csv", + eg_transformers="data/entsoegridkit/transformers.csv", + parameter_corrections="data/parameter_corrections.yaml", + links_p_nom="data/links_p_nom.csv", + links_tyndp="data/links_tyndp.csv", country_shapes="resources/" + RDIR + "country_shapes.geojson", offshore_shapes="resources/" + RDIR + "offshore_shapes.geojson", - europe_shape="resources/" + RDIR + "europe_shape.geojson" - output: "networks/" + RDIR + "base.nc" - log: "logs/" + RDIR + "base_network.log" - benchmark: "benchmarks/" + RDIR + "base_network" + europe_shape="resources/" + RDIR + "europe_shape.geojson", + output: + "networks/" + RDIR + "base.nc", + log: + "logs/" + RDIR + "base_network.log", + benchmark: + "benchmarks/" + RDIR + "base_network" threads: 1 - resources: mem_mb=500 - script: "scripts/base_network.py" + resources: + mem_mb=500, + script: + "scripts/base_network.py" rule build_shapes: input: - naturalearth='data/bundle/naturalearth/ne_10m_admin_0_countries.shp', - eez='data/bundle/eez/World_EEZ_v8_2014.shp', - nuts3='data/bundle/NUTS_2013_60M_SH/data/NUTS_RG_60M_2013.shp', - nuts3pop='data/bundle/nama_10r_3popgdp.tsv.gz', - nuts3gdp='data/bundle/nama_10r_3gdp.tsv.gz', - ch_cantons='data/bundle/ch_cantons.csv', - ch_popgdp='data/bundle/je-e-21.03.02.xls' + naturalearth="data/bundle/naturalearth/ne_10m_admin_0_countries.shp", + eez="data/bundle/eez/World_EEZ_v8_2014.shp", + nuts3="data/bundle/NUTS_2013_60M_SH/data/NUTS_RG_60M_2013.shp", + nuts3pop="data/bundle/nama_10r_3popgdp.tsv.gz", + nuts3gdp="data/bundle/nama_10r_3gdp.tsv.gz", + ch_cantons="data/bundle/ch_cantons.csv", + ch_popgdp="data/bundle/je-e-21.03.02.xls", output: country_shapes="resources/" + RDIR + "country_shapes.geojson", offshore_shapes="resources/" + RDIR + "offshore_shapes.geojson", europe_shape="resources/" + RDIR + "europe_shape.geojson", - nuts3_shapes="resources/" + RDIR + "nuts3_shapes.geojson" - log: "logs/" + RDIR + "build_shapes.log" + nuts3_shapes="resources/" + RDIR + "nuts3_shapes.geojson", + log: + "logs/" + RDIR + "build_shapes.log", threads: 1 - resources: mem_mb=500 - script: "scripts/build_shapes.py" + resources: + mem_mb=500, + script: + "scripts/build_shapes.py" rule build_bus_regions: input: country_shapes="resources/" + RDIR + "country_shapes.geojson", offshore_shapes="resources/" + RDIR + "offshore_shapes.geojson", - base_network="networks/" + RDIR + "base.nc" + base_network="networks/" + RDIR + "base.nc", output: regions_onshore="resources/" + RDIR + "regions_onshore.geojson", - regions_offshore="resources/" + RDIR + "regions_offshore.geojson" - log: "logs/" + RDIR + "build_bus_regions.log" + regions_offshore="resources/" + RDIR + "regions_offshore.geojson", + log: + "logs/" + RDIR + "build_bus_regions.log", threads: 1 - resources: mem_mb=1000 - script: "scripts/build_bus_regions.py" + resources: + mem_mb=1000, + script: + "scripts/build_bus_regions.py" + + +if config["enable"].get("build_cutout", False): -if config['enable'].get('build_cutout', False): rule build_cutout: - input: + input: regions_onshore="resources/" + RDIR + "regions_onshore.geojson", - regions_offshore="resources/" + RDIR + "regions_offshore.geojson" - output: "cutouts/" + CDIR + "{cutout}.nc" - log: "logs/" + CDIR + "build_cutout/{cutout}.log" - benchmark: "benchmarks/" + CDIR + "build_cutout_{cutout}" + regions_offshore="resources/" + RDIR + "regions_offshore.geojson", + output: + "cutouts/" + CDIR + "{cutout}.nc", + log: + "logs/" + CDIR + "build_cutout/{cutout}.log", + benchmark: + "benchmarks/" + CDIR + "build_cutout_{cutout}" threads: ATLITE_NPROCESSES - resources: mem_mb=ATLITE_NPROCESSES * 1000 - script: "scripts/build_cutout.py" + resources: + mem_mb=ATLITE_NPROCESSES * 1000, + script: + "scripts/build_cutout.py" -if config['enable'].get('retrieve_cutout', True): +if config["enable"].get("retrieve_cutout", True): + rule retrieve_cutout: - input: HTTP.remote("zenodo.org/record/6382570/files/{cutout}.nc", keep_local=True, static=True) - output: "cutouts/" + CDIR + "{cutout}.nc" - log: "logs/" + CDIR + "retrieve_cutout_{cutout}.log" - resources: mem_mb=5000 + input: + HTTP.remote( + "zenodo.org/record/6382570/files/{cutout}.nc", + keep_local=True, + static=True, + ), + output: + "cutouts/" + CDIR + "{cutout}.nc", + log: + "logs/" + CDIR + "retrieve_cutout_{cutout}.log", + resources: + mem_mb=5000, run: move(input[0], output[0]) -if config['enable'].get('retrieve_cost_data', True): + +if config["enable"].get("retrieve_cost_data", True): + rule retrieve_cost_data: - input: HTTP.remote(f"raw.githubusercontent.com/PyPSA/technology-data/{config['costs']['version']}/outputs/costs_{config['costs']['year']}.csv", keep_local=True) - output: COSTS - log: "logs/" + RDIR + "retrieve_cost_data.log" - resources: mem_mb=5000 + input: + HTTP.remote( + f"raw.githubusercontent.com/PyPSA/technology-data/{config['costs']['version']}/outputs/costs_{config['costs']['year']}.csv", + keep_local=True, + ), + output: + COSTS, + log: + "logs/" + RDIR + "retrieve_cost_data.log", + resources: + mem_mb=5000, run: move(input[0], output[0]) -if config['enable'].get('build_natura_raster', False): + +if config["enable"].get("build_natura_raster", False): + rule build_natura_raster: input: natura="data/bundle/natura/Natura2000_end2015.shp", - cutouts=expand("cutouts/" + CDIR + "{cutouts}.nc", **config['atlite']) - output: "resources/" + RDIR + "natura.tiff" - resources: mem_mb=5000 - log: "logs/" + RDIR + "build_natura_raster.log" - script: "scripts/build_natura_raster.py" + cutouts=expand("cutouts/" + CDIR + "{cutouts}.nc", **config["atlite"]), + output: + "resources/" + RDIR + "natura.tiff", + resources: + mem_mb=5000, + log: + "logs/" + RDIR + "build_natura_raster.log", + script: + "scripts/build_natura_raster.py" -if config['enable'].get('retrieve_natura_raster', True): +if config["enable"].get("retrieve_natura_raster", True): + rule retrieve_natura_raster: - input: HTTP.remote("zenodo.org/record/4706686/files/natura.tiff", keep_local=True, static=True) - output: "resources/" + RDIR + "natura.tiff" - resources: mem_mb=5000 + input: + HTTP.remote( + "zenodo.org/record/4706686/files/natura.tiff", + keep_local=True, + static=True, + ), + output: + "resources/" + RDIR + "natura.tiff", + resources: + mem_mb=5000, run: move(input[0], output[0]) rule retrieve_ship_raster: - input: HTTP.remote("https://zenodo.org/record/6953563/files/shipdensity_global.zip", keep_local=True, static=True) - output: "data/shipdensity_global.zip" - resources: mem_mb=5000 + input: + HTTP.remote( + "https://zenodo.org/record/6953563/files/shipdensity_global.zip", + keep_local=True, + static=True, + ), + output: + "data/shipdensity_global.zip", + resources: + mem_mb=5000, run: move(input[0], output[0]) @@ -214,74 +319,112 @@ rule retrieve_ship_raster: rule build_ship_raster: input: ship_density="data/shipdensity_global.zip", - cutouts=expand("cutouts/" + CDIR + "{cutouts}.nc", **config['atlite']) - output: "resources/" + RDIR + "shipdensity_raster.nc" - log: "logs/" + RDIR + "build_ship_raster.log" - resources: mem_mb=5000 - benchmark: "benchmarks/" + RDIR + "build_ship_raster" - script: "scripts/build_ship_raster.py" + cutouts=expand("cutouts/" + CDIR + "{cutouts}.nc", **config["atlite"]), + output: + "resources/" + RDIR + "shipdensity_raster.nc", + log: + "logs/" + RDIR + "build_ship_raster.log", + resources: + mem_mb=5000, + benchmark: + "benchmarks/" + RDIR + "build_ship_raster" + script: + "scripts/build_ship_raster.py" rule build_renewable_profiles: input: base_network="networks/" + RDIR + "base.nc", corine="data/bundle/corine/g250_clc06_V18_5.tif", - natura=lambda w: ("resources/" + RDIR + "natura.tiff" - if config["renewable"][w.technology]["natura"] - else []), - gebco=lambda w: ("data/bundle/GEBCO_2014_2D.nc" - if "max_depth" in config["renewable"][w.technology].keys() - else []), - ship_density= lambda w: ("resources/" + RDIR + "shipdensity_raster.nc" - if "ship_threshold" in config["renewable"][w.technology].keys() - else []), + natura=lambda w: ( + "resources/" + RDIR + "natura.tiff" + if config["renewable"][w.technology]["natura"] + else [] + ), + gebco=lambda w: ( + "data/bundle/GEBCO_2014_2D.nc" + if "max_depth" in config["renewable"][w.technology].keys() + else [] + ), + ship_density=lambda w: ( + "resources/" + RDIR + "shipdensity_raster.nc" + if "ship_threshold" in config["renewable"][w.technology].keys() + else [] + ), country_shapes="resources/" + RDIR + "country_shapes.geojson", offshore_shapes="resources/" + RDIR + "offshore_shapes.geojson", - regions=lambda w: ("resources/" + RDIR + "regions_onshore.geojson" - if w.technology in ('onwind', 'solar') - else "resources/" + RDIR + "regions_offshore.geojson"), - cutout=lambda w: "cutouts/" + CDIR + config["renewable"][w.technology]['cutout'] + ".nc" - output: profile="resources/" + RDIR + "profile_{technology}.nc", - log: "logs/" + RDIR + "build_renewable_profile_{technology}.log" - benchmark: "benchmarks/" + RDIR + "build_renewable_profiles_{technology}" + regions=lambda w: ( + "resources/" + RDIR + "regions_onshore.geojson" + if w.technology in ("onwind", "solar") + else "resources/" + RDIR + "regions_offshore.geojson" + ), + cutout=lambda w: "cutouts/" + + CDIR + + config["renewable"][w.technology]["cutout"] + + ".nc", + output: + profile="resources/" + RDIR + "profile_{technology}.nc", + log: + "logs/" + RDIR + "build_renewable_profile_{technology}.log", + benchmark: + "benchmarks/" + RDIR + "build_renewable_profiles_{technology}" threads: ATLITE_NPROCESSES - resources: mem_mb=ATLITE_NPROCESSES * 5000 - wildcard_constraints: technology="(?!hydro).*" # Any technology other than hydro - script: "scripts/build_renewable_profiles.py" + resources: + mem_mb=ATLITE_NPROCESSES * 5000, + wildcard_constraints: + technology="(?!hydro).*", # Any technology other than hydro + script: + "scripts/build_renewable_profiles.py" rule build_hydro_profile: input: country_shapes="resources/" + RDIR + "country_shapes.geojson", - eia_hydro_generation='data/eia_hydro_annual_generation.csv', - cutout=f"cutouts/" + CDIR + "{config['renewable']['hydro']['cutout']}.nc" if "hydro" in config["renewable"] else "config['renewable']['hydro']['cutout'] not configured", - output: "resources/" + RDIR + "profile_hydro.nc" - log: "logs/" + RDIR + "build_hydro_profile.log" - resources: mem_mb=5000 - script: 'scripts/build_hydro_profile.py' + eia_hydro_generation="data/eia_hydro_annual_generation.csv", + cutout=f"cutouts/" + CDIR + "{config['renewable']['hydro']['cutout']}.nc" + if "hydro" in config["renewable"] + else "config['renewable']['hydro']['cutout'] not configured", + output: + "resources/" + RDIR + "profile_hydro.nc", + log: + "logs/" + RDIR + "build_hydro_profile.log", + resources: + mem_mb=5000, + script: + "scripts/build_hydro_profile.py" rule add_electricity: input: + **{ + f"profile_{tech}": "resources/" + RDIR + f"profile_{tech}.nc" + for tech in config["renewable"] + }, + **{ + f"conventional_{carrier}_{attr}": fn + for carrier, d in config.get("conventional", {None: {}}).items() + for attr, fn in d.items() + if str(fn).startswith("data/") + }, base_network="networks/" + RDIR + "base.nc", tech_costs=COSTS, regions="resources/" + RDIR + "regions_onshore.geojson", powerplants="resources/" + RDIR + "powerplants.csv", - hydro_capacities='data/bundle/hydro_capacities.csv', - geth_hydro_capacities='data/geth2015_hydro_capacities.csv', + hydro_capacities="data/bundle/hydro_capacities.csv", + geth_hydro_capacities="data/geth2015_hydro_capacities.csv", load="resources/" + RDIR + "load.csv", nuts3_shapes="resources/" + RDIR + "nuts3_shapes.geojson", - **{f"profile_{tech}": "resources/" + RDIR + f"profile_{tech}.nc" - for tech in config['renewable']}, - **{f"conventional_{carrier}_{attr}": fn - for carrier, d in config.get('conventional', {None: {}}).items() - for attr, fn in d.items() if str(fn).startswith("data/")}, - output: "networks/" + RDIR + "elec.nc" - log: "logs/" + RDIR + "add_electricity.log" - benchmark: "benchmarks/" + RDIR + "add_electricity" + output: + "networks/" + RDIR + "elec.nc", + log: + "logs/" + RDIR + "add_electricity.log", + benchmark: + "benchmarks/" + RDIR + "add_electricity" threads: 1 - resources: mem_mb=5000 - script: "scripts/add_electricity.py" + resources: + mem_mb=5000, + script: + "scripts/add_electricity.py" rule simplify_network: @@ -289,18 +432,22 @@ rule simplify_network: network="networks/" + RDIR + "elec.nc", tech_costs=COSTS, regions_onshore="resources/" + RDIR + "regions_onshore.geojson", - regions_offshore="resources/" + RDIR + "regions_offshore.geojson" + regions_offshore="resources/" + RDIR + "regions_offshore.geojson", output: network="networks/" + RDIR + "elec_s{simpl}.nc", regions_onshore="resources/" + RDIR + "regions_onshore_elec_s{simpl}.geojson", regions_offshore="resources/" + RDIR + "regions_offshore_elec_s{simpl}.geojson", busmap="resources/" + RDIR + "busmap_elec_s{simpl}.csv", - connection_costs="resources/" + RDIR + "connection_costs_s{simpl}.csv" - log: "logs/" + RDIR + "simplify_network/elec_s{simpl}.log" - benchmark: "benchmarks/" + RDIR + "simplify_network/elec_s{simpl}" + connection_costs="resources/" + RDIR + "connection_costs_s{simpl}.csv", + log: + "logs/" + RDIR + "simplify_network/elec_s{simpl}.log", + benchmark: + "benchmarks/" + RDIR + "simplify_network/elec_s{simpl}" threads: 1 - resources: mem_mb=4000 - script: "scripts/simplify_network.py" + resources: + mem_mb=4000, + script: + "scripts/simplify_network.py" rule cluster_network: @@ -309,57 +456,84 @@ rule cluster_network: regions_onshore="resources/" + RDIR + "regions_onshore_elec_s{simpl}.geojson", regions_offshore="resources/" + RDIR + "regions_offshore_elec_s{simpl}.geojson", busmap=ancient("resources/" + RDIR + "busmap_elec_s{simpl}.csv"), - custom_busmap=("data/custom_busmap_elec_s{simpl}_{clusters}.csv" - if config["enable"].get("custom_busmap", False) else []), - tech_costs=COSTS + custom_busmap=( + "data/custom_busmap_elec_s{simpl}_{clusters}.csv" + if config["enable"].get("custom_busmap", False) + else [] + ), + tech_costs=COSTS, output: network="networks/" + RDIR + "elec_s{simpl}_{clusters}.nc", - regions_onshore="resources/" + RDIR + "regions_onshore_elec_s{simpl}_{clusters}.geojson", - regions_offshore="resources/" + RDIR + "regions_offshore_elec_s{simpl}_{clusters}.geojson", + regions_onshore="resources/" + + RDIR + + "regions_onshore_elec_s{simpl}_{clusters}.geojson", + regions_offshore="resources/" + + RDIR + + "regions_offshore_elec_s{simpl}_{clusters}.geojson", busmap="resources/" + RDIR + "busmap_elec_s{simpl}_{clusters}.csv", - linemap="resources/" + RDIR + "linemap_elec_s{simpl}_{clusters}.csv" - log: "logs/" + RDIR + "cluster_network/elec_s{simpl}_{clusters}.log" - benchmark: "benchmarks/" + RDIR + "cluster_network/elec_s{simpl}_{clusters}" + linemap="resources/" + RDIR + "linemap_elec_s{simpl}_{clusters}.csv", + log: + "logs/" + RDIR + "cluster_network/elec_s{simpl}_{clusters}.log", + benchmark: + "benchmarks/" + RDIR + "cluster_network/elec_s{simpl}_{clusters}" threads: 1 - resources: mem_mb=6000 - script: "scripts/cluster_network.py" + resources: + mem_mb=6000, + script: + "scripts/cluster_network.py" rule add_extra_components: input: network="networks/" + RDIR + "elec_s{simpl}_{clusters}.nc", tech_costs=COSTS, - output: "networks/" + RDIR + "elec_s{simpl}_{clusters}_ec.nc" - log: "logs/" + RDIR + "add_extra_components/elec_s{simpl}_{clusters}.log" - benchmark: "benchmarks/" + RDIR + "add_extra_components/elec_s{simpl}_{clusters}_ec" + output: + "networks/" + RDIR + "elec_s{simpl}_{clusters}_ec.nc", + log: + "logs/" + RDIR + "add_extra_components/elec_s{simpl}_{clusters}.log", + benchmark: + "benchmarks/" + RDIR + "add_extra_components/elec_s{simpl}_{clusters}_ec" threads: 1 - resources: mem_mb=3000 - script: "scripts/add_extra_components.py" + resources: + mem_mb=3000, + script: + "scripts/add_extra_components.py" rule prepare_network: - input: "networks/" + RDIR + "elec_s{simpl}_{clusters}_ec.nc", tech_costs=COSTS, - output: "networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" - log: "logs/" + RDIR + "prepare_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.log" - benchmark: "benchmarks/" + RDIR + "prepare_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}" + input: + "networks/" + RDIR + "elec_s{simpl}_{clusters}_ec.nc", + tech_costs=COSTS, + output: + "networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", + log: + "logs/" + RDIR + "prepare_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.log", + benchmark: + ( + "benchmarks/" + + RDIR + + "prepare_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}" + ) threads: 1 - resources: mem_mb=4000 - script: "scripts/prepare_network.py" + resources: + mem_mb=4000, + script: + "scripts/prepare_network.py" def memory(w): - factor = 3. - for o in w.opts.split('-'): - m = re.match(r'^(\d+)h$', o, re.IGNORECASE) + factor = 3.0 + for o in w.opts.split("-"): + m = re.match(r"^(\d+)h$", o, re.IGNORECASE) if m is not None: factor /= int(m.group(1)) break - for o in w.opts.split('-'): - m = re.match(r'^(\d+)seg$', o, re.IGNORECASE) + for o in w.opts.split("-"): + m = re.match(r"^(\d+)seg$", o, re.IGNORECASE) if m is not None: factor *= int(m.group(1)) / 8760 break - if w.clusters.endswith('m'): + if w.clusters.endswith("m"): return int(factor * (18000 + 180 * int(w.clusters[:-1]))) elif w.clusters == "all": return int(factor * (18000 + 180 * 4000)) @@ -368,44 +542,87 @@ def memory(w): rule solve_network: - input: "networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" - output: "results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" + input: + "networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", + output: + "results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", log: - solver=normpath("logs/" + RDIR + "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_solver.log"), - python="logs/" + RDIR + "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_python.log", - memory="logs/" + RDIR + "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_memory.log" - benchmark: "benchmarks/" + RDIR + "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}" + solver=normpath( + "logs/" + + RDIR + + "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_solver.log" + ), + python="logs/" + + RDIR + + "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_python.log", + memory="logs/" + + RDIR + + "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_memory.log", + benchmark: + "benchmarks/" + RDIR + "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}" threads: 4 - resources: mem_mb=memory - shadow: "minimal" - script: "scripts/solve_network.py" + resources: + mem_mb=memory, + shadow: + "minimal" + script: + "scripts/solve_network.py" rule solve_operations_network: input: unprepared="networks/" + RDIR + "elec_s{simpl}_{clusters}_ec.nc", - optimized="results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc" - output: "results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op.nc" + optimized="results/networks/" + + RDIR + + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", + output: + "results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op.nc", log: - solver=normpath("logs/" + RDIR + "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_solver.log"), - python="logs/" + RDIR + "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_python.log", - memory="logs/" + RDIR + "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_memory.log" - benchmark: "benchmarks/" + RDIR + "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}" + solver=normpath( + "logs/" + + RDIR + + "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_solver.log" + ), + python="logs/" + + RDIR + + "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_python.log", + memory="logs/" + + RDIR + + "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_memory.log", + benchmark: + ( + "benchmarks/" + + RDIR + + "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}" + ) threads: 4 - resources: mem_mb=(lambda w: 5000 + 372 * int(w.clusters)) - shadow: "minimal" - script: "scripts/solve_operations_network.py" + resources: + mem_mb=(lambda w: 5000 + 372 * int(w.clusters)), + shadow: + "minimal" + script: + "scripts/solve_operations_network.py" rule plot_network: input: - network="results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", - tech_costs=COSTS + network="results/networks/" + + RDIR + + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", + tech_costs=COSTS, output: - only_map="results/plots/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}.{ext}", - ext="results/plots/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}_ext.{ext}" - log: "logs/" + RDIR + "plot_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}_{ext}.log" - script: "scripts/plot_network.py" + only_map="results/plots/" + + RDIR + + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}.{ext}", + ext="results/plots/" + + RDIR + + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}_ext.{ext}", + log: + "logs/" + + RDIR + + "plot_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}_{ext}.log", + script: + "scripts/plot_network.py" def input_make_summary(w): @@ -416,39 +633,79 @@ def input_make_summary(w): ll = [l for l in ll if l[0] == w.ll[0]] else: ll = w.ll - return ([COSTS] + - expand("results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", - ll=ll, - **{k: config["scenario"][k] if getattr(w, k) == "all" else getattr(w, k) - for k in ["simpl", "clusters", "opts"]})) + return [COSTS] + expand( + "results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc", + ll=ll, + **{ + k: config["scenario"][k] if getattr(w, k) == "all" else getattr(w, k) + for k in ["simpl", "clusters", "opts"] + } + ) rule make_summary: - input: input_make_summary - output: directory("results/summaries/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}") - log: "logs/" + RDIR + "make_summary/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}.log", - resources: mem_mb=500 - script: "scripts/make_summary.py" + input: + input_make_summary, + output: + directory( + "results/summaries/" + + RDIR + + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}" + ), + log: + "logs/" + + RDIR + + "make_summary/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}.log", + resources: + mem_mb=500, + script: + "scripts/make_summary.py" rule plot_summary: - input: "results/summaries/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}" - output: "results/plots/" + RDIR + "summary_{summary}_elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}.{ext}" - log: "logs/" + RDIR + "plot_summary/{summary}_elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}_{ext}.log" - resources: mem_mb=500 - script: "scripts/plot_summary.py" + input: + "results/summaries/" + + RDIR + + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}", + output: + "results/plots/" + + RDIR + + "summary_{summary}_elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}.{ext}", + log: + "logs/" + + RDIR + + "plot_summary/{summary}_elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}_{ext}.log", + resources: + mem_mb=500, + script: + "scripts/plot_summary.py" def input_plot_p_nom_max(w): - return [("results/networks/" + RDIR + "elec_s{simpl}{maybe_cluster}.nc" - .format(maybe_cluster=('' if c == 'full' else ('_' + c)), **w)) - for c in w.clusts.split(",")] + return [ + ( + "results/networks/" + + RDIR + + "elec_s{simpl}{maybe_cluster}.nc".format( + maybe_cluster=("" if c == "full" else ("_" + c)), **w + ) + ) + for c in w.clusts.split(",") + ] rule plot_p_nom_max: - input: input_plot_p_nom_max - output: "results/plots/" + RDIR + "elec_s{simpl}_cum_p_nom_max_{clusts}_{techs}_{country}.{ext}" - log: "logs/" + RDIR + "plot_p_nom_max/elec_s{simpl}_{clusts}_{techs}_{country}_{ext}.log" - resources: mem_mb=500 - script: "scripts/plot_p_nom_max.py" - + input: + input_plot_p_nom_max, + output: + "results/plots/" + + RDIR + + "elec_s{simpl}_cum_p_nom_max_{clusts}_{techs}_{country}.{ext}", + log: + "logs/" + + RDIR + + "plot_p_nom_max/elec_s{simpl}_{clusts}_{techs}_{country}_{ext}.log", + resources: + mem_mb=500, + script: + "scripts/plot_p_nom_max.py" diff --git a/config.default.yaml b/config.default.yaml index fb1e9603..42afde03 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -9,7 +9,7 @@ logging: level: INFO format: '%(levelname)s:%(name)s:%(message)s' -run: +run: name: "" # use this to keep track of runs with different settings shared_cutouts: false # set to true to share the default cutout(s) across runs @@ -52,7 +52,7 @@ electricity: max_hours: battery: 6 - H2: 168 + H2: 168 extendable_carriers: Generator: [solar, onwind, offwind-ac, offwind-dc, OCGT] @@ -63,7 +63,7 @@ electricity: # use pandas query strings here, e.g. Country not in ['Germany'] powerplants_filter: (DateOut >= 2022 or DateOut != DateOut) # use pandas query strings here, e.g. Country in ['Germany'] - custom_powerplants: false + custom_powerplants: false conventional_carriers: [nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass] renewable_carriers: [solar, onwind, offwind-ac, offwind-dc, hydro] @@ -120,8 +120,7 @@ renewable: corine: # Scholz, Y. (2012). Renewable energy based electricity supply at low costs: # development of the REMix model and application for Europe. ( p.42 / p.28) - grid_codes: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 31, 32] + grid_codes: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32] distance: 1000 distance_grid_codes: [1, 2, 3, 4, 5, 6] natura: true @@ -182,8 +181,7 @@ renewable: # This correction factor of 0.854337 may be in order if using reanalysis data. # for discussion refer to https://github.com/PyPSA/pypsa-eur/pull/304 # correction_factor: 0.854337 - corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] + corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] natura: true excluder_resolution: 100 potential: simple # or conservative @@ -195,7 +193,7 @@ renewable: hydro_max_hours: "energy_capacity_totals_by_country" # one of energy_capacity_totals_by_country, estimate_by_large_installations or a float clip_min_inflow: 1.0 -conventional: +conventional: nuclear: p_max_pu: "data/nuclear_p_max_pu.csv" # float of file name @@ -221,7 +219,7 @@ transformers: type: '' load: - power_statistics: True # only for files from <2019; set false in order to get ENTSOE transparency data + power_statistics: true # only for files from <2019; set false in order to get ENTSOE transparency data interpolate_limit: 3 # data gaps up until this size are interpolated linearly time_shift_for_large_gaps: 1w # data gaps up until this size are copied by copying from manual_adjustments: true # false @@ -304,7 +302,7 @@ solving: plotting: map: figsize: [7, 7] - boundaries: [-10.2, 29, 35, 72] + boundaries: [-10.2, 29, 35, 72] p_nom: bus_size_factor: 5.e+4 linewidth_factor: 3.e+3 @@ -323,50 +321,50 @@ plotting: AC_carriers: ["AC line", "AC transformer"] link_carriers: ["DC line", "Converter AC-DC"] tech_colors: - "onwind" : "#235ebc" - "onshore wind" : "#235ebc" - 'offwind' : "#6895dd" - 'offwind-ac' : "#6895dd" - 'offshore wind' : "#6895dd" - 'offshore wind ac' : "#6895dd" - 'offwind-dc' : "#74c6f2" - 'offshore wind dc' : "#74c6f2" - "hydro" : "#08ad97" - "hydro+PHS" : "#08ad97" - "PHS" : "#08ad97" - "hydro reservoir" : "#08ad97" - 'hydroelectricity' : '#08ad97' - "ror" : "#4adbc8" - "run of river" : "#4adbc8" - 'solar' : "#f9d002" - 'solar PV' : "#f9d002" - 'solar thermal' : '#ffef60' - 'biomass' : '#0c6013' - 'solid biomass' : '#06540d' - 'biogas' : '#23932d' - 'waste' : '#68896b' - 'geothermal' : '#ba91b1' - "OCGT" : "#d35050" - "gas" : "#d35050" - "natural gas" : "#d35050" - "CCGT" : "#b20101" - "nuclear" : "#ff9000" - "coal" : "#707070" - "lignite" : "#9e5a01" - "oil" : "#262626" - "H2" : "#ea048a" - "hydrogen storage" : "#ea048a" - "battery" : "#b8ea04" - "Electric load" : "#f9d002" - "electricity" : "#f9d002" - "lines" : "#70af1d" - "transmission lines" : "#70af1d" - "AC-AC" : "#70af1d" - "AC line" : "#70af1d" - "links" : "#8a1caf" - "HVDC links" : "#8a1caf" - "DC-DC" : "#8a1caf" - "DC link" : "#8a1caf" + "onwind": "#235ebc" + "onshore wind": "#235ebc" + 'offwind': "#6895dd" + 'offwind-ac': "#6895dd" + 'offshore wind': "#6895dd" + 'offshore wind ac': "#6895dd" + 'offwind-dc': "#74c6f2" + 'offshore wind dc': "#74c6f2" + "hydro": "#08ad97" + "hydro+PHS": "#08ad97" + "PHS": "#08ad97" + "hydro reservoir": "#08ad97" + 'hydroelectricity': '#08ad97' + "ror": "#4adbc8" + "run of river": "#4adbc8" + 'solar': "#f9d002" + 'solar PV': "#f9d002" + 'solar thermal': '#ffef60' + 'biomass': '#0c6013' + 'solid biomass': '#06540d' + 'biogas': '#23932d' + 'waste': '#68896b' + 'geothermal': '#ba91b1' + "OCGT": "#d35050" + "gas": "#d35050" + "natural gas": "#d35050" + "CCGT": "#b20101" + "nuclear": "#ff9000" + "coal": "#707070" + "lignite": "#9e5a01" + "oil": "#262626" + "H2": "#ea048a" + "hydrogen storage": "#ea048a" + "battery": "#b8ea04" + "Electric load": "#f9d002" + "electricity": "#f9d002" + "lines": "#70af1d" + "transmission lines": "#70af1d" + "AC-AC": "#70af1d" + "AC line": "#70af1d" + "links": "#8a1caf" + "HVDC links": "#8a1caf" + "DC-DC": "#8a1caf" + "DC link": "#8a1caf" nice_names: OCGT: "Open-Cycle Gas" CCGT: "Combined-Cycle Gas" diff --git a/config.tutorial.yaml b/config.tutorial.yaml index fb5fe807..241dc2e1 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -9,7 +9,7 @@ logging: level: INFO format: '%(levelname)s:%(name)s:%(message)s' -run: +run: name: "" scenario: @@ -73,8 +73,7 @@ renewable: corine: # Scholz, Y. (2012). Renewable energy based electricity supply at low costs: # development of the REMix model and application for Europe. ( p.42 / p.28) - grid_codes: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 31, 32] + grid_codes: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32] distance: 1000 distance_grid_codes: [1, 2, 3, 4, 5, 6] natura: true @@ -126,8 +125,7 @@ renewable: # power." Applied Energy 135 (2014): 704-720. # This correction factor of 0.854337 may be in order if using reanalysis data. # correction_factor: 0.854337 - corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] + corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] natura: true excluder_resolution: 200 potential: simple # or conservative @@ -155,9 +153,9 @@ transformers: type: '' load: - power_statistics: True # only for files from <2019; set false in order to get ENTSOE transparency data + power_statistics: true # only for files from <2019; set false in order to get ENTSOE transparency data interpolate_limit: 3 # data gaps up until this size are interpolated linearly - time_shift_for_large_gaps: 1w # data gaps up until this size are copied by copying from + time_shift_for_large_gaps: 1w # data gaps up until this size are copied by copying from manual_adjustments: true # false scaling_factor: 1.0 @@ -218,7 +216,7 @@ solving: plotting: map: figsize: [7, 7] - boundaries: [-10.2, 29, 35, 72] + boundaries: [-10.2, 29, 35, 72] p_nom: bus_size_factor: 5.e+4 linewidth_factor: 3.e+3 @@ -237,50 +235,50 @@ plotting: AC_carriers: ["AC line", "AC transformer"] link_carriers: ["DC line", "Converter AC-DC"] tech_colors: - "onwind" : "#235ebc" - "onshore wind" : "#235ebc" - 'offwind' : "#6895dd" - 'offwind-ac' : "#6895dd" - 'offshore wind' : "#6895dd" - 'offshore wind ac' : "#6895dd" - 'offwind-dc' : "#74c6f2" - 'offshore wind dc' : "#74c6f2" - "hydro" : "#08ad97" - "hydro+PHS" : "#08ad97" - "PHS" : "#08ad97" - "hydro reservoir" : "#08ad97" - 'hydroelectricity' : '#08ad97' - "ror" : "#4adbc8" - "run of river" : "#4adbc8" - 'solar' : "#f9d002" - 'solar PV' : "#f9d002" - 'solar thermal' : '#ffef60' - 'biomass' : '#0c6013' - 'solid biomass' : '#06540d' - 'biogas' : '#23932d' - 'waste' : '#68896b' - 'geothermal' : '#ba91b1' - "OCGT" : "#d35050" - "gas" : "#d35050" - "natural gas" : "#d35050" - "CCGT" : "#b20101" - "nuclear" : "#ff9000" - "coal" : "#707070" - "lignite" : "#9e5a01" - "oil" : "#262626" - "H2" : "#ea048a" - "hydrogen storage" : "#ea048a" - "battery" : "#b8ea04" - "Electric load" : "#f9d002" - "electricity" : "#f9d002" - "lines" : "#70af1d" - "transmission lines" : "#70af1d" - "AC-AC" : "#70af1d" - "AC line" : "#70af1d" - "links" : "#8a1caf" - "HVDC links" : "#8a1caf" - "DC-DC" : "#8a1caf" - "DC link" : "#8a1caf" + "onwind": "#235ebc" + "onshore wind": "#235ebc" + 'offwind': "#6895dd" + 'offwind-ac': "#6895dd" + 'offshore wind': "#6895dd" + 'offshore wind ac': "#6895dd" + 'offwind-dc': "#74c6f2" + 'offshore wind dc': "#74c6f2" + "hydro": "#08ad97" + "hydro+PHS": "#08ad97" + "PHS": "#08ad97" + "hydro reservoir": "#08ad97" + 'hydroelectricity': '#08ad97' + "ror": "#4adbc8" + "run of river": "#4adbc8" + 'solar': "#f9d002" + 'solar PV': "#f9d002" + 'solar thermal': '#ffef60' + 'biomass': '#0c6013' + 'solid biomass': '#06540d' + 'biogas': '#23932d' + 'waste': '#68896b' + 'geothermal': '#ba91b1' + "OCGT": "#d35050" + "gas": "#d35050" + "natural gas": "#d35050" + "CCGT": "#b20101" + "nuclear": "#ff9000" + "coal": "#707070" + "lignite": "#9e5a01" + "oil": "#262626" + "H2": "#ea048a" + "hydrogen storage": "#ea048a" + "battery": "#b8ea04" + "Electric load": "#f9d002" + "electricity": "#f9d002" + "lines": "#70af1d" + "transmission lines": "#70af1d" + "AC-AC": "#70af1d" + "AC line": "#70af1d" + "links": "#8a1caf" + "HVDC links": "#8a1caf" + "DC-DC": "#8a1caf" + "DC link": "#8a1caf" nice_names: OCGT: "Open-Cycle Gas" CCGT: "Combined-Cycle Gas" diff --git a/data/eia_hydro_annual_generation.csv b/data/eia_hydro_annual_generation.csv index cb1ae12f..9b781ee3 100644 --- a/data/eia_hydro_annual_generation.csv +++ b/data/eia_hydro_annual_generation.csv @@ -47,4 +47,4 @@ Report generated on: 03-28-2022 11:20:48 "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.46583","71.6" "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","39.604","36.466","40.895","34.862","34.471","33.411","30.914","30.649","34.898","35.676","35.366","35.704","32.069","38.218","38.08","37.659","37.879","34.281","33.754","34.637","37.6596","40.62" "INTL.33-12-TUR-BKWH.A"," Turkey","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.686","57.824","59.49","87.99714","77.39" -"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.067","5.283","5.035","4.015","4.74","3.195","4.795","4.873","4.547","5.026","5.094","5.178","3.566","5.655","5.286","4.667","5.832","6.246","5.342","5.836","5.189","5.89941","7.64" \ No newline at end of file +"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.067","5.283","5.035","4.015","4.74","3.195","4.795","4.873","4.547","5.026","5.094","5.178","3.566","5.655","5.286","4.667","5.832","6.246","5.342","5.836","5.189","5.89941","7.64" diff --git a/data/nuclear_p_max_pu.csv b/data/nuclear_p_max_pu.csv index 06b5f684..7bc54455 100644 --- a/data/nuclear_p_max_pu.csv +++ b/data/nuclear_p_max_pu.csv @@ -13,4 +13,4 @@ SI,0.94 ES,0.89 SE,0.82 CH,0.86 -GB,0.67 \ No newline at end of file +GB,0.67 diff --git a/doc/_static/theme_overrides.css b/doc/_static/theme_overrides.css index febf442a..e7e21151 100644 --- a/doc/_static/theme_overrides.css +++ b/doc/_static/theme_overrides.css @@ -71,4 +71,4 @@ .wy-nav-content { max-width: 910px !important; } -} \ No newline at end of file +} diff --git a/doc/conf.py b/doc/conf.py index a09f836b..0b98619d 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: 20017-2020 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT @@ -16,19 +17,19 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys import os import shlex +import sys # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.insert(0, os.path.abspath('../scripts')) +sys.path.insert(0, os.path.abspath("../scripts")) # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' +# needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom @@ -36,47 +37,47 @@ sys.path.insert(0, os.path.abspath('../scripts')) extensions = [ #'sphinx.ext.autodoc', #'sphinx.ext.autosummary', - 'sphinx.ext.intersphinx', - 'sphinx.ext.todo', - 'sphinx.ext.mathjax', - 'sphinx.ext.napoleon', - 'sphinx.ext.graphviz', + "sphinx.ext.intersphinx", + "sphinx.ext.todo", + "sphinx.ext.mathjax", + "sphinx.ext.napoleon", + "sphinx.ext.graphviz", #'sphinx.ext.pngmath', #'sphinxcontrib.tikz', #'rinoh.frontend.sphinx', - 'sphinx.ext.imgconverter', # for SVG conversion + "sphinx.ext.imgconverter", # for SVG conversion ] -autodoc_default_flags = ['members'] +autodoc_default_flags = ["members"] autosummary_generate = True # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +templates_path = ["_templates"] # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # source_suffix = ['.rst', '.md'] -source_suffix = '.rst' +source_suffix = ".rst" # The encoding of source files. -#source_encoding = 'utf-8-sig' +# source_encoding = 'utf-8-sig' # The master toctree document. -master_doc = 'index' +master_doc = "index" # General information about the project. -project = u'PyPSA-Eur' -copyright = u'2017-2022 Jonas Hoersch (KIT, FIAS), Fabian Hofmann (TUB, FIAS), David Schlachtberger (FIAS), Tom Brown (TUB, KIT, FIAS); 2019-2022 Fabian Neumann (TUB, KIT)' -author = u'Jonas Hoersch (KIT, FIAS), Fabian Hofmann (TUB, FIAS), David Schlachtberger (FIAS), Tom Brown (TUB, KIT, FIAS), Fabian Neumann (TUB, KIT)' +project = "PyPSA-Eur" +copyright = "2017-2022 Jonas Hoersch (KIT, FIAS), Fabian Hofmann (TUB, FIAS), David Schlachtberger (FIAS), Tom Brown (TUB, KIT, FIAS); 2019-2022 Fabian Neumann (TUB, KIT)" +author = "Jonas Hoersch (KIT, FIAS), Fabian Hofmann (TUB, FIAS), David Schlachtberger (FIAS), Tom Brown (TUB, KIT, FIAS), Fabian Neumann (TUB, KIT)" # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = u'0.6' +version = "0.6" # The full version, including alpha/beta/rc tags. -release = u'0.6.0' +release = "0.6.0" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -87,37 +88,37 @@ language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: -#today = '' +# today = '' # Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' +# today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. -exclude_patterns = ['_build'] +exclude_patterns = ["_build"] # The reST default role (used for this markup: `text`) to use for all # documents. -#default_role = None +# default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True +# add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). -#add_module_names = True +# add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. -#show_authors = False +# show_authors = False # The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' +pygments_style = "sphinx" # A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] +# modindex_common_prefix = [] # If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False +# keep_warnings = False # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = True @@ -127,35 +128,35 @@ todo_include_todos = True # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = 'sphinx_rtd_theme' +html_theme = "sphinx_rtd_theme" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. html_theme_options = { - 'display_version': True, - 'sticky_navigation': True, + "display_version": True, + "sticky_navigation": True, } # Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] +# html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -#html_title = None +# html_title = None # A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None +# html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. -#html_logo = None +# html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. -#html_favicon = None +# html_favicon = None # These folders are copied to the documentation's HTML output html_static_path = ["_static"] @@ -167,130 +168,127 @@ html_css_files = ["theme_overrides.css"] # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied # directly to the root of the documentation. -#html_extra_path = [] +# html_extra_path = [] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' +# html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. -#html_use_smartypants = True +# html_use_smartypants = True # Custom sidebar templates, maps document names to template names. -#html_sidebars = {} +# html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. -#html_additional_pages = {} +# html_additional_pages = {} # If false, no module index is generated. -#html_domain_indices = True +# html_domain_indices = True # If false, no index is generated. -#html_use_index = True +# html_use_index = True # If true, the index is split into individual pages for each letter. -#html_split_index = False +# html_split_index = False # If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True +# html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True +# html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True +# html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. -#html_use_opensearch = '' +# html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None +# html_file_suffix = None # Language to be used for generating the HTML full-text search index. # Sphinx supports the following languages: # 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' # 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' -#html_search_language = 'en' +# html_search_language = 'en' # A dictionary with options for the search language support, empty by default. # Now only 'ja' uses this config value -#html_search_options = {'type': 'default'} +# html_search_options = {'type': 'default'} # The name of a javascript file (relative to the configuration directory) that # implements a search results scorer. If empty, the default will be used. -#html_search_scorer = 'scorer.js' +# html_search_scorer = 'scorer.js' # Output file base name for HTML help builder. -htmlhelp_basename = 'PyPSAEurdoc' +htmlhelp_basename = "PyPSAEurdoc" # -- Options for LaTeX output --------------------------------------------- latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', - -# Latex figure (float) alignment -#'figure_align': 'htbp', + # The paper size ('letterpaper' or 'a4paper'). + #'papersize': 'letterpaper', + # The font size ('10pt', '11pt' or '12pt'). + #'pointsize': '10pt', + # Additional stuff for the LaTeX preamble. + #'preamble': '', + # Latex figure (float) alignment + #'figure_align': 'htbp', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - (master_doc, 'PyPSA-Eur.tex', u'PyPSA-Eur Documentation', - u'author', 'manual'), + (master_doc, "PyPSA-Eur.tex", "PyPSA-Eur Documentation", "author", "manual"), ] -#Added for rinoh http://www.mos6581.org/rinohtype/quickstart.html -rinoh_documents = [(master_doc, # top-level file (index.rst) - 'PyPSA-Eur', # output (target.pdf) - 'PyPSA-Eur Documentation', # document title - 'author')] # document author +# Added for rinoh http://www.mos6581.org/rinohtype/quickstart.html +rinoh_documents = [ + ( + master_doc, # top-level file (index.rst) + "PyPSA-Eur", # output (target.pdf) + "PyPSA-Eur Documentation", # document title + "author", + ) +] # document author # The name of an image file (relative to this directory) to place at the top of # the title page. -#latex_logo = None +# latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. -#latex_use_parts = False +# latex_use_parts = False # If true, show page references after internal links. -#latex_show_pagerefs = False +# latex_show_pagerefs = False # If true, show URL addresses after external links. -#latex_show_urls = False +# latex_show_urls = False # Documents to append as an appendix to all manuals. -#latex_appendices = [] +# latex_appendices = [] # If false, no module index is generated. -#latex_domain_indices = True +# latex_domain_indices = True # -- Options for manual page output --------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). -man_pages = [ - (master_doc, 'pypsa-eur', u'PyPSA-Eur Documentation', - [author], 1) -] +man_pages = [(master_doc, "pypsa-eur", "PyPSA-Eur Documentation", [author], 1)] # If true, show URL addresses after external links. -#man_show_urls = False +# man_show_urls = False # -- Options for Texinfo output ------------------------------------------- @@ -299,23 +297,29 @@ man_pages = [ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - (master_doc, 'PyPSA-Eur', u'PyPSA-Eur Documentation', - author, 'PyPSA-Eur', 'One line description of project.', - 'Miscellaneous'), + ( + master_doc, + "PyPSA-Eur", + "PyPSA-Eur Documentation", + author, + "PyPSA-Eur", + "One line description of project.", + "Miscellaneous", + ), ] # Documents to append as an appendix to all manuals. -#texinfo_appendices = [] +# texinfo_appendices = [] # If false, no module index is generated. -#texinfo_domain_indices = True +# texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' +# texinfo_show_urls = 'footnote' # If true, do not generate a @detailmenu in the "Top" node's menu. -#texinfo_no_detailmenu = False +# texinfo_no_detailmenu = False # Example configuration for intersphinx: refer to the Python standard library. -intersphinx_mapping = {'https://docs.python.org/': None} +intersphinx_mapping = {"https://docs.python.org/": None} diff --git a/doc/configtables/electricity.csv b/doc/configtables/electricity.csv index e0ee25cd..9cf23ebf 100644 --- a/doc/configtables/electricity.csv +++ b/doc/configtables/electricity.csv @@ -26,4 +26,4 @@ estimate_renewable_capacities,,, -- from_opsd,--,bool,"Add capacities from OPSD data" -- year,--,bool,"Renewable capacities are based on existing capacities reported by IRENA for the specified year" -- expansion_limit,--,float or false,"Artificially limit maximum capacities to factor * (IRENA capacities), i.e. 110% of 's capacities => expansion_limit: 1.1 false: Use estimated renewable potentials determine by the workflow" --- technology_mapping,,,"Mapping between powerplantmatching and PyPSA-Eur technology names" \ No newline at end of file +-- technology_mapping,,,"Mapping between powerplantmatching and PyPSA-Eur technology names" diff --git a/doc/configtables/load.csv b/doc/configtables/load.csv index 66f3b994..d6cfa686 100644 --- a/doc/configtables/load.csv +++ b/doc/configtables/load.csv @@ -1,6 +1,6 @@ ,Unit,Values,Description url,--,string,"Link to open power system data time series data." -power_statistics,bool,"{true, false}",Whether to load the electricity consumption data of the ENTSOE power statistics (only for files from 2019 and before) or from the ENTSOE transparency data (only has load data from 2015 onwards). +power_statistics,bool,"{true, false}",Whether to load the electricity consumption data of the ENTSOE power statistics (only for files from 2019 and before) or from the ENTSOE transparency data (only has load data from 2015 onwards). interpolate_limit,hours,integer,"Maximum gap size (consecutive nans) which interpolated linearly." time_shift_for_large_gaps,string,string,"Periods which are used for copying time-slices in order to fill large gaps of nans. Have to be valid ``pandas`` period strings." manual_adjustments,bool,"{true, false}","Whether to adjust the load data manually according to the function in :func:`manual_adjustment`." diff --git a/doc/configtables/opts.csv b/doc/configtables/opts.csv index 6a72dd01..b468be6e 100644 --- a/doc/configtables/opts.csv +++ b/doc/configtables/opts.csv @@ -9,4 +9,4 @@ Trigger, Description, Definition, Status ``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+{c|p|m}factor``,"Alter the capital cost (``c``), installable potential (``p``) or marginal costs (``m``) of a carrier by a factor. Example: ``solar+c0.5`` reduces the capital cost of solar 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 \ No newline at end of file +``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 diff --git a/doc/configuration.rst b/doc/configuration.rst index fa955d2f..4fdb3719 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -35,7 +35,7 @@ It is common conduct to analyse energy system optimisation models for **multiple e.g. assessing their sensitivity towards changing the temporal and/or geographical resolution or investigating how investment changes as more ambitious greenhouse-gas emission reduction targets are applied. -The ``run`` section is used for running and storing scenarios with different configurations which are not covered by :ref:`wildcards`. It determines the path at which resources, networks and results are stored. Therefore the user can run different configurations within the same directory. If a run with a non-empty name should use cutouts shared across runs, set ``shared_cutouts`` to `true`. +The ``run`` section is used for running and storing scenarios with different configurations which are not covered by :ref:`wildcards`. It determines the path at which resources, networks and results are stored. Therefore the user can run different configurations within the same directory. If a run with a non-empty name should use cutouts shared across runs, set ``shared_cutouts`` to `true`. .. literalinclude:: ../config.default.yaml :language: yaml @@ -107,7 +107,7 @@ Specifies the temporal range to build an energy system model for as arguments to ``atlite`` ========== -Define and specify the ``atlite.Cutout`` used for calculating renewable potentials and time-series. All options except for ``features`` are directly used as `cutout parameters `_. +Define and specify the ``atlite.Cutout`` used for calculating renewable potentials and time-series. All options except for ``features`` are directly used as `cutout parameters `_. .. literalinclude:: ../config.default.yaml :language: yaml @@ -194,7 +194,7 @@ Define and specify the ``atlite.Cutout`` used for calculating renewable potentia ``conventional`` ============= -Define additional generator attribute for conventional carrier types. If a scalar value is given it is applied to all generators. However if a string starting with "data/" is given, the value is interpreted as a path to a csv file with country specific values. Then, the values are read in and applied to all generators of the given carrier in the given country. Note that the value(s) overwrite the existing values in the corresponding section of the ``generators`` dataframe. +Define additional generator attribute for conventional carrier types. If a scalar value is given it is applied to all generators. However if a string starting with "data/" is given, the value is interpreted as a path to a csv file with country specific values. Then, the values are read in and applied to all generators of the given carrier in the given country. Note that the value(s) overwrite the existing values in the corresponding section of the ``generators`` dataframe. .. literalinclude:: ../config.default.yaml :language: yaml diff --git a/doc/index.rst b/doc/index.rst index 774c9dc3..d9ee9842 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -195,7 +195,7 @@ The included ``.nc`` files are PyPSA network files which can be imported with Py import pypsa - filename = "elec_s_1024_ec.nc" # example + filename = "elec_s_1024_ec.nc" # example n = pypsa.Network(filename) Licence diff --git a/doc/preparation/retrieve.rst b/doc/preparation/retrieve.rst index 31ae25b9..a10c96fa 100644 --- a/doc/preparation/retrieve.rst +++ b/doc/preparation/retrieve.rst @@ -30,7 +30,7 @@ The :ref:`tutorial` uses a smaller cutout than required for the full model (30 M .. note:: To download cutouts yourself from the `ECMWF ERA5 `_ you need to `set up the CDS API `_. - + **Relevant Settings** diff --git a/doc/release_notes.rst b/doc/release_notes.rst index e4b383f8..ce7be5c7 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -10,7 +10,7 @@ Release Notes Upcoming Release ================ -* Individual commits are now tested against pre-commit hooks. This includes black style formatting, sorting of package imports, Snakefile formatting and others. Installation instructions can for the pre-commit can be found `here `_. +* Individual commits are now tested against pre-commit hooks. This includes black style formatting, sorting of package imports, Snakefile formatting and others. Installation instructions can for the pre-commit can be found `here `_. * Pre-commit CI is now part of the repository's CI. @@ -24,7 +24,7 @@ PyPSA-Eur 0.6.0 (10th September 2022) * When transforming all transmission lines to a unified voltage level of 380kV, the workflow now preserves the transmission capacity rather than electrical - impedance and reactance. + impedance and reactance. * Memory resources are now specified for all rules. @@ -45,29 +45,29 @@ PyPSA-Eur 0.5.0 (27th July 2022) * New network topology extracted from the ENTSO-E interactive map. * Added existing renewable capacities for all countries based on IRENA - statistics (IRENASTAT) using new ``powerplantmatching`` version: - * The corresponding ``config`` entries changed, cf. ``config.default.yaml``: - * old: ``estimate_renewable_capacities_from_capacity_stats`` - * new: ``estimate_renewable_capacities`` - * The estimation is endabled by setting the subkey ``enable`` to ``True``. + statistics (IRENASTAT) using new ``powerplantmatching`` version: + * The corresponding ``config`` entries changed, cf. ``config.default.yaml``: + * old: ``estimate_renewable_capacities_from_capacity_stats`` + * new: ``estimate_renewable_capacities`` + * The estimation is endabled by setting the subkey ``enable`` to ``True``. * Configuration of reference year for capacities can be configured (default: - ``2020``) + ``2020``) * The list of renewables provided by the OPSD database can be used as a basis, using the tag ``from_opsd: True``. This adds the renewables from the database and fills up the missing capacities with the heuristic - distribution. + distribution. * Uniform expansion limit of renewable build-up based on existing capacities can be configured using ``expansion_limit`` option (default: ``false``; - limited to determined renewable potentials) + limited to determined renewable potentials) * Distribution of country-level capacities proportional to maximum annual - energy yield for each bus region + energy yield for each bus region * The config key ``renewable_capacities_from_OPSD`` is deprecated and was moved under the section, ``estimate_renewable_capacities``. To enable it, set - ``from_opsd`` to ``True``. + ``from_opsd`` to ``True``. * Add operational reserve margin constraint analogous to `GenX implementation `_. Can be activated - with config setting ``electricity: operational_reserve:``. + with config setting ``electricity: operational_reserve:``. * Implement country-specific Energy Availability Factors (EAFs) for nuclear power plants based on IAEA 2018-2020 reported country averages. These are @@ -87,7 +87,7 @@ PyPSA-Eur 0.5.0 (27th July 2022) * Hierarchical clustering was introduced. Distance metric is calculated from renewable potentials on hourly (feature entry ends with ``-time``) or annual (feature entry in config end with ``-cap``) values. - + * Greedy modularity clustering was introduced. Distance metric is based on electrical distance taking into account the impedance of all transmission lines of the network. * Techno-economic parameters of technologies (e.g. costs and efficiencies) will @@ -100,7 +100,7 @@ PyPSA-Eur 0.5.0 (27th July 2022) `_]. * A new section ``conventional`` was added to the config file. This section - contains configurations for conventional carriers. + contains configurations for conventional carriers. * Add configuration option to implement arbitrary generator attributes for conventional generation technologies. @@ -127,25 +127,25 @@ PyPSA-Eur 0.5.0 (27th July 2022) * The inclusion of renewable carriers is now specified in the config entry ``renewable_carriers``. Before this was done by commenting/uncommenting - sub-sections in the ``renewable`` config section. + sub-sections in the ``renewable`` config section. * Now, all carriers that should be extendable have to be listed in the config entry ``extendable_carriers``. Before, renewable carriers were always set to be extendable. For backwards compatibility, the workflow is still looking at the listed carriers under the ``renewable`` key. In the future, all of them - have to be listed under ``extendable_carriers``. + have to be listed under ``extendable_carriers``. * It is now possible to set conventional power plants as extendable by adding - them to the list of extendable ``Generator`` carriers in the config. + them to the list of extendable ``Generator`` carriers in the config. * Listing conventional carriers in ``extendable_carriers`` but not in ``conventional_carriers``, sets the corresponding conventional power plants as - extendable without a lower capacity bound of today's capacities. + extendable without a lower capacity bound of today's capacities. -* Now, conventional carriers have an assigned capital cost by default. +* Now, conventional carriers have an assigned capital cost by default. * The ``build_year`` and ``lifetime`` column are now defined for conventional - power plants. + power plants. * Use updated SARAH-2 and ERA5 cutouts with slightly wider scope to east and additional variables. @@ -155,7 +155,7 @@ PyPSA-Eur 0.5.0 (27th July 2022) `_ ``mem_mb`` rather than ``mem``. -* The powerplants that have been shut down by 2021 are filtered out. +* The powerplants that have been shut down by 2021 are filtered out. * Updated historical `EIA hydro generation data `_. @@ -179,7 +179,7 @@ PyPSA-Eur 0.5.0 (27th July 2022) * Fix crs bug. Change crs 4236 to 4326. -* ``powerplantmatching>=0.5.1`` is now required for ``IRENASTATS``. +* ``powerplantmatching>=0.5.1`` is now required for ``IRENASTATS``. * Update rasterio version to correctly calculate exclusion raster. @@ -251,7 +251,7 @@ PyPSA-Eur 0.4.0 (22th September 2021) (~factor 2). A lot of the code which calculated the land-use availability is now outsourced and does not rely on ``glaes``, ``geokit`` anymore. This facilitates the environment building and version compatibility of ``gdal``, ``libgdal`` with - other packages [`#224 `_]. + other packages [`#224 `_]. * Implemented changes to ``n.snapshot_weightings`` in new PyPSA version v0.18 (cf. `PyPSA/PyPSA/#227 `_) @@ -274,7 +274,7 @@ PyPSA-Eur 0.4.0 (22th September 2021) used or maintained. * The connection cost of generators in :mod:`simplify_network` are now reported - in ``resources/connection_costs_s{simpl}.csv`` + in ``resources/connection_costs_s{simpl}.csv`` [`#261 `_]. * The tutorial cutout was renamed from ``cutouts/europe-2013-era5.nc`` to @@ -282,9 +282,9 @@ PyPSA-Eur 0.4.0 (22th September 2021) cutouts side-by-side. * The flag ``keep_all_available_areas`` in the configuration for renewable - potentials was deprecated and now defaults to ``True``. + potentials was deprecated and now defaults to ``True``. -* Update dependencies in ``envs/environment.yaml`` +* Update dependencies in ``envs/environment.yaml`` [`#257 `_] * Continuous integration testing switches to Github Actions from Travis CI @@ -313,7 +313,7 @@ PyPSA-Eur 0.4.0 (22th September 2021) * Value for ``co2base`` in ``config.yaml`` adjusted to 1.487e9 t CO2-eq (from 3.1e9 t CO2-eq). The new value represents emissions related to the electricity sector for EU+UK+Balkan. The old value was too high and used when - the emissions wildcard in ``{opts}`` was used + the emissions wildcard in ``{opts}`` was used [`#233 `_]. * Add escape in :mod:`base_network` if all TYNDP links are already @@ -321,11 +321,11 @@ PyPSA-Eur 0.4.0 (22th September 2021) [`#246 `_]. * In :mod:`solve_operations_network` the optimised capacities are now - fixed for all extendable links, not only HVDC links + fixed for all extendable links, not only HVDC links [`#244 `_]. * The ``focus_weights`` are now also considered when pre-clustering in - the :mod:`simplify_network` rule + the :mod:`simplify_network` rule [`#241 `_]. * in :mod:`build_renewable_profile` where offshore wind profiles could @@ -345,7 +345,7 @@ PyPSA-Eur 0.4.0 (22th September 2021) load shedding generators are only added at the AC buses, excluding buses for H2 and battery stores [`#269 `_]. -* Delete duplicated capital costs at battery discharge link +* Delete duplicated capital costs at battery discharge link [`#240 `_]. * Propagate the solver log file name to the solver. Previously, the @@ -362,7 +362,7 @@ Using the ``{opts}`` wildcard for scenarios: * An option is introduced which adds constraints such that each country or node produces on average a minimal share of its total consumption itself. For example ``EQ0.5c`` set in the ``{opts}`` wildcard requires each country to produce on average at least 50% of its consumption. Additionally, the option ``ATK`` requires autarky at each node and removes all means of power transmission through lines and links. ``ATKc`` only removes - cross-border transfer capacities. + cross-border transfer capacities. [`#166 `_]. * Added an option to alter the capital cost (``c``) or installable potentials (``p``) of carriers by a factor via ``carrier+{c,p}factor`` in the ``{opts}`` wildcard. @@ -449,7 +449,7 @@ Other: [`#191 `_]. * Raise a warning if ``tech_colors`` in the config are not defined for all carriers - [`#178 `_]. + [`#178 `_]. PyPSA-Eur 0.2.0 (8th June 2020) diff --git a/doc/requirements.txt b/doc/requirements.txt index 4aa053b3..e048b4af 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -18,4 +18,4 @@ pyyaml seaborn memory_profiler tables -descartes \ No newline at end of file +descartes diff --git a/doc/wildcards.rst b/doc/wildcards.rst index 61bde06b..14b71c09 100644 --- a/doc/wildcards.rst +++ b/doc/wildcards.rst @@ -155,4 +155,5 @@ formats depends on the used backend. To query the supported file types on your s .. code:: python import matplotlib.pyplot as plt + plt.gcf().canvas.get_supported_filetypes() diff --git a/envs/environment.fixed.yaml b/envs/environment.fixed.yaml index b818ce72..1c7aeaad 100644 --- a/envs/environment.fixed.yaml +++ b/envs/environment.fixed.yaml @@ -4,427 +4,427 @@ name: pypsa-eur channels: - - bioconda - - http://conda.anaconda.org/gurobi - - conda-forge - - defaults +- bioconda +- http://conda.anaconda.org/gurobi +- conda-forge +- defaults dependencies: - - _libgcc_mutex=0.1 - - _openmp_mutex=4.5 - - abseil-cpp=20210324.2 - - affine=2.3.1 - - alsa-lib=1.2.3.2 - - altair=4.2.0 - - ampl-mp=3.1.0 - - amply=0.1.5 - - anyio=3.6.1 - - appdirs=1.4.4 - - argon2-cffi=21.3.0 - - argon2-cffi-bindings=21.2.0 - - arrow-cpp=8.0.0 - - asttokens=2.0.5 - - atlite=0.2.9 - - attrs=21.4.0 - - aws-c-cal=0.5.11 - - aws-c-common=0.6.2 - - aws-c-event-stream=0.2.7 - - aws-c-io=0.10.5 - - aws-checksums=0.1.11 - - aws-sdk-cpp=1.8.186 - - babel=2.10.3 - - backcall=0.2.0 - - backports=1.0 - - backports.functools_lru_cache=1.6.4 - - beautifulsoup4=4.11.1 - - bleach=5.0.1 - - blinker=1.4 - - blosc=1.21.1 - - bokeh=2.4.3 - - boost-cpp=1.74.0 - - bottleneck=1.3.5 - - branca=0.5.0 - - brotli=1.0.9 - - brotli-bin=1.0.9 - - brotlipy=0.7.0 - - bzip2=1.0.8 - - c-ares=1.18.1 - - ca-certificates=2022.6.15.1 - - cachetools=5.0.0 - - cairo=1.16.0 - - cartopy=0.20.1 - - cdsapi=0.5.1 - - certifi=2022.6.15.1 - - cffi=1.15.1 - - cfitsio=4.0.0 - - cftime=1.6.1 - - charset-normalizer=2.1.0 - - click=8.0.4 - - click-plugins=1.1.1 - - cligj=0.7.2 - - cloudpickle=2.1.0 - - coin-or-cbc=2.10.8 - - coin-or-cgl=0.60.6 - - coin-or-clp=1.17.7 - - coin-or-osi=0.108.7 - - coin-or-utils=2.11.6 - - coincbc=2.10.8 - - colorama=0.4.5 - - colorcet=3.0.0 - - commonmark=0.9.1 - - configargparse=1.5.3 - - connection_pool=0.0.3 - - country_converter=0.7.4 - - cryptography=37.0.4 - - curl=7.83.1 - - cycler=0.11.0 - - cytoolz=0.12.0 - - dask=2022.7.0 - - dask-core=2022.7.0 - - dataclasses=0.8 - - datrie=0.8.2 - - dbus=1.13.6 - - debugpy=1.6.0 - - decorator=5.1.1 - - defusedxml=0.7.1 - - deprecation=2.1.0 - - descartes=1.1.0 - - distributed=2022.7.0 - - distro=1.6.0 - - docutils=0.19 - - dpath=2.0.6 - - entrypoints=0.4 - - entsoe-py=0.5.4 - - et_xmlfile=1.0.1 - - executing=0.8.3 - - expat=2.4.8 - - filelock=3.7.1 - - fiona=1.8.20 - - flit-core=3.7.1 - - folium=0.12.1.post1 - - font-ttf-dejavu-sans-mono=2.37 - - font-ttf-inconsolata=3.000 - - font-ttf-source-code-pro=2.038 - - font-ttf-ubuntu=0.83 - - fontconfig=2.14.0 - - fonts-conda-ecosystem=1 - - fonts-conda-forge=1 - - fonttools=4.34.4 - - freetype=2.10.4 - - freexl=1.0.6 - - fsspec=2022.5.0 - - future=0.18.2 - - gdal=3.3.3 - - geographiclib=1.52 - - geojson-rewind=1.0.2 - - geopandas=0.11.0 - - geopandas-base=0.11.0 - - geopy=2.2.0 - - geos=3.10.0 - - geotiff=1.7.0 - - gettext=0.19.8.1 - - gflags=2.2.2 - - giflib=5.2.1 - - gitdb=4.0.9 - - gitpython=3.1.27 - - glog=0.6.0 - - gmp=6.2.1 - - graphite2=1.3.13 - - grpc-cpp=1.45.2 - - gst-plugins-base=1.18.5 - - gstreamer=1.18.5 - - harfbuzz=2.9.1 - - hdf4=4.2.15 - - hdf5=1.12.1 - - heapdict=1.0.1 - - icu=68.2 - - idna=3.3 - - importlib-metadata=4.11.4 - - importlib_metadata=4.11.4 - - importlib_resources=5.8.0 - - iniconfig=1.1.1 - - ipykernel=6.15.1 - - ipython=8.4.0 - - ipython_genutils=0.2.0 - - ipywidgets=7.7.1 - - jedi=0.18.1 - - jinja2=3.1.2 - - joblib=1.1.0 - - jpeg=9e - - json-c=0.15 - - json5=0.9.5 - - jsonschema=4.7.2 - - jupyter_client=7.3.4 - - jupyter_core=4.10.0 - - jupyter_server=1.18.1 - - kealib=1.4.15 - - keyutils=1.6.1 - - kiwisolver=1.4.4 - - krb5=1.19.3 - - lcms2=2.12 - - ld_impl_linux-64=2.36.1 - - lerc=3.0 - - libblas=3.9.0 - - libbrotlicommon=1.0.9 - - libbrotlidec=1.0.9 - - libbrotlienc=1.0.9 - - libcblas=3.9.0 - - libclang=11.1.0 - - libcrc32c=1.1.2 - - libcurl=7.83.1 - - libdap4=3.20.6 - - libdeflate=1.12 - - libedit=3.1.20191231 - - libev=4.33 - - libevent=2.1.10 - - libffi=3.4.2 - - libgcc-ng=12.1.0 - - libgdal=3.3.3 - - libgfortran-ng=12.1.0 - - libgfortran5=12.1.0 - - libglib=2.72.1 - - libgomp=12.1.0 - - libgoogle-cloud=1.40.2 - - libiconv=1.16 - - libkml=1.3.0 - - liblapack=3.9.0 - - liblapacke=3.9.0 - - libllvm11=11.1.0 - - libnetcdf=4.8.1 - - libnghttp2=1.47.0 - - libnsl=2.0.0 - - libogg=1.3.4 - - libopenblas=0.3.20 - - libopus=1.3.1 - - libpng=1.6.37 - - libpq=13.5 - - libprotobuf=3.20.1 - - librttopo=1.1.0 - - libsodium=1.0.18 - - libspatialindex=1.9.3 - - libspatialite=5.0.1 - - libssh2=1.10.0 - - libstdcxx-ng=12.1.0 - - libthrift=0.16.0 - - libtiff=4.4.0 - - libutf8proc=2.7.0 - - libuuid=2.32.1 - - libvorbis=1.3.7 - - libwebp=1.2.2 - - libwebp-base=1.2.2 - - libxcb=1.13 - - libxkbcommon=1.0.3 - - libxml2=2.9.12 - - libxslt=1.1.33 - - libzip=1.9.2 - - libzlib=1.2.12 - - locket=1.0.0 - - lxml=4.8.0 - - lz4=4.0.0 - - lz4-c=1.9.3 - - lzo=2.10 - - mapclassify=2.4.3 - - markdown=3.4.1 - - markupsafe=2.1.1 - - matplotlib=3.5.2 - - matplotlib-base=3.5.2 - - matplotlib-inline=0.1.3 - - memory_profiler=0.60.0 - - metis=5.1.0 - - mistune=0.8.4 - - msgpack-python=1.0.4 - - mumps-include=5.2.1 - - mumps-seq=5.2.1 - - munch=2.5.0 - - munkres=1.1.4 - - mysql-common=8.0.29 - - mysql-libs=8.0.29 - - nbclassic=0.4.3 - - nbclient=0.6.6 - - nbconvert=6.5.0 - - nbconvert-core=6.5.0 - - nbconvert-pandoc=6.5.0 - - nbformat=5.4.0 - - ncurses=6.3 - - nest-asyncio=1.5.5 - - netcdf4=1.6.0 - - networkx=2.8.4 - - nomkl=1.0 - - notebook=6.4.12 - - notebook-shim=0.1.0 - - nspr=4.32 - - nss=3.78 - - numexpr=2.8.3 - - numpy=1.23.1 - - openjdk=11.0.9.1 - - openjpeg=2.4.0 - - openpyxl=3.0.9 - - openssl=1.1.1q - - orc=1.7.5 - - packaging=21.3 - - pandas=1.4.3 - - pandoc=2.18 - - pandocfilters=1.5.0 - - parquet-cpp=1.5.1 - - parso=0.8.3 - - partd=1.2.0 - - patsy=0.5.2 - - pcre=8.45 - - pexpect=4.8.0 - - pickleshare=0.7.5 - - pillow=9.2.0 - - pip=22.1.2 - - pixman=0.40.0 - - plac=1.3.5 - - pluggy=1.0.0 - - ply=3.11 - - poppler=21.09.0 - - poppler-data=0.4.11 - - postgresql=13.5 - - powerplantmatching=0.5.4 - - progressbar2=4.0.0 - - proj=8.1.1 - - prometheus_client=0.14.1 - - prompt-toolkit=3.0.30 - - protobuf=3.20.1 - - psutil=5.9.1 - - pthread-stubs=0.4 - - ptyprocess=0.7.0 - - pulp=2.6.0 - - pure_eval=0.2.2 - - py=1.11.0 - - pyarrow=8.0.0 - - pycountry=20.7.3 - - pycparser=2.21 - - pyct=0.4.6 - - pyct-core=0.4.6 - - pydeck=0.7.1 - - pygments=2.12.0 - - pympler=0.9 - - pyomo=6.4.1 - - pyopenssl=22.0.0 - - pyparsing=3.0.9 - - pyproj=3.2.1 - - pypsa=0.20.0 - - pyqt=5.12.3 - - pyqt-impl=5.12.3 - - pyqt5-sip=4.19.18 - - pyqtchart=5.12 - - pyqtwebengine=5.12.1 - - pyrsistent=0.18.1 - - pyshp=2.3.0 - - pysocks=1.7.1 - - pytables=3.7.0 - - pytest=7.1.2 - - python=3.9.13 - - python-dateutil=2.8.2 - - python-fastjsonschema=2.16.1 - - python-tzdata=2022.1 - - python-utils=3.3.3 - - python_abi=3.9 - - pytz=2022.1 - - pytz-deprecation-shim=0.1.0.post0 - - pyviz_comms=2.2.0 - - pyxlsb=1.0.9 - - pyyaml=6.0 - - pyzmq=23.2.0 - - qt=5.12.9 - - rasterio=1.2.9 - - ratelimiter=1.2.0 - - re2=2022.06.01 - - readline=8.1.2 - - requests=2.28.1 - - retry=0.9.2 - - rich=12.5.1 - - rtree=1.0.0 - - s2n=1.0.10 - - scikit-learn=1.1.1 - - scipy=1.8.1 - - scotch=6.0.9 - - seaborn=0.11.2 - - seaborn-base=0.11.2 - - semver=2.13.0 - - send2trash=1.8.0 - - setuptools=63.2.0 - - setuptools-scm=7.0.5 - - setuptools_scm=7.0.5 - - shapely=1.8.0 - - six=1.16.0 - - smart_open=6.0.0 - - smmap=3.0.5 - - snakemake-minimal=7.8.5 - - snappy=1.1.9 - - sniffio=1.2.0 - - snuggs=1.4.7 - - sortedcontainers=2.4.0 - - soupsieve=2.3.1 - - sqlite=3.39.1 - - stack_data=0.3.0 - - statsmodels=0.13.2 - - stopit=1.1.2 - - streamlit=1.10.0 - - tabula-py=2.2.0 - - tabulate=0.8.10 - - tblib=1.7.0 - - tenacity=8.0.1 - - terminado=0.15.0 - - threadpoolctl=3.1.0 - - tiledb=2.3.4 - - tinycss2=1.1.1 - - tk=8.6.12 - - toml=0.10.2 - - tomli=2.0.1 - - toolz=0.12.0 - - toposort=1.7 - - tornado=6.1 - - tqdm=4.64.0 - - traitlets=5.3.0 - - typing-extensions=4.3.0 - - typing_extensions=4.3.0 - - tzcode=2022a - - tzdata=2022a - - tzlocal=4.2 - - unicodedata2=14.0.0 - - unidecode=1.3.4 - - unixodbc=2.3.10 - - urllib3=1.26.10 - - validators=0.18.2 - - watchdog=2.1.9 - - wcwidth=0.2.5 - - webencodings=0.5.1 - - websocket-client=1.3.3 - - wheel=0.37.1 - - widgetsnbextension=3.6.1 - - wrapt=1.14.1 - - xarray=2022.3.0 - - xerces-c=3.2.3 - - xlrd=2.0.1 - - xorg-fixesproto=5.0 - - xorg-inputproto=2.3.2 - - xorg-kbproto=1.0.7 - - xorg-libice=1.0.10 - - xorg-libsm=1.2.3 - - xorg-libx11=1.7.2 - - xorg-libxau=1.0.9 - - xorg-libxdmcp=1.1.3 - - xorg-libxext=1.3.4 - - xorg-libxfixes=5.0.3 - - xorg-libxi=1.7.10 - - xorg-libxrender=0.9.10 - - xorg-libxtst=1.2.3 - - xorg-recordproto=1.14.2 - - xorg-renderproto=0.11.1 - - xorg-xextproto=7.3.0 - - xorg-xproto=7.0.31 - - xyzservices=2022.6.0 - - xz=5.2.5 - - yaml=0.2.5 - - yte=1.5.1 - - zeromq=4.3.4 - - zict=2.2.0 - - zipp=3.8.0 - - zlib=1.2.12 - - zstd=1.5.2 - - pip: - - countrycode==0.2 - - tsam==2.1.0 - - vresutils==0.3.1 \ No newline at end of file +- _libgcc_mutex=0.1 +- _openmp_mutex=4.5 +- abseil-cpp=20210324.2 +- affine=2.3.1 +- alsa-lib=1.2.3.2 +- altair=4.2.0 +- ampl-mp=3.1.0 +- amply=0.1.5 +- anyio=3.6.1 +- appdirs=1.4.4 +- argon2-cffi=21.3.0 +- argon2-cffi-bindings=21.2.0 +- arrow-cpp=8.0.0 +- asttokens=2.0.5 +- atlite=0.2.9 +- attrs=21.4.0 +- aws-c-cal=0.5.11 +- aws-c-common=0.6.2 +- aws-c-event-stream=0.2.7 +- aws-c-io=0.10.5 +- aws-checksums=0.1.11 +- aws-sdk-cpp=1.8.186 +- babel=2.10.3 +- backcall=0.2.0 +- backports=1.0 +- backports.functools_lru_cache=1.6.4 +- beautifulsoup4=4.11.1 +- bleach=5.0.1 +- blinker=1.4 +- blosc=1.21.1 +- bokeh=2.4.3 +- boost-cpp=1.74.0 +- bottleneck=1.3.5 +- branca=0.5.0 +- brotli=1.0.9 +- brotli-bin=1.0.9 +- brotlipy=0.7.0 +- bzip2=1.0.8 +- c-ares=1.18.1 +- ca-certificates=2022.6.15.1 +- cachetools=5.0.0 +- cairo=1.16.0 +- cartopy=0.20.1 +- cdsapi=0.5.1 +- certifi=2022.6.15.1 +- cffi=1.15.1 +- cfitsio=4.0.0 +- cftime=1.6.1 +- charset-normalizer=2.1.0 +- click=8.0.4 +- click-plugins=1.1.1 +- cligj=0.7.2 +- cloudpickle=2.1.0 +- coin-or-cbc=2.10.8 +- coin-or-cgl=0.60.6 +- coin-or-clp=1.17.7 +- coin-or-osi=0.108.7 +- coin-or-utils=2.11.6 +- coincbc=2.10.8 +- colorama=0.4.5 +- colorcet=3.0.0 +- commonmark=0.9.1 +- configargparse=1.5.3 +- connection_pool=0.0.3 +- country_converter=0.7.4 +- cryptography=37.0.4 +- curl=7.83.1 +- cycler=0.11.0 +- cytoolz=0.12.0 +- dask=2022.7.0 +- dask-core=2022.7.0 +- dataclasses=0.8 +- datrie=0.8.2 +- dbus=1.13.6 +- debugpy=1.6.0 +- decorator=5.1.1 +- defusedxml=0.7.1 +- deprecation=2.1.0 +- descartes=1.1.0 +- distributed=2022.7.0 +- distro=1.6.0 +- docutils=0.19 +- dpath=2.0.6 +- entrypoints=0.4 +- entsoe-py=0.5.4 +- et_xmlfile=1.0.1 +- executing=0.8.3 +- expat=2.4.8 +- filelock=3.7.1 +- fiona=1.8.20 +- flit-core=3.7.1 +- folium=0.12.1.post1 +- font-ttf-dejavu-sans-mono=2.37 +- font-ttf-inconsolata=3.000 +- font-ttf-source-code-pro=2.038 +- font-ttf-ubuntu=0.83 +- fontconfig=2.14.0 +- fonts-conda-ecosystem=1 +- fonts-conda-forge=1 +- fonttools=4.34.4 +- freetype=2.10.4 +- freexl=1.0.6 +- fsspec=2022.5.0 +- future=0.18.2 +- gdal=3.3.3 +- geographiclib=1.52 +- geojson-rewind=1.0.2 +- geopandas=0.11.0 +- geopandas-base=0.11.0 +- geopy=2.2.0 +- geos=3.10.0 +- geotiff=1.7.0 +- gettext=0.19.8.1 +- gflags=2.2.2 +- giflib=5.2.1 +- gitdb=4.0.9 +- gitpython=3.1.27 +- glog=0.6.0 +- gmp=6.2.1 +- graphite2=1.3.13 +- grpc-cpp=1.45.2 +- gst-plugins-base=1.18.5 +- gstreamer=1.18.5 +- harfbuzz=2.9.1 +- hdf4=4.2.15 +- hdf5=1.12.1 +- heapdict=1.0.1 +- icu=68.2 +- idna=3.3 +- importlib-metadata=4.11.4 +- importlib_metadata=4.11.4 +- importlib_resources=5.8.0 +- iniconfig=1.1.1 +- ipykernel=6.15.1 +- ipython=8.4.0 +- ipython_genutils=0.2.0 +- ipywidgets=7.7.1 +- jedi=0.18.1 +- jinja2=3.1.2 +- joblib=1.1.0 +- jpeg=9e +- json-c=0.15 +- json5=0.9.5 +- jsonschema=4.7.2 +- jupyter_client=7.3.4 +- jupyter_core=4.10.0 +- jupyter_server=1.18.1 +- kealib=1.4.15 +- keyutils=1.6.1 +- kiwisolver=1.4.4 +- krb5=1.19.3 +- lcms2=2.12 +- ld_impl_linux-64=2.36.1 +- lerc=3.0 +- libblas=3.9.0 +- libbrotlicommon=1.0.9 +- libbrotlidec=1.0.9 +- libbrotlienc=1.0.9 +- libcblas=3.9.0 +- libclang=11.1.0 +- libcrc32c=1.1.2 +- libcurl=7.83.1 +- libdap4=3.20.6 +- libdeflate=1.12 +- libedit=3.1.20191231 +- libev=4.33 +- libevent=2.1.10 +- libffi=3.4.2 +- libgcc-ng=12.1.0 +- libgdal=3.3.3 +- libgfortran-ng=12.1.0 +- libgfortran5=12.1.0 +- libglib=2.72.1 +- libgomp=12.1.0 +- libgoogle-cloud=1.40.2 +- libiconv=1.16 +- libkml=1.3.0 +- liblapack=3.9.0 +- liblapacke=3.9.0 +- libllvm11=11.1.0 +- libnetcdf=4.8.1 +- libnghttp2=1.47.0 +- libnsl=2.0.0 +- libogg=1.3.4 +- libopenblas=0.3.20 +- libopus=1.3.1 +- libpng=1.6.37 +- libpq=13.5 +- libprotobuf=3.20.1 +- librttopo=1.1.0 +- libsodium=1.0.18 +- libspatialindex=1.9.3 +- libspatialite=5.0.1 +- libssh2=1.10.0 +- libstdcxx-ng=12.1.0 +- libthrift=0.16.0 +- libtiff=4.4.0 +- libutf8proc=2.7.0 +- libuuid=2.32.1 +- libvorbis=1.3.7 +- libwebp=1.2.2 +- libwebp-base=1.2.2 +- libxcb=1.13 +- libxkbcommon=1.0.3 +- libxml2=2.9.12 +- libxslt=1.1.33 +- libzip=1.9.2 +- libzlib=1.2.12 +- locket=1.0.0 +- lxml=4.8.0 +- lz4=4.0.0 +- lz4-c=1.9.3 +- lzo=2.10 +- mapclassify=2.4.3 +- markdown=3.4.1 +- markupsafe=2.1.1 +- matplotlib=3.5.2 +- matplotlib-base=3.5.2 +- matplotlib-inline=0.1.3 +- memory_profiler=0.60.0 +- metis=5.1.0 +- mistune=0.8.4 +- msgpack-python=1.0.4 +- mumps-include=5.2.1 +- mumps-seq=5.2.1 +- munch=2.5.0 +- munkres=1.1.4 +- mysql-common=8.0.29 +- mysql-libs=8.0.29 +- nbclassic=0.4.3 +- nbclient=0.6.6 +- nbconvert=6.5.0 +- nbconvert-core=6.5.0 +- nbconvert-pandoc=6.5.0 +- nbformat=5.4.0 +- ncurses=6.3 +- nest-asyncio=1.5.5 +- netcdf4=1.6.0 +- networkx=2.8.4 +- nomkl=1.0 +- notebook=6.4.12 +- notebook-shim=0.1.0 +- nspr=4.32 +- nss=3.78 +- numexpr=2.8.3 +- numpy=1.23.1 +- openjdk=11.0.9.1 +- openjpeg=2.4.0 +- openpyxl=3.0.9 +- openssl=1.1.1q +- orc=1.7.5 +- packaging=21.3 +- pandas=1.4.3 +- pandoc=2.18 +- pandocfilters=1.5.0 +- parquet-cpp=1.5.1 +- parso=0.8.3 +- partd=1.2.0 +- patsy=0.5.2 +- pcre=8.45 +- pexpect=4.8.0 +- pickleshare=0.7.5 +- pillow=9.2.0 +- pip=22.1.2 +- pixman=0.40.0 +- plac=1.3.5 +- pluggy=1.0.0 +- ply=3.11 +- poppler=21.09.0 +- poppler-data=0.4.11 +- postgresql=13.5 +- powerplantmatching=0.5.4 +- progressbar2=4.0.0 +- proj=8.1.1 +- prometheus_client=0.14.1 +- prompt-toolkit=3.0.30 +- protobuf=3.20.1 +- psutil=5.9.1 +- pthread-stubs=0.4 +- ptyprocess=0.7.0 +- pulp=2.6.0 +- pure_eval=0.2.2 +- py=1.11.0 +- pyarrow=8.0.0 +- pycountry=20.7.3 +- pycparser=2.21 +- pyct=0.4.6 +- pyct-core=0.4.6 +- pydeck=0.7.1 +- pygments=2.12.0 +- pympler=0.9 +- pyomo=6.4.1 +- pyopenssl=22.0.0 +- pyparsing=3.0.9 +- pyproj=3.2.1 +- pypsa=0.20.0 +- pyqt=5.12.3 +- pyqt-impl=5.12.3 +- pyqt5-sip=4.19.18 +- pyqtchart=5.12 +- pyqtwebengine=5.12.1 +- pyrsistent=0.18.1 +- pyshp=2.3.0 +- pysocks=1.7.1 +- pytables=3.7.0 +- pytest=7.1.2 +- python=3.9.13 +- python-dateutil=2.8.2 +- python-fastjsonschema=2.16.1 +- python-tzdata=2022.1 +- python-utils=3.3.3 +- python_abi=3.9 +- pytz=2022.1 +- pytz-deprecation-shim=0.1.0.post0 +- pyviz_comms=2.2.0 +- pyxlsb=1.0.9 +- pyyaml=6.0 +- pyzmq=23.2.0 +- qt=5.12.9 +- rasterio=1.2.9 +- ratelimiter=1.2.0 +- re2=2022.06.01 +- readline=8.1.2 +- requests=2.28.1 +- retry=0.9.2 +- rich=12.5.1 +- rtree=1.0.0 +- s2n=1.0.10 +- scikit-learn=1.1.1 +- scipy=1.8.1 +- scotch=6.0.9 +- seaborn=0.11.2 +- seaborn-base=0.11.2 +- semver=2.13.0 +- send2trash=1.8.0 +- setuptools=63.2.0 +- setuptools-scm=7.0.5 +- setuptools_scm=7.0.5 +- shapely=1.8.0 +- six=1.16.0 +- smart_open=6.0.0 +- smmap=3.0.5 +- snakemake-minimal=7.8.5 +- snappy=1.1.9 +- sniffio=1.2.0 +- snuggs=1.4.7 +- sortedcontainers=2.4.0 +- soupsieve=2.3.1 +- sqlite=3.39.1 +- stack_data=0.3.0 +- statsmodels=0.13.2 +- stopit=1.1.2 +- streamlit=1.10.0 +- tabula-py=2.2.0 +- tabulate=0.8.10 +- tblib=1.7.0 +- tenacity=8.0.1 +- terminado=0.15.0 +- threadpoolctl=3.1.0 +- tiledb=2.3.4 +- tinycss2=1.1.1 +- tk=8.6.12 +- toml=0.10.2 +- tomli=2.0.1 +- toolz=0.12.0 +- toposort=1.7 +- tornado=6.1 +- tqdm=4.64.0 +- traitlets=5.3.0 +- typing-extensions=4.3.0 +- typing_extensions=4.3.0 +- tzcode=2022a +- tzdata=2022a +- tzlocal=4.2 +- unicodedata2=14.0.0 +- unidecode=1.3.4 +- unixodbc=2.3.10 +- urllib3=1.26.10 +- validators=0.18.2 +- watchdog=2.1.9 +- wcwidth=0.2.5 +- webencodings=0.5.1 +- websocket-client=1.3.3 +- wheel=0.37.1 +- widgetsnbextension=3.6.1 +- wrapt=1.14.1 +- xarray=2022.3.0 +- xerces-c=3.2.3 +- xlrd=2.0.1 +- xorg-fixesproto=5.0 +- xorg-inputproto=2.3.2 +- xorg-kbproto=1.0.7 +- xorg-libice=1.0.10 +- xorg-libsm=1.2.3 +- xorg-libx11=1.7.2 +- xorg-libxau=1.0.9 +- xorg-libxdmcp=1.1.3 +- xorg-libxext=1.3.4 +- xorg-libxfixes=5.0.3 +- xorg-libxi=1.7.10 +- xorg-libxrender=0.9.10 +- xorg-libxtst=1.2.3 +- xorg-recordproto=1.14.2 +- xorg-renderproto=0.11.1 +- xorg-xextproto=7.3.0 +- xorg-xproto=7.0.31 +- xyzservices=2022.6.0 +- xz=5.2.5 +- yaml=0.2.5 +- yte=1.5.1 +- zeromq=4.3.4 +- zict=2.2.0 +- zipp=3.8.0 +- zlib=1.2.12 +- zstd=1.5.2 +- pip: + - countrycode==0.2 + - tsam==2.1.0 + - vresutils==0.3.1 diff --git a/envs/environment.yaml b/envs/environment.yaml index 8cb8e565..3de2e373 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -4,57 +4,57 @@ name: pypsa-eur channels: - - conda-forge - - bioconda +- conda-forge +- bioconda dependencies: - - python>=3.8 - - pip +- python>=3.8 +- pip - - pypsa>=0.20 - - atlite>=0.2.9 - - dask +- pypsa>=0.20 +- atlite>=0.2.9 +- dask # Dependencies of the workflow itself - - xlrd - - openpyxl - - pycountry - - seaborn - - snakemake-minimal - - memory_profiler - - yaml - - pytables - - lxml - - powerplantmatching>=0.5.4 - - numpy - - pandas - - geopandas>=0.11.0 - - xarray - - netcdf4 - - networkx - - scipy - - shapely<2.0 # need to address deprecations - - progressbar2 - - pyomo - - matplotlib - - proj - - fiona <= 1.18.20 # Till issue https://github.com/Toblerity/Fiona/issues/1085 is not solved - - country_converter +- xlrd +- openpyxl +- pycountry +- seaborn +- snakemake-minimal +- memory_profiler +- yaml +- pytables +- lxml +- powerplantmatching>=0.5.4 +- numpy +- pandas +- geopandas>=0.11.0 +- xarray +- netcdf4 +- networkx +- scipy +- shapely<2.0 # need to address deprecations +- progressbar2 +- pyomo +- matplotlib +- proj +- fiona <= 1.18.20 # Till issue https://github.com/Toblerity/Fiona/issues/1085 is not solved +- country_converter # Keep in conda environment when calling ipython - - ipython +- ipython # GIS dependencies: - - cartopy - - descartes - - rasterio<=1.2.9 # 1.2.10 creates error https://github.com/PyPSA/atlite/issues/238 +- cartopy +- descartes +- rasterio<=1.2.9 # 1.2.10 creates error https://github.com/PyPSA/atlite/issues/238 # PyPSA-Eur-Sec Dependencies - - geopy - - tqdm - - pytz - - tabula-py - - pyxlsb +- geopy +- tqdm +- pytz +- tabula-py +- pyxlsb - - pip: - - vresutils>=0.3.1 - - tsam>=1.1.0 +- pip: + - vresutils>=0.3.1 + - tsam>=1.1.0 diff --git a/scripts/_helpers.py b/scripts/_helpers.py index 3c7f3e31..ba88efb2 100644 --- a/scripts/_helpers.py +++ b/scripts/_helpers.py @@ -1,11 +1,14 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT -import pandas as pd from pathlib import Path -REGION_COLS = ['geometry', 'name', 'x', 'y', 'country'] +import pandas as pd + +REGION_COLS = ["geometry", "name", "x", "y", "country"] + def configure_logging(snakemake, skip_handlers=False): """ @@ -28,21 +31,26 @@ def configure_logging(snakemake, skip_handlers=False): import logging - kwargs = snakemake.config.get('logging', dict()).copy() + kwargs = snakemake.config.get("logging", dict()).copy() kwargs.setdefault("level", "INFO") if skip_handlers is False: - fallback_path = Path(__file__).parent.joinpath('..', 'logs', f"{snakemake.rule}.log") - logfile = snakemake.log.get('python', snakemake.log[0] if snakemake.log - else fallback_path) + fallback_path = Path(__file__).parent.joinpath( + "..", "logs", f"{snakemake.rule}.log" + ) + logfile = snakemake.log.get( + "python", snakemake.log[0] if snakemake.log else fallback_path + ) kwargs.update( - {'handlers': [ - # Prefer the 'python' log, otherwise take the first log for each - # Snakemake rule - logging.FileHandler(logfile), - logging.StreamHandler() + { + "handlers": [ + # Prefer the 'python' log, otherwise take the first log for each + # Snakemake rule + logging.FileHandler(logfile), + logging.StreamHandler(), ] - }) + } + ) logging.basicConfig(**kwargs) @@ -80,137 +88,182 @@ def load_network(import_name=None, custom_components=None): if custom_components is not None: override_components = pypsa.components.components.copy() - override_component_attrs = Dict({k : v.copy() for k,v in pypsa.components.component_attrs.items()}) + override_component_attrs = Dict( + {k: v.copy() for k, v in pypsa.components.component_attrs.items()} + ) for k, v in custom_components.items(): - override_components.loc[k] = v['component'] - override_component_attrs[k] = pd.DataFrame(columns = ["type","unit","default","description","status"]) - for attr, val in v['attributes'].items(): + override_components.loc[k] = v["component"] + override_component_attrs[k] = pd.DataFrame( + columns=["type", "unit", "default", "description", "status"] + ) + for attr, val in v["attributes"].items(): override_component_attrs[k].loc[attr] = val - return pypsa.Network(import_name=import_name, - override_components=override_components, - override_component_attrs=override_component_attrs) + return pypsa.Network( + import_name=import_name, + override_components=override_components, + override_component_attrs=override_component_attrs, + ) def pdbcast(v, h): - return pd.DataFrame(v.values.reshape((-1, 1)) * h.values, - index=v.index, columns=h.index) + return pd.DataFrame( + v.values.reshape((-1, 1)) * h.values, index=v.index, columns=h.index + ) def load_network_for_plots(fn, tech_costs, config, combine_hydro_ps=True): import pypsa - from add_electricity import update_transmission_costs, load_costs + from add_electricity import load_costs, update_transmission_costs n = pypsa.Network(fn) n.loads["carrier"] = n.loads.bus.map(n.buses.carrier) + " load" n.stores["carrier"] = n.stores.bus.map(n.buses.carrier) - n.links["carrier"] = (n.links.bus0.map(n.buses.carrier) + "-" + n.links.bus1.map(n.buses.carrier)) + n.links["carrier"] = ( + n.links.bus0.map(n.buses.carrier) + "-" + n.links.bus1.map(n.buses.carrier) + ) n.lines["carrier"] = "AC line" n.transformers["carrier"] = "AC transformer" - n.lines['s_nom'] = n.lines['s_nom_min'] - n.links['p_nom'] = n.links['p_nom_min'] + n.lines["s_nom"] = n.lines["s_nom_min"] + n.links["p_nom"] = n.links["p_nom_min"] if combine_hydro_ps: - n.storage_units.loc[n.storage_units.carrier.isin({'PHS', 'hydro'}), 'carrier'] = 'hydro+PHS' + n.storage_units.loc[ + n.storage_units.carrier.isin({"PHS", "hydro"}), "carrier" + ] = "hydro+PHS" # if the carrier was not set on the heat storage units # bus_carrier = n.storage_units.bus.map(n.buses.carrier) # n.storage_units.loc[bus_carrier == "heat","carrier"] = "water tanks" - Nyears = n.snapshot_weightings.objective.sum() / 8760. - costs = load_costs(tech_costs, config['costs'], config['electricity'], Nyears) + Nyears = n.snapshot_weightings.objective.sum() / 8760.0 + costs = load_costs(tech_costs, config["costs"], config["electricity"], Nyears) update_transmission_costs(n, costs) return n + def update_p_nom_max(n): # if extendable carriers (solar/onwind/...) have capacity >= 0, # e.g. existing assets from the OPSD project are included to the network, # the installed capacity might exceed the expansion limit. # Hence, we update the assumptions. - - n.generators.p_nom_max = n.generators[['p_nom_min', 'p_nom_max']].max(1) + + n.generators.p_nom_max = n.generators[["p_nom_min", "p_nom_max"]].max(1) + def aggregate_p_nom(n): - return pd.concat([ - n.generators.groupby("carrier").p_nom_opt.sum(), - n.storage_units.groupby("carrier").p_nom_opt.sum(), - n.links.groupby("carrier").p_nom_opt.sum(), - n.loads_t.p.groupby(n.loads.carrier,axis=1).sum().mean() - ]) + return pd.concat( + [ + n.generators.groupby("carrier").p_nom_opt.sum(), + n.storage_units.groupby("carrier").p_nom_opt.sum(), + n.links.groupby("carrier").p_nom_opt.sum(), + n.loads_t.p.groupby(n.loads.carrier, axis=1).sum().mean(), + ] + ) + def aggregate_p(n): - return pd.concat([ - n.generators_t.p.sum().groupby(n.generators.carrier).sum(), - n.storage_units_t.p.sum().groupby(n.storage_units.carrier).sum(), - n.stores_t.p.sum().groupby(n.stores.carrier).sum(), - -n.loads_t.p.sum().groupby(n.loads.carrier).sum() - ]) + return pd.concat( + [ + n.generators_t.p.sum().groupby(n.generators.carrier).sum(), + n.storage_units_t.p.sum().groupby(n.storage_units.carrier).sum(), + n.stores_t.p.sum().groupby(n.stores.carrier).sum(), + -n.loads_t.p.sum().groupby(n.loads.carrier).sum(), + ] + ) + def aggregate_e_nom(n): - return pd.concat([ - (n.storage_units["p_nom_opt"]*n.storage_units["max_hours"]).groupby(n.storage_units["carrier"]).sum(), - n.stores["e_nom_opt"].groupby(n.stores.carrier).sum() - ]) + return pd.concat( + [ + (n.storage_units["p_nom_opt"] * n.storage_units["max_hours"]) + .groupby(n.storage_units["carrier"]) + .sum(), + n.stores["e_nom_opt"].groupby(n.stores.carrier).sum(), + ] + ) + def aggregate_p_curtailed(n): - return pd.concat([ - ((n.generators_t.p_max_pu.sum().multiply(n.generators.p_nom_opt) - n.generators_t.p.sum()) - .groupby(n.generators.carrier).sum()), - ((n.storage_units_t.inflow.sum() - n.storage_units_t.p.sum()) - .groupby(n.storage_units.carrier).sum()) - ]) + return pd.concat( + [ + ( + ( + n.generators_t.p_max_pu.sum().multiply(n.generators.p_nom_opt) + - n.generators_t.p.sum() + ) + .groupby(n.generators.carrier) + .sum() + ), + ( + (n.storage_units_t.inflow.sum() - n.storage_units_t.p.sum()) + .groupby(n.storage_units.carrier) + .sum() + ), + ] + ) + def aggregate_costs(n, flatten=False, opts=None, existing_only=False): - - components = dict(Link=("p_nom", "p0"), - Generator=("p_nom", "p"), - StorageUnit=("p_nom", "p"), - Store=("e_nom", "p"), - Line=("s_nom", None), - Transformer=("s_nom", None)) + components = dict( + Link=("p_nom", "p0"), + Generator=("p_nom", "p"), + StorageUnit=("p_nom", "p"), + Store=("e_nom", "p"), + Line=("s_nom", None), + Transformer=("s_nom", None), + ) costs = {} for c, (p_nom, p_attr) in zip( - n.iterate_components(components.keys(), skip_empty=False), - components.values() + n.iterate_components(components.keys(), skip_empty=False), components.values() ): - if c.df.empty: continue - if not existing_only: p_nom += "_opt" - costs[(c.list_name, 'capital')] = (c.df[p_nom] * c.df.capital_cost).groupby(c.df.carrier).sum() + if c.df.empty: + continue + if not existing_only: + p_nom += "_opt" + costs[(c.list_name, "capital")] = ( + (c.df[p_nom] * c.df.capital_cost).groupby(c.df.carrier).sum() + ) if p_attr is not None: p = c.pnl[p_attr].sum() - if c.name == 'StorageUnit': + if c.name == "StorageUnit": p = p.loc[p > 0] - costs[(c.list_name, 'marginal')] = (p*c.df.marginal_cost).groupby(c.df.carrier).sum() + costs[(c.list_name, "marginal")] = ( + (p * c.df.marginal_cost).groupby(c.df.carrier).sum() + ) costs = pd.concat(costs) if flatten: assert opts is not None - conv_techs = opts['conv_techs'] + conv_techs = opts["conv_techs"] costs = costs.reset_index(level=0, drop=True) - costs = costs['capital'].add( - costs['marginal'].rename({t: t + ' marginal' for t in conv_techs}), - fill_value=0. + costs = costs["capital"].add( + costs["marginal"].rename({t: t + " marginal" for t in conv_techs}), + fill_value=0.0, ) return costs + def progress_retrieve(url, file): import urllib + from progressbar import ProgressBar pbar = ProgressBar(0, 100) def dlProgress(count, blockSize, totalSize): - pbar.update( int(count * blockSize * 100 / totalSize) ) + pbar.update(int(count * blockSize * 100 / totalSize)) urllib.request.urlretrieve(url, file, reporthook=dlProgress) + def get_aggregation_strategies(aggregation_strategies): # default aggregation strategies that cannot be defined in .yaml format must be specified within # the function, otherwise (when defaults are passed in the function's definition) they get lost @@ -222,7 +275,7 @@ def get_aggregation_strategies(aggregation_strategies): bus_strategies = dict(country=_make_consense("Bus", "country")) bus_strategies.update(aggregation_strategies.get("buses", {})) - generator_strategies = {'build_year': lambda x: 0, 'lifetime': lambda x: np.inf} + generator_strategies = {"build_year": lambda x: 0, "lifetime": lambda x: np.inf} generator_strategies.update(aggregation_strategies.get("generators", {})) return bus_strategies, generator_strategies @@ -244,15 +297,17 @@ def mock_snakemake(rulename, **wildcards): keyword arguments fixing the wildcards. Only necessary if wildcards are needed. """ - import snakemake as sm import os + + import snakemake as sm + from packaging.version import Version, parse from pypsa.descriptors import Dict from snakemake.script import Snakemake - from packaging.version import Version, parse script_dir = Path(__file__).parent.resolve() - assert Path.cwd().resolve() == script_dir, \ - f'mock_snakemake has to be run from the repository scripts directory {script_dir}' + assert ( + Path.cwd().resolve() == script_dir + ), f"mock_snakemake has to be run from the repository scripts directory {script_dir}" os.chdir(script_dir.parent) for p in sm.SNAKEFILE_CHOICES: if os.path.exists(p): @@ -273,9 +328,18 @@ def mock_snakemake(rulename, **wildcards): io[i] = os.path.abspath(io[i]) make_accessable(job.input, job.output, job.log) - snakemake = Snakemake(job.input, job.output, job.params, job.wildcards, - job.threads, job.resources, job.log, - job.dag.workflow.config, job.rule.name, None,) + snakemake = Snakemake( + job.input, + job.output, + job.params, + job.wildcards, + job.threads, + job.resources, + job.log, + job.dag.workflow.config, + job.rule.name, + None, + ) # create log and output dir if not existent for path in list(snakemake.log) + list(snakemake.output): Path(path).parent.mkdir(parents=True, exist_ok=True) diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 039d58e3..64f18d45 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT @@ -84,14 +85,14 @@ It further adds extendable ``generators`` with **zero** capacity for """ import logging -from _helpers import configure_logging, update_p_nom_max -import pypsa -import pandas as pd -import numpy as np -import xarray as xr import geopandas as gpd +import numpy as np +import pandas as pd import powerplantmatching as pm +import pypsa +import xarray as xr +from _helpers import configure_logging, update_p_nom_max from powerplantmatching.export import map_country_bus from vresutils import transfer as vtransfer @@ -100,79 +101,98 @@ idx = pd.IndexSlice logger = logging.getLogger(__name__) -def normed(s): return s/s.sum() +def normed(s): + return s / s.sum() def calculate_annuity(n, r): - """Calculate the annuity factor for an asset with lifetime n years and - discount rate of r, e.g. annuity(20, 0.05) * 20 = 1.6""" + """ + Calculate the annuity factor for an asset with lifetime n years and. + + discount rate of r, e.g. annuity(20, 0.05) * 20 = 1.6 + """ if isinstance(r, pd.Series): - return pd.Series(1/n, index=r.index).where(r == 0, r/(1. - 1./(1.+r)**n)) + return pd.Series(1 / n, index=r.index).where( + r == 0, r / (1.0 - 1.0 / (1.0 + r) ** n) + ) elif r > 0: - return r / (1. - 1./(1.+r)**n) + return r / (1.0 - 1.0 / (1.0 + r) ** n) else: return 1 / n def _add_missing_carriers_from_costs(n, costs, carriers): missing_carriers = pd.Index(carriers).difference(n.carriers.index) - if missing_carriers.empty: return + if missing_carriers.empty: + return - emissions_cols = costs.columns.to_series()\ - .loc[lambda s: s.str.endswith('_emissions')].values - suptechs = missing_carriers.str.split('-').str[0] - emissions = costs.loc[suptechs, emissions_cols].fillna(0.) + emissions_cols = ( + costs.columns.to_series().loc[lambda s: s.str.endswith("_emissions")].values + ) + suptechs = missing_carriers.str.split("-").str[0] + emissions = costs.loc[suptechs, emissions_cols].fillna(0.0) emissions.index = missing_carriers - n.import_components_from_dataframe(emissions, 'Carrier') + n.import_components_from_dataframe(emissions, "Carrier") -def load_costs(tech_costs, config, elec_config, Nyears=1.): - +def load_costs(tech_costs, config, elec_config, Nyears=1.0): # set all asset costs and other parameters - costs = pd.read_csv(tech_costs, index_col=[0,1]).sort_index() + costs = pd.read_csv(tech_costs, index_col=[0, 1]).sort_index() # correct units to MW - costs.loc[costs.unit.str.contains("/kW"),"value"] *= 1e3 + costs.loc[costs.unit.str.contains("/kW"), "value"] *= 1e3 costs.unit = costs.unit.str.replace("/kW", "/MW") fill_values = config["fill_values"] costs = costs.value.unstack().fillna(fill_values) - costs["capital_cost"] = ((calculate_annuity(costs["lifetime"], costs["discount rate"]) + - costs["FOM"]/100.) * - costs["investment"] * Nyears) + costs["capital_cost"] = ( + ( + calculate_annuity(costs["lifetime"], costs["discount rate"]) + + costs["FOM"] / 100.0 + ) + * costs["investment"] + * Nyears + ) - costs.at['OCGT', 'fuel'] = costs.at['gas', 'fuel'] - costs.at['CCGT', 'fuel'] = costs.at['gas', 'fuel'] + costs.at["OCGT", "fuel"] = costs.at["gas", "fuel"] + costs.at["CCGT", "fuel"] = costs.at["gas", "fuel"] - costs['marginal_cost'] = costs['VOM'] + costs['fuel'] / costs['efficiency'] + costs["marginal_cost"] = costs["VOM"] + costs["fuel"] / costs["efficiency"] costs = costs.rename(columns={"CO2 intensity": "co2_emissions"}) - costs.at['OCGT', 'co2_emissions'] = costs.at['gas', 'co2_emissions'] - costs.at['CCGT', 'co2_emissions'] = costs.at['gas', 'co2_emissions'] + costs.at["OCGT", "co2_emissions"] = costs.at["gas", "co2_emissions"] + costs.at["CCGT", "co2_emissions"] = costs.at["gas", "co2_emissions"] - costs.at['solar', 'capital_cost'] = config["rooftop_share"] * costs.at['solar-rooftop', 'capital_cost'] + \ - (1-config["rooftop_share"]) * costs.at['solar-utility', 'capital_cost'] + costs.at["solar", "capital_cost"] = ( + config["rooftop_share"] * costs.at["solar-rooftop", "capital_cost"] + + (1 - config["rooftop_share"]) * costs.at["solar-utility", "capital_cost"] + ) - def costs_for_storage(store, link1, link2=None, max_hours=1.): - capital_cost = link1['capital_cost'] + max_hours * store['capital_cost'] + def costs_for_storage(store, link1, link2=None, max_hours=1.0): + capital_cost = link1["capital_cost"] + max_hours * store["capital_cost"] if link2 is not None: - capital_cost += link2['capital_cost'] - return pd.Series(dict(capital_cost=capital_cost, - marginal_cost=0., - co2_emissions=0.)) + capital_cost += link2["capital_cost"] + return pd.Series( + dict(capital_cost=capital_cost, marginal_cost=0.0, co2_emissions=0.0) + ) - max_hours = elec_config['max_hours'] - costs.loc["battery"] = \ - costs_for_storage(costs.loc["battery storage"], costs.loc["battery inverter"], - max_hours=max_hours['battery']) - costs.loc["H2"] = \ - costs_for_storage(costs.loc["hydrogen storage underground"], costs.loc["fuel cell"], - costs.loc["electrolysis"], max_hours=max_hours['H2']) + max_hours = elec_config["max_hours"] + costs.loc["battery"] = costs_for_storage( + costs.loc["battery storage"], + costs.loc["battery inverter"], + max_hours=max_hours["battery"], + ) + costs.loc["H2"] = costs_for_storage( + costs.loc["hydrogen storage underground"], + costs.loc["fuel cell"], + costs.loc["electrolysis"], + max_hours=max_hours["H2"], + ) - for attr in ('marginal_cost', 'capital_cost'): + for attr in ("marginal_cost", "capital_cost"): overwrites = config.get(attr) if overwrites is not None: overwrites = pd.Series(overwrites) @@ -182,26 +202,30 @@ def load_costs(tech_costs, config, elec_config, Nyears=1.): def load_powerplants(ppl_fn): - carrier_dict = {'ocgt': 'OCGT', 'ccgt': 'CCGT', 'bioenergy': 'biomass', - 'ccgt, thermal': 'CCGT', 'hard coal': 'coal'} - return (pd.read_csv(ppl_fn, index_col=0, dtype={'bus': 'str'}) - .powerplant.to_pypsa_names() - .rename(columns=str.lower) - .replace({'carrier': carrier_dict})) + carrier_dict = { + "ocgt": "OCGT", + "ccgt": "CCGT", + "bioenergy": "biomass", + "ccgt, thermal": "CCGT", + "hard coal": "coal", + } + return ( + pd.read_csv(ppl_fn, index_col=0, dtype={"bus": "str"}) + .powerplant.to_pypsa_names() + .rename(columns=str.lower) + .replace({"carrier": carrier_dict}) + ) -def attach_load(n, regions, load, nuts3_shapes, countries, scaling=1.): - - substation_lv_i = n.buses.index[n.buses['substation_lv']] - regions = (gpd.read_file(regions).set_index('name') - .reindex(substation_lv_i)) - opsd_load = (pd.read_csv(load, index_col=0, parse_dates=True) - .filter(items=countries)) +def attach_load(n, regions, load, nuts3_shapes, countries, scaling=1.0): + substation_lv_i = n.buses.index[n.buses["substation_lv"]] + regions = gpd.read_file(regions).set_index("name").reindex(substation_lv_i) + opsd_load = pd.read_csv(load, index_col=0, parse_dates=True).filter(items=countries) logger.info(f"Load data scaled with scalling factor {scaling}.") opsd_load *= scaling - nuts3 = gpd.read_file(nuts3_shapes).set_index('index') + nuts3 = gpd.read_file(nuts3_shapes).set_index("index") def upsample(cntry, group): l = opsd_load[cntry] @@ -209,21 +233,32 @@ def attach_load(n, regions, load, nuts3_shapes, countries, scaling=1.): return pd.DataFrame({group.index[0]: l}) else: nuts3_cntry = nuts3.loc[nuts3.country == cntry] - transfer = vtransfer.Shapes2Shapes(group, nuts3_cntry.geometry, - normed=False).T.tocsr() - gdp_n = pd.Series(transfer.dot(nuts3_cntry['gdp'].fillna(1.).values), - index=group.index) - pop_n = pd.Series(transfer.dot(nuts3_cntry['pop'].fillna(1.).values), - index=group.index) + transfer = vtransfer.Shapes2Shapes( + group, nuts3_cntry.geometry, normed=False + ).T.tocsr() + gdp_n = pd.Series( + transfer.dot(nuts3_cntry["gdp"].fillna(1.0).values), index=group.index + ) + pop_n = pd.Series( + transfer.dot(nuts3_cntry["pop"].fillna(1.0).values), index=group.index + ) # relative factors 0.6 and 0.4 have been determined from a linear # regression on the country to continent load data factors = normed(0.6 * normed(gdp_n) + 0.4 * normed(pop_n)) - return pd.DataFrame(factors.values * l.values[:,np.newaxis], - index=l.index, columns=factors.index) + return pd.DataFrame( + factors.values * l.values[:, np.newaxis], + index=l.index, + columns=factors.index, + ) - load = pd.concat([upsample(cntry, group) for cntry, group - in regions.geometry.groupby(regions.country)], axis=1) + load = pd.concat( + [ + upsample(cntry, group) + for cntry, group in regions.geometry.groupby(regions.country) + ], + axis=1, + ) n.madd("Load", substation_lv_i, bus=substation_lv_i, p_set=load) @@ -232,93 +267,132 @@ def update_transmission_costs(n, costs, length_factor=1.0): # TODO: line length factor of lines is applied to lines and links. # Separate the function to distinguish. - n.lines['capital_cost'] = (n.lines['length'] * length_factor * - costs.at['HVAC overhead', 'capital_cost']) + n.lines["capital_cost"] = ( + n.lines["length"] * length_factor * costs.at["HVAC overhead", "capital_cost"] + ) - if n.links.empty: return + if n.links.empty: + return - dc_b = n.links.carrier == 'DC' + dc_b = n.links.carrier == "DC" # If there are no dc links, then the 'underwater_fraction' column # may be missing. Therefore we have to return here. - if n.links.loc[dc_b].empty: return + if n.links.loc[dc_b].empty: + return - costs = (n.links.loc[dc_b, 'length'] * length_factor * - ((1. - n.links.loc[dc_b, 'underwater_fraction']) * - costs.at['HVDC overhead', 'capital_cost'] + - n.links.loc[dc_b, 'underwater_fraction'] * - costs.at['HVDC submarine', 'capital_cost']) + - costs.at['HVDC inverter pair', 'capital_cost']) - n.links.loc[dc_b, 'capital_cost'] = costs + costs = ( + n.links.loc[dc_b, "length"] + * length_factor + * ( + (1.0 - n.links.loc[dc_b, "underwater_fraction"]) + * costs.at["HVDC overhead", "capital_cost"] + + n.links.loc[dc_b, "underwater_fraction"] + * costs.at["HVDC submarine", "capital_cost"] + ) + + costs.at["HVDC inverter pair", "capital_cost"] + ) + n.links.loc[dc_b, "capital_cost"] = costs -def attach_wind_and_solar(n, costs, input_profiles, technologies, extendable_carriers, line_length_factor=1): +def attach_wind_and_solar( + n, costs, input_profiles, technologies, extendable_carriers, line_length_factor=1 +): # TODO: rename tech -> carrier, technologies -> carriers _add_missing_carriers_from_costs(n, costs, technologies) for tech in technologies: - if tech == 'hydro': + if tech == "hydro": continue - with xr.open_dataset(getattr(input_profiles, 'profile_' + tech)) as ds: - if ds.indexes['bus'].empty: continue + with xr.open_dataset(getattr(input_profiles, "profile_" + tech)) as ds: + if ds.indexes["bus"].empty: + continue - suptech = tech.split('-', 2)[0] - if suptech == 'offwind': - underwater_fraction = ds['underwater_fraction'].to_pandas() - connection_cost = (line_length_factor * - ds['average_distance'].to_pandas() * - (underwater_fraction * - costs.at[tech + '-connection-submarine', 'capital_cost'] + - (1. - underwater_fraction) * - costs.at[tech + '-connection-underground', 'capital_cost'])) - capital_cost = (costs.at['offwind', 'capital_cost'] + - costs.at[tech + '-station', 'capital_cost'] + - connection_cost) - logger.info("Added connection cost of {:0.0f}-{:0.0f} Eur/MW/a to {}" - .format(connection_cost.min(), connection_cost.max(), tech)) + suptech = tech.split("-", 2)[0] + if suptech == "offwind": + underwater_fraction = ds["underwater_fraction"].to_pandas() + connection_cost = ( + line_length_factor + * ds["average_distance"].to_pandas() + * ( + underwater_fraction + * costs.at[tech + "-connection-submarine", "capital_cost"] + + (1.0 - underwater_fraction) + * costs.at[tech + "-connection-underground", "capital_cost"] + ) + ) + capital_cost = ( + costs.at["offwind", "capital_cost"] + + costs.at[tech + "-station", "capital_cost"] + + connection_cost + ) + logger.info( + "Added connection cost of {:0.0f}-{:0.0f} Eur/MW/a to {}".format( + connection_cost.min(), connection_cost.max(), tech + ) + ) else: - capital_cost = costs.at[tech, 'capital_cost'] + capital_cost = costs.at[tech, "capital_cost"] - n.madd("Generator", ds.indexes['bus'], ' ' + tech, - bus=ds.indexes['bus'], - carrier=tech, - p_nom_extendable=tech in extendable_carriers['Generator'], - p_nom_max=ds['p_nom_max'].to_pandas(), - weight=ds['weight'].to_pandas(), - marginal_cost=costs.at[suptech, 'marginal_cost'], - capital_cost=capital_cost, - efficiency=costs.at[suptech, 'efficiency'], - p_max_pu=ds['profile'].transpose('time', 'bus').to_pandas()) + n.madd( + "Generator", + ds.indexes["bus"], + " " + tech, + bus=ds.indexes["bus"], + carrier=tech, + p_nom_extendable=tech in extendable_carriers["Generator"], + p_nom_max=ds["p_nom_max"].to_pandas(), + weight=ds["weight"].to_pandas(), + marginal_cost=costs.at[suptech, "marginal_cost"], + capital_cost=capital_cost, + efficiency=costs.at[suptech, "efficiency"], + p_max_pu=ds["profile"].transpose("time", "bus").to_pandas(), + ) -def attach_conventional_generators(n, costs, ppl, conventional_carriers, extendable_carriers, conventional_config, conventional_inputs): - - carriers = set(conventional_carriers) | set(extendable_carriers['Generator']) +def attach_conventional_generators( + n, + costs, + ppl, + conventional_carriers, + extendable_carriers, + conventional_config, + conventional_inputs, +): + carriers = set(conventional_carriers) | set(extendable_carriers["Generator"]) _add_missing_carriers_from_costs(n, costs, carriers) - ppl = (ppl.query('carrier in @carriers').join(costs, on='carrier', rsuffix='_r') - .rename(index=lambda s: 'C' + str(s))) + ppl = ( + ppl.query("carrier in @carriers") + .join(costs, on="carrier", rsuffix="_r") + .rename(index=lambda s: "C" + str(s)) + ) ppl["efficiency"] = ppl.efficiency.fillna(ppl.efficiency_r) - logger.info('Adding {} generators with capacities [GW] \n{}' - .format(len(ppl), ppl.groupby('carrier').p_nom.sum().div(1e3).round(2))) - - n.madd("Generator", ppl.index, - carrier=ppl.carrier, - bus=ppl.bus, - p_nom_min=ppl.p_nom.where(ppl.carrier.isin(conventional_carriers), 0), - p_nom=ppl.p_nom.where(ppl.carrier.isin(conventional_carriers), 0), - p_nom_extendable=ppl.carrier.isin(extendable_carriers['Generator']), - efficiency=ppl.efficiency, - marginal_cost=ppl.marginal_cost, - capital_cost=ppl.capital_cost, - build_year=ppl.datein.fillna(0).astype(int), - lifetime=(ppl.dateout - ppl.datein).fillna(np.inf), + logger.info( + "Adding {} generators with capacities [GW] \n{}".format( + len(ppl), ppl.groupby("carrier").p_nom.sum().div(1e3).round(2) ) - + ) + + n.madd( + "Generator", + ppl.index, + carrier=ppl.carrier, + bus=ppl.bus, + p_nom_min=ppl.p_nom.where(ppl.carrier.isin(conventional_carriers), 0), + p_nom=ppl.p_nom.where(ppl.carrier.isin(conventional_carriers), 0), + p_nom_extendable=ppl.carrier.isin(extendable_carriers["Generator"]), + efficiency=ppl.efficiency, + marginal_cost=ppl.marginal_cost, + capital_cost=ppl.capital_cost, + build_year=ppl.datein.fillna(0).astype(int), + lifetime=(ppl.dateout - ppl.datein).fillna(np.inf), + ) + for carrier in conventional_config: - + # Generators with technology affected idx = n.generators.query("carrier == @carrier").index @@ -331,178 +405,229 @@ def attach_conventional_generators(n, costs, ppl, conventional_carriers, extenda # First map generator buses to countries; then map countries to p_max_pu values = pd.read_csv(values, index_col=0).iloc[:, 0] bus_values = n.buses.country.map(values) - n.generators[attr].update(n.generators.loc[idx].bus.map(bus_values).dropna()) + n.generators[attr].update( + n.generators.loc[idx].bus.map(bus_values).dropna() + ) else: # Single value affecting all generators of technology k indiscriminantely of country n.generators.loc[idx, attr] = values - def attach_hydro(n, costs, ppl, profile_hydro, hydro_capacities, carriers, **config): - _add_missing_carriers_from_costs(n, costs, carriers) - ppl = ppl.query('carrier == "hydro"').reset_index(drop=True)\ - .rename(index=lambda s: str(s) + ' hydro') + ppl = ( + ppl.query('carrier == "hydro"') + .reset_index(drop=True) + .rename(index=lambda s: str(s) + " hydro") + ) ror = ppl.query('technology == "Run-Of-River"') phs = ppl.query('technology == "Pumped Storage"') hydro = ppl.query('technology == "Reservoir"') - country = ppl['bus'].map(n.buses.country).rename("country") + country = ppl["bus"].map(n.buses.country).rename("country") inflow_idx = ror.index.union(hydro.index) if not inflow_idx.empty: - dist_key = ppl.loc[inflow_idx, 'p_nom'].groupby(country).transform(normed) + dist_key = ppl.loc[inflow_idx, "p_nom"].groupby(country).transform(normed) with xr.open_dataarray(profile_hydro) as inflow: inflow_countries = pd.Index(country[inflow_idx]) - missing_c = (inflow_countries.unique() - .difference(inflow.indexes['countries'])) - assert missing_c.empty, (f"'{profile_hydro}' is missing " - f"inflow time-series for at least one country: {', '.join(missing_c)}") + missing_c = inflow_countries.unique().difference( + inflow.indexes["countries"] + ) + assert missing_c.empty, ( + f"'{profile_hydro}' is missing " + f"inflow time-series for at least one country: {', '.join(missing_c)}" + ) - inflow_t = (inflow.sel(countries=inflow_countries) - .rename({'countries': 'name'}) - .assign_coords(name=inflow_idx) - .transpose('time', 'name') - .to_pandas() - .multiply(dist_key, axis=1)) + inflow_t = ( + inflow.sel(countries=inflow_countries) + .rename({"countries": "name"}) + .assign_coords(name=inflow_idx) + .transpose("time", "name") + .to_pandas() + .multiply(dist_key, axis=1) + ) - if 'ror' in carriers and not ror.empty: - n.madd("Generator", ror.index, - carrier='ror', - bus=ror['bus'], - p_nom=ror['p_nom'], - efficiency=costs.at['ror', 'efficiency'], - capital_cost=costs.at['ror', 'capital_cost'], - weight=ror['p_nom'], - p_max_pu=(inflow_t[ror.index] - .divide(ror['p_nom'], axis=1) - .where(lambda df: df<=1., other=1.))) + if "ror" in carriers and not ror.empty: + n.madd( + "Generator", + ror.index, + carrier="ror", + bus=ror["bus"], + p_nom=ror["p_nom"], + efficiency=costs.at["ror", "efficiency"], + capital_cost=costs.at["ror", "capital_cost"], + weight=ror["p_nom"], + p_max_pu=( + inflow_t[ror.index] + .divide(ror["p_nom"], axis=1) + .where(lambda df: df <= 1.0, other=1.0) + ), + ) - if 'PHS' in carriers and not phs.empty: + if "PHS" in carriers and not phs.empty: # fill missing max hours to config value and # assume no natural inflow due to lack of data - max_hours = config.get('PHS_max_hours', 6) - phs = phs.replace({'max_hours': {0: max_hours}}) - n.madd('StorageUnit', phs.index, - carrier='PHS', - bus=phs['bus'], - p_nom=phs['p_nom'], - capital_cost=costs.at['PHS', 'capital_cost'], - max_hours=phs['max_hours'], - efficiency_store=np.sqrt(costs.at['PHS','efficiency']), - efficiency_dispatch=np.sqrt(costs.at['PHS','efficiency']), - cyclic_state_of_charge=True) + max_hours = config.get("PHS_max_hours", 6) + phs = phs.replace({"max_hours": {0: max_hours}}) + n.madd( + "StorageUnit", + phs.index, + carrier="PHS", + bus=phs["bus"], + p_nom=phs["p_nom"], + capital_cost=costs.at["PHS", "capital_cost"], + max_hours=phs["max_hours"], + efficiency_store=np.sqrt(costs.at["PHS", "efficiency"]), + efficiency_dispatch=np.sqrt(costs.at["PHS", "efficiency"]), + cyclic_state_of_charge=True, + ) - if 'hydro' in carriers and not hydro.empty: - hydro_max_hours = config.get('hydro_max_hours') + if "hydro" in carriers and not hydro.empty: + hydro_max_hours = config.get("hydro_max_hours") assert hydro_max_hours is not None, "No path for hydro capacities given." - hydro_stats = pd.read_csv(hydro_capacities, - comment="#", na_values='-', index_col=0) + hydro_stats = pd.read_csv( + hydro_capacities, comment="#", na_values="-", index_col=0 + ) e_target = hydro_stats["E_store[TWh]"].clip(lower=0.2) * 1e6 - e_installed = hydro.eval('p_nom * max_hours').groupby(hydro.country).sum() + e_installed = hydro.eval("p_nom * max_hours").groupby(hydro.country).sum() e_missing = e_target - e_installed - missing_mh_i = hydro.query('max_hours == 0').index + missing_mh_i = hydro.query("max_hours == 0").index - if hydro_max_hours == 'energy_capacity_totals_by_country': + if hydro_max_hours == "energy_capacity_totals_by_country": # watch out some p_nom values like IE's are totally underrepresented - max_hours_country = e_missing / \ - hydro.loc[missing_mh_i].groupby('country').p_nom.sum() + max_hours_country = ( + e_missing / hydro.loc[missing_mh_i].groupby("country").p_nom.sum() + ) - elif hydro_max_hours == 'estimate_by_large_installations': - max_hours_country = hydro_stats['E_store[TWh]'] * 1e3 / \ - hydro_stats['p_nom_discharge[GW]'] + elif hydro_max_hours == "estimate_by_large_installations": + max_hours_country = ( + hydro_stats["E_store[TWh]"] * 1e3 / hydro_stats["p_nom_discharge[GW]"] + ) - missing_countries = (pd.Index(hydro['country'].unique()) - .difference(max_hours_country.dropna().index)) + missing_countries = pd.Index(hydro["country"].unique()).difference( + max_hours_country.dropna().index + ) if not missing_countries.empty: - logger.warning("Assuming max_hours=6 for hydro reservoirs in the countries: {}" - .format(", ".join(missing_countries))) - hydro_max_hours = hydro.max_hours.where(hydro.max_hours > 0, - hydro.country.map(max_hours_country)).fillna(6) + logger.warning( + "Assuming max_hours=6 for hydro reservoirs in the countries: {}".format( + ", ".join(missing_countries) + ) + ) + hydro_max_hours = hydro.max_hours.where( + hydro.max_hours > 0, hydro.country.map(max_hours_country) + ).fillna(6) - n.madd('StorageUnit', hydro.index, carrier='hydro', - bus=hydro['bus'], - p_nom=hydro['p_nom'], - max_hours=hydro_max_hours, - capital_cost=costs.at['hydro', 'capital_cost'], - marginal_cost=costs.at['hydro', 'marginal_cost'], - p_max_pu=1., # dispatch - p_min_pu=0., # store - efficiency_dispatch=costs.at['hydro', 'efficiency'], - efficiency_store=0., - cyclic_state_of_charge=True, - inflow=inflow_t.loc[:, hydro.index]) + n.madd( + "StorageUnit", + hydro.index, + carrier="hydro", + bus=hydro["bus"], + p_nom=hydro["p_nom"], + max_hours=hydro_max_hours, + capital_cost=costs.at["hydro", "capital_cost"], + marginal_cost=costs.at["hydro", "marginal_cost"], + p_max_pu=1.0, # dispatch + p_min_pu=0.0, # store + efficiency_dispatch=costs.at["hydro", "efficiency"], + efficiency_store=0.0, + cyclic_state_of_charge=True, + inflow=inflow_t.loc[:, hydro.index], + ) def attach_extendable_generators(n, costs, ppl, carriers): - logger.warning("The function `attach_extendable_generators` is deprecated in v0.5.0.") + logger.warning( + "The function `attach_extendable_generators` is deprecated in v0.5.0." + ) _add_missing_carriers_from_costs(n, costs, carriers) for tech in carriers: - if tech.startswith('OCGT'): - ocgt = ppl.query("carrier in ['OCGT', 'CCGT']").groupby('bus', as_index=False).first() - n.madd('Generator', ocgt.index, - suffix=' OCGT', - bus=ocgt['bus'], - carrier=tech, - p_nom_extendable=True, - p_nom=0., - capital_cost=costs.at['OCGT', 'capital_cost'], - marginal_cost=costs.at['OCGT', 'marginal_cost'], - efficiency=costs.at['OCGT', 'efficiency']) - - elif tech.startswith('CCGT'): - ccgt = ppl.query("carrier in ['OCGT', 'CCGT']").groupby('bus', as_index=False).first() - n.madd('Generator', ccgt.index, - suffix=' CCGT', - bus=ccgt['bus'], - carrier=tech, - p_nom_extendable=True, - p_nom=0., - capital_cost=costs.at['CCGT', 'capital_cost'], - marginal_cost=costs.at['CCGT', 'marginal_cost'], - efficiency=costs.at['CCGT', 'efficiency']) - - elif tech.startswith('nuclear'): - nuclear = ppl.query("carrier == 'nuclear'").groupby('bus', as_index=False).first() - n.madd('Generator', nuclear.index, - suffix=' nuclear', - bus=nuclear['bus'], + if tech.startswith("OCGT"): + ocgt = ( + ppl.query("carrier in ['OCGT', 'CCGT']") + .groupby("bus", as_index=False) + .first() + ) + n.madd( + "Generator", + ocgt.index, + suffix=" OCGT", + bus=ocgt["bus"], carrier=tech, p_nom_extendable=True, - p_nom=0., - capital_cost=costs.at['nuclear', 'capital_cost'], - marginal_cost=costs.at['nuclear', 'marginal_cost'], - efficiency=costs.at['nuclear', 'efficiency']) + p_nom=0.0, + capital_cost=costs.at["OCGT", "capital_cost"], + marginal_cost=costs.at["OCGT", "marginal_cost"], + efficiency=costs.at["OCGT", "efficiency"], + ) + + elif tech.startswith("CCGT"): + ccgt = ( + ppl.query("carrier in ['OCGT', 'CCGT']") + .groupby("bus", as_index=False) + .first() + ) + n.madd( + "Generator", + ccgt.index, + suffix=" CCGT", + bus=ccgt["bus"], + carrier=tech, + p_nom_extendable=True, + p_nom=0.0, + capital_cost=costs.at["CCGT", "capital_cost"], + marginal_cost=costs.at["CCGT", "marginal_cost"], + efficiency=costs.at["CCGT", "efficiency"], + ) + + elif tech.startswith("nuclear"): + nuclear = ( + ppl.query("carrier == 'nuclear'").groupby("bus", as_index=False).first() + ) + n.madd( + "Generator", + nuclear.index, + suffix=" nuclear", + bus=nuclear["bus"], + carrier=tech, + p_nom_extendable=True, + p_nom=0.0, + capital_cost=costs.at["nuclear", "capital_cost"], + marginal_cost=costs.at["nuclear", "marginal_cost"], + efficiency=costs.at["nuclear", "efficiency"], + ) else: - raise NotImplementedError(f"Adding extendable generators for carrier " - "'{tech}' is not implemented, yet. " - "Only OCGT, CCGT and nuclear are allowed at the moment.") - + raise NotImplementedError( + f"Adding extendable generators for carrier " + "'{tech}' is not implemented, yet. " + "Only OCGT, CCGT and nuclear are allowed at the moment." + ) def attach_OPSD_renewables(n, tech_map): - tech_string = ", ".join(sum(tech_map.values(), [])) - logger.info(f'Using OPSD renewable capacities for carriers {tech_string}.') + logger.info(f"Using OPSD renewable capacities for carriers {tech_string}.") df = pm.data.OPSD_VRE().powerplant.convert_country_to_alpha2() - technology_b = ~df.Technology.isin(['Onshore', 'Offshore']) - df['Fueltype'] = df.Fueltype.where(technology_b, df.Technology).replace({"Solar": "PV"}) - df = df.query('Fueltype in @tech_map').powerplant.convert_country_to_alpha2() + technology_b = ~df.Technology.isin(["Onshore", "Offshore"]) + df["Fueltype"] = df.Fueltype.where(technology_b, df.Technology).replace( + {"Solar": "PV"} + ) + df = df.query("Fueltype in @tech_map").powerplant.convert_country_to_alpha2() for fueltype, carriers in tech_map.items(): gens = n.generators[lambda df: df.carrier.isin(carriers)] buses = n.buses.loc[gens.bus.unique()] - gens_per_bus = gens.groupby('bus').p_nom.count() + gens_per_bus = gens.groupby("bus").p_nom.count() - caps = map_country_bus(df.query('Fueltype == @fueltype'), buses) - caps = caps.groupby(['bus']).Capacity.sum() + caps = map_country_bus(df.query("Fueltype == @fueltype"), buses) + caps = caps.groupby(["bus"]).Capacity.sum() caps = caps / gens_per_bus.reindex(caps.index, fill_value=1) n.generators.p_nom.update(gens.bus.map(caps).dropna()) @@ -510,124 +635,197 @@ def attach_OPSD_renewables(n, tech_map): def estimate_renewable_capacities(n, config): - year = config["electricity"]["estimate_renewable_capacities"]["year"] - tech_map = config["electricity"]["estimate_renewable_capacities"]["technology_mapping"] + tech_map = config["electricity"]["estimate_renewable_capacities"][ + "technology_mapping" + ] countries = config["countries"] - expansion_limit = config["electricity"]["estimate_renewable_capacities"]["expansion_limit"] + expansion_limit = config["electricity"]["estimate_renewable_capacities"][ + "expansion_limit" + ] - if not len(countries) or not len(tech_map): return + if not len(countries) or not len(tech_map): + return capacities = pm.data.IRENASTAT().powerplant.convert_country_to_alpha2() - capacities = capacities.query("Year == @year and Technology in @tech_map and Country in @countries") + capacities = capacities.query( + "Year == @year and Technology in @tech_map and Country in @countries" + ) capacities = capacities.groupby(["Technology", "Country"]).Capacity.sum() - logger.info(f"Heuristics applied to distribute renewable capacities [GW]: " - f"\n{capacities.groupby('Technology').sum().div(1e3).round(2)}") + logger.info( + f"Heuristics applied to distribute renewable capacities [GW]: " + f"\n{capacities.groupby('Technology').sum().div(1e3).round(2)}" + ) - for ppm_technology, techs in tech_map.items(): - tech_i = n.generators.query('carrier in @techs').index - stats = capacities.loc[ppm_technology].reindex(countries, fill_value=0.) + tech_i = n.generators.query("carrier in @techs").index + stats = capacities.loc[ppm_technology].reindex(countries, fill_value=0.0) country = n.generators.bus[tech_i].map(n.buses.country) existent = n.generators.p_nom[tech_i].groupby(country).sum() missing = stats - existent dist = n.generators_t.p_max_pu.mean() * n.generators.p_nom_max - n.generators.loc[tech_i, 'p_nom'] += ( + n.generators.loc[tech_i, "p_nom"] += ( dist[tech_i] .groupby(country) .transform(lambda s: normed(s) * missing[s.name]) - .where(lambda s: s>0.1, 0.) # only capacities above 100kW - ) - n.generators.loc[tech_i, 'p_nom_min'] = n.generators.loc[tech_i, 'p_nom'] + .where(lambda s: s > 0.1, 0.0) # only capacities above 100kW + ) + n.generators.loc[tech_i, "p_nom_min"] = n.generators.loc[tech_i, "p_nom"] if expansion_limit: assert np.isscalar(expansion_limit) - logger.info(f"Reducing capacity expansion limit to {expansion_limit*100:.2f}% of installed capacity.") - n.generators.loc[tech_i, 'p_nom_max'] = expansion_limit * n.generators.loc[tech_i, 'p_nom_min'] + logger.info( + f"Reducing capacity expansion limit to {expansion_limit*100:.2f}% of installed capacity." + ) + n.generators.loc[tech_i, "p_nom_max"] = ( + expansion_limit * n.generators.loc[tech_i, "p_nom_min"] + ) def add_nice_carrier_names(n, config): carrier_i = n.carriers.index - nice_names = (pd.Series(config['plotting']['nice_names']) - .reindex(carrier_i).fillna(carrier_i.to_series().str.title())) - n.carriers['nice_name'] = nice_names - colors = pd.Series(config['plotting']['tech_colors']).reindex(carrier_i) + nice_names = ( + pd.Series(config["plotting"]["nice_names"]) + .reindex(carrier_i) + .fillna(carrier_i.to_series().str.title()) + ) + n.carriers["nice_name"] = nice_names + colors = pd.Series(config["plotting"]["tech_colors"]).reindex(carrier_i) if colors.isna().any(): missing_i = list(colors.index[colors.isna()]) - logger.warning(f'tech_colors for carriers {missing_i} not defined in config.') - n.carriers['color'] = colors + logger.warning(f"tech_colors for carriers {missing_i} not defined in config.") + n.carriers["color"] = colors + if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('add_electricity') + + snakemake = mock_snakemake("add_electricity") configure_logging(snakemake) n = pypsa.Network(snakemake.input.base_network) - Nyears = n.snapshot_weightings.objective.sum() / 8760. + Nyears = n.snapshot_weightings.objective.sum() / 8760.0 - costs = load_costs(snakemake.input.tech_costs, snakemake.config['costs'], snakemake.config['electricity'], Nyears) + costs = load_costs( + snakemake.input.tech_costs, + snakemake.config["costs"], + snakemake.config["electricity"], + Nyears, + ) ppl = load_powerplants(snakemake.input.powerplants) - - if "renewable_carriers" in snakemake.config['electricity']: - renewable_carriers = set(snakemake.config['renewable']) - else: - logger.warning("Missing key `renewable_carriers` under config entry `electricity`. " - "In future versions, this will raise an error. " - "Falling back to carriers listed under `renewable`.") - renewable_carriers = snakemake.config['renewable'] - extendable_carriers = snakemake.config['electricity']['extendable_carriers'] - if not (set(renewable_carriers) & set(extendable_carriers['Generator'])): - logger.warning("No renewables found in config entry `extendable_carriers`. " - "In future versions, these have to be explicitly listed. " - "Falling back to all renewables.") - + if "renewable_carriers" in snakemake.config["electricity"]: + renewable_carriers = set(snakemake.config["renewable"]) + else: + logger.warning( + "Missing key `renewable_carriers` under config entry `electricity`. " + "In future versions, this will raise an error. " + "Falling back to carriers listed under `renewable`." + ) + renewable_carriers = snakemake.config["renewable"] + + extendable_carriers = snakemake.config["electricity"]["extendable_carriers"] + if not (set(renewable_carriers) & set(extendable_carriers["Generator"])): + logger.warning( + "No renewables found in config entry `extendable_carriers`. " + "In future versions, these have to be explicitly listed. " + "Falling back to all renewables." + ) + conventional_carriers = snakemake.config["electricity"]["conventional_carriers"] + attach_load( + n, + snakemake.input.regions, + snakemake.input.load, + snakemake.input.nuts3_shapes, + snakemake.config["countries"], + snakemake.config["load"]["scaling_factor"], + ) - attach_load(n, snakemake.input.regions, snakemake.input.load, snakemake.input.nuts3_shapes, - snakemake.config['countries'], snakemake.config['load']['scaling_factor']) + update_transmission_costs(n, costs, snakemake.config["lines"]["length_factor"]) - update_transmission_costs(n, costs, snakemake.config['lines']['length_factor']) + conventional_inputs = { + k: v for k, v in snakemake.input.items() if k.startswith("conventional_") + } + attach_conventional_generators( + n, + costs, + ppl, + conventional_carriers, + extendable_carriers, + snakemake.config.get("conventional", {}), + conventional_inputs, + ) - conventional_inputs = {k: v for k, v in snakemake.input.items() if k.startswith("conventional_")} - attach_conventional_generators(n, costs, ppl, conventional_carriers, extendable_carriers, snakemake.config.get("conventional", {}), conventional_inputs) + attach_wind_and_solar( + n, + costs, + snakemake.input, + renewable_carriers, + extendable_carriers, + snakemake.config["lines"]["length_factor"], + ) - attach_wind_and_solar(n, costs, snakemake.input, renewable_carriers, extendable_carriers, snakemake.config['lines']['length_factor']) + if "hydro" in renewable_carriers: + conf = snakemake.config["renewable"]["hydro"] + attach_hydro( + n, + costs, + ppl, + snakemake.input.profile_hydro, + snakemake.input.hydro_capacities, + conf.pop("carriers", []), + **conf, + ) - if 'hydro' in renewable_carriers: - conf = snakemake.config['renewable']['hydro'] - attach_hydro(n, costs, ppl, snakemake.input.profile_hydro, snakemake.input.hydro_capacities, - conf.pop('carriers', []), **conf) - - if "estimate_renewable_capacities" not in snakemake.config['electricity']: - logger.warning("Missing key `estimate_renewable_capacities` under config entry `electricity`. " - "In future versions, this will raise an error. " - "Falling back to whether ``estimate_renewable_capacities_from_capacity_stats`` is in the config.") - if "estimate_renewable_capacities_from_capacity_stats" in snakemake.config['electricity']: - estimate_renewable_caps = {'enable': True, **snakemake.config['electricity']["estimate_renewable_capacities_from_capacity_stats"]} + if "estimate_renewable_capacities" not in snakemake.config["electricity"]: + logger.warning( + "Missing key `estimate_renewable_capacities` under config entry `electricity`. " + "In future versions, this will raise an error. " + "Falling back to whether ``estimate_renewable_capacities_from_capacity_stats`` is in the config." + ) + if ( + "estimate_renewable_capacities_from_capacity_stats" + in snakemake.config["electricity"] + ): + estimate_renewable_caps = { + "enable": True, + **snakemake.config["electricity"][ + "estimate_renewable_capacities_from_capacity_stats" + ], + } else: - estimate_renewable_caps = {'enable': False} + estimate_renewable_caps = {"enable": False} else: - estimate_renewable_caps = snakemake.config['electricity']["estimate_renewable_capacities"] + estimate_renewable_caps = snakemake.config["electricity"][ + "estimate_renewable_capacities" + ] if "enable" not in estimate_renewable_caps: - logger.warning("Missing key `enable` under config entry `estimate_renewable_capacities`. " - "In future versions, this will raise an error. Falling back to False.") - estimate_renewable_caps = {'enable': False} + logger.warning( + "Missing key `enable` under config entry `estimate_renewable_capacities`. " + "In future versions, this will raise an error. Falling back to False." + ) + estimate_renewable_caps = {"enable": False} if "from_opsd" not in estimate_renewable_caps: - logger.warning("Missing key `from_opsd` under config entry `estimate_renewable_capacities`. " - "In future versions, this will raise an error. " - "Falling back to whether `renewable_capacities_from_opsd` is non-empty.") - from_opsd = bool(snakemake.config["electricity"].get("renewable_capacities_from_opsd", False)) - estimate_renewable_caps['from_opsd'] = from_opsd - + logger.warning( + "Missing key `from_opsd` under config entry `estimate_renewable_capacities`. " + "In future versions, this will raise an error. " + "Falling back to whether `renewable_capacities_from_opsd` is non-empty." + ) + from_opsd = bool( + snakemake.config["electricity"].get("renewable_capacities_from_opsd", False) + ) + estimate_renewable_caps["from_opsd"] = from_opsd - if estimate_renewable_caps["enable"]: + if estimate_renewable_caps["enable"]: if estimate_renewable_caps["from_opsd"]: - tech_map = snakemake.config["electricity"]["estimate_renewable_capacities"]["technology_mapping"] + tech_map = snakemake.config["electricity"]["estimate_renewable_capacities"][ + "technology_mapping" + ] attach_OPSD_renewables(n, tech_map) estimate_renewable_capacities(n, snakemake.config) diff --git a/scripts/add_extra_components.py b/scripts/add_extra_components.py index fa9d3b82..ba784096 100644 --- a/scripts/add_extra_components.py +++ b/scripts/add_extra_components.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT @@ -50,14 +51,16 @@ The rule :mod:`add_extra_components` attaches additional extendable components t - ``Stores`` of carrier 'H2' and/or 'battery' in combination with ``Links``. If this option is chosen, the script adds extra buses with corresponding carrier where energy ``Stores`` are attached and which are connected to the corresponding power buses via two links, one each for charging and discharging. This leads to three investment variables for the energy capacity, charging and discharging capacity of the storage unit. """ import logging -from _helpers import configure_logging -import pypsa -import pandas as pd import numpy as np - -from add_electricity import (load_costs, add_nice_carrier_names, - _add_missing_carriers_from_costs) +import pandas as pd +import pypsa +from _helpers import configure_logging +from add_electricity import ( + _add_missing_carriers_from_costs, + add_nice_carrier_names, + load_costs, +) idx = pd.IndexSlice @@ -65,8 +68,8 @@ logger = logging.getLogger(__name__) def attach_storageunits(n, costs, elec_opts): - carriers = elec_opts['extendable_carriers']['StorageUnit'] - max_hours = elec_opts['max_hours'] + carriers = elec_opts["extendable_carriers"]["StorageUnit"] + max_hours = elec_opts["max_hours"] _add_missing_carriers_from_costs(n, costs, carriers) @@ -77,131 +80,167 @@ def attach_storageunits(n, costs, elec_opts): for carrier in carriers: roundtrip_correction = 0.5 if carrier == "battery" else 1 - - n.madd("StorageUnit", buses_i, ' ' + carrier, - bus=buses_i, - carrier=carrier, - p_nom_extendable=True, - capital_cost=costs.at[carrier, 'capital_cost'], - marginal_cost=costs.at[carrier, 'marginal_cost'], - efficiency_store=costs.at[lookup_store[carrier], 'efficiency']**roundtrip_correction, - efficiency_dispatch=costs.at[lookup_dispatch[carrier], 'efficiency']**roundtrip_correction, - max_hours=max_hours[carrier], - cyclic_state_of_charge=True + + n.madd( + "StorageUnit", + buses_i, + " " + carrier, + bus=buses_i, + carrier=carrier, + p_nom_extendable=True, + capital_cost=costs.at[carrier, "capital_cost"], + marginal_cost=costs.at[carrier, "marginal_cost"], + efficiency_store=costs.at[lookup_store[carrier], "efficiency"] + ** roundtrip_correction, + efficiency_dispatch=costs.at[lookup_dispatch[carrier], "efficiency"] + ** roundtrip_correction, + max_hours=max_hours[carrier], + cyclic_state_of_charge=True, ) def attach_stores(n, costs, elec_opts): - carriers = elec_opts['extendable_carriers']['Store'] + carriers = elec_opts["extendable_carriers"]["Store"] _add_missing_carriers_from_costs(n, costs, carriers) buses_i = n.buses.index - bus_sub_dict = {k: n.buses[k].values for k in ['x', 'y', 'country']} + bus_sub_dict = {k: n.buses[k].values for k in ["x", "y", "country"]} - if 'H2' in carriers: + if "H2" in carriers: h2_buses_i = n.madd("Bus", buses_i + " H2", carrier="H2", **bus_sub_dict) - n.madd("Store", h2_buses_i, - bus=h2_buses_i, - carrier='H2', - e_nom_extendable=True, - e_cyclic=True, - capital_cost=costs.at["hydrogen storage underground", "capital_cost"]) + n.madd( + "Store", + h2_buses_i, + bus=h2_buses_i, + carrier="H2", + e_nom_extendable=True, + e_cyclic=True, + capital_cost=costs.at["hydrogen storage underground", "capital_cost"], + ) - n.madd("Link", h2_buses_i + " Electrolysis", - bus0=buses_i, - bus1=h2_buses_i, - carrier='H2 electrolysis', - p_nom_extendable=True, - efficiency=costs.at["electrolysis", "efficiency"], - capital_cost=costs.at["electrolysis", "capital_cost"], - marginal_cost=costs.at["electrolysis", "marginal_cost"]) + n.madd( + "Link", + h2_buses_i + " Electrolysis", + bus0=buses_i, + bus1=h2_buses_i, + carrier="H2 electrolysis", + p_nom_extendable=True, + efficiency=costs.at["electrolysis", "efficiency"], + capital_cost=costs.at["electrolysis", "capital_cost"], + marginal_cost=costs.at["electrolysis", "marginal_cost"], + ) - n.madd("Link", h2_buses_i + " Fuel Cell", - bus0=h2_buses_i, - bus1=buses_i, - carrier='H2 fuel cell', - p_nom_extendable=True, - efficiency=costs.at["fuel cell", "efficiency"], - #NB: fixed cost is per MWel - capital_cost=costs.at["fuel cell", "capital_cost"] * costs.at["fuel cell", "efficiency"], - marginal_cost=costs.at["fuel cell", "marginal_cost"]) + n.madd( + "Link", + h2_buses_i + " Fuel Cell", + bus0=h2_buses_i, + bus1=buses_i, + carrier="H2 fuel cell", + p_nom_extendable=True, + efficiency=costs.at["fuel cell", "efficiency"], + # NB: fixed cost is per MWel + capital_cost=costs.at["fuel cell", "capital_cost"] + * costs.at["fuel cell", "efficiency"], + marginal_cost=costs.at["fuel cell", "marginal_cost"], + ) - if 'battery' in carriers: - b_buses_i = n.madd("Bus", buses_i + " battery", carrier="battery", **bus_sub_dict) + if "battery" in carriers: + b_buses_i = n.madd( + "Bus", buses_i + " battery", carrier="battery", **bus_sub_dict + ) - n.madd("Store", b_buses_i, - bus=b_buses_i, - carrier='battery', - e_cyclic=True, - e_nom_extendable=True, - capital_cost=costs.at['battery storage', 'capital_cost'], - marginal_cost=costs.at["battery", "marginal_cost"]) + n.madd( + "Store", + b_buses_i, + bus=b_buses_i, + carrier="battery", + e_cyclic=True, + e_nom_extendable=True, + capital_cost=costs.at["battery storage", "capital_cost"], + marginal_cost=costs.at["battery", "marginal_cost"], + ) - n.madd("Link", b_buses_i + " charger", - bus0=buses_i, - bus1=b_buses_i, - carrier='battery charger', - # the efficiencies are "round trip efficiencies" - efficiency=costs.at['battery inverter', 'efficiency']**0.5, - capital_cost=costs.at['battery inverter', 'capital_cost'], - p_nom_extendable=True, - marginal_cost=costs.at["battery inverter", "marginal_cost"]) + n.madd( + "Link", + b_buses_i + " charger", + bus0=buses_i, + bus1=b_buses_i, + carrier="battery charger", + # the efficiencies are "round trip efficiencies" + efficiency=costs.at["battery inverter", "efficiency"] ** 0.5, + capital_cost=costs.at["battery inverter", "capital_cost"], + p_nom_extendable=True, + marginal_cost=costs.at["battery inverter", "marginal_cost"], + ) - n.madd("Link", b_buses_i + " discharger", - bus0=b_buses_i, - bus1=buses_i, - carrier='battery discharger', - efficiency=costs.at['battery inverter','efficiency']**0.5, - p_nom_extendable=True, - marginal_cost=costs.at["battery inverter", "marginal_cost"]) + n.madd( + "Link", + b_buses_i + " discharger", + bus0=b_buses_i, + bus1=buses_i, + carrier="battery discharger", + efficiency=costs.at["battery inverter", "efficiency"] ** 0.5, + p_nom_extendable=True, + marginal_cost=costs.at["battery inverter", "marginal_cost"], + ) def attach_hydrogen_pipelines(n, costs, elec_opts): - ext_carriers = elec_opts['extendable_carriers'] - as_stores = ext_carriers.get('Store', []) + ext_carriers = elec_opts["extendable_carriers"] + as_stores = ext_carriers.get("Store", []) - if 'H2 pipeline' not in ext_carriers.get('Link',[]): return + if "H2 pipeline" not in ext_carriers.get("Link", []): + return - assert 'H2' in as_stores, ("Attaching hydrogen pipelines requires hydrogen " - "storage to be modelled as Store-Link-Bus combination. See " - "`config.yaml` at `electricity: extendable_carriers: Store:`.") + assert "H2" in as_stores, ( + "Attaching hydrogen pipelines requires hydrogen " + "storage to be modelled as Store-Link-Bus combination. See " + "`config.yaml` at `electricity: extendable_carriers: Store:`." + ) # determine bus pairs - attrs = ["bus0","bus1","length"] - candidates = pd.concat([n.lines[attrs], n.links.query('carrier=="DC"')[attrs]])\ - .reset_index(drop=True) + attrs = ["bus0", "bus1", "length"] + candidates = pd.concat( + [n.lines[attrs], n.links.query('carrier=="DC"')[attrs]] + ).reset_index(drop=True) # remove bus pair duplicates regardless of order of bus0 and bus1 - h2_links = candidates[~pd.DataFrame(np.sort(candidates[['bus0', 'bus1']])).duplicated()] + h2_links = candidates[ + ~pd.DataFrame(np.sort(candidates[["bus0", "bus1"]])).duplicated() + ] h2_links.index = h2_links.apply(lambda c: f"H2 pipeline {c.bus0}-{c.bus1}", axis=1) # add pipelines - n.madd("Link", - h2_links.index, - bus0=h2_links.bus0.values + " H2", - bus1=h2_links.bus1.values + " H2", - p_min_pu=-1, - p_nom_extendable=True, - length=h2_links.length.values, - capital_cost=costs.at['H2 pipeline','capital_cost']*h2_links.length, - efficiency=costs.at['H2 pipeline','efficiency'], - carrier="H2 pipeline") + n.madd( + "Link", + h2_links.index, + bus0=h2_links.bus0.values + " H2", + bus1=h2_links.bus1.values + " H2", + p_min_pu=-1, + p_nom_extendable=True, + length=h2_links.length.values, + capital_cost=costs.at["H2 pipeline", "capital_cost"] * h2_links.length, + efficiency=costs.at["H2 pipeline", "efficiency"], + carrier="H2 pipeline", + ) if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('add_extra_components', - simpl='', clusters=5) + + snakemake = mock_snakemake("add_extra_components", simpl="", clusters=5) configure_logging(snakemake) n = pypsa.Network(snakemake.input.network) - elec_config = snakemake.config['electricity'] - - Nyears = n.snapshot_weightings.objective.sum() / 8760. - costs = load_costs(snakemake.input.tech_costs, snakemake.config['costs'], elec_config, Nyears) + elec_config = snakemake.config["electricity"] + + Nyears = n.snapshot_weightings.objective.sum() / 8760.0 + costs = load_costs( + snakemake.input.tech_costs, snakemake.config["costs"], elec_config, Nyears + ) attach_storageunits(n, costs, elec_config) attach_stores(n, costs, elec_config) diff --git a/scripts/base_network.py b/scripts/base_network.py index 5ac8ce4f..6dafbbd9 100644 --- a/scripts/base_network.py +++ b/scripts/base_network.py @@ -1,10 +1,13 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT # coding: utf-8 """ -Creates the network topology from a `ENTSO-E map extract `_ (March 2022) as a PyPSA network. +Creates the network topology from a `ENTSO-E map extract +`_ (March 2022) as a PyPSA +network. Relevant Settings ----------------- @@ -59,25 +62,24 @@ Outputs Description ----------- - """ import logging -from _helpers import configure_logging - -import pypsa -import yaml -import pandas as pd -import geopandas as gpd -import numpy as np -import networkx as nx - -from scipy import spatial -from scipy.sparse import csgraph from itertools import product -from shapely.geometry import Point, LineString -import shapely, shapely.prepared, shapely.wkt +import geopandas as gpd +import networkx as nx +import numpy as np +import pandas as pd +import pypsa +import shapely +import shapely.prepared +import shapely.wkt +import yaml +from _helpers import configure_logging +from scipy import spatial +from scipy.sparse import csgraph +from shapely.geometry import LineString, Point logger = logging.getLogger(__name__) @@ -97,48 +99,73 @@ def _get_country(df): def _find_closest_links(links, new_links, distance_upper_bound=1.5): - treecoords = np.asarray([np.asarray(shapely.wkt.loads(s).coords)[[0, -1]].flatten() - for s in links.geometry]) - querycoords = np.vstack([new_links[['x1', 'y1', 'x2', 'y2']], - new_links[['x2', 'y2', 'x1', 'y1']]]) + treecoords = np.asarray( + [ + np.asarray(shapely.wkt.loads(s).coords)[[0, -1]].flatten() + for s in links.geometry + ] + ) + querycoords = np.vstack( + [new_links[["x1", "y1", "x2", "y2"]], new_links[["x2", "y2", "x1", "y1"]]] + ) tree = spatial.KDTree(treecoords) dist, ind = tree.query(querycoords, distance_upper_bound=distance_upper_bound) found_b = ind < len(links) - found_i = np.arange(len(new_links)*2)[found_b] % len(new_links) - return pd.DataFrame(dict(D=dist[found_b], - i=links.index[ind[found_b] % len(links)]), - index=new_links.index[found_i]).sort_values(by='D')\ - [lambda ds: ~ds.index.duplicated(keep='first')]\ - .sort_index()['i'] + found_i = np.arange(len(new_links) * 2)[found_b] % len(new_links) + return ( + pd.DataFrame( + dict(D=dist[found_b], i=links.index[ind[found_b] % len(links)]), + index=new_links.index[found_i], + ) + .sort_values(by="D")[lambda ds: ~ds.index.duplicated(keep="first")] + .sort_index()["i"] + ) def _load_buses_from_eg(eg_buses, europe_shape, config_elec): - buses = (pd.read_csv(eg_buses, quotechar="'", - true_values=['t'], false_values=['f'], - dtype=dict(bus_id="str")) - .set_index("bus_id") - .drop(['station_id'], axis=1) - .rename(columns=dict(voltage='v_nom'))) + buses = ( + pd.read_csv( + eg_buses, + quotechar="'", + true_values=["t"], + false_values=["f"], + dtype=dict(bus_id="str"), + ) + .set_index("bus_id") + .drop(["station_id"], axis=1) + .rename(columns=dict(voltage="v_nom")) + ) - buses['carrier'] = buses.pop('dc').map({True: 'DC', False: 'AC'}) - buses['under_construction'] = buses['under_construction'].fillna(False).astype(bool) + buses["carrier"] = buses.pop("dc").map({True: "DC", False: "AC"}) + buses["under_construction"] = buses["under_construction"].fillna(False).astype(bool) # remove all buses outside of all countries including exclusive economic zones (offshore) - europe_shape = gpd.read_file(europe_shape).loc[0, 'geometry'] + europe_shape = gpd.read_file(europe_shape).loc[0, "geometry"] europe_shape_prepped = shapely.prepared.prep(europe_shape) - buses_in_europe_b = buses[['x', 'y']].apply(lambda p: europe_shape_prepped.contains(Point(p)), axis=1) + buses_in_europe_b = buses[["x", "y"]].apply( + lambda p: europe_shape_prepped.contains(Point(p)), axis=1 + ) - buses_with_v_nom_to_keep_b = buses.v_nom.isin(config_elec['voltages']) | buses.v_nom.isnull() - logger.info("Removing buses with voltages {}".format(pd.Index(buses.v_nom.unique()).dropna().difference(config_elec['voltages']))) + buses_with_v_nom_to_keep_b = ( + buses.v_nom.isin(config_elec["voltages"]) | buses.v_nom.isnull() + ) + logger.info( + "Removing buses with voltages {}".format( + pd.Index(buses.v_nom.unique()).dropna().difference(config_elec["voltages"]) + ) + ) return pd.DataFrame(buses.loc[buses_in_europe_b & buses_with_v_nom_to_keep_b]) def _load_transformers_from_eg(buses, eg_transformers): - transformers = (pd.read_csv(eg_transformers, quotechar="'", - true_values=['t'], false_values=['f'], - dtype=dict(transformer_id='str', bus0='str', bus1='str')) - .set_index('transformer_id')) + transformers = pd.read_csv( + eg_transformers, + quotechar="'", + true_values=["t"], + false_values=["f"], + dtype=dict(transformer_id="str", bus0="str", bus1="str"), + ).set_index("transformer_id") transformers = _remove_dangling_branches(transformers, buses) @@ -146,33 +173,40 @@ def _load_transformers_from_eg(buses, eg_transformers): def _load_converters_from_eg(buses, eg_converters): - converters = (pd.read_csv(eg_converters, quotechar="'", - true_values=['t'], false_values=['f'], - dtype=dict(converter_id='str', bus0='str', bus1='str')) - .set_index('converter_id')) + converters = pd.read_csv( + eg_converters, + quotechar="'", + true_values=["t"], + false_values=["f"], + dtype=dict(converter_id="str", bus0="str", bus1="str"), + ).set_index("converter_id") converters = _remove_dangling_branches(converters, buses) - converters['carrier'] = 'B2B' + converters["carrier"] = "B2B" return converters def _load_links_from_eg(buses, eg_links): - links = (pd.read_csv(eg_links, quotechar="'", true_values=['t'], false_values=['f'], - dtype=dict(link_id='str', bus0='str', bus1='str', under_construction="bool")) - .set_index('link_id')) + links = pd.read_csv( + eg_links, + quotechar="'", + true_values=["t"], + false_values=["f"], + dtype=dict(link_id="str", bus0="str", bus1="str", under_construction="bool"), + ).set_index("link_id") - links['length'] /= 1e3 + links["length"] /= 1e3 # Skagerrak Link is connected to 132kV bus which is removed in _load_buses_from_eg. # Connect to neighboring 380kV bus - links.loc[links.bus1=='6396', 'bus1'] = '6398' + links.loc[links.bus1 == "6396", "bus1"] = "6398" links = _remove_dangling_branches(links, buses) # Add DC line parameters - links['carrier'] = 'DC' + links["carrier"] = "DC" return links @@ -181,15 +215,21 @@ def _add_links_from_tyndp(buses, links, links_tyndp, europe_shape): links_tyndp = pd.read_csv(links_tyndp) # remove all links from list which lie outside all of the desired countries - europe_shape = gpd.read_file(europe_shape).loc[0, 'geometry'] + europe_shape = gpd.read_file(europe_shape).loc[0, "geometry"] europe_shape_prepped = shapely.prepared.prep(europe_shape) - x1y1_in_europe_b = links_tyndp[['x1', 'y1']].apply(lambda p: europe_shape_prepped.contains(Point(p)), axis=1) - x2y2_in_europe_b = links_tyndp[['x2', 'y2']].apply(lambda p: europe_shape_prepped.contains(Point(p)), axis=1) + x1y1_in_europe_b = links_tyndp[["x1", "y1"]].apply( + lambda p: europe_shape_prepped.contains(Point(p)), axis=1 + ) + x2y2_in_europe_b = links_tyndp[["x2", "y2"]].apply( + lambda p: europe_shape_prepped.contains(Point(p)), axis=1 + ) is_within_covered_countries_b = x1y1_in_europe_b & x2y2_in_europe_b if not is_within_covered_countries_b.all(): - logger.info("TYNDP links outside of the covered area (skipping): " + - ", ".join(links_tyndp.loc[~ is_within_covered_countries_b, "Name"])) + logger.info( + "TYNDP links outside of the covered area (skipping): " + + ", ".join(links_tyndp.loc[~is_within_covered_countries_b, "Name"]) + ) links_tyndp = links_tyndp.loc[is_within_covered_countries_b] if links_tyndp.empty: @@ -197,25 +237,32 @@ def _add_links_from_tyndp(buses, links, links_tyndp, europe_shape): has_replaces_b = links_tyndp.replaces.notnull() oids = dict(Bus=_get_oid(buses), Link=_get_oid(links)) - keep_b = dict(Bus=pd.Series(True, index=buses.index), - Link=pd.Series(True, index=links.index)) - for reps in links_tyndp.loc[has_replaces_b, 'replaces']: - for comps in reps.split(':'): - oids_to_remove = comps.split('.') + keep_b = dict( + Bus=pd.Series(True, index=buses.index), Link=pd.Series(True, index=links.index) + ) + for reps in links_tyndp.loc[has_replaces_b, "replaces"]: + for comps in reps.split(":"): + oids_to_remove = comps.split(".") c = oids_to_remove.pop(0) keep_b[c] &= ~oids[c].isin(oids_to_remove) - buses = buses.loc[keep_b['Bus']] - links = links.loc[keep_b['Link']] + buses = buses.loc[keep_b["Bus"]] + links = links.loc[keep_b["Link"]] - links_tyndp["j"] = _find_closest_links(links, links_tyndp, distance_upper_bound=0.20) + links_tyndp["j"] = _find_closest_links( + links, links_tyndp, distance_upper_bound=0.20 + ) # Corresponds approximately to 20km tolerances if links_tyndp["j"].notnull().any(): - logger.info("TYNDP links already in the dataset (skipping): " + ", ".join(links_tyndp.loc[links_tyndp["j"].notnull(), "Name"])) + logger.info( + "TYNDP links already in the dataset (skipping): " + + ", ".join(links_tyndp.loc[links_tyndp["j"].notnull(), "Name"]) + ) links_tyndp = links_tyndp.loc[links_tyndp["j"].isnull()] - if links_tyndp.empty: return buses, links + if links_tyndp.empty: + return buses, links - tree = spatial.KDTree(buses[['x', 'y']]) + tree = spatial.KDTree(buses[["x", "y"]]) _, ind0 = tree.query(links_tyndp[["x1", "y1"]]) ind0_b = ind0 < len(buses) links_tyndp.loc[ind0_b, "bus0"] = buses.index[ind0[ind0_b]] @@ -224,24 +271,42 @@ def _add_links_from_tyndp(buses, links, links_tyndp, europe_shape): ind1_b = ind1 < len(buses) links_tyndp.loc[ind1_b, "bus1"] = buses.index[ind1[ind1_b]] - links_tyndp_located_b = links_tyndp["bus0"].notnull() & links_tyndp["bus1"].notnull() + links_tyndp_located_b = ( + links_tyndp["bus0"].notnull() & links_tyndp["bus1"].notnull() + ) if not links_tyndp_located_b.all(): - logger.warning("Did not find connected buses for TYNDP links (skipping): " + ", ".join(links_tyndp.loc[~links_tyndp_located_b, "Name"])) + logger.warning( + "Did not find connected buses for TYNDP links (skipping): " + + ", ".join(links_tyndp.loc[~links_tyndp_located_b, "Name"]) + ) links_tyndp = links_tyndp.loc[links_tyndp_located_b] logger.info("Adding the following TYNDP links: " + ", ".join(links_tyndp["Name"])) links_tyndp = links_tyndp[["bus0", "bus1"]].assign( - carrier='DC', + carrier="DC", p_nom=links_tyndp["Power (MW)"], - length=links_tyndp["Length (given) (km)"].fillna(links_tyndp["Length (distance*1.2) (km)"]), + length=links_tyndp["Length (given) (km)"].fillna( + links_tyndp["Length (distance*1.2) (km)"] + ), under_construction=True, underground=False, - geometry=(links_tyndp[["x1", "y1", "x2", "y2"]] - .apply(lambda s: str(LineString([[s.x1, s.y1], [s.x2, s.y2]])), axis=1)), - tags=('"name"=>"' + links_tyndp["Name"] + '", ' + - '"ref"=>"' + links_tyndp["Ref"] + '", ' + - '"status"=>"' + links_tyndp["status"] + '"') + geometry=( + links_tyndp[["x1", "y1", "x2", "y2"]].apply( + lambda s: str(LineString([[s.x1, s.y1], [s.x2, s.y2]])), axis=1 + ) + ), + tags=( + '"name"=>"' + + links_tyndp["Name"] + + '", ' + + '"ref"=>"' + + links_tyndp["Ref"] + + '", ' + + '"status"=>"' + + links_tyndp["status"] + + '"' + ), ) links_tyndp.index = "T" + links_tyndp.index.astype(str) @@ -252,13 +317,25 @@ def _add_links_from_tyndp(buses, links, links_tyndp, europe_shape): def _load_lines_from_eg(buses, eg_lines): - lines = (pd.read_csv(eg_lines, quotechar="'", true_values=['t'], false_values=['f'], - dtype=dict(line_id='str', bus0='str', bus1='str', - underground="bool", under_construction="bool")) - .set_index('line_id') - .rename(columns=dict(voltage='v_nom', circuits='num_parallel'))) + lines = ( + pd.read_csv( + eg_lines, + quotechar="'", + true_values=["t"], + false_values=["f"], + dtype=dict( + line_id="str", + bus0="str", + bus1="str", + underground="bool", + under_construction="bool", + ), + ) + .set_index("line_id") + .rename(columns=dict(voltage="v_nom", circuits="num_parallel")) + ) - lines['length'] /= 1e3 + lines["length"] /= 1e3 lines = _remove_dangling_branches(lines, buses) @@ -269,18 +346,20 @@ def _apply_parameter_corrections(n, parameter_corrections): with open(parameter_corrections) as f: corrections = yaml.safe_load(f) - if corrections is None: return + if corrections is None: + return for component, attrs in corrections.items(): df = n.df(component) oid = _get_oid(df) - if attrs is None: continue + if attrs is None: + continue for attr, repls in attrs.items(): for i, r in repls.items(): - if i == 'oid': + if i == "oid": r = oid.map(repls["oid"]).dropna() - elif i == 'index': + elif i == "index": r = pd.Series(repls["index"]) else: raise NotImplementedError() @@ -289,78 +368,87 @@ def _apply_parameter_corrections(n, parameter_corrections): def _set_electrical_parameters_lines(lines, config): - v_noms = config['electricity']['voltages'] - linetypes = config['lines']['types'] + v_noms = config["electricity"]["voltages"] + linetypes = config["lines"]["types"] for v_nom in v_noms: - lines.loc[lines["v_nom"] == v_nom, 'type'] = linetypes[v_nom] + lines.loc[lines["v_nom"] == v_nom, "type"] = linetypes[v_nom] - lines['s_max_pu'] = config['lines']['s_max_pu'] + lines["s_max_pu"] = config["lines"]["s_max_pu"] return lines def _set_lines_s_nom_from_linetypes(n): - n.lines['s_nom'] = ( - np.sqrt(3) * n.lines['type'].map(n.line_types.i_nom) * - n.lines['v_nom'] * n.lines.num_parallel + n.lines["s_nom"] = ( + np.sqrt(3) + * n.lines["type"].map(n.line_types.i_nom) + * n.lines["v_nom"] + * n.lines.num_parallel ) def _set_electrical_parameters_links(links, config, links_p_nom): - if links.empty: return links + if links.empty: + return links - p_max_pu = config['links'].get('p_max_pu', 1.) - links['p_max_pu'] = p_max_pu - links['p_min_pu'] = -p_max_pu + p_max_pu = config["links"].get("p_max_pu", 1.0) + links["p_max_pu"] = p_max_pu + links["p_min_pu"] = -p_max_pu links_p_nom = pd.read_csv(links_p_nom) # filter links that are not in operation anymore - removed_b = links_p_nom.Remarks.str.contains('Shut down|Replaced', na=False) + removed_b = links_p_nom.Remarks.str.contains("Shut down|Replaced", na=False) links_p_nom = links_p_nom[~removed_b] # find closest link for all links in links_p_nom - links_p_nom['j'] = _find_closest_links(links, links_p_nom) + links_p_nom["j"] = _find_closest_links(links, links_p_nom) - links_p_nom = links_p_nom.groupby(['j'],as_index=False).agg({'Power (MW)': 'sum'}) + links_p_nom = links_p_nom.groupby(["j"], as_index=False).agg({"Power (MW)": "sum"}) p_nom = links_p_nom.dropna(subset=["j"]).set_index("j")["Power (MW)"] # Don't update p_nom if it's already set - p_nom_unset = p_nom.drop(links.index[links.p_nom.notnull()], errors='ignore') if "p_nom" in links else p_nom + p_nom_unset = ( + p_nom.drop(links.index[links.p_nom.notnull()], errors="ignore") + if "p_nom" in links + else p_nom + ) links.loc[p_nom_unset.index, "p_nom"] = p_nom_unset return links def _set_electrical_parameters_converters(converters, config): - p_max_pu = config['links'].get('p_max_pu', 1.) - converters['p_max_pu'] = p_max_pu - converters['p_min_pu'] = -p_max_pu + p_max_pu = config["links"].get("p_max_pu", 1.0) + converters["p_max_pu"] = p_max_pu + converters["p_min_pu"] = -p_max_pu - converters['p_nom'] = 2000 + converters["p_nom"] = 2000 # Converters are combined with links - converters['under_construction'] = False - converters['underground'] = False + converters["under_construction"] = False + converters["underground"] = False return converters def _set_electrical_parameters_transformers(transformers, config): - config = config['transformers'] + config = config["transformers"] ## Add transformer parameters - transformers["x"] = config.get('x', 0.1) - transformers["s_nom"] = config.get('s_nom', 2000) - transformers['type'] = config.get('type', '') + transformers["x"] = config.get("x", 0.1) + transformers["s_nom"] = config.get("s_nom", 2000) + transformers["type"] = config.get("type", "") return transformers def _remove_dangling_branches(branches, buses): - return pd.DataFrame(branches.loc[branches.bus0.isin(buses.index) & branches.bus1.isin(buses.index)]) + return pd.DataFrame( + branches.loc[branches.bus0.isin(buses.index) & branches.bus1.isin(buses.index)] + ) def _remove_unconnected_components(network): @@ -370,46 +458,62 @@ def _remove_unconnected_components(network): component_sizes = component.value_counts() components_to_remove = component_sizes.iloc[1:] - logger.info("Removing {} unconnected network components with less than {} buses. In total {} buses." - .format(len(components_to_remove), components_to_remove.max(), components_to_remove.sum())) + logger.info( + "Removing {} unconnected network components with less than {} buses. In total {} buses.".format( + len(components_to_remove), + components_to_remove.max(), + components_to_remove.sum(), + ) + ) return network[component == component_sizes.index[0]] def _set_countries_and_substations(n, config, country_shapes, offshore_shapes): - buses = n.buses def buses_in_shape(shape): shape = shapely.prepared.prep(shape) return pd.Series( - np.fromiter((shape.contains(Point(x, y)) - for x, y in buses.loc[:,["x", "y"]].values), - dtype=bool, count=len(buses)), - index=buses.index + np.fromiter( + ( + shape.contains(Point(x, y)) + for x, y in buses.loc[:, ["x", "y"]].values + ), + dtype=bool, + count=len(buses), + ), + index=buses.index, ) - countries = config['countries'] - country_shapes = gpd.read_file(country_shapes).set_index('name')['geometry'] + countries = config["countries"] + country_shapes = gpd.read_file(country_shapes).set_index("name")["geometry"] # reindexing necessary for supporting empty geo-dataframes offshore_shapes = gpd.read_file(offshore_shapes) - offshore_shapes = offshore_shapes.reindex(columns=['name', 'geometry']).set_index('name')['geometry'] - substation_b = buses['symbol'].str.contains('substation|converter station', case=False) + offshore_shapes = offshore_shapes.reindex(columns=["name", "geometry"]).set_index( + "name" + )["geometry"] + substation_b = buses["symbol"].str.contains( + "substation|converter station", case=False + ) def prefer_voltage(x, which): index = x.index if len(index) == 1: return pd.Series(index, index) - key = (x.index[0] - if x['v_nom'].isnull().all() - else getattr(x['v_nom'], 'idx' + which)()) + key = ( + x.index[0] + if x["v_nom"].isnull().all() + else getattr(x["v_nom"], "idx" + which)() + ) return pd.Series(key, index) - gb = buses.loc[substation_b].groupby(['x', 'y'], as_index=False, - group_keys=False, sort=False) - bus_map_low = gb.apply(prefer_voltage, 'min') + gb = buses.loc[substation_b].groupby( + ["x", "y"], as_index=False, group_keys=False, sort=False + ) + bus_map_low = gb.apply(prefer_voltage, "min") lv_b = (bus_map_low == bus_map_low.index).reindex(buses.index, fill_value=False) - bus_map_high = gb.apply(prefer_voltage, 'max') + bus_map_high = gb.apply(prefer_voltage, "max") hv_b = (bus_map_high == bus_map_high.index).reindex(buses.index, fill_value=False) onshore_b = pd.Series(False, buses.index) @@ -420,47 +524,66 @@ def _set_countries_and_substations(n, config, country_shapes, offshore_shapes): onshore_country_b = buses_in_shape(onshore_shape) onshore_b |= onshore_country_b - buses.loc[onshore_country_b, 'country'] = country + buses.loc[onshore_country_b, "country"] = country - if country not in offshore_shapes.index: continue + if country not in offshore_shapes.index: + continue offshore_country_b = buses_in_shape(offshore_shapes[country]) offshore_b |= offshore_country_b - buses.loc[offshore_country_b, 'country'] = country + buses.loc[offshore_country_b, "country"] = country # Only accept buses as low-voltage substations (where load is attached), if # they have at least one connection which is not under_construction has_connections_b = pd.Series(False, index=buses.index) - for b, df in product(('bus0', 'bus1'), (n.lines, n.links)): - has_connections_b |= ~ df.groupby(b).under_construction.min() + for b, df in product(("bus0", "bus1"), (n.lines, n.links)): + has_connections_b |= ~df.groupby(b).under_construction.min() - buses['substation_lv'] = lv_b & onshore_b & (~ buses['under_construction']) & has_connections_b - buses['substation_off'] = (offshore_b | (hv_b & onshore_b)) & (~ buses['under_construction']) + buses["substation_lv"] = ( + lv_b & onshore_b & (~buses["under_construction"]) & has_connections_b + ) + buses["substation_off"] = (offshore_b | (hv_b & onshore_b)) & ( + ~buses["under_construction"] + ) c_nan_b = buses.country.isnull() if c_nan_b.sum() > 0: c_tag = _get_country(buses.loc[c_nan_b]) c_tag.loc[~c_tag.isin(countries)] = np.nan - n.buses.loc[c_nan_b, 'country'] = c_tag + n.buses.loc[c_nan_b, "country"] = c_tag c_tag_nan_b = n.buses.country.isnull() # Nearest country in path length defines country of still homeless buses # Work-around until commit 705119 lands in pypsa release - n.transformers['length'] = 0. - graph = n.graph(weight='length') - n.transformers.drop('length', axis=1, inplace=True) + n.transformers["length"] = 0.0 + graph = n.graph(weight="length") + n.transformers.drop("length", axis=1, inplace=True) for b in n.buses.index[c_tag_nan_b]: - df = (pd.DataFrame(dict(pathlength=nx.single_source_dijkstra_path_length(graph, b, cutoff=200))) - .join(n.buses.country).dropna()) - assert not df.empty, "No buses with defined country within 200km of bus `{}`".format(b) - n.buses.at[b, 'country'] = df.loc[df.pathlength.idxmin(), 'country'] + df = ( + pd.DataFrame( + dict( + pathlength=nx.single_source_dijkstra_path_length( + graph, b, cutoff=200 + ) + ) + ) + .join(n.buses.country) + .dropna() + ) + assert ( + not df.empty + ), "No buses with defined country within 200km of bus `{}`".format(b) + n.buses.at[b, "country"] = df.loc[df.pathlength.idxmin(), "country"] - logger.warning("{} buses are not in any country or offshore shape," - " {} have been assigned from the tag of the entsoe map," - " the rest from the next bus in terms of pathlength." - .format(c_nan_b.sum(), c_nan_b.sum() - c_tag_nan_b.sum())) + logger.warning( + "{} buses are not in any country or offshore shape," + " {} have been assigned from the tag of the entsoe map," + " the rest from the next bus in terms of pathlength.".format( + c_nan_b.sum(), c_nan_b.sum() - c_tag_nan_b.sum() + ) + ) return buses @@ -469,11 +592,13 @@ def _replace_b2b_converter_at_country_border_by_link(n): # Affects only the B2B converter in Lithuania at the Polish border at the moment buscntry = n.buses.country linkcntry = n.links.bus0.map(buscntry) - converters_i = n.links.index[(n.links.carrier == 'B2B') & (linkcntry == n.links.bus1.map(buscntry))] + converters_i = n.links.index[ + (n.links.carrier == "B2B") & (linkcntry == n.links.bus1.map(buscntry)) + ] def findforeignbus(G, i): cntry = linkcntry.at[i] - for busattr in ('bus0', 'bus1'): + for busattr in ("bus0", "bus1"): b0 = n.links.at[i, busattr] for b1 in G[b0]: if buscntry[b1] != cntry: @@ -486,67 +611,93 @@ def _replace_b2b_converter_at_country_border_by_link(n): if busattr is not None: comp, line = next(iter(G[b0][b1])) if comp != "Line": - logger.warning("Unable to replace B2B `{}` expected a Line, but found a {}" - .format(i, comp)) + logger.warning( + "Unable to replace B2B `{}` expected a Line, but found a {}".format( + i, comp + ) + ) continue n.links.at[i, busattr] = b1 - n.links.at[i, 'p_nom'] = min(n.links.at[i, 'p_nom'], n.lines.at[line, 's_nom']) - n.links.at[i, 'carrier'] = 'DC' - n.links.at[i, 'underwater_fraction'] = 0. - n.links.at[i, 'length'] = n.lines.at[line, 'length'] + n.links.at[i, "p_nom"] = min( + n.links.at[i, "p_nom"], n.lines.at[line, "s_nom"] + ) + n.links.at[i, "carrier"] = "DC" + n.links.at[i, "underwater_fraction"] = 0.0 + n.links.at[i, "length"] = n.lines.at[line, "length"] n.remove("Line", line) n.remove("Bus", b0) - logger.info("Replacing B2B converter `{}` together with bus `{}` and line `{}` by an HVDC tie-line {}-{}" - .format(i, b0, line, linkcntry.at[i], buscntry.at[b1])) + logger.info( + "Replacing B2B converter `{}` together with bus `{}` and line `{}` by an HVDC tie-line {}-{}".format( + i, b0, line, linkcntry.at[i], buscntry.at[b1] + ) + ) def _set_links_underwater_fraction(n, offshore_shapes): - if n.links.empty: return + if n.links.empty: + return - if not hasattr(n.links, 'geometry'): - n.links['underwater_fraction'] = 0. + if not hasattr(n.links, "geometry"): + n.links["underwater_fraction"] = 0.0 else: offshore_shape = gpd.read_file(offshore_shapes).unary_union links = gpd.GeoSeries(n.links.geometry.dropna().map(shapely.wkt.loads)) - n.links['underwater_fraction'] = links.intersection(offshore_shape).length / links.length + n.links["underwater_fraction"] = ( + links.intersection(offshore_shape).length / links.length + ) def _adjust_capacities_of_under_construction_branches(n, config): - lines_mode = config['lines'].get('under_construction', 'undef') - if lines_mode == 'zero': - n.lines.loc[n.lines.under_construction, 'num_parallel'] = 0. - n.lines.loc[n.lines.under_construction, 's_nom'] = 0. - elif lines_mode == 'remove': + lines_mode = config["lines"].get("under_construction", "undef") + if lines_mode == "zero": + n.lines.loc[n.lines.under_construction, "num_parallel"] = 0.0 + n.lines.loc[n.lines.under_construction, "s_nom"] = 0.0 + elif lines_mode == "remove": n.mremove("Line", n.lines.index[n.lines.under_construction]) - elif lines_mode != 'keep': - logger.warning("Unrecognized configuration for `lines: under_construction` = `{}`. Keeping under construction lines.") + elif lines_mode != "keep": + logger.warning( + "Unrecognized configuration for `lines: under_construction` = `{}`. Keeping under construction lines." + ) - links_mode = config['links'].get('under_construction', 'undef') - if links_mode == 'zero': - n.links.loc[n.links.under_construction, "p_nom"] = 0. - elif links_mode == 'remove': + links_mode = config["links"].get("under_construction", "undef") + if links_mode == "zero": + n.links.loc[n.links.under_construction, "p_nom"] = 0.0 + elif links_mode == "remove": n.mremove("Link", n.links.index[n.links.under_construction]) - elif links_mode != 'keep': - logger.warning("Unrecognized configuration for `links: under_construction` = `{}`. Keeping under construction links.") + elif links_mode != "keep": + logger.warning( + "Unrecognized configuration for `links: under_construction` = `{}`. Keeping under construction links." + ) - if lines_mode == 'remove' or links_mode == 'remove': + if lines_mode == "remove" or links_mode == "remove": # We might need to remove further unconnected components n = _remove_unconnected_components(n) return n -def base_network(eg_buses, eg_converters, eg_transformers, eg_lines, eg_links, - links_p_nom, links_tyndp, europe_shape, country_shapes, offshore_shapes, - parameter_corrections, config): +def base_network( + eg_buses, + eg_converters, + eg_transformers, + eg_lines, + eg_links, + links_p_nom, + links_tyndp, + europe_shape, + country_shapes, + offshore_shapes, + parameter_corrections, + config, +): - buses = _load_buses_from_eg(eg_buses, europe_shape, config['electricity']) + buses = _load_buses_from_eg(eg_buses, europe_shape, config["electricity"]) links = _load_links_from_eg(buses, eg_links) - if config['links'].get('include_tyndp'): + if config["links"].get("include_tyndp"): buses, links = _add_links_from_tyndp(buses, links, links_tyndp, europe_shape) converters = _load_converters_from_eg(buses, eg_converters) @@ -560,9 +711,9 @@ def base_network(eg_buses, eg_converters, eg_transformers, eg_lines, eg_links, converters = _set_electrical_parameters_converters(converters, config) n = pypsa.Network() - n.name = 'PyPSA-Eur' + n.name = "PyPSA-Eur" - n.set_snapshots(pd.date_range(freq='h', **config['snapshots'])) + n.set_snapshots(pd.date_range(freq="h", **config["snapshots"])) n.import_components_from_dataframe(buses, "Bus") n.import_components_from_dataframe(lines, "Line") @@ -586,15 +737,28 @@ def base_network(eg_buses, eg_converters, eg_transformers, eg_lines, eg_links, return n + if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('base_network') + + snakemake = mock_snakemake("base_network") configure_logging(snakemake) - n = base_network(snakemake.input.eg_buses, snakemake.input.eg_converters, snakemake.input.eg_transformers, snakemake.input.eg_lines, snakemake.input.eg_links, - snakemake.input.links_p_nom, snakemake.input.links_tyndp, snakemake.input.europe_shape, snakemake.input.country_shapes, snakemake.input.offshore_shapes, - snakemake.input.parameter_corrections, snakemake.config) + n = base_network( + snakemake.input.eg_buses, + snakemake.input.eg_converters, + snakemake.input.eg_transformers, + snakemake.input.eg_lines, + snakemake.input.eg_links, + snakemake.input.links_p_nom, + snakemake.input.links_tyndp, + snakemake.input.europe_shape, + snakemake.input.country_shapes, + snakemake.input.offshore_shapes, + snakemake.input.parameter_corrections, + snakemake.config, + ) n.meta = snakemake.config n.export_to_netcdf(snakemake.output[0]) diff --git a/scripts/build_bus_regions.py b/scripts/build_bus_regions.py index e51f34f2..a26aaeb7 100644 --- a/scripts/build_bus_regions.py +++ b/scripts/build_bus_regions.py @@ -1,9 +1,11 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ -Creates Voronoi shapes for each bus representing both onshore and offshore regions. +Creates Voronoi shapes for each bus representing both onshore and offshore +regions. Relevant Settings ----------------- @@ -38,19 +40,18 @@ Outputs Description ----------- - """ import logging -from _helpers import configure_logging, REGION_COLS - -import pypsa import os -import pandas as pd -import numpy as np + import geopandas as gpd -from shapely.geometry import Polygon +import numpy as np +import pandas as pd +import pypsa +from _helpers import REGION_COLS, configure_logging from scipy.spatial import Voronoi +from shapely.geometry import Polygon logger = logging.getLogger(__name__) @@ -81,11 +82,19 @@ def voronoi_partition_pts(points, outline): # to avoid any network positions outside all Voronoi cells, append # the corners of a rectangle framing these points - vor = Voronoi(np.vstack((points, - [[xmin-3.*xspan, ymin-3.*yspan], - [xmin-3.*xspan, ymax+3.*yspan], - [xmax+3.*xspan, ymin-3.*yspan], - [xmax+3.*xspan, ymax+3.*yspan]]))) + vor = Voronoi( + np.vstack( + ( + points, + [ + [xmin - 3.0 * xspan, ymin - 3.0 * yspan], + [xmin - 3.0 * xspan, ymax + 3.0 * yspan], + [xmax + 3.0 * xspan, ymin - 3.0 * yspan], + [xmax + 3.0 * xspan, ymax + 3.0 * yspan], + ], + ) + ) + ) polygons = [] for i in range(len(points)): @@ -98,23 +107,27 @@ def voronoi_partition_pts(points, outline): polygons.append(poly) - return np.array(polygons, dtype=object) if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('build_bus_regions') + + snakemake = mock_snakemake("build_bus_regions") configure_logging(snakemake) - countries = snakemake.config['countries'] + countries = snakemake.config["countries"] n = pypsa.Network(snakemake.input.base_network) - country_shapes = gpd.read_file(snakemake.input.country_shapes).set_index('name')['geometry'] + country_shapes = gpd.read_file(snakemake.input.country_shapes).set_index("name")[ + "geometry" + ] offshore_shapes = gpd.read_file(snakemake.input.offshore_shapes) - offshore_shapes = offshore_shapes.reindex(columns=REGION_COLS).set_index('name')['geometry'] + offshore_shapes = offshore_shapes.reindex(columns=REGION_COLS).set_index("name")[ + "geometry" + ] onshore_regions = [] offshore_regions = [] @@ -124,29 +137,42 @@ if __name__ == "__main__": onshore_shape = country_shapes[country] onshore_locs = n.buses.loc[c_b & n.buses.substation_lv, ["x", "y"]] - onshore_regions.append(gpd.GeoDataFrame({ - 'name': onshore_locs.index, - 'x': onshore_locs['x'], - 'y': onshore_locs['y'], - 'geometry': voronoi_partition_pts(onshore_locs.values, onshore_shape), - 'country': country - })) + onshore_regions.append( + gpd.GeoDataFrame( + { + "name": onshore_locs.index, + "x": onshore_locs["x"], + "y": onshore_locs["y"], + "geometry": voronoi_partition_pts( + onshore_locs.values, onshore_shape + ), + "country": country, + } + ) + ) - if country not in offshore_shapes.index: continue + if country not in offshore_shapes.index: + continue offshore_shape = offshore_shapes[country] offshore_locs = n.buses.loc[c_b & n.buses.substation_off, ["x", "y"]] - offshore_regions_c = gpd.GeoDataFrame({ - 'name': offshore_locs.index, - 'x': offshore_locs['x'], - 'y': offshore_locs['y'], - 'geometry': voronoi_partition_pts(offshore_locs.values, offshore_shape), - 'country': country - }) + offshore_regions_c = gpd.GeoDataFrame( + { + "name": offshore_locs.index, + "x": offshore_locs["x"], + "y": offshore_locs["y"], + "geometry": voronoi_partition_pts(offshore_locs.values, offshore_shape), + "country": country, + } + ) offshore_regions_c = offshore_regions_c.loc[offshore_regions_c.area > 1e-2] offshore_regions.append(offshore_regions_c) - pd.concat(onshore_regions, ignore_index=True).to_file(snakemake.output.regions_onshore) + pd.concat(onshore_regions, ignore_index=True).to_file( + snakemake.output.regions_onshore + ) if offshore_regions: - pd.concat(offshore_regions, ignore_index=True).to_file(snakemake.output.regions_offshore) + pd.concat(offshore_regions, ignore_index=True).to_file( + snakemake.output.regions_offshore + ) else: - offshore_shapes.to_frame().to_file(snakemake.output.regions_offshore) \ No newline at end of file + offshore_shapes.to_frame().to_file(snakemake.output.regions_offshore) diff --git a/scripts/build_cutout.py b/scripts/build_cutout.py index fb353d65..0d852b5b 100644 --- a/scripts/build_cutout.py +++ b/scripts/build_cutout.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT @@ -88,43 +89,42 @@ A **SARAH-2 cutout** can be used to amend the fields ``temperature``, ``influx_t Description ----------- - """ import logging + import atlite import geopandas as gpd import pandas as pd from _helpers import configure_logging - logger = logging.getLogger(__name__) if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('build_cutout', cutout='europe-2013-era5') + + snakemake = mock_snakemake("build_cutout", cutout="europe-2013-era5") configure_logging(snakemake) - cutout_params = snakemake.config['atlite']['cutouts'][snakemake.wildcards.cutout] + cutout_params = snakemake.config["atlite"]["cutouts"][snakemake.wildcards.cutout] - snapshots = pd.date_range(freq='h', **snakemake.config['snapshots']) + snapshots = pd.date_range(freq="h", **snakemake.config["snapshots"]) time = [snapshots[0], snapshots[-1]] - cutout_params['time'] = slice(*cutout_params.get('time', time)) + cutout_params["time"] = slice(*cutout_params.get("time", time)) - if {'x', 'y', 'bounds'}.isdisjoint(cutout_params): + if {"x", "y", "bounds"}.isdisjoint(cutout_params): # Determine the bounds from bus regions with a buffer of two grid cells onshore = gpd.read_file(snakemake.input.regions_onshore) offshore = gpd.read_file(snakemake.input.regions_offshore) - regions = pd.concat([onshore, offshore]) - d = max(cutout_params.get('dx', 0.25), cutout_params.get('dy', 0.25))*2 - cutout_params['bounds'] = regions.total_bounds + [-d, -d, d, d] - elif {'x', 'y'}.issubset(cutout_params): - cutout_params['x'] = slice(*cutout_params['x']) - cutout_params['y'] = slice(*cutout_params['y']) - + regions = pd.concat([onshore, offshore]) + d = max(cutout_params.get("dx", 0.25), cutout_params.get("dy", 0.25)) * 2 + cutout_params["bounds"] = regions.total_bounds + [-d, -d, d, d] + elif {"x", "y"}.issubset(cutout_params): + cutout_params["x"] = slice(*cutout_params["x"]) + cutout_params["y"] = slice(*cutout_params["y"]) logging.info(f"Preparing cutout with parameters {cutout_params}.") - features = cutout_params.pop('features', None) + features = cutout_params.pop("features", None) cutout = atlite.Cutout(snakemake.output[0], **cutout_params) cutout.prepare(features=features) diff --git a/scripts/build_hydro_profile.py b/scripts/build_hydro_profile.py index c130e220..0e3f877f 100644 --- a/scripts/build_hydro_profile.py +++ b/scripts/build_hydro_profile.py @@ -1,4 +1,5 @@ #!/usr/bin/env python +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # @@ -60,51 +61,61 @@ Description """ import logging -from _helpers import configure_logging import atlite +import country_converter as coco import geopandas as gpd import pandas as pd +from _helpers import configure_logging -import country_converter as coco cc = coco.CountryConverter() def get_eia_annual_hydro_generation(fn, countries): - # in billion kWh/a = TWh/a - df = pd.read_csv(fn, skiprows=2, index_col=1, na_values=[u' ','--']).iloc[1:, 1:] + df = pd.read_csv(fn, skiprows=2, index_col=1, na_values=[" ", "--"]).iloc[1:, 1:] df.index = df.index.str.strip() former_countries = { "Former Czechoslovakia": dict( - countries=["Czech Republic", "Slovakia"], - start=1980, end=1992), + countries=["Czech Republic", "Slovakia"], start=1980, end=1992 + ), "Former Serbia and Montenegro": dict( - countries=["Serbia", "Montenegro"], - start=1992, end=2005), + countries=["Serbia", "Montenegro"], start=1992, end=2005 + ), "Former Yugoslavia": dict( - countries=["Slovenia", "Croatia", "Bosnia and Herzegovina", "Serbia", "Montenegro", "North Macedonia"], - start=1980, end=1991), + countries=[ + "Slovenia", + "Croatia", + "Bosnia and Herzegovina", + "Serbia", + "Montenegro", + "North Macedonia", + ], + start=1980, + end=1991, + ), } for k, v in former_countries.items(): - period = [str(i) for i in range(v["start"], v["end"]+1)] - ratio = df.loc[v['countries']].T.dropna().sum() + period = [str(i) for i in range(v["start"], v["end"] + 1)] + ratio = df.loc[v["countries"]].T.dropna().sum() ratio /= ratio.sum() - for country in v['countries']: + for country in v["countries"]: df.loc[country, period] = df.loc[k, period] * ratio[country] baltic_states = ["Latvia", "Estonia", "Lithuania"] - df.loc[baltic_states] = df.loc[baltic_states].T.fillna(df.loc[baltic_states].mean(axis=1)).T + df.loc[baltic_states] = ( + df.loc[baltic_states].T.fillna(df.loc[baltic_states].mean(axis=1)).T + ) - df.loc["Germany"] = df.filter(like='Germany', axis=0).sum() - df.loc["Serbia"] += df.loc["Kosovo"].fillna(0.) - df = df.loc[~df.index.str.contains('Former')] + df.loc["Germany"] = df.filter(like="Germany", axis=0).sum() + df.loc["Serbia"] += df.loc["Kosovo"].fillna(0.0) + df = df.loc[~df.index.str.contains("Former")] df.drop(["Europe", "Germany, West", "Germany, East", "Kosovo"], inplace=True) - df.index = cc.convert(df.index, to='iso2') - df.index.name = 'countries' + df.index = cc.convert(df.index, to="iso2") + df.index.name = "countries" df = df.T[countries] * 1e6 # in MWh/a @@ -114,28 +125,34 @@ def get_eia_annual_hydro_generation(fn, countries): logger = logging.getLogger(__name__) if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('build_hydro_profile') + + snakemake = mock_snakemake("build_hydro_profile") configure_logging(snakemake) - config_hydro = snakemake.config['renewable']['hydro'] + config_hydro = snakemake.config["renewable"]["hydro"] cutout = atlite.Cutout(snakemake.input.cutout) - countries = snakemake.config['countries'] - country_shapes = (gpd.read_file(snakemake.input.country_shapes) - .set_index('name')['geometry'].reindex(countries)) - country_shapes.index.name = 'countries' + countries = snakemake.config["countries"] + country_shapes = ( + gpd.read_file(snakemake.input.country_shapes) + .set_index("name")["geometry"] + .reindex(countries) + ) + country_shapes.index.name = "countries" fn = snakemake.input.eia_hydro_generation eia_stats = get_eia_annual_hydro_generation(fn, countries) - - inflow = cutout.runoff(shapes=country_shapes, - smooth=True, - lower_threshold_quantile=True, - normalize_using_yearly=eia_stats) - if 'clip_min_inflow' in config_hydro: - inflow = inflow.where(inflow > config_hydro['clip_min_inflow'], 0) + inflow = cutout.runoff( + shapes=country_shapes, + smooth=True, + lower_threshold_quantile=True, + normalize_using_yearly=eia_stats, + ) + + if "clip_min_inflow" in config_hydro: + inflow = inflow.where(inflow > config_hydro["clip_min_inflow"], 0) inflow.to_netcdf(snakemake.output[0]) diff --git a/scripts/build_load_data.py b/scripts/build_load_data.py index ac6de2b1..8d4dbb67 100755 --- a/scripts/build_load_data.py +++ b/scripts/build_load_data.py @@ -1,10 +1,15 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2020 @JanFrederickUnnewehr, The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ - -This rule downloads the load data from `Open Power System Data Time series `_. For all countries in the network, the per country load timeseries with suffix ``_load_actual_entsoe_transparency`` are extracted from the dataset. After filling small gaps linearly and large gaps by copying time-slice of a given period, the load data is exported to a ``.csv`` file. +This rule downloads the load data from `Open Power System Data Time series +`_. For all countries in +the network, the per country load timeseries with suffix +``_load_actual_entsoe_transparency`` are extracted from the dataset. After +filling small gaps linearly and large gaps by copying time-slice of a given +period, the load data is exported to a ``.csv`` file. Relevant Settings ----------------- @@ -32,17 +37,15 @@ Outputs ------- - ``resources/load.csv``: - - """ import logging -logger = logging.getLogger(__name__) -from _helpers import configure_logging -import pandas as pd -import numpy as np +logger = logging.getLogger(__name__) import dateutil +import numpy as np +import pandas as pd +from _helpers import configure_logging from pandas import Timedelta as Delta @@ -71,23 +74,29 @@ def load_timeseries(fn, years, countries, powerstatistics=True): """ logger.info(f"Retrieving load data from '{fn}'.") - pattern = 'power_statistics' if powerstatistics else 'transparency' - pattern = f'_load_actual_entsoe_{pattern}' - rename = lambda s: s[:-len(pattern)] + pattern = "power_statistics" if powerstatistics else "transparency" + pattern = f"_load_actual_entsoe_{pattern}" + rename = lambda s: s[: -len(pattern)] date_parser = lambda x: dateutil.parser.parse(x, ignoretz=True) - return (pd.read_csv(fn, index_col=0, parse_dates=[0], date_parser=date_parser) - .filter(like=pattern) - .rename(columns=rename) - .dropna(how="all", axis=0) - .rename(columns={'GB_UKM' : 'GB'}) - .filter(items=countries) - .loc[years]) + return ( + pd.read_csv(fn, index_col=0, parse_dates=[0], date_parser=date_parser) + .filter(like=pattern) + .rename(columns=rename) + .dropna(how="all", axis=0) + .rename(columns={"GB_UKM": "GB"}) + .filter(items=countries) + .loc[years] + ) def consecutive_nans(ds): - return (ds.isnull().astype(int) - .groupby(ds.notnull().astype(int).cumsum()[ds.isnull()]) - .transform('sum').fillna(0)) + return ( + ds.isnull() + .astype(int) + .groupby(ds.notnull().astype(int).cumsum()[ds.isnull()]) + .transform("sum") + .fillna(0) + ) def fill_large_gaps(ds, shift): @@ -97,140 +106,200 @@ def fill_large_gaps(ds, shift): This function fills gaps ragning from 3 to 168 hours (one week). """ shift = Delta(shift) - nhours = shift / np.timedelta64(1, 'h') + nhours = shift / np.timedelta64(1, "h") if (consecutive_nans(ds) > nhours).any(): - logger.warning('There exist gaps larger then the time shift used for ' - 'copying time slices.') + logger.warning( + "There exist gaps larger then the time shift used for " + "copying time slices." + ) time_shift = pd.Series(ds.values, ds.index + shift) return ds.where(ds.notnull(), time_shift.reindex_like(ds)) def nan_statistics(df): def max_consecutive_nans(ds): - return (ds.isnull().astype(int) - .groupby(ds.notnull().astype(int).cumsum()) - .sum().max()) + return ( + ds.isnull() + .astype(int) + .groupby(ds.notnull().astype(int).cumsum()) + .sum() + .max() + ) + consecutive = df.apply(max_consecutive_nans) total = df.isnull().sum() - max_total_per_month = df.isnull().resample('m').sum().max() - return pd.concat([total, consecutive, max_total_per_month], - keys=['total', 'consecutive', 'max_total_per_month'], axis=1) + max_total_per_month = df.isnull().resample("m").sum().max() + return pd.concat( + [total, consecutive, max_total_per_month], + keys=["total", "consecutive", "max_total_per_month"], + axis=1, + ) def copy_timeslice(load, cntry, start, stop, delta, fn_load=None): start = pd.Timestamp(start) stop = pd.Timestamp(stop) - if (start in load.index and stop in load.index): - if start-delta in load.index and stop-delta in load.index and cntry in load: - load.loc[start:stop, cntry] = load.loc[start-delta:stop-delta, cntry].values + if start in load.index and stop in load.index: + if start - delta in load.index and stop - delta in load.index and cntry in load: + load.loc[start:stop, cntry] = load.loc[ + start - delta : stop - delta, cntry + ].values elif fn_load is not None: - duration = pd.date_range(freq='h', start=start-delta, end=stop-delta) + duration = pd.date_range(freq="h", start=start - delta, end=stop - delta) load_raw = load_timeseries(fn_load, duration, [cntry], powerstatistics) - load.loc[start:stop, cntry] = load_raw.loc[start-delta:stop-delta, cntry].values + load.loc[start:stop, cntry] = load_raw.loc[ + start - delta : stop - delta, cntry + ].values def manual_adjustment(load, fn_load, powerstatistics): """ Adjust gaps manual for load data from OPSD time-series package. - 1. For the ENTSOE power statistics load data (if powerstatistics is True) + 1. For the ENTSOE power statistics load data (if powerstatistics is True) - Kosovo (KV) and Albania (AL) do not exist in the data set. Kosovo gets the - same load curve as Serbia and Albania the same as Macdedonia, both scaled - by the corresponding ratio of total energy consumptions reported by - IEA Data browser [0] for the year 2013. + Kosovo (KV) and Albania (AL) do not exist in the data set. Kosovo gets the + same load curve as Serbia and Albania the same as Macdedonia, both scaled + by the corresponding ratio of total energy consumptions reported by + IEA Data browser [0] for the year 2013. - 2. For the ENTSOE transparency load data (if powerstatistics is False) + 2. For the ENTSOE transparency load data (if powerstatistics is False) - Albania (AL) and Macedonia (MK) do not exist in the data set. Both get the - same load curve as Montenegro, scaled by the corresponding ratio of total energy - consumptions reported by IEA Data browser [0] for the year 2016. + Albania (AL) and Macedonia (MK) do not exist in the data set. Both get the + same load curve as Montenegro, scaled by the corresponding ratio of total energy + consumptions reported by IEA Data browser [0] for the year 2016. - [0] https://www.iea.org/data-and-statistics?country=WORLD&fuel=Electricity%20and%20heat&indicator=TotElecCons + [0] https://www.iea.org/data-and-statistics?country=WORLD&fuel=Electricity%20and%20heat&indicator=TotElecCons - Parameters - ---------- - load : pd.DataFrame - Load time-series with UTC timestamps x ISO-2 countries - powerstatistics: bool - Whether argument load comprises the electricity consumption data of - the ENTSOE power statistics or of the ENTSOE transparency map - load_fn: str - File name or url location (file format .csv) + Parameters + ---------- + load : pd.DataFrame + Load time-series with UTC timestamps x ISO-2 countries + powerstatistics: bool + Whether argument load comprises the electricity consumption data of + the ENTSOE power statistics or of the ENTSOE transparency map + load_fn: str + File name or url location (file format .csv) - Returns - ------- - load : pd.DataFrame - Manual adjusted and interpolated load time-series with UTC - timestamps x ISO-2 countries + Returns + ------- + load : pd.DataFrame + Manual adjusted and interpolated load time-series with UTC + timestamps x ISO-2 countries """ if powerstatistics: - if 'MK' in load.columns: - if 'AL' not in load.columns or load.AL.isnull().values.all(): - load['AL'] = load['MK'] * (4.1 / 7.4) - if 'RS' in load.columns: - if 'KV' not in load.columns or load.KV.isnull().values.all(): - load['KV'] = load['RS'] * (4.8 / 27.) + if "MK" in load.columns: + if "AL" not in load.columns or load.AL.isnull().values.all(): + load["AL"] = load["MK"] * (4.1 / 7.4) + if "RS" in load.columns: + if "KV" not in load.columns or load.KV.isnull().values.all(): + load["KV"] = load["RS"] * (4.8 / 27.0) - copy_timeslice(load, 'GR', '2015-08-11 21:00', '2015-08-15 20:00', Delta(weeks=1)) - copy_timeslice(load, 'AT', '2018-12-31 22:00', '2019-01-01 22:00', Delta(days=2)) - copy_timeslice(load, 'CH', '2010-01-19 07:00', '2010-01-19 22:00', Delta(days=1)) - copy_timeslice(load, 'CH', '2010-03-28 00:00', '2010-03-28 21:00', Delta(days=1)) + copy_timeslice( + load, "GR", "2015-08-11 21:00", "2015-08-15 20:00", Delta(weeks=1) + ) + copy_timeslice( + load, "AT", "2018-12-31 22:00", "2019-01-01 22:00", Delta(days=2) + ) + copy_timeslice( + load, "CH", "2010-01-19 07:00", "2010-01-19 22:00", Delta(days=1) + ) + copy_timeslice( + load, "CH", "2010-03-28 00:00", "2010-03-28 21:00", Delta(days=1) + ) # is a WE, so take WE before - copy_timeslice(load, 'CH', '2010-10-08 13:00', '2010-10-10 21:00', Delta(weeks=1)) - copy_timeslice(load, 'CH', '2010-11-04 04:00', '2010-11-04 22:00', Delta(days=1)) - copy_timeslice(load, 'NO', '2010-12-09 11:00', '2010-12-09 18:00', Delta(days=1)) + copy_timeslice( + load, "CH", "2010-10-08 13:00", "2010-10-10 21:00", Delta(weeks=1) + ) + copy_timeslice( + load, "CH", "2010-11-04 04:00", "2010-11-04 22:00", Delta(days=1) + ) + copy_timeslice( + load, "NO", "2010-12-09 11:00", "2010-12-09 18:00", Delta(days=1) + ) # whole january missing - copy_timeslice(load, 'GB', '2010-01-01 00:00', '2010-01-31 23:00', Delta(days=-365), fn_load) + copy_timeslice( + load, + "GB", + "2010-01-01 00:00", + "2010-01-31 23:00", + Delta(days=-365), + fn_load, + ) # 1.1. at midnight gets special treatment - copy_timeslice(load, 'IE', '2016-01-01 00:00', '2016-01-01 01:00', Delta(days=-366), fn_load) - copy_timeslice(load, 'PT', '2016-01-01 00:00', '2016-01-01 01:00', Delta(days=-366), fn_load) - copy_timeslice(load, 'GB', '2016-01-01 00:00', '2016-01-01 01:00', Delta(days=-366), fn_load) + copy_timeslice( + load, + "IE", + "2016-01-01 00:00", + "2016-01-01 01:00", + Delta(days=-366), + fn_load, + ) + copy_timeslice( + load, + "PT", + "2016-01-01 00:00", + "2016-01-01 01:00", + Delta(days=-366), + fn_load, + ) + copy_timeslice( + load, + "GB", + "2016-01-01 00:00", + "2016-01-01 01:00", + Delta(days=-366), + fn_load, + ) else: - if 'ME' in load: - if 'AL' not in load and 'AL' in countries: - load['AL'] = load.ME * (5.7/2.9) - if 'MK' not in load and 'MK' in countries: - load['MK'] = load.ME * (6.7/2.9) - copy_timeslice(load, 'BG', '2018-10-27 21:00', '2018-10-28 22:00', Delta(weeks=1)) + if "ME" in load: + if "AL" not in load and "AL" in countries: + load["AL"] = load.ME * (5.7 / 2.9) + if "MK" not in load and "MK" in countries: + load["MK"] = load.ME * (6.7 / 2.9) + copy_timeslice( + load, "BG", "2018-10-27 21:00", "2018-10-28 22:00", Delta(weeks=1) + ) return load if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('build_load_data') + + snakemake = mock_snakemake("build_load_data") configure_logging(snakemake) - powerstatistics = snakemake.config['load']['power_statistics'] - interpolate_limit = snakemake.config['load']['interpolate_limit'] - countries = snakemake.config['countries'] - snapshots = pd.date_range(freq='h', **snakemake.config['snapshots']) + powerstatistics = snakemake.config["load"]["power_statistics"] + interpolate_limit = snakemake.config["load"]["interpolate_limit"] + countries = snakemake.config["countries"] + snapshots = pd.date_range(freq="h", **snakemake.config["snapshots"]) years = slice(snapshots[0], snapshots[-1]) - time_shift = snakemake.config['load']['time_shift_for_large_gaps'] + time_shift = snakemake.config["load"]["time_shift_for_large_gaps"] load = load_timeseries(snakemake.input[0], years, countries, powerstatistics) - if snakemake.config['load']['manual_adjustments']: + if snakemake.config["load"]["manual_adjustments"]: load = manual_adjustment(load, snakemake.input[0], powerstatistics) logger.info(f"Linearly interpolate gaps of size {interpolate_limit} and less.") - load = load.interpolate(method='linear', limit=interpolate_limit) + load = load.interpolate(method="linear", limit=interpolate_limit) - logger.info("Filling larger gaps by copying time-slices of period " - f"'{time_shift}'.") + logger.info( + "Filling larger gaps by copying time-slices of period " f"'{time_shift}'." + ) load = load.apply(fill_large_gaps, shift=time_shift) assert not load.isna().any().any(), ( - 'Load data contains nans. Adjust the parameters ' - '`time_shift_for_large_gaps` or modify the `manual_adjustment` function ' - 'for implementing the needed load data modifications.') + "Load data contains nans. Adjust the parameters " + "`time_shift_for_large_gaps` or modify the `manual_adjustment` function " + "for implementing the needed load data modifications." + ) load.to_csv(snakemake.output[0]) - diff --git a/scripts/build_natura_raster.py b/scripts/build_natura_raster.py index 410e3661..b34f24ef 100644 --- a/scripts/build_natura_raster.py +++ b/scripts/build_natura_raster.py @@ -1,9 +1,12 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ -Rasters the vector data of the `Natura 2000 `_ natural protection areas onto all cutout regions. +Rasters the vector data of the `Natura 2000 +`_ natural protection areas onto all +cutout regions. Relevant Settings ----------------- @@ -36,15 +39,14 @@ Outputs Description ----------- - """ import logging -from _helpers import configure_logging import atlite import geopandas as gpd import rasterio as rio +from _helpers import configure_logging from rasterio.features import geometry_mask from rasterio.warp import transform_bounds @@ -56,11 +58,11 @@ def determine_cutout_xXyY(cutout_name): assert cutout.crs.to_epsg() == 4326 x, X, y, Y = cutout.extent dx, dy = cutout.dx, cutout.dy - return [x - dx/2., X + dx/2., y - dy/2., Y + dy/2.] + return [x - dx / 2.0, X + dx / 2.0, y - dy / 2.0, Y + dy / 2.0] def get_transform_and_shape(bounds, res): - left, bottom = [(b // res)* res for b in bounds[:2]] + left, bottom = [(b // res) * res for b in bounds[:2]] right, top = [(b // res + 1) * res for b in bounds[2:]] shape = int((top - bottom) // res), int((right - left) / res) transform = rio.Affine(res, 0, left, 0, -res, top) @@ -68,9 +70,10 @@ def get_transform_and_shape(bounds, res): if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('build_natura_raster') + + snakemake = mock_snakemake("build_natura_raster") configure_logging(snakemake) cutouts = snakemake.input.cutouts @@ -83,7 +86,16 @@ if __name__ == "__main__": raster = ~geometry_mask(shapes.geometry, out_shape[::-1], transform) raster = raster.astype(rio.uint8) - with rio.open(snakemake.output[0], 'w', driver='GTiff', dtype=rio.uint8, - count=1, transform=transform, crs=3035, compress='lzw', - width=raster.shape[1], height=raster.shape[0]) as dst: + with rio.open( + snakemake.output[0], + "w", + driver="GTiff", + dtype=rio.uint8, + count=1, + transform=transform, + crs=3035, + compress="lzw", + width=raster.shape[1], + height=raster.shape[0], + ) as dst: dst.write(raster, indexes=1) diff --git a/scripts/build_powerplants.py b/scripts/build_powerplants.py index baf4ba5d..f65b4966 100755 --- a/scripts/build_powerplants.py +++ b/scripts/build_powerplants.py @@ -1,10 +1,15 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT # coding: utf-8 """ -Retrieves conventional powerplant capacities and locations from `powerplantmatching `_, assigns these to buses and creates a ``.csv`` file. It is possible to amend the powerplant database with custom entries provided in ``data/custom_powerplants.csv``. +Retrieves conventional powerplant capacities and locations from +`powerplantmatching `_, assigns +these to buses and creates a ``.csv`` file. It is possible to amend the +powerplant database with custom entries provided in +``data/custom_powerplants.csv``. Relevant Settings ----------------- @@ -68,16 +73,14 @@ The configuration options ``electricity: powerplants_filter`` and ``electricity: powerplants_filter: Country not in ['Germany'] and YearCommissioned <= 2015 custom_powerplants: YearCommissioned <= 2015 - """ import logging -from _helpers import configure_logging -import pypsa -import powerplantmatching as pm import pandas as pd - +import powerplantmatching as pm +import pypsa +from _helpers import configure_logging from powerplantmatching.export import map_country_bus logger = logging.getLogger(__name__) @@ -86,70 +89,78 @@ logger = logging.getLogger(__name__) def add_custom_powerplants(ppl, custom_powerplants, custom_ppl_query=False): if not custom_ppl_query: return ppl - add_ppls = pd.read_csv(custom_powerplants, index_col=0, dtype={'bus': 'str'}) + add_ppls = pd.read_csv(custom_powerplants, index_col=0, dtype={"bus": "str"}) if isinstance(custom_ppl_query, str): add_ppls.query(custom_ppl_query, inplace=True) - return pd.concat([ppl, add_ppls], sort=False, ignore_index=True, verify_integrity=True) + return pd.concat( + [ppl, add_ppls], sort=False, ignore_index=True, verify_integrity=True + ) def replace_natural_gas_technology(df): - mapping = {'Steam Turbine': 'OCGT', "Combustion Engine": "OCGT"} - tech = df.Technology.replace(mapping).fillna('OCGT') - return df.Technology.where(df.Fueltype != 'Natural Gas', tech) + mapping = {"Steam Turbine": "OCGT", "Combustion Engine": "OCGT"} + tech = df.Technology.replace(mapping).fillna("OCGT") + return df.Technology.where(df.Fueltype != "Natural Gas", tech) -def replace_natural_gas_fueltype(df): - return df.Fueltype.where(df.Fueltype != 'Natural Gas', df.Technology) - +def replace_natural_gas_fueltype(df): + return df.Fueltype.where(df.Fueltype != "Natural Gas", df.Technology) + if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('build_powerplants') + + snakemake = mock_snakemake("build_powerplants") configure_logging(snakemake) n = pypsa.Network(snakemake.input.base_network) countries = n.buses.country.unique() - - ppl = (pm.powerplants(from_url=True) - .powerplant.fill_missing_decommissioning_years() - .powerplant.convert_country_to_alpha2() - .query('Fueltype not in ["Solar", "Wind"] and Country in @countries') - .assign(Technology=replace_natural_gas_technology) - .assign(Fueltype=replace_natural_gas_fueltype)) + ppl = ( + pm.powerplants(from_url=True) + .powerplant.fill_missing_decommissioning_years() + .powerplant.convert_country_to_alpha2() + .query('Fueltype not in ["Solar", "Wind"] and Country in @countries') + .assign(Technology=replace_natural_gas_technology) + .assign(Fueltype=replace_natural_gas_fueltype) + ) # Correct bioenergy for countries where possible opsd = pm.data.OPSD_VRE().powerplant.convert_country_to_alpha2() opsd = opsd.query('Country in @countries and Fueltype == "Bioenergy"') - opsd['Name'] = "Biomass" + opsd["Name"] = "Biomass" available_countries = opsd.Country.unique() - ppl = ppl.query('not (Country in @available_countries and Fueltype == "Bioenergy")') + ppl = ppl.query('not (Country in @available_countries and Fueltype == "Bioenergy")') ppl = pd.concat([ppl, opsd]) - - ppl_query = snakemake.config['electricity']['powerplants_filter'] + + ppl_query = snakemake.config["electricity"]["powerplants_filter"] if isinstance(ppl_query, str): ppl.query(ppl_query, inplace=True) # add carriers from own powerplant files: - custom_ppl_query = snakemake.config['electricity']['custom_powerplants'] - ppl = add_custom_powerplants(ppl, snakemake.input.custom_powerplants, custom_ppl_query) + custom_ppl_query = snakemake.config["electricity"]["custom_powerplants"] + ppl = add_custom_powerplants( + ppl, snakemake.input.custom_powerplants, custom_ppl_query + ) - countries_wo_ppl = set(countries)-set(ppl.Country.unique()) + countries_wo_ppl = set(countries) - set(ppl.Country.unique()) if countries_wo_ppl: logging.warning(f"No powerplants known in: {', '.join(countries_wo_ppl)}") - substations = n.buses.query('substation_lv') + substations = n.buses.query("substation_lv") ppl = map_country_bus(ppl, substations) bus_null_b = ppl["bus"].isnull() if bus_null_b.any(): - logging.warning(f"Couldn't find close bus for {bus_null_b.sum()} powerplants. " - "Removing them from the powerplants list.") + logging.warning( + f"Couldn't find close bus for {bus_null_b.sum()} powerplants. " + "Removing them from the powerplants list." + ) ppl = ppl[~bus_null_b] - # TODO: This has to fixed in PPM, some powerplants are still duplicated - cumcount = ppl.groupby(['bus', 'Fueltype']).cumcount() + 1 + # TODO: This has to fixed in PPM, some powerplants are still duplicated + cumcount = ppl.groupby(["bus", "Fueltype"]).cumcount() + 1 ppl.Name = ppl.Name.where(cumcount == 1, ppl.Name + " " + cumcount.astype(str)) ppl.reset_index(drop=True).to_csv(snakemake.output[0]) diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index 05866551..22b76814 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -1,15 +1,17 @@ #!/usr/bin/env python +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT -"""Calculates for each network node the -(i) installable capacity (based on land-use), (ii) the available generation time -series (based on weather data), and (iii) the average distance from the node for -onshore wind, AC-connected offshore wind, DC-connected offshore wind and solar -PV generators. In addition for offshore wind it calculates the fraction of the -grid connection which is under water. +""" +Calculates for each network node the (i) installable capacity (based on land- +use), (ii) the available generation time series (based on weather data), and +(iii) the average distance from the node for onshore wind, AC-connected +offshore wind, DC-connected offshore wind and solar PV generators. In addition +for offshore wind it calculates the fraction of the grid connection which is +under water. .. note:: Hydroelectric profiles are built in script :mod:`build_hydro_profiles`. @@ -177,132 +179,148 @@ node (`p_nom_max`): ``simple`` and ``conservative``: - ``conservative`` assertains the nodal limit by increasing capacities proportional to the layout until the limit of an individual grid cell is reached. - """ -import progressbar as pgb -import geopandas as gpd -import xarray as xr -import numpy as np import functools -import atlite import logging +import time + +import atlite +import geopandas as gpd +import numpy as np +import progressbar as pgb +import xarray as xr +from _helpers import configure_logging +from dask.distributed import Client, LocalCluster from pypsa.geo import haversine from shapely.geometry import LineString -import time -from dask.distributed import Client, LocalCluster - -from _helpers import configure_logging logger = logging.getLogger(__name__) -if __name__ == '__main__': - if 'snakemake' not in globals(): +if __name__ == "__main__": + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('build_renewable_profiles', technology='solar') + + snakemake = mock_snakemake("build_renewable_profiles", technology="solar") configure_logging(snakemake) pgb.streams.wrap_stderr() nprocesses = int(snakemake.threads) - noprogress = not snakemake.config['atlite'].get('show_progress', False) - config = snakemake.config['renewable'][snakemake.wildcards.technology] - resource = config['resource'] # pv panel config / wind turbine config - correction_factor = config.get('correction_factor', 1.) - capacity_per_sqkm = config['capacity_per_sqkm'] - p_nom_max_meth = config.get('potential', 'conservative') + noprogress = not snakemake.config["atlite"].get("show_progress", False) + config = snakemake.config["renewable"][snakemake.wildcards.technology] + resource = config["resource"] # pv panel config / wind turbine config + correction_factor = config.get("correction_factor", 1.0) + capacity_per_sqkm = config["capacity_per_sqkm"] + p_nom_max_meth = config.get("potential", "conservative") if isinstance(config.get("corine", {}), list): - config['corine'] = {'grid_codes': config['corine']} + config["corine"] = {"grid_codes": config["corine"]} - if correction_factor != 1.: - logger.info(f'correction_factor is set as {correction_factor}') + if correction_factor != 1.0: + logger.info(f"correction_factor is set as {correction_factor}") cluster = LocalCluster(n_workers=nprocesses, threads_per_worker=1) client = Client(cluster, asynchronous=True) - - cutout = atlite.Cutout(snakemake.input['cutout']) + + cutout = atlite.Cutout(snakemake.input["cutout"]) regions = gpd.read_file(snakemake.input.regions) - assert not regions.empty, (f"List of regions in {snakemake.input.regions} is empty, please " - "disable the corresponding renewable technology") + assert not regions.empty, ( + f"List of regions in {snakemake.input.regions} is empty, please " + "disable the corresponding renewable technology" + ) # do not pull up, set_index does not work if geo dataframe is empty - regions = regions.set_index('name').rename_axis('bus') + regions = regions.set_index("name").rename_axis("bus") buses = regions.index res = config.get("excluder_resolution", 100) excluder = atlite.ExclusionContainer(crs=3035, res=res) - if config['natura']: + if config["natura"]: excluder.add_raster(snakemake.input.natura, nodata=0, allow_no_overlap=True) corine = config.get("corine", {}) if "grid_codes" in corine: codes = corine["grid_codes"] excluder.add_raster(snakemake.input.corine, codes=codes, invert=True, crs=3035) - if corine.get("distance", 0.) > 0.: + if corine.get("distance", 0.0) > 0.0: codes = corine["distance_grid_codes"] buffer = corine["distance"] - excluder.add_raster(snakemake.input.corine, codes=codes, buffer=buffer, crs=3035) - + excluder.add_raster( + snakemake.input.corine, codes=codes, buffer=buffer, crs=3035 + ) + if "ship_threshold" in config: - shipping_threshold=config["ship_threshold"] * 8760 * 6 # approximation because 6 years of data which is hourly collected + shipping_threshold = ( + config["ship_threshold"] * 8760 * 6 + ) # approximation because 6 years of data which is hourly collected func = functools.partial(np.less, shipping_threshold) - excluder.add_raster(snakemake.input.ship_density, codes=func, crs=4326, allow_no_overlap=True) + excluder.add_raster( + snakemake.input.ship_density, codes=func, crs=4326, allow_no_overlap=True + ) if "max_depth" in config: # lambda not supported for atlite + multiprocessing # use named function np.greater with partially frozen argument instead # and exclude areas where: -max_depth > grid cell depth - func = functools.partial(np.greater,-config['max_depth']) + func = functools.partial(np.greater, -config["max_depth"]) excluder.add_raster(snakemake.input.gebco, codes=func, crs=4326, nodata=-1000) - if 'min_shore_distance' in config: - buffer = config['min_shore_distance'] + if "min_shore_distance" in config: + buffer = config["min_shore_distance"] excluder.add_geometry(snakemake.input.country_shapes, buffer=buffer) - if 'max_shore_distance' in config: - buffer = config['max_shore_distance'] - excluder.add_geometry(snakemake.input.country_shapes, buffer=buffer, invert=True) + if "max_shore_distance" in config: + buffer = config["max_shore_distance"] + excluder.add_geometry( + snakemake.input.country_shapes, buffer=buffer, invert=True + ) kwargs = dict(nprocesses=nprocesses, disable_progressbar=noprogress) if noprogress: - logger.info('Calculate landuse availabilities...') + logger.info("Calculate landuse availabilities...") start = time.time() availability = cutout.availabilitymatrix(regions, excluder, **kwargs) duration = time.time() - start - logger.info(f'Completed availability calculation ({duration:2.2f}s)') + logger.info(f"Completed availability calculation ({duration:2.2f}s)") else: availability = cutout.availabilitymatrix(regions, excluder, **kwargs) area = cutout.grid.to_crs(3035).area / 1e6 - area = xr.DataArray(area.values.reshape(cutout.shape), - [cutout.coords['y'], cutout.coords['x']]) + area = xr.DataArray( + area.values.reshape(cutout.shape), [cutout.coords["y"], cutout.coords["x"]] + ) - potential = capacity_per_sqkm * availability.sum('bus') * area - func = getattr(cutout, resource.pop('method')) - resource['dask_kwargs'] = {"scheduler": client} + potential = capacity_per_sqkm * availability.sum("bus") * area + func = getattr(cutout, resource.pop("method")) + resource["dask_kwargs"] = {"scheduler": client} capacity_factor = correction_factor * func(capacity_factor=True, **resource) layout = capacity_factor * area * capacity_per_sqkm - profile, capacities = func(matrix=availability.stack(spatial=['y','x']), - layout=layout, index=buses, - per_unit=True, return_capacity=True, **resource) + profile, capacities = func( + matrix=availability.stack(spatial=["y", "x"]), + layout=layout, + index=buses, + per_unit=True, + return_capacity=True, + **resource, + ) logger.info(f"Calculating maximal capacity per bus (method '{p_nom_max_meth}')") - if p_nom_max_meth == 'simple': + if p_nom_max_meth == "simple": p_nom_max = capacity_per_sqkm * availability @ area - elif p_nom_max_meth == 'conservative': - max_cap_factor = capacity_factor.where(availability!=0).max(['x', 'y']) + elif p_nom_max_meth == "conservative": + max_cap_factor = capacity_factor.where(availability != 0).max(["x", "y"]) p_nom_max = capacities / max_cap_factor else: - raise AssertionError('Config key `potential` should be one of "simple" ' - f'(default) or "conservative", not "{p_nom_max_meth}"') + raise AssertionError( + 'Config key `potential` should be one of "simple" ' + f'(default) or "conservative", not "{p_nom_max_meth}"' + ) + logger.info("Calculate average distances.") + layoutmatrix = (layout * availability).stack(spatial=["y", "x"]) - - logger.info('Calculate average distances.') - layoutmatrix = (layout * availability).stack(spatial=['y','x']) - - coords = cutout.grid[['x', 'y']] - bus_coords = regions[['x', 'y']] + coords = cutout.grid[["x", "y"]] + bus_coords = regions[["x", "y"]] average_distance = [] centre_of_mass = [] @@ -311,39 +329,45 @@ if __name__ == '__main__': nz_b = row != 0 row = row[nz_b] co = coords[nz_b] - distances = haversine(bus_coords.loc[bus], co) + distances = haversine(bus_coords.loc[bus], co) average_distance.append((distances * (row / row.sum())).sum()) centre_of_mass.append(co.values.T @ (row / row.sum())) average_distance = xr.DataArray(average_distance, [buses]) - centre_of_mass = xr.DataArray(centre_of_mass, [buses, ('spatial', ['x', 'y'])]) - - - ds = xr.merge([(correction_factor * profile).rename('profile'), - capacities.rename('weight'), - p_nom_max.rename('p_nom_max'), - potential.rename('potential'), - average_distance.rename('average_distance')]) + centre_of_mass = xr.DataArray(centre_of_mass, [buses, ("spatial", ["x", "y"])]) + ds = xr.merge( + [ + (correction_factor * profile).rename("profile"), + capacities.rename("weight"), + p_nom_max.rename("p_nom_max"), + potential.rename("potential"), + average_distance.rename("average_distance"), + ] + ) if snakemake.wildcards.technology.startswith("offwind"): - logger.info('Calculate underwater fraction of connections.') - offshore_shape = gpd.read_file(snakemake.input['offshore_shapes']).unary_union + logger.info("Calculate underwater fraction of connections.") + offshore_shape = gpd.read_file(snakemake.input["offshore_shapes"]).unary_union underwater_fraction = [] for bus in buses: p = centre_of_mass.sel(bus=bus).data - line = LineString([p, regions.loc[bus, ['x', 'y']]]) - frac = line.intersection(offshore_shape).length/line.length + line = LineString([p, regions.loc[bus, ["x", "y"]]]) + frac = line.intersection(offshore_shape).length / line.length underwater_fraction.append(frac) - ds['underwater_fraction'] = xr.DataArray(underwater_fraction, [buses]) + ds["underwater_fraction"] = xr.DataArray(underwater_fraction, [buses]) # select only buses with some capacity and minimal capacity factor - ds = ds.sel(bus=((ds['profile'].mean('time') > config.get('min_p_max_pu', 0.)) & - (ds['p_nom_max'] > config.get('min_p_nom_max', 0.)))) + ds = ds.sel( + bus=( + (ds["profile"].mean("time") > config.get("min_p_max_pu", 0.0)) + & (ds["p_nom_max"] > config.get("min_p_nom_max", 0.0)) + ) + ) - if 'clip_p_max_pu' in config: - min_p_max_pu = config['clip_p_max_pu'] - ds['profile'] = ds['profile'].where(ds['profile'] >= min_p_max_pu, 0) + if "clip_p_max_pu" in config: + min_p_max_pu = config["clip_p_max_pu"] + ds["profile"] = ds["profile"].where(ds["profile"] >= min_p_max_pu, 0) ds.to_netcdf(snakemake.output.profile) diff --git a/scripts/build_shapes.py b/scripts/build_shapes.py index c2c081b4..79409a26 100644 --- a/scripts/build_shapes.py +++ b/scripts/build_shapes.py @@ -1,9 +1,12 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ -Creates GIS shape files of the countries, exclusive economic zones and `NUTS3 `_ areas. +Creates GIS shape files of the countries, exclusive economic zones and `NUTS3 < +https://en.wikipedia.org/wiki/Nomenclature_of_Territorial_Units_for_Statistics> +`_ areas. Relevant Settings ----------------- @@ -64,22 +67,20 @@ Outputs Description ----------- - """ import logging -from _helpers import configure_logging - -import numpy as np -from operator import attrgetter from functools import reduce from itertools import takewhile +from operator import attrgetter -import pandas as pd import geopandas as gpd +import numpy as np +import pandas as pd +import pycountry as pyc +from _helpers import configure_logging from shapely.geometry import MultiPolygon, Polygon from shapely.ops import unary_union -import pycountry as pyc logger = logging.getLogger(__name__) @@ -94,40 +95,58 @@ def _get_country(target, **keys): def _simplify_polys(polys, minarea=0.1, tolerance=0.01, filterremote=True): if isinstance(polys, MultiPolygon): - polys = sorted(polys.geoms, key=attrgetter('area'), reverse=True) + polys = sorted(polys.geoms, key=attrgetter("area"), reverse=True) mainpoly = polys[0] - mainlength = np.sqrt(mainpoly.area/(2.*np.pi)) + mainlength = np.sqrt(mainpoly.area / (2.0 * np.pi)) if mainpoly.area > minarea: - polys = MultiPolygon([p - for p in takewhile(lambda p: p.area > minarea, polys) - if not filterremote or (mainpoly.distance(p) < mainlength)]) + polys = MultiPolygon( + [ + p + for p in takewhile(lambda p: p.area > minarea, polys) + if not filterremote or (mainpoly.distance(p) < mainlength) + ] + ) else: polys = mainpoly return polys.simplify(tolerance=tolerance) def countries(naturalearth, country_list): - if 'RS' in country_list: country_list.append('KV') + if "RS" in country_list: + country_list.append("KV") df = gpd.read_file(naturalearth) # Names are a hassle in naturalearth, try several fields - fieldnames = (df[x].where(lambda s: s!='-99') for x in ('ISO_A2', 'WB_A2', 'ADM0_A3')) - df['name'] = reduce(lambda x,y: x.fillna(y), fieldnames, next(fieldnames)).str[0:2] + fieldnames = ( + df[x].where(lambda s: s != "-99") for x in ("ISO_A2", "WB_A2", "ADM0_A3") + ) + df["name"] = reduce(lambda x, y: x.fillna(y), fieldnames, next(fieldnames)).str[0:2] - df = df.loc[df.name.isin(country_list) & ((df['scalerank'] == 0) | (df['scalerank'] == 5))] - s = df.set_index('name')['geometry'].map(_simplify_polys) - if 'RS' in country_list: s['RS'] = s['RS'].union(s.pop('KV')) + df = df.loc[ + df.name.isin(country_list) & ((df["scalerank"] == 0) | (df["scalerank"] == 5)) + ] + s = df.set_index("name")["geometry"].map(_simplify_polys) + if "RS" in country_list: + s["RS"] = s["RS"].union(s.pop("KV")) return s def eez(country_shapes, eez, country_list): df = gpd.read_file(eez) - df = df.loc[df['ISO_3digit'].isin([_get_country('alpha_3', alpha_2=c) for c in country_list])] - df['name'] = df['ISO_3digit'].map(lambda c: _get_country('alpha_2', alpha_3=c)) - s = df.set_index('name').geometry.map(lambda s: _simplify_polys(s, filterremote=False)) - s = gpd.GeoSeries({k:v for k,v in s.iteritems() if v.distance(country_shapes[k]) < 1e-3}) + df = df.loc[ + df["ISO_3digit"].isin( + [_get_country("alpha_3", alpha_2=c) for c in country_list] + ) + ] + df["name"] = df["ISO_3digit"].map(lambda c: _get_country("alpha_2", alpha_3=c)) + s = df.set_index("name").geometry.map( + lambda s: _simplify_polys(s, filterremote=False) + ) + s = gpd.GeoSeries( + {k: v for k, v in s.iteritems() if v.distance(country_shapes[k]) < 1e-3} + ) s = s.to_frame("geometry") s.index.name = "name" return s @@ -140,84 +159,121 @@ def country_cover(country_shapes, eez_shapes=None): europe_shape = unary_union(shapes) if isinstance(europe_shape, MultiPolygon): - europe_shape = max(europe_shape, key=attrgetter('area')) + europe_shape = max(europe_shape, key=attrgetter("area")) return Polygon(shell=europe_shape.exterior) def nuts3(country_shapes, nuts3, nuts3pop, nuts3gdp, ch_cantons, ch_popgdp): df = gpd.read_file(nuts3) - df = df.loc[df['STAT_LEVL_'] == 3] - df['geometry'] = df['geometry'].map(_simplify_polys) - df = df.rename(columns={'NUTS_ID': 'id'})[['id', 'geometry']].set_index('id') + df = df.loc[df["STAT_LEVL_"] == 3] + df["geometry"] = df["geometry"].map(_simplify_polys) + df = df.rename(columns={"NUTS_ID": "id"})[["id", "geometry"]].set_index("id") - pop = pd.read_table(nuts3pop, na_values=[':'], delimiter=' ?\t', engine='python') - pop = (pop - .set_index(pd.MultiIndex.from_tuples(pop.pop('unit,geo\\time').str.split(','))).loc['THS'] - .applymap(lambda x: pd.to_numeric(x, errors='coerce')) - .fillna(method='bfill', axis=1))['2014'] + pop = pd.read_table(nuts3pop, na_values=[":"], delimiter=" ?\t", engine="python") + pop = ( + pop.set_index( + pd.MultiIndex.from_tuples(pop.pop("unit,geo\\time").str.split(",")) + ) + .loc["THS"] + .applymap(lambda x: pd.to_numeric(x, errors="coerce")) + .fillna(method="bfill", axis=1) + )["2014"] - gdp = pd.read_table(nuts3gdp, na_values=[':'], delimiter=' ?\t', engine='python') - gdp = (gdp - .set_index(pd.MultiIndex.from_tuples(gdp.pop('unit,geo\\time').str.split(','))).loc['EUR_HAB'] - .applymap(lambda x: pd.to_numeric(x, errors='coerce')) - .fillna(method='bfill', axis=1))['2014'] + gdp = pd.read_table(nuts3gdp, na_values=[":"], delimiter=" ?\t", engine="python") + gdp = ( + gdp.set_index( + pd.MultiIndex.from_tuples(gdp.pop("unit,geo\\time").str.split(",")) + ) + .loc["EUR_HAB"] + .applymap(lambda x: pd.to_numeric(x, errors="coerce")) + .fillna(method="bfill", axis=1) + )["2014"] cantons = pd.read_csv(ch_cantons) - cantons = cantons.set_index(cantons['HASC'].str[3:])['NUTS'] - cantons = cantons.str.pad(5, side='right', fillchar='0') + cantons = cantons.set_index(cantons["HASC"].str[3:])["NUTS"] + cantons = cantons.str.pad(5, side="right", fillchar="0") swiss = pd.read_excel(ch_popgdp, skiprows=3, index_col=0) swiss.columns = swiss.columns.to_series().map(cantons) - swiss_pop = pd.to_numeric(swiss.loc['Residents in 1000', 'CH040':]) + swiss_pop = pd.to_numeric(swiss.loc["Residents in 1000", "CH040":]) pop = pd.concat([pop, swiss_pop]) - swiss_gdp = pd.to_numeric(swiss.loc['Gross domestic product per capita in Swiss francs', 'CH040':]) + swiss_gdp = pd.to_numeric( + swiss.loc["Gross domestic product per capita in Swiss francs", "CH040":] + ) gdp = pd.concat([gdp, swiss_gdp]) df = df.join(pd.DataFrame(dict(pop=pop, gdp=gdp))) - df['country'] = df.index.to_series().str[:2].replace(dict(UK='GB', EL='GR')) + df["country"] = df.index.to_series().str[:2].replace(dict(UK="GB", EL="GR")) - excludenuts = pd.Index(('FRA10', 'FRA20', 'FRA30', 'FRA40', 'FRA50', - 'PT200', 'PT300', - 'ES707', 'ES703', 'ES704','ES705', 'ES706', 'ES708', 'ES709', - 'FI2', 'FR9')) - excludecountry = pd.Index(('MT', 'TR', 'LI', 'IS', 'CY', 'KV')) + excludenuts = pd.Index( + ( + "FRA10", + "FRA20", + "FRA30", + "FRA40", + "FRA50", + "PT200", + "PT300", + "ES707", + "ES703", + "ES704", + "ES705", + "ES706", + "ES708", + "ES709", + "FI2", + "FR9", + ) + ) + excludecountry = pd.Index(("MT", "TR", "LI", "IS", "CY", "KV")) df = df.loc[df.index.difference(excludenuts)] df = df.loc[~df.country.isin(excludecountry)] manual = gpd.GeoDataFrame( - [['BA1', 'BA', 3871.], - ['RS1', 'RS', 7210.], - ['AL1', 'AL', 2893.]], - columns=['NUTS_ID', 'country', 'pop'] - ).set_index('NUTS_ID') - manual['geometry'] = manual['country'].map(country_shapes) + [["BA1", "BA", 3871.0], ["RS1", "RS", 7210.0], ["AL1", "AL", 2893.0]], + columns=["NUTS_ID", "country", "pop"], + ).set_index("NUTS_ID") + manual["geometry"] = manual["country"].map(country_shapes) manual = manual.dropna() df = pd.concat([df, manual], sort=False) - df.loc['ME000', 'pop'] = 650. + df.loc["ME000", "pop"] = 650.0 return df if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('build_shapes') + + snakemake = mock_snakemake("build_shapes") configure_logging(snakemake) - country_shapes = countries(snakemake.input.naturalearth, snakemake.config['countries']) + country_shapes = countries( + snakemake.input.naturalearth, snakemake.config["countries"] + ) country_shapes.reset_index().to_file(snakemake.output.country_shapes) - offshore_shapes = eez(country_shapes, snakemake.input.eez, snakemake.config['countries']) + offshore_shapes = eez( + country_shapes, snakemake.input.eez, snakemake.config["countries"] + ) offshore_shapes.reset_index().to_file(snakemake.output.offshore_shapes) - europe_shape = gpd.GeoDataFrame(geometry=[country_cover(country_shapes, offshore_shapes.geometry)]) + europe_shape = gpd.GeoDataFrame( + geometry=[country_cover(country_shapes, offshore_shapes.geometry)] + ) europe_shape.reset_index().to_file(snakemake.output.europe_shape) - nuts3_shapes = nuts3(country_shapes, snakemake.input.nuts3, snakemake.input.nuts3pop, - snakemake.input.nuts3gdp, snakemake.input.ch_cantons, snakemake.input.ch_popgdp) + nuts3_shapes = nuts3( + country_shapes, + snakemake.input.nuts3, + snakemake.input.nuts3pop, + snakemake.input.nuts3gdp, + snakemake.input.ch_cantons, + snakemake.input.ch_popgdp, + ) nuts3_shapes.reset_index().to_file(snakemake.output.nuts3_shapes) diff --git a/scripts/build_ship_raster.py b/scripts/build_ship_raster.py index af9b8702..0ae134fd 100644 --- a/scripts/build_ship_raster.py +++ b/scripts/build_ship_raster.py @@ -1,9 +1,14 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ -Transforms the global ship density data from https://datacatalog.worldbank.org/search/dataset/0037580/Global-Shipping-Traffic-Density to the size of the considered cutout. The global ship density raster is later used for the exclusion when calculating the offshore potentials. +Transforms the global ship density data from +https://datacatalog.worldbank.org/search/dataset/0037580/Global-Shipping- +Traffic-Density to the size of the considered cutout. The global ship density +raster is later used for the exclusion when calculating the offshore +potentials. Relevant Settings ----------------- @@ -30,23 +35,23 @@ Outputs Description ----------- - """ import logging +import os +import zipfile + +import xarray as xr from _helpers import configure_logging from build_natura_raster import determine_cutout_xXyY -import zipfile -import xarray as xr -import os - logger = logging.getLogger(__name__) if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('build_ship_raster') + + snakemake = mock_snakemake("build_ship_raster") configure_logging(snakemake) cutouts = snakemake.input.cutouts @@ -55,7 +60,9 @@ if __name__ == "__main__": with zipfile.ZipFile(snakemake.input.ship_density) as zip_f: zip_f.extract("shipdensity_global.tif") with xr.open_rasterio("shipdensity_global.tif") as ship_density: - ship_density = ship_density.drop(["band"]).sel(x=slice(min(xs),max(Xs)), y=slice(max(Ys),min(ys))) + ship_density = ship_density.drop(["band"]).sel( + x=slice(min(xs), max(Xs)), y=slice(max(Ys), min(ys)) + ) ship_density.to_netcdf(snakemake.output[0]) - - os.remove("shipdensity_global.tif") \ No newline at end of file + + os.remove("shipdensity_global.tif") diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index b0f78fff..956bfd97 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -1,10 +1,12 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT # coding: utf-8 """ -Creates networks clustered to ``{cluster}`` number of zones with aggregated buses, generators and transmission corridors. +Creates networks clustered to ``{cluster}`` number of zones with aggregated +buses, generators and transmission corridors. Relevant Settings ----------------- @@ -118,28 +120,28 @@ Exemplary unsolved network clustered to 37 nodes: .. image:: ../img/elec_s_37.png :scale: 40 % :align: center - """ import logging -from _helpers import configure_logging, update_p_nom_max, get_aggregation_strategies - -import pypsa - -import pandas as pd -import numpy as np -import geopandas as gpd -import pyomo.environ as po -import matplotlib.pyplot as plt -import seaborn as sns - +import warnings from functools import reduce -from pypsa.networkclustering import (busmap_by_kmeans, busmap_by_hac, - busmap_by_greedy_modularity, get_clustering_from_busmap) +import geopandas as gpd +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd +import pyomo.environ as po +import pypsa +import seaborn as sns +from _helpers import configure_logging, get_aggregation_strategies, update_p_nom_max +from pypsa.networkclustering import ( + busmap_by_greedy_modularity, + busmap_by_hac, + busmap_by_kmeans, + get_clustering_from_busmap, +) -import warnings -warnings.filterwarnings(action='ignore', category=UserWarning) +warnings.filterwarnings(action="ignore", category=UserWarning) from add_electricity import load_costs @@ -148,19 +150,21 @@ idx = pd.IndexSlice logger = logging.getLogger(__name__) -def normed(x): return (x/x.sum()).fillna(0.) +def normed(x): + return (x / x.sum()).fillna(0.0) def weighting_for_country(n, x): - conv_carriers = {'OCGT','CCGT','PHS', 'hydro'} - gen = (n - .generators.loc[n.generators.carrier.isin(conv_carriers)] - .groupby('bus').p_nom.sum() - .reindex(n.buses.index, fill_value=0.) + - n - .storage_units.loc[n.storage_units.carrier.isin(conv_carriers)] - .groupby('bus').p_nom.sum() - .reindex(n.buses.index, fill_value=0.)) + conv_carriers = {"OCGT", "CCGT", "PHS", "hydro"} + gen = n.generators.loc[n.generators.carrier.isin(conv_carriers)].groupby( + "bus" + ).p_nom.sum().reindex(n.buses.index, fill_value=0.0) + n.storage_units.loc[ + n.storage_units.carrier.isin(conv_carriers) + ].groupby( + "bus" + ).p_nom.sum().reindex( + n.buses.index, fill_value=0.0 + ) load = n.loads_t.p_set.mean().groupby(n.loads.bus).sum() b_i = x.index @@ -168,34 +172,41 @@ def weighting_for_country(n, x): l = normed(load.reindex(b_i, fill_value=0)) w = g + l - return (w * (100. / w.max())).clip(lower=1.).astype(int) + return (w * (100.0 / w.max())).clip(lower=1.0).astype(int) def get_feature_for_hac(n, buses_i=None, feature=None): - if buses_i is None: buses_i = n.buses.index if feature is None: feature = "solar+onwind-time" - carriers = feature.split('-')[0].split('+') + carriers = feature.split("-")[0].split("+") if "offwind" in carriers: carriers.remove("offwind") - carriers = np.append(carriers, network.generators.carrier.filter(like='offwind').unique()) + carriers = np.append( + carriers, network.generators.carrier.filter(like="offwind").unique() + ) - if feature.split('-')[1] == 'cap': + if feature.split("-")[1] == "cap": feature_data = pd.DataFrame(index=buses_i, columns=carriers) for carrier in carriers: gen_i = n.generators.query("carrier == @carrier").index - attach = n.generators_t.p_max_pu[gen_i].mean().rename(index = n.generators.loc[gen_i].bus) + attach = ( + n.generators_t.p_max_pu[gen_i] + .mean() + .rename(index=n.generators.loc[gen_i].bus) + ) feature_data[carrier] = attach - if feature.split('-')[1] == 'time': + if feature.split("-")[1] == "time": feature_data = pd.DataFrame(columns=buses_i) for carrier in carriers: gen_i = n.generators.query("carrier == @carrier").index - attach = n.generators_t.p_max_pu[gen_i].rename(columns = n.generators.loc[gen_i].bus) + attach = n.generators_t.p_max_pu[gen_i].rename( + columns=n.generators.loc[gen_i].bus + ) feature_data = pd.concat([feature_data, attach], axis=0)[buses_i] feature_data = feature_data.T @@ -208,80 +219,114 @@ def get_feature_for_hac(n, buses_i=None, feature=None): def distribute_clusters(n, n_clusters, focus_weights=None, solver_name="cbc"): - """Determine the number of clusters per country""" + """ + Determine the number of clusters per country. + """ - L = (n.loads_t.p_set.mean() - .groupby(n.loads.bus).sum() - .groupby([n.buses.country, n.buses.sub_network]).sum() - .pipe(normed)) + L = ( + n.loads_t.p_set.mean() + .groupby(n.loads.bus) + .sum() + .groupby([n.buses.country, n.buses.sub_network]) + .sum() + .pipe(normed) + ) - N = n.buses.groupby(['country', 'sub_network']).size() + N = n.buses.groupby(["country", "sub_network"]).size() - assert n_clusters >= len(N) and n_clusters <= N.sum(), \ - f"Number of clusters must be {len(N)} <= n_clusters <= {N.sum()} for this selection of countries." + assert ( + n_clusters >= len(N) and n_clusters <= N.sum() + ), f"Number of clusters must be {len(N)} <= n_clusters <= {N.sum()} for this selection of countries." if focus_weights is not None: total_focus = sum(list(focus_weights.values())) - assert total_focus <= 1.0, "The sum of focus weights must be less than or equal to 1." + assert ( + total_focus <= 1.0 + ), "The sum of focus weights must be less than or equal to 1." for country, weight in focus_weights.items(): L[country] = weight / len(L[country]) - remainder = [c not in focus_weights.keys() for c in L.index.get_level_values('country')] + remainder = [ + c not in focus_weights.keys() for c in L.index.get_level_values("country") + ] L[remainder] = L.loc[remainder].pipe(normed) * (1 - total_focus) - logger.warning('Using custom focus weights for determining number of clusters.') + logger.warning("Using custom focus weights for determining number of clusters.") - assert np.isclose(L.sum(), 1.0, rtol=1e-3), f"Country weights L must sum up to 1.0 when distributing clusters. Is {L.sum()}." + assert np.isclose( + L.sum(), 1.0, rtol=1e-3 + ), f"Country weights L must sum up to 1.0 when distributing clusters. Is {L.sum()}." m = po.ConcreteModel() + def n_bounds(model, *n_id): return (1, N[n_id]) + m.n = po.Var(list(L.index), bounds=n_bounds, domain=po.Integers) m.tot = po.Constraint(expr=(po.summation(m.n) == n_clusters)) - m.objective = po.Objective(expr=sum((m.n[i] - L.loc[i]*n_clusters)**2 for i in L.index), - sense=po.minimize) + m.objective = po.Objective( + expr=sum((m.n[i] - L.loc[i] * n_clusters) ** 2 for i in L.index), + sense=po.minimize, + ) opt = po.SolverFactory(solver_name) - if not opt.has_capability('quadratic_objective'): - logger.warning(f'The configured solver `{solver_name}` does not support quadratic objectives. Falling back to `ipopt`.') - opt = po.SolverFactory('ipopt') + if not opt.has_capability("quadratic_objective"): + logger.warning( + f"The configured solver `{solver_name}` does not support quadratic objectives. Falling back to `ipopt`." + ) + opt = po.SolverFactory("ipopt") results = opt.solve(m) - assert results['Solver'][0]['Status'] == 'ok', f"Solver returned non-optimally: {results}" + assert ( + results["Solver"][0]["Status"] == "ok" + ), f"Solver returned non-optimally: {results}" return pd.Series(m.n.get_values(), index=L.index).round().astype(int) -def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algorithm="kmeans", feature=None, **algorithm_kwds): +def busmap_for_n_clusters( + n, + n_clusters, + solver_name, + focus_weights=None, + algorithm="kmeans", + feature=None, + **algorithm_kwds, +): if algorithm == "kmeans": - algorithm_kwds.setdefault('n_init', 1000) - algorithm_kwds.setdefault('max_iter', 30000) - algorithm_kwds.setdefault('tol', 1e-6) - algorithm_kwds.setdefault('random_state', 0) + algorithm_kwds.setdefault("n_init", 1000) + algorithm_kwds.setdefault("max_iter", 30000) + algorithm_kwds.setdefault("tol", 1e-6) + algorithm_kwds.setdefault("random_state", 0) def fix_country_assignment_for_hac(n): from scipy.sparse import csgraph # overwrite country of nodes that are disconnected from their country-topology for country in n.buses.country.unique(): - m = n[n.buses.country ==country].copy() + m = n[n.buses.country == country].copy() - _, labels = csgraph.connected_components(m.adjacency_matrix(), directed=False) + _, labels = csgraph.connected_components( + m.adjacency_matrix(), directed=False + ) component = pd.Series(labels, index=m.buses.index) component_sizes = component.value_counts() - if len(component_sizes)>1: - disconnected_bus = component[component==component_sizes.index[-1]].index[0] + if len(component_sizes) > 1: + disconnected_bus = component[ + component == component_sizes.index[-1] + ].index[0] - neighbor_bus = ( - n.lines.query("bus0 == @disconnected_bus or bus1 == @disconnected_bus") - .iloc[0][['bus0', 'bus1']] - ) - new_country = list(set(n.buses.loc[neighbor_bus].country)-set([country]))[0] + neighbor_bus = n.lines.query( + "bus0 == @disconnected_bus or bus1 == @disconnected_bus" + ).iloc[0][["bus0", "bus1"]] + new_country = list( + set(n.buses.loc[neighbor_bus].country) - set([country]) + )[0] logger.info( f"overwriting country `{country}` of bus `{disconnected_bus}` " @@ -296,75 +341,107 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori n = fix_country_assignment_for_hac(n) if (algorithm != "hac") and (feature is not None): - logger.warning(f"Keyword argument feature is only valid for algorithm `hac`. " - f"Given feature `{feature}` will be ignored.") + logger.warning( + f"Keyword argument feature is only valid for algorithm `hac`. " + f"Given feature `{feature}` will be ignored." + ) n.determine_network_topology() - n_clusters = distribute_clusters(n, n_clusters, focus_weights=focus_weights, solver_name=solver_name) + n_clusters = distribute_clusters( + n, n_clusters, focus_weights=focus_weights, solver_name=solver_name + ) def busmap_for_country(x): - prefix = x.name[0] + x.name[1] + ' ' + prefix = x.name[0] + x.name[1] + " " logger.debug(f"Determining busmap for country {prefix[:-1]}") if len(x) == 1: - return pd.Series(prefix + '0', index=x.index) + return pd.Series(prefix + "0", index=x.index) weight = weighting_for_country(n, x) if algorithm == "kmeans": - return prefix + busmap_by_kmeans(n, weight, n_clusters[x.name], buses_i=x.index, **algorithm_kwds) + return prefix + busmap_by_kmeans( + n, weight, n_clusters[x.name], buses_i=x.index, **algorithm_kwds + ) elif algorithm == "hac": - return prefix + busmap_by_hac(n, n_clusters[x.name], buses_i=x.index, feature=feature.loc[x.index]) + return prefix + busmap_by_hac( + n, n_clusters[x.name], buses_i=x.index, feature=feature.loc[x.index] + ) elif algorithm == "modularity": - return prefix + busmap_by_greedy_modularity(n, n_clusters[x.name], buses_i=x.index) + return prefix + busmap_by_greedy_modularity( + n, n_clusters[x.name], buses_i=x.index + ) else: - raise ValueError(f"`algorithm` must be one of 'kmeans' or 'hac'. Is {algorithm}.") + raise ValueError( + f"`algorithm` must be one of 'kmeans' or 'hac'. Is {algorithm}." + ) - return (n.buses.groupby(['country', 'sub_network'], group_keys=False) - .apply(busmap_for_country).squeeze().rename('busmap')) + return ( + n.buses.groupby(["country", "sub_network"], group_keys=False) + .apply(busmap_for_country) + .squeeze() + .rename("busmap") + ) -def clustering_for_n_clusters(n, n_clusters, custom_busmap=False, aggregate_carriers=None, - line_length_factor=1.25, aggregation_strategies=dict(), solver_name="cbc", - algorithm="hac", feature=None, extended_link_costs=0, focus_weights=None): +def clustering_for_n_clusters( + n, + n_clusters, + custom_busmap=False, + aggregate_carriers=None, + line_length_factor=1.25, + aggregation_strategies=dict(), + solver_name="cbc", + algorithm="hac", + feature=None, + extended_link_costs=0, + focus_weights=None, +): - bus_strategies, generator_strategies = get_aggregation_strategies(aggregation_strategies) + bus_strategies, generator_strategies = get_aggregation_strategies( + aggregation_strategies + ) if not isinstance(custom_busmap, pd.Series): - busmap = busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights, algorithm, feature) + busmap = busmap_for_n_clusters( + n, n_clusters, solver_name, focus_weights, algorithm, feature + ) else: busmap = custom_busmap clustering = get_clustering_from_busmap( - n, busmap, + n, + busmap, bus_strategies=bus_strategies, aggregate_generators_weighted=True, aggregate_generators_carriers=aggregate_carriers, aggregate_one_ports=["Load", "StorageUnit"], line_length_factor=line_length_factor, generator_strategies=generator_strategies, - scale_link_capital_costs=False) + scale_link_capital_costs=False, + ) if not n.links.empty: nc = clustering.network - nc.links['underwater_fraction'] = (n.links.eval('underwater_fraction * length') - .div(nc.links.length).dropna()) - nc.links['capital_cost'] = (nc.links['capital_cost'] - .add((nc.links.length - n.links.length) - .clip(lower=0).mul(extended_link_costs), - fill_value=0)) + nc.links["underwater_fraction"] = ( + n.links.eval("underwater_fraction * length").div(nc.links.length).dropna() + ) + nc.links["capital_cost"] = nc.links["capital_cost"].add( + (nc.links.length - n.links.length).clip(lower=0).mul(extended_link_costs), + fill_value=0, + ) return clustering def cluster_regions(busmaps, input=None, output=None): - busmap = reduce(lambda x, y: x.map(y), busmaps[1:], busmaps[0]) - for which in ('regions_onshore', 'regions_offshore'): + for which in ("regions_onshore", "regions_offshore"): regions = gpd.read_file(getattr(input, which)) - regions = regions.reindex(columns=["name", "geometry"]).set_index('name') + regions = regions.reindex(columns=["name", "geometry"]).set_index("name") regions_c = regions.dissolve(busmap) - regions_c.index.name = 'name' + regions_c.index.name = "name" regions_c = regions_c.reset_index() regions_c.to_file(getattr(output, which)) @@ -375,78 +452,110 @@ def plot_busmap_for_n_clusters(n, n_clusters, fn=None): cr = sns.color_palette("hls", len(cs)) n.plot(bus_colors=busmap.map(dict(zip(cs, cr)))) if fn is not None: - plt.savefig(fn, bbox_inches='tight') + plt.savefig(fn, bbox_inches="tight") del cs, cr if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('cluster_network', simpl='', clusters='5') + + snakemake = mock_snakemake("cluster_network", simpl="", clusters="5") configure_logging(snakemake) n = pypsa.Network(snakemake.input.network) - focus_weights = snakemake.config.get('focus_weights', None) + focus_weights = snakemake.config.get("focus_weights", None) - renewable_carriers = pd.Index([tech - for tech in n.generators.carrier.unique() - if tech in snakemake.config['renewable']]) + renewable_carriers = pd.Index( + [ + tech + for tech in n.generators.carrier.unique() + if tech in snakemake.config["renewable"] + ] + ) - if snakemake.wildcards.clusters.endswith('m'): + if snakemake.wildcards.clusters.endswith("m"): n_clusters = int(snakemake.wildcards.clusters[:-1]) - aggregate_carriers = snakemake.config["electricity"].get("conventional_carriers") - elif snakemake.wildcards.clusters == 'all': + aggregate_carriers = snakemake.config["electricity"].get( + "conventional_carriers" + ) + elif snakemake.wildcards.clusters == "all": n_clusters = len(n.buses) - aggregate_carriers = None # All + aggregate_carriers = None # All else: n_clusters = int(snakemake.wildcards.clusters) - aggregate_carriers = None # All + aggregate_carriers = None # All if n_clusters == len(n.buses): # Fast-path if no clustering is necessary busmap = n.buses.index.to_series() linemap = n.lines.index.to_series() - clustering = pypsa.networkclustering.Clustering(n, busmap, linemap, linemap, pd.Series(dtype='O')) + clustering = pypsa.networkclustering.Clustering( + n, busmap, linemap, linemap, pd.Series(dtype="O") + ) else: - line_length_factor = snakemake.config['lines']['length_factor'] - Nyears = n.snapshot_weightings.objective.sum()/8760 + line_length_factor = snakemake.config["lines"]["length_factor"] + Nyears = n.snapshot_weightings.objective.sum() / 8760 - hvac_overhead_cost = (load_costs(snakemake.input.tech_costs, snakemake.config['costs'], snakemake.config['electricity'], Nyears) - .at['HVAC overhead', 'capital_cost']) + hvac_overhead_cost = load_costs( + snakemake.input.tech_costs, + snakemake.config["costs"], + snakemake.config["electricity"], + Nyears, + ).at["HVAC overhead", "capital_cost"] def consense(x): v = x.iat[0] - assert ((x == v).all() or x.isnull().all()), ( - "The `potential` configuration option must agree for all renewable carriers, for now!" - ) + assert ( + x == v + ).all() or x.isnull().all(), "The `potential` configuration option must agree for all renewable carriers, for now!" return v - aggregation_strategies = snakemake.config["clustering"].get("aggregation_strategies", {}) + + aggregation_strategies = snakemake.config["clustering"].get( + "aggregation_strategies", {} + ) # translate str entries of aggregation_strategies to pd.Series functions: aggregation_strategies = { - p: {k: getattr(pd.Series, v) for k,v in aggregation_strategies[p].items()} + p: {k: getattr(pd.Series, v) for k, v in aggregation_strategies[p].items()} for p in aggregation_strategies.keys() } custom_busmap = snakemake.config["enable"].get("custom_busmap", False) if custom_busmap: - custom_busmap = pd.read_csv(snakemake.input.custom_busmap, index_col=0, squeeze=True) + custom_busmap = pd.read_csv( + snakemake.input.custom_busmap, index_col=0, squeeze=True + ) custom_busmap.index = custom_busmap.index.astype(str) logger.info(f"Imported custom busmap from {snakemake.input.custom_busmap}") - cluster_config = snakemake.config.get('clustering', {}).get('cluster_network', {}) - clustering = clustering_for_n_clusters(n, n_clusters, custom_busmap, aggregate_carriers, - line_length_factor, aggregation_strategies, - snakemake.config['solving']['solver']['name'], - cluster_config.get("algorithm", "hac"), - cluster_config.get("feature", "solar+onwind-time"), - hvac_overhead_cost, focus_weights) + cluster_config = snakemake.config.get("clustering", {}).get( + "cluster_network", {} + ) + clustering = clustering_for_n_clusters( + n, + n_clusters, + custom_busmap, + aggregate_carriers, + line_length_factor, + aggregation_strategies, + snakemake.config["solving"]["solver"]["name"], + cluster_config.get("algorithm", "hac"), + cluster_config.get("feature", "solar+onwind-time"), + hvac_overhead_cost, + focus_weights, + ) update_p_nom_max(clustering.network) - clustering.network.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards))) + clustering.network.meta = dict( + snakemake.config, **dict(wildcards=dict(snakemake.wildcards)) + ) clustering.network.export_to_netcdf(snakemake.output.network) - for attr in ('busmap', 'linemap'): #also available: linemap_positive, linemap_negative + for attr in ( + "busmap", + "linemap", + ): # also available: linemap_positive, linemap_negative getattr(clustering, attr).to_csv(snakemake.output[attr]) cluster_regions((clustering.busmap,), snakemake.input, snakemake.output) diff --git a/scripts/make_summary.py b/scripts/make_summary.py index 4ba01dc9..873a2a8b 100644 --- a/scripts/make_summary.py +++ b/scripts/make_summary.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT @@ -51,23 +52,21 @@ the line volume/cost cap field can be set to one of the following: * ``lcall`` for all line cost caps Replacing '/summaries/' with '/plots/' creates nice colored maps of the results. - """ import logging -from _helpers import configure_logging - import os -import pypsa -import pandas as pd +import pandas as pd +import pypsa +from _helpers import configure_logging from add_electricity import load_costs, update_transmission_costs idx = pd.IndexSlice logger = logging.getLogger(__name__) -opt_name = {"Store": "e", "Line" : "s", "Transformer" : "s"} +opt_name = {"Store": "e", "Line": "s", "Transformer": "s"} def _add_indexed_rows(df, raw_index): @@ -79,105 +78,149 @@ def _add_indexed_rows(df, raw_index): def assign_carriers(n): - if "carrier" not in n.loads: n.loads["carrier"] = "electricity" - for carrier in ["transport","heat","urban heat"]: - n.loads.loc[n.loads.index.str.contains(carrier),"carrier"] = carrier + for carrier in ["transport", "heat", "urban heat"]: + n.loads.loc[n.loads.index.str.contains(carrier), "carrier"] = carrier - n.storage_units['carrier'].replace({'hydro': 'hydro+PHS', 'PHS': 'hydro+PHS'}, inplace=True) + n.storage_units["carrier"].replace( + {"hydro": "hydro+PHS", "PHS": "hydro+PHS"}, inplace=True + ) if "carrier" not in n.lines: n.lines["carrier"] = "AC" n.lines["carrier"].replace({"AC": "lines"}, inplace=True) - if n.links.empty: n.links["carrier"] = pd.Series(dtype=str) + if n.links.empty: + n.links["carrier"] = pd.Series(dtype=str) n.links["carrier"].replace({"DC": "lines"}, inplace=True) - if "EU gas store" in n.stores.index and n.stores.loc["EU gas Store","carrier"] == "": - n.stores.loc["EU gas Store","carrier"] = "gas Store" + if ( + "EU gas store" in n.stores.index + and n.stores.loc["EU gas Store", "carrier"] == "" + ): + n.stores.loc["EU gas Store", "carrier"] = "gas Store" def calculate_costs(n, label, costs): - - for c in n.iterate_components(n.branch_components|n.controllable_one_port_components^{"Load"}): - capital_costs = c.df.capital_cost*c.df[opt_name.get(c.name,"p") + "_nom_opt"] + for c in n.iterate_components( + n.branch_components | n.controllable_one_port_components ^ {"Load"} + ): + capital_costs = c.df.capital_cost * c.df[opt_name.get(c.name, "p") + "_nom_opt"] capital_costs_grouped = capital_costs.groupby(c.df.carrier).sum() # Index tuple(s) indicating the newly to-be-added row(s) - raw_index = tuple([[c.list_name],["capital"],list(capital_costs_grouped.index)]) + raw_index = tuple( + [[c.list_name], ["capital"], list(capital_costs_grouped.index)] + ) costs = _add_indexed_rows(costs, raw_index) - costs.loc[idx[raw_index],label] = capital_costs_grouped.values + costs.loc[idx[raw_index], label] = capital_costs_grouped.values if c.name == "Link": - p = c.pnl.p0.multiply(n.snapshot_weightings.generators,axis=0).sum() + p = c.pnl.p0.multiply(n.snapshot_weightings.generators, axis=0).sum() elif c.name == "Line": continue elif c.name == "StorageUnit": - p_all = c.pnl.p.multiply(n.snapshot_weightings.generators,axis=0) - p_all[p_all < 0.] = 0. + p_all = c.pnl.p.multiply(n.snapshot_weightings.generators, axis=0) + p_all[p_all < 0.0] = 0.0 p = p_all.sum() else: - p = c.pnl.p.multiply(n.snapshot_weightings.generators,axis=0).sum() + p = c.pnl.p.multiply(n.snapshot_weightings.generators, axis=0).sum() - marginal_costs = p*c.df.marginal_cost + marginal_costs = p * c.df.marginal_cost marginal_costs_grouped = marginal_costs.groupby(c.df.carrier).sum() - costs = costs.reindex(costs.index.union(pd.MultiIndex.from_product([[c.list_name],["marginal"],marginal_costs_grouped.index]))) + costs = costs.reindex( + costs.index.union( + pd.MultiIndex.from_product( + [[c.list_name], ["marginal"], marginal_costs_grouped.index] + ) + ) + ) - costs.loc[idx[c.list_name,"marginal",list(marginal_costs_grouped.index)],label] = marginal_costs_grouped.values + costs.loc[ + idx[c.list_name, "marginal", list(marginal_costs_grouped.index)], label + ] = marginal_costs_grouped.values return costs -def calculate_curtailment(n, label, curtailment): - avail = n.generators_t.p_max_pu.multiply(n.generators.p_nom_opt).sum().groupby(n.generators.carrier).sum() +def calculate_curtailment(n, label, curtailment): + avail = ( + n.generators_t.p_max_pu.multiply(n.generators.p_nom_opt) + .sum() + .groupby(n.generators.carrier) + .sum() + ) used = n.generators_t.p.sum().groupby(n.generators.carrier).sum() - curtailment[label] = (((avail - used)/avail)*100).round(3) + curtailment[label] = (((avail - used) / avail) * 100).round(3) return curtailment + def calculate_energy(n, label, energy): + for c in n.iterate_components(n.one_port_components | n.branch_components): - for c in n.iterate_components(n.one_port_components|n.branch_components): - - if c.name in {'Generator', 'Load', 'ShuntImpedance'}: - c_energies = c.pnl.p.multiply(n.snapshot_weightings.generators,axis=0).sum().multiply(c.df.sign).groupby(c.df.carrier).sum() - elif c.name in {'StorageUnit', 'Store'}: - c_energies = c.pnl.p.multiply(n.snapshot_weightings.stores,axis=0).sum().multiply(c.df.sign).groupby(c.df.carrier).sum() + if c.name in {"Generator", "Load", "ShuntImpedance"}: + c_energies = ( + c.pnl.p.multiply(n.snapshot_weightings.generators, axis=0) + .sum() + .multiply(c.df.sign) + .groupby(c.df.carrier) + .sum() + ) + elif c.name in {"StorageUnit", "Store"}: + c_energies = ( + c.pnl.p.multiply(n.snapshot_weightings.stores, axis=0) + .sum() + .multiply(c.df.sign) + .groupby(c.df.carrier) + .sum() + ) else: - c_energies = (-c.pnl.p1.multiply(n.snapshot_weightings.generators,axis=0).sum() - c.pnl.p0.multiply(n.snapshot_weightings.generators,axis=0).sum()).groupby(c.df.carrier).sum() + c_energies = ( + ( + -c.pnl.p1.multiply(n.snapshot_weightings.generators, axis=0).sum() + - c.pnl.p0.multiply(n.snapshot_weightings.generators, axis=0).sum() + ) + .groupby(c.df.carrier) + .sum() + ) energy = include_in_summary(energy, [c.list_name], label, c_energies) return energy -def include_in_summary(summary, multiindexprefix, label, item): +def include_in_summary(summary, multiindexprefix, label, item): # Index tuple(s) indicating the newly to-be-added row(s) - raw_index = tuple([multiindexprefix,list(item.index)]) + raw_index = tuple([multiindexprefix, list(item.index)]) summary = _add_indexed_rows(summary, raw_index) summary.loc[idx[raw_index], label] = item.values return summary -def calculate_capacity(n,label,capacity): +def calculate_capacity(n, label, capacity): for c in n.iterate_components(n.one_port_components): - if 'p_nom_opt' in c.df.columns: - c_capacities = abs(c.df.p_nom_opt.multiply(c.df.sign)).groupby(c.df.carrier).sum() + if "p_nom_opt" in c.df.columns: + c_capacities = ( + abs(c.df.p_nom_opt.multiply(c.df.sign)).groupby(c.df.carrier).sum() + ) capacity = include_in_summary(capacity, [c.list_name], label, c_capacities) - elif 'e_nom_opt' in c.df.columns: - c_capacities = abs(c.df.e_nom_opt.multiply(c.df.sign)).groupby(c.df.carrier).sum() + elif "e_nom_opt" in c.df.columns: + c_capacities = ( + abs(c.df.e_nom_opt.multiply(c.df.sign)).groupby(c.df.carrier).sum() + ) capacity = include_in_summary(capacity, [c.list_name], label, c_capacities) for c in n.iterate_components(n.passive_branch_components): - c_capacities = c.df['s_nom_opt'].groupby(c.df.carrier).sum() + c_capacities = c.df["s_nom_opt"].groupby(c.df.carrier).sum() capacity = include_in_summary(capacity, [c.list_name], label, c_capacities) for c in n.iterate_components(n.controllable_branch_components): @@ -186,8 +229,12 @@ def calculate_capacity(n,label,capacity): return capacity + def calculate_supply(n, label, supply): - """calculate the max dispatch of each component at the buses where the loads are attached""" + """ + calculate the max dispatch of each component at the buses where the loads + are attached. + """ load_types = n.buses.carrier.unique() @@ -195,7 +242,7 @@ def calculate_supply(n, label, supply): buses = n.buses.query("carrier == @i").index - bus_map = pd.Series(False,index=n.buses.index) + bus_map = pd.Series(False, index=n.buses.index) bus_map.loc[buses] = True @@ -206,35 +253,49 @@ def calculate_supply(n, label, supply): if len(items) == 0 or c.pnl.p.empty: continue - s = c.pnl.p[items].max().multiply(c.df.loc[items,'sign']).groupby(c.df.loc[items,'carrier']).sum() + s = ( + c.pnl.p[items] + .max() + .multiply(c.df.loc[items, "sign"]) + .groupby(c.df.loc[items, "carrier"]) + .sum() + ) # Index tuple(s) indicating the newly to-be-added row(s) - raw_index = tuple([[i],[c.list_name],list(s.index)]) + raw_index = tuple([[i], [c.list_name], list(s.index)]) supply = _add_indexed_rows(supply, raw_index) - supply.loc[idx[raw_index],label] = s.values - + supply.loc[idx[raw_index], label] = s.values for c in n.iterate_components(n.branch_components): - for end in ["0","1"]: + for end in ["0", "1"]: items = c.df.index[c.df["bus" + end].map(bus_map)] - if len(items) == 0 or c.pnl["p"+end].empty: + if len(items) == 0 or c.pnl["p" + end].empty: continue - #lots of sign compensation for direction and to do maximums - s = (-1)**(1-int(end))*((-1)**int(end)*c.pnl["p"+end][items]).max().groupby(c.df.loc[items,'carrier']).sum() + # lots of sign compensation for direction and to do maximums + s = (-1) ** (1 - int(end)) * ( + (-1) ** int(end) * c.pnl["p" + end][items] + ).max().groupby(c.df.loc[items, "carrier"]).sum() - supply = supply.reindex(supply.index.union(pd.MultiIndex.from_product([[i],[c.list_name],s.index]))) - supply.loc[idx[i,c.list_name,list(s.index)],label] = s.values + supply = supply.reindex( + supply.index.union( + pd.MultiIndex.from_product([[i], [c.list_name], s.index]) + ) + ) + supply.loc[idx[i, c.list_name, list(s.index)], label] = s.values return supply def calculate_supply_energy(n, label, supply_energy): - """calculate the total dispatch of each component at the buses where the loads are attached""" + """ + calculate the total dispatch of each component at the buses where the loads + are attached. + """ load_types = n.buses.carrier.unique() @@ -242,7 +303,7 @@ def calculate_supply_energy(n, label, supply_energy): buses = n.buses.query("carrier == @i").index - bus_map = pd.Series(False,index=n.buses.index) + bus_map = pd.Series(False, index=n.buses.index) bus_map.loc[buses] = True @@ -253,55 +314,83 @@ def calculate_supply_energy(n, label, supply_energy): if len(items) == 0 or c.pnl.p.empty: continue - s = c.pnl.p[items].sum().multiply(c.df.loc[items,'sign']).groupby(c.df.loc[items,'carrier']).sum() + s = ( + c.pnl.p[items] + .sum() + .multiply(c.df.loc[items, "sign"]) + .groupby(c.df.loc[items, "carrier"]) + .sum() + ) # Index tuple(s) indicating the newly to-be-added row(s) - raw_index = tuple([[i],[c.list_name],list(s.index)]) + raw_index = tuple([[i], [c.list_name], list(s.index)]) supply_energy = _add_indexed_rows(supply_energy, raw_index) - supply_energy.loc[idx[raw_index],label] = s.values - + supply_energy.loc[idx[raw_index], label] = s.values for c in n.iterate_components(n.branch_components): - for end in ["0","1"]: + for end in ["0", "1"]: items = c.df.index[c.df["bus" + end].map(bus_map)] - if len(items) == 0 or c.pnl['p' + end].empty: + if len(items) == 0 or c.pnl["p" + end].empty: continue - s = (-1)*c.pnl["p"+end][items].sum().groupby(c.df.loc[items,'carrier']).sum() + s = (-1) * c.pnl["p" + end][items].sum().groupby( + c.df.loc[items, "carrier"] + ).sum() - supply_energy = supply_energy.reindex(supply_energy.index.union(pd.MultiIndex.from_product([[i],[c.list_name],s.index]))) - supply_energy.loc[idx[i,c.list_name,list(s.index)],label] = s.values + supply_energy = supply_energy.reindex( + supply_energy.index.union( + pd.MultiIndex.from_product([[i], [c.list_name], s.index]) + ) + ) + supply_energy.loc[idx[i, c.list_name, list(s.index)], label] = s.values return supply_energy -def calculate_metrics(n,label,metrics): +def calculate_metrics(n, label, metrics): + metrics = metrics.reindex( + metrics.index.union( + pd.Index( + [ + "line_volume", + "line_volume_limit", + "line_volume_AC", + "line_volume_DC", + "line_volume_shadow", + "co2_shadow", + ] + ) + ) + ) - metrics = metrics.reindex(metrics.index.union(pd.Index(["line_volume","line_volume_limit","line_volume_AC","line_volume_DC","line_volume_shadow","co2_shadow"]))) + metrics.at["line_volume_DC", label] = (n.links.length * n.links.p_nom_opt)[ + n.links.carrier == "DC" + ].sum() + metrics.at["line_volume_AC", label] = (n.lines.length * n.lines.s_nom_opt).sum() + metrics.at["line_volume", label] = metrics.loc[ + ["line_volume_AC", "line_volume_DC"], label + ].sum() - metrics.at["line_volume_DC",label] = (n.links.length*n.links.p_nom_opt)[n.links.carrier == "DC"].sum() - metrics.at["line_volume_AC",label] = (n.lines.length*n.lines.s_nom_opt).sum() - metrics.at["line_volume",label] = metrics.loc[["line_volume_AC","line_volume_DC"],label].sum() + if hasattr(n, "line_volume_limit"): + metrics.at["line_volume_limit", label] = n.line_volume_limit - if hasattr(n,"line_volume_limit"): - metrics.at["line_volume_limit",label] = n.line_volume_limit - - if hasattr(n,"line_volume_limit_dual"): - metrics.at["line_volume_shadow",label] = n.line_volume_limit_dual + if hasattr(n, "line_volume_limit_dual"): + metrics.at["line_volume_shadow", label] = n.line_volume_limit_dual if "CO2Limit" in n.global_constraints.index: - metrics.at["co2_shadow",label] = n.global_constraints.at["CO2Limit","mu"] + metrics.at["co2_shadow", label] = n.global_constraints.at["CO2Limit", "mu"] return metrics -def calculate_prices(n,label,prices): - - bus_type = pd.Series(n.buses.index.str[3:],n.buses.index).replace("","electricity") +def calculate_prices(n, label, prices): + bus_type = pd.Series(n.buses.index.str[3:], n.buses.index).replace( + "", "electricity" + ) prices = prices.reindex(prices.index.union(bus_type.value_counts().index)) @@ -311,19 +400,37 @@ def calculate_prices(n,label,prices): return prices -def calculate_weighted_prices(n,label,weighted_prices): - +def calculate_weighted_prices(n, label, weighted_prices): logger.warning("Weighted prices don't include storage units as loads") - weighted_prices = weighted_prices.reindex(pd.Index(["electricity","heat","space heat","urban heat","space urban heat","gas","H2"])) + weighted_prices = weighted_prices.reindex( + pd.Index( + [ + "electricity", + "heat", + "space heat", + "urban heat", + "space urban heat", + "gas", + "H2", + ] + ) + ) - link_loads = {"electricity" : ["heat pump", "resistive heater", "battery charger", "H2 Electrolysis"], - "heat" : ["water tanks charger"], - "urban heat" : ["water tanks charger"], - "space heat" : [], - "space urban heat" : [], - "gas" : ["OCGT","gas boiler","CHP electric","CHP heat"], - "H2" : ["Sabatier", "H2 Fuel Cell"]} + link_loads = { + "electricity": [ + "heat pump", + "resistive heater", + "battery charger", + "H2 Electrolysis", + ], + "heat": ["water tanks charger"], + "urban heat": ["water tanks charger"], + "space heat": [], + "space urban heat": [], + "gas": ["OCGT", "gas boiler", "CHP electric", "CHP heat"], + "H2": ["Sabatier", "H2 Fuel Cell"], + } for carrier in link_loads: @@ -332,64 +439,77 @@ def calculate_weighted_prices(n,label,weighted_prices): elif carrier[:5] == "space": suffix = carrier[5:] else: - suffix = " " + carrier + suffix = " " + carrier buses = n.buses.index[n.buses.index.str[2:] == suffix] if buses.empty: continue - if carrier in ["H2","gas"]: - load = pd.DataFrame(index=n.snapshots,columns=buses,data=0.) + if carrier in ["H2", "gas"]: + load = pd.DataFrame(index=n.snapshots, columns=buses, data=0.0) elif carrier[:5] == "space": - load = heat_demand_df[buses.str[:2]].rename(columns=lambda i: str(i)+suffix) + load = heat_demand_df[buses.str[:2]].rename( + columns=lambda i: str(i) + suffix + ) else: load = n.loads_t.p_set[buses] - for tech in link_loads[carrier]: - names = n.links.index[n.links.index.to_series().str[-len(tech):] == tech] + names = n.links.index[n.links.index.to_series().str[-len(tech) :] == tech] if names.empty: continue - load += n.links_t.p0[names].groupby(n.links.loc[names,"bus0"],axis=1).sum(axis=1) + load += ( + n.links_t.p0[names] + .groupby(n.links.loc[names, "bus0"], axis=1) + .sum(axis=1) + ) # Add H2 Store when charging if carrier == "H2": - stores = n.stores_t.p[buses+ " Store"].groupby(n.stores.loc[buses+ " Store","bus"],axis=1).sum(axis=1) - stores[stores > 0.] = 0. + stores = ( + n.stores_t.p[buses + " Store"] + .groupby(n.stores.loc[buses + " Store", "bus"], axis=1) + .sum(axis=1) + ) + stores[stores > 0.0] = 0.0 load += -stores - weighted_prices.loc[carrier,label] = (load*n.buses_t.marginal_price[buses]).sum().sum()/load.sum().sum() + weighted_prices.loc[carrier, label] = ( + load * n.buses_t.marginal_price[buses] + ).sum().sum() / load.sum().sum() if carrier[:5] == "space": - print(load*n.buses_t.marginal_price[buses]) + print(load * n.buses_t.marginal_price[buses]) return weighted_prices -outputs = ["costs", - "curtailment", - "energy", - "capacity", - "supply", - "supply_energy", - "prices", - "weighted_prices", - "metrics", - ] +outputs = [ + "costs", + "curtailment", + "energy", + "capacity", + "supply", + "supply_energy", + "prices", + "weighted_prices", + "metrics", +] -def make_summaries(networks_dict, paths, config, country='all'): - - columns = pd.MultiIndex.from_tuples(networks_dict.keys(),names=["simpl","clusters","ll","opts"]) +def make_summaries(networks_dict, paths, config, country="all"): + columns = pd.MultiIndex.from_tuples( + networks_dict.keys(), names=["simpl", "clusters", "ll", "opts"] + ) dfs = {} for output in outputs: - dfs[output] = pd.DataFrame(columns=columns,dtype=float) + dfs[output] = pd.DataFrame(columns=columns, dtype=float) for label, filename in networks_dict.items(): print(label, filename) @@ -403,11 +523,11 @@ def make_summaries(networks_dict, paths, config, country='all'): logger.warning("Skipping {filename}".format(filename=filename)) continue - if country != 'all': + if country != "all": n = n[n.buses.country == country] - Nyears = n.snapshot_weightings.objective.sum() / 8760. - costs = load_costs(paths[0], config['costs'], config['electricity'], Nyears) + Nyears = n.snapshot_weightings.objective.sum() / 8760.0 + costs = load_costs(paths[0], config["costs"], config["electricity"], Nyears) update_transmission_costs(n, costs) assign_carriers(n) @@ -425,13 +545,20 @@ def to_csv(dfs, dir): if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('make_summary', simpl='', - clusters='5', ll='copt', opts='Co2L-24H', country='all') - network_dir = os.path.join('..', 'results', 'networks') + + snakemake = mock_snakemake( + "make_summary", + simpl="", + clusters="5", + ll="copt", + opts="Co2L-24H", + country="all", + ) + network_dir = os.path.join("..", "results", "networks") else: - network_dir = os.path.join('results', 'networks') + network_dir = os.path.join("results", "networks") configure_logging(snakemake) config = snakemake.config @@ -448,14 +575,18 @@ if __name__ == "__main__": else: ll = [wildcards.ll] - networks_dict = {(simpl,clusters,l,opts) : - os.path.join(network_dir, f'elec_s{simpl}_' - f'{clusters}_ec_l{l}_{opts}.nc') - for simpl in expand_from_wildcard("simpl", config) - for clusters in expand_from_wildcard("clusters", config) - for l in ll - for opts in expand_from_wildcard("opts", config)} + networks_dict = { + (simpl, clusters, l, opts): os.path.join( + network_dir, f"elec_s{simpl}_" f"{clusters}_ec_l{l}_{opts}.nc" + ) + for simpl in expand_from_wildcard("simpl", config) + for clusters in expand_from_wildcard("clusters", config) + for l in ll + for opts in expand_from_wildcard("opts", config) + } - dfs = make_summaries(networks_dict, snakemake.input, config, country=wildcards.country) + dfs = make_summaries( + networks_dict, snakemake.input, config, country=wildcards.country + ) to_csv(dfs, snakemake.output[0]) diff --git a/scripts/plot_network.py b/scripts/plot_network.py index 8467c12d..ff4d34cc 100755 --- a/scripts/plot_network.py +++ b/scripts/plot_network.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT @@ -16,20 +17,24 @@ Outputs Description ----------- - """ import logging -from _helpers import (load_network_for_plots, aggregate_p, aggregate_costs, configure_logging) - -import pandas as pd -import numpy as np import cartopy.crs as ccrs -import matplotlib.pyplot as plt import matplotlib as mpl -from matplotlib.patches import Circle, Ellipse +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd +from _helpers import ( + aggregate_costs, + aggregate_p, + configure_logging, + load_network_for_plots, +) from matplotlib.legend_handler import HandlerPatch +from matplotlib.patches import Circle, Ellipse + to_rgba = mpl.colors.colorConverter.to_rgba logger = logging.getLogger(__name__) @@ -37,240 +42,352 @@ logger = logging.getLogger(__name__) def make_handler_map_to_scale_circles_as_in(ax, dont_resize_actively=False): fig = ax.get_figure() + def axes2pt(): - return np.diff(ax.transData.transform([(0,0), (1,1)]), axis=0)[0] * (72./fig.dpi) + return np.diff(ax.transData.transform([(0, 0), (1, 1)]), axis=0)[0] * ( + 72.0 / fig.dpi + ) ellipses = [] if not dont_resize_actively: + def update_width_height(event): dist = axes2pt() - for e, radius in ellipses: e.width, e.height = 2. * radius * dist - fig.canvas.mpl_connect('resize_event', update_width_height) - ax.callbacks.connect('xlim_changed', update_width_height) - ax.callbacks.connect('ylim_changed', update_width_height) + for e, radius in ellipses: + e.width, e.height = 2.0 * radius * dist - def legend_circle_handler(legend, orig_handle, xdescent, ydescent, - width, height, fontsize): - w, h = 2. * orig_handle.get_radius() * axes2pt() - e = Ellipse(xy=(0.5*width-0.5*xdescent, 0.5*height-0.5*ydescent), width=w, height=w) + fig.canvas.mpl_connect("resize_event", update_width_height) + ax.callbacks.connect("xlim_changed", update_width_height) + ax.callbacks.connect("ylim_changed", update_width_height) + + def legend_circle_handler( + legend, orig_handle, xdescent, ydescent, width, height, fontsize + ): + w, h = 2.0 * orig_handle.get_radius() * axes2pt() + e = Ellipse( + xy=(0.5 * width - 0.5 * xdescent, 0.5 * height - 0.5 * ydescent), + width=w, + height=w, + ) ellipses.append((e, orig_handle.get_radius())) return e + return {Circle: HandlerPatch(patch_func=legend_circle_handler)} def make_legend_circles_for(sizes, scale=1.0, **kw): - return [Circle((0,0), radius=(s/scale)**0.5, **kw) for s in sizes] + return [Circle((0, 0), radius=(s / scale) ** 0.5, **kw) for s in sizes] def set_plot_style(): - plt.style.use(['classic', 'seaborn-white', - {'axes.grid': False, 'grid.linestyle': '--', 'grid.color': u'0.6', - 'hatch.color': 'white', - 'patch.linewidth': 0.5, - 'font.size': 12, - 'legend.fontsize': 'medium', - 'lines.linewidth': 1.5, - 'pdf.fonttype': 42, - }]) + plt.style.use( + [ + "classic", + "seaborn-white", + { + "axes.grid": False, + "grid.linestyle": "--", + "grid.color": "0.6", + "hatch.color": "white", + "patch.linewidth": 0.5, + "font.size": 12, + "legend.fontsize": "medium", + "lines.linewidth": 1.5, + "pdf.fonttype": 42, + }, + ] + ) -def plot_map(n, opts, ax=None, attribute='p_nom'): +def plot_map(n, opts, ax=None, attribute="p_nom"): if ax is None: ax = plt.gca() ## DATA - line_colors = {'cur': "purple", - 'exp': mpl.colors.rgb2hex(to_rgba("red", 0.7), True)} - tech_colors = opts['tech_colors'] + line_colors = { + "cur": "purple", + "exp": mpl.colors.rgb2hex(to_rgba("red", 0.7), True), + } + tech_colors = opts["tech_colors"] - if attribute == 'p_nom': + if attribute == "p_nom": # bus_sizes = n.generators_t.p.sum().loc[n.generators.carrier == "load"].groupby(n.generators.bus).sum() - bus_sizes = pd.concat((n.generators.query('carrier != "load"').groupby(['bus', 'carrier']).p_nom_opt.sum(), - n.storage_units.groupby(['bus', 'carrier']).p_nom_opt.sum())) + bus_sizes = pd.concat( + ( + n.generators.query('carrier != "load"') + .groupby(["bus", "carrier"]) + .p_nom_opt.sum(), + n.storage_units.groupby(["bus", "carrier"]).p_nom_opt.sum(), + ) + ) line_widths_exp = n.lines.s_nom_opt line_widths_cur = n.lines.s_nom_min link_widths_exp = n.links.p_nom_opt link_widths_cur = n.links.p_nom_min else: - raise 'plotting of {} has not been implemented yet'.format(attribute) + raise "plotting of {} has not been implemented yet".format(attribute) - - line_colors_with_alpha = \ - ((line_widths_cur / n.lines.s_nom > 1e-3) - .map({True: line_colors['cur'], False: to_rgba(line_colors['cur'], 0.)})) - link_colors_with_alpha = \ - ((link_widths_cur / n.links.p_nom > 1e-3) - .map({True: line_colors['cur'], False: to_rgba(line_colors['cur'], 0.)})) - + line_colors_with_alpha = (line_widths_cur / n.lines.s_nom > 1e-3).map( + {True: line_colors["cur"], False: to_rgba(line_colors["cur"], 0.0)} + ) + link_colors_with_alpha = (link_widths_cur / n.links.p_nom > 1e-3).map( + {True: line_colors["cur"], False: to_rgba(line_colors["cur"], 0.0)} + ) ## FORMAT - linewidth_factor = opts['map'][attribute]['linewidth_factor'] - bus_size_factor = opts['map'][attribute]['bus_size_factor'] + linewidth_factor = opts["map"][attribute]["linewidth_factor"] + bus_size_factor = opts["map"][attribute]["bus_size_factor"] ## PLOT - n.plot(line_widths=line_widths_exp/linewidth_factor, - link_widths=link_widths_exp/linewidth_factor, - line_colors=line_colors['exp'], - link_colors=line_colors['exp'], - bus_sizes=bus_sizes/bus_size_factor, - bus_colors=tech_colors, - boundaries=map_boundaries, - color_geomap=True, geomap=True, - ax=ax) - n.plot(line_widths=line_widths_cur/linewidth_factor, - link_widths=link_widths_cur/linewidth_factor, - line_colors=line_colors_with_alpha, - link_colors=link_colors_with_alpha, - bus_sizes=0, - boundaries=map_boundaries, - color_geomap=True, geomap=True, - ax=ax) - ax.set_aspect('equal') - ax.axis('off') + n.plot( + line_widths=line_widths_exp / linewidth_factor, + link_widths=link_widths_exp / linewidth_factor, + line_colors=line_colors["exp"], + link_colors=line_colors["exp"], + bus_sizes=bus_sizes / bus_size_factor, + bus_colors=tech_colors, + boundaries=map_boundaries, + color_geomap=True, + geomap=True, + ax=ax, + ) + n.plot( + line_widths=line_widths_cur / linewidth_factor, + link_widths=link_widths_cur / linewidth_factor, + line_colors=line_colors_with_alpha, + link_colors=link_colors_with_alpha, + bus_sizes=0, + boundaries=map_boundaries, + color_geomap=True, + geomap=True, + ax=ax, + ) + ax.set_aspect("equal") + ax.axis("off") # Rasterize basemap # TODO : Check if this also works with cartopy - for c in ax.collections[:2]: c.set_rasterized(True) + for c in ax.collections[:2]: + c.set_rasterized(True) # LEGEND handles = [] labels = [] for s in (10, 1): - handles.append(plt.Line2D([0],[0],color=line_colors['exp'], - linewidth=s*1e3/linewidth_factor)) + handles.append( + plt.Line2D( + [0], [0], color=line_colors["exp"], linewidth=s * 1e3 / linewidth_factor + ) + ) labels.append("{} GW".format(s)) - l1_1 = ax.legend(handles, labels, - loc="upper left", bbox_to_anchor=(0.24, 1.01), - frameon=False, - labelspacing=0.8, handletextpad=1.5, - title='Transmission Exp./Exist. ') + l1_1 = ax.legend( + handles, + labels, + loc="upper left", + bbox_to_anchor=(0.24, 1.01), + frameon=False, + labelspacing=0.8, + handletextpad=1.5, + title="Transmission Exp./Exist. ", + ) ax.add_artist(l1_1) handles = [] labels = [] for s in (10, 5): - handles.append(plt.Line2D([0],[0],color=line_colors['cur'], - linewidth=s*1e3/linewidth_factor)) + handles.append( + plt.Line2D( + [0], [0], color=line_colors["cur"], linewidth=s * 1e3 / linewidth_factor + ) + ) labels.append("/") - l1_2 = ax.legend(handles, labels, - loc="upper left", bbox_to_anchor=(0.26, 1.01), - frameon=False, - labelspacing=0.8, handletextpad=0.5, - title=' ') + l1_2 = ax.legend( + handles, + labels, + loc="upper left", + bbox_to_anchor=(0.26, 1.01), + frameon=False, + labelspacing=0.8, + handletextpad=0.5, + title=" ", + ) ax.add_artist(l1_2) - handles = make_legend_circles_for([10e3, 5e3, 1e3], scale=bus_size_factor, facecolor="w") + handles = make_legend_circles_for( + [10e3, 5e3, 1e3], scale=bus_size_factor, facecolor="w" + ) labels = ["{} GW".format(s) for s in (10, 5, 3)] - l2 = ax.legend(handles, labels, - loc="upper left", bbox_to_anchor=(0.01, 1.01), - frameon=False, labelspacing=1.0, - title='Generation', - handler_map=make_handler_map_to_scale_circles_as_in(ax)) + l2 = ax.legend( + handles, + labels, + loc="upper left", + bbox_to_anchor=(0.01, 1.01), + frameon=False, + labelspacing=1.0, + title="Generation", + handler_map=make_handler_map_to_scale_circles_as_in(ax), + ) ax.add_artist(l2) - techs = (bus_sizes.index.levels[1]).intersection(pd.Index(opts['vre_techs'] + opts['conv_techs'] + opts['storage_techs'])) + techs = (bus_sizes.index.levels[1]).intersection( + pd.Index(opts["vre_techs"] + opts["conv_techs"] + opts["storage_techs"]) + ) handles = [] labels = [] for t in techs: - handles.append(plt.Line2D([0], [0], color=tech_colors[t], marker='o', markersize=8, linewidth=0)) - labels.append(opts['nice_names'].get(t, t)) - l3 = ax.legend(handles, labels, loc="upper center", bbox_to_anchor=(0.5, -0.), # bbox_to_anchor=(0.72, -0.05), - handletextpad=0., columnspacing=0.5, ncol=4, title='Technology') + handles.append( + plt.Line2D( + [0], [0], color=tech_colors[t], marker="o", markersize=8, linewidth=0 + ) + ) + labels.append(opts["nice_names"].get(t, t)) + l3 = ax.legend( + handles, + labels, + loc="upper center", + bbox_to_anchor=(0.5, -0.0), # bbox_to_anchor=(0.72, -0.05), + handletextpad=0.0, + columnspacing=0.5, + ncol=4, + title="Technology", + ) return fig def plot_total_energy_pie(n, opts, ax=None): - if ax is None: ax = plt.gca() + if ax is None: + ax = plt.gca() - ax.set_title('Energy per technology', fontdict=dict(fontsize="medium")) + ax.set_title("Energy per technology", fontdict=dict(fontsize="medium")) - e_primary = aggregate_p(n).drop('load', errors='ignore').loc[lambda s: s>0] + e_primary = aggregate_p(n).drop("load", errors="ignore").loc[lambda s: s > 0] - patches, texts, autotexts = ax.pie(e_primary, + patches, texts, autotexts = ax.pie( + e_primary, startangle=90, - labels = e_primary.rename(opts['nice_names']).index, - autopct='%.0f%%', + labels=e_primary.rename(opts["nice_names"]).index, + autopct="%.0f%%", shadow=False, - colors = [opts['tech_colors'][tech] for tech in e_primary.index]) + colors=[opts["tech_colors"][tech] for tech in e_primary.index], + ) for t1, t2, i in zip(texts, autotexts, e_primary.index): if e_primary.at[i] < 0.04 * e_primary.sum(): t1.remove() t2.remove() + def plot_total_cost_bar(n, opts, ax=None): - if ax is None: ax = plt.gca() + if ax is None: + ax = plt.gca() total_load = (n.snapshot_weightings.generators * n.loads_t.p.sum(axis=1)).sum() - tech_colors = opts['tech_colors'] + tech_colors = opts["tech_colors"] def split_costs(n): costs = aggregate_costs(n).reset_index(level=0, drop=True) - costs_ex = aggregate_costs(n, existing_only=True).reset_index(level=0, drop=True) - return (costs['capital'].add(costs['marginal'], fill_value=0.), - costs_ex['capital'], costs['capital'] - costs_ex['capital'], costs['marginal']) + costs_ex = aggregate_costs(n, existing_only=True).reset_index( + level=0, drop=True + ) + return ( + costs["capital"].add(costs["marginal"], fill_value=0.0), + costs_ex["capital"], + costs["capital"] - costs_ex["capital"], + costs["marginal"], + ) costs, costs_cap_ex, costs_cap_new, costs_marg = split_costs(n) - costs_graph = pd.DataFrame(dict(a=costs.drop('load', errors='ignore')), - index=['AC-AC', 'AC line', 'onwind', 'offwind-ac', - 'offwind-dc', 'solar', 'OCGT','CCGT', 'battery', 'H2']).dropna() - bottom = np.array([0., 0.]) + costs_graph = pd.DataFrame( + dict(a=costs.drop("load", errors="ignore")), + index=[ + "AC-AC", + "AC line", + "onwind", + "offwind-ac", + "offwind-dc", + "solar", + "OCGT", + "CCGT", + "battery", + "H2", + ], + ).dropna() + bottom = np.array([0.0, 0.0]) texts = [] - for i,ind in enumerate(costs_graph.index): - data = np.asarray(costs_graph.loc[ind])/total_load - ax.bar([0.5], data, bottom=bottom, color=tech_colors[ind], - width=0.7, zorder=-1) + for i, ind in enumerate(costs_graph.index): + data = np.asarray(costs_graph.loc[ind]) / total_load + ax.bar([0.5], data, bottom=bottom, color=tech_colors[ind], width=0.7, zorder=-1) bottom_sub = bottom - bottom = bottom+data + bottom = bottom + data - if ind in opts['conv_techs'] + ['AC line']: + if ind in opts["conv_techs"] + ["AC line"]: for c in [costs_cap_ex, costs_marg]: if ind in c: - data_sub = np.asarray([c.loc[ind]])/total_load - ax.bar([0.5], data_sub, linewidth=0, - bottom=bottom_sub, color=tech_colors[ind], - width=0.7, zorder=-1, alpha=0.8) + data_sub = np.asarray([c.loc[ind]]) / total_load + ax.bar( + [0.5], + data_sub, + linewidth=0, + bottom=bottom_sub, + color=tech_colors[ind], + width=0.7, + zorder=-1, + alpha=0.8, + ) bottom_sub += data_sub if abs(data[-1]) < 5: continue - text = ax.text(1.1,(bottom-0.5*data)[-1]-3,opts['nice_names'].get(ind,ind)) + text = ax.text( + 1.1, (bottom - 0.5 * data)[-1] - 3, opts["nice_names"].get(ind, ind) + ) texts.append(text) ax.set_ylabel("Average system cost [Eur/MWh]") - ax.set_ylim([0, opts.get('costs_max', 80)]) + ax.set_ylim([0, opts.get("costs_max", 80)]) ax.set_xlim([0, 1]) ax.set_xticklabels([]) - ax.grid(True, axis="y", color='k', linestyle='dotted') + ax.grid(True, axis="y", color="k", linestyle="dotted") if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('plot_network', simpl='', - clusters='5', ll='copt', opts='Co2L-24H', - attr='p_nom', ext="pdf") + + snakemake = mock_snakemake( + "plot_network", + simpl="", + clusters="5", + ll="copt", + opts="Co2L-24H", + attr="p_nom", + ext="pdf", + ) configure_logging(snakemake) set_plot_style() config, wildcards = snakemake.config, snakemake.wildcards - map_figsize = config["plotting"]['map']['figsize'] - map_boundaries = config["plotting"]['map']['boundaries'] + map_figsize = config["plotting"]["map"]["figsize"] + map_boundaries = config["plotting"]["map"]["boundaries"] - n = load_network_for_plots(snakemake.input.network, snakemake.input.tech_costs, config) + n = load_network_for_plots( + snakemake.input.network, snakemake.input.tech_costs, config + ) - scenario_opts = wildcards.opts.split('-') + scenario_opts = wildcards.opts.split("-") - fig, ax = plt.subplots(figsize=map_figsize, subplot_kw={"projection": ccrs.PlateCarree()}) + fig, ax = plt.subplots( + figsize=map_figsize, subplot_kw={"projection": ccrs.PlateCarree()} + ) plot_map(n, config["plotting"], ax=ax, attribute=wildcards.attr) - fig.savefig(snakemake.output.only_map, dpi=150, bbox_inches='tight') + fig.savefig(snakemake.output.only_map, dpi=150, bbox_inches="tight") ax1 = fig.add_axes([-0.115, 0.625, 0.2, 0.2]) plot_total_energy_pie(n, config["plotting"], ax=ax1) @@ -281,9 +398,12 @@ if __name__ == "__main__": ll = wildcards.ll ll_type = ll[0] ll_factor = ll[1:] - lbl = dict(c='line cost', v='line volume')[ll_type] - amnt = '{ll} x today\'s'.format(ll=ll_factor) if ll_factor != 'opt' else 'optimal' - fig.suptitle('Expansion to {amount} {label} at {clusters} clusters' - .format(amount=amnt, label=lbl, clusters=wildcards.clusters)) + lbl = dict(c="line cost", v="line volume")[ll_type] + amnt = "{ll} x today's".format(ll=ll_factor) if ll_factor != "opt" else "optimal" + fig.suptitle( + "Expansion to {amount} {label} at {clusters} clusters".format( + amount=amnt, label=lbl, clusters=wildcards.clusters + ) + ) - fig.savefig(snakemake.output.ext, transparent=True, bbox_inches='tight') + fig.savefig(snakemake.output.ext, transparent=True, bbox_inches="tight") diff --git a/scripts/plot_p_nom_max.py b/scripts/plot_p_nom_max.py index ae831c24..4577401d 100644 --- a/scripts/plot_p_nom_max.py +++ b/scripts/plot_p_nom_max.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT @@ -16,14 +17,13 @@ Outputs Description ----------- - """ import logging -from _helpers import configure_logging -import pypsa -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd +import pypsa +from _helpers import configure_logging logger = logging.getLogger(__name__) @@ -31,11 +31,13 @@ logger = logging.getLogger(__name__) def cum_p_nom_max(net, tech, country=None): carrier_b = net.generators.carrier == tech - generators = pd.DataFrame(dict( - p_nom_max=net.generators.loc[carrier_b, 'p_nom_max'], - p_max_pu=net.generators_t.p_max_pu.loc[:,carrier_b].mean(), - country=net.generators.loc[carrier_b, 'bus'].map(net.buses.country) - )).sort_values("p_max_pu", ascending=False) + generators = pd.DataFrame( + dict( + p_nom_max=net.generators.loc[carrier_b, "p_nom_max"], + p_max_pu=net.generators_t.p_max_pu.loc[:, carrier_b].mean(), + country=net.generators.loc[carrier_b, "bus"].map(net.buses.country), + ) + ).sort_values("p_max_pu", ascending=False) if country is not None: generators = generators.loc[generators.country == country] @@ -46,22 +48,28 @@ def cum_p_nom_max(net, tech, country=None): if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('plot_p_nom_max', simpl='', - techs='solar,onwind,offwind-dc', ext='png', - clusts= '5,full', country= 'all') + + snakemake = mock_snakemake( + "plot_p_nom_max", + simpl="", + techs="solar,onwind,offwind-dc", + ext="png", + clusts="5,full", + country="all", + ) configure_logging(snakemake) plot_kwds = dict(drawstyle="steps-post") - clusters = snakemake.wildcards.clusts.split(',') - techs = snakemake.wildcards.techs.split(',') + clusters = snakemake.wildcards.clusts.split(",") + techs = snakemake.wildcards.techs.split(",") country = snakemake.wildcards.country - if country == 'all': + if country == "all": country = None else: - plot_kwds['marker'] = 'x' + plot_kwds["marker"] = "x" fig, axes = plt.subplots(1, len(techs)) @@ -69,8 +77,9 @@ if __name__ == "__main__": net = pypsa.Network(snakemake.input[j]) for i, tech in enumerate(techs): - cum_p_nom_max(net, tech, country).plot(x="p_max_pu", y="cum_p_nom_max", - label=cluster, ax=axes[i], **plot_kwds) + cum_p_nom_max(net, tech, country).plot( + x="p_max_pu", y="cum_p_nom_max", label=cluster, ax=axes[i], **plot_kwds + ) for i, tech in enumerate(techs): ax = axes[i] @@ -79,4 +88,4 @@ if __name__ == "__main__": plt.legend(title="Cluster level") - fig.savefig(snakemake.output[0], transparent=True, bbox_inches='tight') + fig.savefig(snakemake.output[0], transparent=True, bbox_inches="tight") diff --git a/scripts/plot_summary.py b/scripts/plot_summary.py index 219ef2b8..c48571ba 100644 --- a/scripts/plot_summary.py +++ b/scripts/plot_summary.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT @@ -16,15 +17,14 @@ Outputs Description ----------- - """ -import os import logging -from _helpers import configure_logging +import os -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd +from _helpers import configure_logging logger = logging.getLogger(__name__) @@ -52,22 +52,37 @@ def rename_techs(label): return label -preferred_order = pd.Index(["transmission lines","hydroelectricity","hydro reservoir","run of river","pumped hydro storage","onshore wind","offshore wind ac", "offshore wind dc","solar PV","solar thermal","OCGT","hydrogen storage","battery storage"]) +preferred_order = pd.Index( + [ + "transmission lines", + "hydroelectricity", + "hydro reservoir", + "run of river", + "pumped hydro storage", + "onshore wind", + "offshore wind ac", + "offshore wind dc", + "solar PV", + "solar thermal", + "OCGT", + "hydrogen storage", + "battery storage", + ] +) def plot_costs(infn, config, fn=None): - ## For now ignore the simpl header - cost_df = pd.read_csv(infn,index_col=list(range(3)),header=[1,2,3]) + cost_df = pd.read_csv(infn, index_col=list(range(3)), header=[1, 2, 3]) df = cost_df.groupby(cost_df.index.get_level_values(2)).sum() - #convert to billions - df = df/1e9 + # convert to billions + df = df / 1e9 df = df.groupby(df.index.map(rename_techs)).sum() - to_drop = df.index[df.max(axis=1) < config['plotting']['costs_threshold']] + to_drop = df.index[df.max(axis=1) < config["plotting"]["costs_threshold"]] print("dropping") @@ -77,22 +92,28 @@ def plot_costs(infn, config, fn=None): print(df.sum()) - new_index = (preferred_order&df.index).append(df.index.difference(preferred_order)) + new_index = (preferred_order & df.index).append( + df.index.difference(preferred_order) + ) new_columns = df.sum().sort_values().index fig, ax = plt.subplots() - fig.set_size_inches((12,8)) + fig.set_size_inches((12, 8)) - df.loc[new_index,new_columns].T.plot(kind="bar",ax=ax,stacked=True,color=[config['plotting']['tech_colors'][i] for i in new_index]) + df.loc[new_index, new_columns].T.plot( + kind="bar", + ax=ax, + stacked=True, + color=[config["plotting"]["tech_colors"][i] for i in new_index], + ) - - handles,labels = ax.get_legend_handles_labels() + handles, labels = ax.get_legend_handles_labels() handles.reverse() labels.reverse() - ax.set_ylim([0,config['plotting']['costs_max']]) + ax.set_ylim([0, config["plotting"]["costs_max"]]) ax.set_ylabel("System Cost [EUR billion per year]") @@ -100,8 +121,7 @@ def plot_costs(infn, config, fn=None): ax.grid(axis="y") - ax.legend(handles,labels,ncol=4,loc="upper left") - + ax.legend(handles, labels, ncol=4, loc="upper left") fig.tight_layout() @@ -110,17 +130,16 @@ def plot_costs(infn, config, fn=None): def plot_energy(infn, config, fn=None): - - energy_df = pd.read_csv(infn, index_col=list(range(2)),header=[1,2,3]) + energy_df = pd.read_csv(infn, index_col=list(range(2)), header=[1, 2, 3]) df = energy_df.groupby(energy_df.index.get_level_values(1)).sum() - #convert MWh to TWh - df = df/1e6 + # convert MWh to TWh + df = df / 1e6 df = df.groupby(df.index.map(rename_techs)).sum() - to_drop = df.index[df.abs().max(axis=1) < config['plotting']['energy_threshold']] + to_drop = df.index[df.abs().max(axis=1) < config["plotting"]["energy_threshold"]] print("dropping") @@ -130,22 +149,28 @@ def plot_energy(infn, config, fn=None): print(df.sum()) - new_index = (preferred_order&df.index).append(df.index.difference(preferred_order)) + new_index = (preferred_order & df.index).append( + df.index.difference(preferred_order) + ) new_columns = df.columns.sort_values() fig, ax = plt.subplots() - fig.set_size_inches((12,8)) + fig.set_size_inches((12, 8)) - df.loc[new_index,new_columns].T.plot(kind="bar",ax=ax,stacked=True,color=[config['plotting']['tech_colors'][i] for i in new_index]) + df.loc[new_index, new_columns].T.plot( + kind="bar", + ax=ax, + stacked=True, + color=[config["plotting"]["tech_colors"][i] for i in new_index], + ) - - handles,labels = ax.get_legend_handles_labels() + handles, labels = ax.get_legend_handles_labels() handles.reverse() labels.reverse() - ax.set_ylim([config['plotting']['energy_min'], config['plotting']['energy_max']]) + ax.set_ylim([config["plotting"]["energy_min"], config["plotting"]["energy_max"]]) ax.set_ylabel("Energy [TWh/a]") @@ -153,8 +178,7 @@ def plot_energy(infn, config, fn=None): ax.grid(axis="y") - ax.legend(handles,labels,ncol=4,loc="upper left") - + ax.legend(handles, labels, ncol=4, loc="upper left") fig.tight_layout() @@ -163,11 +187,20 @@ def plot_energy(infn, config, fn=None): if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('plot_summary', summary='energy', - simpl='', clusters=5, ll='copt', opts='Co2L-24H', - attr='', ext='png', country='all') + + snakemake = mock_snakemake( + "plot_summary", + summary="energy", + simpl="", + clusters=5, + ll="copt", + opts="Co2L-24H", + attr="", + ext="png", + country="all", + ) configure_logging(snakemake) config = snakemake.config @@ -178,4 +211,6 @@ if __name__ == "__main__": except KeyError: raise RuntimeError(f"plotting function for {summary} has not been defined") - func(os.path.join(snakemake.input[0], f"{summary}.csv"), config, snakemake.output[0]) + func( + os.path.join(snakemake.input[0], f"{summary}.csv"), config, snakemake.output[0] + ) diff --git a/scripts/prepare_links_p_nom.py b/scripts/prepare_links_p_nom.py index 13a8c237..2e4f0130 100644 --- a/scripts/prepare_links_p_nom.py +++ b/scripts/prepare_links_p_nom.py @@ -1,11 +1,13 @@ #!/usr/bin/env python +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ -Extracts capacities of HVDC links from `Wikipedia `_. +Extracts capacities of HVDC links from `Wikipedia +`_. Relevant Settings ----------------- @@ -33,13 +35,12 @@ Description ----------- *None* - """ import logging -from _helpers import configure_logging import pandas as pd +from _helpers import configure_logging logger = logging.getLogger(__name__) @@ -49,29 +50,45 @@ def multiply(s): def extract_coordinates(s): - regex = (r"(\d{1,2})°(\d{1,2})′(\d{1,2})″(N|S) " - r"(\d{1,2})°(\d{1,2})′(\d{1,2})″(E|W)") + regex = ( + r"(\d{1,2})°(\d{1,2})′(\d{1,2})″(N|S) " r"(\d{1,2})°(\d{1,2})′(\d{1,2})″(E|W)" + ) e = s.str.extract(regex, expand=True) - lat = (e[0].astype(float) + (e[1].astype(float) + e[2].astype(float)/60.)/60.)*e[3].map({'N': +1., 'S': -1.}) - lon = (e[4].astype(float) + (e[5].astype(float) + e[6].astype(float)/60.)/60.)*e[7].map({'E': +1., 'W': -1.}) + lat = ( + e[0].astype(float) + (e[1].astype(float) + e[2].astype(float) / 60.0) / 60.0 + ) * e[3].map({"N": +1.0, "S": -1.0}) + lon = ( + e[4].astype(float) + (e[5].astype(float) + e[6].astype(float) / 60.0) / 60.0 + ) * e[7].map({"E": +1.0, "W": -1.0}) return lon, lat if __name__ == "__main__": - if 'snakemake' not in globals(): - from _helpers import mock_snakemake #rule must be enabled in config - snakemake = mock_snakemake('prepare_links_p_nom', simpl='') + if "snakemake" not in globals(): + from _helpers import mock_snakemake # rule must be enabled in config + + snakemake = mock_snakemake("prepare_links_p_nom", simpl="") configure_logging(snakemake) - links_p_nom = pd.read_html('https://en.wikipedia.org/wiki/List_of_HVDC_projects', header=0, match="SwePol")[0] + links_p_nom = pd.read_html( + "https://en.wikipedia.org/wiki/List_of_HVDC_projects", header=0, match="SwePol" + )[0] mw = "Power (MW)" - m_b = links_p_nom[mw].str.contains('x').fillna(False) + m_b = links_p_nom[mw].str.contains("x").fillna(False) - links_p_nom.loc[m_b, mw] = links_p_nom.loc[m_b, mw].str.split('x').pipe(multiply) - links_p_nom[mw] = links_p_nom[mw].str.extract("[-/]?([\d.]+)", expand=False).astype(float) + links_p_nom.loc[m_b, mw] = links_p_nom.loc[m_b, mw].str.split("x").pipe(multiply) + links_p_nom[mw] = ( + links_p_nom[mw].str.extract("[-/]?([\d.]+)", expand=False).astype(float) + ) - links_p_nom['x1'], links_p_nom['y1'] = extract_coordinates(links_p_nom['Converterstation 1']) - links_p_nom['x2'], links_p_nom['y2'] = extract_coordinates(links_p_nom['Converterstation 2']) + links_p_nom["x1"], links_p_nom["y1"] = extract_coordinates( + links_p_nom["Converterstation 1"] + ) + links_p_nom["x2"], links_p_nom["y2"] = extract_coordinates( + links_p_nom["Converterstation 2"] + ) - links_p_nom.dropna(subset=['x1', 'y1', 'x2', 'y2']).to_csv(snakemake.output[0], index=False) + links_p_nom.dropna(subset=["x1", "y1", "x2", "y2"]).to_csv( + snakemake.output[0], index=False + ) diff --git a/scripts/prepare_network.py b/scripts/prepare_network.py index eac1bee5..645f8c34 100755 --- a/scripts/prepare_network.py +++ b/scripts/prepare_network.py @@ -1,10 +1,12 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT # coding: utf-8 """ -Prepare PyPSA network for solving according to :ref:`opts` and :ref:`ll`, such as +Prepare PyPSA network for solving according to :ref:`opts` and :ref:`ll`, such +as. - adding an annual **limit** of carbon-dioxide emissions, - adding an exogenous **price** per tonne emissions of carbon-dioxide (or other kinds), @@ -53,17 +55,15 @@ Description The rule :mod:`prepare_all_networks` runs for all ``scenario`` s in the configuration file the rule :mod:`prepare_network`. - """ import logging -from _helpers import configure_logging - import re -import pypsa + import numpy as np import pandas as pd - +import pypsa +from _helpers import configure_logging from add_electricity import load_costs, update_transmission_costs idx = pd.IndexSlice @@ -71,65 +71,84 @@ idx = pd.IndexSlice logger = logging.getLogger(__name__) -def add_co2limit(n, co2limit, Nyears=1.): - - n.add("GlobalConstraint", "CO2Limit", - carrier_attribute="co2_emissions", sense="<=", - constant=co2limit * Nyears) +def add_co2limit(n, co2limit, Nyears=1.0): + n.add( + "GlobalConstraint", + "CO2Limit", + carrier_attribute="co2_emissions", + sense="<=", + constant=co2limit * Nyears, + ) -def add_gaslimit(n, gaslimit, Nyears=1.): - +def add_gaslimit(n, gaslimit, Nyears=1.0): sel = n.carriers.index.intersection(["OCGT", "CCGT", "CHP"]) - n.carriers.loc[sel, "gas_usage"] = 1. + n.carriers.loc[sel, "gas_usage"] = 1.0 - n.add("GlobalConstraint", "GasLimit", - carrier_attribute="gas_usage", sense="<=", - constant=gaslimit * Nyears) + n.add( + "GlobalConstraint", + "GasLimit", + carrier_attribute="gas_usage", + sense="<=", + constant=gaslimit * Nyears, + ) -def add_emission_prices(n, emission_prices={'co2': 0.}, exclude_co2=False): - if exclude_co2: emission_prices.pop('co2') - ep = (pd.Series(emission_prices).rename(lambda x: x+'_emissions') * - n.carriers.filter(like='_emissions')).sum(axis=1) +def add_emission_prices(n, emission_prices={"co2": 0.0}, exclude_co2=False): + if exclude_co2: + emission_prices.pop("co2") + ep = ( + pd.Series(emission_prices).rename(lambda x: x + "_emissions") + * n.carriers.filter(like="_emissions") + ).sum(axis=1) gen_ep = n.generators.carrier.map(ep) / n.generators.efficiency - n.generators['marginal_cost'] += gen_ep + n.generators["marginal_cost"] += gen_ep su_ep = n.storage_units.carrier.map(ep) / n.storage_units.efficiency_dispatch - n.storage_units['marginal_cost'] += su_ep + n.storage_units["marginal_cost"] += su_ep -def set_line_s_max_pu(n, s_max_pu = 0.7): - n.lines['s_max_pu'] = s_max_pu +def set_line_s_max_pu(n, s_max_pu=0.7): + n.lines["s_max_pu"] = s_max_pu logger.info(f"N-1 security margin of lines set to {s_max_pu}") def set_transmission_limit(n, ll_type, factor, costs, Nyears=1): - links_dc_b = n.links.carrier == 'DC' if not n.links.empty else pd.Series() + links_dc_b = n.links.carrier == "DC" if not n.links.empty else pd.Series() - _lines_s_nom = (np.sqrt(3) * n.lines.type.map(n.line_types.i_nom) * - n.lines.num_parallel * n.lines.bus0.map(n.buses.v_nom)) - lines_s_nom = n.lines.s_nom.where(n.lines.type == '', _lines_s_nom) + _lines_s_nom = ( + np.sqrt(3) + * n.lines.type.map(n.line_types.i_nom) + * n.lines.num_parallel + * n.lines.bus0.map(n.buses.v_nom) + ) + lines_s_nom = n.lines.s_nom.where(n.lines.type == "", _lines_s_nom) - - col = 'capital_cost' if ll_type == 'c' else 'length' - ref = (lines_s_nom @ n.lines[col] + - n.links.loc[links_dc_b, "p_nom"] @ n.links.loc[links_dc_b, col]) + col = "capital_cost" if ll_type == "c" else "length" + ref = ( + lines_s_nom @ n.lines[col] + + n.links.loc[links_dc_b, "p_nom"] @ n.links.loc[links_dc_b, col] + ) update_transmission_costs(n, costs) - if factor == 'opt' or float(factor) > 1.0: - n.lines['s_nom_min'] = lines_s_nom - n.lines['s_nom_extendable'] = True + if factor == "opt" or float(factor) > 1.0: + n.lines["s_nom_min"] = lines_s_nom + n.lines["s_nom_extendable"] = True - n.links.loc[links_dc_b, 'p_nom_min'] = n.links.loc[links_dc_b, 'p_nom'] - n.links.loc[links_dc_b, 'p_nom_extendable'] = True + n.links.loc[links_dc_b, "p_nom_min"] = n.links.loc[links_dc_b, "p_nom"] + n.links.loc[links_dc_b, "p_nom_extendable"] = True - if factor != 'opt': - con_type = 'expansion_cost' if ll_type == 'c' else 'volume_expansion' + if factor != "opt": + con_type = "expansion_cost" if ll_type == "c" else "volume_expansion" rhs = float(factor) * ref - n.add('GlobalConstraint', f'l{ll_type}_limit', - type=f'transmission_{con_type}_limit', - sense='<=', constant=rhs, carrier_attribute='AC, DC') + n.add( + "GlobalConstraint", + f"l{ll_type}_limit", + type=f"transmission_{con_type}_limit", + sense="<=", + constant=rhs, + carrier_attribute="AC, DC", + ) return n @@ -143,7 +162,7 @@ def average_every_nhours(n, offset): m.snapshot_weightings = snapshot_weightings for c in n.iterate_components(): - pnl = getattr(m, c.list_name+"_t") + pnl = getattr(m, c.list_name + "_t") for k, df in c.pnl.items(): if not df.empty: pnl[k] = df.resample(offset).mean() @@ -156,23 +175,29 @@ def apply_time_segmentation(n, segments, solver_name="cbc"): try: import tsam.timeseriesaggregation as tsam except: - raise ModuleNotFoundError("Optional dependency 'tsam' not found." - "Install via 'pip install tsam'") + raise ModuleNotFoundError( + "Optional dependency 'tsam' not found." "Install via 'pip install tsam'" + ) p_max_pu_norm = n.generators_t.p_max_pu.max() p_max_pu = n.generators_t.p_max_pu / p_max_pu_norm load_norm = n.loads_t.p_set.max() load = n.loads_t.p_set / load_norm - + inflow_norm = n.storage_units_t.inflow.max() inflow = n.storage_units_t.inflow / inflow_norm raw = pd.concat([p_max_pu, load, inflow], axis=1, sort=False) - agg = tsam.TimeSeriesAggregation(raw, hoursPerPeriod=len(raw), - noTypicalPeriods=1, noSegments=int(segments), - segmentation=True, solver=solver_name) + agg = tsam.TimeSeriesAggregation( + raw, + hoursPerPeriod=len(raw), + noTypicalPeriods=1, + noSegments=int(segments), + segmentation=True, + solver=solver_name, + ) segmented = agg.createTypicalPeriods() @@ -180,9 +205,11 @@ def apply_time_segmentation(n, segments, solver_name="cbc"): offsets = np.insert(np.cumsum(weightings[:-1]), 0, 0) snapshots = [n.snapshots[0] + pd.Timedelta(f"{offset}h") for offset in offsets] - n.set_snapshots(pd.DatetimeIndex(snapshots, name='name')) - n.snapshot_weightings = pd.Series(weightings, index=snapshots, name="weightings", dtype="float64") - + n.set_snapshots(pd.DatetimeIndex(snapshots, name="name")) + n.snapshot_weightings = pd.Series( + weightings, index=snapshots, name="weightings", dtype="float64" + ) + segmented.index = snapshots n.generators_t.p_max_pu = segmented[n.generators_t.p_max_pu.columns] * p_max_pu_norm n.loads_t.p_set = segmented[n.loads_t.p_set.columns] * load_norm @@ -190,49 +217,57 @@ def apply_time_segmentation(n, segments, solver_name="cbc"): return n + def enforce_autarky(n, only_crossborder=False): if only_crossborder: lines_rm = n.lines.loc[ - n.lines.bus0.map(n.buses.country) != - n.lines.bus1.map(n.buses.country) - ].index + n.lines.bus0.map(n.buses.country) != n.lines.bus1.map(n.buses.country) + ].index links_rm = n.links.loc[ - n.links.bus0.map(n.buses.country) != - n.links.bus1.map(n.buses.country) - ].index + n.links.bus0.map(n.buses.country) != n.links.bus1.map(n.buses.country) + ].index else: lines_rm = n.lines.index - links_rm = n.links.loc[n.links.carrier=="DC"].index + links_rm = n.links.loc[n.links.carrier == "DC"].index n.mremove("Line", lines_rm) n.mremove("Link", links_rm) + def set_line_nom_max(n, s_nom_max_set=np.inf, p_nom_max_set=np.inf): n.lines.s_nom_max.clip(upper=s_nom_max_set, inplace=True) n.links.p_nom_max.clip(upper=p_nom_max_set, inplace=True) + if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('prepare_network', simpl='', - clusters='40', ll='v0.3', opts='Co2L-24H') + + snakemake = mock_snakemake( + "prepare_network", simpl="", clusters="40", ll="v0.3", opts="Co2L-24H" + ) configure_logging(snakemake) - opts = snakemake.wildcards.opts.split('-') + opts = snakemake.wildcards.opts.split("-") n = pypsa.Network(snakemake.input[0]) - Nyears = n.snapshot_weightings.objective.sum() / 8760. - costs = load_costs(snakemake.input.tech_costs, snakemake.config['costs'], snakemake.config['electricity'], Nyears) + Nyears = n.snapshot_weightings.objective.sum() / 8760.0 + costs = load_costs( + snakemake.input.tech_costs, + snakemake.config["costs"], + snakemake.config["electricity"], + Nyears, + ) - set_line_s_max_pu(n, snakemake.config['lines']['s_max_pu']) + set_line_s_max_pu(n, snakemake.config["lines"]["s_max_pu"]) for o in opts: - m = re.match(r'^\d+h$', o, re.IGNORECASE) + m = re.match(r"^\d+h$", o, re.IGNORECASE) if m is not None: n = average_every_nhours(n, m.group(0)) break for o in opts: - m = re.match(r'^\d+seg$', o, re.IGNORECASE) + m = re.match(r"^\d+seg$", o, re.IGNORECASE) if m is not None: solver_name = snakemake.config["solving"]["solver"]["name"] n = apply_time_segmentation(n, m.group(0)[:-3], solver_name) @@ -242,11 +277,11 @@ if __name__ == "__main__": if "Co2L" in o: m = re.findall("[0-9]*\.?[0-9]+$", o) if len(m) > 0: - co2limit = float(m[0]) * snakemake.config['electricity']['co2base'] + co2limit = float(m[0]) * snakemake.config["electricity"]["co2base"] add_co2limit(n, co2limit, Nyears) logger.info("Setting CO2 limit according to wildcard value.") else: - add_co2limit(n, snakemake.config['electricity']['co2limit'], Nyears) + add_co2limit(n, snakemake.config["electricity"]["co2limit"], Nyears) logger.info("Setting CO2 limit according to config value.") break @@ -277,24 +312,27 @@ if __name__ == "__main__": comps = {"Generator", "Link", "StorageUnit", "Store"} for c in n.iterate_components(comps): sel = c.df.carrier.str.contains(carrier) - c.df.loc[sel,attr] *= factor + c.df.loc[sel, attr] *= factor for o in opts: - if 'Ep' in o: + if "Ep" in o: m = re.findall("[0-9]*\.?[0-9]+$", o) if len(m) > 0: logger.info("Setting emission prices according to wildcard value.") add_emission_prices(n, dict(co2=float(m[0]))) else: logger.info("Setting emission prices according to config value.") - add_emission_prices(n, snakemake.config['costs']['emission_prices']) + add_emission_prices(n, snakemake.config["costs"]["emission_prices"]) break ll_type, factor = snakemake.wildcards.ll[0], snakemake.wildcards.ll[1:] set_transmission_limit(n, ll_type, factor, costs, Nyears) - set_line_nom_max(n, s_nom_max_set=snakemake.config["lines"].get("s_nom_max,", np.inf), - p_nom_max_set=snakemake.config["links"].get("p_nom_max,", np.inf)) + set_line_nom_max( + n, + s_nom_max_set=snakemake.config["lines"].get("s_nom_max,", np.inf), + p_nom_max_set=snakemake.config["links"].get("p_nom_max,", np.inf), + ) if "ATK" in opts: enforce_autarky(n) diff --git a/scripts/retrieve_databundle.py b/scripts/retrieve_databundle.py index 2b106823..f16a196c 100644 --- a/scripts/retrieve_databundle.py +++ b/scripts/retrieve_databundle.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # Copyright 2019-2022 Fabian Hofmann (TUB, FIAS) # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # @@ -33,24 +34,27 @@ The :ref:`tutorial` uses a smaller `data bundle 0] + costs = ( + n.generators.loc[tech_b, "bus"] + .map(connection_costs_to_bus[tech]) + .loc[lambda s: s > 0] + ) if not costs.empty: n.generators.loc[costs.index, "capital_cost"] += costs - logger.info("Displacing {} generator(s) and adding connection costs to capital_costs: {} " - .format(tech, ", ".join("{:.0f} Eur/MW/a for `{}`".format(d, b) for b, d in costs.iteritems()))) + logger.info( + "Displacing {} generator(s) and adding connection costs to capital_costs: {} ".format( + tech, + ", ".join( + "{:.0f} Eur/MW/a for `{}`".format(d, b) + for b, d in costs.iteritems() + ), + ) + ) connection_costs[tech] = costs pd.DataFrame(connection_costs).to_csv(output.connection_costs) - -def _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, - aggregate_one_ports={"Load", "StorageUnit"}, - aggregation_strategies=dict()): - +def _aggregate_and_move_components( + n, + busmap, + connection_costs_to_bus, + output, + aggregate_one_ports={"Load", "StorageUnit"}, + aggregation_strategies=dict(), +): def replace_components(n, c, df, pnl): n.mremove(c, n.df(c).index) @@ -236,8 +270,10 @@ def simplify_links(n, costs, config, output, aggregation_strategies=dict()): return n, n.buses.index.to_series() # Determine connected link components, ignore all links but DC - adjacency_matrix = n.adjacency_matrix(branch_components=['Link'], - weights=dict(Link=(n.links.carrier == 'DC').astype(float))) + adjacency_matrix = n.adjacency_matrix( + branch_components=["Link"], + weights=dict(Link=(n.links.carrier == "DC").astype(float)), + ) _, labels = connected_components(adjacency_matrix, directed=False) labels = pd.Series(labels, n.buses.index) @@ -248,22 +284,23 @@ def simplify_links(n, costs, config, output, aggregation_strategies=dict()): nodes = frozenset(nodes) seen = set() - supernodes = {m for m in nodes - if len(G.adj[m]) > 2 or (set(G.adj[m]) - nodes)} + supernodes = {m for m in nodes if len(G.adj[m]) > 2 or (set(G.adj[m]) - nodes)} for u in supernodes: for m, ls in G.adj[u].items(): - if m not in nodes or m in seen: continue + if m not in nodes or m in seen: + continue buses = [u, m] - links = [list(ls)] #[name for name in ls]] + links = [list(ls)] # [name for name in ls]] while m not in (supernodes | seen): seen.add(m) for m2, ls in G.adj[m].items(): - if m2 in seen or m2 == u: continue + if m2 in seen or m2 == u: + continue buses.append(m2) - links.append(list(ls)) # [name for name in ls]) + links.append(list(ls)) # [name for name in ls]) break else: # stub @@ -276,83 +313,123 @@ def simplify_links(n, costs, config, output, aggregation_strategies=dict()): busmap = n.buses.index.to_series() connection_costs_per_link = _prepare_connection_costs_per_link(n, costs, config) - connection_costs_to_bus = pd.DataFrame(0., index=n.buses.index, columns=list(connection_costs_per_link)) + connection_costs_to_bus = pd.DataFrame( + 0.0, index=n.buses.index, columns=list(connection_costs_per_link) + ) for lbl in labels.value_counts().loc[lambda s: s > 2].index: for b, buses, links in split_links(labels.index[labels == lbl]): - if len(buses) <= 2: continue + if len(buses) <= 2: + continue - logger.debug('nodes = {}'.format(labels.index[labels == lbl])) - logger.debug('b = {}\nbuses = {}\nlinks = {}'.format(b, buses, links)) + logger.debug("nodes = {}".format(labels.index[labels == lbl])) + logger.debug("b = {}\nbuses = {}\nlinks = {}".format(b, buses, links)) - m = sp.spatial.distance_matrix(n.buses.loc[b, ['x', 'y']], - n.buses.loc[buses[1:-1], ['x', 'y']]) + m = sp.spatial.distance_matrix( + n.buses.loc[b, ["x", "y"]], n.buses.loc[buses[1:-1], ["x", "y"]] + ) busmap.loc[buses] = b[np.r_[0, m.argmin(axis=0), 1]] - connection_costs_to_bus.loc[buses] += _compute_connection_costs_to_bus(n, busmap, costs, config, connection_costs_per_link, buses) + connection_costs_to_bus.loc[buses] += _compute_connection_costs_to_bus( + n, busmap, costs, config, connection_costs_per_link, buses + ) all_links = [i for _, i in sum(links, [])] - p_max_pu = config['links'].get('p_max_pu', 1.) - lengths = n.links.loc[all_links, 'length'] - name = lengths.idxmax() + '+{}'.format(len(links) - 1) + p_max_pu = config["links"].get("p_max_pu", 1.0) + lengths = n.links.loc[all_links, "length"] + name = lengths.idxmax() + "+{}".format(len(links) - 1) params = dict( - carrier='DC', - bus0=b[0], bus1=b[1], - length=sum(n.links.loc[[i for _, i in l], 'length'].mean() for l in links), - p_nom=min(n.links.loc[[i for _, i in l], 'p_nom'].sum() for l in links), - underwater_fraction=sum(lengths/lengths.sum() * n.links.loc[all_links, 'underwater_fraction']), + carrier="DC", + bus0=b[0], + bus1=b[1], + length=sum( + n.links.loc[[i for _, i in l], "length"].mean() for l in links + ), + p_nom=min(n.links.loc[[i for _, i in l], "p_nom"].sum() for l in links), + underwater_fraction=sum( + lengths + / lengths.sum() + * n.links.loc[all_links, "underwater_fraction"] + ), p_max_pu=p_max_pu, p_min_pu=-p_max_pu, underground=False, - under_construction=False + under_construction=False, ) - logger.info("Joining the links {} connecting the buses {} to simple link {}".format(", ".join(all_links), ", ".join(buses), name)) + logger.info( + "Joining the links {} connecting the buses {} to simple link {}".format( + ", ".join(all_links), ", ".join(buses), name + ) + ) n.mremove("Link", all_links) static_attrs = n.components["Link"]["attrs"].loc[lambda df: df.static] - for attr, default in static_attrs.default.iteritems(): params.setdefault(attr, default) + for attr, default in static_attrs.default.iteritems(): + params.setdefault(attr, default) n.links.loc[name] = pd.Series(params) # n.add("Link", **params) logger.debug("Collecting all components using the busmap") - _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, - aggregation_strategies=aggregation_strategies) + _aggregate_and_move_components( + n, + busmap, + connection_costs_to_bus, + output, + aggregation_strategies=aggregation_strategies, + ) return n, busmap + def remove_stubs(n, costs, config, output, aggregation_strategies=dict()): logger.info("Removing stubs") - busmap = busmap_by_stubs(n) # ['country']) + busmap = busmap_by_stubs(n) # ['country']) connection_costs_to_bus = _compute_connection_costs_to_bus(n, busmap, costs, config) - _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, - aggregation_strategies=aggregation_strategies) + _aggregate_and_move_components( + n, + busmap, + connection_costs_to_bus, + output, + aggregation_strategies=aggregation_strategies, + ) return n, busmap + def aggregate_to_substations(n, aggregation_strategies=dict(), buses_i=None): # can be used to aggregate a selection of buses to electrically closest neighbors # if no buses are given, nodes that are no substations or without offshore connection are aggregated if buses_i is None: - logger.info("Aggregating buses that are no substations or have no valid offshore connection") - buses_i = list(set(n.buses.index)-set(n.generators.bus)-set(n.loads.bus)) + logger.info( + "Aggregating buses that are no substations or have no valid offshore connection" + ) + buses_i = list(set(n.buses.index) - set(n.generators.bus) - set(n.loads.bus)) - weight = pd.concat({'Line': n.lines.length/n.lines.s_nom.clip(1e-3), - 'Link': n.links.length/n.links.p_nom.clip(1e-3)}) + weight = pd.concat( + { + "Line": n.lines.length / n.lines.s_nom.clip(1e-3), + "Link": n.links.length / n.links.p_nom.clip(1e-3), + } + ) - adj = n.adjacency_matrix(branch_components=['Line', 'Link'], weights=weight) + adj = n.adjacency_matrix(branch_components=["Line", "Link"], weights=weight) bus_indexer = n.buses.index.get_indexer(buses_i) - dist = pd.DataFrame(dijkstra(adj, directed=False, indices=bus_indexer), buses_i, n.buses.index) + dist = pd.DataFrame( + dijkstra(adj, directed=False, indices=bus_indexer), buses_i, n.buses.index + ) - dist[buses_i] = np.inf # bus in buses_i should not be assigned to different bus in buses_i + dist[ + buses_i + ] = np.inf # bus in buses_i should not be assigned to different bus in buses_i for c in n.buses.country.unique(): incountry_b = n.buses.country == c @@ -361,49 +438,68 @@ def aggregate_to_substations(n, aggregation_strategies=dict(), buses_i=None): busmap = n.buses.index.to_series() busmap.loc[buses_i] = dist.idxmin(1) - bus_strategies, generator_strategies = get_aggregation_strategies(aggregation_strategies) + bus_strategies, generator_strategies = get_aggregation_strategies( + aggregation_strategies + ) - clustering = get_clustering_from_busmap(n, busmap, - bus_strategies=bus_strategies, - aggregate_generators_weighted=True, - aggregate_generators_carriers=None, - aggregate_one_ports=["Load", "StorageUnit"], - line_length_factor=1.0, - generator_strategies=generator_strategies, - scale_link_capital_costs=False) + clustering = get_clustering_from_busmap( + n, + busmap, + bus_strategies=bus_strategies, + aggregate_generators_weighted=True, + aggregate_generators_carriers=None, + aggregate_one_ports=["Load", "StorageUnit"], + line_length_factor=1.0, + generator_strategies=generator_strategies, + scale_link_capital_costs=False, + ) return clustering.network, busmap -def cluster(n, n_clusters, config, algorithm="hac", feature=None, aggregation_strategies=dict()): +def cluster( + n, n_clusters, config, algorithm="hac", feature=None, aggregation_strategies=dict() +): logger.info(f"Clustering to {n_clusters} buses") - focus_weights = config.get('focus_weights', None) + focus_weights = config.get("focus_weights", None) - renewable_carriers = pd.Index([tech - for tech in n.generators.carrier.unique() - if tech.split('-', 2)[0] in config['renewable']]) + renewable_carriers = pd.Index( + [ + tech + for tech in n.generators.carrier.unique() + if tech.split("-", 2)[0] in config["renewable"] + ] + ) - clustering = clustering_for_n_clusters(n, n_clusters, custom_busmap=False, - aggregation_strategies=aggregation_strategies, - solver_name=config['solving']['solver']['name'], - algorithm=algorithm, feature=feature, - focus_weights=focus_weights) + clustering = clustering_for_n_clusters( + n, + n_clusters, + custom_busmap=False, + aggregation_strategies=aggregation_strategies, + solver_name=config["solving"]["solver"]["name"], + algorithm=algorithm, + feature=feature, + focus_weights=focus_weights, + ) return clustering.network, clustering.busmap if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('simplify_network', simpl='f') + + snakemake = mock_snakemake("simplify_network", simpl="f") configure_logging(snakemake) n = pypsa.Network(snakemake.input.network) - aggregation_strategies = snakemake.config["clustering"].get("aggregation_strategies", {}) + aggregation_strategies = snakemake.config["clustering"].get( + "aggregation_strategies", {} + ) # translate str entries of aggregation_strategies to pd.Series functions: aggregation_strategies = { - p: {k: getattr(pd.Series, v) for k,v in aggregation_strategies[p].items()} + p: {k: getattr(pd.Series, v) for k, v in aggregation_strategies[p].items()} for p in aggregation_strategies.keys() } @@ -411,44 +507,78 @@ if __name__ == "__main__": Nyears = n.snapshot_weightings.objective.sum() / 8760 - technology_costs = load_costs(snakemake.input.tech_costs, snakemake.config['costs'], snakemake.config['electricity'], Nyears) + technology_costs = load_costs( + snakemake.input.tech_costs, + snakemake.config["costs"], + snakemake.config["electricity"], + Nyears, + ) - n, simplify_links_map = simplify_links(n, technology_costs, snakemake.config, snakemake.output, - aggregation_strategies) + n, simplify_links_map = simplify_links( + n, technology_costs, snakemake.config, snakemake.output, aggregation_strategies + ) - n, stub_map = remove_stubs(n, technology_costs, snakemake.config, snakemake.output, - aggregation_strategies=aggregation_strategies) + n, stub_map = remove_stubs( + n, + technology_costs, + snakemake.config, + snakemake.output, + aggregation_strategies=aggregation_strategies, + ) busmaps = [trafo_map, simplify_links_map, stub_map] - cluster_config = snakemake.config.get('clustering', {}).get('simplify_network', {}) - if cluster_config.get('clustering', {}).get('simplify_network', {}).get('to_substations', False): + cluster_config = snakemake.config.get("clustering", {}).get("simplify_network", {}) + if ( + cluster_config.get("clustering", {}) + .get("simplify_network", {}) + .get("to_substations", False) + ): n, substation_map = aggregate_to_substations(n, aggregation_strategies) busmaps.append(substation_map) # treatment of outliers (nodes without a profile for considered carrier): # all nodes that have no profile of the given carrier are being aggregated to closest neighbor if ( - snakemake.config.get("clustering", {}).get("cluster_network", {}).get("algorithm", "hac") == "hac" or - cluster_config.get("algorithm", "hac") == "hac" + snakemake.config.get("clustering", {}) + .get("cluster_network", {}) + .get("algorithm", "hac") + == "hac" + or cluster_config.get("algorithm", "hac") == "hac" ): - carriers = cluster_config.get("feature", "solar+onwind-time").split('-')[0].split('+') + carriers = ( + cluster_config.get("feature", "solar+onwind-time").split("-")[0].split("+") + ) for carrier in carriers: - buses_i = list(set(n.buses.index)-set(n.generators.query("carrier == @carrier").bus)) - logger.info(f'clustering preparaton (hac): aggregating {len(buses_i)} buses of type {carrier}.') + buses_i = list( + set(n.buses.index) - set(n.generators.query("carrier == @carrier").bus) + ) + logger.info( + f"clustering preparaton (hac): aggregating {len(buses_i)} buses of type {carrier}." + ) n, busmap_hac = aggregate_to_substations(n, aggregation_strategies, buses_i) busmaps.append(busmap_hac) if snakemake.wildcards.simpl: - n, cluster_map = cluster(n, int(snakemake.wildcards.simpl), snakemake.config, - cluster_config.get('algorithm', 'hac'), - cluster_config.get('feature', None), - aggregation_strategies) + n, cluster_map = cluster( + n, + int(snakemake.wildcards.simpl), + snakemake.config, + cluster_config.get("algorithm", "hac"), + cluster_config.get("feature", None), + aggregation_strategies, + ) busmaps.append(cluster_map) # some entries in n.buses are not updated in previous functions, therefore can be wrong. as they are not needed # and are lost when clustering (for example with the simpl wildcard), we remove them for consistency: - buses_c = {'symbol', 'tags', 'under_construction', 'substation_lv', 'substation_off'}.intersection(n.buses.columns) + buses_c = { + "symbol", + "tags", + "under_construction", + "substation_lv", + "substation_off", + }.intersection(n.buses.columns) n.buses = n.buses.drop(buses_c, axis=1) update_p_nom_max(n) diff --git a/scripts/solve_network.py b/scripts/solve_network.py index 222343c5..4127b273 100755 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -1,9 +1,11 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ -Solves linear optimal power flow for a network iteratively while updating reactances. +Solves linear optimal power flow for a network iteratively while updating +reactances. Relevant Settings ----------------- @@ -73,104 +75,123 @@ Details (and errors made through this heuristic) are discussed in the paper The rule :mod:`solve_all_networks` runs for all ``scenario`` s in the configuration file the rule :mod:`solve_network`. - """ import logging -from _helpers import configure_logging +import re +from pathlib import Path import numpy as np import pandas as pd -import re - import pypsa -from pypsa.linopf import (get_var, define_constraints, define_variables, - linexpr, join_exprs, network_lopf, ilopf) +from _helpers import configure_logging from pypsa.descriptors import get_switchable_as_dense as get_as_dense - -from pathlib import Path +from pypsa.linopf import ( + define_constraints, + define_variables, + get_var, + ilopf, + join_exprs, + linexpr, + network_lopf, +) from vresutils.benchmark import memory_logger logger = logging.getLogger(__name__) def prepare_network(n, solve_opts): - - if 'clip_p_max_pu' in solve_opts: + if "clip_p_max_pu" in solve_opts: for df in (n.generators_t.p_max_pu, n.storage_units_t.inflow): - df.where(df>solve_opts['clip_p_max_pu'], other=0., inplace=True) + df.where(df > solve_opts["clip_p_max_pu"], other=0.0, inplace=True) - load_shedding = solve_opts.get('load_shedding') + load_shedding = solve_opts.get("load_shedding") if load_shedding: n.add("Carrier", "load", color="#dd2e23", nice_name="Load shedding") buses_i = n.buses.query("carrier == 'AC'").index - if not np.isscalar(load_shedding): load_shedding = 1e2 # Eur/kWh + if not np.isscalar(load_shedding): + load_shedding = 1e2 # Eur/kWh # intersect between macroeconomic and surveybased # willingness to pay # http://journal.frontiersin.org/article/10.3389/fenrg.2015.00055/full) - n.madd("Generator", buses_i, " load", - bus=buses_i, - carrier='load', - sign=1e-3, # Adjust sign to measure p and p_nom in kW instead of MW - marginal_cost=load_shedding, - p_nom=1e9 # kW - ) + n.madd( + "Generator", + buses_i, + " load", + bus=buses_i, + carrier="load", + sign=1e-3, # Adjust sign to measure p and p_nom in kW instead of MW + marginal_cost=load_shedding, + p_nom=1e9, # kW + ) - if solve_opts.get('noisy_costs'): + if solve_opts.get("noisy_costs"): for t in n.iterate_components(n.one_port_components): - #if 'capital_cost' in t.df: + # if 'capital_cost' in t.df: # t.df['capital_cost'] += 1e1 + 2.*(np.random.random(len(t.df)) - 0.5) - if 'marginal_cost' in t.df: - t.df['marginal_cost'] += (1e-2 + 2e-3 * - (np.random.random(len(t.df)) - 0.5)) + if "marginal_cost" in t.df: + t.df["marginal_cost"] += 1e-2 + 2e-3 * ( + np.random.random(len(t.df)) - 0.5 + ) - for t in n.iterate_components(['Line', 'Link']): - t.df['capital_cost'] += (1e-1 + - 2e-2*(np.random.random(len(t.df)) - 0.5)) * t.df['length'] + for t in n.iterate_components(["Line", "Link"]): + t.df["capital_cost"] += ( + 1e-1 + 2e-2 * (np.random.random(len(t.df)) - 0.5) + ) * t.df["length"] - if solve_opts.get('nhours'): - nhours = solve_opts['nhours'] + if solve_opts.get("nhours"): + nhours = solve_opts["nhours"] n.set_snapshots(n.snapshots[:nhours]) - n.snapshot_weightings[:] = 8760. / nhours + n.snapshot_weightings[:] = 8760.0 / nhours return n def add_CCL_constraints(n, config): - agg_p_nom_limits = config['electricity'].get('agg_p_nom_limits') + agg_p_nom_limits = config["electricity"].get("agg_p_nom_limits") try: - agg_p_nom_minmax = pd.read_csv(agg_p_nom_limits, - index_col=list(range(2))) + agg_p_nom_minmax = pd.read_csv(agg_p_nom_limits, index_col=list(range(2))) except IOError: - logger.exception("Need to specify the path to a .csv file containing " - "aggregate capacity limits per country in " - "config['electricity']['agg_p_nom_limit'].") - logger.info("Adding per carrier generation capacity constraints for " - "individual countries") + logger.exception( + "Need to specify the path to a .csv file containing " + "aggregate capacity limits per country in " + "config['electricity']['agg_p_nom_limit']." + ) + logger.info( + "Adding per carrier generation capacity constraints for " "individual countries" + ) gen_country = n.generators.bus.map(n.buses.country) # cc means country and carrier - p_nom_per_cc = (pd.DataFrame( - {'p_nom': linexpr((1, get_var(n, 'Generator', 'p_nom'))), - 'country': gen_country, 'carrier': n.generators.carrier}) - .dropna(subset=['p_nom']) - .groupby(['country', 'carrier']).p_nom - .apply(join_exprs)) - minimum = agg_p_nom_minmax['min'].dropna() + p_nom_per_cc = ( + pd.DataFrame( + { + "p_nom": linexpr((1, get_var(n, "Generator", "p_nom"))), + "country": gen_country, + "carrier": n.generators.carrier, + } + ) + .dropna(subset=["p_nom"]) + .groupby(["country", "carrier"]) + .p_nom.apply(join_exprs) + ) + minimum = agg_p_nom_minmax["min"].dropna() if not minimum.empty: - minconstraint = define_constraints(n, p_nom_per_cc[minimum.index], - '>=', minimum, 'agg_p_nom', 'min') - maximum = agg_p_nom_minmax['max'].dropna() + minconstraint = define_constraints( + n, p_nom_per_cc[minimum.index], ">=", minimum, "agg_p_nom", "min" + ) + maximum = agg_p_nom_minmax["max"].dropna() if not maximum.empty: - maxconstraint = define_constraints(n, p_nom_per_cc[maximum.index], - '<=', maximum, 'agg_p_nom', 'max') + maxconstraint = define_constraints( + n, p_nom_per_cc[maximum.index], "<=", maximum, "agg_p_nom", "max" + ) def add_EQ_constraints(n, o, scaling=1e-1): float_regex = "[0-9]*\.?[0-9]+" level = float(re.findall(float_regex, o)[0]) - if o[-1] == 'c': + if o[-1] == "c": ggrouper = n.generators.bus.map(n.buses.country) lgrouper = n.loads.bus.map(n.buses.country) sgrouper = n.storage_units.bus.map(n.buses.country) @@ -178,135 +199,167 @@ def add_EQ_constraints(n, o, scaling=1e-1): ggrouper = n.generators.bus lgrouper = n.loads.bus sgrouper = n.storage_units.bus - load = n.snapshot_weightings.generators @ \ - n.loads_t.p_set.groupby(lgrouper, axis=1).sum() - inflow = n.snapshot_weightings.stores @ \ - n.storage_units_t.inflow.groupby(sgrouper, axis=1).sum() - inflow = inflow.reindex(load.index).fillna(0.) - rhs = scaling * ( level * load - inflow ) - lhs_gen = linexpr((n.snapshot_weightings.generators * scaling, - get_var(n, "Generator", "p").T) - ).T.groupby(ggrouper, axis=1).apply(join_exprs) - lhs_spill = linexpr((-n.snapshot_weightings.stores * scaling, - get_var(n, "StorageUnit", "spill").T) - ).T.groupby(sgrouper, axis=1).apply(join_exprs) + load = ( + n.snapshot_weightings.generators + @ n.loads_t.p_set.groupby(lgrouper, axis=1).sum() + ) + inflow = ( + n.snapshot_weightings.stores + @ n.storage_units_t.inflow.groupby(sgrouper, axis=1).sum() + ) + inflow = inflow.reindex(load.index).fillna(0.0) + rhs = scaling * (level * load - inflow) + lhs_gen = ( + linexpr( + (n.snapshot_weightings.generators * scaling, get_var(n, "Generator", "p").T) + ) + .T.groupby(ggrouper, axis=1) + .apply(join_exprs) + ) + lhs_spill = ( + linexpr( + ( + -n.snapshot_weightings.stores * scaling, + get_var(n, "StorageUnit", "spill").T, + ) + ) + .T.groupby(sgrouper, axis=1) + .apply(join_exprs) + ) lhs_spill = lhs_spill.reindex(lhs_gen.index).fillna("") lhs = lhs_gen + lhs_spill define_constraints(n, lhs, ">=", rhs, "equity", "min") def add_BAU_constraints(n, config): - mincaps = pd.Series(config['electricity']['BAU_mincapacities']) - lhs = (linexpr((1, get_var(n, 'Generator', 'p_nom'))) - .groupby(n.generators.carrier).apply(join_exprs)) - define_constraints(n, lhs, '>=', mincaps[lhs.index], 'Carrier', 'bau_mincaps') + mincaps = pd.Series(config["electricity"]["BAU_mincapacities"]) + lhs = ( + linexpr((1, get_var(n, "Generator", "p_nom"))) + .groupby(n.generators.carrier) + .apply(join_exprs) + ) + define_constraints(n, lhs, ">=", mincaps[lhs.index], "Carrier", "bau_mincaps") def add_SAFE_constraints(n, config): - peakdemand = (1. + config['electricity']['SAFE_reservemargin']) *\ - n.loads_t.p_set.sum(axis=1).max() - conv_techs = config['plotting']['conv_techs'] - exist_conv_caps = n.generators.query('~p_nom_extendable & carrier in @conv_techs')\ - .p_nom.sum() - ext_gens_i = n.generators.query('carrier in @conv_techs & p_nom_extendable').index - lhs = linexpr((1, get_var(n, 'Generator', 'p_nom')[ext_gens_i])).sum() + peakdemand = ( + 1.0 + config["electricity"]["SAFE_reservemargin"] + ) * n.loads_t.p_set.sum(axis=1).max() + conv_techs = config["plotting"]["conv_techs"] + exist_conv_caps = n.generators.query( + "~p_nom_extendable & carrier in @conv_techs" + ).p_nom.sum() + ext_gens_i = n.generators.query("carrier in @conv_techs & p_nom_extendable").index + lhs = linexpr((1, get_var(n, "Generator", "p_nom")[ext_gens_i])).sum() rhs = peakdemand - exist_conv_caps - define_constraints(n, lhs, '>=', rhs, 'Safe', 'mintotalcap') + define_constraints(n, lhs, ">=", rhs, "Safe", "mintotalcap") def add_operational_reserve_margin_constraint(n, config): - reserve_config = config["electricity"]["operational_reserve"] EPSILON_LOAD = reserve_config["epsilon_load"] EPSILON_VRES = reserve_config["epsilon_vres"] CONTINGENCY = reserve_config["contingency"] - # Reserve Variables - reserve = get_var(n, 'Generator', 'r') + # Reserve Variables + reserve = get_var(n, "Generator", "r") lhs = linexpr((1, reserve)).sum(1) # Share of extendable renewable capacities - ext_i = n.generators.query('p_nom_extendable').index + ext_i = n.generators.query("p_nom_extendable").index vres_i = n.generators_t.p_max_pu.columns if not ext_i.empty and not vres_i.empty: capacity_factor = n.generators_t.p_max_pu[vres_i.intersection(ext_i)] - renewable_capacity_variables = get_var(n, 'Generator', 'p_nom')[vres_i.intersection(ext_i)] - lhs += linexpr((-EPSILON_VRES * capacity_factor, renewable_capacity_variables)).sum(1) + renewable_capacity_variables = get_var(n, "Generator", "p_nom")[ + vres_i.intersection(ext_i) + ] + lhs += linexpr( + (-EPSILON_VRES * capacity_factor, renewable_capacity_variables) + ).sum(1) # Total demand at t - demand = n.loads_t.p.sum(1) - + demand = n.loads_t.p.sum(1) + # VRES potential of non extendable generators capacity_factor = n.generators_t.p_max_pu[vres_i.difference(ext_i)] renewable_capacity = n.generators.p_nom[vres_i.difference(ext_i)] potential = (capacity_factor * renewable_capacity).sum(1) - + # Right-hand-side rhs = EPSILON_LOAD * demand + EPSILON_VRES * potential + CONTINGENCY - - define_constraints(n, lhs, '>=', rhs, "Reserve margin") + + define_constraints(n, lhs, ">=", rhs, "Reserve margin") def update_capacity_constraint(n): gen_i = n.generators.index - ext_i = n.generators.query('p_nom_extendable').index - fix_i = n.generators.query('not p_nom_extendable').index + ext_i = n.generators.query("p_nom_extendable").index + fix_i = n.generators.query("not p_nom_extendable").index + + dispatch = get_var(n, "Generator", "p") + reserve = get_var(n, "Generator", "r") - dispatch = get_var(n, 'Generator', 'p') - reserve = get_var(n, 'Generator', 'r') - capacity_fixed = n.generators.p_nom[fix_i] - - p_max_pu = get_as_dense(n, 'Generator', 'p_max_pu') - + + p_max_pu = get_as_dense(n, "Generator", "p_max_pu") + lhs = linexpr((1, dispatch), (1, reserve)) - + if not ext_i.empty: - capacity_variable = get_var(n, 'Generator', 'p_nom') - lhs += linexpr((-p_max_pu[ext_i], capacity_variable)).reindex(columns=gen_i, fill_value='') - + capacity_variable = get_var(n, "Generator", "p_nom") + lhs += linexpr((-p_max_pu[ext_i], capacity_variable)).reindex( + columns=gen_i, fill_value="" + ) + rhs = (p_max_pu[fix_i] * capacity_fixed).reindex(columns=gen_i, fill_value=0) - - define_constraints(n, lhs, '<=', rhs, 'Generators', 'updated_capacity_constraint') + + define_constraints(n, lhs, "<=", rhs, "Generators", "updated_capacity_constraint") def add_operational_reserve_margin(n, sns, config): """ - Build reserve margin constraints based on the formulation given in + Build reserve margin constraints based on the formulation given in https://genxproject.github.io/GenX/dev/core/#Reserves. """ - define_variables(n, 0, np.inf, 'Generator', 'r', axes=[sns, n.generators.index]) + define_variables(n, 0, np.inf, "Generator", "r", axes=[sns, n.generators.index]) add_operational_reserve_margin_constraint(n, config) - + update_capacity_constraint(n) def add_battery_constraints(n): nodes = n.buses.index[n.buses.carrier == "battery"] - if nodes.empty or ('Link', 'p_nom') not in n.variables.index: + if nodes.empty or ("Link", "p_nom") not in n.variables.index: return link_p_nom = get_var(n, "Link", "p_nom") - lhs = linexpr((1,link_p_nom[nodes + " charger"]), - (-n.links.loc[nodes + " discharger", "efficiency"].values, - link_p_nom[nodes + " discharger"].values)) - define_constraints(n, lhs, "=", 0, 'Link', 'charger_ratio') + lhs = linexpr( + (1, link_p_nom[nodes + " charger"]), + ( + -n.links.loc[nodes + " discharger", "efficiency"].values, + link_p_nom[nodes + " discharger"].values, + ), + ) + define_constraints(n, lhs, "=", 0, "Link", "charger_ratio") def extra_functionality(n, snapshots): """ - Collects supplementary constraints which will be passed to ``pypsa.linopf.network_lopf``. - If you want to enforce additional custom constraints, this is a good location to add them. - The arguments ``opts`` and ``snakemake.config`` are expected to be attached to the network. + Collects supplementary constraints which will be passed to + ``pypsa.linopf.network_lopf``. + + If you want to enforce additional custom constraints, this is a good + location to add them. The arguments ``opts`` and + ``snakemake.config`` are expected to be attached to the network. """ opts = n.opts config = n.config - if 'BAU' in opts and n.generators.p_nom_extendable.any(): + if "BAU" in opts and n.generators.p_nom_extendable.any(): add_BAU_constraints(n, config) - if 'SAFE' in opts and n.generators.p_nom_extendable.any(): + if "SAFE" in opts and n.generators.p_nom_extendable.any(): add_SAFE_constraints(n, config) - if 'CCL' in opts and n.generators.p_nom_extendable.any(): + if "CCL" in opts and n.generators.p_nom_extendable.any(): add_CCL_constraints(n, config) reserve = config["electricity"].get("operational_reserve", {}) if reserve.get("activate"): @@ -317,54 +370,71 @@ def extra_functionality(n, snapshots): add_battery_constraints(n) -def solve_network(n, config, opts='', **kwargs): - solver_options = config['solving']['solver'].copy() - solver_name = solver_options.pop('name') - cf_solving = config['solving']['options'] - track_iterations = cf_solving.get('track_iterations', False) - min_iterations = cf_solving.get('min_iterations', 4) - max_iterations = cf_solving.get('max_iterations', 6) +def solve_network(n, config, opts="", **kwargs): + solver_options = config["solving"]["solver"].copy() + solver_name = solver_options.pop("name") + cf_solving = config["solving"]["options"] + track_iterations = cf_solving.get("track_iterations", False) + min_iterations = cf_solving.get("min_iterations", 4) + max_iterations = cf_solving.get("max_iterations", 6) # add to network for extra_functionality n.config = config n.opts = opts - skip_iterations = cf_solving.get('skip_iterations', False) + skip_iterations = cf_solving.get("skip_iterations", False) if not n.lines.s_nom_extendable.any(): skip_iterations = True logger.info("No expandable lines found. Skipping iterative solving.") if skip_iterations: - network_lopf(n, solver_name=solver_name, solver_options=solver_options, - extra_functionality=extra_functionality, **kwargs) + network_lopf( + n, + solver_name=solver_name, + solver_options=solver_options, + extra_functionality=extra_functionality, + **kwargs + ) else: - ilopf(n, solver_name=solver_name, solver_options=solver_options, - track_iterations=track_iterations, - min_iterations=min_iterations, - max_iterations=max_iterations, - extra_functionality=extra_functionality, **kwargs) + ilopf( + n, + solver_name=solver_name, + solver_options=solver_options, + track_iterations=track_iterations, + min_iterations=min_iterations, + max_iterations=max_iterations, + extra_functionality=extra_functionality, + **kwargs + ) return n if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('solve_network', simpl='', - clusters='5', ll='copt', opts='Co2L-BAU-CCL-24H') + + snakemake = mock_snakemake( + "solve_network", simpl="", clusters="5", ll="copt", opts="Co2L-BAU-CCL-24H" + ) configure_logging(snakemake) - tmpdir = snakemake.config['solving'].get('tmpdir') + tmpdir = snakemake.config["solving"].get("tmpdir") if tmpdir is not None: Path(tmpdir).mkdir(parents=True, exist_ok=True) - opts = snakemake.wildcards.opts.split('-') - solve_opts = snakemake.config['solving']['options'] + opts = snakemake.wildcards.opts.split("-") + solve_opts = snakemake.config["solving"]["options"] - fn = getattr(snakemake.log, 'memory', None) - with memory_logger(filename=fn, interval=30.) as mem: + fn = getattr(snakemake.log, "memory", None) + with memory_logger(filename=fn, interval=30.0) as mem: n = pypsa.Network(snakemake.input[0]) n = prepare_network(n, solve_opts) - n = solve_network(n, snakemake.config, opts, solver_dir=tmpdir, - solver_logfile=snakemake.log.solver) + n = solve_network( + n, + snakemake.config, + opts, + solver_dir=tmpdir, + solver_logfile=snakemake.log.solver, + ) n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards))) n.export_to_netcdf(snakemake.output[0]) diff --git a/scripts/solve_operations_network.py b/scripts/solve_operations_network.py index 36a30c2f..76918b5a 100644 --- a/scripts/solve_operations_network.py +++ b/scripts/solve_operations_network.py @@ -1,10 +1,11 @@ +# -*- coding: utf-8 -*- # SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ -Solves linear optimal dispatch in hourly resolution -using the capacities of previous capacity expansion in rule :mod:`solve_network`. +Solves linear optimal dispatch in hourly resolution using the capacities of +previous capacity expansion in rule :mod:`solve_network`. Relevant Settings ----------------- @@ -42,65 +43,80 @@ Outputs Description ----------- - """ import logging -from _helpers import configure_logging - -import pypsa -import numpy as np - from pathlib import Path + +import numpy as np +import pypsa +from _helpers import configure_logging +from solve_network import prepare_network, solve_network from vresutils.benchmark import memory_logger -from solve_network import solve_network, prepare_network logger = logging.getLogger(__name__) -def set_parameters_from_optimized(n, n_optim): - lines_typed_i = n.lines.index[n.lines.type != ''] - n.lines.loc[lines_typed_i, 'num_parallel'] = \ - n_optim.lines['num_parallel'].reindex(lines_typed_i, fill_value=0.) - n.lines.loc[lines_typed_i, 's_nom'] = ( - np.sqrt(3) * n.lines['type'].map(n.line_types.i_nom) * - n.lines.bus0.map(n.buses.v_nom) * n.lines.num_parallel) - lines_untyped_i = n.lines.index[n.lines.type == ''] - for attr in ('s_nom', 'r', 'x'): - n.lines.loc[lines_untyped_i, attr] = \ - n_optim.lines[attr].reindex(lines_untyped_i, fill_value=0.) - n.lines['s_nom_extendable'] = False +def set_parameters_from_optimized(n, n_optim): + lines_typed_i = n.lines.index[n.lines.type != ""] + n.lines.loc[lines_typed_i, "num_parallel"] = n_optim.lines["num_parallel"].reindex( + lines_typed_i, fill_value=0.0 + ) + n.lines.loc[lines_typed_i, "s_nom"] = ( + np.sqrt(3) + * n.lines["type"].map(n.line_types.i_nom) + * n.lines.bus0.map(n.buses.v_nom) + * n.lines.num_parallel + ) + + lines_untyped_i = n.lines.index[n.lines.type == ""] + for attr in ("s_nom", "r", "x"): + n.lines.loc[lines_untyped_i, attr] = n_optim.lines[attr].reindex( + lines_untyped_i, fill_value=0.0 + ) + n.lines["s_nom_extendable"] = False links_dc_i = n.links.index[n.links.p_nom_extendable] - n.links.loc[links_dc_i, 'p_nom'] = \ - n_optim.links['p_nom_opt'].reindex(links_dc_i, fill_value=0.) - n.links.loc[links_dc_i, 'p_nom_extendable'] = False + n.links.loc[links_dc_i, "p_nom"] = n_optim.links["p_nom_opt"].reindex( + links_dc_i, fill_value=0.0 + ) + n.links.loc[links_dc_i, "p_nom_extendable"] = False gen_extend_i = n.generators.index[n.generators.p_nom_extendable] - n.generators.loc[gen_extend_i, 'p_nom'] = \ - n_optim.generators['p_nom_opt'].reindex(gen_extend_i, fill_value=0.) - n.generators.loc[gen_extend_i, 'p_nom_extendable'] = False + n.generators.loc[gen_extend_i, "p_nom"] = n_optim.generators["p_nom_opt"].reindex( + gen_extend_i, fill_value=0.0 + ) + n.generators.loc[gen_extend_i, "p_nom_extendable"] = False stor_units_extend_i = n.storage_units.index[n.storage_units.p_nom_extendable] - n.storage_units.loc[stor_units_extend_i, 'p_nom'] = \ - n_optim.storage_units['p_nom_opt'].reindex(stor_units_extend_i, fill_value=0.) - n.storage_units.loc[stor_units_extend_i, 'p_nom_extendable'] = False + n.storage_units.loc[stor_units_extend_i, "p_nom"] = n_optim.storage_units[ + "p_nom_opt" + ].reindex(stor_units_extend_i, fill_value=0.0) + n.storage_units.loc[stor_units_extend_i, "p_nom_extendable"] = False stor_extend_i = n.stores.index[n.stores.e_nom_extendable] - n.stores.loc[stor_extend_i, 'e_nom'] = \ - n_optim.stores['e_nom_opt'].reindex(stor_extend_i, fill_value=0.) - n.stores.loc[stor_extend_i, 'e_nom_extendable'] = False + n.stores.loc[stor_extend_i, "e_nom"] = n_optim.stores["e_nom_opt"].reindex( + stor_extend_i, fill_value=0.0 + ) + n.stores.loc[stor_extend_i, "e_nom_extendable"] = False return n + if __name__ == "__main__": - if 'snakemake' not in globals(): + if "snakemake" not in globals(): from _helpers import mock_snakemake - snakemake = mock_snakemake('solve_operations_network', - simpl='', clusters='5', ll='copt', opts='Co2L-BAU-24H') + + snakemake = mock_snakemake( + "solve_operations_network", + simpl="", + clusters="5", + ll="copt", + opts="Co2L-BAU-24H", + ) configure_logging(snakemake) - tmpdir = snakemake.config['solving'].get('tmpdir') + tmpdir = snakemake.config["solving"].get("tmpdir") if tmpdir is not None: Path(tmpdir).mkdir(parents=True, exist_ok=True) @@ -109,14 +125,19 @@ if __name__ == "__main__": n = set_parameters_from_optimized(n, n_optim) del n_optim - opts = snakemake.wildcards.opts.split('-') - snakemake.config['solving']['options']['skip_iterations'] = False + opts = snakemake.wildcards.opts.split("-") + snakemake.config["solving"]["options"]["skip_iterations"] = False - fn = getattr(snakemake.log, 'memory', None) - with memory_logger(filename=fn, interval=30.) as mem: - n = prepare_network(n, snakemake.config['solving']['options']) - n = solve_network(n, snakemake.config, opts, solver_dir=tmpdir, - solver_logfile=snakemake.log.solver) + fn = getattr(snakemake.log, "memory", None) + with memory_logger(filename=fn, interval=30.0) as mem: + n = prepare_network(n, snakemake.config["solving"]["options"]) + n = solve_network( + n, + snakemake.config, + opts, + solver_dir=tmpdir, + solver_logfile=snakemake.log.solver, + ) n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards))) n.export_to_netcdf(snakemake.output[0]) diff --git a/test/config.test1.yaml b/test/config.test1.yaml index a9df427b..bc3b2496 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -8,7 +8,7 @@ logging: level: INFO format: '%(levelname)s:%(name)s:%(message)s' -run: +run: name: "" scenario: @@ -72,8 +72,7 @@ renewable: corine: # Scholz, Y. (2012). Renewable energy based electricity supply at low costs: # development of the REMix model and application for Europe. ( p.42 / p.28) - grid_codes: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 31, 32] + grid_codes: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32] distance: 1000 distance_grid_codes: [1, 2, 3, 4, 5, 6] natura: true @@ -124,8 +123,7 @@ renewable: # sector: The economic potential of photovoltaics and concentrating solar # power." Applied Energy 135 (2014): 704-720. correction_factor: 0.854337 - corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] + corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 31, 32] natura: true excluder_resolution: 200 potential: simple # or conservative @@ -153,7 +151,7 @@ transformers: type: '' load: - power_statistics: True # only for files from <2019; set false in order to get ENTSOE transparency data + power_statistics: true # only for files from <2019; set false in order to get ENTSOE transparency data interpolate_limit: 3 # data gaps up until this size are interpolated linearly time_shift_for_large_gaps: 1w # data gaps up until this size are copied by copying from manual_adjustments: true # false @@ -232,7 +230,7 @@ solving: plotting: map: figsize: [7, 7] - boundaries: [-10.2, 29, 35, 72] + boundaries: [-10.2, 29, 35, 72] p_nom: bus_size_factor: 5.e+4 linewidth_factor: 3.e+3 @@ -251,50 +249,50 @@ plotting: AC_carriers: ["AC line", "AC transformer"] link_carriers: ["DC line", "Converter AC-DC"] tech_colors: - "onwind" : "#235ebc" - "onshore wind" : "#235ebc" - 'offwind' : "#6895dd" - 'offwind-ac' : "#6895dd" - 'offshore wind' : "#6895dd" - 'offshore wind ac' : "#6895dd" - 'offwind-dc' : "#74c6f2" - 'offshore wind dc' : "#74c6f2" - "hydro" : "#08ad97" - "hydro+PHS" : "#08ad97" - "PHS" : "#08ad97" - "hydro reservoir" : "#08ad97" - 'hydroelectricity' : '#08ad97' - "ror" : "#4adbc8" - "run of river" : "#4adbc8" - 'solar' : "#f9d002" - 'solar PV' : "#f9d002" - 'solar thermal' : '#ffef60' - 'biomass' : '#0c6013' - 'solid biomass' : '#06540d' - 'biogas' : '#23932d' - 'waste' : '#68896b' - 'geothermal' : '#ba91b1' - "OCGT" : "#d35050" - "gas" : "#d35050" - "natural gas" : "#d35050" - "CCGT" : "#b20101" - "nuclear" : "#ff9000" - "coal" : "#707070" - "lignite" : "#9e5a01" - "oil" : "#262626" - "H2" : "#ea048a" - "hydrogen storage" : "#ea048a" - "battery" : "#b8ea04" - "Electric load" : "#f9d002" - "electricity" : "#f9d002" - "lines" : "#70af1d" - "transmission lines" : "#70af1d" - "AC-AC" : "#70af1d" - "AC line" : "#70af1d" - "links" : "#8a1caf" - "HVDC links" : "#8a1caf" - "DC-DC" : "#8a1caf" - "DC link" : "#8a1caf" + "onwind": "#235ebc" + "onshore wind": "#235ebc" + 'offwind': "#6895dd" + 'offwind-ac': "#6895dd" + 'offshore wind': "#6895dd" + 'offshore wind ac': "#6895dd" + 'offwind-dc': "#74c6f2" + 'offshore wind dc': "#74c6f2" + "hydro": "#08ad97" + "hydro+PHS": "#08ad97" + "PHS": "#08ad97" + "hydro reservoir": "#08ad97" + 'hydroelectricity': '#08ad97' + "ror": "#4adbc8" + "run of river": "#4adbc8" + 'solar': "#f9d002" + 'solar PV': "#f9d002" + 'solar thermal': '#ffef60' + 'biomass': '#0c6013' + 'solid biomass': '#06540d' + 'biogas': '#23932d' + 'waste': '#68896b' + 'geothermal': '#ba91b1' + "OCGT": "#d35050" + "gas": "#d35050" + "natural gas": "#d35050" + "CCGT": "#b20101" + "nuclear": "#ff9000" + "coal": "#707070" + "lignite": "#9e5a01" + "oil": "#262626" + "H2": "#ea048a" + "hydrogen storage": "#ea048a" + "battery": "#b8ea04" + "Electric load": "#f9d002" + "electricity": "#f9d002" + "lines": "#70af1d" + "transmission lines": "#70af1d" + "AC-AC": "#70af1d" + "AC line": "#70af1d" + "links": "#8a1caf" + "HVDC links": "#8a1caf" + "DC-DC": "#8a1caf" + "DC link": "#8a1caf" nice_names: OCGT: "Open-Cycle Gas" CCGT: "Combined-Cycle Gas" From 9b570a53b490239f80f5755701a45b74f2d0dbbf Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 16 Sep 2022 15:20:10 +0200 Subject: [PATCH 223/281] tiny doc formatting fixes --- scripts/base_network.py | 3 ++- scripts/build_load_data.py | 3 ++- scripts/build_natura_raster.py | 3 ++- scripts/prepare_links_p_nom.py | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/base_network.py b/scripts/base_network.py index 6dafbbd9..f851a521 100644 --- a/scripts/base_network.py +++ b/scripts/base_network.py @@ -5,7 +5,8 @@ # coding: utf-8 """ -Creates the network topology from a `ENTSO-E map extract +Creates the network topology from a `ENTSO-E map extract. + `_ (March 2022) as a PyPSA network. diff --git a/scripts/build_load_data.py b/scripts/build_load_data.py index 8d4dbb67..482256ba 100755 --- a/scripts/build_load_data.py +++ b/scripts/build_load_data.py @@ -4,7 +4,8 @@ # SPDX-License-Identifier: MIT """ -This rule downloads the load data from `Open Power System Data Time series +This rule downloads the load data from `Open Power System Data Time series. + `_. For all countries in the network, the per country load timeseries with suffix ``_load_actual_entsoe_transparency`` are extracted from the dataset. After diff --git a/scripts/build_natura_raster.py b/scripts/build_natura_raster.py index b34f24ef..0b5ce34f 100644 --- a/scripts/build_natura_raster.py +++ b/scripts/build_natura_raster.py @@ -4,7 +4,8 @@ # SPDX-License-Identifier: MIT """ -Rasters the vector data of the `Natura 2000 +Rasters the vector data of the `Natura 2000. + `_ natural protection areas onto all cutout regions. diff --git a/scripts/prepare_links_p_nom.py b/scripts/prepare_links_p_nom.py index 2e4f0130..55da75eb 100644 --- a/scripts/prepare_links_p_nom.py +++ b/scripts/prepare_links_p_nom.py @@ -6,7 +6,8 @@ # SPDX-License-Identifier: MIT """ -Extracts capacities of HVDC links from `Wikipedia +Extracts capacities of HVDC links from `Wikipedia. + `_. Relevant Settings From b5b88c65547a7a407bcab4c116c00891121de8c4 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 16 Sep 2022 16:14:30 +0200 Subject: [PATCH 224/281] lift rasterio restriction to allow atlite 0.2.9 --- envs/environment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 8cb8e565..dbe1bb25 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -46,7 +46,7 @@ dependencies: # GIS dependencies: - cartopy - descartes - - rasterio<=1.2.9 # 1.2.10 creates error https://github.com/PyPSA/atlite/issues/238 + - rasterio!=1.2.10 # PyPSA-Eur-Sec Dependencies - geopy From a9c8d8b037008f2efd9355bea3db4a8c6952d281 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 16 Sep 2022 16:20:03 +0200 Subject: [PATCH 225/281] lift ipopt env restriciton --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c753deab..d50fc35f 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -57,7 +57,7 @@ jobs: - name: Add solver to environment run: | - echo -e " - glpk\n - ipopt<3.13.3" >> envs/environment.yaml + echo -e " - glpk\n - ipopt" >> envs/environment.yaml - name: Setup Mambaforge uses: conda-incubator/setup-miniconda@v2 From 9597f821bd45a6e28a46f08a704ebf3b3cb3c54c Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 16 Sep 2022 16:38:26 +0200 Subject: [PATCH 226/281] adjust CI to new environment.yaml indentation --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 2be9b7f7..5d236d82 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -57,7 +57,7 @@ jobs: - name: Add solver to environment run: | - echo -e " - glpk\n - ipopt<3.13.3" >> envs/environment.yaml + echo -e "- glpk\n- ipopt" >> envs/environment.yaml - name: Setup Mambaforge uses: conda-incubator/setup-miniconda@v2 From e024ba68c934c46260326018414568442bac773f Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sat, 17 Sep 2022 10:29:35 +0200 Subject: [PATCH 227/281] build_hydro: fix cutout input --- Snakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Snakefile b/Snakefile index 0e5205ed..4a6d7a7c 100644 --- a/Snakefile +++ b/Snakefile @@ -249,7 +249,7 @@ rule build_hydro_profile: input: country_shapes="resources/" + RDIR + "country_shapes.geojson", eia_hydro_generation='data/eia_hydro_annual_generation.csv', - cutout=f"cutouts/" + CDIR + "{config['renewable']['hydro']['cutout']}.nc" if "hydro" in config["renewable"] else "config['renewable']['hydro']['cutout'] not configured", + cutout=f"cutouts/" + CDIR + config['renewable']['hydro']['cutout'] + ".nc" if "hydro" in config["renewable"] else [], output: "resources/" + RDIR + "profile_hydro.nc" log: "logs/" + RDIR + "build_hydro_profile.log" resources: mem_mb=5000 From d51ca8695bf2591ba3eb9698b8cfe1c5241194bc Mon Sep 17 00:00:00 2001 From: Philipp Glaum Date: Mon, 19 Sep 2022 11:46:58 +0200 Subject: [PATCH 228/281] update Fabians comments --- config.default.yaml | 3 ++- config.tutorial.yaml | 3 ++- doc/configtables/clustering.csv | 6 ++++-- scripts/cluster_network.py | 3 ++- scripts/simplify_network.py | 6 +++--- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index 0c2c8218..920e4809 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -258,10 +258,11 @@ clustering: to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) algorithm: kmeans # choose from: [hac, kmeans] feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. + exclude_carriers: [] cluster_network: algorithm: kmeans feature: solar+onwind-time - exclude_carriers: [] # list of carriers which will not be aggregated. If empty, all carriers will be aggregated. + exclude_carriers: [] aggregation_strategies: generators: p_nom_max: sum # use "min" for more conservative assumptions diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 0cfdc5ab..cf9fd318 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -188,10 +188,11 @@ clustering: to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections) algorithm: kmeans # choose from: [hac, kmeans] feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. + exclude_carriers: [] cluster_network: algorithm: kmeans feature: solar+onwind-time - exclude_carriers: [] # list of carriers which will not be aggregated. If empty, all carriers will be aggregated. + exclude_carriers: [] aggregation_strategies: generators: p_nom_max: sum # use "min" for more conservative assumptions diff --git a/doc/configtables/clustering.csv b/doc/configtables/clustering.csv index 02a7b1fc..1ef6e21b 100644 --- a/doc/configtables/clustering.csv +++ b/doc/configtables/clustering.csv @@ -3,11 +3,13 @@ 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" -- algorithm,str,"One of {‘kmeans’, ‘hac’, ‘modularity‘}", -- feature,str,"Str in the format ‘carrier1+carrier2+...+carrierN-X’, where CarrierI can be from {‘solar’, ‘onwind’, ‘offwind’, ‘ror’} and X is one of {‘cap’, ‘time’}.", -cluster_network +-- 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." +cluster_network,,, -- algorithm,str,"One of {‘kmeans’, ‘hac’}", -- feature,str,"Str in the format ‘carrier1+carrier2+...+carrierN-X’, where CarrierI can be from {‘solar’, ‘onwind’, ‘offwind’, ‘ror’} and X is one of {‘cap’, ‘time’}.", +-- 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." 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." +-- -- {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." \ No newline at end of file diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index a392d024..9b0f9377 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -393,7 +393,8 @@ if __name__ == "__main__": for tech in n.generators.carrier.unique() if tech in snakemake.config['renewable']]) - aggregate_carriers=set(n.carriers.index)-set(snakemake.config["clustering"]["exclude_carriers"]) + exclude_carriers = snakemake.config["clustering"]["cluster_network"].get("exclude_carriers", []) + aggregate_carriers = set(n.generators.carrier) - set(exclude_carriers) if snakemake.wildcards.clusters.endswith('m'): n_clusters = int(snakemake.wildcards.clusters[:-1]) aggregate_carriers = snakemake.config["electricity"].get("conventional_carriers") diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 16726156..b6e0afae 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -211,7 +211,7 @@ def _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, _, generator_strategies = get_aggregation_strategies(aggregation_strategies) - carriers=set(n.carriers.index)-set(exclude_carriers) + carriers = set(n.generators.carrier) - set(exclude_carriers) generators, generators_pnl = aggregategenerators( n, busmap, carriers=carriers, custom_strategies=generator_strategies ) @@ -321,7 +321,7 @@ def simplify_links(n, costs, config, output, aggregation_strategies=dict()): logger.debug("Collecting all components using the busmap") - exclude_carriers=config["clustering"]["exclude_carriers"] + exclude_carriers = config["clustering"]["simplify_network"].get("exclude_carriers", []) _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, aggregation_strategies=aggregation_strategies, exclude_carriers=exclude_carriers) return n, busmap @@ -333,7 +333,7 @@ def remove_stubs(n, costs, config, output, aggregation_strategies=dict()): connection_costs_to_bus = _compute_connection_costs_to_bus(n, busmap, costs, config) - exclude_carriers=config["clustering"]["exclude_carriers"] + exclude_carriers = config["clustering"]["simplify_network"].get("exclude_carriers", []) _aggregate_and_move_components(n, busmap, connection_costs_to_bus, output, aggregation_strategies=aggregation_strategies, exclude_carriers=exclude_carriers) From 92080b1cd2ca5f123158571481722767b99c2b27 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 10:06:38 +0000 Subject: [PATCH 229/281] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- Snakefile | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Snakefile b/Snakefile index 16e46ee8..1a7cbe9f 100644 --- a/Snakefile +++ b/Snakefile @@ -380,12 +380,18 @@ rule build_renewable_profiles: rule build_hydro_profile: input: country_shapes="resources/" + RDIR + "country_shapes.geojson", - eia_hydro_generation='data/eia_hydro_annual_generation.csv', - cutout=f"cutouts/" + CDIR + config['renewable']['hydro']['cutout'] + ".nc" if "hydro" in config["renewable"] else [], - output: "resources/" + RDIR + "profile_hydro.nc" - log: "logs/" + RDIR + "build_hydro_profile.log" - resources: mem_mb=5000 - script: 'scripts/build_hydro_profile.py' + eia_hydro_generation="data/eia_hydro_annual_generation.csv", + cutout=f"cutouts/" + CDIR + config["renewable"]["hydro"]["cutout"] + ".nc" + if "hydro" in config["renewable"] + else [], + output: + "resources/" + RDIR + "profile_hydro.nc", + log: + "logs/" + RDIR + "build_hydro_profile.log", + resources: + mem_mb=5000, + script: + "scripts/build_hydro_profile.py" rule add_electricity: From be4dbd58f123675676f53feaa355d57017d7cc02 Mon Sep 17 00:00:00 2001 From: Fabian Date: Mon, 19 Sep 2022 12:15:05 +0200 Subject: [PATCH 230/281] ci: explicit ipopt version for windows --- .github/workflows/ci.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5d236d82..8b888cbe 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -59,6 +59,16 @@ jobs: run: | echo -e "- glpk\n- ipopt" >> envs/environment.yaml + - name: Add solver to environment + run: | + echo -e "- glpk\n- ipopt<3.13.3" >> envs/environment.yaml + if: ${{ matrix.label }} == 'windows-latest' + + - name: Add solver to environment + run: | + echo -e "- glpk\n- ipopt" >> envs/environment.yaml + if: ${{ matrix.label }} != 'windows-latest' + - name: Setup Mambaforge uses: conda-incubator/setup-miniconda@v2 with: From 54f602ed94229c2ac7b2781b05d952a40ab65df1 Mon Sep 17 00:00:00 2001 From: Fabian Date: Mon, 19 Sep 2022 12:55:40 +0200 Subject: [PATCH 231/281] config: enable res installations per default --- config.default.yaml | 2 +- doc/release_notes.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index 42afde03..2d26ad84 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -69,7 +69,7 @@ electricity: renewable_carriers: [solar, onwind, offwind-ac, offwind-dc, hydro] estimate_renewable_capacities: - enable: false + enable: true # Add capacities from OPSD data from_opsd: true # Renewable capacities are based on existing capacities reported by IRENA diff --git a/doc/release_notes.rst b/doc/release_notes.rst index ce7be5c7..d395f035 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -12,7 +12,7 @@ Upcoming Release * Individual commits are now tested against pre-commit hooks. This includes black style formatting, sorting of package imports, Snakefile formatting and others. Installation instructions can for the pre-commit can be found `here `_. * Pre-commit CI is now part of the repository's CI. - +* The heuristic distribution of today's renewable installations is now enable per default. PyPSA-Eur 0.6.0 (10th September 2022) ===================================== From e2a414066398ec56e1ccb40937eca0ca468c6ac7 Mon Sep 17 00:00:00 2001 From: Fabian Date: Mon, 19 Sep 2022 13:08:03 +0200 Subject: [PATCH 232/281] add_electricity: calculate marginal costs from plant efficiency --- doc/release_notes.rst | 2 +- scripts/add_electricity.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index ce7be5c7..32071d6a 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -12,7 +12,7 @@ Upcoming Release * Individual commits are now tested against pre-commit hooks. This includes black style formatting, sorting of package imports, Snakefile formatting and others. Installation instructions can for the pre-commit can be found `here `_. * Pre-commit CI is now part of the repository's CI. - +* Marginal costs of conventional generators are now taking the plant-specific efficiency into account. PyPSA-Eur 0.6.0 (10th September 2022) ===================================== diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 64f18d45..3d9babfd 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -369,6 +369,9 @@ def attach_conventional_generators( .rename(index=lambda s: "C" + str(s)) ) ppl["efficiency"] = ppl.efficiency.fillna(ppl.efficiency_r) + ppl["marginal_cost"] = ( + ppl.carrier.map(costs.VOM) + ppl.carrier.map(costs.fuel) / ppl.efficiency + ) logger.info( "Adding {} generators with capacities [GW] \n{}".format( From 26295823576c487dc5a71346acee756a8ad62da8 Mon Sep 17 00:00:00 2001 From: Fabian Date: Mon, 19 Sep 2022 16:15:58 +0200 Subject: [PATCH 233/281] update readme figure --- README.md | 4 +--- doc/img/elec.png | Bin 1280634 -> 1779165 bytes 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 0e358ca0..aae9ac8e 100644 --- a/README.md +++ b/README.md @@ -37,9 +37,7 @@ curtailment. We recommend to cluster the network to a couple of hundred nodes to remove these local inconsistencies. See the discussion in Section 3.4 "Model validation" of the paper. -![PyPSA-Eur Grid Model](doc/img/base.png) - -![PyPSA-Eur Grid Model Simplified](doc/img/elec_s_X.png) +![PyPSA-Eur Grid Model](doc/img/elec.png) The model building routines are defined through a snakemake workflow. The model is designed to be imported into the open toolbox [PyPSA](https://github.com/PyPSA/PyPSA) for operational studies as diff --git a/doc/img/elec.png b/doc/img/elec.png index 52d4f772cb18125026abb3a2268d0720fd52e43c..2f688671933b908635bb4b6db6a47a452766715f 100644 GIT binary patch literal 1779165 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

(N~ab6OqIBO0`F_OG?^ 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�V zd6W`tp&G@OURJL#?=2@Y7Ls4!zVsClQKPVdT1X-m4am7DqhW=peiOyC4lPAinF(0{ zU7CkN9urn-HdF^2+_e+6Xh$S{&_g;CQBA@`B-pKPce~NEJ&V1w3x_}!=RTLV_f%yrmvpE-U?-^nq?G#A`drusB<0{Iom=w<~mNzEJmHPwVcUZWAo-> zelB#A(?%>7v>=uS-I2mSEtkAg-+sfBvdyx~0b%7slv~)0&K}x!<{rnZ*7#EvO6G#^ zS^XYThKog^(iC09rXV8yZ?yB^{Z|+QJ{WqSkCJJrzFsFWN76z!qi!4Ex@}l-y>r8B z+Hr#xLIV82oH%gX3J`=aNR1#u)%VgUFGVjX5U`vIk{Ro~|<>;oUgLM!^6b)Vx> zDp_Ou6#~$Hg8q&KBX&V7EH8FfI_Tu}ao+HhAz;R*GB)<+{pj@J)z9M1koGKW#g^mk zp8l?@XFs)E`#9bkM3pzZ20$&VE2E^dJ%ZKkT5`1u*s+GbYdnvhui2E8?@XlVN5}7T zJNUL$8FJXJ9d%*G9BA>XegA0L$9Z?Uvm#jO^8WJ-JS8?Av~ipF_J1_wSitllT5

MxV*x}xI8vh@` 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�na5>H(uU|pC#a=8?=?RdQ_ z7^umiFxB{q8yb=W4o!pGW+W$oJ-@B&c)l-6`g1H8`ubf0E<4|r)AlsrAIibz5`%M8 z!~cDLWR+-KYz?FDH4D_$a+w&CoiuniF_e-9pmzJW{aqee;gJZPIT% zIOJvDwa`TT{!SG7Xdi940**fwO5cTN5;%F<5Z;eWRYA<3P;4Dgyj2GnwzZd;1pHt! z{4G+M&CXn8es}Im@bWaW^|xNj^9e64*@kpT6duid{;D5L-Goy81lerCQ1pDt_*O$c zb#df;Y^>NEJTq>gXyjwFa=l{`3d+PVU$Pg9=msQRYNFay1)|vD6jbeQ(^cwJa?KBX zjhyiC%peief}am+q+*P*ws9nxGx@lPU8n|sL|TlBIlXgw7eN_(G5n@p?%h&vJ7%Ci zM37V{^bX-$?(9j$eTwqVFy%Ni3kwRIw@LtbFR(g2eSPlamIc)pivIA&P_QGKSTL$= zP=g*zK~=$!ix>FnAij==zNNKTV3!sZ35h5iqJaDLP76*EwMtu7=EI;Urf9+v-ApS> zsA2fCn$ic^DN??!PG4T&DQ{y=3rI++Q}(8dG*BSRrXjGh zG}H=&=z7m~Hh-~5;20>1S(0S$G=!fwS0u?YUg4JdjW#M5SKN_;CT@+~5e+7i`4;qZL{*^haBI^H6K!s)J!AG0GX1Nh*2{L|L;*niqqbI)NgRcn>5Bn zd=!KgRe#Ojo_}DircTJlAQnDJnKxm&*mNw6*RT3s`pW`ko|tm_?-%i;k(FtQ%U%KK zF`+D^wVTWt&14i(2(V(6`I(4M1t#854B$1_m6he|IEH>+Y{zJUGY-aN!3?Df32-XH zXqn_{B+!=I^H34xYsM|BDBHTea9HKGhmu&| zI{7{sG+BlF)=0D5h>{|(mzaOx&mnxJU?@l2t=y!JICT=MB-Z={bNG1#hL~R&Cb{MZ zukN6IU@7$Jd#`hMG3;r@!pwnVSsi2! zf7#WBuWnFhq9zT(_=|(^+X$B4^Yjs8VFWQSE)0e4vzmXRQGBQuJ$=GA%g4WapD@c$ z-50=~ha2Q;_oV8|(4|KTAsw)-M7* zUTS=|w;>U^7Pt`Bt)dJ&$9E-9imHIdCZ| zEH3_jfA0?9T*Wr#IpRql=;(TFUTFlf;9HIH?)e!KMHc6JMh(gu~CrJhQ$}& zsd>uEqb5A}+@h*ZE)KgOZ9RCm%Su&0&TYb#(I0|B2>hwHu;8rW0dT8P_W3H%sbWQ5 z_Y}<<1884%YhM2pwX}W%(avk`7i;=q^}m0$UdK_QBd#`INDY;gOO6h{`dEHcZ+&#Q zZ72;()=;we`@(Q5t3uN5bH^^bX(j=Wig(`bFif0c{`lP`tN*^44QrcbM814Gy+ZEf zhYwP6a$-;te!fiGVRUOWxOObcZFyRsb`XR4G*>D2>KmWZvYdst2jgG?iFowIuQZuG zF*NS4S}pSdh1aaV5DCQW_`;K%lt;X(QYgo8O^y4_SRa07JUULJsIWr{f9L)8u54fRYWG zqvbSjGAX6~iAu>#@LiTUETMOL+lw}${xgADvf{&vv0ij?b2CqzveE?pTZDGMt|^T@ zQRX9?sc^kZrEDuWU5IFlPpa3xz9hc6h3kkWIeQ>^mmm?(n)qjoVywl1#SP=vcoc6On4_G(X$>)=32%*OM ziovGnwC_d3{IlAvUTHz>FJ{&4BI(d;Nd}*wahWQ*<-*XB7~|xoFL)5>{S@7$d)qho z)Kx=VaCIaI?x>wcY#S~u%odcLq&i)Gf6?ea@tHBv@aGn*7-{BCZj&upP=4$RmPm5l zn&6)CxQ9weWqGsky{r@l6BZz~f9JSaajQuy#z`msOy6u5&Ca&P&+P@WZ+{Utjhy=3 z;)%i^(fAJAHaNP+Vn4(I_Mp0n%5OQ)uzTce3k zsDh!P2)SR=prFmWDk?gPAF)#vV=BeGoZ`Lf3*YU{4c#xNtK)$H0OSPXdcN>-hI>|M z?6|lTW=dkbh;C-aj(Dt4b2pVOws*((9V{tlYQ?#7mYiv^!Zl)-cTi>*a)0~UK6B0d z2$Q!NpqQ)fxT9=!fM91v^huUhn46fEDNz}HH$eNiHP~dvUz&*(P3>u=rLBDq*NOxD z2;>>wg2zPfto0ayQwvhHZ)3Q3mm#OixNmz@WKvW{2~D7$R)@+~s4EJ@0UPzi&WMF% zoA4nOcAU{uHiZnGKuM)6fo!>bw;U?QVaMB@g&y3Rj z80fk;=9&#ao&62bk$bknZt1$)i}>tv-e*Kjk*>sBt&W<=++DX#PTFHpuyPpLoHgd6 zRVB$hX2-nmq{C)``MTtMxz3-|c7Ejg8AZHnr;RVHx(#mQ0%fItU%bvBm04JZ_G!CH zwI(6*^3j}ZzYLs5(`25Dge|iGyS$?D#NqX8A{2m3A{IvHNu;(GthU~6>dMcu0hL*6 z`J~FgLjN-oJ^$BIhAhUT9fTM&HkLwr@_pS597;kEU8j-4p+Kya3jrl0&Iag=C(5AX z=}T*Qnu;4W;+QT1;fjj-YLLJ;7VyWyejD5;As|LdGJH!GC{+#fIrdYbFFJbHC;b+| zx!5W9LVRbQ2>xy47yY818D;Nyxe%!$q?eb^@l@57^@*?5@FDZz6bQf!$n=3cAas8p z>?zY{?&@BgjYG{$Z{G*Kq;N#O0uZ{8@m;^J38b#rylO{$?Y6}47&TeSW@4Wj?2G^O zO~*gWn7L0d(*KPz zSp+;8QD9wK3p$h-+He2Lw{T@4q!v!j&51iZv(L`Xs;H{wl+ps|O+r!j@aS<(+j}>IE9lMV-X^eh#pW+(EENZ^3MBNb$-g#bX;Py~ zSa;)%_*s$fl0EX{zpQL3c9PU?>`0q^tArE(;zdaN4(3Sy4E(HRLfp z2D-mbETa)B#^l%8V?nK?6fx_T_rHn`t`CSAG{G4nBnd2x4n%#MIp_OD@MR*zXpa+! zlYTKt?DRB5#FCLDSYpH&!X&d+g$$o0(N$ENy#$VS_M+Z*J)vlIzln*1Tfwds&Trke z=4m|*nUg0Q;4yv->x60Z`|5#Yl9BcKv-4g-CPc|p#P13J;^*tyBo1UsOGu^Z!g#uZ z95XzR7TD7K%RGOjKB*hh25y`X7j@+}FUDyGjfhoL_vew{69dy;-qI9%VqqARa$LCq zCtz3=nr0J^CWGMV2^h`rN00cV-^DgixcS%nc=<<@yC|iEuxvWk-`n9Z}W@NXg1> zr-5uz8mFzvY^myP0PUD>B7!4P9EKBJR!V=Xy%fkMS0>YK90Dg?JfPTZOytlYreudL zv^XLb(}HbW@xehZ9c7U2qGOLg&0#SNML0?y2G5*L*KZz6`2)OJq+FChqFo%w)~}=j zn&Mcwhr+U$llLnO;(0ROnE}5`V^H^nwDCc_xpGb>6kP<;36`Z=T8*y@rTI}nt97Wg zRS+Ld@MQhd5uz@|0WDX~cuuh?uH|@JsuA0Hz_~=D_r3hxQw4eJb7sh3(RZ;-S(ok` zyZcTi>3JzwMQ{WS;j*YciC(TiA|W|MVlExC@hIJ0-_v2j(A}%>b=?%ZQB(a~=Djf_ zs&qJ)?r|kaIH+!JNmCpex+>~0RDE%u-bY%22BAl4QqqKLI`)KT*V=&|cyGjdz}!h2 zX|=YI8%&YjAAzfR7U55fC8@`zuk2!6c2&-Hdml_-)!m zvQuj&nE3|;U4HZ8@b7;dlUnsz_U6K^Z&VuN?0)xuzj$w#O$BYL5Yl7WM*}O#hRYnj znG2)%q+Ey27rgMSJX4qDYer;8=f3D!9M15~i9e?pYIXfB%Ko=%uCMpiV{(7mR;xPC zE{^#5w3tmhnWIH9VaA5WcO44~%4q138)EsrgT8U_Dg>KV)VasuvYyq6=cJfK?|E$l z-|B4#62p4hX~#H4L)z!1Ki%V>CQnU2*)W76x<|mlBFDT>T#+437@1<-m4=*ZA9wX4 zYLVx{F?DaOBnbH3dTllrK7roRiOqU7@;hs++_tT+Jt+y&v7)5H;Z{^tKdrC z*w}dQ`ajyX7`86k-)+N5!6!oBS%d81L;k~(p05Re`3kNPpjc~bQ&KWUp^>nazy(~J zTJ8)0tF20Zip;V_&A6JK9Ki4}OQYAXp#0&71TMK6u3C&)cVhGy)&09Gx9TR=_(_N54_#a zA>(4pAB921o+&ku_S{a^g~9Yg_LCM6kbth0@*{IBKjN*@X!W6(a_>V!!|n>G>e+aQ ztv5&?Pknj(PS8lgkUZ`1fNOWZ=q{^7`EHVXH^wt=-EynlsU_g?>B;>OGSMU>t!AqBRtvNg-is9{eL)!p%)$HcR^Yx*d(V<#9haucInJhW!-iM=u-_m2z8w>*IrOnN* zMh`A(CyN*Ya2@);BEV$MSALx-8~niF1@8Ueu;>S(S#16-NhDajJnk~PT^ND=3{cB9 z%W}=}Ea%EL<~yF*@j0wIr{l{>fqDq0K2gOjAgwj7*Z_uqcD8R#4NF*fI2d`p=YFRN zlZ*?b38M-71Pp|UiHRy|YEysyNV~i9G_1OR)W7?!{PgF8R=YFGA{Nh>vu)uSJUVs{4a_a z`0t$2uHNufH~VGp6@4i2FRIjFHZ$E*AW!qT?ICsmY+*%h?ayDnd}-}Dc{?#X+xM#W zCDCjDM>Gb2x3OCeIf)r3j^*6oC2oTKskx17r9*@!wk>KZrCqy;J%{t@(X^CU_5ed` zKRfP+7i%Y;rpu>)Zo9pq#n&y<7XxxJnKN^BoOmk41pdJ7ae@hmG&YqhP?2q#F4?Fbz@ z*){&)cCi!2>`XG$?s-wSpV+S~8s5$08WpW+LY6|E{EYSiVcQ*H&hL5agY8#B5w}Nm z)Rric+dqbMXt`bcTkp5EV071>DbgYqB)H-jbWqr$2nB=teu!%-F^EI{j=SE{+Pq#! z0f&pfu5PinU@#^!EE12`-x%v)?i6=C{x?M2P8qkY0ze{`tXY!!EZcW@Ik_ls>&%i( zfY#-GZNLw&PF&E(;WrjYXQYjl%1tOXV~7Q{_m;;HsO6z@A-IY3Hy4^igpJ0SYa zsd=)q!?ZM`Mv9BZBO01e6(TIXbR9%!SOdDW2BZKKbV`)XwwOy^NOd8yZRfJD;b^wcM@WWUyQM41vnUy?Tq{fm2l zaHZ?-Vy|@`KUGR*Qxg^%h$^#-3RC#vW^fW-)hik+AiJvwAD-JC_SpRUTCZi_f((Nh zR9{bvuN4NDNi0h;&6MQZ4C!0%d>Qi|O#y*s{a8y}s=K3D@u63;rgU=M2?Q^z4pe2@ zqqzn7{mggSYD)Q{+vv%>0ZYpEtCTR7|HL?=LP zZL?7{xyZ*u22&IrIg|oFUUFus>Y(h07>4`Ro(du+WENv*VX9VU2~9tCRUVQH`3HB* z6%EYt0GEdMvKf6`+HahnIrr&sMpu(e*c1z@N4r^DmPcaoXr{JfEPsk30mu;u z{mUB|+@J5bWA|Vqrvgz>c&5)k^6+(0q(3{cb>;*HqI!$vEbUUO&Y#|){^W`IiPlUk z@%h<3f>^|gZ{fX{C);~lh5n6^U0-hxfaM&;_j=wfoH;k^JA%ZY4}VRu-RhWsNKQzK z!xD+GVV0JmlQFObO#d24HkYLhqm(FERvhZ+VnRv;s0P^-|CVaBO?+F?#8v8HD_gVm z^oY#OpIv^x)ci}k)0YWEMbB7z`eBt9H=xVCxQ?VZhdYF~8E{b~lLjxB=6oJ^+cE;-434I6 zWT)laSJ*i?E*1=<&q2r{U3I?ob@6}4mcr-80-7*2W_-8g(W3`?0CzsHX9H}*4C=Ks z8|^l5OTHOv?f~x4j(W%a``1>{gP)ZEeVm!o*vOTRn}-boG!_=Qt*z;X15t{4dU9YE z>M}qD^C%`It+E*CgZQXcmfhI+BR7}q=4i3!)u!fsH>~dfdaN!(1RqHmBL1&t$1MW3 zL@yh~rP9{c^niR1_bKui(57UlFybhX?Oyi1+{`U4k)jQVQI?`yF8>C{w0sg$j)5gd zuX53+=8;-=y!^ySS~TtFNlOS^%{4%~{bb*Z^ji{V>_z}lSmkB&*KS~ZWJoiF-GeOK z2ZmG~hKkV?@2S`v5&K2suhKw{ljdL`zWjHSCZ_q|jWm^J9c^URTlSbo*OaLxMdS4)jL3w=qo1ze~6e%qb>5tx`9-YXl7Wn<)@7$nRu?qI~ zFXo62A@e|^ZZ538xuv+_3_O^#zoTUxKxzI6E;oB#`UQgr61IC(#q5`g$1Os#u0-tp z)u{dhlXAkSL95bs2j3=79}z!I5E|m%R`EiI*jUV54|NPcbqM*xrdZ!N9FU7!@GEN`-oG)|G%M z>@q;GT}nxi^3Xy%4qe=nkQL|Hnq)XsbT5mh>-V$97jfqazPf^(Cg)DPSBs+vL%O6P za-TcnC^RuXKiCx4qiaL={vgVa1^*{b`(dRM=#A2n95wc%V~o8E9#hAr=-=qe1vY3R<61v>c}6 z5e0#-RrrXT)Y+KWIhkQD!mU6<=atz#lJgi0M62~ka++}U5Myoq|N zM3?7lMqTUQOYxek(A+U;_hGuC1DOZ~6?R(dRfBoitvcKf%8J**3XneI)NI%e@>;bn z4e;_zgME1t=k^7kTI7Wpr8EL3xe~PeOQnSr&7HC0tsbF1oqXhi7QXq0t*9>mCo;vR z=iK~bF=cE?yCL=qnnu#DVQUF)15LKFvadoZtKx(tr)%*w#nd+P2R|6Lx4Fqe(KNJR z1k`7nqp3yuI`A%p$G+0jFBMF69M+avXO=c_noFFL`H_XgdZ8(f84oI+rEQnd?H$1dx4y% z+~c~v$69Sa7q4*tg6Qspfk4H!Nx?RJXAtI+O%Mf9Dp(8BlBR9#Y1 zwzk%lrmc;er8-bP{XEjl!}`sNUc^?CdfI{#yneo{1qPnk29v^dr5`+qf4$K-_|}1Y z*>DsH^LuH@%(;$~SXyI&27w}9LXbP8_DNaF5)6nvVw_;!S?>Nc7TIW`x^AY8 z{{T)Hke>mM&&0-cu#djFa=?mNgmen+8z@dtc@D%Sj^V6dtko1&WAaxzxd_>aJ5tW2Z%s+oDR=y;y@J?=>e{sq*JSMtZLsF-3j z-vz=uzB35#4&s)Ts4j!-+FFd{;XW|yXoBL>&q;J&&j0o){w>HkbLHc^+lmKtoDP6J z^#gpQNNiv^&xfKEMjad*qvGXF>kG$z$FpWIk|mh+8X*Q<33jJ#|5(6q_8&JivC@Q7xLJh5ktY#K+9wGKIG4nP5C-TM7uWf4vHs*WP&D?|$T3x=`V z&tTOmbVBLH59*&=Tk_~1eQbrq-bZS$U#swx6?|dCzVCG#ksZJ-$gd{ll0FD(Rf0JC|GO?{DvHzUH1o>~kQ6_G_v*J2O*L zhg{d!7pL~ma%*#|J#%xt{-Be6UeKQa(@uapoiH0S5hmQ}h+y2iA4l}5Nf3hlC{)( z4_kui@R|Y_*%!Ve*U|?6byk|nXZ4Qj>mK5n7*#)pWJIRPqhDXI^uZ=fjXr6)b6HCOXKVf;|KfEnWg=?&oscBv`|l_9Rc!gRm4mj+EMeIw`gsjl@BWz@D+IJ?|>;!Xz=KUYycM8BY?(xL8iKLug} z<^GQ!r9GIW5rcJ-bid~=ci;V+T%D5>{zAHsi%W`4Cft)0=U-b*YVid12~@{V3!O+M zQV+7+%oB^uPeuTRqdF`5_uNWEc}ogQfM3KMA!%%3eou;W7`Y+l9in==ANlOS{#;7i zCjdCe6NLc#V%N*xmQCef7=dNP4jz6rT2F*Z8{=}YQqa##ZL)}#;E0Z_*upoMBrvML z7ucW&!~BQLdhy@-v*F#+Sa{`9RNdi^gdahH zLjJ=2STm%Ev~B({0mbVmh1p-a%8;6zG!alSBh4)K{NBfq(ro3JJ40y5Dyigng+)-) zY$C#OPhBCr6nDggRWQ)DH18eRtIohi<~v73HLZ#F^|^LL=35|{V_2TkxHkug&wPK3 z=MmnzXEv9iYfQKd56??i4HhX}8N8cTa1~{MhBXVF59x^N)m6K8 zKUY^_VxR|$_KEc{m(qhX_r^Cg#wQOs7~pJSeE#Lw1$RPL6xYHGM2B%&Ox# z?K>Z!7CMHYAm6qD-4rRyC-Zb9rRUwwII#*}ZKa8zkM_g2X16rFS-mzq$l26$wq zVg2k*J&BCkpljr(Fq!*>U@cYwXrtU2Ap^jm@%Ij(!<8g#BSbU4je);NN=h6M{$TJ z)=oO9!Rj%FV-kU2yAn|eTHcyI|?^aZ~6uR}*g zbA=~y?9^;BGcp$uvN$_l> znNwNarJ6}FD+m^rZe*OgML$hXO?9=h*kF6LtyNzUjk1v_IjP@TxzKLKR0iSwkb$$m zUL~+>0E(5+DwAlzf4(?PqoajtzL&?#*ESx{+l`P%;IB67@`p9`YO(Ej;&^%Jco{zR zdGWAm+Qus5w>H*HTCBIk22$Xc(NuQ6n+3yLPXS>37zTaWKe!#Kfaq#)FjGQt<)K&K z&~W+sF%IS^NLAIQ%Q4>9FDc@$XEQ0EP+?xn$3lp`2VY&*?bqeD=YSVb4ZH{rj`Aj& z`2Rc2Fm{bzkFzgFi?t!dfUMUFeuQLPZ+8&V>vk%hN*0tq0&$AV^OotSdZo$XT=}a5 zW7++%T*qb6xUQ}a_$EbdY#4HBYAj}H8JhRVfZ3e0Q;HTnT0f_NmrSxqI9XewhX0Da z*o>|2;ln85^WgroXu*5jd=a*!y{}dlv=VaY6a2X3h*as)A(qM^S!*470X;tr*rk6U zR^>H^M@Kt34p81D?A$~`9U~_Y9Ud8Z$s$)0S>@zOMQg?>XtxY8)&XdkyA**M^|gYr z?k_7`#*Rl8bzSH8!%6gp;0r89?L{B{t-V?nn?T3f>$?H%9DL8Wn>tRDV$`~Y|2(f= zcri`$;(dxAtZ2Tj{1i!aJUq89`*S1TZw%L1pP#X7!TKcm@4ZEgm%yCsH=u z8-Bn^^Oj2KPTDjkD{D<8H%$S_{m8E53RWL9aC(G|6j?>toW3+e2#5}FeZ#uK;vhr zI8pFSxjy8Q#jAMy*t)TZo3_QhVfHiIjnms58C-uVndu7%&34}}Py5pxU_?a`^QB&C z*U7Fd55uPelY>`+aRaX!%6B~%#$t_O&(U+b`(-_;ZBU$?0YVH?mj{j#at~wdGw5Bf z6v4ycL}Cv`rRpC6uB~vbVX&&u>Lfyd<&t>vdD2OvSLQ$!UM(-2;h#`-G%fYn zeRYtI;B(Je9fvxPu$a68b3Bdir}9fFs@-EPn%<0hNH9wjm$ua>t|$6xnNvlmsM5>_Z(x3;ri99?p5Lmzjf=vp{oX^|Nhm3#mSKkWFOk=vN4-+y z^b%cEBBKE{o@zsd@*uT6FyAN9$no3W1uAUZ5d*rDFkcv207a~gBqgs#1Vy0#v>I}= zr@)Bod9jxtv?{LH&!TkEc$xYZBwO{YY32M&10n0(`aHKmt-2rL;iN26Dv8I}*UY1U31i?O4ks*@Q@?h-xc!e55lT#I(%fEEHe~6i zLCkxnW9?J^uCW$L5dso6(xOnnSO4?dqpLIv&xs zn;Y+*(N}l$^1^XTK8$4WCRYf-9&%b`S7rO2W4H(Ix0fSW(-)Tr!ky2+pqjK1W#y*N zUeWb9qw_28Ig@>>7~Dk?jfi8LurJMWrTs|i=M)Yb zKta0y7IU;EbCZ}KtDZ>gX49g)moD^ni=?!$2n^TZ*PomCHVxnG>S43Ll(fdDkFCcJ zKCoQ~a8JKg6ZkB;HcUxLnXaudDDlAK>Z8tE8^_5ka*x4V+JAW|tBhC-HAIDR>EO6e z_it(+sUA(vDMe~Xh55U}S4UDDq!LFivvXGkN?ewuA3w8XYPxcBUKhlV!v0bFYk7s|A%UnVSQV zy#5p3T}t@fWi?smvX8I3Y1VYEVqBxc2+k{I1GFH%pp9WyFK@o~`v5MYPZiM5+Fzbd z9f6i+NFe-X>OY~e%nnFw_P1wWysz?ztIa0KULiC#jT^x^*nG&(cjG<|$My3U*Od}Q zJ9GO^Bj7+@tTnxSI`tv$SR4Oky#y9u@Sw(W3-l-_5ik_GJ>Ts%opmD#CSLq+9ro9AE)*&E zS%k~`kxTG?GTL<`2pi;3e^xYy5kKuo02>FH6nY#*(50$nYVg`Au zRj0Xg)Cf@f`};;FCMYQ!@{EXz)rS;$u_g^^PxSN=va(`~QaIOBA6n?ens-FQGTeF7 z&@Uxb+4TB)#+GC zlqYc%zKYK;)g$1|p!(PaRmUn=pM>oJqX_6vj8P|@rPG^90b74il#dY#5&;jqgYFm0 zw?}OFMl0mxjggNC-M*c~sEMEClYdB7d1bfsJ||%v=rV-OpMKrsHimIlws%=d*;V*( z{H6&HK}apkPXju4+k)Cy!bPDUMaBicJ)JF%-gtp7sBy$4Js5`1AGem7S!Yh;AwM2Q z+*q5Y^4|nj@pk{>$COM(wC5EPX=rf=avWiOo;~}0SsyMONX<t?G;4DzxefM$2=r%dZG6rZ zCk%*}7AvT7wNPpGtD$-$qjejrw}^r6a-OI9VzUz}?}t~BH8|TMaS-^^?vd=>(ZpiG z2mg<+HcJT~dP=Furae$7z41alw(X{c`_QMrLKNJat7@weC9>uDl9Eov$tg;+X977X z5p&t!^MCx($#1NJg?H@>g+PH9;dI~X^_SgJ5|z?2$M8@YGeX+wfDh8O z{yrQNM?F4G>9dza-EH-^!tw#^S`r_|pkFa|D z_=@I{hnpnJMAPGhQIO}w($8(GM9`#)?$M>88S~}}#447k9$6AdBnu{L7C7H(vC~OI zAz-l?LPk*;_JT%q7QgWj`M24n`~xz>l*OfWLo3BA7bFsbTU@GU`#XWWS_Wld!uPaZ zLKsYN7(z7N1NOfTF$>}8RersXi`~nn>l03*{7%&*l!fB&OJy7)7Th*KcX6t4j0U=R z&CNO7%&AtF|41v~x<=`Au|@Q+?za1y=zUMRg^iiY-QitiU+6fdm#8Bb6*kaP!&<__ z+q?MJB)|hrg~#{7s#xA6!HX6vC*pS$rUfthBx>U+Tw+9iEMl%4l}3lfk;cyU&PC$4 z)i2i0*S>52*f?v~ONwsq{`Pqq|6v2obBmq?y9aBmjLd1HQ4>$gq%G#O!&DD6Bf9Mb zMKxJ~n-!OuDs7@>VrJYW4XALrg`UKL8wKX4^6jJIo zF?pI>Kry?!)F;NUjc7T7RR|KU`m5ll-Dtj!tiS-az+Ue**X@|RtB+|S;|E6ZDNt#W ze#Z#O$wn780}kH5%rV9Z_#|sOAjorW9x=3S{`UTezI|L69U08*j1NhR^|;vvk|mMm zueU8-qOw2V#S2p~I}-p$$L(U_?4v;!6qaZsuI{U)5(~SwqA*zBX0iMJkCqV0@LccT z?u_sL!J2PoU+#TzJ-#t8WS2g1Me6b{s&WUon@ZMc#rzoD9f;aKs5Ts`UaX3mm_1#~ zcs`u~-al+TSHHEF=YO7u+G~G7`_Tr7K=CxJc|TC^aG<|VQ(2h6Q@*oknq_>l+_da@ zISROz3>}XbwZGZ`h2IfCbl!4jO_~{PbO+JtG&1px?mN|(juW|@EQbzncbn9Hsa+iW z{rl@;jq%=#Y^FR|s2NWKDh>FDI^K8NukC@azV~Scwf`9j$4sL@lvB_*gvkB-!%53K z%_L1Q`utn-5u7f(Zpxtv^Pd`*?F8v6&%28%Xdv9Nr=+BS(<&}8QA|tgPZj=)d&XcR z)W;ADcky~8DC3e6r+@j#DL*n~yqotE2r=Pm+fI)o2rSwF5(vbO_Q_ETBkJ-T^B>e^ zkMeTz7=PfZur>3+J=Vyy%zyR>PafxY3q0>L!P?%v9H#s%xnGpj=<>yvv7_M)s=2kb zu}bO4_T{Gx3-G&IPwsf6tZcuht@wV04{-V;X`GCYDZrx-j`Ogvu(RFchBXtwrvZa# z{k+~V=xOx=F=L+Grw7~If`TBy$BlQ7K-=s;{pSe6Xcx6vPZ9olyV>JRh2}lZ>l$T_*lSwo4P4<~74v30}bnDR3RQ&1`ID9Ui{$WK(>Xi^kFFjMJGsw%Av1Yxr1f#0f+X4W7I<~zvXLFW znFxQ161F{uwS)I(YgwstU3R+n{325E_GjWU41NZ^s+Gqk=i}D3Pk)~Rxu^>d_sxU| z*E<57Ne6+i@L8h*xbe$E4L<|muwT!9zWcpACl{BCi(y7(Eft{;OjL@Sfy#OP$lj_w zF)312ZG@UhvBunV!RWdxdnm`9tv*Q2Q9EZYbnaeURd`aBtO;LGcZ(y28HrVj(KSON z^BH(G`5kDCBF9D@KtZf z#1)08gP<1Og+&wSj0z&eZ(bN{e?R;3?hVAQ7fn|ux0XF&Qk8N+@qbd^)ac)iGWDm) zEv;7mi5yf`y8K?`?Av6qqK?`h>PJi%$UMDX{O?@qsr}VaE>2%@{i~4nP+p8C53BaB zR6LG0%(e0H?BJjRnv;>mrKAwy-x2j5yGZDMu9u@0&@3#YF3(gXMz{255{r=M~XQ`N@QaInfMo!p&hFB7AM|AS`#ML4qWcpzF-kY zMP$PXHpDCfujo)HiZq$xb_haYelw^z6N$vFn9V^{iffM>2(w&qp;NFK^o7If^QSmK zoi!iqMszvIkfBCHwey%RJ{Zg=DR^Hyff$B6%7uK@Bog*E#C;CQzca4ngAA?Qdd~{s z5zk2{hCQLvow5}B8v~r^R9A8wX*k_^gWS;PX|}c~hFZ~Nsch}aNlJ4z z$QHeUjenEd4j{IlL)}Jub}{y$(K(yaq)Pl(jq$0Te`(lj8Y3t>7ga%Z3t_%nLzIos zP!0ozl&+NJ3ZeXM9Hu*ml#;8~%i4oH>%sLN45@`yzMW+!OI%=%Y388QSb#3)4uWvQ zF!4IDWGi<3E3CG35*X6;NbN=ml6IgLdnUNRKri{$q~YU)h_59+ZDsX|G9i-@@P9<} zVx8I9!7ZPp$0obwkmR4&%qMlB&AX2k-|rsLVf-k8rvS`^NzFXo*XIK`P}=szQ1bIK zIa3(!;wg{6&T#GEjU&)Uq)Ik3c4A0M`#08K0a;7dOWlW9u#n+$A+rVsIu^9KButE) z$(L`CfY&q9JBBUerQ%Ak5*HWu@v2C0`;{SAQk403Qi6CJ*u%N!^?mqXkv^|BkeC3} zR~O-KZ7*lXoh$(gy#8%B_5$$v0DX{WbE&wpvZ%Q^)$MX8W9ot<&DvM;VC{W|+(0F0 z#8FY*t{G<7eEPTcBC3S`3N-o;I`K%2hArwPzK>jHy;u|EaoUz#Z8&hzvi20^IL2)% zdI*w@uP0{Ru;cdQ+tSpZ=eG|$H1RT2J6k5?M)md&yr*ZEj^hRGQibgW@AE!{!eSgj zL!CVhV||8TSE4dCs%mIT0djl@n6jNLqMe@SP9SP>*AZasZlAawy=P2tGqS0H{T$e- zKNd#q{?*J;+^vQpq;_eOJxlBpyw4ae_#1>~caHW*Co)D)beER8*#>FLTEf%OF;M@F7|L zo@Z&+7y4tv7Hb;rq9rVdH|iog!g9SP=kts3vZ|wh4Z{x|C%G+RlsZ#fIG?-?;oCaX zkQRq-`?(ncXlqv*mCdH|!$GgGFmt-|WNYCECsZR;HMH9(5xn~N$W}_$3sm07!~M zD`<3TP--bb|7J)YHXqPXk1OH@ThX6dT&InSzTfMB3DR8@i^q}yFp21mHHRX=NKQN z9o(PbM=tmmW3<~puB9F}effh=vHKH{mZGufy}!$3%payFm|ML;%2lDK2$N>P6Hb^o zGF}kH0ImQjHcYe`PXuWsH81#$iMk)a&!5u|mA*Mc^vw~e z<_p}{i}~(>OQZBMA|IzEIFx#Jj5qKhpxlM8)yX_zDI?cBVzi;=K~!HW%OpC@#>dyK ziCcx6O3`8sr~a9uHUm$7?J3&~@38b|Q=OAtNSg+@EnV$TYj${h-D)YZMFKeL)}ob$ zdxaZhBt>|Xi)ruOESrC61Qh~8sxNI|RAL{UFZ25$OcLRu?06U$<}0fU7!akD!7S_= z#pOkl6z_@p`ti%907hvk8I+djfixr}Or%OYq#(7o?t;xbADHBz@)oE;;bLp#(X|5?!wr^$KxzbZcX4ww z7|hts@|1inj3F5_G09Z^vQ6G)4rTW^zr(T7zn4g?=Eo=#+ezp5@8hOygk)QxMK5Cx zaVmHh&|3OmLLW$k_NIHdjXxG!5sdmJ`HjWX6TQQ?u*A(u5?6E}!<7o2XbPK@!>486 z9YTfm<24=IYVH1H<8erT(;$w-0wZgzerMBeXGWcz`aa2+cLFmKG4qLnB6@Rn3isQIR!4hlp+(Nj#ycpbH zGeq^4G0JTmrl=K;b^8LtC({M1KOiWH=N{XW)t*&bYki6fWkEr+1z<`u;?kD_`v zKJpFOnOoLaKYi zVJY_EaVfF|)xyzt;!=!*XnhrfJnoEGoXVCH##4QI|Z}UU@&ghUpVw@;p5nrccwlYqr$o1jtviQ z&W`(JqMTCdJp8e=vMEM-Dg2((9uzYn1CLM#FDJkxJIe7T&+y zSUCdxg6{5Kb9r&OWc{LCdRcFy^*0pi!wIyJxm`Ga6iO6uKIMOJ4aUI0_;1 zi_ew^vcjmYU?+F(%15W)o(}MKF`Bg|UVr-juPO0v1oictI)8Yg3F`(^32>UM1N-9_ zP&|{R(Y>Q;r>ov zlW3{C!)JGQ-zivbXb_Nt@4q1B$|ZLF24WpDpn#;MErP&#*DsD{p6s9Wq2O8|8sMjs zX5Bd`k>-{y1U7N4dW@BAH+X_TmXeaGIy>6*F*sR1e%%tj?y|s@zQ$+>od|Ry{~*_G zZf;(vF-8I(s0QPi{9x`=0PB7bge-+ zf$4{Mo@Oqr8KD1l`5!$6goANX(LWF`1iEN^yf9B&{R-j)%M zI}EksN1hTHuSkcLYqsPOs@*d)H-_;9<-|xJF!JqNM5Lsw^M>&(>71@Tn{~O*&p-s;N==hvY&Uz}#SeT>DEI>{hWymd4ivJ!jx_8hQ6ZwzLW8UlLOP zW~;+8H8Fd|iF7-H3k!O!rN;E950urc{T5^!Eg6NDl{$Y;aydR7Qu-C@N#CpN^b16Z zY*@k3xn3clKZf}$j}DQL9LuWX=Rc8}ALVs2z0DgtrZ;*i)lIBOSov(px@ z(M8g`PK1#LaHy`7va-GFHtKes{CxmbfV7T7W%LjTzuq)IeW zu!{F|9vh~wI_%%BdWMA`rzGlCX6o9?mB5GrZfh2!mft!D+D~(v=LRp-pL2O*(i48B z35Dfh&JTRwV)Bwy#v%dU{>z30!}~D5s_(2gfd7@Jf^M{grZ&vGtDU zJ~XC$BShn9!#GGEnP$Uo603j9e}u}AY7!U~0O71a^90UpK>FDoYcfCEj5V)CMgMs9 z>&EFX6-YYJblr%2MNl(ac_gdYesF&_Q89vxE67D7V0lADMwCHQ;S$qpdZ z`Unm|%KDSBx`JKFkDHQa}H6Hxr z9cuY*0~c(n%uKv=g8Isd&mvKFBNzJXo=-lDi2!K-kH5woP)F(;a;dpGPaa=XUiZ0e zZ~I8q)rLET2a;yHA~=RIA3A2SiP(n@KofD=Kjijnf7o`c@odf4WMsW@?mGL>Qfo`8 zm*tA2@GkUA@OOn?A8~uQqM7giG;Xd|>H#FmROp6>`tisX~FjPdJaeZCm{L);OGH>HJv}$!$N^+I*e^LH>9wF zDAW!PZjg}Xld2E2<+ao4^!2Alk;sanmlXb^CnfsX?t}3%ysX#@c5MR$YG+;&4Q=~3 zuMY?>Yq?zyZvlHJ{>w43p$wk*UQ*x3vWDW<9n=U-C>ea2c4M6RWPv>>VCR5=moa{2 zyWEo6=(zK&aRrIs|0ge6Fl=;ZqZ5hQ=xDxHE|qQT{|o^AUlwcy0dRKFmws|WP`;C`6O=V~)MPUg_PB*lBlb|hib%;NgT zNq#Z~7yu^{q|3~$H#c}wRhmP+6Pbu@QpGJVjkzZj`g69k6Jk3IJ+Cujol$Db77g{< zD}DyHzJH&wdni7|;b6`A+I5vRq%@lhi_*v}zWhS~d`e-KklwA%gR@m2dGctzZLz6) zxC5c&Yj*RnBj4b$Y|_&< zgK>5GpvInB($RI0`gqZsiEI1BSVe`sihAO`+6W1Ab0OyRkX27ni^Hd4ice$45&| zrtBFem^`FvG&@>9#?S6V5OhF`)h_SJPMwC;IP39#1A?eVBvkr1MDCkm7T94g)RgTW zY|{+JcPRzt94@e6`piP2qQuEcZw*WH#nrB%Jd#xa>149A!h3h(qM%glca?kC)1vYk!?AgbG-L}sFjg^2HlqC{NW0(3>T*9_rF&mWzJ`UB z7a)TGWtNHJ)=UJ@F0Gz76F{B>SWc=1aydZKAI)WBRMjE8(-ZmG0cunGP?9|XK;WRg z$pJ_p#(hei10*nmvn%o&gcN3OK@K#Pd>$=pEOs@4bQ~ZK>|WjL^Sm+Ac7K-?rxaGY z2CJ#Vg!lgadl)Flp3P6>yH-CKkVD@Fs>)hVOp|;Cu0zzBCi8vd)5$HxSc4Ktb_JNp z#W4X|_yj%S4+U9`iBZ$u-^ zh;T;_^*G?92)=p{8wr=`ekz`EC`v&5)~akm4@#iWQpArsw88O$n>HaLitx{uLNk>C zThd8X1-No1u2;HYM|f)v3I$7eyn?*a1}YM;nx7beDjg1<021}SH07!r<5k3`{lP@e z?L}c46^Wkyy$jv$;*r*H|<|j zhVYt1rVW3KTxi^j{*mQwk~ zc(_R%LL(L`-beMhrHRh80h#Gf8r47BvVN3ItU8b&7OLOK9c*$Vk7yM2($qx93Gb^1z`MYbcLX*P&_^O$oIrz`? z5R|pqpgnrR|IQ8p-DyQm8~utPzn=1EOAE2z2g~W-Cc|l`C%EBnG?NfupjeZm|0d9> zy1hKz0PF$^9Ij;5<5zK)6isB_p8Nupg(dmOE)jbNm047w>BrcNvM#$K)Q{;MewHEL zXIxwxvz5?#@+cN#gH31Ik`;WS~l4>^Mid` zlrMToahSD3W|nZN1t(_;8+SFgl6lpx%I8OH^v`a@zFN@u62UX90Cu@FJPd(voG6Rt zbg{Nx`}mkNI(gP}@I8s4fQ&xZP`m0&f8%iz`OOIp5tl?LnL>lATd_OBjjjh#32TxU zd0ITl$|m3p)Q zQX|$te)0P6B#D-rm&Vs`D3Np?J6)~}3o9Z_m~qa7P)Y8m|K;bHs$NIVQg zuDtUL>u&oBsflsZ-|wIOHaa*g3=!xM&BCQLcwF}2LPVpHVp1YZ1mT98h@JMjn0ohh zj#_HVaT;H?KcM;B65ZB)v&0$Y)csR0#EXur42z<>n1ouEr6w-27Uh_=GoaEZ-52KK z3e9hWc7OcA$+hB-MWum!Ekz;qYWZ2-bpt#~kS=tJpiij+$B?U)Rv zNr&8Tn);dCf3+>sx9&|iL^KK58N0wyI1o`*mXa$|t!yAsoLQmAi_l(Xz$uka9W<}; z1Rcm1#iLnY8b5<3&=bjnB`sSFMF;m`Pl6>-1-jd#?b64!!Fc-c=+7F`#Id%x&$;88 zdsum98UN@AoVxmAs|gA~kFKP$2g?F#>HY1-s=2ZAg8uw)zg%_XyOkvTWm0vVVi)-w zDtqWOcZ{^BQYu8)?aj^KjctN0k+1T2UOs}U(MaQl(E@-eppPcWE2&E|*3={$^d7Xx z*)aMSp0Jt1Gcg?{YbH5;7whcvD1pZwuG-Mx!~w|Fi(APT$K8lN*IsXcwP;)xldeFi zC+ydHmGI0mMggu(6LESQ6hu3YvlzIWL!PT75^8SS*S-TAu1Xj}}Yq zowLO(O%DxIY-+2o(jCbGaYwDg%i@#3jC{xBMg!9{p}z z>}W%z$?^*ma7WXSpOselqHadbiZjfCGRy%drwVDuk*Hd^CY>SQ3n5jT!b2mJ{k?qL z7$f&uLwI_~DLz~nJ#$waYYD!CDav{D?_6CZPYLIrcQP?V3Owoy0hdmwb+v(k;e~_6 zs4=1HG?6v$9|y+sfbN`hT40K_l`1ZKnSp!!Vx)G)VeMj6b!ur?W7!=}8oSYCu_68! zCGK~g7;3`E*yeQcDvrm zJX-60&nIG(b0feenbdv?<&uXXjlO&RfN^w{;MS}3RfdwL1NNIi2|uEtBVO=F*^^A} zj*~j;4d0!Styhz_?I;N{1w_wtXF9$CZHTw87m%bqH+gb_7EjOjk<}N7!3!c}U`&vk ziJxM{V>Q8|e`sL+*!=?JEm?u!Vrz9A%aT%_vG|?~@D%{UjhoYs0`e~1UY1lzzrSWh z_?<2Vca|9YDD+wU5qs#nKL;mXJT{BmKz+gU>dbnLB)W*tehhfkv@JRezF!lG{;%lX za3q80wdHyRzJYA%kWLK#JlL+Ci%QEGCO{nTU{~rKeH%x029yPv0P5rj;2dXtl+j-E zfC%)zB6C;2)6Q4&Lh$ibUbhwp;0RYUdWDshvDeowfDZ_QHS$_pNm_NIr!4*&RDyBh z?>Q?fDyo1NYAPz=o;J6!+1^gK-3H1PVNb&iFKNmzia^KU(%(r^;m6v{66Lc!F^`s7MEkHUO#2g!L=j2e0DW+ji z{He2R1W;bTgdwUGdb=;3K;vZxR@9oG4t|Jyk)OPs8};cKNMtZS+G}B8Vk)4bd_(8R zR6<8o{Z~}KAaD?G)8RS86E*@C83w9Bo9WO6WYn+)L@oTtE8jpSlAoLfV~A+Md)n8a z4-iQLD0HtFDVw%C6Sh&Mm@T2eH5gX~4dN*+noAcqNj6q*JB-d^#N7MB`q0OA+Att- zi2PE(m=j5CiE@*10i%^BffZAp!X_W_H13wR;yTeZ7d8=Zz&vR2w`67m6}DJb-uNH@ zfrHR-j>Q@Af{@70YUORUHjQHlCRJ$X%gqamiD`CC)Z)^=?iGWE%_oQcxT1fCmAmD> z!Ms^IHi;Cb--gQUbc{X~&_|r$EBoX2^z4fo#%es^nE&5+ftY=pk-z@-5JS*fkRjfQs%>0 zw54cR5v$e-1qBH{$MpK^)u=2{`kmQI|0J)wKN}n&XReENXWyN0_U@#)r3fjGwTjX%tUSRtO3s+PFlrbu z;<~(EZ;33aFSb%E;xdUHda$1Qwda>M@1lLN_O*z#JG96S?Z^ASIBSTI}e#5@5Td^z!E0 z5t1AgJQx|$T8czcjrx1vxNop7^gw{Pi{Ym91d_W$JcR!a!HCG?Kk?_wE8< zw~3cVuqL(W2Gb%fq_&^(+%wD&*O7{7OC<7qG4fP!{ms9)dCCIQ6i~&3g8&Xb7nZUJ zrr5fIa&DJ$&LHny%upW4@`wyXYSe%B0tv=N<>h}5uGTT%OHIR^PsrsLB4}UkH@m$b zzdG^W5hu+KACyUPF-3KK^yadukN|TVc&HADvJ=5zl>=TX9n`cZB4xtnIYUf$Pfwz% z+{~)aKa)Sk-$(uZI+~E7M!95@imJgLsQ!Sz@H^T`68cM2s=bC=U-gGL8+LuRLP{xt z4t<@Tn1v{3Jqcc&EIR#eyLr;5@9XY#jf|OAYj@7W-Z08OVaX4h@C~-V>d1M{CA*XM&Zov5!6Tq3ruE$ z#pfK%bE@QqhXCeb?W-k`KQ$SqgM|tlJoZ&zzS4#thx+R9`Ib|SB29w}+)OqNnp~zU z;%$0*YO5g}O_qC*^a``MDLe2#UpMGvrNyrlV;(Ht0F|fJGE;W+RAM67Fz%UKS0}f0 zcmJk+)e8U?o+u{FFG4<-G2?sojGNP(U+%3`vHWt$M9S!Hm$~7f_o;8a!ey!ujiVtc zEDh8$eMTDQU`{xfmnb}Qz#*e&)TZyr7&?+r9+mL`P4Q5?1Js_WeyXhrDHi)!aAl`52ZhA|hlbglk z7IQL^DOjq4;s6722nwPxPbcR9l3TSFnPn;;+-#fWIIk`PdxY`z1 zm|AQaiaPrHqNOMZaxy@Vr?x*G**=~I3vISN9B;gmTI-iw7HD+0 zUv=u=##WaT88prht4A^6VPcHk|41rh8)^1@WeM0oZ6yu=3k+U6rFu{FH_M*PNVtq4 z`!jD5z>R*<=ivx&wzh{-9fNKztG`cKY=IbStXDs950R}=PlPHS`D^&bf29vxuPY_k z@jWL%a3X`Jk&kp?d!4G!*8*9aFT^SkV7#L=-1X~}+FeQglw`TpMkHZhw%qmC0m^oY zWYgo^U}T}atguUK;maO>M$gJ(`WdWDgNHtKyu;N$p=*i|@sVMD0J!OVObksKB%zSFE_S@`$O1xY-c;r0 zT6`Ttc@{Ne!I#?GQNr4}1UoYRhr{Yepz$|4S#E^@GKQ2_xr4St|GSrI8>MVD$>-En zCkYwS2s`sV;|XaP<-+)Dhu;pxB?GfQ{4!Hf+7a3uviQ-4S1AqFmX!a^$x$#2_Xy8up7HT{B33&|HwZlf%M1(R!u5WPNGbOF7zN36;wq2)AOG{nX6G+ZH_q z6}b)0uqyMz8GNi*t-oB?8VbzSKD@d6s%n~^ZJI8Y=L_xRgD2 z{)J$!b!C!PTiq18`M>qy=ZpN8phADprJa!2wG?mr5&NTqqa%1xN6PKT50|P?GG+J{ zx;}!A=NE?8s_KbDR9MW*oPov*>9Y=ffkMRIxc(ntOK6s4qulY~gYfYv3)M$IPENR) zdV7)U`1Z@Qvo)>W=1yTiBg5decmG+^BkNPv&!zUKr|a{V`DqHFIf5(R2xCN&#soLa z{VbbUZrSjcnKFVmR#5Zi)V*5b-Nx@-x2tNx$DHMh(VBVuw7u1oEtV4!q^sMO@spkV zn`OiC)3wLr!)hLF!tLP?&f@D0O{g6kD&b#5J21Qa*uxsDp*S@3AM<(5G zFlUZxVDMHmJQZt1g9JBeOUvFD?^yVU^fdg8IDe|p2>RcwB_MX5BXZ^jVAvn7&)OZg zS;*Nh8jh4&M!i5leMpHV{=5`bgov$Qored%hz5Uh(WG?2)W8&_q{CHTY=ani)?!Pl z#;4?)*^21}$Bv*M9KPnUC;byE9?7w>9iu+i>^`U8Nl!uX0If*<4`3{QSiVtkM8Kkw zI$e?Q_7)gSW;R{@^DTmi>sPO6^{Xhnm&DcXbXCNr`G`|RRTY#30Us)9(KwKz)S_E~ zmpwXjb^}&6uj*-_DaXdfwgavz$1W5umX>T$>x!8{kYmC1*5_6q7L~ZKCz42-_wV|G zEg`5(t6>bkR+F@B^nrx@WqM-<0h3B9hD^jCMvp5rYl15wUPl@O9_AL%2LHbLgI!LR zBLVmq4C-EO%7qO9XK;&g)*c0@j!+7MpAtO2xu)a zSP|KnnFWSWBwqrRbb`2udq@!1P=onIc{HsgD5@mD>s#I2OqptFDu9qz6qKHLx}o@M zZ@e!^#wd;XngZT_H*EU~X9w7iPKzUgZCM)cT80!XVS9U4U%-jFeOP%>u(V|0OpnyE zX$*XQFbWy?#i;yG{y;+YMq!lvqFx*mKBpowpKLM9CAfqhN2dJ40u!+Omu$u9{$OA% zT`YkXUZ7iAhbJ|(>{)KxXu)czuU`cFqfA=*+;mzbjY0RXXa$*RH*aJMN9ge(M+|3P zt2{~9eBVIEi}3bm9R92*4m6GrXVRJkcuNjQ((EQmcQfsnCB=KU{EOvsyvkHZEf@H9 zOU_dE^Kr*54W3*J7M6x}1XQ6yL)j~(lOz3d@EUb6<|wddA1Q7rF}$pWo~2Sk2wO>^ ziQ_|QLMAxAHTiv~w`&C#^Wl%qHck!yi@-7PY+j#k z2u#6ZqE3`N$qQf8%#U&7Aw6a_tEl3mmgqb|GaEmvs^UPH5(Cpc}SOZrt>^D>h%IG0G7j=)jYGDx+hH$(}D!nn8{7J5Yv)$wK zUuNY$=9cUA?Jnb~*EI(sXO5T|!WVJe~p=R6y5hAeUj5uI_{ z2*)Pjvb|ivK%<`g{B-POKDis=k#7MdNmzxS!Sppw8@`07;|3w^BB?>2Fy}?|=dbuj z8v4^)wvmLR-bfO&9Z8L}TRTT+zGx5l!OA_J_q--iG6u`DMvOfFC*nIyA3;x4hy<4?=mN#i5?6sADZd6S)duxu=0jJxN~s5U+qltKW~Fq^YtQ zatbm;D1Qj8($Q5VZ`9l$DhVckOjPG|`GPb!;Tp_)6ks4ZycIE&^b&-wuzy7oeKRYn zuyciM)RvaLVkqjraShl$MAQ4U=t$w5)BJn$NGv!dIa{${c)Eh)K3zj!MJ1TFWd2~Q z2TgD_JGbwneSii{ypQX*mE;@&5)t$i8^XUno(RncM14+9*LVSAoHc)7S+d6^WoWW? zG^AVj>u09Vd&{*v4~Ys=KQKI|Yt zHB8Fn4jpzJu7s-5gfk?W&#&mcyEB@{E1eqfzFCrVaA12yw2B3z8iP?)VQ~OBpl@vr zF1CmHFNWB`-5S4oE@E&CU>t%_Nd^F%K@-3`Nr5Aux#bkP3hL@O zucENmdCe;o3FNCA0=~p6*kCB_1Clphp;-2)Bv^yIen3&^iNm8c>lIuCpc45*IrA1rT$nSTIv_p3PW^#MNt8-OL2Y<8{}Y+oPK zu^%FZ{G-pvJx^ZKj5hbH&`H`pJY;?)6npE699JLp?yR`S5dFHoZhrmlFJ@u19VS%$ zS1+)m%zz!=4j&ntH#5bV7l<7>q|560#zQhcOHU6DX}xGb9ZN(B+|zysyugj1V<2W& zgA=-i?Cdec6EK-|=R6x)g^mtp)Aa*4&6Z*q#ZGZk{ zMF;%@E!|$j8kvHT=#Nr}q6$t)bQrH#_~!kEB~4_0A0z7ax2>rZg;|W23t`ri$Q)W_ zp4lZOyB}klX%x35vwh!Q%x$D|R(?JG3W^E)VR7N<(Mq)GjsldiaRNPJ`8Nokyx8*y zWH0dAK_FHXPh0(k)#-z~*>Kw11z#3ti{RPngUVi{=pBS$IuK5h|1)rXdpoLK_KOw) zeN;Ey)zc#t5$viu+uU4+LM=@sp(1SUFS-3C%|4mKCpD4}e&M2p@knrJ+qoUzQ)A=1 zf}9T;&h8J2D=K!LA5L~aiz#2`&j-ozF=uU3vE7MRpBw=~j4I&d@5;v0DN2yqCj&Kg zap_K0DQd?Ezc~s+^hk~+){t$nPbKwVSf@DjubScSq0}l)Rcb3@*O06}U*y#A^x;c> zk<;zEIKN$1^zp|>-B_+eIXPZ}85~d&CFjtTP{pPy#Ti`fnC*?|5Y&f?n*s)+;(*+=s5`o6u&r1eXw+DaDsapt2=W&sg={cy8``i<9N*l-POb@urQjur z1R@3n8c<-$iltyFi*XrvFU@$7;3?9`?4P@-Br=_GFj(oY19-_Sli3O6OMJsB6yx4yBZ9$Z|CgcXNVV7wD!z-j-x633N0YC~re z-fdaLNf(E*Q$;HC7$Sb|t6mOoA8DB&pRY%hnC|^wn@& zE(LT|EvmZt8p*mB;?sXIfG2&^#e%-!8?5ZiCfXpYCyM@?h<6fIoUx^ynGi~0N<55+ zt&)~$!b-pHlTl3LOmAR(1kL8==5k%R81ht<0yaXaMenLaqAi7@mk+}CD$B-=+!mk0 zCu5!O3U#*2#PFw@=5)T?I~gf$_8Pre#~D&f3^EGad4O^H2<`^cI~zeaD?7Eozv8dk z1F4|)d2&kgcyR2)=sKYgrHU$sU-^f33AIgquDlp9=%SuuZ2@E@mYU7sSna5tVV%~b zzKdPv)&qW!i-PtBy)QWGTg(gf)dji!k~_l(7)e(~zkD@AGis~ph zUq~&st68muZEqfq!3x{u;d=5Iv$ihR-?YwV>-+jTK8ADOF6DjFt`&nUQC0Efe1CO) z`)A~@yS}r1s{P6Cf^8R>C%@e06xc}>>y z;Q_=QJ=fU(--sYQzn31Oc!qP_9U}*fIwl}XffR>(9^u|V#%0p(1IrfQ`EJs&_KsDx z@W4ABv4*RYh2P?b5d-#}>e4cqDcYRo_dT-wFk%eX$P~t%3P~80972)SQ)J z1jl3E8r*uI>rtKW@ccZ((v+vK?e%aoc{?td&-@wPQ#<+M6L#P$=s`_G1C-p+n9R(l zpCj)&LP3fL94hhGt%1bXq5@K*pend{(bEzVx?jVjT-zUXUfHnP`V0M-+%6GmzRy^S z#BjlFvE*J5tX>fLe~Y3HJapbXIis#-541E_@Y=M~Y}s&S*~CxgJ-{csQW%GG^*gn2 zngVbxo(T4#vniX?<^eWgxX9HH!XQ6=Gq8oC8EF@AVQgP&h%IoDgj3&ETGIcNoXApd z$Kp@+mFNSamX_4;OtyQ0qu$rUvrZEWdKj)Mt9BXb1I!T_^X>4SZybSn3h03fG(s7i z@0%szu|C2Us;yI5;l#&5oAP+9jXEH@ux=pYT>V zZ8JYp1(^5vR4ZjMWv-4%9w8+b40PYcpM9RyE-kQ9CZw}?;x|*-`3CGM;w#RsuRK~w z)@N0}tv$aZxYqSKAD(Z(<_A6YcCUXr zT#=#1Uwo^Q#5eAD_>2qYh{WPF=4!#7yvGpmZCgck4CwEQ#rO%siXPp~-yHjiru9eh z*pWkS)kYZ-LO(}cz@hVpi)70t+VWdo!*e6AkWV#6AIDh01=S>I z;x~sFwU-I!mEOMBZG4FL3Fqp>gG;W=v*N>%PZUpJd1?9wx7)!@L3lpOAwX@Ep^Hh7 zK_Zl|qXAfdx~-d-%e-zeor1 zY@>0m7@Y^PM_K%Peorph_gT88!{wjPn|)p_IU|naYLQh1MwbQHL8)jtLJbi?{-iO4 zrGZEBO|Hv(mBZ#76Pq`Nl^x4H)pvvQjb`w~v^UBNn7qGenZH~!uT%)kZ6v?t@dt`# zwwh|Rxz_0U*0xMDT`?6EUUB6sAE6n*(hSFA+Fbkw?Rn_QwsU6Owc{)VLdVS<1Fhjx zX1^3}q?8gDjtlqw6V6$lX@;Iha43P%p^4L*0p|1Jbk6{Iz-spueDTWXTpP@~_wZ@+ z_@IGII&zS#1l5IGfYXiH;3Pf;vz<;{f5)O>0Fc%Qj2*9TmZb>uR66G7-2EHb`bm`oBF5xr1@oFITP-2vg>Ul;1E}3~r>ayttOf^TEeyJ zvtATWDzJSeZfKH$gna)#Ge{E3nB z)=`~wk z3{9XLDEqoYFepC*@@`kKuK+`H``&F7G0(fb1n(N0QQ1Ld9h4Ai_P8RrWFklu=`r;2 zQwHjQkOyt08v;m(mI%*YqYK1zNArolhhJgiZb_bW=r+4)~m3M=de z(%6STw11NZb0^uUDZgV^BPc0v-J|X#xLK?E_y~fb<2vBkn}FGB%UKT*G7)Flh9eln z-!KpE9DTSdTUeQAFH^&7LX?i17cGrssOlZA&nZiRY~17E;9TE-mynZdZdG2cFKR*! z5E(`9(dppClq;f$#T*!ki*~Ij*^UIMO*zI1ovK>vlE%%=KO=jqrDlBQ9=5z_@JMt z<7$71)@Mgbmf6QU$+-M}nWoTbPQnwln)&+LxOcR^(4^U|+>E zyiQycrKM1>rqdhVt}~5Ch7Pi4v0x7?MYdG4(_mV<_BgJ(=mSPx<-)dS_*?}Xnv2C& z?_G3LT7ZWrf+Jk7s<8)h?8F5a@`79ICS zFx4p6R};VhejG~av1i2SEu7?+FSkV#3UlM5_JN{u0|VD~~;6tb

7C$IbS> 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

II1L)e3mMNhp-=Bb~ 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

%JOiccfa4P0QdN)>{qezNAH%jQHRM;;34#2Am~ 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%0A=1*ui_zw* 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�Ll8L;LD91AE=CoQWMJwL247 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 nQ`vDGhB!GzVn`Vp5MbY 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

p!2utRaLdIxX<| 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�NJy1GIDX9$Lu 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%0A*!FhkR5G;62=rs1=~9s+HW)3;sl%l13k*vs zQ06<>fB;(`aJaxvnX}2HumiXFM{z{M0-QVAc-iHaj?PB%;?~>1SgnxLg(lE{ z5Vn5Vf0?Wfkc;!fy!1#7b%ks>V*i^sjdAW7(PHWlxoK1BKNUXb+>NN0?f?#v8vW1m zs8NejrT)rrd;9Zraj5_QZjbW2%YN;x8Gxhu4T~P!=m;Co%$xHD%C02gS*xm|id?eb z@$&YaFDAO!*jW+LRIxgZfro-VDT~`me>A;TJzjHC zyWKwd=g&@W!qmfbhPkG!CqwvRc1TBa59v@l(LE2i(x>lS#InjhYK+mu)vs$??QaSL zvVmr)2%C9lwi+oLB2LO zBuadYcI!%_iQ);1D<&)$!05=zJhQd)Hb@Uu9GR)|z=lIdZ%JxS^v748{No1y=jf0| ztAq!x{tY@h`X(Ib{wFrMbUu>9eglO#nmJBRbgain{95ac1__^7i1evqc5`~Jq^NH1{M~B8A3scpdy@zh)6n#g(6P~@Dp5|f4BArhV$f5$~kqwKrUz-K-=GQ*?xyFQmM4xk_0mO;7W&k7t4pzhclZgf&hu21Un-AH0 z61>TR`_C8{Inrf_j)KP|veChhV&ktx8A2$cB+7OTWd`DfrD;=0qIOy>xq%qr=q9`? z;-{$cm+)`I8qx7xfI!Dekq;M_X7L#Yct=76vGGar)@>|p=Kv;MfkMrunA~p}2oLVo zLC8%O$fN;k{aUO|Lrkk=h@!@ErNvfhRUuPshc-o2K6zqoxghOB6>@Ar{kyHg)r)-JCT~vn=(UHNTl2>%Ict7y z8jay}cPnmYy?bfp;gq<&3lMZXYtx&^&WV!X2T{tuct?g^+_Ta>9X$TikP21K-%O$L zfcu6q^fxirU4V+p zlgt{_wOD&b#EAwNps;N|y{#h|KyiImDmIV37U2v3{rdx)k)2*xpASBO_xdkBJyl?% z=MEb_trM@z9dEA->sub@o87noZ2{P9WG;ww&{5BS1m{JJn^l`u2cgng^gH^utI_qVew$uO z1quOa+%L;?+HXm3PE6{AJ0P^*BC!~Te!!wvR4FVkFQ;wk>Crd4AX7@~_D54JH8{a5 zDk>tqT;p5aBQon>l9KiajJ?m7&HcTU@~f%r%_1{WU-L?h4<_oJTn2Vz-!I0@BqbKI zt1obc=#oSDYIx19hr)T&Xm^J+U_i`fmuR>0LM4Upi0Y_EJoJ;2%SnBi=6i<@&ni7M z#Kg=j^RhUEP@p8LdI|;hjkUA16rL6b_%L;u9K7ep#|x~1JB)|T+tf6WXuV}xt?p>f zMkyhI`*6I{BI79j-bhPpyvb8S(3F}C^zx`1lFKBs8B7;`>)Wzd*r?*+hI~=aB>LVp zg^~O8DIAG4a6@aPEK|w5ZKXRd!y$ewPlXYQkVky{jWx7Yt7)sZ@bU8C1?Y3rsQHy5 z6nJXegRmJNUsr2sHr8T~PeO$*fsmk|H!m@9)R&6XtGhdGzFw+Dwhbup(KNEVzdA-l z7)VHUY&PNG`bJ_iZzB2Qg|LuKPBfI-ANuqVm7J{Lx%8Qb%gNp1O})XO@nfAX5kN6J zX3jS5e}%gDhwv`e*lneeUGgIJDU$&aNZZv&;H>v6;ud z_hHHFUJnZQWN*0viIH(Idtv$H4p(C%w+9mCHSk;rEccFN>}|{BA5i*v@WKK?KKED9 zNyD>4L=s&Igj3>>ozUwvT=cQnn1qsZx9Oj_jQFzG&e`M?+qRA;d0$W&;V{nb*X&9l z0q?!fW7RQNd1*2y50YA3Ir&R%zQ97_|AZ8IxGzzec2$(y^`-=O)iI$gKuLdkXM$7c6gYW19mx;m|ynOXj%68Hm7Dx8O# zVvC?i3&QUAm(-*>?gf0utE(or3m~%F`CF_pHEX^%mWwElhq(3UPaPg{1O~N%aSu5M z2NETvJs&$(^@p;X1TPE~r5uUr8tOlW7zHN&0hMn+{rtSqXSP;r3OMJJ4AX)NMd z$Q+J=4}zBT4G>XKvsz%qYoB-%J2_S5y^Pt+S9`v0rjmZie+J9nm)aGt@=D1U!W^?I z$Aj@0#-NDKX)+sQf<8>RhH#wG+STy2HAvdY6DTgm6dom7He2+0&z7=jBkZKwTB;k0cY`AwNh#+FJjAS4Z1#+^`J+0kbc6pwu8-!H%$ufB8 za&jdrH-b>+YQZUgrH)fXaiM7-C(mr~HG^KO99RD+N{)0(?LCArNAc`mOKkx{s z(0igBHR?LG0nB7qrMP@*YAQH-q8AMi746>nEEG9NV3WgY%udwh@hpe|H8Hm4{(k47 ztxmjDCrH68!l#1{-b$C=a1kKg@ox8%b8okq%16z}$N*oz!=t0K%gbzo^k-n%STa>c zA|(wJ9)r(k%#E&~gDnWaC~B#p{x_KFphmTl7{-{w{HC_{%lrXb025Pws2jtZX6zfA zEeu@a5t2#2glR?m-i9doy@dsq{1By|wBP#Eq;>$PGIjq5-$KapqhXrX;68$@^Y2bf zS;}kxmPQlGrR`=4)mvU(*{@4bz#Rp`c{eJLv^Uq+J6gORUYW`l?vj*5Y&xS^etjn4s-Efd9jL!T1w3vqGg2V$L??ozd5O9X(~RzOHdJa&hi% z9_JIK%36?>Mt`5Qh9QlzNYQHZCa0kq{~%Zbj`(&~>=1Z@b50kAv@F&BiN2Te&s;#+Pu_tTl;sGg$XT^6Uhnc;*|qb(_{FaTkuo&zzKe*S9J=9n!lEx+*C z;6x~k`9Dg_B-ZM_HUQh|e!Px@$hEw=Jxi~%<#yL`v8Qq?YU|@Ud_#4Sd|;pgEfbT} zO)HQ95{*D)6uzSHWr_Zs$d|8a@p(=%yJ5buLha0$JxBr#2^O;@-7Lrq3~2ps=PQar z!kdJy2^U5^GhV`c9+E?$;%Ejs^7(>n3kXC>lNq>g0Xg&b$?iPN3iLbe&H4|$PZiH2 z$tqYW+w)iqb|)Ii2(!2~Tjnwdq>c6m>YDZ=RI*6$rrECxgXNvibHd|aD+5@owz@;H zflD;Ni)!?gh18Gs3J;fB9~E`u!}~Y;bhNRJ6Cc;;8|QQt`lUV1P*L5m-Ct+V-z=By znhJH?j3>_43Y({2#C-Cx2fi-$p(MeF5v{Y5uSjXy$bR2}B4g|TRr^IF<13TVl~M3W8~BVncSgZM;+?vaWEoqD};6}lrAn!jH#uS<9$K$@GJ;05xaz8IT@Ozxy_s8&*j zKR<)oLA;OQv3YX!+{OqJ0s;WjlQ-@`I4n}?pQ>la+Qy*Qj4fLW!Z`0wu3in%(kPhC z=0uv=qabE~a*r%ZU}P~nx~A6=vd)%SZC5H(OlQs#E6+3j2;xuTNro6TYeTMzlv(VC zl?k+#9X>0d8dREW>F3INRq|zN7g3mYyoI|t4vVXGK@u^>0U3gIwWhuvp;+X+u5Dm6 znqSOCg!1>7KX4@A_a+cP!QuDz%w4opt>n_6Q_;J-Mg6otL3m>C&B;Vj!F#pJz&?xF{3bVt+yfNgkB1a%hynV=)p7Sr(tIVNIyzHjVtu2( zw%o#CLSjAc3`B$c0?dJB}qc>hLd4sr5m=|!3CPik6c>-%bnWTOzH)Ejc1 zXgkGRG`#cJlUd8o_Nyo4b!@%SMBXwg)}7(bRkbVX% zwBO!0*fUFIE?-c!6Reg8DE3CYw!Jx1%#}-S%dTFG+G_um<yDIy6dz0C|#{KrEKVUTUKg)+XLid+rYSR!k+5|N|9Ih{aQeQ{wA&?u-m_1=)Q zwDdK)h!sx)iO}bIM;gSFrS?o)J^G&*cL#DAf_={-b?RIm(D*J-9VQH20AW z6CFM~E504EXAImla;1KlEm=E`3w1o24(i5c)U`+=+8N9e`}dn00CPs!@RG~z^hxW5 z?F{`8FHe4j(O~NWk_il22s!WK@i>`$)gXz2g2HFVT@;NP%l^Hu!skqPCROC5(Sspw zxc$?URCUhxI3&o&fA_Rfv3MWkTSSkLAqSdm{+rq41ImRzH8Z}X#fx4LdEJ>mULqqI zlL|tZc2ZV`bjpH_(|zg~qngA9Ci9kdSBVou!-AhSkUbL^*i0X|njzXx&=cNmOqy`+ zI8|1ts6rX_>7oPRbe1}*R#o>@)o`LE0ZDSOCkk)mFsu!hRdEPDW`G(x-R3*{W2epi zy$#D`jxY!mH1qj^HgqL}v~rH!^MKPxD*tGlRDx;j6nsE4@(lY7wPNg?cv`-EzOTUj z0IktLEXn3PtE|s6r~QP52`FSNm@i$$?|o7%gPH?Wh2E&(E~l9@yGV-9*Th67`*GSg z9&f+?F-6^NxoPn*EjsrV|Ns5ymxPIH*Yb*1e?d1N~!Twt`scN$ehXg<`0d* z_`RA0HgnzewMZ+w0)Ucpn4y(=zYx|}v;9NJKwkOak!clIIMLGRX+RN+PdHat_bQ^^ zb7prP*FsFDWR^z+8t6cq(9 zh8K$UC#@+kU%uAjX8vtKrH>Xf@3n^FQTu1B_pI}*NG)hTELpKaAJZSsl?2&OmD}kJ z>L_HQ7~Emcb|l7>J|BPolb${J`u-bv+T^qKB&;!*PLHd zQhdhATUaO1m9<^(f(0X6IvpQ8sawM1-6cwYEdVdV_+>9PkF7e0mOFEFN%m`w5{oJi z08~mS>G8EtA9J7Gv~Q~4SLuds^dzB_#eMTVKpy_tdREvs;od27oREC{7V_bHNRnDE zG{avxB4!(L9jvFi!!*7JQnz$~tCZXvh4v=spw-xswMfO|G(qq!(F7b7l| z1P7Ch@yKT_Mg3q`@)xnN7~-q_l8FM-OG=s~GG_CT`Z$)8eG1g% z)}BvnaWkbHg-@B~_04}VxvIb0q;nLnT6ubfaCzbwiHp}5u>m^&d~foy!4c>;U9M<> z`Sw+aps!c8Id1hH&~=YSoeUPO`cUmYoQ!w%=mS$$PM%zEQ(Lc5Z^>$X5Glpr+P2!~ z$sNlie*b%!lih(u232_$1%s1*Mb z_;3nBXn~4jBkFzGmyR5)9X{uq!JoYqoeM!DBP5ZEcB^&xQ&S zJUy*`mIdAzJgj(>odVE7CIGTy~vTC(bsR%D-vB_g$C|c-mnsciAyk zmL>=(^|2~svy?3un6A)#ku4fO1v<6A5yWOGo(wJKMd&yEYF zpHp~TmRznJ$c7;AmNULJIy;)LBx<;vRJcy*;<@YzEVBnzCNq=!Y0FjLhn>+X|C&ed zG5ph3q>}~5YCLRw7BR?2z3>!L;I<9(Is^HH^<~kUUZXyl(cG}a*jIdo^dndDf!F=o zcn&GRIT4!l`-3k$w^CRR(``Pq!(w7#*`IwadEOAVEAE;qP3NNFHCOj%qKng;HE{1R951C1~bSk-l zp{4p5Ll={i`kPeFMP$5ct*Bk2z09ioYs1Xu;`Tp96f*{gk<^36@y+5&8L*p}>~u!P zTJ#cxG2gGP8P4$r6u3{)iw*+AZWEb1p>eI8mY+AM?(9eC`Lt>R2Z*%gtT;Z68L+Ly zGlT|3nG=u75!-Zo-lNc#R<=)-T&_lQ)>sc`c|9_K(;UFSof4$u z)xCAIl696Vlc-#17<&X!#z#EIorC+&GNznmr5iz&RI78bFidYXE^c-zx0s|Y z6HR;jW>?R)4eQN$2Okqk5Z1>si-~M$7^^FDwi|3lO5+__P&je>3)jE*w}AN1&wWo+ z#j>O4IZ`+e(=Gvg+Y@`}!Yi$v+eV?UZml1z1%dzW+=cb$bkOEbeuQBdGkDXz^-K zf-=m_RaGtxH@e!FvzpA!i6SI|V2{BgQ|%4mDuKLbGO{yy+9dUA+Vhdp3nmq*zFZsF zWaig-l&?SSEroH(Kt(1c{vH@GJcxE9=L3xK1r|uFLCYiy4*f~aN`hokfS}{yQK+WQ zR4r+w9JEZOQ1tps=A@nej;!%YeP?|niaITZG#+zi+qZsD&*iv}af3zQwlo=&yI7+q zKkZsD9o9Y38&oG0G|+(mq9!3B0op&}oj8OsQ*o-$zu|DwV&+|+Y+ugn4#~tl+U)=( z0fvT$hy7Gx#qo**i0Q(qwM1N%!I#_NvpJi;J^KV&7hD|?;9DM}MT@y{t~@~~?8C&n zmJ~kUlbPb3>f9H|o6F2r)5(cC7SGRdTuy?dar%Az?H0GTSr9U*v`&~4pbBvPV&JY^4PP7!Rx zsPx);c6e2&Yjuyb$It5cG*2mS%{@GjF|$#K0HRdB~hRkDQPz^aF!((< zzli}s8^r_b!vvW138PV0y%ZhxY~%xmhprf%WYu{7A8hGv5p)tA zr$5h>%#A`(iESPy&Ak8*{xwtUCyoJ!Wny$DWk`N)XP1h{jYUkHZgQNG78j5daOQ17 zx;y8C!kmGO!{&xp)RJlyE5Lt(N*0U^M`}4utJ&b(-9>BD5qFa>{|FpOncrx?7T~ZN zBYu^5rT-PD_>2!t*xE-NS5*) zW{n7^4NDuSYaKhVWF4Ro%^r zTyuA*&OK*MHVpv*2*An+51~=A;)^=dY;c5SWMriOrCB3-xk?6oB#bG!DxW^#GL>hv z9HtKd)lcU0J-e@a>hj;ujHC)Hi*ngq?|1$c3M$xFKT}u@h7&7QcCgwMrw3l2>$Bd+ z=j+9P4_iHm2bad^fe`y_FXV&{&DAaDAN>>-F%qB5;z|@b#>E_n-=6#EENV_Sf`t+C ztLIhhxR9hiX?tcmTVYxfHC_^F6fVE3DHG1zXBRw9HQcvH%K`NYXY2lOG(7B(+7+njV|~UrY?Uw-T_s&DbU{mXTrNL zF{#o6cNd15t+LzA9-3eYiOi>drQl$n$m_ula;rRzJqrIw4|QSQh;r;!?hU<|GD*!? z>o0lu>ooA@WRVe_v`Ebj#QiAM2pZiT|FYtNLO}3=i_1qRP4;GDht3SVEk@toNNV6# zueduON&WNZrg3HKwESWxgQ~B-V!iRe@{&a|OJLY~x98{I?|sYUlhV--o4~Q!)gl6a z`1B+{H{X1D75f$#2RW$ZD4))a0RJ|1zYb5J!zR02X9eRAPzW#MhEhT{*uZ6;!cmojI!?3iL(1g6;fKaEth0)Jg> z%JoJ*@iaGcy6X~S<;vw=Bk43^p*vhW#*Jh~ld!UO7K$R$7plOdg%feRl>NPTGL)nM zWm})pS+)Yu_1-{1!FpbR7VGl(<1LzwphOVJy!dXaa+FtkPGrb!Hz-|>4jwr#|6)Bo^=Os$Xz`y_+8OYeg z%`{u*rEU&DbqEmugruetU?|X}ySuL0=trk7oXABlY5wTdN$J~qHv&B}ET2Wc!#Y4m zniK+?gm{gCmVil}&_t zsmV|xb6rCN-Ugba(qVw*dTGAtxda6U)~L_n0;q7k2WicZXT6GaEYBd7u!5M6eCtpx z+TULSNNR+v8D62)6L|Re9BNdxkuafz?oSU|4Y2k##!vCtZTwdYP}dn$&uxNqe`rad zQJXvS3zzyZoe*G!4;IQkQZLLgkj991-4Ex_gx0CtgJBM>QAv=V0^*3xmlcphotGu> zOTBD~+KZO)4Off6(|46JC&!*_g5o-ixYVI33}<>B@!etmL|zx7G>vN4{X3G2Ypcwb z7YI-WkY6fzCjb(I>{}loY9SKCjPq>u;xzj?`vK2%C3Csd(u^*{v2Z z?&=o-sShwnw41fp#(+j%S&N1CE`k| z&~d)0S@Zc3#u=xq-Oe@WEZAqxBILBpeqVE;q`|oleLZ7HFDEkJfe=z)cOPA(T<$sq za|^_;6G@5}2S~X7AKrVO&ttsNK9QVc7ts+x17F{T(&Fy8c?tU6mbAfKn0`bR6x|7U zf7vhQ3Xii_AnTjtiB%@Hy{&rF@R9DDAOPDZ`e9j-k^flCbd~A}p@A^1s|F{~8tsqE zYRq$^{to4YMk+WUj;*p~wRiqERMU7d-BF{X(fzI6=LIaAGBIQ8@S9-Nr6gwmAW-CD zGD7ewnaygz*~Vtb)6aofKUaUo@cPv7*!fVI#6V9dOp%?NHKOH}VzyJdyHx2tOm0Q120 z4ejp>dbmMLWj8}ch0Q9TprGKZ_fj%j*>RYYcpTpAoR6UBiGa^D5fqAy1D^y{_$=6s zuGU`9BNInItqDBOf-lNYa}(I8@-s6{|E_%z^yKkV`k5B+PMMkckd;AoI=I6{Z@ElKtVh@5<1{c5@AVRkcBso8(n|;C~;&J_=s)_^dRV5lKCtDFr z|IcugXy0r>ipGLWvSOoz!_@pdfoh{)ybM0*L^T&h^lk+AH_MxL-L;WlxTXq$hJT|OeIXoLY|zKo@Dm>eI4A@U;0fp%sFY7t}dfCZ?>cqNk_hm$Jk1XBH)?^jW^#5l0wrJlytStNtncUDd;uYM=`JJ)IdV&h*Nw z_gBWzh6Ml1r(zNK+~HI;T@Uw+wqa7TNXeY0g=(r{ZpZE2ctnsE6fJP#)i!q%q+dvV zfAHJl=2+NjUT`Tx2yCuM%GKr>GBP5Wvj%(X3U5?&J@xpFBCnYeuqL&l`r*AFY0al} z742DQ1`}9|?F>BQ1|Fv!!Q!%6%EDG&(NW;#K>#cdti>N%LtCXdeIOc&xsmw95l+qS zQ%M}9!V1-17e_8le7dKswOjd0e;z&Q@oOzJL^`2Imp~R_%W8EHr4<)WGbooct8+Ue zNNG)#=rn##<#U3=?%iqKL3+5>*mQOV#n~!9c|DVV&&H%AijQQ8xe=F_dlF;(pe6Iy zY$k#&Gi!gd?Rga^--{xd5)uOIr;WTB7LWts>ECPn0@7H@|H%6ra&xGS728L7@p^KW3fD$7?!bn)?tm6at=F8-a^v7h$?-PPU5ll{M2ZQT8Qj8AR zne$yDDvqQ3-h-!L#qXUVzo&R7n?)pT+*0Z%*d6DiU&@tlK5XtI1|oVTSf6-*DdO5lf4%Yn2HM1k6mUxb6z5q#_0e($D00gjj8n^yyHOyb$IICVAbsEzxQ zO$$w~-G6s3b{we5pk&;++N~BVMmnJ^k`S^L{v6D7gLn4<06!%f*kFfD$r=3w8~B2tTINm|Lv+m5cK90IAM-SulJfvVBMR3N!x)w6wETXa~#+a7Wu(y zJT94aBS%hahQBlVVSj~C8C2BydXH*b-RJ#E;Rso2Ni%MANpPKc5c#m#aUku3Jap0 zg@P1vY;@?oJeeF^MtzQzM1)c5-B|5{kT>QEF}+v4L!HvN?soR?B3Q^ld-y?vQ+bI- zLSbi6*5Cl?)w+m+pMO1@6<%^S`C&5KpwBYRL0kgXbYTV@vQNRo7x}-{HmgJ&92`8n zyug*|w$CdLQVc_W{?zXZM*XAHN<>Fju3eR{i+NG_q9%Ai zd6#1~(*2nyjKi|6Ya&|g;RY=0l4uLrT|Gkt_#(ec`r#0QwH8lMm_JzyA|7w~$IBk402F-?W6aYnd$IZb1iFx^vuDmK+xB2Oslogzi}#c`|BN`^o8kgzHKkL&ayis%z$QP%xP3CBWtfZRj`Sv;w)N#kXrH~e~-m?|# z(C(^+Ot28nI_xEYpNG_x#Nefw z>yY26M#bu%tIc9=nv3WtXJ+Jhj?Le=^YdQ=B{}eM;qrNYhOSPo8cdMjbP0zE#m@Q} z+}1P7$iJNRtyq1lgkg2nNVBeu+{WgO^|CuDiqT>jNev?Y1RYbPTb``my(`11aOGDlN$=PF7nkpl1^SQnCj3M_X+$af6DBKfZqb`rYxy@v&?QyA|lAAPRfA z_WlB@;h0US(7wF_2nT>gKd_O6Pj$VWKwFoP2qvQ-DP`!)XEu=fsHzeLccScwdN7Ob zb4eY>VI^p75lTz@^C1*#+;$i*YifDS)XDSw4xvQ5q3@SWV|lp?lVGVxrXMWy>*0C= zB@fW>C{a#e?B4`Y@YF^P8Td&=O=ZBk-TX&9CGz|H0ahO^_KOu@XoZW0ne|7{AKmw8 zO}w8&>ba44t3Pt`#k2AsZmstlnA+Q$9KhE1hruuCYPpYa;YCc{yeSI z{*Q?Q)1%ko6ljIYr2?0o4@$+~$`96*K27h>n4D%OUG6Og5&QeuI?+CQB@2`OElS}S ze~p7Mq+J=v3xRC$ndbFRI2bsf#igjOO-!8!JnT?XjLR2orlV((ez!r=CYHQJM zFEXG71JMWf2WKLBH9vu@_8bovfSw?r4`RP)|2(jE#o#|&=}&0%gDk`+C$`0RJHT=g z{OEUpzT9EZ7L53t<$8t4yb+qO{}a~hdtSr|Je2dR3_6ueNBd04bUwx<6_mG*xVS#W z;SU;cgZ%s!laumXoLexP(pp;ORukke7OdFVz~La$lI#6+KYn6Uz-CU~ClK*zef@Yx^=+_{|j&|9UCT0O<2Ub(8JCP37_N z+@IR7{mVpwqOj#sFc%lzP3>y#%uteO+LGS(cA&;;%fD)QfjqK{9z?M5g)Ei%;&1dC zXyqYY`}%%<3$6bxPqyICbIs`)$w505v#Clrc-2u+QAq%}!$=PP%Cwh6d0UdkJM3Fc z7bQtCm9GVpFu?Gsa4*#2Ail1?Vf|Pg*Mu8Cn}TPqm;-0d{q(&^P90f9e z0{h&j1pBW?BX8RtKU!eONO$X|i7WNIh1#MtrE-YWTUhZs)WTKu(R_5Li=Sano%2du z^m11$Dh!gpk1v{LzK@Z^;WO}lhKpSyV8ix)j+%sVj){wsjo^EltM`K8vv#AgyM%^X zwO;NYB6-@qK7Od$n@<0cNbOnZ&O6;Agvgp4Uea|IL2B0Am$pGHx_14O0*MWtUxLc> zNc|O05YoFZf7ibMTY&(^3nP_)|hADn~56g@FGNiakEy zgL#HZ?qW@yx!uY{>|J2v)lGis3G_2yN08ax8#kC>W@bLH z?XVLGO3@uS8%TwV?9P?)IK+b3l+DRFTr)JtL0y6pLZ zIJk}uad5$APv+IPnxevaJUo7LbskQR+k@MVjYP3WN3-2qX>NNe{8rQxMC|?kJ0Dfh z9I^KY`wL@o1saGyjN)AwM3s1?h9m z_B6-Z-;(%k7>bkGX=8k?1W-QP-_z?1C5O~kBhtX0{aGxpoq9OaL3g=j(koIPH+{N) zOtSiGG4rn?j)3PjXE8!TJlkN0p^0--Nc(8v;vYcH2u!3^9QN`@16`3;ZJD*0a6XlS zIZbFG!Z}}1eiLN(KE|l2NGbG^|Mtok&@Og`q6JG!kM7uHk%`PRrhus9W7W&`~x2!WRb(>YqPgd;jGR3wk=kw`O7V7ZL>wl-NiQAT-mc? zOg^xLl0DC+^VvA&uD(E{VWY~b+oM^>L6)&cXV?ve%|CNrpn9L|#Pt!`@fbh5pl7Fmq$z7YD!3)BB2UGN}8Ilr1 z8D+Nt4al&}k;8c~bR2JPqEtFi0sJj{=5jA*%3(wD_Ri#ZC^dxrBO<_=%!eUiW;Aa# zke?snY5FB@U3MR*YO*wD6uXDRNW37ee%8+uMvmSd?rZ&uiazb-|Ss29RYjF z-^aTP5W6S4y;-I=$Mi^!X0LAm=I=YY^=E{xd3MW0;%r4OPLim&6Bf#UAfk;8eN*#4 zRtwC#J;N!0$VaI+g6E);?V6aye)#_C-#B}9L3g$`oBmed!{MUM8NF`Y@~YY7MDR+v zfBw;8`RR3!%cCoSwpaC#g3kabL$RJk0y_)J+t*HpawO&a{^%ecxR~UovgZiIHr0_#7-u z`rAeexp3O7?ZC#dyHvpI(9%ktc9R-YvT3SqfudPMc*dny8@M5zGRW( z6V5r$<5Pv0co2h5b#1-VcXN=xSjH^0LO68rQRBnI;`gu>-Laf(1`f`+CxVX&---!%iwebA1Rm|%&NS3on=z^%0K>dv?CM!$|+@(aXF?} z;Gz^j$(LV^FcQcc>>k(!Xky9pH9Uj%^l8ED?>~)-g*6P2P)fQqt0EP?Gk(p;wUM-O zBNKyfMOZW@qZ8+cY9KI#Vrg=nvz0nNNWjc-SsjsX)(^(_1gKj#w}-iEH{0zE5FXk7sOw!BV8+Brd98nMlaEDXgLA&IGd3u3ZrR4PrInjVR(8s zt`v}*Qk#$`B!!Xmotapgw?v!@y1%~?Vv2xI(M81dLnsu>6@loN45wU@<(RnyI3TgT zSEm)n%bgA0PvG`uR5W4Q=s~oWPW-YKMJ9S&y=w%7_#j{2A55<4p63#3E@Da@ph5>U z8}x;KE|)-92oV-FWWouK`1#>{g^*kU*1NPRP|!?$)7jo(N_e?dYPT3)c)2lviyJ>p z*8bA=;d)eV-I6dxQgUNgaTxGvAv9}6(=TS*IH z5DdLbQBJI379)LeX$`>)p{1Q(k=}H|?6ZhX_f;04i@Y~`6Yp>J^%MQQ*A)NWm3s+H z`rj^yRhQ_G@#ayDCN!Kja0Ka>W-w5)B$ERj5G zqvc`+(0K+L+uA2P{Yy6^vDpup=#$IrYffsAS^F&*k4tq&k?Po+p9`JZCwfdyz zIy*~ORCfd4`9Fq!??8jr>vrprf)9u97qaok-^N+Sa+Z_k_DK^jGFU!Wm`6}4{Iy|n zxg#CA<^l=6ostcWr1ByC--;5aO6fQlbv%zR3@t6`t=>R|NQ?glB?5;F)kS^&WiOPR zXJ^?UnQ~wQxm~wyWtIPg>_c1rXlnvAa!rYtxx(hkeyORcyry!)aSYkB#hC8uQ3In85hU|;rKJe-)rq+) zkcKmq+%_-Z!52}PbdEgeeqha&$#J@%6m1UtM&7 z?{H%0qqYS>&nQqe2jW)%)4Bgq{YP`F&-19wXrixnPUf-SJ4UbYYVMl~=PUEv5=@J^ z5XnFW^-yyc%7sO|p$2u`nf5m!6{#45;3^)CZKi_~5mMZomZEBw*V{_{mhnsizvw0_ zDwCH2N$uM6_o(xEf(z5J5Sy$aOmCRIr}A%a%RpQ`(-`xPFV*a}kO_t8SL9!+Lj}PE zt}BhEcHx^h{3-nzvR9cdX9K?JkK{gI^Ict4V5}PJp&f+N(3-9|kK=@bR%}G;l)fR(Bl3bv;-f@m;=5Q%Q8|AB{;n4m{ z1oEtxzqA@x47D>c5Vghd87xhl*xtBtiPxDuOKYYPs_{JCIqjni@C)Bw4VjHRdk2hy`u6n!L`HqRq$ zr*m|dQtggBXD##D;?RUj*1yOnENX_DypG=JB`+=*4kB$`#JaHCJm`o z{QB+X;c75ui*=Y5OFT9Yrsk+x8(Y&G**`<@EvP7%I@?E!nlHBo=A)1&;Wmb|E?Dq& zGpjKfl}b0bcXl#lP2**68;YQki~j=y(cdn^de?F&+71V=)$bcwDQwLSiB1;)exKh+bNZK(47eY z%jj?1;^?QAo>0*RK$GK z@#&so)3D1wyr1Hm9f43D&N#7qUm5sXebm1DSnP3$3FVv#$M`t%5fGy<9ZyOb8H{PK zcUHwoqjc4px#FjbHkfU7wFi2ORQ{o1r_~nqXM1_7(rc`m^EcD(J(9@+*QP61Zbn3MXdIgf#eaiqN9`h*uo2CF-N7VyJ^CvzRO!t%`tF?_ zm=48BkJw75uqNfK7V8aov$-5@on$dF_||xR11J0u4>zBmbwHjN0Wt`g+es{ z-2|>^Yj32&q;kKIPR^XR^|X(FXvPe>*o(Q&zcI+<$m^*}gK_-%mAINZAnO%y!}o{+ z^+haSfbIXDmE??50TtA6BvtxqFJZ0a+FbZ4q_xfMcj~z4v^X(a0dAJ3&$9G?$giKY z+DG=gtJhz?0IHmZmge4bdp0LsNyfxLps|$a-b9ccC+hQ(nyPI7Y5(u@zA#*HJc7G} zHNyp(7;llsn{(q;UUe|Zm-`a(p0bdgBPuDmW2W0~pUKv|e4+&_govo#0l)vgQrq;u zzlvN(4faM#k94U^wNOrkTAVk83Y;Ea0Tf zoTziu)X?WI9er(OaiDv6^%4UqpI-}6zhN|gHu^s;Ky{34;p(MtCx?xVIxYt)aPwaF zM<}=hWd;YHNFN z>BGkyek}iIwnK&Pw}fifugxwJzit3WVzWwtZA0;-{C%@H-14tpze)d=n@3`{ji$< z?rDU7?Jd)3rJUC*zM?aGNwZs)q%@`BEL|ozriMD9-UbldkE`Vho_}eA4&W$-t+&O+ z&b=p;nC(l@l-;f<5*+cx<0(JN#e^});sb2&%2H~#*He3%UN3g(^hBO?MnwzsI3JkT z|EF9!0{q*I$JSaEOMfYRW8ldZRgmx@I@&_j(C<4$-_ngK4z{&YG3)9PyN8qyc8`TD(?kz}q?Gb~Lq4_d-5y0|AMkPROk zH>#BDGlZ$u>;NuE zYt;Z4AXqp`EiHFVf(v0+Mdm9mr%>M*bnZgwyF1QEvKX=tW%2t+ZbRX>3wIJ*O@gLM zo^sMb4MQJaO^y$;p%a~BN0VvxFQcPoWwlp^59%K!Jo4THAUrqTD2@`=opG8Yl^wTZ zlv4VW?GAH2hv@+;7=><&pR(MDFd;T|!&@xJv1|U11FaWl+ckJ|+@HoX<&*D{Ko4$8 zQxuJmDd5*^joxz|t zP!}K_4A;Lgxa4IAP4LE`Iezr&VL6G zV!GE)yHU}9lnaAi&qZ_{PboGd_#k9Bxi%LX*-CiabX5!19^zlgz<8)W{{H%BMiN`G zh_OhVEdDXLK3ao0XX>&W1>Mb@ww@nBLGzPP^9U_!z3aa3aca$3#3%EZ3P9`85fLz+ z<%ax5`?tMFs8xmTb?HBZ(=_giMD?lEc(7yuT>#Tj@yh5jWh?Joz1{18qDGF`^Pa3{ z*_Z35`zE5*)r0kAkE_7j6}O0?K2bwN?C(&Nl)A`xZM;Mfqx`-D?j*u4;1U7)wmaML z6WA0>nzFnnB^}2`q{4t7N$2@lyih&ZP?+f@DlV?u6N;noPa%jwuSfgWkU~Y~g_uOd z7t}b$Ai<8J(_2XG-L24^FpIxN+9E5BVP`{dL*-&jePwL$$VQF;a{*3v~dMQbZjKa)hVr%#;=<0xXii( z2d5cH@G#%g(uPahSq{id-!+8rWz>b*^(PQ=wO9{GUn5KYlDypy$t-gsdeJ7&<0;Sr82{sHi zg5MWDO?O~r^^H3bW%o=4=YVVu3RB5&96Y9EieScx6{G2tsQN#pEQbisy9X9w)6n^2 zSg7d2R?>RgPenxxRVNTqLI{R|7tr>5L!nNOnHjt=Neaoe6C>IX7d}GULHzXA+l$ae zOIr%34_D9v04^IO%&YY_i3NGeYpc)V2 zaYoTFq=2}gRb88@rAMMwBcU}UQUyiG303csZ1_)LvUk%!Yc&1s8nwSgI^5EIAtvs^=j=-RRf&!HSzKKT3F6Hd zWe6zy7wggNMzKo&dnyGH=qe8ny8DMAyKC)xcD5=r<)q1HXHCbP_H{*{%E~t#cCOz9*+}+b|ORQ zFvxZJb}Wd_r%<|?BsQfxAs*yd=4q)6d)N7lOdpzE!U7+iz=I2b^BL9}mBsm(tN{up zo;0Q9$Fl=mp7i>P6KSv1$FOU=-0|JC-x7pe@JV+hIto5SYpMmPI6wo<_wxgCZ%2Pn zRTcA9dHE7HYiJKJd-&B=g$tI?(~*neNMd+W9Luwa*MBKa4tiQXdwhL=SR?J2aj&Cj z&^>b#Zz}|LNMH{IGrfF^KAI#tR&{k%Kk?==Dd&=uN9*46rR3G@J84;O$dJ4 zQ3FKSJHcMci;*^d@I2<8=1X5Lx}5d0v?N`@?T)-CnN}acqjH~qTJN1SX&!?T(c&@U zvj6^1W^7}QLEq57lqVGpOGLER5*(`UkO_q?AMIV6cE=B{%;%~TfD5GU>ki=*va^5g zG3WZ098BM18vF+$?iW>*wR5B2y;fX=Ui3dD+t+&(i}V?xTPZ$xO8!Cl`YH&Ma=ZTB zP%5RzZ20r#&+ia&{_iZr;jiQAy6ZI>D}V-UjBxTpI@(|%Q{meD&c0YE_;`$FXb6ty zeLcQId{io;vbTOXMO3A2ZGC1X51sEXc^k`Spcn zF2#qd_Mzow!I4Lj26d<;+0O*a{c9;4hbF4Eq?n9mk={e|(7!Oy^h;baa*!B37pgIG zgu9#iHxbO8MlKYWT(CzLHz^V(;($2+aIqkR(R}RHIm=;i_XN#t4+X9_Vp9A5LhfkZ zD}t8|iwzl>v7!P3E}DqGnNCsVN@r-!EW3i* z>rHbClJe{iXNrp&Ng3bSPN`edLWA9~Tr7LBl}%G3OhwROcRLc&xd5Y?HC6-u;HbI0}DGDkuQC z>*|Fq>=5X-G=Zck%9S3wNKdAL?F4#*lHwa9MZXZOZFDpQq2+@7PO8o93Y6(vYAbYm zlbHH`pZ0`)v2O!H*A9a2N{>@sBtmX)Z$C&qijBp!RR&yfg&L67_~6WX@Z(pX8C6-* zj*6xHUXWm>E~9sLYQ*ov+j0^MT@u4mHSX#LHgaO5Jn^^?7BwYcCRXj|#wg(yB0i$;vuJ7-v_RF!ORd~cKO z0R?>C)PTYGbL)FsQ>ir7J-uxT#{ZD_2G1Zp#732D)_OBI@azMDL8tQ*8=&M|2whg6 zuA2pY5YI*ivV*BpBn1Xy@su{3%mS1;1MA{k9wooQ zj81u}NpP>(sMIfDSEUd5E?_C_?4(L?c{98Qgx!hP;L2xfFgLiIt z5V7GX0m1QN04q5R#G-ImJ|K)nju(g(V=XMK(Q?oiO~qF-_&)BAOk3k0ef0i=^^I(A zoM+;1$XGOPW=~{M-ax0R!nwmv&#f4!SjunYw6`Dhm$?;7{yUv5*4fGBF>v@r5;eY^ zuc*>uoU_~+pyKS7AQ$n{2;|}jm~{GG0fashpl)F5a`PkkW?ap!-jX`!`+mPt7pB?6 z<81;`Dvi^H9||iW&$JUB7OMXITpvXC?es-GWf*1W#yj5r6m)mz2K|Ik=`2(k7;CV_ zt%?yPyEm^@W*-ZeT|QSqzN;eF+QS9(jztFqNf8b!x=Wi@V|vbU|EFM={t1_Dir&vy?^ zSJgo;VD9vspMOcM3?jjDS;hK=n^aG4+?e@ISG$-eRbFVOjOg>7uI%p4=3yxLS`ZhO zpNLj%xbsYu;J*Mgf=~R;f@HIFuTqY}urK%x-`scJsdE>`4+{mqC_< zT&?~h$80>w&E*Xiug#O(1gfHO=gC~%_mGg#&FNdKo}{k3Qqf+IAE6y;AU}bWo z328hAX59)%^F~o|Fnby&U&N8Aqr@WX6SoYcjGvVMwbHv@?e5L#C1z8LB9D^a=wc=@ zs6zXCcgX!$o#0c6JUU*XBV9zBp3y8s_RrY1qO!b#sxDmNrZa%O)=Ep9=fUbwwU#ap z3d*EP?>zuRaVJsvrQEsMC?p{M%$I1~SIgt$<0EiOfeFAj&0GkA-R`j7#a6$l_qwAa z_d+Wn&9Xl$-A?3@wqmvLfAsvGr2ST1W_*;{R`&ifgMn)?k@7N>m{l z@g29`SW^>&+hp)m`T1T)b)xe#%Un7-u5U_|(lB@s{?*riv%Ev;`ADc6%Nip74ZH82 z$wF38a7DzK{ok22U}`zy(!&w)RY5dhDv(yabhAe&{Qc9@6{P-r_TywY?dRrjN)$E+ zc>_SAx-z^dE@x<6PVy3BYt$fBq2ZoVy#$UVMzxwWJ@Sh>kT_C^5JSn8uX2);4vj&P@A#<3r#K*(%{a5+pM>&-) z9D?jQ*~z9>?c+hwOH@f_pMjyhIbG7v7- zBodl$9a9JvN*GtAk>2|8a6yKr?r}N~J3Bi##`7yq77&_2hgSq#Xr%d`tBM*)s7c=x zyVN2;n%mK@NAvVlsayN$l?wJf)+`C3lksM)MC#cuf45I`r7!gjC4jvcrBR{%@GdIo zOVdmXsdD(MXpO*cx8sK{gY7k?TH-KH$Ikxgj|gTqj$!#*AAt1i9!Sp^qY}l-@JxN1 zTIAe$QG#9&5Qz#P^a|yEelgUb?O#d%J)GSNYmKUxS)fsEZYtD_Xra1*_PhS*?CdF- z3vRMP--My1x{Xchh-ycDI!$z^^1Z0S)`Z=rRgjf^ zgU1m$@vpJydm5zhv(l77hPB-SGh>MsrS38(7||-XT6yyCh4c9iL@ixMOJW-Z@*gcknU9Z}TwfM4b%E^kB%ikM0N&lPqrqcFqhotmXpQ$W z`zQ&-`MgRIbiyG!s&o%o^B?8`C>_Z$cyX|!$iTltEn-TKaY`?=EmxxIuL!x%aLvK7 z)zzh~sW@aV|2bMJEpw;J1Wf6{^N$_EJ)Ur7)>`F(K>(m-e4emS<@TgWd;>~~)#?F= z4*s8v*-TM_YJsMzZA^4st2Sgo>udOFR}k15BLKF`UukHtTrF^Uduy~k5SKq~Iux7; zuXS}Q!+WwMMDhs&_{w&6E(VC-)O2&M5Pi@$GSt?&wr9BYQGY(hvakQl`I6Cmi4>8! zv~k9zR?)cM%tjOmd<0gqvG|iGvIGBk?+I}RdK0nO|GeXeDxECDUrE25aN0d#jyio|vyd8rE7*7%uQ0mo3*7(iciC z&{%Mmaadkf5sI>KyJ2`8q_2;QmY97A!(Pe8ac|ye(My)37@|NsF#6`JoOwkOOw!Z( z(RkLt2g6*;p)I#YRaGJ?(mAT^Y-mw$g@1B};F(?wdvve7AUWkjj4NsS+D_O{_KHWn z@x$@%uC2oOM$(C-iOJJ>tz0=BTH=b*>S7ZH07a|{7JO46Z*6-6(#3#?o zBUPrdx%7PMs>Fg6!D90f_{!*fh5~DUsIayv7y?5RZ`AWyKE-@vqk-8+jcY@d*NZXb z3s0K7RcqM(3@x=pqPNK9j*zD(7*dSe9a_Kp!=IYL9OTOP8ai?RGOLjrifC!RB);>Bk$5lsm19;&MMQ^}Eaq~?|aH+cv%-kl}m zcGoM#s_{?s-w*NIg+BkOH#!VTBE&nR?U+#@KH95TZ7)<0s9S}&w7{c#itDG_Lf13D z#!_)ysnR0dAlLLxX|{$BOri-y?2QqlqN3(&Hgi^+PIpXCUzhhX=H}X3c0do!&rjX& zQ!;xBW!z=ood3N+=CgiizGY`H$DZbW#oJ~wou^VQ?h+A1x!+E320MqZWJ>y+ZX?P(M>uk^} z1n8!$7Hh(Q$`izx7%xgcIWKmgIKw#ruxGGpi98(+y7jjWEeCsJO$Tl9Hp8~{Ci_HItF04YM#k^v(d?M{z zzAoiu_$0{i3hCp$FpCv15LezzI)fj*Ji$;Ndry`5q&+U=Cwdy63E4Myfg73-WicTHAT{tsVr#Fjb z`=TNPEBz8U-}yLMrUdfX37e@XRf}D2GeCWKRe>%TA{xfVePL1iIV_cc=d*=9GvxEb zr?FbA^6oV}0;wdO&cKHUGdhVB;c5Dp{T%0ACj44QS~jPXE>mU_Ds<;+s|c-9P4?M; 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

fJ?Cj0SOTOPNp& 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

W?aY_Cvq>D-+lKH(GB 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

6`#{8!b}62zI06>`-0 z47ivGODqVT3Z+`!oz1

Lf>gxxO9@nQ5?Y8m5PmwH6auU%D!&T0X3;9Q4E(1~zY|nN_lEla>(#SS8Hp0op()RaX=c%TvobBQ-MF7z@I)y(QZU-efbdXj; zaKTb;01+vleFnThpbRSMIu4(IiD>7zOMIupAlnD!-aS_s!tTyB0ln8@9b#TrS65-s z3d|ow?+Z;8Oj%%kDF=UAVA9n1M*$3UvDcSpu8{K%Ppb4DNLvg|%Rm9+4&(*dPb|Yn zX|z`TWDwqJB*i(OfQRxJ!1Ai-h6bCpWIZgr%S<;h-#_wsJ7`MG#nsMN*+lZ zck}y2B~xQ1pHJ67Hi(VqYWN=}1rYS5cE{q3*pd|MA59t2I^V;JNsRjdWj_9p_zPU1 zRe%8~c;-8PtU)zLf$`HV0#*(ecbQxb#My#`ghV84jonbBL(9&H0lpkXR+Wz3xyXnb zAx@Cd!(uI4qYyhxs%~=1MU3(;NHCP>mO$`8`>230Lr$62;@oA#<(X%9w{V01EqR4J zO-tL~r(tx;<;RB-I{A;n02~VcbvP-1X`4961R@V72Qs^=kvy9GuH6z6DSH!__}*;Z zk0kAPpY{WwH{5O45pD~NkYG^dObzNBAaa4@Z*{lI1|}t@V;Of(U|UoDHvv3Z^n3)K zQc~*b>`a)Jl$=Z2(aFgKct=ok9y+{iH$(FA0e6-`s+dXf+gC6@1IAi|)@dQTBslc_ z*Rh`+9DokMci|=)W>6_dYNHkE0n>xN<5g9W5cDLS$pwZ#-yX!XPC7myLnsrfet1^S*bkeVn*$j3{@~ysFsIPT$kS1C&ORAQWx4O10VqRI;(>3rrworppYD)u&B37=B z%LW%hT#x(uqLPy`Us(mE)z>>Fr`10LR~pdbN#aApQ}{hyPMF>+1j1}muhv?<=<)+$ zraDvo><@mnrOw2ZH-67QKFSyz*t|M-(Vx8)3?0#0^uLa;3%J)E5r+IL$K9dm^1^Jq zdW&>xibXZeu%Ra)@P2nlhQT9u=P^b9-X*s>h{JdZsQ zXpf?ydw{F;SFxi}PDh7zoPyDKRNDY{ZK0)CYb#?as-e3M0(g`DaIFrBsSA>){+teR`dLP}W8uKzzEYINf zhP|p}vfLCI#A4ti`*=X^^IXG%M%VGL*(H{k8fewETs-|eh9)a>48Lm?xCM_;|HXC;q&wJ8V^IE z#EXuJk$?wHkr$f=H>3bglaV*hlp^%^LbQ6IDl;J=gQcpN42C2ptU$r@0x@nB%P34$E<2| zXxT_{EtvWS^@+&qcjB!H0z~3Us%Nd1QotfuFxK z$I-}dvI?Vi^|#HxC(LavoqfRZ1m(&cICIgFaOV6~O9r#S&M{RVyZ>ejgoa;kj>v6& z&n=URncBICJErV=U;QqLCnlC||5?EBcdsR>l3n8Dm@&y?H_CHOC3=H@*+qwzHWLSB z)nivF1^3SZL>H9BKhz%hWf)LiiCU+AV?J@If^}KvnyX^_8_o>=Pt8e>~ zPgKy|@4%Gpdw;DV8$B;?JcxEd0E9^QfD)kv;uk>)IJ{2W`zutUf96U4?bXNEVqz4x zzL8Tk568P>do9o5SVxTX42KAG^$ZN)wQq&AN#p67K0w_-bq3t^@RE`pJKsp~Qe+Hf zB=q*O(w9K3fnf83#`1LcZ!eG+5y(DBjbRzud65QKhu09y0l^H;HMR6KOqdZAkd31Z zlLJ_Ty!G~u1(#A}Boc0SFXgmsBUEX@# z`ZadtI!ZVtvYK$ zT-+A0v;2b2z9(01eXe7nvWeTbheqbl3x&UV?bLL$eDSIOS4MJWSLbyhaM@(k9r?q3 z$*Ad3Jti&r$w994cv{uwRBZUjV}i&hEudF0_KN-tdRLfR)`9;JtP++`CrFbud7rTX zQJ{5XBo35VW)Aj!xe|oRqxT-QEhYW8p-X!+Zo&!tyO9KUC(HU-8tY^5@JHhb3SiFYT^@J|^a5$fMHY6OaB4`vKn zbNB_K)1tTBqBIPskzHI4dv0iqT=XCT@6>T~?SusbQa)Y(y$0#Mb@?kS@aV+}d8h?` zTsq#!4{|0O8@9sN2pI+G$Qpz5Gzi1~6 zTG_l$xOkjQz(X6MlS{Qa!P(;LBlp9*_LpFk<*z?VmZ74$HnzWzvwR-@@X2GqV=RaVSR_})+DE~6l81z6d*Kof)oFzCz z`|E?tqkjkH(D_)ed;bGJF5*f;z(VJp8pTZ%C$V$nZ|bj&Vfi{YjHHN%qig-0eEptTG&ofTT-4OAZ9feu*=bNLUvubR zob6~IKf<7t^cOLw!F68wNdB5!RM?~(e8V?Eo1Kd?smTf-BC!M`g1$9)QP$STBqjIk ziu#s6eAJ;w9?o;JpK(*;AYD`JJ^mpuumW~4UT3??!{fqOkMT=1y2YLfk!(}8%gFeE zm0R)BcohMyfPkELNlC;2C4mOf&C~uxZyX~Ot54;C*Hx%Bw1nzjw1@0Lr$Tc&!AU|c zW^BE6l?A|BSd%Y81@Q~OAWlu!HG1to;6?)jqpE}iQu4Na-sw(nzicEfA!(Qtll0e7 zNZytprl(&GCuyJWj(v#V3t5+|zqt8^_ekHX$hu1)6$PUMn6)cByf2-Bfxz6tDYBxH zn~sf*D3LLCuWqE#*PCtgQm7VovYrl8Q2?9Wh$OGn&Ru-@RzTl?wF4Jpnv}OifklQU zp31t~T0_&-K>6`d4AFCY`!8joszrpS5B%58pZ;{FUezv|7d1nHKmvY+8Numt$_~q( zf!BMp9{kpUhLJQ8{N{3xbAfx$0wT;dOfG> z>ShjzJaIixgdVN+vqzt-xj@Se_udA;^Fkcgd?m3_R!eS@{xX*p>^@c$GV+s)=BcbC>b{?x znsR}rA1VC|xM`3-5VW%0*5=dCEGg+(<;JM9(KQEZoplNDV~5SOqT{1@%T78L|E=j34lNFuj?8_3_MSb zZ>MPZd_ZNN!qZ%8skqqxg%aG0&Kt8&;axC`e99f{4hN~yT^x!i>Xx`1c9CTZirVW# z#l8gAfMp9eGfo)ijo$CHP2aIOBVgVM4Q*>fSt~Vi-kpjc`QZ^VQ608UEt~c=Nb&TD zda^(ABOjlD$4;msKpB@S0`P$9CPl?&-1JF~4tg1+@>jhCqBaA+)K;j~8Ngs{hs0(` zk!P#@{d7lhY^Ap?RV0j$da3@LFKO#vbA0tkPztT{38={EVvjd9JN3}jdtH7 zD=O!xN=j*S8E<1s1h(WauE(?M9i%$_(Y3$o*+V`@Pkn z)`zV`-JTU2BwJ7@vdbAa`Xs%3_YUc+@u3DJtAezDz?Mgj7I%tpAb>$cBo(k!v8k!Q zVOq_}#kCl#DoV-6mq0E1sT`bxS{FO{G_=vMlTZEGP$*!HP3P{8kh4JjO#%WpILaq} zcsTtx>I{H$gyjIC4}-nyn!TqkaDaGEBF7QM$M$b^}Cvj;CGK)U6Q&gl0q_bLk11JJzB zh6*K6dF}{44I^M>`f2S!@re1pe->8W;#Aq3-93ofpa4|fd!6FvS4#86Lj#%TC_k#a z&*UDW|Eh5|hgEKuio)XRK;~!NuQKs_P5#;M^o-2_npflLY8FY(o^XPXpH%&(QB(<# z&q9Ik9WYUCQ-K0S58ghtoHwE=gj)*>&0yp>I5`1*qnD3iCK8YYxy`rrMlOs~JK0R~ zT;B?4n48a#^86ZUM=b%5ND_B+{IBZ&Qc_6q2v}ai_l5@{&UZj|9$On^|95lr7znYM zWnTT&m3)jZ#$Fo>`d;uL@=;IEVdkDKTcD|d?Iu|2wx{CmBMcv=nlEfox6?~vnV(64 zULBEYQu;*LH5|B-1!7GQ-Qxjg~LcNv|));xs8lm z_wO^od;`v|1^+8?DKEiP$iB-SrbN@Jt5fT451iT>Yv3QxmCiJ*cR_6OAs|P+-o^3> zrfJf3p4?;1nV^SD|IJp5C&o+fUz}*A@^0mp3BBE?pjY|w65@oR=NcLsg4T~+X$S=F z7^%m6+k4dYqi^8-V}K$SQegi#oV^v~GJqq;hRtb)5t-uo_zFO#OyQhpYwyS!GO2wk z=J=H5PX3Z+1|pr?r<#`%wlE2b|v z_^OjE8ofUCDICF{wF}?-_9jSw%ZDZ~7aq$QmC8JNC_w zR;Wl7NkQuuc!VzabSnG-u*KkmAIQnM+H-0s$nXA9e49#4Y=a$aEYlJ}`ed#OgSqgr zuHDvEytgNd(2>rO$mPT@)7A;!wMSV(9(qmY_e}iGEi>oRZ@FwhEwZ~L*|*SYt<3~q z*{Q>n+G!X n1gusF}j_6Z9Y)V^W1Jl$S6I9&NqY!C?i+z&Q90#y!S4j5Xkkaveo zNT|EL<(m*3j1Dn7iatVnco>W};a>!j{{2H)wVw_+@V1{bV48|Y9MExx;tT58eCb%E zt%SZ!R=YnvhHfl2)dL2{1iAHZXMiJBf z+IpJcs3$(`rz0eD0&N!sil(&>811|(;}Qe57=Ix*YV<2iGLr#VHUI0s53n#;Svl#! ztdEgkA#epiEI3djQ>%G9WFxcWRoMsp@`skYX^g+OWz#Amel~!4IxKs$9^98yFMZN8 zphhPkP_9ryr(9xn9`umbsxp=kMtOhsrrJY%FRcgiRsR!_b4yCHb`y+o6SQwPYul@^ zP9zN59Ig1weJ>INFIe<#)N69`xaQ{bjsiS9&x>g%VaO7krc-8^uB5L~P9{Qm2jo3c zuD*zf@Pgg#zU1Zr`JS!}MTkGPp8c{!N%;T^>*M}wKViQwq>YVnXU8-<5G@!TU66(m zCEDF%)^sEE<#U|WM?MFE+_Gd``P|Rnf0%36vhhWbIJ-`i`@B!pW9zir(Ab7tnyolS z>*}c%jDB248dQ$M(>cb#eSO|fM!r}92r#(>op>*VC5l(aM_*bzXht5e|XX$18w7c=uW zJlv?Jpi#xrw={*ik#Ed9vyi`48{{da|MAk*Z505{WOPTzgieVwbDeNLQbSwex4a^bW}!}qqojaADkpkP80`0xuGRAp4-Z&bdPkT zXVVRbKmh)yEhLDkl=0K2zTi-ahdk&1%)LZ3oyjs)4V`xf1B(B>y}F0hk!LC?Os~wO z(@U-WR)ApiYg59Gi!;O_aG@ac+Ss6gct4=g*Hge02}r+S_oZOZLbbNiifbm(9N3Wa zKSu8bM;{@G&6)!Y$EHiBtSoU*t?!2D^^HJmp_v&&O4_IX>a*S=j_}tp$UAmDTDd>cmI z?o^=4SIeKku#67w3r2T*^fa`gmVb+i`rHu~OX+1m>^+09w$sU1*2il`Ps?eaCAE5= zCFoU;Oh0E!th64aLc~?U@wx#6sgM`dz}kEU`N3J3_mL@V_l$eawmxP_1QLFlt1!O@ zbZ<*g{RHJC64IjN=H!%vO$zF}10UJW?v|(&!wkO;u7;cf-7+%xS+80?V8GmC2$ZSg z#^a!S*?=7>)amxu&!)gFNAUMMwgi;e8e5;lW+$<#bSuP}VHf_1y z{ZC&{%U79*HDh+%u;}CzYF_^S#5!FfH(TE15v{A6>%`gCkFj5pdpmk z9T!iDmo6@2Ul0||nQeUdE;<0Y6d7&#n8GhCVRerrS}z=`xQS}}?pEorU=jE5s>?I= zz>nFO4|DA~b&FQ$Die6XN0kMDO4`O$59K_A*6y&|*Yo>0e=f*!{}P%EIdxo}&9+pJ zkX8Oqg&c>4o35=WaJt5a*8fG7dhhntTVYYA_xN}+uXnDJ%tSEqXTG} z&VMfrK5CCel#NI-)9vkW&5w_|ibDwuBg8x&IapaWo-`_J;ozVk=C2W?5I|8VXh(30 zdd%lN4!0gQv<2~Ws%#vU>~CAq(g5I+#AZ~$=fMV~Y)A!fbC}>T`}CCh<)V}@oznBz z#LlA|7!Ngw#3jQ{Wra_}IC!ut6Dhe(?rI3Bi!; zSD#`Pq0+e?j7~LT%d+g^e!3CR5RdPtuKwjAW>zV{B3fJiU0%F_!|TsT+|!-uqm||W zspX2J4gCtLrKuWe=r#Tc!(TQ76N{c(_)D+6{1p+NIgwM58uq2qX%>_4lUqv32hDt4 z-CxS;y?FUx8Zfoj3>1UUK!7Y59pT|LRk*%D0a3f|));&Bj)H=M82~6|F3(J?*iDR= z70BOpGV3nFD4mg!5%?&t0hb2)h~J{>lu4`BvUYJ=6i9 zegH-w+@M5;ji9o9I2Kbmd48aV^_10ssE8YQ7B;|3(!Y3c0)}Al1uszTDXMpef1-oY zfZ_cDE7oA>;@N6!1NCziw61sf4ULSt$6lCtl8_#O(Kv2n2vw7xA5xCj-2`C?(F;#K zND!MRCzDhS4a|7~vl?6YN7|1ZCG`^=Sm=-et>O6B>rX-tr2Z7KgA?;W4w5Z1wV5FUdITgM zDXl>Z6OAGeRzSE_&&w>Dwl4V*W)>5CHt$0!xrvDp!i~k{Wvxa2VSvObU7fxt{qn4} zJX6vpF74B0S9Dp`fG;te0p)Z4{S{?VtmeH|SGk!(LCQ1eRl#O)2A?5^}y z!YpEN)9o`DrG^hzj)9;g;Eo6UWe7HDdm@xDY^Tj$$2{{lTDPdpBZc3Uo;y|$6E#BU z&0;pGZ^G8m6hgHAISL!Tb^teFk9K-( zhZ`aWg0K)U!7e`ZPJ>`|LB{R@O*U>WTxAGX->?$iH?QR%j^Hjs-a4oLRF zGqqUC3YbyDOTTkpsct9p^Vg+cnb6&|ppx~a$XZ#@fOplNls|7OQjEZ^eE~9FCaY{T zD@xee0oVMRsI45UAA%Yu$gR9KCJFWC7*W*Cab|)%xyJfLm8KCHg<3qgAaWk;~ky zp&v4i5cktBN)7#E4;ImW3uo!|C0@M~x%%aqW{rmvOOdwZSFJ3~uj-qmh0LI~dWim( z*;S`d3z2yDc{o35|9tJ|_LzOg_czNyW8A3!(Y~lDKSh4L0~_5ja^DXpvgFbDx=KX2kudDMyE?ic8|=xlg-b;c01=feg9l4 zZ6{7%nRb_U%qu><{<$Ma@`kGI^u|gf^ysKT7nLFzw0!@$A}ecQrJo3av9Z%J83Gjm zk0I{aGDeG2)8Os4ejFh?70Zi`nY~8y<-R0#pVaDVUXVc0TA$c5xvxX+{S!DnAvUZ+ zPTWu&n~2K-y*22e`9Ov^s)63BC4hn~*12mTjtdrWo+?!@8oYQR5EnwTAz48Nq>~|# z7kUrqW25?&47c6%dgEo0yUob<#l^v)VUl#QoM3m7=)YFxaCf0%79ak zRU5iiMTHWH00M&ru9=qQ?pRK|5F+|SylN+MxW$V8BnN`JnJSt?hW!GPFW&2v(OpD} z6$rdx`gB2NB3PX)ghv;(xTo6i=;?Z`g?yu{gp$$&gjN|04P9JZ56n{SZg1p%|E`}D z3J!`5BltH27@lf>F;gKANF-3Fr(Gf3mZD+;%g^Qh0(-Gm=)s9JJQ$jtpZ;Nyd;k@` z7LjnBoGZfv=X{lgf$zN07e#3>x<*isz~c)#L@Us-&@vf7(D`TRDZBdmELw{7zdZB( z-t|6}O(#n1WxT>b^L zP4KJZl8}V949Bhl4f4Z>E2k)pZiJUZ@bx<;?pJ085@Xu%hQXJ2t)yJfl86_R8c}KZ z$LTgxR0S$ukZ0{rzDfu4@m(}5vT%@1H+Y?7siX=93eppx!Y`QSI3;xvaPJO`yka0) z8TtUAk?}jtT7VFq2O`Y}{u@F-CBbQGP-Cy3^?oTOrl0JH)eIDX@RcM1+!>Js;bO`2 z9Do@J(FREbTALYI0+lTryhA}|*A|S^-_X%BJ4-Ru4FnDc{@Pa_j`4<87R#=VY=Cl6 z`jV<%S8qC9ci{a>-5ZD?kj~HsWQ_fT15QJB5=9z|%^gmBOzF%S6yuLR<0w=(FqeI) zTlz$X+&|pnzzk5Iy(?Oyy24>nRB$F~1R|OHqWXxB+%W)_&IWuVcbS2$KDm}I<}{u3 zwx#6RVHTC*%Be%?6^oKy8C!2cXKsD3JV$G8vf_H7QBBzd2nb+v1Z&= zZ6XFO`*ZciD?5j!rck5dJiWcYy|E`-7;y8$MK4$Hn=-XEp3R^ud_8DrXjtca>7F^o z^cb~7rx!Nc2mAXBHOu8^f%G_o_7mUY;Yp8)Pm)i~W3?InO5RFX%n~>J`%KG=~lvACb3ze}k zbz&ZD&h#o2oSd0G#rgssTc@)xP@jLoUy9evw^pxVDP+QjurO0_UIeYt%E)M?@kP9# zmcfSL?}w+`%`m`&H46VkYtm2Y!BQYd8Gd)e5YJxlS^M+FOP=6IbtU)Ak5_u`|FGWv zCY_vI;Ilx-hghqB_X&exv|H?Zc^J_>M*3X%PY)H3P|6gPQJM?_@d-gP*aJwdtt~`O zPO3#JvN;CIuq!fXpvrLGPBQl3-~HR_H2<8&%Ie<>z1K%KzM=`eg;}-LoG!03PJQ=3d1a6;z>ppd}52wfpu&G)O)O zH-(sh95{EhW;2w7!5T(!A^7YWWnyplpFc9NkGOsBrw&3TxORBw%s(zJB^{s5-FZ-1 znSC^zf8}?^hT+BhJVdHx4i008`-6Yb02cnM7=^oy)pnE$l5UEPUrwL1Kt?Z2;iy_# zaqc4lf5^qBk4O+U@UMI&g1A`1VdoPf<{IShG}{K|U3c)ugJtO7Pe&spkRxOe6FiXT3*f&QzJRkC!Ty_&W z7z@-5=MQc&^Mv=tHRtNGKbfxW{As}3>H{v?y(2;lov(xIkxle1EgbO*^263qq{Ij6 ztwAHHV&sRx?iv-Je{jFTjm~WQTS8U%Fd4gS7&|4c1q2$zT)u*=Bz#i%FskHvtZmKE zQ(pdME;AEs@I=Kmhg8+&&w)a(pBpntuZr{WM{Q+g1yK~hc)fstt7gPBzuYt+^EL<09oP!wO9WyH2nkUq z_D0Lm1R3{nCH3ul%yu4$vg3xh6u;>Fw4y^6z1Gv0^u+lMEhlF*aD*U7@+TDrNoi>* zShC{43I-u3i)Q{#p<#y38xCRaQFt?CoMtFXosq9#LLp7S4-IA;B8wS}-tg@6qr0O< zCnU&xzxl@mQZB%t0P_<4{X06|Q8n89&~P3trWLBnnm;%zhDH@O6Z`d217}Ya6%~PF zpz7wv^8;EYI#5DvtUFmsf06hvOP_o7ce=^;`?qWWe9nV<2O>ndy-)3#e2#JMbU=N2 z@3V*tjdn7hWm;pCg}Pk5XKaX$P9HodxZqTh&sPEbj|sE7RQ_OwvZ}xFym#P!BJoor zx90wde=FL)?AUj*hle*NvhSHLEcj>?;&K-k4{Tmu8jKXnPo{}DTaWLGy*k(b0z-4* zrfY)yPfrmGxk8WKeW$fQb&*fx&+j773M6nl&Io{Lu^m3YP@9g|u#NM(KG6lcL}z}w zpMm|BZz8yZ>+SrC4JtofdN>Y#_jc-Fza)NF#ern0+?xHyT=M4O& z2l~79{C9w^m;>$#NWV6-x9@X0TGO2C3H?SpLrMvi{w`25VHJT0&4U;Aalh8^&%NbJ zxo8DXh%9$SYAxY34~C7oQJ&D^E=ffd^D2&&!z@O;x4SL?1Lkuk>sSQ z#^P9eALhnX9~=a2N^+{1WWKCReOeP(V0KMU9T4cb&B@%m!ov6>;r_-(ad;T@3+$*c zDHads=1L#WO~)y%oIMXy$aKnpd=n7rP!NW!o0*E6kdo%Ct};O0qwle`z1TU;oZWlK z>=-}YK|w=9dgki|BY{G-=aFB2B9?cz*|Ir$`apMxl<4OM(Gd={%xgdy#b|0e1LhST zEA}dv$8Lfn-Q5;2AV2M|F3hN_gTc28Bm4JSS8sVG!ekL#u$GSJrtvFpK1-ArS;F8IQpt6|skYot$2eY3ju zdLnkslTLB?x)}*E?`i1`6KuM%U1!by-9rU)Ogh!1mh@W3yU%p$BzLy0?Or9~z2)Sm zr~E<@b@nTytsQsjbCwl68z{(g7XW_xw9J*l_urUaNleez#b z#oG7Faux6Q@tFYJ5AV1^o0S%q?e_5gisHIq96q6JUo>^x&fk=%Ilorlf3Lkxx4Q>h zKMrCdafN(v6}wgX4Gzmq-$389+_dZcJAnCrjp)qMv8HykUM#F05 z1@FoJuOj1yFX`XkaJswESdSLfTKy;UVV{BplXVW!Bc-;N8 z9v&=^%O~k=A&)po^c^h0uc~3X{}R?gYb1O;_WkwV9?v4SK#eoOXM3!& znl);RkdK@J{BRp$kc9|YU$R?Q8*cqg`PSead$UhzD&(%_G|g8GF33z`LeT1n$0nSb zIhWlTWIuD-;SLE!t)LW5%f7hrmw|Ax-h^Dmz1g^(NxUPZ;%P-jBJr=ZGo2q{)-uQx z|5>|K=>$knU$r(O#-?H10tNbUhckjTRqnQ-fxs+5Wx(kbxvgjNK_}n*$i(}Z&p!^w z-CeCRod|=`ubO{{pW@X&sMhHmoxb};&?Ald-YIo-_xk=Q#U_u#xp9Y*!Vae*qV`od z7n6)9n6SZ5B3LzXxVT9XKM9Y{Hvg0wEcYQ}IR34rIV`*dAYbb}h1&1gGz&4Y;;m8d zg$WGsVGK{lO3TV3M1|+xR*{-d;tmeYOe(FEe!2v{>r*O)0O`ck2m@?2WXz=S96IHH zd0ub$`jRczH8YV*8RKa>+R9x=7~J&r(G6IsDv0VEM4%1I!XlF@?ALOzuvPHp=Kf=4 zF;5Z8smQK3qh9!6)Yr^~>8hu_t4m#*}g_|5PX_q&=3G=6- z3Z{J_5yt|N8D1wK#YxRmc zrh9$5cJF>CXe(go^K17b7LHB{m$09FZV&y$U6e8t)qj6d8D?e*szH>cqj*_+OQFxs< zVFU#>R&jWQWpvp6|3lPUMrFB%-P))iASfjrN(j=@4bmYY2#B5`U~ zk`j>aPHE{zy5T!{-*4~z%QYN~CGgz$74w|)m_<;e(rUYi-LT|u+n2=W-|(hf^Lo^r zo?bk20*~&8%~T9HcOI%0;*oMutsGk|Jj1nm7y}aP=HsA7HZAAGIR3BTwm22{5v_wz22h} z^!ym+*-$9{{)1?ireih5$DoVKUAxg6f=_=3Iju(m6ldJoJr0RJ^ysx@_i7OdT2Mxt zuU~X!0x|sG;UThJed6t481ywLdFSG4 z{bjD!lds;IY5A^3ueR+-aISb`aBw=23nL6%TTctvP(=0NDhR>*;W85?DZ*01OiGIe z@h?dQSAvR2iC0&DK)(+KuZo~6ZkU+5PkUP%I8zD0`*ND6#Y0tT-Fm(l_OKI^zS3qD z4~;qRE$hPUHO~v6f^~Oe6!Vm~5Fmd#J$0c;OFKQ;wQ&*j>Ly?)x4Mv8=!GCEF~^4< zcgD%OZn;`*D0z{ClPomG^Mk$t(CHF5$r%uCcYUQdtU`@INbtrbsJ!n8zp+=7g*KPN zqSv2*rvSQ-f&F(E@@)C|CP?ron;7rK*6*g+;#@z$fwXd@9Q|-L$6xPj^#2%`wvq#! z401VFC(pUgH#bH$d{7!jR5|JCjp&}eKOff%I7&~Jp-P(_%2FN0=+Amg9w8xC4bD27 znS?I~t9Z`moNwz-efF=;|8iRr;YN+yd&6jj03sjRPL$f>y1q}*ZjH=fwSfrorz6rs zOE0bID)&@n=!-P7ke*_N$QxBKM=VR3)uwuSa|%^dcc)73^UWR6qx&Jm@ENo0?Cwmw ziS%$8to|RtRz+@b@o0~3OS?MYqLDgxA?6JwZFGRyc-5V45}xN{R?C}abWndjY~z>D zXf5vl)U<*|r%rBk%~XP)Jo^EPW{Cd=0>O(#-US`^xtzvwCHLvySkK+&i@@I^`FBO? z2n9oU4GA*w7HeaLq_PNvJh||tAGa46KB^uPH$_!g+`7x~{W1RzF0^WRU$TV{r@oF# z2<+*~lUS{>Usb#f8<%S`LvI%4*{Llqt4{jme|P$i@}UQv4f&n}Kl!_N?`~uVAK4Ww zi9t7brL|rPCyYwN8L}|VI(DKTd4G;bn!qyEZELz zWz`P@PX3QZhjUu=s$L2_d7_vs^vYUes=EcbTr(Yuoa%gl5{fm`J#Ma{TM_JvXkc5s zJsSetbvRuzXnb-GJ|cDqr!|)aw{=i-?UWPXMh%t^I!ekrkn^2{9>>DX@rZ=De>2W=_?|41Eoq+az^SplzC2h>88+j*T@3*n z`V@C>v*4Xz!RtG3ILcP98$g2ns#Pgd&)a|F1wfxhdLJSXvVC#z_lpad?O1m@kj&w^72g~y_GswAf1q-Z zw5#HM9q;=9UyjCJn1i1L&%^}x<_tB_{~?0Ui;NHp%Zpr)2o@2p;Icfe*pc5aeE?hq zmFHa!JC~E61`iJ%BBP>gI}P9EzRtIWi;?MHvD?LzI*d6Q*v(*BzEK+*%{}P479$oF zjf;8N6!H`;bGAk@xR{l#z8;MFclexU`XC<<132|3o`+q?Nx?l#_17P;^@1;BHlD1i z9>)}GN0$V>C2ix}oqmX9>_&ohY4dSrmjPfAw6ua>V|3hJ-1L9$SaK~b@9n{HKD!&M zm|AAG!7Fw%DSi+|hd4QDXXPd+RQ$3#n4x{TPRCiT)^EU;y|be+^8Hr1J_}{e5V;|v z=HY>G!mC$GN+joJIA~PIh+efB*jVQ?!0fM|WV<3pjbLFEUKr6HfU}O>&m?|8owo zHayT4Q)YQ*YdcNB;a_CO7gkW<@-;!Ol7QJ%tEcJsMlG0}JQtj?B{@p=Hf@-zZ`0*vZZv)w}!J5I=*JDNd_;RW%YCpDiCAU3Z9KMk*t6e;IN&H2&3 z%93E zOh97TO61Jf`{H={)TTlCPX}5*gBqG<#RIUidZltANPTYA?T4Pxx~R#T3LUHs*rm4A za6ExC_#P3@&gXu#!Z$gOlu`sm2h3qDH2buujf(lyZcaG;c(+~ZiAP@@Wz^JUWOVrJ zh4f^&fPw+<1ruY910_s~=Z`i^^4?-ys25`PGwalR)rFoE&3t3HB(RnfUKHzt+b}gD z@!+l811hB4uS|6x>DC;K$b`DO^t?LhR+g!dI*Ey4%Y*S=;)lMa>1+i~Zmw49u?ppV6MUcm|)a}R|#=4T=7d$)PEZ#dl_A-8%WzZTZpTLO#O4R()Qp^5mzMh$~ zMm`ia2@i`rv@2k@zc@+yceH$>S#i46gkq`tw3LwN13n{e)^1rWp_&nmGo8|{s1Zy? zo?8!rnxoAq3j-KcfTazWMTd%!fkFCLt`6zA*VXA+5)IsQ*6sW=%LRd6!|S8&}5iiV%fUXXb46XX8Rm zBtgCepV~?_MJ!xK^;aRNsl|2CG~LnjY<`t!*lQ@&hyz)(MpylG6eL* z5d|OK-1KzFltx7<3wZ`wm3{cN7G;Hc@qM!r2>WaNNqLBIu}-eZPu0stQIUt>Ow zw3(qYZGE5uC|~_1 z=j>;4ev|dZ&({6W6bZ)gKmP4El}bHiG9PP!gKBey4%AVkrKS0IdEQi2trj^B9gcM) zQN?3&cybxh+d$9*G%@GC*SVzSz(DRzY=|gp1q#(Ivke>*tVL!7q}AvlyPDH$UwtBpSM+zLERA;6@80*#A1@EzfGLmtu#N>2vLQ6<#i)TkPtk6X zSE|Lj$&l(HJUiMA{1X&Am?>`ZS^tD8SU%86=bG}(|1+b$$#{>KZ8g!Da>RJ*y8NKc zizmWsruHfGN$p`Z&N z{BPt%XUWk785NJ$iUbP3iTHS5JMK(7kJ)_7ga%uUu{_Dr)F!{hO=!! z{h(mgy08D^>~_6N4o7 zl;n8(VyIs)wMYjsQ}#vkA?dByDd?*rBjN8@b7ZNng9O1`@d|Pq^CQhc+1VAI9RhHVLbXB zsw|bfFCNCm9u9EiYv9095M;f!;W;ny^w;x48PaJ?cqX1Vb(9!4zfzyXW@PM@0~*%W zu>8*-RWczG@E+rIFWZ#cz)GJq``bVcs=lBDcWgWs#7Rt1aRdTAG}SACdW6e5$#7SD zg3s8PW4m24iQg^muYK&iZrzGS|E^jZ21j^*11801WZ`k3B zc&{36qz^ycLwcSnNO?Xl`dR0CQ{TcOsJfaD@{4{ORu|lzR^l9PSzAa9FfW;ayJHToP z?Q|nWI*Ah#8a2+lp})dc_itl4Lbg8s=ezX(LF6hx;`xnuy3Ta&8)W(9K*g*k&m|cN z@Ox?0a{u8cUsqPX#gjnFykXPqI_DO(=)SEg$3 zob925iL^S5Ev@q3HC~=6u$Ba?cKt~8rlsQiDogSZ-W0DKdqy+)!}uR+hg2^!(D8`s z_3w0|qcdsMkucKHW%tK@%8e%m!o7xu#=p(t1`^$y<~+5kXx9Gd360MhRCiL0OcrUP zB8c%@KffzO!tP#%t`s6Sx_Iz6$LG)itfEDQUh(`tm!Z*oU+X`SN{=^f44VV1cpYA9 zF)}Vd`g*CG6-MDmcJ(&JiM`BdcL!0i_SbS!G3#=tLxN2$KD6Z?IxJD)%xzx$!}kRr zC>X!lq{Hs=i5;KD5v62ir`LL?!pkHF!Rgz9A=o)?%~lXcsT=c{Lk7XBw310e3tDT| zQiLL^YW73wgu1Auu}O)Q%_cb?<1_p-n&B@sFod`Q%>$Gg0QiHTzCC-TEi!Cc!A}>i z80u2cIsA55xL=`Co~B8GWfh=}-G`#7U%x$toN+U}U@3_iRvA(OA;D;SM_DI6D9@wi zGO6hGxI~(<;5HP~9q)L=z@x@M1KdcH8!w<{+%#Q<1P5p8gi#pfsggmepj^Gsl$jt3 zpA_SzsngH*Pe6D$=}XDd9nJFvoMZD)q+b**v2ZuownpYkK7YTuaQ$U~(zrQ>10JPl zS_QFx`&6{F{MRj+WU*_#;prSVW$`aOdNCinPAi?mr8(4^GX>(5~Ku64y=jzTJt&kI{irHqR&SJVh%mkn_YL z21Ks?77-i3tuY_nw_~{3n)=yV;_1GXz{TjWEG4DRJ#Ibocg|wG+II1NWs%O`C@1px zo7GR3KVzN&e=_~zpDjdlYz@XAt@Nizwky@e^Vm=TIx>CFLPO#Yr|EzE&u%@j0Igks zH%<_W_|}@g+?tu;+IrT8;qx0r`!gWbnSrn2mSYP7VQWQ@9~F$1Z{3RV^6K+^V)-gK z-aBOQjNp3zz3Wq-Hw{zyBz}kAjZ>tC($X7uEOdW763r1O#ueL07Ra2g7Qg*N#KTlZ zINrp%PlT3sqNZl(We)YnF($#bU{Py}AoZ+;#;Xh84<8ncErYvJEn~0i7a(NGCLKyt z5RqD-^~LbZBT3wu1GvvbL`3ke6${PM!38vcCh|nCe0bf#Z^K(ho9NFUWy3Q&5KF3s zyaW}=`Cr@i#NB9*CM#zAZT#hmq?*7Tvh97@2sYr`W)f5Wk59v5n9}yk&7RG&3bKN3 z2uHWaFk-wo;qzF-rme5{;I=cWzqU1~CNrd?Q~mq*8QW+j1f3w;f`BOqY(Or|?|d>U zd9Wx1UtD@S_`K}mutJfe7fz~mXv}l60++_q?Z4tHp`>4w%o%XwgEg1CY%e#|XjrSR zJ^sz#foY>Fb7fYI<7WMlMasfUY~M<^X_q;A{O$ko{K%d4&o60yQpQln-dkd8DAsE0 zGJbVt-SybbV{#{?r51>KebN#{F-#GS>!N>Hx@lU-wBv5WIOD;zY+$e|Pxty--FsAyf_$A`=y?1+ie9=yC zi|d#F2#1aI1P5kFbJR#;q#&bEBEje?6TGsj9;j;n*XVOd ze!pX455Hhl-z6&$>!W+SXg0PKv$b9}*RP{kXQ|WFmk$ zCXUD=n5!hbh2oX`WA|O=7>!5`+z>W~pA$dcK1O~liTrhT>KMobf3T3LpT;b;JN8lh znTh}7JPtPVRj<^Gog1k#>96$kC=aM@eA)^%afpf0V_6Tr$h7S0>dF|gQ$Ta3It!~E zd4y^p?4JY`=C}ESo>mm-QYPUOSQK&N6q&0Fs@CWsbaI+-TmuwVaA0<}WpJRuMLdU# ziyJ!_ajs`;3Arr?Yz?{RbOEwpzZy$~pr6OU1&Xt-Tc|rnvhJ^LK>$^Ve(a zzpXzQFMkmEU}ArMxK0>|1lLnZCV~u<$C}KmpM6aA@(IQi67&~#LUU>bW^0{n7xs;5 z{*x$N5jCRGoL~L=xDC;|r1S~aJznoa94B&q?0PRDFk~NWLWiJ$Fhzu_Tyl*gpX)x& z{no94i1s#vg0jV5A~qC#b?($`Y?P~iH~>EtSP>!^OiuQX2%5#@9`wU{8KNBu;Lc4e zL8xSO>!)ZUVEvGpOP}xnKVaB2PT25%1;5j+1M%`-GuG15(#LXlXYk4#%e7B^|Nb0z zXqbM7pfn>rU>w~szUGl3{62yE%ImNb41cu#MCw(}o4D+z@R}`2E?=V2&R5SdpE>8; z980_t<^A&b!Mk5slq~#_i6%iqR`ESwRucOMIUoJWG#*b=qQ+bFQ^G&VMlc!{LBsSDX`deG_KR(@w0%!tK8x@Z9_7-;euG(Ds*N`pFjMLE}BLTF1qYrq6*c0WO{| zU{syo-3{}sv<}`G4U*>L1JARRH<{O4Xz@UYkiJyb>!-NLWYQrEXZ0^3rjZG_Cw|6! z3H9k+T+OV=fj?ykJ_j^$0fCM61s){WVA~)8H35}av<7U=mX^9^cMbS%f@PPxMzktJ zFE9w^D~&PaLhf^t6#4nt*4XH2GUS{XFE5CVQ^Nr(tPNLfMts>v@*EfCMj|ju^g0*T=I#AOr-&F?VzlvpdoOEz=tz;ZU zdn8UMyuN(^{#;+d+GW(&SLMBj0-TJ1klyVAvkJ$ibFjX!v(tgPuL+ZkpVQirKUC%w*m*D>KAr z>${Tb8br3hj)MDUbpcaTO1CN}l5poZvChmy9I723)xCQgWBDgdb7d#9?pP(zKdV?p z@zaH^@L<{O?iT5b|8kU44L+F4^b;^+JG?VPyIa{7((E?L$pFx?c`i&QrtiXz41G^L zTc%lbUaviP^r_Ou9_j`r@$LQHFFT_qy#L*an5s0~+A65DP!zPkU%Og*5*Us-H*O+0a{cN!W548PM`d4~rRbxX~kE%o-`2&rTpbbj%SI*Lo{=fP&E z)ri$tU+XV*cch_$N#{KzcCKoDg;n~^nRfQ;U`f( z-UtvfjjE57iZyf3!9;R2#=HU6^I~Bl3*&>XZn5eM1*}Iae?Hx- z3L{bbzNs1!Cj(5RLH83__r50ODDe@Ihsa@fyb2a7cVR=2a_j4xAwEUp-ya(z(tNjk zU07?QZ|s*=;kd(Ib735Pbg9=0_fG?0_htx;Nm$MX+wabvV^&2*UQXMz*7|+|2APUR zbsYCAZ>E+%cvSQqS;;}5MSLd6!tC{r{&v9|#XC*+y6RXiF7&I5W zJD*dIkZaX5Y~Pn>Fy5`Oc+N#)J^Kp*s9-Mh5tnZ28*iw7`=r4nl_hW^?6rVgCvsi& zo82{CN6~?E1#-0^@9S~9mW*~npD0ZhYQ>Fz7o8c+#~8T>t1_4*KS1RVviA}G`gk#( z`{@hC8NC!|EyeX0Kgu&#lK50%^Eeu$=Jfe5ULzQrpbdEKx!lGN`kr{p!zB$D;oBKS z*D!<}0t78wLc%ZY_KL{6>{e6G`t9j|Qlm}-;D?G<{w$PJeGJZy0_&Ls=2%w4=eTTnXF;EByYEVR2!@RnwRW`m z*XVgl+RtdDZcT_v$)K&UR;?+U7=83^ylZfCjsc~kDQ~i0o6Y~e$rTHfp=ru?wU1=g zX<9+yIIEC*7SKwQ#2;;;^i}DF+Z4^SXM;dQ+tF=MOwjK8Pb%cQX2nML+e^Z9m0ZB~ zAkl=ox+)F7X87NH-ds(Mg75`=uf%C-MnZ0xm3dHgjXkh3MQ1lOB(s0g-Zg+N ztN4gy<{;aEE%ywWM>K=-@0#+$uey@W2^?FTm`@O`aNZ(%|0?F2yv*}|NitNF^^zDY zK@zGp4v4)BsR-8_;pqF1mSB<0oU8qU$Y(@AUc>rV)PECk- zF=~#OtiXVWUMWS$5UMaVp3xcB!*p_UZ1Ce0w>IiSvFHT3=@LV2%~}E~s>9u8F{TeC zK^T4a@5Al@1o}S%bpl_~(_ertJ5puKdWlI!Mpk9F{6IRCEDhkZfaNY4V24A8R_@nY zJljK zQWF#d2?|C?FtctfOU^hcBaAn>?M_cTp=IjcTylfqd#g8jd$IUfcdbi}`!EwKt=jA6 z^;P-)WM*akg(~em#+9cl?N+BBDGD|HMtYcd7K>f&n_^g=t;~yBW0FXGtKfR&ydx3W zpFPslhx^yU=_hx7UimzMzt2gA<2BpOjei-%whz=omuchkW zr0Zlzg$$Ti5Rs5jK}B+KYKK5fm)t`@w1ZlZXx@RiNM+qM}~e`>1!rZ!MSK%Y!m8^y}t0dJ5Y;fUClO zI->alsqE(a!~r{GCSXfZP2?^d5dPNJwV+-0Abvm@rcGvCyW%2Zn_ziwamLC0c>>vN55H3V=9c_?f}RYlMrg1-&d$GI3<2-JUwm zNj(GMhV5a)-(~U2<(|R*@XYSwSd1#aXEZv=V@A~p9BpIy(oO5bnKLzha4Q>m_Y<>( zh4r@T;OJkPZc8^BI@~Zm-&IF=XJwUe(WB?ev~Z%Lk|e~1=MDZ~5>DZb4y;#Kclhz+ zB_mqFEBPhu546_){+IJ>0e)~y15aP7r~iTUlXcdwWlhc1BHqIEZ;J`e1)1jDv6OGF zJzkh%1MSgJT%4dkxf@koU6q749MVhS0Qn6$*?M0Ph9wQYqW{(*vflpyKfJnXex%GK zE&c+4Wb9(%vRIfjgLA2w-=2mFyZftPpZ=aED>E>%K>&}xSovPiWW|wKN>6X0D#|!O zI3d=ndWAZ;E~#DT77cAbxc}R?0k5cZa)jtcp%$2rslJbbs2Segg6)0D3;zg=u}jF= zecu7-mO8e~Zdpz{IZ39$IjnrDQnuPFxm>`Rhyqv4Qkb$b)(@pw_iI?TI>#Dc;?mbO z(-^Di4k-J;4r=XLpG|IjldbYlxXqf-Tb>pQbGg`e?y;rZYzLj zyuFbMNVt3OclYs$IXF1tp}~-{u@MuB?~A7@I}xG4P+J(uK!wvR6U{6NGV;g0CD}Y0 z+J)tH*<~DRmvT2Qo$ zZVj>}Wk)vD;n7NJ5Q&8wfLLzJL?>bc(w9>;j*UmipCD_5M?ukd+hhKUP|-;OnNYo0 z%5$4U%FGN&Mqd8M=D?jVz=;4eOT2>b>#S_t`uE~RNE!`ZdtUT&}&kH{P%#PDEU+lY!w zxVG>UcKkpaTjMb3tRZK_u6cU)-t>)KnhrMd_4S1fNNQ4m+H>3(`I`|Y?6%Dv-dfUE z%jLmKKVCF=+!ms;dK}I5COe|cuk-(S0p#C9wB)>Kyi#_0Z*e+R`??B{BAQRri8pMc_DS0`6`yhCNuxS75C~2JwcFI zL7l*wTI%(3esQ4Vqcfu^Zi*s}PllD&BbrtJ9tM{u{Ra?ae((B$MStk6PvQwPSy=%U z=PSH=h8lrA%V3g7f`9L8>+3mQlcMSQZk*=0$_wljbsKK=zmES(VmaipN+*=>x_%9E z0;K@tg3Fu<2(?F?h`-KL#Uv96nN-kvthusZ(!8Zr89chlGe47VR`Qb+PAjrCESST2 zYGx4bG3K`(K!-}=_rs;nNc`@$Q?YM7Mj#}v5Aomz0Z(n3@^du3GXIWb0a2PJK!ku4 zPG4p)&=8#&L^znII#FSzHNO`;@Ve+|{WGXy8S?Tpd((Uj<(3G^-UJ(+@~LWjx?2%O zi%#S0^z;XyX{aE3vR`-d0RQG@yBtpJS~X-m)FnhVZ{AQaMia@>Ouu1JHmit>kH^8q z_2H!a9Ual8{`lWR8@xC1*#5r-=S-Q8+oy zC+M0Qc~^hwCrMMNsc;-cXM~IzMNA^+CWB^1Nofk>$p*2A*HlqBY8m%!?f5Fh#o1i? zc1FI5q2z@=340Spaar#zA}lOyw6U*$ezMkhi9`Kkci@w6naLkshv%X{f0FgZcA8jO zD;haCMCf=*4t7r^0w;_TrlmhCj3MaOqEqYtN$zMr`hb#)XWV&l`Rd{qxt6kTUviLa zmRyzBwJSmw>l@_pXx3`*3KbOi1U&gwI5-NRs<*(+(clrq(q5QIx}0L$@2)@?Q7sHr z?!LnK0+y{}r)^%xMgQxP<$I_@C5q${D)a`qkD=K8`K}(Q0iJs(b~7d)O!R-J(Z4Ze z^RBNS?waijZ9n5*EjQH^kT23$PQgsLP^s-Y@YGsSYM?Q;^@%JnfRDEIF? zFYF8lsk~gyANyIS{wvZ;6}mVv+*%8Gil+Sl&FJ9gwl=?gpud%XO1><{v5mIE6qK_M z2Imry$lxG<3U80NJYJ;?g#rsVIrflAx8Y1flWB`F*ZjNwDwM0msa{KK{aR*&fA0xz zj7ACT2pIm0eAKv#j)}Ph*nR+>##VhVf_Fme7ZKKzCnHi)^6~6`UJ&PQ-ky@!nYg3L z913<$K4ZDGzE9wx`eD?GdrLjI^2V-(X`av1$7_>}4_qyoK-s}@K73AGV<}gt5&Syi z{*nKq*5j*_h_CM}DPMMlkkVXU@$6(sy$|n~tK`i@MTu~`;69$6)z+y`a;>z+A$<}C zi&k?*Pfv6-wCA>>KX~D|1X_D@Jco(t#1BdUq&6*}5Y#)j zhfx3BZ7_3OkuT{(pGAh&9|K@@?#c_7v-8D+-Wg6oB-6`hf6b-i40EYf7|$Wabs1fj zy7SDQG3BJvLDr(9Lx$nr{>6#y)m9k~2i&KwW`&9XMAe;>y1-TTk0v3V*I^AC%*~Ry zss^T}9S|waRp0J)cmSjB5pXU3G(x9B_>z=;_&bszT{1qNH>wTQYasM(*i4^_wI|qh zJyLMuz9tt)@9e(gshE-ru)sZq#8T%QFG%$3tX0bAk4DDF%YOJk3snIS=3Bd|12iqNh}V`s zI)9w$hvi|$3w1@3=HF@5r%pW`u>{MzUI!1+bCm8?>j*K2lF<*BtU6ApQSe1}kPG}v z5tWtvyW#G3?{bRJosUpqTD)7&_ydfNGH^YWl#_b^@Xl}B_ILH)MZFz~>0X9(M+~c8 zACSi3?V(`O`0q=Y5+ca1m=t`dFlhzWy#th*KsG|XVXm#E<=;{#9^7#BeiJCpH^T$`r}rmSi+Y}1 zUwiLwS1(U%nDg}ZIt zwe(Sufmg(ZVPUIrI|e;)EzikkjQ9ENSHP49GxY#2ix=gkL*5@kNVvq}lS9;L3=V>c z9k!;4gET96Z7+E}Mb40og$I?WB3>8k3SByqE4Mawb|MZvTsb;BJK`;*_6%UwG8-#>L~Rg6DC^TLMxo8XWTSvfhe0n-5B z4!{99T*NbBDhn#EtW&*<`lB!C;EJ+t(~#ED`5v%i$S5dm4r>Fkx=a3-M}&+1SnXY% zh(>d+?Bin(kJU$Zeqs&s;QE~?vm}m8F+>5JxFOHav1*jD_|8Jpe^8EvK>URhkv@dI z&mF0~uZb^0$zLU3$%JxZ=RKC$)Es!a0hemhX7L&}1RTzbsK97wry zT1|d!X^~i1Sdf8FFiRzE&=hXhrVcR{U?m6NioThV#ALsSJ#^Yp>UoI1(n({3HAw73 zFBJ#p<9m#Zf;sYyd(BuF9+fI@-awBtmlBBhkQ*Awe~VS3(eoJ<3w{UpfPn=+38XAx zD}tE9AgCCgZNco%{7%7aFW~kSCO~!=)&^|&3EZt|7H=)5DhxZ;2BAKv z6_F7C_p*~NOITN8dp5*1gv5i}ip1pVYH-7M8z?!JdQ?^L>_Xb>GcZpc24e5O@=?$A zcz=?@&V}!Y6K1i$TzQRWAl@uC)Iq_7dG5{q0X@75fgoaDg#5i|~HFsO!1 zWy!(Ml&d{dDHsEnn;#`ezjOLNG|V?w`V2pTXSEJM#AE!6Z6StmHGf&Oy#(4X5%0(O zO)}bWfp-gV_ZI{}8YTo_cefp7fueD>rcFY9b7DVe}Z)sO{?ZHOzBLc zCkEMf`?~36%Rf)fI)uB$yp`E z3)Um_zV?jio%*?0_HX+gSuFl?y3XyqO_A^BU|P^U@b^K^L>XV@Jk(a8Dy6(H+O;H` znI`6Z&p&p2W5W|472jDyyqF6B{QT9+e_>OP64?ECMMRJQjBg4q%J>j13PNcJJh&(( z$(+_WR>7Sw?I_3!2|oVYQ-8G^zGz|F*<#pUl3;bX@yZQ<=Xgu*J}254tje*(tL^3#=b52)m zMzcuZqod!jF03O9Rrk&Ay1IS&5+x$kKRy_7w7#Bc&Kb~RP=9@HahvYAI$&dCBh#)= zy1zZOn3NRknWIPqU9W%#Tj`DeteM~XlB%)7&e(k9dm}{lzMn>7mRw>Iv-<*(8dz<& z_r_qBZpDnjAK>e!qN4hDbksWC;@g9YC4=>VO6Wy+`S0J;9vP9^{E&PE7v(qV-RsLU zfGxbsYwArf8;&b+f|zR@EG~oH!%@=t>Jh{Q{*dfhj#B!5xg6V?GE>~yN9%FrW;y5G z(84j3akBOI`j_hn0B6|?uBIT+E#NSV2m(-g%S&l@_n2VPFK`P)VG2SKo&USP zEMYwtYBrh&B2zGg$SnMTKOMU;7q&CR=Yf!`+K!#J`g7t z&4@?hLWmkG$GJ0rklGgh-SyKUCb>AO&LU=EXRG66(T<}!l#H(lkRG`=bp`LrXyF4( zgGKdxZe$hC>Tn8GDf^&sACm}aiQ)@HX*$5&T~b-u-q?7Dl#~<`6BC?j=ZR0z&WV@d zOs85=Db4GZR7JoX5D=ISqW#35KWS>Y0kGQrJK7v%c&utVc(*v717n*Mfk0T!)h9!4 zUX=kKo`2{v%z3%02hcv?QqOOd81mB6?x#G}zg$9JlaT0kJNmdbiGP75{JUc;21;Xq z?{Hh6bW6nNNG$&)tIOhf{>!dUWfnQ7|K{}b%Vg%lPZCY3c(kvTPsqP^7!g6#ZfnUG zj5AWl$4?1{i*y8_q;9~JvnN>~7T&^!eRoE55(N)&* zyzffvRns0gC3&_LCW1D2wPJyCCx=4lyO6h6uE>|h&!}b4FGJ|n-{k|pM<95$MI=Xk zPE+l|Dl_5OK_M8&B4DQ4SWPuM>}J&fY&&gn104D5PZu!ixSVdTuU?g3L#Pza|N77& ztO_(q`8HMc=WkS8V81YP-c>OK0178_$~}2onB*D*Q?{zMmcyVWAl3=9A$V=g6y7Sh zD!fM&BgEbo%=dqNoI*p(ZnxA?X+Zu?rLV%=55||w4qX4m+FqX8o}cW7spq!5q+JBi za#d`ai_YV`a?ZP;4=it}$>*zQ%}!PnbK*R;TvwrT-ugCVlB#Ug^_88>j88JHv-7V? zEX#Kej%t0Ieid(T2qaU)#9&sG`~@TY^`Ac)HPwSw)4ZYJ&xL!-Z5^Q0ZUD;OCY4rN zrtW9|0)96NTjF-)UuIpBwV-Q*xP86)j?b18_HWsfV-x|@5lv>1>zXjNAj17YnJ2Tm zXE$Y$qYU^Qs4ycx!&nRV#M~lo`0Q( z{);+CjFJc(u9d#ll7N3(c6QYb`gcaN(P@Xb1cPJS`kR`M)h!8I-RtQQNad1TaDv5fMolaQRKYdblyT`#D)P2h?g6D8j|vMPQgCGdx11`)LI>6zc0ekRV-RX2DWT~Je|)Md zDvDBSi!7?|s7{cxxX8xAv${5z!D%}1Uo9L6zG=O+G?GXRB8(s+hBxPSY)&`zlQL3n z?{tGvrAYVL+0Zjke_`7Ky>gcwPgKp!top95>GOC>%FOBdkcB@S_oXGm6N&|_Yc7mp z1mA_qC2Fk|!cPhjVwN9;UlVx-SC+!vHVG(zYtUlg*RO7q7fa{~ zwR4#&&x}}D+#>!;wjRPx*MWxKC_8SegFAHhZh(m61CT9f+S;ng2jMBZ>SjfWvELf} zOak+w1m+ysvK5aFj!$Dxyi`rS`#XDRp0T9_e>Kw1A9cwmc5J2G_~Xzk(7GkO(TQ(di`qew0&Bm}%^!CN~o9H0-GT37WRi?C?5sp{!LdwpDD zA~<%*dmLwe{)ve2?MqSUs;~$!X3sl4h57r-tLnz?0fuOrvkSbnF;f5bRHAEU~e57#hHc3J)Ng{mb3T>&TFMRe~f;myuvGo`Ry{ zoz1><_Otz(3(!+mHdC(YTG-z;%Ga;*U+mYM1N#RVx;6fOdpbr(ONEa(HQUy7`#O|< z62w|R-)`V^Cz>EjMRr%cu6@G?IC8@#{WxAnmjnXGxv*2h zaTa(69BzlED@%z>$Jz1V<{{;=e3__?i6!1IS(ZZZnSNr)?O{QsSS@lpY&wd;c$<6+&2)wc` zdMzsFZ7Rz>1K}V9r2Yy%yUJ$b}1_&Ovde> z=cwzgzQ38NUC#KwLqzX{q#pU~ql@t0i9EV-Ik@DhzvK3zWE2#ZyZ;3JuTSpLQ9Z6-UAvvtPyQDLmiXFG2@ao=M$We+lQmyE{9f>U4R$s^4G2 zX91}&C<|%euv?OuzcFENuu6B@ZJX}iOfC_Hz&|}m@pM8$J=8w4gzR!!L-!=>w|)d&5Xf%`xARE#-N`oE1cd%8nANOJ`qZo0Kw`B z+ud=+{Xr@+0cTo+O?BM<6cjswx;#h>tvq|oil>-L zE5u85!rH*(cy01~ZIDK%>gDFaDqHzaDQx6h&fH;&P=VTWUc4t^P-)U0_T;8LiA6Lc z?Pnq>4n6&OyCNCCM26eZVbj|bY}zGsgENVeRmsvzZwyUlKBd&ij~kCQ{q7zlaODo9 zOWx_8C&ZF>Mtr}}1tLz%{rdqAF|mnBs3PS$5y3RD)7eo`-}zCX_ax`m0;qxlo*n~n zaS7MW0101aJ;jATWxhGt?0f5PzWV$Zkw&SOr<$gduikUGCmP-jeBP(qW6YT3WF3e= zF&xq$b~YR}a|WNC)4MMYJMkj-XHpGpl=7(p)l@JrU;~Wc<9n}NLPcwB-I0_mdw7zw zPpGG_-LzoUqvxF_Cz}T67D`+M%vODSl4LD~r?ylp5{B^^hs@Vrp9482tYK&I(61Xa zo;zQn_=tt0`ULgTagCKhpziVjwi!A|R}c}&fJcg1v-}$nOpV>9w?}gE2wAj|UeZRF zTAe%8gp%j8>Ob&#+0*#h7u@~))VG7(y#%gJzZr8MDREd+Th7lSK5l%yc5a(!MQMj} zqP5A2mYKXPNytT%xN^Yv&g-qS&2(c(te1}awgW?yG*Tq4IvC;C*0p&7qHix$OEP-huWzc-*Y#;20s z=BoIC1$=|K^9GTX_!D=ZH&WP;?pNAi1BD#pWOQW}R_>k8(sQdnAs>5Z)jgPY4xNk5VYt&;IcwxeVbBRA*Bjm}U~PI?FH1R^8^ zp-~;lpy#Q!R0_5|F;7p~(+e9Kc4A%7&8KU5z{F&1Km|h{wLFjSHz+W2n!j%Hn{aoh zj*;sO4Q%R|6|S_n_v7b}ZzYMO&Q#Qc<`tNh;K(kmsMsf9nDeGYPlSR= z(-)DbRkF3H%frIL0+SJY0QGu~X;8SfPC!ZY;sK(|M`vvceIfPI+_6>DLzB45{`!=;F{Kil;{%&^>QCV{r$N@}2T zF4EyzP)bozW2{&SWCeH&!ILI9uuVM{LXtLWUJXM2&!0b^l_vKrj^w_voT?@K&!r;4 z5rMdzEFypS)4Fw_?LG_xv$k0Z^nPO9OB3$h8T-3W*!^87S74=P>khTM`{TVmzn|OS z%pQ=9s#=5&o>cF8?!mr+fpEBnE^KagLjjBF5te#P+oMNB0=)WjY4^gl*7^bi{y(DL zGAPTn`y19xC?ZM;DBVb>G)R{;(xHU3beAG24blzL-3=<;El4We-T5y5^WO7(*fV?F zdlawhJdb0oU!HkkFfoVsl`q7tQaXr{x!l>h-C zB;pcTP5H125P_VLyQ~cAE0V$jg~%{52nl7KozDbueu`nDygcV&xnI0B7hk(hnJ757m zTGRXY;c-|LaAnUXLOPs)K~jZ)`P0VE4#hxHcdDWyA`Ld8Kh!K@{>mbkP=`)%$Q$(i zItOZGXsBe)Q$hkuKwrM9(ea-O_hws4GuxnuD90@lUNY}37-};zBLv<20A&)>C)0RJ z9C`d#D1BdWwgDFwCg`f0NrYZ&whCB&JCMmGBwnQo4o)FFfF+-P?RQA=Z2kNBJggTw z7~Cch4Rf$8{lUEIaZs=*;q&ejnOH8j9RkId&+W5r^A`W71$e>U*e7^fBUSNKU@3Oq z)3{^8K)1dS3}`^UsuXL-@06^&XW6uWoq=l^q=YQ&ZHie7px68`De=uYQe`TUB@o|3}ir4H`y?Egb zg^33fE9yVF`?rv{R7dDBh~j$QaB3SFiEj1Bo65@8M|&Vd=nHdcd4_Nh&K(XU+Z)r) zGYDr5sNdbjTtf)?L5i$YW~F!S0pA8KCTxQg7&|QAWc}Z|GOrY7<;Mysqps=N*fgfWfi65(_C!Y;atMT=Hn?l8`9dTZ~}S)qcIN1mWU#Q>#woMg*g(8B~CxE?4BHn4% zv1&j^&3Gv(hgvbk`7b2aFWzy^8`!Z{^Dr7-Zyig75e>tg!uNHbaJtrp9P7}bMe{k{ z-q~=baD^pOh+kZ0&O>c4|L;dDl9hofh5G?KQT6W?E0DwNlatSRw@K8v>eseIRP(-% z$FoW5DyImks9=MQ`NQf!GTusJrNRq#TW<4}0i%wu&+bWnvMerEzinkX(iTVVJrxT!plNu)$|83k%_$?de0a2REuz zluhiTyXvkyT2YY-Yccq9#e}_{=UJ~;{~pq7l>2B@e7OIP0(1XVO;6G5=1K_#;gPSm zbTn;5bhIzx9_yF{2FCyU&DmWNeD1VlCIcE&RjAtSf1W)okb75Jgq z0I>y^Yuk7sy*QIz@x0&tJ&BMPakUKw8~=nrmLGj_+L_^K8BC{2zn2Iw!^GtYB{}=I z6&Pt2HZH;zNAt&N78dW$*{eTnktMof@!x#XR9B~N_}%={RB<(#vh-P`^&KW_MBi}q; z_*ST3xx3mDuddb_&?^6@#H`kTUjqc6t|!hA8)d&k5NJFYN%#!ulWIB%HSJf$^mNg6 zQGN2VxTfM_$S#2W`RWBR7j*Ea;JC^q$9K0z z)7c>z%~nZWLG1?DM}oJ&3|p=Z={Nb2u|xpxb@z#aKMJTXxc;&0EMTIIb8~sG(c-y2 zkDWGd77uQcn3xzKS{m*CC;$LKM6WFg3d*rKj-W?kZ=}D>*!}uuJ`n&Mp%0rebCD7f znAnb8x}Zt}GVZa})YKpg{n~F{>^*Qh?eHw;#>WThRGAs2{8RhAWTb%Ow4e-HxGD%{ zr=vqPASZ9WS;6-_`{&P!AC@+ZUTyzUQSdf+?3XuBZ){8TphA4)ujmy1VMF85qaUAR zQ;eez&FGT^Q@IaU)_1+evrrE`A^B`fMegQ;4%z?7`Y%zlEU`fVWC z6`^}ZT2vGf;Dl_z(pcyfwdMSZ*Adz zY(Xa$YMN+;N5gVVld=guZIf|ern&pv?Mif!Vnz*(v8pYe%b#wGP(&*&ZEKu z4}mHTKI*uJeoQ~_TP9GHKCzJq+d%E4DlP_@{6nqk$2IR;!?}4!`)8B)mJErkW+VYz z7=vUkhOmovsQa*iE+3#}ZRm`Ur8VxJWeEN)-2Gnbe$J}HWB(Vrv>q-wVsam^?F;{W zLL!sZ!@v$%OrPi@0xs}5?--k>!~#oa#9r^LFW5zl2N_Fs50-l`TF@*lSr~+ayG05w zi8MGYx|&Q!yGBquVlboqf*{9~8q6#+gcacRjlxMx1PH+xW2e z_vh8#^{L?oJy}a4M}edp0VuufPUW~94yksQp6?VtAwTd`&hYpDx8;Jj`8BUAi2$|b zDZ-uek=%Aw4s$Tc#pp5*_pbf|1Tfb<-h@j7B(rB3rB=y?WE@$Z&L{Q0>0F6uAlBiSYOx+y=N34dMn`8qxN&OE1`M%{MLYim&Ske&L1o9C`*n!(G9c6(al;9o0Wd5u@Pjx7-=*W^^N8-5op{y5%b z|2Xt%K%a%X-a{UtEl-7St~LUMlMu0kQGkrrv*aNV2KJj`OD!POQhi2qTpB(3Z9F~O z2zmVsCW^ss<;zEf3^sSAV!a&U(QNx7bsGJEe=~4u1`=Vf_^uISzG>x<^ zfAmvG9v05su)PP$gn=fUM20RYfg`8)!QA5)e0b}2sa0c>c%VeJUK^9Tje}D&2ijEa zo276b72&}6HnuzQG*Pukw?W~A49vECbCoFYaqQt89>{f+zox)hWN~E=3t}!gp?w8v&V?fFE z%}tMbTv~Te7{wAp0tl#*VkDqIZK#Uw?pSRYl>>JV_)!ccMBjm{!lN^^>+8Rdf5E!} z&|F*F>@_iUYvbcG^vpLYG$9TizKBI?*pa)@!bZojJ09Uzr1l0Nc4v;B82&L`YjkPp>YTS^f>>%K8vfZ zi(Yfzk&UX6Us^?QhakyyNwp)C2ej zB2ZePKH+YfOkJm66C=Y2(W+jU8}DV`y?Xz=CCVxFK<=Ib5kYp$TL*lj$un-Alo_Se#Bh`d~A=Oxs-#mNXI z5bFJX5~Y^coK)M{**RKgAfY6eOvX$fYyL`d+kt6NB( z{=@uaStW>(|NeakNxEOP|Da{$himsJSuuhMWwJ8xH9U%tueuC%wj5MK z=m9OZXv8&Iq8;3J)aOiZ>_yH!doA81V(&CW-W{b|^f7fvjj^VFWUCMEqR#P}*^t4k8Qu5Q_p$ch99f{w+^OaoP(Kif!* z=_rcBo3dXQo?SBh1zcH7Qm{I0)(GePJ3;$3E!@2SCWG z8k|Nlk}5z+&Kw^64%0tho>A_<0SOHcR~;MqHgfJRGVJCXsb?xG(l8CYP{6hToYFap;qCx-gfk>av5Cl zw13o&FZfMfO;hmMcwH$zR)Nh9``jBp-%ym>;-=Sv?F6&N{7i3M#!7liN9I zlaxs|8Wr5ByRNn5obcq8w33loXxZ}a>WVXNe!5?`E@mN$=kVfHwoZei{mlU?K{Wp< z?y4;fN><&mWXJ!&F>AO0zFQ(P8PbK8q>o_bQ zQ;GaIOSV5%^&jq>Osub@k7qIu5=#OjBN8KDSsXCu@PLcFeti!Nd)crJjWLKMnd{oJ zMm%`he5(192HWT3wCYgU@5wk`k4yd88YYgFemeK&=g-^pn%{`OBiTSkj;k_P%l{VM z2tZ$rC0%vxl>qi5Brq-hgFrwCP)Gqikp5L5+1hel-S^AOsEaj>Jg7AVkJLwP0uNzf z6_28Oo~Fb9t)}poooy7{T8w;!7d4H;JolCPZ)&=5XJP=GX3n7YzWMAwVdt&$x~*!Z)v=P(iW@P)#2OC*~lxl&<_$6+Zw>#*5F zp@|DEg3ery^irH373{hrIali?} z9*72|P)!Xdkj_*zGy#zL4@|P)Q4e>rBswCfxI5t^zq{(Pv$O559Z3k0pX6vZJymu- zW1%S;Ef%gUNb`O~oBLOAaE>EreJGnl#P!(uwnNOi`;t*6mcjU9Md!`NOoE%!jksPz zsR4ugttT|isq%k3pU|@k`S|kd1QPG306nkvAAdBSnWlwzKiof}u;_e(SVu7Z86l6) zREbn*SEo&{&YO=HzgI5#D}V9rGu2}4Zcs4Y8~P^cys{ajh_MrV)*HKje&beYVQK1l zanw?up@5F)4Q^)7NoJ_zOm*b~doD(`8)vlZiF-+xHny5(HN{Kr=Q?G0n>(|4P43*# zqxT-v+=jHtB7mj8t2)?ahC{(!7bDNSL_5%EVnOZi%Y#D{Nd0iF_^`iW=nR>nUU+!# zEG!HsSmU#cj^0tyf|N!Af!#RGT=S} zvcfUpKzk&7Mtc_*=Gk+#KT-3({exU|!|q6@9jr=E{?!_be^$J_&GGDk0HI?#?2#}H zB#U$nQeQ`#tvEW_LW{d=&BjfX9!vCYwk2_W*6mNAr0si%iYg)@@j!XG>J=ni@x09s zr;8%Jhb1d}?)dk0ADH(b2Mbkcd~h5}_*?s@M(weW!b!S5tH9l|emo*%ca0vC$Rb zWjUOereM8XF*tOmOohBe3W}jd7dyCF;1MU#s(Lhf=3KeG4Wt@UU@;?T(UW-XkdNI? z*N&wTolT`&_U@%hMTLV+eHL2lyEK0J-j;_0jJ=)0k5N!Cy44ow)y}`_^$ZsmcW1sO z>|vZ@)+2`K3G1e*sysd$GXIXyWzaks+y#h?W*hqYgj;XF2-Ma6KGRZC|4Q=c7=Dvm z<*szm;`Gn4S(JXMUUJ|xh6adYv$+d_j^O7aUy#wlrL&+BEw!?e9r}-DA)*@;ba>C7 z4}X`!O5n5#Eh^f6kb3Cr<8udd&&+ZT=j*u5$mxn7U8 zIHJKO-Q<-x_=1&%HgYT2euLfe=X#LZ+C)+5-f{VV3h4?YI6;a_%g-*)#84dLfBx*M zC|5xxgMT^ePm!%}5d_n_85H6EzCp5TEwt3~=I85rgeo#U*DQMJ`34Hx;vqd7oEo6i z!!D3l*RWALd4SN>J-AvKs}_OwM;5lb+P8F(#d_2$ZGoKnGPklI(N5|JTLso-+<5TD z5Y-*R5bUnF;6hVL7HAsd|IOat$E=`=*1WYoQfp%XmlxS<5s}RBUWWZ>lQ;J=!A*bU zsvqdngGJ3sO%w2}$1@tT`mBEs{ov+|-MD_FZ=0ORvFIx)3Xw!}FDI|BPv`A7#!w7iVs12pMY2nA0Y%0&d=R)7&SjfvYEGgN1jwcev|a5#fXY+M>&snHV!_a1 zT)k3W?)Yh4UHhuiw5m6L3(-AO!Jj@k5jA|Se&uRrMiNVY?+e60$?7Eg6=^}dz9FAm z2OB3RW>e!CKgYA@pR_~aHU{-IAnwghS4KkLv;B-f$jimMI9owY=HM^_7Jgo95>=i~`f$J4Lxf zGy3U`t2c?YXNSG((G^Y=X=c!jxQ>W4R9og6?0%XY4s=d^@aD!r@K29<+hHX;?e0uq z^nqQ@eF7f)fIW}PfQxO;j4-11T8)aQIQ-h!<(2Hh)fPVs;f~^!5Jap-cyM6f{-|<$ zt7m3WjVh|lRzR=wh;rA}hOGe{}%!Sb`0*nb?VmBX{T8 z8$B*-K2j^;@U2Z0hb*oQcPS}LHM%HMF0`iz$imo##MlUpSEl1%6~XUx+xpbU&-YGV zIWs$p5!9}(rNw5{^UZ0%^Z+;`#PmsT!cQHmsTFeE#NEC9S%=(`Ny+Bn$pAG&YWki<5+?e2|Q1LIq;*3yysC>qql`e7uS5 zf`TLN?kd8``Tqah){G6?1dM{6o-r^yzP|c<``IMN$l#0OVh7w^iVM5TVV@=G#Yd+S zfC7Yd9k$@_-@k_gF#hoDx&!TZGY-C~p`mEYeFSG5Tz`^>Mi(=k@C3@^FbIeD=Djk< zd3Am1b>ywYfR9fL)qO)@f|!*b`djLK+gjowgvM4co{Q|>&S2^yj|sZmVrQma!>e`q z6a`syli3E&s_0WFVv<|q;(jma%zVDSP671`8L_x16U9xW@M`7c*ilg+mZcJ(XG++C z`XKTf#&1VQM`$u!{6B7}6<^E^5ZcGY0$@)06;3Jwjjenx2Z+49yhnmU7oRdS$w80s zui>W%b5;3`JgTEn`u`gsL+F{pf-6-B=$_3VpYWLJvuyJ?c3hU&x&Lk^_e$cE+LhB= z0LD2J6?aXe;Z?@pcgTJ|;dBqzg4+2c&#sJTcj3s`O zczhn3OCjHY0ENP~8ApfZ^>U*)h{nRynSILBTuw4P{4-mg_!o$v-nRvW9VEcTB`Pki zlqrse4Q>Jus-NTPedA^oYaOd35fAecZ2(EY-G}z1P+f=t0ioVuGkfZ0+|#jsydbvz zz%I0bH!AzhznxF_Z;#$7(l|py;}e4p1y1rWV2o}&J%fZQDo)P3a`BOo1yHqSVQyDe zR_20S6ynhXK6N~Ctkg^Qy?te+FT8Ou(MQnN_gl$aln{#0hN+@*pHwq|@OmIUQ zjMgy0^B_vV_31;FwEJ-81OF$)Ku*z9Vm=-ldrcuc+VkkT-eI`9h6#O1H?Z^@9^Ns?G&*u$S(PqZSbH2k<(D4uQGvY@0KbiaP26Ur1QcfS??($((F#?;R&KGQ>>AGwsCueB?T^;o%vKCSPdT`ZES3`7dJCJwOw2oDz9kG z)nEh4tn1Mes+CC=xFa%@22;3#2?Dcyk@olZVIfF{`SZe9P=lE{3m_+)DD}iNv9Lf z>$t`(E8MMr`*RP4IT#q0G&HQV3(|j}Ev>9{K*Bv9bPf>_5ji_MGutePzF;@mBbEP` z8R_uvzlJbEa%gX$1&?BeM+m6$>@OW7t>!&*Oip=V4_0^F@PYf}wsx;rhtB%n`9 zunELNF4S_ou^&XK7CoG9f`he1zs^nYm1cD{Om-wP(!YNG6ygvZ9vl1q;c&&ud9yZbNQHOc*y@rM?w6NRg*I=B$U{GT9AxO;hF zHZ}(Edg(gcHd4Hbp{OHRSlqXFTD@55H__0_G_{m%eB&3EO56er66AM7^D4Zy(p~0b zxftL_eFsHXuZ6}Aa~uz+rl&{K#ON?9j8g3hQX?M?7vJsIY2LT&@8z%alnS0Ku+Egi z2>o{|3o9s=-YC2Cqo;0NI1(yudH-nC)|N#mKpxNXzG*L0@XMyZyYNBTIy`V)wF$!9 zx<_`h-J0#?W!T+)Hkc|u(w``Kbd+0Xh!O+NiVHr#1*c)S66WW>t+EkQR8*w-_Dfh) z9d9t2k;?%Aft~Ix?U}KWZ+(Pfpq1$1;UP@#xp{dJ&k6b#*GEARweUCp?c?J;5*`X4 zD|&`u0nem+931(B$(Q170oBQbC(tRqu`cy@V|+}rzS3Rp3ISG)7wh-$Q|PvYO0irN zMf<{sK9Vl-00vCQm6a_*zPJP|>X@L?b2AR79lGdF*#!3ViwrSZCoJr?MI$<2y?cu| z3_V9vJfWeL_0AEz*B5yo-R}uQ1zEnEQ=@9(-$IgiW*<7>YaI5pw4o8CL%nPhWv9Tj zHDU$q2Ms@l(MbUrZ<4A{7N3JDa#rrZ-q)ni;5<*ZSERB^KdU zSl=X|bL&rKp>}*jL<9-uKWNwi>G8Z<>oWp^KJZ|pJb6MzPan+Vu)*A%g!2c{*PA*B z7iz3vnJrLne+cRyQDXkDV>3z8kR$(l8y+C8P$F5mH;-e%4VvC4uxe(i=rY4a_Jjb| zs)U&{=Rzps1p}fADz#WB3;kn=K8#di#QaK$N#Eeuo?&Oq2V=4PdH^=U{`tADXajcM zx5^`Xi}CS!de(5s()Ed_mJc4V$1sYOs4|RPU%TwDrdqX8;B#8`lsN6OTAf(vg8c-# zzioF#_8Bpu>RFlQHM%tc8}jv3RUp4hB)YtOhUaBSc&3ELw}_vMYbN7p`J%LM>&)Rm zVzG8ySn8E4W#G*^kzxkf;0X{28V$;k3a0Kgx#hiDBwlS%r_ew1 z*^QsAq0>PQ`5UBrt$6vV2~iM9cFL*Eas%(|6U6Afd7KW76osmU>>IaOSix`nx=!zt z%|Af;INCF=XupfZbL&nmCh$~vu*;{U`8pJWU0I#4zLODFPKAbcv9aax7$8IcPrKF1 zn-@1%c4ae_Swadl0cXp&qGo0)%Gpn`-SmV=UcJK6)6*Lp8)If={RK^V4<7j2YWHzSNdsKCPwl1;q9?FoM1xP$~q3=58l!BLWtvDG&~Jsy{ql6nt`>1!Js<>nKN z<4!9OPbwuR2M137)zPT@8)(1)lTmc9v*0sWp>j>lV(KRc(scRT5)vq8n{_r=uxyIF!c$iJ+ian>I%a@8JWqN$~9 zb@<^e-&u|@eT0JDzWxp*|KEqipRF?+3Lc(R`!`mLC3dTLY-ZTpE-rVxI08&UF{6zo z^mm42xLa(XqnVwZeezb5cyx)^=^it^AHL4_#+c2Cyf34*Hily2nBez^Y?Az#r`_x8 zh>f+;HFjDsDIzkUr7;ZtKHAG?6iuGD;I*!oqB zq3BgRhBV)3NzB=>$ z8_#=?tF$#fj^a*C#Mfi{d9-bQG zr#PBDrdeI6;NYndc)7`hjtIC@`An#WZeI#N{vdo+LUq~SXXkgVoXK!XBhlwzXUA4n9<>cge5lz% zG<|d3du(^a)9U|p72*%>nV6fE8_x^y#44J2N)1g_0Xn6%_nKni@bdI+P}ZaP$0acg zrZy+^FQ}+QiFn#Z)!N38r>mp6^9egB)!Qx0r#Ry<~lCt>E}NvLe(gKuDMrjD)3 zeB$oifPJ>yXhHP*`}dP*FWOQeoukDw8S07;&sS4pUHD2y(!|lc$;i;}$)cgnXg&Eb zw!EFcnx)U8%Vuo*k`=Q?IY)AEK%Dg9ofpySD|*YF@4Ug00lXdH&_$)DriRAS-YWge z<=yT|S^OkUOWNOM9yzk)JA;BUW0^x^W8W-{zJIT;=ebKeD6a?j z1{E<6_7_%q%vIwLwpAKz!Eo24v#M6nH)8)X($EOFkLux(eY7spkpH$06Swo}$B!hj zhw;^~*cj+lcGGQoV^k7Z5D2NMGoBDr!AzG#B}-;__yO+Bj6Z=`#8s=^4eB7rC{QaB zMw^6VY94fIu5zSN7#>@AiEw1GQTXr)z5cJ#Vl1F|-m@2~FyAWLd25Hp2B97#5dbi( zuz+L)ltA@I!nZlHbTxL$ORIJT=4x*Th2SjKOcA{8$S^R}=2QOAFP4$j`&R?Ccl-Dj z4cg65leMt^Ugm1MN;S(JG`Ug0$u@en|3&arYyw0xOvF{>hYlMe7^zNB zV#Qj>bo}Dg%Er0f8kG z=y}d)i-q~{_^2%(N(8uNY;A4t^cfKFsji`+So2W_QHX?+(ib8JzyMWRTAF4x-wb`q zx!N7BrgMCuXBQ(jXV#F}3TXs)%>?lO!SBEEMZ5^Z99QSvVTP&B-(NAz$%r;8(qT==#J#jkT zc-y9LBQ*SlmEwMMu?KDH< zmpMIlpG`@Ufb3bN>7<#-&{bc&K4sK5-!nQjg{39;N=Yqvd!Ia|-snIRF4iXPohMEn zQ;{Z1lsY;ZD$!D-99o~qQ`Y~-$;2Hm0U2!DOQQYlL4xX^e|8GT#EAd(Lqi-dl4;fs zEhyNe#z4_sHPX9OTZPvxIJ`(}{_=Vc^5;aoZRITJ!>Hsa$Vu*f0oj|Qok;6s?VCj= z`INf4yT36^u?il)3+4FzXR6j^OME{zp+R~)_24@vqD zae*i|hbyGRqi*D6WYkoC4vU?35{x;UH`l>PPLsR5r7lrkP?6h~V zk3!<*1|=dQc5T_WQ2u!BfiWc1a5}G8I%u2g8hl!$=1Q3bzy}lK6V&)%amYsJwR{1z zoVC>u$%czFwkD0@=txG#Ox@X=l;GW?b#`9QM(wuXt1EYH9i2LdO&rMXg_C<&<(%l- zvz#&ml#Bh&rz2^6VCSe6ycHFsLe8sq{hatXS0zuWuF0>XK+(hd6Fv9yJl0=t3X4O9 znp`O$a2A#f-wc*^rI*NA_Ek-xlJwcdiTFPgIkD<3@$Z@1a;CDYl&GbznlAW$36%=R9im-;ANL?O3Pl5 znal-9xe%MO#^<}Ts!_Er6!ci1r>@#P`>*xYPG)9k(%3ibXg25mw!pDkC;2Mo@9S$_ zHwX{7oOTGn)8M|}jtlu8nFMo9zm^)Ee*&aAR#}xNV5M7j<9SD=!#O-6^cvJvaPH2M({n_x^E#F1czUQ_UXUrD z{5u%vAroTk)TYhqfa2P^`uw@kSbo(iON-pG3Tj3Fr&u0a>VcX40*HBed9arv`;w&H z!`YsbUA1Z!njXdotacQdF-;X1>**2ZGkUbNOo|hj`wUA&BH|%O{NryKI#*dTOF22X zTUuYe{q4QHfIM}Tp^v~8tz^)9f{pEdhnm3b;#*z8!fDWw^Pqpqec-TDK&5z5yLj>J z8^G`O$7lg^l5M{Ww;~GeLRBIB`wp0_e=kzmu5WR1N_{cO@^~;c%Vr|wA=-$0o2*I<1lE4QG4EnSg3zsgGQd&S+m>0>?tV88=71-rUlOGvDScygB*=6HJXLp}=dzWAlSyC-$tW9pJ@!hec>{HAF`G z2aZt)3w?RW-Go|EZRyhN!ghgyLA;bgEyxzduBWFI-LwYyZFtuAduhmxY8lT0hw`+~ zi9Zkgc}^(N$vS^&iuZi@UFQ>bD%oF7J=hzCI$AV;mRtPln*|CyJh&HE{3OZVLrEsU z9}CJ)Whi-!#YA&GsZ`aNRLAnvMG#y*ek{{e{m$>%ml=rFEhG7(XFU1^DsBv|;$M*k z5CPcWGNQZuy$4&m!QU&>71pnfe1Lnu75mTF*DpWCe0!a|5X^ z$n6(oKm#E_Z{-}b!w7{L#O$eSCF=H2WKKjF8$H98k`Rj^e10C5hWkuRPDLgC6!WjB z8Lj-c9dj=)uO|dtKXMhtM8A36+u`#RrhJfd+xSimhc@Yd=Xy^3##D+HXR$$=&Ozcg zICp5@=8MY7Jt6xs{QHR|9sY-_${-{Jw{r7Mc^_oNJtO}oCMzqp1rI0uL3z`hLoMF( zbpj%sEG|jGwoSAAB*=EFd+KLa4r8upW%$KDLdq_1~VSSsJz-LfNvv7K5E7WAv zI_(mHk?sR%?UrAi#6?l>r?N>L*LMGFU27tv@^yBNjE$2VhyU+)eO3N#l1&f}``!_K zjZGuP#hFbCy>@^wV~&;N!@8bSwFqgH!CrECboBeORaNnaDLrSs>+8-ChfVj;#LTQ5 z!h<@Rs&j7zo)8Q4L3lMJfIuSiXCzddyQpYj|5Z(RMFLSY4pa_&+{fDWd7k4jFGLGS zv6jUVn44!`o`pw7eGx{VR0|F5j)kl14Xke}iTwDm69iQa%G7*5%$ALVyvmG;puj*O zs4;rf?M)JHzlrm{!7*ZM8|{-^H0|Wm=iXwg16JDPseCTNo1i*Tw)WtL(!@NN$rJgW zmuZK_6f-_05@f7twuU3ERg0SuEh0d6V8GeW?|_B@t&Sv(6w@Zx#jdTaY)!R5ymhug zQSFf${1N+o{b;Kp_`|SnCMNTe507THua7Rzt>%0;{P02F(#ZD>qXeP~3(I@+RzE{u z|IGIm!J(Ptu-%$WPO(DtY#nqX%O)kA>C%fQrG(a}lb*EtS8%d_>jkfd7=`{&u?}b* zV$XO^-48zyhzHZ0ipjdjJ>hJ=kbc`lKRl7M?29Vak)wOk+`A+drM|yOd|QG;TFsCo zl?v%V)#iVa7~!h8Gk-#3)7bc!iCz_L!Gp)I&EEfv-g19MeCFHk_QcM9Q@l8ZOE|HF z$L1!?z@q8w6#p=ADCeeDmaunSIVVqFZ76X^=rzgw$$G1Ia!W>$@eivVbCiR+uxUTE z%8xUjfC7qyhFvfE(gEI>`WQ4FUZNuYi9{%y0Zo9``e5U0q!W zj)_P~krNk3hVrYQ)o~eepwlulGlPAP%%yjJqap+!@E~o<=4?R^X;n$dKtes!o12;S zY24mooxCPnqrel7yP!d*otb~I4)VDk1;9@WxjFC)q*5-Hn27g*^cWp&9U4L>7ZIt% z!jh_Ui6We?E@PpQbl}s;`_>g6uGH!I!N=!skv9D;-bY?BU82tgs?p~u5(+c`|1wYv z8S%Mg(_+#;F>`hGdGsGz^UVuT5HkbI-?q~mNuu_s1Qci+mQzP1JMGs3eSLjUF{8vU zCnF=W&47_k9Mt#s-A5=#%qpO(ibmoA(RnQ#6Z`AyeMumC8qLA2vl=PV0!+6XG-P^7 zy#BY1E;I)RxvVbb`D({45#Oh4T!4215z5fgPrv&4*I#<_6uM&Xuh3}Kr(6O zpg?O|I}#QyZYA`?K#tsOyI~|^Eq4Rb*f{=SY8F@F4@;VW%}cO zJ1^-w`ae*a8?4HVgA($a*W>15q|wsc5GyHowTIy9>PmmPf*-nd>DyRH|G2;JwQ_8; zw4!iKg60wn5Ndo0%%8;@9MeCVNUjYeQzRrtm0*V%!ml?%>YU{?tINEA?XyQ8PS=Eb zA!z4slr~2mb_1!%!`bR0^`Mt1C@7LyBVoT+bNQ^q0g0PDzJty9o?D8DoHVMAZ!Ry3 z0g?LW{5(8$5K@gzhBJ^jAiSWr!*3Oz)7EP5-Nw~fW)JsE%)nd$C&n6W9TfFOJh-`g z-N`NV^}V$<;`7qeKUY;b#D|{p06J{K%Z2WB&ibJ}*f=;KAWbTY3Ir_&hll4z|Ac8* zm*H;_-~v}v%gS#XFPUXs4Hy0mMz&WtC98uG(ph)yO069sD3GgVFDMxO?t#&+@#!nt z)amlo$4oz%v09eRyoF zfBeX2XW-pn(=Dy4qLg2+mX4)nn>IyW#cV1Yjbw9vhp+VbI|aY1&wDf4Xj{8|2q=F^ z=}Ta=J*Vn)YWr+^;alh{4`XACixY<50xzEug~LST3I$_R*|LFpqZ`lEEEQp%d;`EA ztg<6lR}U}GjTZ(|JH6)kQot7rg-VKfYE02lORxDl2 zIT*szA*7Cy$XtH`EV0+ay8F+5WC*FmY(3fo-Ee6n|)gYFqT=HM<8R2WxATBMwOwuz0<%@{})Iu zb3w`rM_E!X4J*LUk5NcByRowIU$7S28bR2arlTXUkdT+-E@*)4W%S{{zi9T%uR8h$ zLSf`&cCdN*TOFJAxv=NW0~=DnS@ln6o%rT!F+N>YvICI&vp68bZ!q!IN(BxB6iq)U zZteJXsV?yBSbNHLXYkMnXIrt|Z!9NUW?2UXeRU*0-M`+cDEGMdd! zT|22m?I)U{rX(dIulVoOd?ZNyNqq?^?b-8>iJnT(TZ(3;VzA%ywlIY~q228%o8bvr z%DI5y!r4B%)o4ug;VMX#P(Fbej4Sl{9nB_>L;vH?Y}43b%+{I-kWp=pKRyXJ%}Wd0 z+uN7TZUadRHrH~eUERBe1PJ__+jMt}1~)aFFPu{}CGBtnywTPU;Pyb7I1C_^%F07f_heC7O|A3Ck56D6yOa4qjfa-j*4EZTG&IWfKWr9Jkq-~( z0!DBV?;jjk!>#awNDgSdJk2VzG66PMDDGroCh4ArCf^z-wx-=2zw$>cuG z83DWL$WqZIP=3PiNcJH+IeB7*lA~S!BQTP!xr&oVn`-nqLj`L*JQ+Zj$*GJ<*h~ik zag5I%0F1G;%1}gVid=q4iFBF_2rvX0iV&IT#ep4;{&I(|gM!RuZD#<&PIFH`ujH0w zP(>@Pb`qngm-}3{`YC$##$a|z+-jKs;Wh_{?vic(+mf4ZB;I?n%T1ambaD+Zm9xMR$1sYk{1C#iER4l7~JPv(oSl>N7BamYdmp{-!lalKcHk;d50m z@OzvwOI(~}oqxK2wDspOWb-%Zobf=w0`MesErovQPl#S~fQJ=c+1wfX_`#ICl+p4s z#Xx&;SZO<`7d);P0lg$Qcfw{M)$)nvAB9m_o@*yG zR4#&Yirs-Rt`xYx*Yv7yHKiHoyWV!_^suqk3ffY1FlZ`(;DslJ>*oc77J8s)0Mh3T zaPd)6+SKau1FHHfSLh3Cl0)}Ub%jWd?eghYt~>q`QYyi$=mr&>J$1mCjK?Mzk05NoQuX?dS1ngXGLtg*3AU`3eB?uLix4r$8T6KF~ zKPO^Ksx2?qo~4XT5XiKy^!<}lK!?G|WQfEQ;$aH|9xgEH&{if(aUYet;Zqf9?*His z87fNLFy0`;i0bcuZuP;>=QL=LjDurJOT&hR+W%AV>WFSuh^0$6cf`iy4;H)MKPvb`B0GsM;oxwwNB#uxjY^h4{o>CL1H*tW!??(XTMIi zNLS8mydjkfxVXa0lXk}+_aJ?^M04zIl%xspKJWMUwfXJ*_5%jLe-|I-5GG)mPFzY5N6^?!REExq}T2Gv_w2v}T-+iTAGRG#*uiJRv3 zjSaYC)3*P9`crU;@}CO|iXrlYsArhMQ&H42YG2Es-T9dL}>3jx)|H%|>HB5Z1r@ zc)0tugppyOUwiU)(RSxtFiWv$V|V@^175T9=O|I(TuGn*;@FKI)exWWw|)=oJ2-oe z5am6nxVq~HSM`&6j~!u3eBK4JRu)#a&dspQt7Z>2EU&nMwfoZ%*ra{#(^=$U?$>+T z%wP8DI2E!!dc@pbJfL>6%6gkPs4<&QDfb9TzYNbmf?TTEBhiOWEr8D%ecJO{+Fi~D zmnm{*RbqU7w3p(=17zg;=UvQd>!{}s) zh#X^{IzN(@o(`fhG?TO>`PHSRzl)1sfO3R@Z-#QcQb_NDWSP6{xyM9&agcGNcn+VC zj}Ia^PJ7^-i38C-KK}`D+5orv`1_AGd$`$#68y9|TH_?By1)55Lc4|$tPZ5i%;

    ~xmgc1tzMl>OG$$FQl)x=j3JF5@K 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 z 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 Date: Mon, 19 Sep 2022 14:34:47 +0000 Subject: [PATCH 234/281] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- doc/configtables/clustering.csv | 2 +- scripts/cluster_network.py | 4 +++- scripts/simplify_network.py | 10 +++++++--- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/doc/configtables/clustering.csv b/doc/configtables/clustering.csv index 1ef6e21b..bcab264a 100644 --- a/doc/configtables/clustering.csv +++ b/doc/configtables/clustering.csv @@ -12,4 +12,4 @@ 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." \ No newline at end of file +-- -- {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." diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 32e89273..63fec077 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -475,7 +475,9 @@ if __name__ == "__main__": ] ) - exclude_carriers = snakemake.config["clustering"]["cluster_network"].get("exclude_carriers", []) + exclude_carriers = snakemake.config["clustering"]["cluster_network"].get( + "exclude_carriers", [] + ) aggregate_carriers = set(n.generators.carrier) - set(exclude_carriers) if snakemake.wildcards.clusters.endswith("m"): n_clusters = int(snakemake.wildcards.clusters[:-1]) diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 959c84e8..2c7f8413 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -245,7 +245,7 @@ def _aggregate_and_move_components( _adjust_capital_costs_using_connection_costs(n, connection_costs_to_bus, output) _, generator_strategies = get_aggregation_strategies(aggregation_strategies) - + carriers = set(n.generators.carrier) - set(exclude_carriers) generators, generators_pnl = aggregategenerators( n, busmap, carriers=carriers, custom_strategies=generator_strategies @@ -377,7 +377,9 @@ def simplify_links(n, costs, config, output, aggregation_strategies=dict()): logger.debug("Collecting all components using the busmap") - exclude_carriers = config["clustering"]["simplify_network"].get("exclude_carriers", []) + exclude_carriers = config["clustering"]["simplify_network"].get( + "exclude_carriers", [] + ) _aggregate_and_move_components( n, @@ -397,7 +399,9 @@ def remove_stubs(n, costs, config, output, aggregation_strategies=dict()): connection_costs_to_bus = _compute_connection_costs_to_bus(n, busmap, costs, config) - exclude_carriers = config["clustering"]["simplify_network"].get("exclude_carriers", []) + exclude_carriers = config["clustering"]["simplify_network"].get( + "exclude_carriers", [] + ) _aggregate_and_move_components( n, From 3546043a3e9c40c8cd236145d55b0a3d96d6481a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 19:59:45 +0000 Subject: [PATCH 235/281] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - https://github.com/myint/docformatter → https://github.com/PyCQA/docformatter - [github.com/keewis/blackdoc: v0.3.5 → v0.3.7](https://github.com/keewis/blackdoc/compare/v0.3.5...v0.3.7) - [github.com/snakemake/snakefmt: 0.4.4 → v0.6.1](https://github.com/snakemake/snakefmt/compare/0.4.4...v0.6.1) --- .pre-commit-config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0bed73b8..f8615145 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -35,14 +35,14 @@ repos: files: ^(scripts|doc)/ # Make docstrings PEP 257 compliant -- repo: https://github.com/myint/docformatter +- repo: https://github.com/PyCQA/docformatter rev: v1.5.0 hooks: - id: docformatter args: ["--in-place", "--make-summary-multi-line", "--pre-summary-newline"] - repo: https://github.com/keewis/blackdoc - rev: v0.3.5 + rev: v0.3.7 hooks: - id: blackdoc @@ -71,7 +71,7 @@ repos: # Format Snakemake rule / workflow files - repo: https://github.com/snakemake/snakefmt - rev: 0.4.4 + rev: v0.6.1 hooks: - id: snakefmt From d532424e5db79c8b64760915321457a3471bf4df Mon Sep 17 00:00:00 2001 From: Philipp Glaum Date: Tue, 20 Sep 2022 08:42:45 +0200 Subject: [PATCH 236/281] update release_notes --- doc/release_notes.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 0f8e122f..d5016d55 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -14,6 +14,7 @@ Upcoming Release * Pre-commit CI is now part of the repository's CI. * The heuristic distribution of today's renewable installations is now enable per default. * Marginal costs of conventional generators are now taking the plant-specific efficiency into account. +* Carriers of generators can now be excluded from aggregation in clustering network and simplify network. PyPSA-Eur 0.6.0 (10th September 2022) ===================================== From 6e6f52fb050fb835418dca56b355e15f1ba87abf Mon Sep 17 00:00:00 2001 From: Fabian Date: Tue, 20 Sep 2022 09:48:18 +0200 Subject: [PATCH 237/281] add .git-blame-ignore-revs --- .git-blame-ignore-revs | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .git-blame-ignore-revs diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs new file mode 100644 index 00000000..3e5d1bf6 --- /dev/null +++ b/.git-blame-ignore-revs @@ -0,0 +1,2 @@ +5d1ef8a64055a039aa4a0834d2d26fe7752fe9a0 +92080b1cd2ca5f123158571481722767b99c2b27 From 1c7ddc9a0326fd1ddb745e41097a805c0d9ab8c3 Mon Sep 17 00:00:00 2001 From: Fabian Date: Tue, 20 Sep 2022 13:36:46 +0200 Subject: [PATCH 238/281] fix reuse compliance and add reuse pre-commit --- .git-blame-ignore-revs | 5 +++++ .pre-commit-config.yaml | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 3e5d1bf6..19a99c9b 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -1,2 +1,7 @@ +# SPDX-FileCopyrightText: : 2022 The PyPSA-Eur Authors +# +# SPDX-License-Identifier: CC0-1.0 + +# Exclude pre-commit applications 5d1ef8a64055a039aa4a0834d2d26fe7752fe9a0 92080b1cd2ca5f123158571481722767b99c2b27 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f8615145..f4f2d637 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: : 2022 The PyPSA-Eur Authors +# +# SPDX-License-Identifier: CC0-1.0 exclude: "^LICENSES" repos: @@ -81,3 +84,9 @@ repos: hooks: - id: jupyter-notebook-cleanup exclude: examples/solve-on-remote.ipynb + +# Check for FSFE REUSE compliance (licensing) +- repo: https://github.com/fsfe/reuse-tool + rev: v0.14.0 + hooks: + - id: reuse From fcb80190c4f122d2cd151bb9b5a59e8c7a9a20e9 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 20 Sep 2022 18:33:21 +0200 Subject: [PATCH 239/281] bump version to 0.6.1 --- CITATION.cff | 2 +- config.default.yaml | 2 +- config.tutorial.yaml | 5 +++-- doc/conf.py | 2 +- doc/index.rst | 2 +- doc/release_notes.rst | 29 ++++++++++++++++++++++++----- test/config.test1.yaml | 2 +- 7 files changed, 32 insertions(+), 12 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index e54f14ca..57cc590f 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -6,7 +6,7 @@ cff-version: 1.1.0 message: "If you use this package, please cite the corresponding manuscript in Energy Strategy Reviews." title: "PyPSA-Eur: An open optimisation model of the European transmission system" repository: https://github.com/pypsa/pypsa-eur -version: 0.6.0 +version: 0.6.1 license: MIT journal: Energy Strategy Reviews doi: 10.1016/j.esr.2018.08.012 diff --git a/config.default.yaml b/config.default.yaml index 2d26ad84..fddd7531 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: CC0-1.0 -version: 0.6.0 +version: 0.6.1 tutorial: false logging: diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 241dc2e1..63b9bb4a 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: CC0-1.0 -version: 0.6.0 +version: 0.6.1 tutorial: true logging: @@ -10,7 +10,8 @@ logging: format: '%(levelname)s:%(name)s:%(message)s' run: - name: "" + name: tutorial + shared_cutouts: false scenario: simpl: [''] diff --git a/doc/conf.py b/doc/conf.py index 0b98619d..0cfb1f9a 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -77,7 +77,7 @@ author = "Jonas Hoersch (KIT, FIAS), Fabian Hofmann (TUB, FIAS), David Schlachtb # The short X.Y version. version = "0.6" # The full version, including alpha/beta/rc tags. -release = "0.6.0" +release = "0.6.1" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/doc/index.rst b/doc/index.rst index d9ee9842..a5d6092d 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -37,7 +37,7 @@ It contains alternating current lines at and above 220 kV voltage level and all The model is suitable both for operational studies and generation and transmission expansion planning studies. The continental scope and highly resolved spatial scale enables a proper description of the long-range smoothing effects for renewable power generation and their varying resource availability. -.. image:: img/base.png +.. image:: img/elec.png :width: 50% :align: center diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 0f8e122f..935c1e9a 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -10,10 +10,31 @@ Release Notes Upcoming Release ================ -* Individual commits are now tested against pre-commit hooks. This includes black style formatting, sorting of package imports, Snakefile formatting and others. Installation instructions can for the pre-commit can be found `here `_. +* new feature + +PyPSA-Eur 0.6.1 (20th September 2022) +===================================== + +* Individual commits are now tested against pre-commit hooks. This includes + black style formatting, sorting of package imports, Snakefile formatting and + others. Installation instructions can for the pre-commit can be found `here + `_. + * Pre-commit CI is now part of the repository's CI. -* The heuristic distribution of today's renewable installations is now enable per default. -* Marginal costs of conventional generators are now taking the plant-specific efficiency into account. + +* The software now supports running the workflow with different settings within + the same directory. A new config section ``run`` was created that specifies + under which scenario ``name`` the created resources, networks and results + should be stored. If ``name`` is not specified, the workflow uses the default + paths. The entry ``shared_cutouts`` specifies whether the run should use + cutouts from the default root directory or use run-specific cutouts. + +* The heuristic distribution of today's renewable capacity installations is now + enabled by default. + +* The marginal costs of conventional generators are now taking the plant-specific + efficiency into account where available. + PyPSA-Eur 0.6.0 (10th September 2022) ===================================== @@ -36,8 +57,6 @@ PyPSA-Eur 0.6.0 (10th September 2022) setting ``excluder_resolution``. -* The software now supports running the workflow with different settings within the same directory. A new config section ``run`` was created that specifies under which scenario ``name`` the created resources, networks and results should be stored. If ``name`` is not specified, the workflow uses the default paths. The entry ``shared_cutouts`` specifies whether the run should use cutouts from the default root directory or use run-specific cutouts. - PyPSA-Eur 0.5.0 (27th July 2022) ===================================== diff --git a/test/config.test1.yaml b/test/config.test1.yaml index bc3b2496..3684c7fe 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: CC0-1.0 -version: 0.6.0 +version: 0.6.1 tutorial: true logging: level: INFO From 291270c08048a3bab5e705eb7989dc50657cd53c Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 20 Sep 2022 18:36:42 +0200 Subject: [PATCH 240/281] do not rename run-name of tutorial --- config.tutorial.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 63b9bb4a..9d802d81 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -10,7 +10,7 @@ logging: format: '%(levelname)s:%(name)s:%(message)s' run: - name: tutorial + name: "" shared_cutouts: false scenario: From 8dd10dfd2334e1158274fd2880030bda9b321519 Mon Sep 17 00:00:00 2001 From: lisazeyen <35347358+lisazeyen@users.noreply.github.com> Date: Wed, 21 Sep 2022 17:15:31 +0200 Subject: [PATCH 241/281] add explanation for capacity_per_sqkm --- config.default.yaml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index fddd7531..fe2fe713 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -115,7 +115,9 @@ renewable: resource: method: wind turbine: Vestas_V112_3MW - capacity_per_sqkm: 3 # ScholzPhd Tab 4.3.1: 10MW/km^2 + capacity_per_sqkm: 3 # ScholzPhd Tab 4.3.1: 10MW/km^2 and assuming 30% fraction of the already restricted + # area is available for installation of wind generators due to competing land use and likely public + # acceptance issues. # correction_factor: 0.93 corine: # Scholz, Y. (2012). Renewable energy based electricity supply at low costs: @@ -132,7 +134,9 @@ renewable: resource: method: wind turbine: NREL_ReferenceTurbine_5MW_offshore - capacity_per_sqkm: 2 + capacity_per_sqkm: 2 # ScholzPhd Tab 4.3.1: 10MW/km^2 and assuming 20% fraction of the already restricted + # area is available for installation of wind generators due to competing land use and likely public + # acceptance issues. correction_factor: 0.8855 # proxy for wake losses # from 10.1016/j.energy.2018.08.153 @@ -150,8 +154,9 @@ renewable: resource: method: wind turbine: NREL_ReferenceTurbine_5MW_offshore - # ScholzPhd Tab 4.3.1: 10MW/km^2 - capacity_per_sqkm: 2 + capacity_per_sqkm: 2 # ScholzPhd Tab 4.3.1: 10MW/km^2 and assuming 30% fraction of the already restricted + # area is available for installation of wind generators due to competing land use and likely public + # acceptance issues. correction_factor: 0.8855 # proxy for wake losses # from 10.1016/j.energy.2018.08.153 @@ -172,7 +177,7 @@ renewable: orientation: slope: 35. azimuth: 180. - capacity_per_sqkm: 1.7 # ScholzPhd Tab 4.3.1: 170 MW/km^2 + capacity_per_sqkm: 1.7 # ScholzPhd Tab 4.3.1: 170 MW/km^2 and assuming 1% of the area can be used for solar PV panels # Correction factor determined by comparing uncorrected area-weighted full-load hours to those # published in Supplementary Data to # Pietzcker, Robert Carl, et al. "Using the sun to decarbonize the power From 108e3c0ff59b151a261b157f35b21af756ccfdb1 Mon Sep 17 00:00:00 2001 From: lisazeyen <35347358+lisazeyen@users.noreply.github.com> Date: Wed, 21 Sep 2022 17:19:01 +0200 Subject: [PATCH 242/281] fix typo --- config.default.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.default.yaml b/config.default.yaml index fe2fe713..1c864fa4 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -154,7 +154,7 @@ renewable: resource: method: wind turbine: NREL_ReferenceTurbine_5MW_offshore - capacity_per_sqkm: 2 # ScholzPhd Tab 4.3.1: 10MW/km^2 and assuming 30% fraction of the already restricted + capacity_per_sqkm: 2 # ScholzPhd Tab 4.3.1: 10MW/km^2 and assuming 20% fraction of the already restricted # area is available for installation of wind generators due to competing land use and likely public # acceptance issues. correction_factor: 0.8855 From 2fa4c2524063199c259521fee152ee0f94376d86 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 26 Sep 2022 20:05:58 +0000 Subject: [PATCH 243/281] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/fsfe/reuse-tool: v0.14.0 → v1.0.0](https://github.com/fsfe/reuse-tool/compare/v0.14.0...v1.0.0) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f4f2d637..21a55d3d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -87,6 +87,6 @@ repos: # Check for FSFE REUSE compliance (licensing) - repo: https://github.com/fsfe/reuse-tool - rev: v0.14.0 + rev: v1.0.0 hooks: - id: reuse From d29441d8714aef1bf5c4b50f83e8d4426fbe156d Mon Sep 17 00:00:00 2001 From: nnhjy Date: Wed, 28 Sep 2022 20:33:50 +0200 Subject: [PATCH 244/281] update deprecated syntax --- scripts/plot_summary.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/plot_summary.py b/scripts/plot_summary.py index c48571ba..c05db561 100644 --- a/scripts/plot_summary.py +++ b/scripts/plot_summary.py @@ -92,7 +92,7 @@ def plot_costs(infn, config, fn=None): print(df.sum()) - new_index = (preferred_order & df.index).append( + new_index = (preferred_order.intersection(df.index)).append( df.index.difference(preferred_order) ) @@ -149,7 +149,7 @@ def plot_energy(infn, config, fn=None): print(df.sum()) - new_index = (preferred_order & df.index).append( + new_index = (preferred_order.intersection(df.index)).append( df.index.difference(preferred_order) ) From 721c8f9235d1b90ddb8a5f2df62f065288ee0a42 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 10 Oct 2022 20:31:00 +0000 Subject: [PATCH 245/281] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/psf/black: 22.8.0 → 22.10.0](https://github.com/psf/black/compare/22.8.0...22.10.0) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 21a55d3d..9bd98e4f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -51,7 +51,7 @@ repos: # Formatting with "black" coding style - repo: https://github.com/psf/black - rev: 22.8.0 + rev: 22.10.0 hooks: # Format Python files - id: black From 26fa33b414140781ffaa2abbb20457a0114f99b8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 17 Oct 2022 20:01:25 +0000 Subject: [PATCH 246/281] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/codespell-project/codespell: v2.2.1 → v2.2.2](https://github.com/codespell-project/codespell/compare/v2.2.1...v2.2.2) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9bd98e4f..1d4fbf8c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -30,7 +30,7 @@ repos: # Find common spelling mistakes in comments and docstrings - repo: https://github.com/codespell-project/codespell - rev: v2.2.1 + rev: v2.2.2 hooks: - id: codespell args: ['--ignore-regex="(\b[A-Z]+\b)"', '--ignore-words-list=fom'] # Ignore capital case words, e.g. country codes From 73b0645c138dadf9fc1e349095dc1870e3f0f970 Mon Sep 17 00:00:00 2001 From: Adrian Odenweller Date: Tue, 25 Oct 2022 14:29:07 +0200 Subject: [PATCH 247/281] Fix network directory path in make_summary --- scripts/make_summary.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/make_summary.py b/scripts/make_summary.py index 873a2a8b..3d28ee25 100644 --- a/scripts/make_summary.py +++ b/scripts/make_summary.py @@ -556,9 +556,9 @@ if __name__ == "__main__": opts="Co2L-24H", country="all", ) - network_dir = os.path.join("..", "results", "networks") + network_dir = os.path.join("..", "results", "networks", snakemake.config["run"]["name"]) else: - network_dir = os.path.join("results", "networks") + network_dir = os.path.join("results", "networks", snakemake.config["run"]["name"]) configure_logging(snakemake) config = snakemake.config From dcd16e32a88385fb1fe8366da4de9807ce33baf3 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 25 Oct 2022 13:23:17 +0000 Subject: [PATCH 248/281] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- scripts/make_summary.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/make_summary.py b/scripts/make_summary.py index 3d28ee25..0d12a04c 100644 --- a/scripts/make_summary.py +++ b/scripts/make_summary.py @@ -556,9 +556,13 @@ if __name__ == "__main__": opts="Co2L-24H", country="all", ) - network_dir = os.path.join("..", "results", "networks", snakemake.config["run"]["name"]) + network_dir = os.path.join( + "..", "results", "networks", snakemake.config["run"]["name"] + ) else: - network_dir = os.path.join("results", "networks", snakemake.config["run"]["name"]) + network_dir = os.path.join( + "results", "networks", snakemake.config["run"]["name"] + ) configure_logging(snakemake) config = snakemake.config From 0b2989c9876723bcd3e4f581da497fa7a61a7731 Mon Sep 17 00:00:00 2001 From: Fabian Date: Mon, 31 Oct 2022 11:47:21 +0100 Subject: [PATCH 249/281] build_natura_raster: fix out_shapes --- scripts/build_natura_raster.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_natura_raster.py b/scripts/build_natura_raster.py index 0b5ce34f..33e4cf99 100644 --- a/scripts/build_natura_raster.py +++ b/scripts/build_natura_raster.py @@ -84,7 +84,7 @@ if __name__ == "__main__": # adjusted boundaries shapes = gpd.read_file(snakemake.input.natura).to_crs(3035) - raster = ~geometry_mask(shapes.geometry, out_shape[::-1], transform) + raster = ~geometry_mask(shapes.geometry, out_shape, transform) raster = raster.astype(rio.uint8) with rio.open( From d04e19f9a8201bfb6b6a46239849191b3c571b68 Mon Sep 17 00:00:00 2001 From: Max Parzen Date: Tue, 1 Nov 2022 10:39:14 +0000 Subject: [PATCH 250/281] fix tutorial config links --- doc/tutorial.rst | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/doc/tutorial.rst b/doc/tutorial.rst index 75bd350b..297c2c10 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -61,14 +61,16 @@ It is also possible to allow less or more carbon-dioxide emissions. Here, we lim .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 35,37 + :start-at: electricity: + :end-before: exentable_carriers: PyPSA-Eur also includes a database of existing conventional powerplants. We can select which types of powerplants we like to be included: .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 35,51 + :start-at: extendable_carriers: + :end-before: max_hours: To accurately model the temporal and spatial availability of renewables such as wind and solar energy, we rely on historical weather data. It is advisable to adapt the required range of coordinates to the selection of countries. @@ -83,14 +85,21 @@ For example, we may want to use the ERA-5 dataset for solar and not the default .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 63,106,107 + :start-at: be-03-2013-era5: + :end-at: module: + +.. literalinclude:: ../config.tutorial.yaml + :language: yaml + :start-at: solar: + :end-at: cutout: Finally, it is possible to pick a solver. For instance, this tutorial uses the open-source solvers CBC and Ipopt and does not rely on the commercial solvers Gurobi or CPLEX (for which free academic licenses are available). .. literalinclude:: ../config.tutorial.yaml :language: yaml - :lines: 188,198,199 + :start-at: solver: + :end-before: plotting: .. note:: From d6fd5132a0ac31a12797dfc5460508608acd0c3a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 7 Nov 2022 19:37:17 +0000 Subject: [PATCH 251/281] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/keewis/blackdoc: v0.3.7 → v0.3.8](https://github.com/keewis/blackdoc/compare/v0.3.7...v0.3.8) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1d4fbf8c..49795f5b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -45,7 +45,7 @@ repos: args: ["--in-place", "--make-summary-multi-line", "--pre-summary-newline"] - repo: https://github.com/keewis/blackdoc - rev: v0.3.7 + rev: v0.3.8 hooks: - id: blackdoc From 9eab3caf9301cb9824e49f7a611452edbf1791d9 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 14 Nov 2022 20:20:13 +0000 Subject: [PATCH 252/281] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/snakemake/snakefmt: v0.6.1 → v0.7.0](https://github.com/snakemake/snakefmt/compare/v0.6.1...v0.7.0) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 49795f5b..6a7ae623 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -74,7 +74,7 @@ repos: # Format Snakemake rule / workflow files - repo: https://github.com/snakemake/snakefmt - rev: v0.6.1 + rev: v0.7.0 hooks: - id: snakefmt From 727688749c09092ba9703a425713c823d710c1bb Mon Sep 17 00:00:00 2001 From: Fabian Date: Tue, 15 Nov 2022 07:45:13 +0100 Subject: [PATCH 253/281] build_bus_regions: fix shapely deprecation --- scripts/build_bus_regions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_bus_regions.py b/scripts/build_bus_regions.py index a26aaeb7..6e6fdd32 100644 --- a/scripts/build_bus_regions.py +++ b/scripts/build_bus_regions.py @@ -107,7 +107,7 @@ def voronoi_partition_pts(points, outline): polygons.append(poly) - return np.array(polygons, dtype=object) + return polygons if __name__ == "__main__": From 643a62049b2a2667c4e38b13a89ccd0a687a9e1b Mon Sep 17 00:00:00 2001 From: martacki Date: Fri, 25 Nov 2022 11:08:35 +0100 Subject: [PATCH 254/281] solve_network: move extra_functionality to args --- scripts/solve_network.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/solve_network.py b/scripts/solve_network.py index 4127b273..6c50c99b 100755 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -392,7 +392,6 @@ def solve_network(n, config, opts="", **kwargs): n, solver_name=solver_name, solver_options=solver_options, - extra_functionality=extra_functionality, **kwargs ) else: @@ -403,7 +402,6 @@ def solve_network(n, config, opts="", **kwargs): track_iterations=track_iterations, min_iterations=min_iterations, max_iterations=max_iterations, - extra_functionality=extra_functionality, **kwargs ) return n @@ -432,6 +430,7 @@ if __name__ == "__main__": n, snakemake.config, opts, + extra_functionality=extra_functionality, solver_dir=tmpdir, solver_logfile=snakemake.log.solver, ) From 94e5f160b0f46764c4c95eed6a7de90ef3d65717 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 25 Nov 2022 10:16:21 +0000 Subject: [PATCH 255/281] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- scripts/solve_network.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/scripts/solve_network.py b/scripts/solve_network.py index 6c50c99b..d1331b0d 100755 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -389,10 +389,7 @@ def solve_network(n, config, opts="", **kwargs): if skip_iterations: network_lopf( - n, - solver_name=solver_name, - solver_options=solver_options, - **kwargs + n, solver_name=solver_name, solver_options=solver_options, **kwargs ) else: ilopf( From 5220d805647056c2645bd242e96741e4177d1919 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 28 Nov 2022 21:18:51 +0000 Subject: [PATCH 256/281] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/pre-commit/pre-commit-hooks: v4.3.0 → v4.4.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.3.0...v4.4.0) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6a7ae623..7333be98 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,7 +5,7 @@ exclude: "^LICENSES" repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.3.0 + rev: v4.4.0 hooks: - id: check-merge-conflict - id: end-of-file-fixer From 253f6f6bccd448628fe071df80d9a584c7b766d8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 5 Dec 2022 20:21:06 +0000 Subject: [PATCH 257/281] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/macisamuele/language-formatters-pre-commit-hooks: v2.4.0 → v2.5.0](https://github.com/macisamuele/language-formatters-pre-commit-hooks/compare/v2.4.0...v2.5.0) - [github.com/fsfe/reuse-tool: v1.0.0 → v1.1.0](https://github.com/fsfe/reuse-tool/compare/v1.0.0...v1.1.0) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7333be98..62933f30 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -67,7 +67,7 @@ repos: # Do YAML formatting (before the linter checks it for misses) - repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks - rev: v2.4.0 + rev: v2.5.0 hooks: - id: pretty-format-yaml args: [--autofix, --indent, "2", --preserve-quotes] @@ -87,6 +87,6 @@ repos: # Check for FSFE REUSE compliance (licensing) - repo: https://github.com/fsfe/reuse-tool - rev: v1.0.0 + rev: v1.1.0 hooks: - id: reuse From 01cc146733058bff81032474109c302a76aaab4e Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 6 Dec 2022 14:38:40 +0100 Subject: [PATCH 258/281] lift minimum pypsa version, pyomo 6.4.3 compatibility --- envs/environment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 16d6f374..8cbb0336 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -10,7 +10,7 @@ dependencies: - python>=3.8 - pip -- pypsa>=0.20 +- pypsa>=0.21.2 - atlite>=0.2.9 - dask From aba84201b71714a3e783d4b372aa093865b665de Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 12 Dec 2022 20:56:00 +0000 Subject: [PATCH 259/281] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/PyCQA/isort: 5.10.1 → 5.11.0](https://github.com/PyCQA/isort/compare/5.10.1...5.11.0) - [github.com/psf/black: 22.10.0 → 22.12.0](https://github.com/psf/black/compare/22.10.0...22.12.0) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 62933f30..1038991c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,7 +17,7 @@ repos: # Sort package imports alphabetically - repo: https://github.com/PyCQA/isort - rev: 5.10.1 + rev: 5.11.0 hooks: - id: isort args: ["--profile", "black", "--filter-files"] @@ -51,7 +51,7 @@ repos: # Formatting with "black" coding style - repo: https://github.com/psf/black - rev: 22.10.0 + rev: 22.12.0 hooks: # Format Python files - id: black From b7899787cf2c565d91856076d270a58d4d54ac11 Mon Sep 17 00:00:00 2001 From: Max Parzen Date: Fri, 16 Dec 2022 10:50:20 +0000 Subject: [PATCH 260/281] Fix load variable in reserve constraint --- scripts/solve_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/solve_network.py b/scripts/solve_network.py index d1331b0d..bcb786f0 100755 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -278,7 +278,7 @@ def add_operational_reserve_margin_constraint(n, config): ).sum(1) # Total demand at t - demand = n.loads_t.p.sum(1) + demand = n.loads_t.p_set.sum(1) # VRES potential of non extendable generators capacity_factor = n.generators_t.p_max_pu[vres_i.difference(ext_i)] From 3dac13ac3bae6886fb82723c39fec01d87e54b49 Mon Sep 17 00:00:00 2001 From: Max Parzen Date: Fri, 16 Dec 2022 10:58:24 +0000 Subject: [PATCH 261/281] Update release_notes.rst --- doc/release_notes.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 812712bc..b1b56416 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -12,6 +12,8 @@ Upcoming Release * Carriers of generators can now be excluded from aggregation in clustering network and simplify network. +* Bugfix in the reserve constraint will increase demand related reserve requirements + PyPSA-Eur 0.6.1 (20th September 2022) ===================================== From d36a44f23c64b4661f5ce57305bf1b88caebc833 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 19 Dec 2022 20:31:18 +0000 Subject: [PATCH 262/281] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/PyCQA/isort: 5.11.0 → v5.11.3](https://github.com/PyCQA/isort/compare/5.11.0...v5.11.3) - [github.com/PyCQA/docformatter: v1.5.0 → v1.5.1](https://github.com/PyCQA/docformatter/compare/v1.5.0...v1.5.1) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1038991c..f1527e44 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,7 +17,7 @@ repos: # Sort package imports alphabetically - repo: https://github.com/PyCQA/isort - rev: 5.11.0 + rev: v5.11.3 hooks: - id: isort args: ["--profile", "black", "--filter-files"] @@ -39,7 +39,7 @@ repos: # Make docstrings PEP 257 compliant - repo: https://github.com/PyCQA/docformatter - rev: v1.5.0 + rev: v1.5.1 hooks: - id: docformatter args: ["--in-place", "--make-summary-multi-line", "--pre-summary-newline"] From 09d89130b578da932d8b38d34f855f13de68242e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 26 Dec 2022 21:14:52 +0000 Subject: [PATCH 263/281] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/PyCQA/isort: v5.11.3 → 5.11.4](https://github.com/PyCQA/isort/compare/v5.11.3...5.11.4) - [github.com/snakemake/snakefmt: v0.7.0 → v0.8.0](https://github.com/snakemake/snakefmt/compare/v0.7.0...v0.8.0) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f1527e44..bb48c2db 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,7 +17,7 @@ repos: # Sort package imports alphabetically - repo: https://github.com/PyCQA/isort - rev: v5.11.3 + rev: 5.11.4 hooks: - id: isort args: ["--profile", "black", "--filter-files"] @@ -74,7 +74,7 @@ repos: # Format Snakemake rule / workflow files - repo: https://github.com/snakemake/snakefmt - rev: v0.7.0 + rev: v0.8.0 hooks: - id: snakefmt From 06bee06d5623a6c05853806a4cf356a39ec3e11d Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 27 Dec 2022 10:51:02 +0100 Subject: [PATCH 264/281] update pypsa, vresutils master, lift fione restriction --- envs/environment.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 8cbb0336..276c7868 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -10,7 +10,7 @@ dependencies: - python>=3.8 - pip -- pypsa>=0.21.2 +- pypsa>=0.21.3 - atlite>=0.2.9 - dask @@ -24,7 +24,7 @@ dependencies: - yaml - pytables - lxml -- powerplantmatching>=0.5.4 +- powerplantmatching>=0.5.5 - numpy - pandas - geopandas>=0.11.0 @@ -37,7 +37,7 @@ dependencies: - pyomo - matplotlib - proj -- fiona <= 1.18.20 # Till issue https://github.com/Toblerity/Fiona/issues/1085 is not solved +- fiona - country_converter # Keep in conda environment when calling ipython @@ -56,5 +56,5 @@ dependencies: - pyxlsb - pip: - - vresutils>=0.3.1 + - git+https://github.com/fresna/vresutils.git#egg=vresutils - tsam>=1.1.0 From 8bd840c252c208180f063fb93ef28bb5a8a3a8ca Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 27 Dec 2022 11:30:33 +0100 Subject: [PATCH 265/281] limit numpy < 1.24 --- envs/environment.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 276c7868..9476dd6b 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -25,7 +25,7 @@ dependencies: - pytables - lxml - powerplantmatching>=0.5.5 -- numpy +- numpy<1.24 - pandas - geopandas>=0.11.0 - xarray @@ -56,5 +56,5 @@ dependencies: - pyxlsb - pip: - - git+https://github.com/fresna/vresutils.git#egg=vresutils + - vresutils>=0.3.1 - tsam>=1.1.0 From 70d07d561fe370f22b7fd8ec599ec8accd37ebc1 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 27 Dec 2022 11:42:32 +0100 Subject: [PATCH 266/281] address pandas deprecations --- scripts/build_shapes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_shapes.py b/scripts/build_shapes.py index 79409a26..dff6313d 100644 --- a/scripts/build_shapes.py +++ b/scripts/build_shapes.py @@ -145,7 +145,7 @@ def eez(country_shapes, eez, country_list): lambda s: _simplify_polys(s, filterremote=False) ) s = gpd.GeoSeries( - {k: v for k, v in s.iteritems() if v.distance(country_shapes[k]) < 1e-3} + {k: v for k, v in s.items() if v.distance(country_shapes[k]) < 1e-3} ) s = s.to_frame("geometry") s.index.name = "name" From e14382239e9513324638a87e4819e1d007eaae7b Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 27 Dec 2022 11:43:02 +0100 Subject: [PATCH 267/281] try shapely 2.0 --- envs/environment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 9476dd6b..e35bd888 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -32,7 +32,7 @@ dependencies: - netcdf4 - networkx - scipy -- shapely<2.0 # need to address deprecations +- shapely - progressbar2 - pyomo - matplotlib From 70cea4aea3cb1db977026ec256392814f3e05334 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 27 Dec 2022 11:51:01 +0100 Subject: [PATCH 268/281] revert to shapely<2.0 --- envs/environment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index e35bd888..8f38465a 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -32,7 +32,7 @@ dependencies: - netcdf4 - networkx - scipy -- shapely +- shapely<2.0 - progressbar2 - pyomo - matplotlib From 69a33e3698708673fd0a7b80c5a3a5ff034dd472 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 27 Dec 2022 12:16:02 +0100 Subject: [PATCH 269/281] increase resource requirements of some rules --- Snakefile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Snakefile b/Snakefile index 1a7cbe9f..f4f37049 100644 --- a/Snakefile +++ b/Snakefile @@ -68,7 +68,7 @@ if config["enable"].get("prepare_links_p_nom", False): "logs/" + RDIR + "prepare_links_p_nom.log", threads: 1 resources: - mem_mb=500, + mem_mb=1500, script: "scripts/prepare_links_p_nom.py" @@ -167,7 +167,7 @@ rule base_network: "benchmarks/" + RDIR + "base_network" threads: 1 resources: - mem_mb=500, + mem_mb=1500, script: "scripts/base_network.py" @@ -190,7 +190,7 @@ rule build_shapes: "logs/" + RDIR + "build_shapes.log", threads: 1 resources: - mem_mb=500, + mem_mb=1500, script: "scripts/build_shapes.py" @@ -657,7 +657,7 @@ rule make_summary: + RDIR + "make_summary/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}.log", resources: - mem_mb=500, + mem_mb=1500, script: "scripts/make_summary.py" @@ -676,7 +676,7 @@ rule plot_summary: + RDIR + "plot_summary/{summary}_elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}_{ext}.log", resources: - mem_mb=500, + mem_mb=1500, script: "scripts/plot_summary.py" @@ -706,6 +706,6 @@ rule plot_p_nom_max: + RDIR + "plot_p_nom_max/elec_s{simpl}_{clusts}_{techs}_{country}_{ext}.log", resources: - mem_mb=500, + mem_mb=1500, script: "scripts/plot_p_nom_max.py" From 2aa67bdf9fa0c407b96af40a1b98dee19c2d4e7d Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 27 Dec 2022 13:03:12 +0100 Subject: [PATCH 270/281] add atlite control for progressbar to configs --- config.default.yaml | 1 + config.tutorial.yaml | 1 + test/config.test1.yaml | 1 + 3 files changed, 3 insertions(+) diff --git a/config.default.yaml b/config.default.yaml index 0ec5e9fb..b9a30be7 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -86,6 +86,7 @@ electricity: atlite: nprocesses: 4 + show_progress: false # false saves time cutouts: # use 'base' to determine geographical bounds and time span from config # base: diff --git a/config.tutorial.yaml b/config.tutorial.yaml index a3ffc2a9..4c093a3c 100755 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -56,6 +56,7 @@ electricity: atlite: nprocesses: 4 + show_progress: false # false saves time cutouts: be-03-2013-era5: module: era5 diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 15dc8e6e..7c9b0896 100755 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -54,6 +54,7 @@ electricity: atlite: nprocesses: 4 + show_progress: false # false saves time cutouts: be-03-2013-era5: module: era5 From bb1b37e8ef9e8b5125633a6b4cacc4510bf6ec5e Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 27 Dec 2022 13:16:05 +0100 Subject: [PATCH 271/281] address pandas iteritems deprecation --- scripts/simplify_network.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 2c7f8413..12603647 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -217,7 +217,7 @@ def _adjust_capital_costs_using_connection_costs(n, connection_costs_to_bus, out tech, ", ".join( "{:.0f} Eur/MW/a for `{}`".format(d, b) - for b, d in costs.iteritems() + for b, d in costs.items() ), ) ) @@ -369,7 +369,7 @@ def simplify_links(n, costs, config, output, aggregation_strategies=dict()): n.mremove("Link", all_links) static_attrs = n.components["Link"]["attrs"].loc[lambda df: df.static] - for attr, default in static_attrs.default.iteritems(): + for attr, default in static_attrs.default.items(): params.setdefault(attr, default) n.links.loc[name] = pd.Series(params) From 27d4af8e6574d8b39f1a442caa37d896ff1ae876 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 28 Dec 2022 09:31:48 +0100 Subject: [PATCH 272/281] entsoegridkit: additional parameter corrections --- data/parameter_corrections.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/data/parameter_corrections.yaml b/data/parameter_corrections.yaml index b50fc03a..850d060b 100644 --- a/data/parameter_corrections.yaml +++ b/data/parameter_corrections.yaml @@ -36,12 +36,19 @@ Link: "5583": "7428" # bus0 == bus1 to remove link in remove_unconnected_components (Sardinia) "13588": "7428" # bus0 == bus1 to remove link in remove_unconnected_components (Sardinia) "T23": "6355" # bus0 == bus1 to remove link in remove_unconnected_components (NordBalt) + "14815": "5939" # Kainachtal + "8706": "6448" bus1: index: "12931": "8152" # BorWin3 "5582": "2382" # combine link 5583 + 5582 in 5582 (Sardinia) "13589": "1349" # combine link 13589 + 13588 in 13589 (Sardinia) "14820": "6354" # NordBalt + "14810": "6365" # Skagerrak + "8708": "6448" + "8394": "6695" + "14813": "7052" + "8009": "5939" length: index: "5582": 26.39 # new length of combined links (sum) @@ -53,6 +60,7 @@ Line: bus0: index: "14573": "7179" #fix bus-id substation in PT (220/380kV issue) + "14756": "8577" # Deeside connection v_nom: index: "14573": 220 # 220/380kV issue of substation in PT From e9f3d20432deb548895443dff9e34451a27cdd9f Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 28 Dec 2022 09:33:08 +0100 Subject: [PATCH 273/281] simplify_networks: add control for removing stubs --- config.default.yaml | 2 ++ scripts/simplify_network.py | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/config.default.yaml b/config.default.yaml index 0ec5e9fb..20c05727 100755 --- a/config.default.yaml +++ b/config.default.yaml @@ -262,6 +262,8 @@ clustering: algorithm: kmeans # choose from: [hac, kmeans] feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc. exclude_carriers: [] + remove_stubs: true + remove_stubs_across_borders: true cluster_network: algorithm: kmeans feature: solar+onwind-time diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 2c7f8413..38446e46 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -395,7 +395,9 @@ def simplify_links(n, costs, config, output, aggregation_strategies=dict()): def remove_stubs(n, costs, config, output, aggregation_strategies=dict()): logger.info("Removing stubs") - busmap = busmap_by_stubs(n) # ['country']) + across_borders = config["clustering"]["simplify_network"].get("remove_stubs_across_borders", True) + matching_attrs = [] if across_borders else ['country'] + busmap = busmap_by_stubs(n, matching_attrs) connection_costs_to_bus = _compute_connection_costs_to_bus(n, busmap, costs, config) From 780834ad872d90af90fe1558400f82157a8a99a6 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 28 Dec 2022 09:33:36 +0100 Subject: [PATCH 274/281] tyndp: add greenlink and celtic interconnector --- data/links_tyndp.csv | 2 ++ 1 file changed, 2 insertions(+) diff --git a/data/links_tyndp.csv b/data/links_tyndp.csv index 8079be72..a0603120 100644 --- a/data/links_tyndp.csv +++ b/data/links_tyndp.csv @@ -24,3 +24,5 @@ Gridlink,Kingsnorth (UK),Warande (FR),160,,1400,in permitting,,https://tyndp.ent NeuConnect,Grain (UK),Fedderwarden (DE),680,,1400,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/309,0.716666666666667,51.44,8.046524,53.562763 NordBalt,Klaipeda (LT),Nybro (SE),450,,700,built,,https://en.wikipedia.org/wiki/NordBalt,21.256667,55.681667,15.854167,56.767778 Estlink 1,Harku (EE),Espoo (FI),105,,350,built,,https://en.wikipedia.org/wiki/Estlink,24.560278,59.384722,24.551667,60.203889 +Greenlink,Waterford (IE),Pembroke (UK),,180,500,under construction,,https://tyndp2022-project-platform.azurewebsites.net/projectsheets/transmission/286,-6.987,52.260,-4.986,51.686 +Celtic Interconnector,Aghada (IE),La Martyre (FR),,572,700,under consideration,,https://tyndp2022-project-platform.azurewebsites.net/projectsheets/transmission/107,-8.16642,51.91413,-4.184,48.459 From bb5c5bd14338798c4fabdc412f04852afaeafe8e Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 28 Dec 2022 09:34:28 +0100 Subject: [PATCH 275/281] simplify_networks: add control for removing stubs II --- scripts/simplify_network.py | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 38446e46..5b8c8f49 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -532,22 +532,20 @@ if __name__ == "__main__": n, technology_costs, snakemake.config, snakemake.output, aggregation_strategies ) - n, stub_map = remove_stubs( - n, - technology_costs, - snakemake.config, - snakemake.output, - aggregation_strategies=aggregation_strategies, - ) + busmaps = [trafo_map, simplify_links_map] - busmaps = [trafo_map, simplify_links_map, stub_map] + cluster_config = snakemake.config["clustering"]["simplify_network"] + if cluster_config.get("remove_stubs", True): + n, stub_map = remove_stubs( + n, + technology_costs, + snakemake.config, + snakemake.output, + aggregation_strategies=aggregation_strategies, + ) + busmaps.append(stub_map) - cluster_config = snakemake.config.get("clustering", {}).get("simplify_network", {}) - if ( - cluster_config.get("clustering", {}) - .get("simplify_network", {}) - .get("to_substations", False) - ): + if cluster_config.get("to_substations", False): n, substation_map = aggregate_to_substations(n, aggregation_strategies) busmaps.append(substation_map) From a08c20d7c88d459e97d9865ae57e757f8f0dc1de Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 28 Dec 2022 09:35:11 +0100 Subject: [PATCH 276/281] build_shapes: cleanup shape union of RS and KV --- scripts/build_shapes.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/build_shapes.py b/scripts/build_shapes.py index dff6313d..cda27963 100644 --- a/scripts/build_shapes.py +++ b/scripts/build_shapes.py @@ -129,6 +129,8 @@ def countries(naturalearth, country_list): s = df.set_index("name")["geometry"].map(_simplify_polys) if "RS" in country_list: s["RS"] = s["RS"].union(s.pop("KV")) + # cleanup shape union + s["RS"] = Polygon(s["RS"].exterior.coords) return s From 9e1eec9c9d20df50e913850bc58031fdcb5e161f Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 28 Dec 2022 11:10:19 +0100 Subject: [PATCH 277/281] env: add pygeos dependency --- envs/environment.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/envs/environment.yaml b/envs/environment.yaml index 8f38465a..ec2fbb5f 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -54,6 +54,7 @@ dependencies: - pytz - tabula-py - pyxlsb +- pygeos - pip: - vresutils>=0.3.1 From 67b3c964d4a028b56aa2f5f620eee5650b6e5133 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 28 Dec 2022 11:11:13 +0100 Subject: [PATCH 278/281] env: add pygeos dependency >= 0.11 --- envs/environment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index ec2fbb5f..2574e413 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -54,7 +54,7 @@ dependencies: - pytz - tabula-py - pyxlsb -- pygeos +- pygeos>=0.11 - pip: - vresutils>=0.3.1 From 8b363fe108781e00d043daa1f2b069596332e88c Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 28 Dec 2022 11:21:52 +0100 Subject: [PATCH 279/281] env: remove pygeos dependency --- envs/environment.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 2574e413..8f38465a 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -54,7 +54,6 @@ dependencies: - pytz - tabula-py - pyxlsb -- pygeos>=0.11 - pip: - vresutils>=0.3.1 From c17ae85f9b094271f96bf2e712fca453681b61bd Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 28 Dec 2022 12:15:17 +0100 Subject: [PATCH 280/281] HVDC links Sweden Germany parameter correction --- data/parameter_corrections.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/data/parameter_corrections.yaml b/data/parameter_corrections.yaml index 850d060b..df15738a 100644 --- a/data/parameter_corrections.yaml +++ b/data/parameter_corrections.yaml @@ -49,6 +49,7 @@ Link: "8394": "6695" "14813": "7052" "8009": "5939" + "5601": "7052" # Link Sweden - Lübeck length: index: "5582": 26.39 # new length of combined links (sum) From c9dc64e0eda88468af26ec750b70b231ef6f2b08 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 28 Dec 2022 15:10:45 +0100 Subject: [PATCH 281/281] limit matplotlib < 3.6 --- envs/environment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/envs/environment.yaml b/envs/environment.yaml index 8f38465a..490268e8 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -35,7 +35,7 @@ dependencies: - shapely<2.0 - progressbar2 - pyomo -- matplotlib +- matplotlib<3.6 - proj - fiona - country_converter

    u<9FF;i&3%)<2!H**ElMVSb%!avHm*Ps?1vZ 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%0Dia>xq-3YvqD|}~OnSrMmTpJ2sf9HxwFvKRs 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 UI&#QE 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

45vj5`@A0dyq-%ZCf$l9`qh~}i-jXCTpa1$ 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