diff --git a/CITATION.cff b/CITATION.cff index af26fd536..c921a773e 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -6,7 +6,7 @@ cff-version: 1.1.0 message: "If you use this package, please cite it in the following way." title: "PyPSA-Eur: An open sector-coupled optimisation model of the European energy system" repository: https://github.com/pypsa/pypsa-eur -version: 0.10.0 +version: 0.11.0 license: MIT authors: - family-names: Brown diff --git a/config/config.default.yaml b/config/config.default.yaml index d64a36c5e..d5d94661a 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: CC0-1.0 # docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#top-level-configuration -version: 0.10.0 +version: 0.11.0 tutorial: false logging: diff --git a/doc/conf.py b/doc/conf.py index 739c76635..5c4b3b89c 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -93,9 +93,9 @@ # built documents. # # The short X.Y version. -version = "0.10" +version = "0.11" # The full version, including alpha/beta/rc tags. -release = "0.10.0" +release = "0.11.0" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/doc/img/intro-workflow.png b/doc/img/intro-workflow.png index a273ab396..4009fbcd9 100644 Binary files a/doc/img/intro-workflow.png and b/doc/img/intro-workflow.png differ diff --git a/doc/release_notes.rst b/doc/release_notes.rst index a7e91f97b..2e5487ac6 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -7,333 +7,365 @@ Release Notes ########################################## -Upcoming Release -================ - -* Disable option ``electricity: everywhere_powerplants``` by default to save memory in :mod:`simplify_network`. - -* Non-essential example configuration files have been moved to - ``config/examples``. - -* Bugfix: The configuration setting ``electricity: - estimate_renewable_capacities: enable:`` for rule :mod:`add_electricity` is - not compatible with ``foresight: myopic``, as the former adds existing - renewable capacities in a different way in :mod:`add_existing_baseyear`. - The logic was changed so that adding existing renewable capacities is now - skipped in :mod:`add_electricity` if the foresight mode is ``myopic``. - -* Bugfix: Make sure that gas-fired power plants are correctly added as OCGT or - CCGT in :mod:`add_electricity`. Previously they were always added as OCGT. - -* Added default values for power distribution losses, assuming uniform losses of - 3% on distribution grid links (cf. ``sector: transmission_efficiency: - electricity distribution grid: efficiency_static: 0.97``). Since distribution - losses are included in national load reports (cf. `this report - `_), - these are deducted from the national load time series to avoid double counting - of losses. Further extensions to country-specific loss factors and - developments by planning horizon are planned. - -* Doubled solar rooftop potentials to roughly 1 TW for Europe based on `recent - European Commission reports - `_. - -* Remove exogenously set share of rooftop PV (``costs: rooftop_share:``). - Rooftop and utility-scale PV are now largely handled as separate technologies - with endogenous shares. - -* New technology, solar PV with single-axis horizontal tracking (on a N-S axis), - with a carrier called ``solar-hsat`` to the networks. The default option for adding - this technology is set to ``true`` in the ``config.yaml``. - -* The technology-data version was updated to v0.9.0. - -* Bugfix to avoid duplicated offshore regions. - -* Added option ``industry: HVC_environment_sequestration_fraction:`` to specify - the fraction of carbon contained plastics that is permanently sequestered in - landfill. The default assumption is that all carbon contained in plastics is - eventually released to the atmosphere. - -* Added option for building waste-to-energy plants with and without carbon - capture to consume non-recycled and non-sequestered plastics. The config - settings are ``industry: waste_to_energy:`` and ``industry: - waste_to_energy_cc``. This does not include municipal solid waste. - -* Bump minimum ``powerplantmatching`` version to v0.5.15. - -* Add floating wind technology for water depths below 60m - -* Add config ``run: shared_resources: exclude:`` to specify additional files - that should be excluded from shared resources with the setting ``run: - shared_resources: base``. The function ``_helpers/get_run_path()`` now takes - an additional keyword argument ``exclude_from_shared`` with a list of files - that should not be shared. This keyword argument accepts a list of strings - where the string only needs to match the start of a filename (e.g. - ``"transport_data"`` would exclude both ``transport_data.csv`` and - ``transport_data_{simpl}_{clusters}.csv`` from being shared across scenarios. - -* Move switch ``run: shared_resources:`` to ``run: shared_resources: policy:``. - -* Add config land_transport_demand_factor to model growth in land transport demand for different time horizons. - -* Allow dictionary for the config aviation_demand_factor. - -* Add option to post-discretize line and link capacities based on unit sizes and - rounding thresholds specified in the configuration under ``solving: options: - post_discretization:`` when iterative solving is enables (``solving: optiosn: - skip_iterations: false``). This option is disabled by default. - -* Group existing capacities to the earlier grouping_year for consistency with optimized capacities. - -* Update data bundle: - - - Merge electricity-only and sector-coupled data bundles into `one bundle - `_. This means that the rule - ``retrieve_sector_databundle`` was removed. - - - Include rasterised ``natura.tiff`` in data bundle and remove rule - ``retrieve_natura_raster``. +.. Upcoming Release +.. ================ +PyPSA-Eur 0.11.0 (25th May 2024) +===================================== - - Remove rule ``build_natura_raster`` as this rule is rarely run and increases - the data bundle size considerably. +**New Features** - - Remove outdated files from data bundle (e.g., Eurostat energy balances) +* Introduced scenario management to support the simultaneous execution of + multiple scenarios with a single ``snakemake`` call. A ``scenarios.yaml`` file + allows customizable scenario names with configuration overrides. To enable, + set ``run: scenarios: true`` and define the list of scenario names under + ``run: name:`` in the configuration file. The scenario file's top-level keys + must match the defined scenario names. + (https://github.com/PyPSA/pypsa-eur/pull/724, + https://github.com/PyPSA/pypsa-eur/pull/975, + https://github.com/PyPSA/pypsa-eur/pull/989, + https://github.com/PyPSA/pypsa-eur/pull/993, + https://github.com/PyPSA/pypsa-eur/pull/1011) + + - A scenarios template file ``config/scenarios.template.yaml`` is included and + copied to ``config/scenarios.yaml`` on first use. + - The scenario file can be changed via ``run: scenarios: file:``. + - Activating scenario management with ``run: scenarios: enable: true`` + introduces a new wildcard ``{run}``. Configuration settings may now depend + on this wildcard. A new ``config_provider()`` function is used in the + ``Snakefile`` and ``.smk`` files to handle wildcard values. + - Scenario files can be programmatically created using + ``config/create_scenarios.py``. This script can be run with ``snakemake -j1 + create_scenarios``. + - The setting ``run: name: all`` will run all scenarios in + ``config/scenarios.yaml``. Otherwise, only the scenarios listed under ``run: + name:`` will run. + - The setting ``run: shared_resources:`` indicates whether resources should be + encapsulated by ``run: name:``. The special setting ``run: shared_resources: + base`` shares resources until ``add_electricity`` that do not contain + wildcards other than ``{"technology", "year", "scope"}``. + - Added new configuration options for all ``{opts}`` and ``{sector_opts}`` + wildcard values to create a unique configuration file (``config.yaml``) per + PyPSA network file using ``update_config_from_wildcards()``. This function + updates the ``snakemake.config`` object with settings from wildcards. + - The cost data was moved from ``data/costs_{year}.csv`` to + ``resources/costs_{year}.csv``. The ``retrieve_cost_data`` rule now calls a + Python script. + - Time clustering settings moved to ``clustering: temporal:`` from + ``snapshots:``, simplifying scenario management. + - Collection rules have a new wildcard ``run=config["run"]["name"]`` to + collect outputs across scenarios. + - Scenarios can be encapsulated in a directory using ``run: prefix:``. + - The ``{sector_opts}`` wildcard is no longer used by default. All scenario + definitions are now in ``config.yaml``. + - **Warning:** Scenario management with myopic or perfect foresight pathway + optimization requires the first investment period to be shared across all + scenarios. The ``wildcard_constraints`` for the ``add_existing_baseyear`` + rule do not accept wildcard-aware input functions. + +* Enhanced support for choosing different weather years. + (https://github.com/PyPSA/pypsa-eur/pull/204) + + - Processed energy statistics from Eurostat (1990-2021) and IDEES (2000-2015) + are stored for all available years and filtered by the year in ``energy: + energy_totals_year:``. + - Added option to supplement electricity load data with synthetic time series + for years not in OPSD (from https://zenodo.org/records/10820928, ``load: + supplement_synthetic:``). + - Total annual heat demand for years not in Eurostat (1990-2021) or IDEES + (2000-2015) is scaled based on a regression between heating degree days and + heat demand for 2007-2021, assuming a similar building stock. + - Added option to scale annual hydro-electricity generation data for years not + in EIA (1980-2021) based on a regression between annual generation and total + runoff per country for 1980-2021 (``renewable: hydro: + eia_approximate_missing:``). + - Added option to normalize annual hydro generation data by the installed + capacity reported by EIA (1980-2021) to eliminate changes due to newly built + capacity (``renewable: hydro: eia_approximate_missing: + eia_correct_by_capacity:``). + - Added option to make hydro generation data independent of weather year + (``renewable: hydro: eia_approximate_missing: eia_norm_year:``). + - Added option to drop leap days (``enable: drop_leap_day:``). + - Added option to make electric load data independent of weather year (``load: + fixed_year:``). + - Include time series of Swiss passenger vehicles from the Swiss Federal + Statistical Office. + - Updated hydro-electricity generation and capacity data from EIA. + - The easiest way to use multiple weather years is with the new scenario + management. An example `create_scenarios.py` script is available in this + `Github gist + `__. - - Reduce spatial scope of GEBCO bathymetry data to Europe to save space. +* New renewable technologies: - - Remove the use of a separate data bundle for tutorials. + - Solar PV with single-axis horizontal tracking (N-S axis), carrier: + ``solar-hsat``. (https://github.com/PyPSA/pypsa-eur/pull/1066) + - Floating offshore wind technology for water depths below 60m, carrier: + ``offwind-float``. (https://github.com/PyPSA/pypsa-eur/pull/773) - - Directly download `Hotmaps Industrial Database - `__ - from source and remove ``Industrial_Database.csv`` from data bundle. +* Added default values for power distribution losses, assuming uniform 3% losses + on distribution grid links. These are deducted from national load time series + to avoid double counting. Extensions for country-specific loss factors and + planning horizon developments are planned. -* bugfix: installed heating capacities were 5% lower than existing heating capacities +* Added ``industry: HVC_environment_sequestration_fraction:`` to specify the + fraction of carbon in plastics that is permanently sequestered in landfills. + The default assumption is that all carbon in plastics is eventually released + to the atmosphere. (https://github.com/PyPSA/pypsa-eur/pull/1060) -* Include gas and oil fields and saline aquifers in estimation of CO2 sequestration potential. +* Added options for building waste-to-energy plants with and without carbon + capture to consume non-recycled and non-sequestered plastics. Config settings: + ``industry: waste_to_energy:`` and ``industry: waste_to_energy_cc``. This + excludes municipal solid waste. (https://github.com/PyPSA/pypsa-eur/pull/1060) -* bugfix: convert Strings to pathlib.Path objects as input to ConfigSettings +* Added option to post-discretize line and link capacities based on unit sizes + and rounding thresholds in the configuration under ``solving: options: + post_discretization:``. This is disabled by default. + (https://github.com/PyPSA/pypsa-eur/pull/1064) -* bugfix: fix distinction of temperature-dependent correction factors for the - energy demand of electric vehicles, ICES fuel cell cars. +* Time aggregation for sector-coupled networks is now its own rule + :mod:`time_aggregation`. Time aggregation is constant over planning horizons + of the same network when using time step segmentation. + (https://github.com/PyPSA/pypsa-eur/pull/1065, + https://github.com/PyPSA/pypsa-eur/pull/1075) -* Allow the use of more solvers in clustering (Xpress, COPT, Gurobi, CPLEX, SCIP, MOSEK). +* Added config ``run: shared_resources: exclude:`` to specify files excluded + from shared resources with ``run: shared_resources: base``. The function + ``_helpers/get_run_path()`` now takes an additional keyword argument + ``exclude_from_shared`` with a list of files that should not be shared. + (https://github.com/PyPSA/pypsa-eur/pull/1050) -* Enhanced support for choosing different weather years - (https://github.com/PyPSA/pypsa-eur/pull/204): +* Added existing biomass boilers in :mod:`add_existing_baseyear`. + (https://github.com/PyPSA/pypsa-eur/pull/951) - - Processed energy statistics from eurostat (1990-2021) and IDEES (2000-2015) - are now initially stored for all available years and filtered by the year - given in ``energy: energy_totals_year:``. +* Added new HVDC transmission projects from `TYNDP 2024 draft projects + `__. + (https://github.com/PyPSA/pypsa-eur/pull/982) - - Added option to supplement electricity load data with synthetic time series - for years not contained in OPSD (from https://zenodo.org/records/10820928, - ``load: supplement_synthetic:``). +* Linearly interpolated missing investment periods in year-dependent + configuration options. (https://github.com/PyPSA/pypsa-eur/pull/943) - - The total annual heat demand for years not contained in the energy - statistics by eurostat (1990-2021) or IDEES (2000-2015) are scaled based on - a regression between the total number of heating degree days and the total - annual heat demand between the years 2007-2021, assuming a similar building - stock. +* Added shapes to the ``netCDF`` files for different stages of the network + object in `base_network`, `simplify_network`, and `cluster_network`. The + `build_bus_regions` rule is now integrated into the `base_network` rule. + (https://github.com/PyPSA/pypsa-eur/pull/1013, + https://github.com/PyPSA/pypsa-eur/pull/1051) - - Added option to scale annual hydro-electricity generation data for years not - contained in the in EIA (1980-2021) based on a regression between annual - generation and total runoff per country for the years 1980-2021 - (``renewable: hydro: eia_approximate_missing:``) +* Added config ``land_transport_demand_factor`` to model growth in land + transport demand for different time horizons. - - Added option to normalize annual hydro generation data by the associated - installed capacity reported by EIA (1980-2021) in order to eliminate changes - in generation due to newly built capacity (``renewable: hydro: - eia_approximate_missing: eia_correct_by_capacity:``). +* Allowed dictionary for ``aviation_demand_factor`` to specify changes in + aviation demand by investment period. - - Added option to make hydro generation data independent of weather year - (``renewable: hydro: eia_approximate_missing: eia_norm_year:``). +* Allowed more solvers in clustering (Xpress, COPT, Gurobi, CPLEX, SCIP, MOSEK). + (https://github.com/PyPSA/pypsa-eur/pull/949) - - Added option to drop leap days (``enable: drop_leap_day:``). +* Added option to download cost data from custom fork of ``technology-data``. + (https://github.com/PyPSA/pypsa-eur/pull/970) - - Added option to make electric load data independent of weather year - (``load: fixed_year:``). +* Added ``nodal_supply_energy`` to :mod:`make_summary`. + (https://github.com/PyPSA/pypsa-eur/pull/1046) - - Include time series of Swiss number of passenger vehicles from the `Swiss - Federal Statistical Office - `__. +**Breaking Changes** - - Updated hydro-electricity generation and capacity data from EIA. +* Upgraded to Snakemake v8.5+. This version is the new minimum requirement. To + upgrade an existing environment, run ``conda install -c bioconda + snakemake-minimal">=8.5"`` and ``pip install snakemake-storage-plugin-http``. + (https://github.com/PyPSA/pypsa-eur/pull/825) - - The easiest way to sweep over multiple weather years is to use the new - scenario management. An example for the necessary `create_scenarios.py` - script can be found in this `Github gist - `__. +* Removed exogenously set share of rooftop PV (``costs: rooftop_share:``). + Rooftop and utility-scale PV are now separate technologies with endogenous + shares. * Removed rule ``copy_config``. Instead, a config file is created for each network output of the ``solve_*`` rules, with the same content as ``n.meta``. + (https://github.com/PyPSA/pypsa-eur/pull/965) -* Added new HVDC transmission projects from `TYNDP 2024 draft projects - `__. - -* Upgrade to Snakemake v8.5+. This version is the new minimum version required. - To upgrade an existing environment, run ``conda install -c bioconda - snakemake-minimal">=8.5"`` and ``pip install snakemake-storage-plugin-http`` - (https://github.com/PyPSA/pypsa-eur/pull/825). - -* Corrected a bug leading to power plants operating after their DateOut - (https://github.com/PyPSA/pypsa-eur/pull/958). Added additional grouping years - before 1980. - -* Add decommissioning of existing renewables assets in `add_existing_baseyear`. +* Moved switch ``run: shared_resources:`` to ``run: shared_resources: policy:``. -* The Eurostat data was updated to the 2023 version in :mod:`build_energy_totals`. - -* The latest `Swiss energy totals - `__ - have been updated to the 2023 version. - -* The JRC-IDEES data is only available until 2015. For energy totals years (``energy: energy_totals_year``) after - 2015, the data scaled using the ratio of Eurostat data reported for the energy - totals year and 2015. +**Changes** -* The default energy totals year (``energy: energy_totals_year``) was updated to 2019. +* Updated, merged, and reduced data bundle: + (https://github.com/PyPSA/pypsa-eur/pull/1020, + https://github.com/PyPSA/pypsa-eur/pull/1027) + + - Merged electricity-only and sector-coupled data bundles into one bundle. + This removed the ``retrieve_sector_databundle`` rule. + - Included rasterised ``natura.tiff`` in the data bundle and removed the + ``retrieve_natura_raster`` rule. + - Removed the ``build_natura_raster`` rule due to its infrequent use and + significant data bundle size increase. + - Removed outdated files from the data bundle (e.g., Eurostat energy + balances). + - Reduced the spatial scope of GEBCO bathymetry data to Europe to save space. + - Removed a separate data bundle for tutorials. + - Directly downloaded the `Hotmaps Industrial Database + `__ + from the source, removing ``Industrial_Database.csv`` from the data bundle. -* Upgrade default techno-economic assumptions to ``technology-data`` v0.8.1. +* Updated energy statistics: (https://github.com/PyPSA/pypsa-eur/pull/947, + https://github.com/PyPSA/pypsa-eur/pull/973, + https://github.com/PyPSA/pypsa-eur/pull/990, + https://github.com/PyPSA/pypsa-eur/pull/1025, + https://github.com/PyPSA/pypsa-eur/pull/1074) -* Add possibility to download cost data from custom fork of ``technology-data``. + - Updated Eurostat data to the 2023 version in :mod:`build_energy_totals`. + - Updated the latest Swiss energy totals to the 2023 version. + - Scaled JRC-IDEES data using the ratio of Eurostat data for energy totals + years after 2015 and 2015. + - Updated default energy totals year to 2019. + - Updated energy balances for residential demands (space, water, cooking) in + JRC-IDEES data with newer Eurostat values. -* Linearly interpolate missing investment periods in year-dependent - configuration options. +* Improved documentation: (https://github.com/PyPSA/pypsa-eur/pull/1017, + https://github.com/PyPSA/pypsa-eur/pull/1014) -* Added new scenario management that supports the simultaneous execution of - multiple scenarios with a single ``snakemake`` call. For this purpose, a - ``scenarios.yaml`` file is introduced which contains customizable scenario - names with configuration overrides. To enable it, set the ``run: scenarios: - true`` and define the list of scenario names to run under ``run: name:`` in - the configuration file. The latter must be a subset of toplevel keys in the - scenario file. + - Clarified that ``solving: rolling_horizon:`` only works for + :mod:`solve_operations_network`, not for networks with sector-coupling or + investment variables. + - Clarified suffix usage in `add_existing_baseyear`. + - Added documentation section for contributing documentation. - - To get started, a scenarios template file ``config/scenarios.template.yaml`` - is included in the repository, which is copied to ``config/scenarios.yaml`` - on first use. +* Included gas and oil fields and saline aquifers for estimating carbon + sequestration potentials. (https://github.com/PyPSA/pypsa-eur/pull/1010, + https://github.com/PyPSA/pypsa-eur/pull/983) - - The scenario file can be changed via ``run: scenarios: file:``. +* Doubled solar rooftop potentials to roughly 1 TW for Europe based on recent + European Commission reports. - - If scenario management is activated with ``run: scenarios: enable: true``, a - new wildcard ``{run}`` is introduced. This means that the configuration - settings may depend on the new ``{run}`` wildcard. Therefore, a new - ``config_provider()`` function is used in the ``Snakefile`` and ``.smk`` - files, which takes wildcard values into account. The calls to the ``config`` - object have been reduced in ``.smk`` files since there is no awareness of - wildcard values outside rule definitions. +* Consistently sourced data on existing renewable capacities from + ``powerplantmatching``. Removed ``retrieve_irena`` rule. Updated the dataset + to include 2023 values. (https://github.com/PyPSA/pypsa-eur/pull/1018) - - The scenario files can also be programmatically created using the template - script ``config/create_scenarios.py``. This script can be run with - ``snakemake -j1 create_scenarios`` and creates the scenarios file referenced - under ``run: scenarios: file:``. +* Added methanol consumption in industry as reported in the DECHEMA report + directly as methanol demand. (https://github.com/PyPSA/pypsa-eur/pull/1068) - - The setting ``run: name: all`` will run all scenarios in - ``config/scenarios.yaml``. Otherwise, it will run those passed as list in - ``run: name:`` as long as ``run: scenarios: enable: true``. +* Adapted disabling of transmission expansion in myopic foresight optimizations + when the limit is reached to handle cost limits. + (https://github.com/PyPSA/pypsa-eur/pull/952, + https://github.com/PyPSA/pypsa-eur/pull/1076) - - The setting ``run: shared_resources:`` indicates via a boolean whether the - resources should be encapsulated by the ``run: name:``. The special setting - ``run: shared_resources: base`` shares resources until ``add_electricity`` - that do not contain wildcards other than ``{"technology", "year", - "scope"}``. +* Improved the behavior of ``agg_p_nom_limits``: Moved configuration to + ``solving``; added the ability to aggregate all ``offwind`` types; added + option to consider existing capacities; added option to distinguish by + planning horizon. (https://github.com/PyPSA/pypsa-eur/pull/1023) - - Added new configuration options for all ``{opts}`` and ``{sector_opts}`` - wildcard values to create a unique configuration file (``config.yaml``) per - PyPSA network file. This is done with the help of a new function - ``update_config_from_wildcards()`` which parses configuration settings from - wildcards and updates the ``snakemake.config`` object. These updated - configuration settings are used in the scripts rather than directly parsed - values from ``snakemake.wildcards``. +* Disabled ``electricity: everywhere_powerplants``` by default to save memory in + :mod:`simplify_network`. - - The cost data was moved from ``data/costs_{year}.csv`` to - ``resources/costs_{year}.csv`` since it depends on configuration settings. - The ``retrieve_cost_data`` rule was changed to calling a Python script. +* Moved non-essential example configuration files to ``config/examples``. - - Moved time clustering settings to ``clustering: temporal:`` from - ``snapshots:`` so that the latter is only used to define the - ``pandas.DatetimeIndex`` which simplifies the scenario management. +* Outputs of the retrieve rules are no longer marked as ``protected()``. - - Collection rules get a new wildcard ``run=config["run"]["name"]`` so they - can collect outputs across different scenarios. +* Improved carbon budget distribution plot. + (https://github.com/PyPSA/pypsa-eur/pull/1070) - - It is further possible to encapsulate your scenarios in a directory using - the setting ``run: prefix:``. +* Moved all graphics to ``doc/img``. + (https://github.com/PyPSA/pypsa-eur/pull/1052) - - **Warning:** One caveat remains for the scenario management with myopic or - perfect foresight pathway optimisation. The first investment period must be - shared across all scenarios. The reason is that the ``wildcard_constraints`` - defined for the rule ``add_existing_baseyear`` do not accept wildcard-aware - input functions (cf. - `https://github.com/snakemake/snakemake/issues/2703`_). +* Connection costs calculated in :mod:`simplify_network` are no longer written + to file. (https://github.com/PyPSA/pypsa-eur/pull/1031) -* The outputs of the rule ``retrieve_gas_infrastructure_data`` no longer - marked as ``protected()`` as the download size is small. +**Bugs and Compatibility** -* Bugfix: allow modelling sector-coupled landlocked regions. (Fixed handling of offshore wind.) +* Updated ``technology-data`` to version v0.9.0. -* Bugfix: approximation of hydro power generation if Portugal or Spain are not included works now. +* Bumped minimum ``powerplantmatching`` version to v0.5.15. + (https://github.com/PyPSA/pypsa-eur/pull/1057) -* Bugfix: copy_timeslice does not copy anymore, if country not present in load data. +* Bugfix: The configuration setting ``electricity: + estimate_renewable_capacities: enable:`` for rule :mod:`add_electricity` is + not compatible with ``foresight: myopic``. The logic now skips adding existing + renewable capacities in :mod:`add_electricity` if the foresight mode is + ``myopic``. (https://github.com/PyPSA/pypsa-eur/pull/1080) -* Adapt the disabling of transmission expansion in myopic foresight optimisations when limit is already reached to also handle cost limits. +* Bugfix: Ensure gas-fired power plants are correctly added as OCGT or CCGT in + :mod:`add_electricity`. Previously, they were always added as OCGT. -* Fix duplicated years and grouping years reference in `add_land_use_constraint_m`. +* Bugfix: Fix distinction of temperature-dependent correction factors for the + energy demand of electric vehicles and ICEs fuel cell cars. + (https://github.com/PyPSA/pypsa-eur/pull/957) -* Fix type error with `m` option in `cluster_network`. +* Bugfix: Ensure all industry coal demands are considered when using + ``sector_ratios_fraction_future``. + (https://github.com/PyPSA/pypsa-eur/pull/1047) -* Fix error with `symbol` of `buses` in `simplify_network`. +* Bugfix: Add existing heat pumps to low-voltage level. + (https://github.com/PyPSA/pypsa-eur/pull/948) -* Fix index of existing capacities in `add_power_capacities_installed_before_baseyear` with `m` option. +* Fixed gas network retrofitting to hydrogen in :mod:`add_brownfield` for myopic + pathway studies. (https://github.com/PyPSA/pypsa-eur/pull/1036) -* Fix custom busmap read in `cluster_network`. +* Bugfix: Consider decommissioning of existing renewable assets in + :mod:`add_existing_baseyear`. (https://github.com/PyPSA/pypsa-eur/pull/1001, + https://github.com/PyPSA/pypsa-eur/pull/959) -* Add `nodal_supply_energy` to `make_summary`. +* Bugfix: Adjust build year groups of existing capacities for consistency with + optimized capacities per planning horizon. The previous setup neglected some + existing heating capacities. (https://github.com/PyPSA/pypsa-eur/pull/1019) -* Data on existing renewable capacities is now consistently taken from powerplantmatching (instead of being retrieved separately); the dataset has also been updated to include 2023 values. +* Bugfix: Corrected a bug causing power plants to operate after their + ``DateOut``. Added additional grouping years before 1980. + (https://github.com/PyPSA/pypsa-eur/pull/958) -* Added shapes to .nc file for different stages of the network object in `base_network`, `simplify_network`, and `cluster_network`; the `build_bus_regions` rule is now integrated into the `base_network` rule. -* Improved the behaviour of `agg_p_nom_limits`: +* Bugfix: Allow modeling sector-coupled landlocked regions by handling the + absence of offshore wind. (https://github.com/PyPSA/pypsa-eur/pull/944) - - Moved the associated configuration to `solving`. This allows *Snakemake* to correctly decide which rules to run when the configuration changes. +* Bugfix: Correct approximation of hydropower generation if Portugal or Spain + are not included. (https://github.com/PyPSA/pypsa-eur/pull/1054) - - Added the ability to enable aggregation of all *offwind* types (*offwind-ac* and *offwind-dc*) when writing the constraint. +* Bugfix: In :mod:`build_electricity_demand`, ensure load data is only added if + the country is included in the configuration. + (https://github.com/PyPSA/pypsa-eur/pull/1054) - - Added the possibility to take existing capacities into account when writing the constraint. +* Bugfix: Skip heat bus for CHPs in areas without central heating. + (https://github.com/PyPSA/pypsa-eur/pull/1021) - - Added the possibility to have a different file for each planning horizon. +* Bugfix: Avoid duplicated offshore regions. -* Fix p_nom_min of renewables generators for myopic approach and add check of existing capacities in `add_land_use_constraint_m`. +* Fixed type error with ``m`` option in :mod:`cluster_network`. + (https://github.com/PyPSA/pypsa-eur/pull/986) -* Add documentation section for how to contribute documentation +* Fixed error with ``symbol`` column of buses in :mod:`simplify_network`. + (https://github.com/PyPSA/pypsa-eur/pull/987) -* Clarify suffix usage in `add_existing_baseyear`. +* Fixed index of existing capacities in + ``add_power_capacities_installed_before_baseyear`` with ``m`` option. + (https://github.com/PyPSA/pypsa-eur/pull/1002) -* The ``{sector_opts}`` wildcard is now not used by default. All scenario definitions are now done in the ``config.yaml`` file. +* Fixed reading in custom busmaps in :mod:`cluster_network`. + (https://github.com/PyPSA/pypsa-eur/pull/1008) -* Fix gas network retrofitting in `add_brownfield`. +* Fixed ``p_nom_min`` of renewables generators for myopic approach and added + check of existing capacities in ``add_land_use_constraint_m``. + (https://github.com/PyPSA/pypsa-eur/pull/1022, + https://github.com/PyPSA/pypsa-eur/pull/1029) -* Time aggregation for sector-coupled networks have been split into its own rule. When using time step segmentation, time aggregation is constant over planning horizons of the same network. +* Fixed duplicated years and grouping years reference in + ``add_land_use_constraint_m``. (https://github.com/PyPSA/pypsa-eur/pull/991, + https://github.com/PyPSA/pypsa-eur/pull/968) -* Clarify that the rolling-horizon setting ``solving: rolling_horizon:`` only works for the rule :mod:`solve_operations_network` and not for networks with sector-coupling or investment variables. +* Fixed filling of missing data in + ``build_industry_sector_ratios_intermediate``. + (https://github.com/PyPSA/pypsa-eur/pull/1004) -* Fix non steel related coal demand during transition (using `sector_ratios_fraction_future`). +* Fixed file name encoding in optional rule :mod:`build_biomass_transport_costs` + depending on the operating system. + (https://github.com/PyPSA/pypsa-eur/pull/769) -* Fix fill missing data in `build_industry_sector_ratios_intermediate`. +* Technical fix for constraint function ``add_operational_reserve_margin``. + (https://github.com/PyPSA/pypsa-eur/pull/1071) -* Add methanol consumption in industry as reported in `DECHEMA report - `__ - directly as methanol demand rather than with fixed methane and electricity - demands from today's industry sector ratios. +* Technical fix for constraint function ``add_BAU_constraints``. + (https://github.com/PyPSA/pypsa-eur/pull/1024) -* Mark downloaded files as ``ancient`` rather than ``protected``. +* Fixed network clustering and simplification issues caused by adding TYNDP + links. (https://github.com/PyPSA/pypsa-eur/pull/1067) -* Fix file name encoding in optional rule :mod:`build_biomass_transport_costs` depending on the operating system. +* Bugfix: Ensure correct indexing of weights in :mod:`cluster_network`. + (https://github.com/PyPSA/pypsa-eur/pull/988) -* Energy balances for residential demands (space, water, cooking) in the - JRC-IDEES data are updated with newer values from eurostat based on a - disaggregated household energy balance. - (https://github.com/PyPSA/pypsa-eur/pull/1025) +* Bugfix: Only sanitize locations when there are buses with a location. + (https://github.com/PyPSA/pypsa-eur/pull/971) PyPSA-Eur 0.10.0 (19th February 2024) ===================================== diff --git a/doc/tutorial.rst b/doc/tutorial.rst index bae8e3a3f..4a07132be 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -132,47 +132,51 @@ This triggers a workflow of multiple preceding jobs that depend on each rule's i graph[bgcolor=white, margin=0]; node[shape=box, style=rounded, fontname=sans, fontsize=10, penwidth=2]; edge[penwidth=2, color=grey]; - 0[label = "solve_network", color = "0.38 0.6 0.85", style="rounded"]; - 1[label = "prepare_network\nll: copt", color = "0.53 0.6 0.85", style="rounded"]; - 2[label = "add_extra_components", color = "0.01 0.6 0.85", style="rounded"]; - 3[label = "cluster_network\nclusters: 6", color = "0.03 0.6 0.85", style="rounded"]; - 4[label = "simplify_network\nsimpl: ", color = "0.42 0.6 0.85", style="rounded"]; - 5[label = "add_electricity", color = "0.10 0.6 0.85", style="rounded"]; - 6[label = "build_renewable_profiles\ntechnology: solar", color = "0.50 0.6 0.85", style="rounded"]; - 7[label = "base_network", color = "0.22 0.6 0.85", style="rounded"]; - 8[label = "build_shapes", color = "0.44 0.6 0.85", style="rounded"]; - 9[label = "retrieve_databundle", color = "0.29 0.6 0.85", style="rounded"]; - 10[label = "retrieve_cutout\ncutout: be-03-2013-era5", color = "0.49 0.6 0.85", style="rounded"]; - 11[label = "build_renewable_profiles\ntechnology: onwind", color = "0.50 0.6 0.85", style="rounded"]; - 12[label = "build_renewable_profiles\ntechnology: offwind-ac", color = "0.50 0.6 0.85", style="rounded"]; - 13[label = "build_ship_raster", color = "0.19 0.6 0.85", style="rounded"]; - 14[label = "retrieve_ship_raster", color = "0.35 0.6 0.85", style="rounded"]; - 15[label = "build_renewable_profiles\ntechnology: offwind-dc", color = "0.50 0.6 0.85", style="rounded"]; - 16[label = "build_line_rating", color = "0.60 0.6 0.85", style="rounded"]; - 17[label = "retrieve_cost_data\nyear: 2030", color = "0.59 0.6 0.85", style="rounded"]; - 18[label = "build_powerplants", color = "0.06 0.6 0.85", style="rounded"]; - 19[label = "build_electricity_demand", color = "0.13 0.6 0.85", style="rounded"]; - 20[label = "retrieve_electricity_demand", color = "0.49 0.6 0.85", style="rounded"]; - 21[label = "retrieve_synthetic_electricity_demand", color = "0.41 0.6 0.85", style="rounded"]; + 0[label = "solve_network", color = "0.21 0.6 0.85", style="rounded"]; + 1[label = "prepare_network\nll: copt\nopts: ", color = "0.51 0.6 0.85", style="rounded"]; + 2[label = "add_extra_components", color = "0.43 0.6 0.85", style="rounded"]; + 3[label = "cluster_network\nclusters: 6", color = "0.17 0.6 0.85", style="rounded"]; + 4[label = "simplify_network\nsimpl: ", color = "0.49 0.6 0.85", style="rounded"]; + 5[label = "add_electricity", color = "0.26 0.6 0.85", style="rounded"]; + 6[label = "build_renewable_profiles\ntechnology: solar", color = "0.02 0.6 0.85", style="rounded"]; + 7[label = "base_network", color = "0.35 0.6 0.85", style="rounded"]; + 8[label = "build_shapes", color = "0.62 0.6 0.85", style="rounded"]; + 9[label = "retrieve_databundle", color = "0.24 0.6 0.85", style="rounded"]; + 10[label = "retrieve_cutout\ncutout: be-03-2013-era5", color = "0.36 0.6 0.85", style="rounded"]; + 11[label = "build_renewable_profiles\ntechnology: solar-hsat", color = "0.02 0.6 0.85", style="rounded"]; + 12[label = "build_renewable_profiles\ntechnology: onwind", color = "0.02 0.6 0.85", style="rounded"]; + 13[label = "build_renewable_profiles\ntechnology: offwind-ac", color = "0.02 0.6 0.85", style="rounded"]; + 14[label = "build_ship_raster", color = "0.08 0.6 0.85", style="rounded"]; + 15[label = "retrieve_ship_raster", color = "0.28 0.6 0.85", style="rounded"]; + 16[label = "build_renewable_profiles\ntechnology: offwind-dc", color = "0.02 0.6 0.85", style="rounded"]; + 17[label = "build_renewable_profiles\ntechnology: offwind-float", color = "0.02 0.6 0.85", style="rounded"]; + 18[label = "build_line_rating", color = "0.07 0.6 0.85", style="rounded"]; + 19[label = "retrieve_cost_data\nyear: 2030", color = "0.47 0.6 0.85", style="rounded"]; + 20[label = "build_powerplants", color = "0.11 0.6 0.85", style="rounded"]; + 21[label = "build_electricity_demand", color = "0.05 0.6 0.85", style="rounded"]; + 22[label = "retrieve_electricity_demand", color = "0.58 0.6 0.85", style="rounded"]; + 23[label = "retrieve_synthetic_electricity_demand", color = "0.11 0.6 0.85", style="rounded"]; 1 -> 0 2 -> 1 - 17 -> 1 + 19 -> 1 3 -> 2 - 17 -> 2 + 19 -> 2 4 -> 3 - 17 -> 3 + 19 -> 3 5 -> 4 - 17 -> 4 + 19 -> 4 7 -> 4 6 -> 5 11 -> 5 12 -> 5 - 15 -> 5 - 7 -> 5 + 13 -> 5 16 -> 5 17 -> 5 + 7 -> 5 18 -> 5 19 -> 5 + 20 -> 5 + 21 -> 5 8 -> 5 7 -> 6 9 -> 6 @@ -186,21 +190,30 @@ This triggers a workflow of multiple preceding jobs that depend on each rule's i 10 -> 11 7 -> 12 9 -> 12 - 13 -> 12 8 -> 12 10 -> 12 + 7 -> 13 + 9 -> 13 14 -> 13 + 8 -> 13 10 -> 13 - 7 -> 15 - 9 -> 15 - 13 -> 15 - 8 -> 15 - 10 -> 15 + 15 -> 14 + 10 -> 14 7 -> 16 + 9 -> 16 + 14 -> 16 + 8 -> 16 10 -> 16 + 7 -> 17 + 9 -> 17 + 14 -> 17 + 8 -> 17 + 10 -> 17 7 -> 18 - 20 -> 19 - 21 -> 19 + 10 -> 18 + 7 -> 20 + 22 -> 21 + 23 -> 21 } | @@ -219,7 +232,7 @@ In the terminal, this will show up as a list of jobs to be run: build_electricity_demand 1 build_line_rating 1 build_powerplants 1 - build_renewable_profiles 4 + build_renewable_profiles 6 build_shapes 1 build_ship_raster 1 cluster_network 1 @@ -232,7 +245,7 @@ In the terminal, this will show up as a list of jobs to be run: retrieve_synthetic_electricity_demand 1 simplify_network 1 solve_network 1 - total 22 + total 24 ``snakemake`` then runs these jobs in the correct order. @@ -241,16 +254,15 @@ A job (here ``simplify_network``) will display its attributes and normally some .. code:: bash - [Mon Feb 19 17:06:17 2024] rule simplify_network: - input: resources/test/networks/elec.nc, data/costs_2030.csv, resources/test/regions_onshore.geojson, resources/test/regions_offshore.geojson - output: resources/test/networks/elec_s.nc, resources/test/regions_onshore_elec_s.geojson, resources/test/regions_offshore_elec_s.geojson, resources/test/busmap_elec_s.csv, resources/test/connection_costs_s.csv - log: logs/test-elec/simplify_network/elec_s.log + input: resources/test/networks/elec.nc, resources/test/costs_2030.csv, resources/test/regions_onshore.geojson, resources/test/regions_offshore.geojson + output: resources/test/networks/elec_s.nc, resources/test/regions_onshore_elec_s.geojson, resources/test/regions_offshore_elec_s.geojson, resources/test/busmap_elec_s.csv + log: logs/test/simplify_network/elec_s.log jobid: 4 - benchmark: benchmarks/test-elec/simplify_network/elec_s - reason: Missing output files: resources/test/regions_offshore_elec_s.geojson, resources/test/busmap_elec_s.csv, resources/test/regions_onshore_elec_s.geojson, resources/test/networks/elec_s.nc; Input files updated by another job: resources/test/regions_offshore.geojson, resources/test/networks/elec.nc, resources/test/regions_onshore.geojson, data/costs_2030.csv + benchmark: benchmarks/test/simplify_network/elec_s + reason: Forced execution wildcards: simpl= - resources: tmpdir=/tmp, mem_mb=12000, mem_mib=11445 + resources: tmpdir=, mem_mb=12000, mem_mib=11445 Once the whole worktree is finished, it should state so in the terminal. diff --git a/doc/tutorial_sector.rst b/doc/tutorial_sector.rst index 70943ab0b..450f1e696 100644 --- a/doc/tutorial_sector.rst +++ b/doc/tutorial_sector.rst @@ -96,7 +96,7 @@ which were already included in the electricity-only tutorial: build_population_layouts 1 build_population_weighted_energy_totals 2 build_powerplants 1 - build_renewable_profiles 5 + build_renewable_profiles 6 build_salt_cavern_potentials 1 build_shapes 1 build_ship_raster 1 @@ -120,13 +120,14 @@ which were already included in the electricity-only tutorial: retrieve_databundle 1 retrieve_electricity_demand 1 retrieve_eurostat_data 1 + retrieve_eurostat_household_data 1 retrieve_gas_infrastructure_data 1 retrieve_ship_raster 1 retrieve_synthetic_electricity_demand 1 simplify_network 1 solve_sector_network 1 time_aggregation 1 - total 67 + total 69 This covers the retrieval of additional raw data from online resources and preprocessing data about the transport, industry, and heating sectors as well as @@ -145,203 +146,264 @@ successfully. graph[bgcolor=white, margin=0]; node[shape=box, style=rounded, fontname=sans, fontsize=10, penwidth=2]; edge[penwidth=2, color=grey]; - 0[label = "all", color = "0.06 0.6 0.85", style="rounded"]; - 1[label = "plot_summary", color = "0.16 0.6 0.85", style="rounded"]; - 2[label = "make_summary", color = "0.57 0.6 0.85", style="rounded"]; - 3[label = "solve_sector_network", color = "0.35 0.6 0.85", style="rounded"]; - 4[label = "prepare_sector_network", color = "0.36 0.6 0.85", style="rounded"]; - 5[label = "build_renewable_profiles", color = "0.12 0.6 0.85", style="rounded"]; - 6[label = "base_network", color = "0.45 0.6 0.85", style="rounded"]; - 7[label = "build_shapes", color = "0.66 0.6 0.85", style="rounded"]; - 8[label = "retrieve_databundle", color = "0.28 0.6 0.85", style="rounded"]; - 9[label = "build_ship_raster", color = "0.58 0.6 0.85", style="rounded"]; - 10[label = "retrieve_ship_raster", color = "0.50 0.6 0.85", style="rounded"]; - 11[label = "retrieve_cutout", color = "0.34 0.6 0.85", style="rounded"]; - 12[label = "cluster_gas_network", color = "0.09 0.6 0.85", style="rounded"]; - 13[label = "build_gas_network", color = "0.19 0.6 0.85", style="rounded"]; - 14[label = "retrieve_gas_infrastructure_data", color = "0.52 0.6 0.85", style="rounded"]; - 15[label = "cluster_network", color = "0.05 0.6 0.85", style="rounded"]; - 16[label = "simplify_network", color = "0.50 0.6 0.85", style="rounded"]; - 17[label = "add_electricity", color = "0.32 0.6 0.85", style="rounded"]; - 18[label = "retrieve_cost_data", color = "0.39 0.6 0.85", style="rounded"]; - 19[label = "build_powerplants", color = "0.33 0.6 0.85", style="rounded"]; - 20[label = "build_electricity_demand", color = "0.31 0.6 0.85", style="rounded"]; - 21[label = "retrieve_electricity_demand", color = "0.23 0.6 0.85", style="rounded"]; - 22[label = "retrieve_synthetic_electricity_demand", color = "0.16 0.6 0.85", style="rounded"]; - 23[label = "build_gas_input_locations", color = "0.62 0.6 0.85", style="rounded"]; - 24[label = "time_aggregation", color = "0.28 0.6 0.85", style="rounded"]; - 25[label = "prepare_network", color = "0.23 0.6 0.85", style="rounded"]; - 26[label = "add_extra_components", color = "0.21 0.6 0.85", style="rounded"]; - 27[label = "build_hourly_heat_demand", color = "0.21 0.6 0.85", style="rounded"]; - 28[label = "build_daily_heat_demand", color = "0.24 0.6 0.85", style="rounded"]; - 29[label = "build_population_layouts", color = "0.33 0.6 0.85", style="rounded"]; - 30[label = "build_solar_thermal_profiles", color = "0.60 0.6 0.85", style="rounded"]; - 31[label = "retrieve_eurostat_data", color = "0.03 0.6 0.85", style="rounded"]; - 32[label = "build_population_weighted_energy_totals", color = "0.11 0.6 0.85", style="rounded"]; - 33[label = "build_energy_totals", color = "0.62 0.6 0.85", style="rounded"]; - 34[label = "build_clustered_population_layouts", color = "0.55 0.6 0.85", style="rounded"]; - 35[label = "build_heat_totals", color = "0.38 0.6 0.85", style="rounded"]; - 36[label = "build_shipping_demand", color = "0.37 0.6 0.85", style="rounded"]; - 37[label = "build_transport_demand", color = "0.44 0.6 0.85", style="rounded"]; - 38[label = "build_temperature_profiles", color = "0.54 0.6 0.85", style="rounded"]; - 39[label = "build_biomass_potentials", color = "0.00 0.6 0.85", style="rounded"]; - 40[label = "build_salt_cavern_potentials", color = "0.61 0.6 0.85", style="rounded"]; - 41[label = "build_simplified_population_layouts", color = "0.40 0.6 0.85", style="rounded"]; - 42[label = "build_industrial_energy_demand_per_node", color = "0.22 0.6 0.85", style="rounded"]; - 43[label = "build_industry_sector_ratios_intermediate", color = "0.65 0.6 0.85", style="rounded"]; - 44[label = "build_industry_sector_ratios", color = "0.57 0.6 0.85", style="rounded"]; - 45[label = "build_ammonia_production", color = "0.01 0.6 0.85", style="rounded"]; - 46[label = "build_industrial_energy_demand_per_country_today", color = "0.01 0.6 0.85", style="rounded"]; - 47[label = "build_industrial_production_per_country", color = "0.59 0.6 0.85", style="rounded"]; - 48[label = "build_industrial_production_per_node", color = "0.47 0.6 0.85", style="rounded"]; - 49[label = "build_industrial_distribution_key", color = "0.09 0.6 0.85", style="rounded"]; - 50[label = "build_industrial_production_per_country_tomorrow", color = "0.43 0.6 0.85", style="rounded"]; - 51[label = "build_industrial_energy_demand_per_node_today", color = "0.64 0.6 0.85", style="rounded"]; - 52[label = "build_district_heat_share", color = "0.38 0.6 0.85", style="rounded"]; - 53[label = "build_cop_profiles", color = "0.14 0.6 0.85", style="rounded"]; - 54[label = "plot_power_network_clustered", color = "0.25 0.6 0.85", style="rounded"]; - 55[label = "plot_power_network", color = "0.65 0.6 0.85", style="rounded"]; - 56[label = "plot_hydrogen_network", color = "0.30 0.6 0.85", style="rounded"]; - 57[label = "plot_gas_network", color = "0.56 0.6 0.85", style="rounded"]; + 0[label = "all", color = "0.28 0.6 0.85", style="rounded"]; + 1[label = "plot_summary", color = "0.60 0.6 0.85", style="rounded"]; + 2[label = "make_summary", color = "0.30 0.6 0.85", style="rounded"]; + 3[label = "solve_sector_network", color = "0.36 0.6 0.85", style="rounded"]; + 4[label = "prepare_sector_network\nsector_opts: ", color = "0.22 0.6 0.85", style="rounded"]; + 5[label = "build_renewable_profiles\ntechnology: offwind-ac", color = "0.20 0.6 0.85", style="rounded"]; + 6[label = "base_network", color = "0.00 0.6 0.85", style="rounded"]; + 7[label = "build_shapes", color = "0.25 0.6 0.85", style="rounded"]; + 8[label = "retrieve_databundle", color = "0.06 0.6 0.85", style="rounded"]; + 9[label = "build_ship_raster", color = "0.06 0.6 0.85", style="rounded"]; + 10[label = "retrieve_ship_raster", color = "0.27 0.6 0.85", style="rounded"]; + 11[label = "retrieve_cutout\ncutout: be-03-2013-era5", color = "0.26 0.6 0.85", style="rounded"]; + 12[label = "build_renewable_profiles\ntechnology: offwind-dc", color = "0.20 0.6 0.85", style="rounded"]; + 13[label = "build_renewable_profiles\ntechnology: offwind-float", color = "0.20 0.6 0.85", style="rounded"]; + 14[label = "cluster_gas_network", color = "0.37 0.6 0.85", style="rounded"]; + 15[label = "build_gas_network", color = "0.44 0.6 0.85", style="rounded"]; + 16[label = "retrieve_gas_infrastructure_data", color = "0.43 0.6 0.85", style="rounded"]; + 17[label = "cluster_network\nclusters: 5", color = "0.08 0.6 0.85", style="rounded"]; + 18[label = "simplify_network\nsimpl: ", color = "0.01 0.6 0.85", style="rounded"]; + 19[label = "add_electricity", color = "0.53 0.6 0.85", style="rounded"]; + 20[label = "build_renewable_profiles\ntechnology: solar", color = "0.20 0.6 0.85", style="rounded"]; + 21[label = "build_renewable_profiles\ntechnology: solar-hsat", color = "0.20 0.6 0.85", style="rounded"]; + 22[label = "build_renewable_profiles\ntechnology: onwind", color = "0.20 0.6 0.85", style="rounded"]; + 23[label = "retrieve_cost_data\nyear: 2030", color = "0.11 0.6 0.85", style="rounded"]; + 24[label = "build_powerplants", color = "0.62 0.6 0.85", style="rounded"]; + 25[label = "build_electricity_demand", color = "0.66 0.6 0.85", style="rounded"]; + 26[label = "retrieve_electricity_demand", color = "0.20 0.6 0.85", style="rounded"]; + 27[label = "retrieve_synthetic_electricity_demand", color = "0.52 0.6 0.85", style="rounded"]; + 28[label = "build_gas_input_locations", color = "0.21 0.6 0.85", style="rounded"]; + 29[label = "time_aggregation", color = "0.58 0.6 0.85", style="rounded"]; + 30[label = "prepare_network\nll: v1.5\nopts: ", color = "0.61 0.6 0.85", style="rounded"]; + 31[label = "add_extra_components", color = "0.59 0.6 0.85", style="rounded"]; + 32[label = "build_hourly_heat_demand", color = "0.48 0.6 0.85", style="rounded"]; + 33[label = "build_daily_heat_demand\nscope: total", color = "0.12 0.6 0.85", style="rounded"]; + 34[label = "build_population_layouts", color = "0.62 0.6 0.85", style="rounded"]; + 35[label = "build_solar_thermal_profiles\nscope: total", color = "0.23 0.6 0.85", style="rounded"]; + 36[label = "retrieve_eurostat_data", color = "0.45 0.6 0.85", style="rounded"]; + 37[label = "build_population_weighted_energy_totals\nkind: energy", color = "0.22 0.6 0.85", style="rounded"]; + 38[label = "build_energy_totals", color = "0.65 0.6 0.85", style="rounded"]; + 39[label = "retrieve_eurostat_household_data", color = "0.36 0.6 0.85", style="rounded"]; + 40[label = "build_clustered_population_layouts", color = "0.02 0.6 0.85", style="rounded"]; + 41[label = "build_population_weighted_energy_totals\nkind: heat", color = "0.22 0.6 0.85", style="rounded"]; + 42[label = "build_heat_totals", color = "0.53 0.6 0.85", style="rounded"]; + 43[label = "build_shipping_demand", color = "0.17 0.6 0.85", style="rounded"]; + 44[label = "build_transport_demand", color = "0.49 0.6 0.85", style="rounded"]; + 45[label = "build_temperature_profiles\nscope: total", color = "0.32 0.6 0.85", style="rounded"]; + 46[label = "build_biomass_potentials\nplanning_horizons: 2030", color = "0.34 0.6 0.85", style="rounded"]; + 47[label = "build_salt_cavern_potentials", color = "0.55 0.6 0.85", style="rounded"]; + 48[label = "build_simplified_population_layouts", color = "0.46 0.6 0.85", style="rounded"]; + 49[label = "build_industrial_energy_demand_per_node", color = "0.14 0.6 0.85", style="rounded"]; + 50[label = "build_industry_sector_ratios_intermediate\nplanning_horizons: 2030", color = "0.27 0.6 0.85", style="rounded"]; + 51[label = "build_industry_sector_ratios", color = "0.11 0.6 0.85", style="rounded"]; + 52[label = "build_ammonia_production", color = "0.25 0.6 0.85", style="rounded"]; + 53[label = "build_industrial_energy_demand_per_country_today", color = "0.44 0.6 0.85", style="rounded"]; + 54[label = "build_industrial_production_per_country", color = "0.18 0.6 0.85", style="rounded"]; + 55[label = "build_industrial_production_per_node", color = "0.41 0.6 0.85", style="rounded"]; + 56[label = "build_industrial_distribution_key", color = "0.04 0.6 0.85", style="rounded"]; + 57[label = "build_industrial_production_per_country_tomorrow\nplanning_horizons: 2030", color = "0.09 0.6 0.85", style="rounded"]; + 58[label = "build_industrial_energy_demand_per_node_today", color = "0.46 0.6 0.85", style="rounded"]; + 59[label = "build_district_heat_share\nplanning_horizons: 2030", color = "0.39 0.6 0.85", style="rounded"]; + 60[label = "build_temperature_profiles\nscope: rural", color = "0.32 0.6 0.85", style="rounded"]; + 61[label = "build_temperature_profiles\nscope: urban", color = "0.32 0.6 0.85", style="rounded"]; + 62[label = "build_cop_profiles", color = "0.55 0.6 0.85", style="rounded"]; + 63[label = "build_solar_thermal_profiles\nscope: urban", color = "0.23 0.6 0.85", style="rounded"]; + 64[label = "build_solar_thermal_profiles\nscope: rural", color = "0.23 0.6 0.85", style="rounded"]; + 65[label = "plot_power_network_clustered", color = "0.41 0.6 0.85", style="rounded"]; + 66[label = "plot_power_network", color = "0.40 0.6 0.85", style="rounded"]; + 67[label = "plot_hydrogen_network", color = "0.42 0.6 0.85", style="rounded"]; + 68[label = "plot_gas_network", color = "0.32 0.6 0.85", style="rounded"]; 1 -> 0 2 -> 1 - 31 -> 1 + 36 -> 1 8 -> 1 - 57 -> 2 - 18 -> 2 - 55 -> 2 3 -> 2 - 56 -> 2 - 54 -> 2 + 23 -> 2 + 65 -> 2 + 66 -> 2 + 67 -> 2 + 68 -> 2 4 -> 3 - 39 -> 4 - 16 -> 4 - 42 -> 4 - 31 -> 4 - 15 -> 4 - 25 -> 4 - 38 -> 4 - 34 -> 4 - 36 -> 4 - 12 -> 4 - 52 -> 4 - 18 -> 4 - 32 -> 4 5 -> 4 + 12 -> 4 + 13 -> 4 + 14 -> 4 + 28 -> 4 + 29 -> 4 30 -> 4 - 40 -> 4 - 24 -> 4 - 33 -> 4 - 53 -> 4 + 36 -> 4 + 37 -> 4 41 -> 4 - 23 -> 4 + 43 -> 4 + 44 -> 4 + 38 -> 4 8 -> 4 - 37 -> 4 - 27 -> 4 - 11 -> 5 + 46 -> 4 + 23 -> 4 + 47 -> 4 + 18 -> 4 + 17 -> 4 + 40 -> 4 + 48 -> 4 + 49 -> 4 + 32 -> 4 + 59 -> 4 + 45 -> 4 + 60 -> 4 + 61 -> 4 + 62 -> 4 + 35 -> 4 + 63 -> 4 + 64 -> 4 6 -> 5 - 9 -> 5 8 -> 5 + 9 -> 5 7 -> 5 + 11 -> 5 7 -> 6 8 -> 7 - 11 -> 9 10 -> 9 - 13 -> 12 - 15 -> 12 - 14 -> 13 + 11 -> 9 + 6 -> 12 + 8 -> 12 + 9 -> 12 + 7 -> 12 + 11 -> 12 + 6 -> 13 + 8 -> 13 + 9 -> 13 + 7 -> 13 + 11 -> 13 + 15 -> 14 + 17 -> 14 16 -> 15 - 18 -> 15 - 6 -> 16 - 17 -> 16 - 18 -> 16 - 20 -> 17 - 6 -> 17 18 -> 17 - 5 -> 17 - 19 -> 17 - 7 -> 17 + 23 -> 17 + 19 -> 18 + 23 -> 18 + 6 -> 18 + 20 -> 19 + 21 -> 19 + 22 -> 19 + 5 -> 19 + 12 -> 19 + 13 -> 19 6 -> 19 - 21 -> 20 - 22 -> 20 - 14 -> 23 - 15 -> 23 - 30 -> 24 - 27 -> 24 - 25 -> 24 + 23 -> 19 + 24 -> 19 + 25 -> 19 + 7 -> 19 + 6 -> 20 + 8 -> 20 + 7 -> 20 + 11 -> 20 + 6 -> 21 + 8 -> 21 + 7 -> 21 + 11 -> 21 + 6 -> 22 + 8 -> 22 + 7 -> 22 + 11 -> 22 + 6 -> 24 26 -> 25 - 18 -> 25 - 15 -> 26 - 18 -> 26 - 28 -> 27 - 11 -> 28 - 15 -> 28 - 29 -> 28 - 11 -> 29 - 7 -> 29 - 11 -> 30 - 15 -> 30 - 29 -> 30 + 27 -> 25 + 16 -> 28 + 17 -> 28 + 30 -> 29 + 32 -> 29 + 35 -> 29 + 31 -> 30 + 23 -> 30 + 17 -> 31 + 23 -> 31 33 -> 32 - 34 -> 32 - 35 -> 32 - 31 -> 33 - 7 -> 33 - 8 -> 33 + 34 -> 33 + 17 -> 33 + 11 -> 33 + 7 -> 34 11 -> 34 - 15 -> 34 - 29 -> 34 - 33 -> 35 - 33 -> 36 - 7 -> 36 - 15 -> 36 - 34 -> 37 - 33 -> 37 - 32 -> 37 - 8 -> 37 + 34 -> 35 + 17 -> 35 + 11 -> 35 38 -> 37 - 11 -> 38 - 15 -> 38 - 29 -> 38 - 15 -> 39 - 7 -> 39 - 8 -> 39 - 15 -> 40 - 8 -> 40 - 11 -> 41 - 16 -> 41 - 29 -> 41 - 48 -> 42 - 51 -> 42 - 43 -> 42 - 44 -> 43 - 47 -> 43 - 46 -> 43 - 45 -> 44 + 40 -> 37 + 7 -> 38 + 8 -> 38 + 36 -> 38 + 39 -> 38 + 34 -> 40 + 17 -> 40 + 11 -> 40 + 42 -> 41 + 40 -> 41 + 38 -> 42 + 7 -> 43 + 17 -> 43 + 38 -> 43 + 40 -> 44 + 37 -> 44 + 38 -> 44 8 -> 44 - 8 -> 45 - 47 -> 46 + 45 -> 44 + 34 -> 45 + 17 -> 45 + 11 -> 45 8 -> 46 - 45 -> 47 - 31 -> 47 + 17 -> 46 + 7 -> 46 8 -> 47 - 50 -> 48 - 49 -> 48 - 34 -> 49 - 15 -> 49 - 47 -> 50 - 49 -> 51 - 46 -> 51 - 33 -> 52 - 34 -> 52 - 38 -> 53 - 15 -> 54 - 3 -> 55 - 15 -> 55 - 3 -> 56 - 15 -> 56 - 3 -> 57 - 15 -> 57 + 17 -> 47 + 34 -> 48 + 18 -> 48 + 11 -> 48 + 50 -> 49 + 55 -> 49 + 58 -> 49 + 51 -> 50 + 53 -> 50 + 54 -> 50 + 52 -> 51 + 8 -> 51 + 8 -> 52 + 8 -> 53 + 54 -> 53 + 52 -> 54 + 8 -> 54 + 36 -> 54 + 56 -> 55 + 57 -> 55 + 17 -> 56 + 40 -> 56 + 54 -> 57 + 56 -> 58 + 53 -> 58 + 38 -> 59 + 40 -> 59 + 34 -> 60 + 17 -> 60 + 11 -> 60 + 34 -> 61 + 17 -> 61 + 11 -> 61 + 45 -> 62 + 60 -> 62 + 61 -> 62 + 34 -> 63 + 17 -> 63 + 11 -> 63 + 34 -> 64 + 17 -> 64 + 11 -> 64 + 17 -> 65 + 3 -> 66 + 17 -> 66 + 3 -> 67 + 17 -> 67 + 3 -> 68 + 17 -> 68 } | @@ -401,222 +463,430 @@ workflow: graph[bgcolor=white, margin=0]; node[shape=box, style=rounded, fontname=sans, fontsize=10, penwidth=2]; edge[penwidth=2, color=grey]; - 0[label = "all", color = "0.10 0.6 0.85", style="rounded"]; - 1[label = "plot_summary", color = "0.56 0.6 0.85", style="rounded"]; - 2[label = "make_summary", color = "0.44 0.6 0.85", style="rounded"]; - 3[label = "solve_sector_network_myopic", color = "0.11 0.6 0.85", style="rounded"]; - 4[label = "add_existing_baseyear", color = "0.24 0.6 0.85", style="rounded"]; - 5[label = "prepare_sector_network", color = "0.26 0.6 0.85", style="rounded"]; - 6[label = "build_renewable_profiles", color = "0.62 0.6 0.85", style="rounded"]; - 7[label = "base_network", color = "0.13 0.6 0.85", style="rounded"]; - 8[label = "build_shapes", color = "0.31 0.6 0.85", style="rounded"]; - 9[label = "retrieve_databundle", color = "0.49 0.6 0.85", style="rounded"]; - 10[label = "build_ship_raster", color = "0.39 0.6 0.85", style="rounded"]; - 11[label = "retrieve_ship_raster", color = "0.61 0.6 0.85", style="rounded"]; - 12[label = "retrieve_cutout", color = "0.65 0.6 0.85", style="rounded"]; - 13[label = "cluster_gas_network", color = "0.05 0.6 0.85", style="rounded"]; - 14[label = "build_gas_network", color = "0.18 0.6 0.85", style="rounded"]; - 15[label = "retrieve_gas_infrastructure_data", color = "0.49 0.6 0.85", style="rounded"]; - 16[label = "cluster_network", color = "0.45 0.6 0.85", style="rounded"]; - 17[label = "simplify_network", color = "0.28 0.6 0.85", style="rounded"]; - 18[label = "add_electricity", color = "0.40 0.6 0.85", style="rounded"]; - 19[label = "retrieve_cost_data", color = "0.66 0.6 0.85", style="rounded"]; - 20[label = "build_powerplants", color = "0.60 0.6 0.85", style="rounded"]; - 21[label = "build_electricity_demand", color = "0.48 0.6 0.85", style="rounded"]; - 22[label = "retrieve_electricity_demand", color = "0.60 0.6 0.85", style="rounded"]; - 23[label = "retrieve_synthetic_electricity_demand", color = "0.09 0.6 0.85", style="rounded"]; - 24[label = "build_gas_input_locations", color = "0.08 0.6 0.85", style="rounded"]; - 25[label = "time_aggregation", color = "0.51 0.6 0.85", style="rounded"]; - 26[label = "prepare_network", color = "0.58 0.6 0.85", style="rounded"]; - 27[label = "add_extra_components", color = "0.25 0.6 0.85", style="rounded"]; - 28[label = "build_hourly_heat_demand", color = "0.06 0.6 0.85", style="rounded"]; - 29[label = "build_daily_heat_demand", color = "0.23 0.6 0.85", style="rounded"]; - 30[label = "build_population_layouts", color = "0.33 0.6 0.85", style="rounded"]; - 31[label = "build_solar_thermal_profiles", color = "0.62 0.6 0.85", style="rounded"]; - 32[label = "retrieve_eurostat_data", color = "0.43 0.6 0.85", style="rounded"]; - 33[label = "build_population_weighted_energy_totals", color = "0.12 0.6 0.85", style="rounded"]; - 34[label = "build_energy_totals", color = "0.17 0.6 0.85", style="rounded"]; - 35[label = "build_clustered_population_layouts", color = "0.59 0.6 0.85", style="rounded"]; - 36[label = "build_heat_totals", color = "0.01 0.6 0.85", style="rounded"]; - 37[label = "build_shipping_demand", color = "0.15 0.6 0.85", style="rounded"]; - 38[label = "build_transport_demand", color = "0.16 0.6 0.85", style="rounded"]; - 39[label = "build_temperature_profiles", color = "0.41 0.6 0.85", style="rounded"]; - 40[label = "build_biomass_potentials", color = "0.53 0.6 0.85", style="rounded"]; - 41[label = "build_salt_cavern_potentials", color = "0.54 0.6 0.85", style="rounded"]; - 42[label = "build_simplified_population_layouts", color = "0.42 0.6 0.85", style="rounded"]; - 43[label = "build_industrial_energy_demand_per_node", color = "0.28 0.6 0.85", style="rounded"]; - 44[label = "build_industry_sector_ratios_intermediate", color = "0.35 0.6 0.85", style="rounded"]; - 45[label = "build_industry_sector_ratios", color = "0.58 0.6 0.85", style="rounded"]; - 46[label = "build_ammonia_production", color = "0.02 0.6 0.85", style="rounded"]; - 47[label = "build_industrial_energy_demand_per_country_today", color = "0.07 0.6 0.85", style="rounded"]; - 48[label = "build_industrial_production_per_country", color = "0.40 0.6 0.85", style="rounded"]; - 49[label = "build_industrial_production_per_node", color = "0.46 0.6 0.85", style="rounded"]; - 50[label = "build_industrial_distribution_key", color = "0.20 0.6 0.85", style="rounded"]; - 51[label = "build_industrial_production_per_country_tomorrow", color = "0.47 0.6 0.85", style="rounded"]; - 52[label = "build_industrial_energy_demand_per_node_today", color = "0.30 0.6 0.85", style="rounded"]; - 53[label = "build_district_heat_share", color = "0.17 0.6 0.85", style="rounded"]; - 54[label = "build_cop_profiles", color = "0.14 0.6 0.85", style="rounded"]; - 55[label = "build_existing_heating_distribution", color = "0.19 0.6 0.85", style="rounded"]; - 56[label = "add_brownfield", color = "0.33 0.6 0.85", style="rounded"]; - 57[label = "plot_power_network_clustered", color = "0.56 0.6 0.85", style="rounded"]; - 58[label = "plot_power_network", color = "0.51 0.6 0.85", style="rounded"]; - 59[label = "plot_hydrogen_network", color = "0.47 0.6 0.85", style="rounded"]; + 0[label = "all", color = "0.65 0.6 0.85", style="rounded"]; + 1[label = "plot_summary", color = "0.14 0.6 0.85", style="rounded"]; + 2[label = "make_summary", color = "0.38 0.6 0.85", style="rounded"]; + 3[label = "solve_sector_network_myopic", color = "0.19 0.6 0.85", style="rounded"]; + 4[label = "add_existing_baseyear", color = "0.32 0.6 0.85", style="rounded"]; + 5[label = "prepare_sector_network\nsector_opts: ", color = "0.36 0.6 0.85", style="rounded"]; + 6[label = "build_renewable_profiles\ntechnology: offwind-ac", color = "0.57 0.6 0.85", style="rounded"]; + 7[label = "base_network", color = "0.24 0.6 0.85", style="rounded"]; + 8[label = "build_shapes", color = "0.51 0.6 0.85", style="rounded"]; + 9[label = "retrieve_databundle", color = "0.31 0.6 0.85", style="rounded"]; + 10[label = "build_ship_raster", color = "0.23 0.6 0.85", style="rounded"]; + 11[label = "retrieve_ship_raster", color = "0.58 0.6 0.85", style="rounded"]; + 12[label = "retrieve_cutout\ncutout: be-03-2013-era5", color = "0.21 0.6 0.85", style="rounded"]; + 13[label = "build_renewable_profiles\ntechnology: offwind-dc", color = "0.57 0.6 0.85", style="rounded"]; + 14[label = "build_renewable_profiles\ntechnology: offwind-float", color = "0.57 0.6 0.85", style="rounded"]; + 15[label = "cluster_gas_network", color = "0.06 0.6 0.85", style="rounded"]; + 16[label = "build_gas_network", color = "0.29 0.6 0.85", style="rounded"]; + 17[label = "retrieve_gas_infrastructure_data", color = "0.18 0.6 0.85", style="rounded"]; + 18[label = "cluster_network\nclusters: 5", color = "0.59 0.6 0.85", style="rounded"]; + 19[label = "simplify_network\nsimpl: ", color = "0.41 0.6 0.85", style="rounded"]; + 20[label = "add_electricity", color = "0.25 0.6 0.85", style="rounded"]; + 21[label = "build_renewable_profiles\ntechnology: solar", color = "0.57 0.6 0.85", style="rounded"]; + 22[label = "build_renewable_profiles\ntechnology: solar-hsat", color = "0.57 0.6 0.85", style="rounded"]; + 23[label = "build_renewable_profiles\ntechnology: onwind", color = "0.57 0.6 0.85", style="rounded"]; + 24[label = "retrieve_cost_data\nyear: 2030", color = "0.41 0.6 0.85", style="rounded"]; + 25[label = "build_powerplants", color = "0.36 0.6 0.85", style="rounded"]; + 26[label = "build_electricity_demand", color = "0.12 0.6 0.85", style="rounded"]; + 27[label = "retrieve_electricity_demand", color = "0.23 0.6 0.85", style="rounded"]; + 28[label = "retrieve_synthetic_electricity_demand", color = "0.35 0.6 0.85", style="rounded"]; + 29[label = "build_gas_input_locations", color = "0.10 0.6 0.85", style="rounded"]; + 30[label = "time_aggregation", color = "0.60 0.6 0.85", style="rounded"]; + 31[label = "prepare_network\nll: v1.5\nopts: ", color = "0.37 0.6 0.85", style="rounded"]; + 32[label = "add_extra_components", color = "0.10 0.6 0.85", style="rounded"]; + 33[label = "build_hourly_heat_demand", color = "0.11 0.6 0.85", style="rounded"]; + 34[label = "build_daily_heat_demand\nscope: total", color = "0.39 0.6 0.85", style="rounded"]; + 35[label = "build_population_layouts", color = "0.40 0.6 0.85", style="rounded"]; + 36[label = "build_solar_thermal_profiles\nscope: total", color = "0.20 0.6 0.85", style="rounded"]; + 37[label = "retrieve_eurostat_data", color = "0.45 0.6 0.85", style="rounded"]; + 38[label = "build_population_weighted_energy_totals\nkind: energy", color = "0.60 0.6 0.85", style="rounded"]; + 39[label = "build_energy_totals", color = "0.48 0.6 0.85", style="rounded"]; + 40[label = "retrieve_eurostat_household_data", color = "0.08 0.6 0.85", style="rounded"]; + 41[label = "build_clustered_population_layouts", color = "0.07 0.6 0.85", style="rounded"]; + 42[label = "build_population_weighted_energy_totals\nkind: heat", color = "0.60 0.6 0.85", style="rounded"]; + 43[label = "build_heat_totals", color = "0.52 0.6 0.85", style="rounded"]; + 44[label = "build_shipping_demand", color = "0.50 0.6 0.85", style="rounded"]; + 45[label = "build_transport_demand", color = "0.49 0.6 0.85", style="rounded"]; + 46[label = "build_temperature_profiles\nscope: total", color = "0.63 0.6 0.85", style="rounded"]; + 47[label = "build_biomass_potentials\nplanning_horizons: 2030", color = "0.56 0.6 0.85", style="rounded"]; + 48[label = "build_salt_cavern_potentials", color = "0.43 0.6 0.85", style="rounded"]; + 49[label = "build_simplified_population_layouts", color = "0.58 0.6 0.85", style="rounded"]; + 50[label = "build_industrial_energy_demand_per_node", color = "0.27 0.6 0.85", style="rounded"]; + 51[label = "build_industry_sector_ratios_intermediate\nplanning_horizons: 2030", color = "0.26 0.6 0.85", style="rounded"]; + 52[label = "build_industry_sector_ratios", color = "0.46 0.6 0.85", style="rounded"]; + 53[label = "build_ammonia_production", color = "0.17 0.6 0.85", style="rounded"]; + 54[label = "build_industrial_energy_demand_per_country_today", color = "0.02 0.6 0.85", style="rounded"]; + 55[label = "build_industrial_production_per_country", color = "0.30 0.6 0.85", style="rounded"]; + 56[label = "build_industrial_production_per_node", color = "0.30 0.6 0.85", style="rounded"]; + 57[label = "build_industrial_distribution_key", color = "0.05 0.6 0.85", style="rounded"]; + 58[label = "build_industrial_production_per_country_tomorrow\nplanning_horizons: 2030", color = "0.01 0.6 0.85", style="rounded"]; + 59[label = "build_industrial_energy_demand_per_node_today", color = "0.14 0.6 0.85", style="rounded"]; + 60[label = "build_district_heat_share\nplanning_horizons: 2030", color = "0.56 0.6 0.85", style="rounded"]; + 61[label = "build_temperature_profiles\nscope: rural", color = "0.63 0.6 0.85", style="rounded"]; + 62[label = "build_temperature_profiles\nscope: urban", color = "0.63 0.6 0.85", style="rounded"]; + 63[label = "build_cop_profiles", color = "0.64 0.6 0.85", style="rounded"]; + 64[label = "build_solar_thermal_profiles\nscope: urban", color = "0.20 0.6 0.85", style="rounded"]; + 65[label = "build_solar_thermal_profiles\nscope: rural", color = "0.20 0.6 0.85", style="rounded"]; + 66[label = "build_existing_heating_distribution", color = "0.21 0.6 0.85", style="rounded"]; + 67[label = "solve_sector_network_myopic", color = "0.19 0.6 0.85", style="rounded"]; + 68[label = "add_brownfield", color = "0.27 0.6 0.85", style="rounded"]; + 69[label = "prepare_sector_network\nsector_opts: ", color = "0.36 0.6 0.85", style="rounded"]; + 70[label = "build_biomass_potentials\nplanning_horizons: 2040", color = "0.56 0.6 0.85", style="rounded"]; + 71[label = "retrieve_cost_data\nyear: 2040", color = "0.41 0.6 0.85", style="rounded"]; + 72[label = "build_industrial_energy_demand_per_node", color = "0.27 0.6 0.85", style="rounded"]; + 73[label = "build_industry_sector_ratios_intermediate\nplanning_horizons: 2040", color = "0.26 0.6 0.85", style="rounded"]; + 74[label = "build_industrial_production_per_node", color = "0.30 0.6 0.85", style="rounded"]; + 75[label = "build_industrial_production_per_country_tomorrow\nplanning_horizons: 2040", color = "0.01 0.6 0.85", style="rounded"]; + 76[label = "build_district_heat_share\nplanning_horizons: 2040", color = "0.56 0.6 0.85", style="rounded"]; + 77[label = "solve_sector_network_myopic", color = "0.19 0.6 0.85", style="rounded"]; + 78[label = "add_brownfield", color = "0.27 0.6 0.85", style="rounded"]; + 79[label = "prepare_sector_network\nsector_opts: ", color = "0.36 0.6 0.85", style="rounded"]; + 80[label = "build_biomass_potentials\nplanning_horizons: 2050", color = "0.56 0.6 0.85", style="rounded"]; + 81[label = "retrieve_cost_data\nyear: 2050", color = "0.41 0.6 0.85", style="rounded"]; + 82[label = "build_industrial_energy_demand_per_node", color = "0.27 0.6 0.85", style="rounded"]; + 83[label = "build_industry_sector_ratios_intermediate\nplanning_horizons: 2050", color = "0.26 0.6 0.85", style="rounded"]; + 84[label = "build_industrial_production_per_node", color = "0.30 0.6 0.85", style="rounded"]; + 85[label = "build_industrial_production_per_country_tomorrow\nplanning_horizons: 2050", color = "0.01 0.6 0.85", style="rounded"]; + 86[label = "build_district_heat_share\nplanning_horizons: 2050", color = "0.56 0.6 0.85", style="rounded"]; + 87[label = "plot_power_network_clustered", color = "0.03 0.6 0.85", style="rounded"]; + 88[label = "plot_power_network", color = "0.16 0.6 0.85", style="rounded"]; + 89[label = "plot_power_network", color = "0.16 0.6 0.85", style="rounded"]; + 90[label = "plot_power_network", color = "0.16 0.6 0.85", style="rounded"]; + 91[label = "plot_hydrogen_network", color = "0.54 0.6 0.85", style="rounded"]; + 92[label = "plot_hydrogen_network", color = "0.54 0.6 0.85", style="rounded"]; + 93[label = "plot_hydrogen_network", color = "0.54 0.6 0.85", style="rounded"]; 1 -> 0 - 9 -> 1 - 32 -> 1 2 -> 1 - 58 -> 2 + 37 -> 1 + 9 -> 1 3 -> 2 - 59 -> 2 - 19 -> 2 - 57 -> 2 - 19 -> 3 + 67 -> 2 + 77 -> 2 + 24 -> 2 + 87 -> 2 + 88 -> 2 + 89 -> 2 + 90 -> 2 + 91 -> 2 + 92 -> 2 + 93 -> 2 4 -> 3 - 56 -> 3 - 17 -> 4 - 35 -> 4 - 16 -> 4 - 20 -> 4 - 54 -> 4 - 55 -> 4 - 19 -> 4 + 24 -> 3 5 -> 4 - 25 -> 5 - 33 -> 5 - 54 -> 5 - 40 -> 5 + 25 -> 4 + 19 -> 4 + 18 -> 4 + 41 -> 4 + 24 -> 4 + 63 -> 4 + 66 -> 4 + 6 -> 5 + 13 -> 5 + 14 -> 5 + 15 -> 5 + 29 -> 5 + 30 -> 5 + 31 -> 5 37 -> 5 - 41 -> 5 38 -> 5 - 53 -> 5 - 34 -> 5 - 39 -> 5 - 13 -> 5 42 -> 5 - 26 -> 5 - 32 -> 5 - 28 -> 5 - 17 -> 5 - 16 -> 5 - 35 -> 5 - 24 -> 5 - 43 -> 5 - 6 -> 5 - 31 -> 5 + 44 -> 5 + 45 -> 5 + 39 -> 5 9 -> 5 + 47 -> 5 + 24 -> 5 + 48 -> 5 19 -> 5 - 8 -> 6 + 18 -> 5 + 41 -> 5 + 49 -> 5 + 50 -> 5 + 33 -> 5 + 60 -> 5 + 46 -> 5 + 61 -> 5 + 62 -> 5 + 63 -> 5 + 36 -> 5 + 64 -> 5 + 65 -> 5 7 -> 6 9 -> 6 - 12 -> 6 10 -> 6 + 8 -> 6 + 12 -> 6 8 -> 7 9 -> 8 - 12 -> 10 11 -> 10 - 14 -> 13 - 16 -> 13 - 15 -> 14 + 12 -> 10 + 7 -> 13 + 9 -> 13 + 10 -> 13 + 8 -> 13 + 12 -> 13 + 7 -> 14 + 9 -> 14 + 10 -> 14 + 8 -> 14 + 12 -> 14 + 16 -> 15 + 18 -> 15 17 -> 16 - 19 -> 16 - 18 -> 17 - 7 -> 17 - 19 -> 17 - 8 -> 18 - 21 -> 18 - 7 -> 18 - 20 -> 18 19 -> 18 - 6 -> 18 + 24 -> 18 + 20 -> 19 + 24 -> 19 + 7 -> 19 + 21 -> 20 + 22 -> 20 + 23 -> 20 + 6 -> 20 + 13 -> 20 + 14 -> 20 7 -> 20 - 22 -> 21 - 23 -> 21 - 15 -> 24 - 16 -> 24 - 31 -> 25 - 26 -> 25 - 28 -> 25 - 19 -> 26 + 24 -> 20 + 25 -> 20 + 26 -> 20 + 8 -> 20 + 7 -> 21 + 9 -> 21 + 8 -> 21 + 12 -> 21 + 7 -> 22 + 9 -> 22 + 8 -> 22 + 12 -> 22 + 7 -> 23 + 9 -> 23 + 8 -> 23 + 12 -> 23 + 7 -> 25 27 -> 26 - 19 -> 27 - 16 -> 27 - 29 -> 28 - 12 -> 29 - 16 -> 29 - 30 -> 29 - 12 -> 30 - 8 -> 30 - 12 -> 31 - 16 -> 31 - 30 -> 31 + 28 -> 26 + 17 -> 29 + 18 -> 29 + 31 -> 30 + 33 -> 30 + 36 -> 30 + 32 -> 31 + 24 -> 31 + 18 -> 32 + 24 -> 32 34 -> 33 - 36 -> 33 - 35 -> 33 - 9 -> 34 - 32 -> 34 - 8 -> 34 + 35 -> 34 + 18 -> 34 + 12 -> 34 + 8 -> 35 12 -> 35 - 16 -> 35 - 30 -> 35 - 34 -> 36 - 34 -> 37 - 8 -> 37 - 16 -> 37 + 35 -> 36 + 18 -> 36 + 12 -> 36 39 -> 38 - 33 -> 38 - 35 -> 38 - 9 -> 38 - 34 -> 38 - 12 -> 39 - 16 -> 39 - 30 -> 39 - 9 -> 40 - 8 -> 40 - 16 -> 40 - 9 -> 41 - 16 -> 41 - 12 -> 42 - 17 -> 42 - 30 -> 42 - 49 -> 43 - 52 -> 43 - 44 -> 43 - 45 -> 44 - 48 -> 44 - 47 -> 44 + 41 -> 38 + 8 -> 39 + 9 -> 39 + 37 -> 39 + 40 -> 39 + 35 -> 41 + 18 -> 41 + 12 -> 41 + 43 -> 42 + 41 -> 42 + 39 -> 43 + 8 -> 44 + 18 -> 44 + 39 -> 44 + 41 -> 45 + 38 -> 45 + 39 -> 45 9 -> 45 46 -> 45 - 9 -> 46 + 35 -> 46 + 18 -> 46 + 12 -> 46 9 -> 47 - 48 -> 47 + 18 -> 47 + 8 -> 47 9 -> 48 - 32 -> 48 - 46 -> 48 - 50 -> 49 - 51 -> 49 - 35 -> 50 - 16 -> 50 - 48 -> 51 - 47 -> 52 - 50 -> 52 - 34 -> 53 - 35 -> 53 - 39 -> 54 + 18 -> 48 + 35 -> 49 + 19 -> 49 + 12 -> 49 + 51 -> 50 + 56 -> 50 + 59 -> 50 + 52 -> 51 + 54 -> 51 + 55 -> 51 + 53 -> 52 + 9 -> 52 + 9 -> 53 + 9 -> 54 + 55 -> 54 53 -> 55 - 35 -> 55 - 33 -> 55 - 17 -> 56 - 3 -> 56 - 16 -> 56 - 54 -> 56 - 19 -> 56 - 5 -> 56 - 6 -> 56 - 16 -> 57 - 16 -> 58 - 3 -> 58 - 16 -> 59 - 3 -> 59 + 9 -> 55 + 37 -> 55 + 57 -> 56 + 58 -> 56 + 18 -> 57 + 41 -> 57 + 55 -> 58 + 57 -> 59 + 54 -> 59 + 39 -> 60 + 41 -> 60 + 35 -> 61 + 18 -> 61 + 12 -> 61 + 35 -> 62 + 18 -> 62 + 12 -> 62 + 46 -> 63 + 61 -> 63 + 62 -> 63 + 35 -> 64 + 18 -> 64 + 12 -> 64 + 35 -> 65 + 18 -> 65 + 12 -> 65 + 41 -> 66 + 38 -> 66 + 60 -> 66 + 68 -> 67 + 71 -> 67 + 21 -> 68 + 22 -> 68 + 23 -> 68 + 6 -> 68 + 13 -> 68 + 14 -> 68 + 19 -> 68 + 18 -> 68 + 69 -> 68 + 3 -> 68 + 71 -> 68 + 63 -> 68 + 6 -> 69 + 13 -> 69 + 14 -> 69 + 15 -> 69 + 29 -> 69 + 30 -> 69 + 31 -> 69 + 37 -> 69 + 38 -> 69 + 42 -> 69 + 44 -> 69 + 45 -> 69 + 39 -> 69 + 9 -> 69 + 70 -> 69 + 71 -> 69 + 48 -> 69 + 19 -> 69 + 18 -> 69 + 41 -> 69 + 49 -> 69 + 72 -> 69 + 33 -> 69 + 76 -> 69 + 46 -> 69 + 61 -> 69 + 62 -> 69 + 63 -> 69 + 36 -> 69 + 64 -> 69 + 65 -> 69 + 9 -> 70 + 18 -> 70 + 8 -> 70 + 73 -> 72 + 74 -> 72 + 59 -> 72 + 52 -> 73 + 54 -> 73 + 55 -> 73 + 57 -> 74 + 75 -> 74 + 55 -> 75 + 39 -> 76 + 41 -> 76 + 78 -> 77 + 81 -> 77 + 21 -> 78 + 22 -> 78 + 23 -> 78 + 6 -> 78 + 13 -> 78 + 14 -> 78 + 19 -> 78 + 18 -> 78 + 79 -> 78 + 67 -> 78 + 81 -> 78 + 63 -> 78 + 6 -> 79 + 13 -> 79 + 14 -> 79 + 15 -> 79 + 29 -> 79 + 30 -> 79 + 31 -> 79 + 37 -> 79 + 38 -> 79 + 42 -> 79 + 44 -> 79 + 45 -> 79 + 39 -> 79 + 9 -> 79 + 80 -> 79 + 81 -> 79 + 48 -> 79 + 19 -> 79 + 18 -> 79 + 41 -> 79 + 49 -> 79 + 82 -> 79 + 33 -> 79 + 86 -> 79 + 46 -> 79 + 61 -> 79 + 62 -> 79 + 63 -> 79 + 36 -> 79 + 64 -> 79 + 65 -> 79 + 9 -> 80 + 18 -> 80 + 8 -> 80 + 83 -> 82 + 84 -> 82 + 59 -> 82 + 52 -> 83 + 54 -> 83 + 55 -> 83 + 57 -> 84 + 85 -> 84 + 55 -> 85 + 39 -> 86 + 41 -> 86 + 18 -> 87 + 3 -> 88 + 18 -> 88 + 67 -> 89 + 18 -> 89 + 77 -> 90 + 18 -> 90 + 3 -> 91 + 18 -> 91 + 67 -> 92 + 18 -> 92 + 77 -> 93 + 18 -> 93 } | diff --git a/envs/environment.fixed.yaml b/envs/environment.fixed.yaml index 260c17fdd..bc610a5aa 100644 --- a/envs/environment.fixed.yaml +++ b/envs/environment.fixed.yaml @@ -1,472 +1,464 @@ -# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors -# -# SPDX-License-Identifier: CC0-1.0 - name: pypsa-eur channels: -- bioconda -- http://conda.anaconda.org/gurobi - conda-forge +- bioconda +- gurobi +- defaults dependencies: -- _libgcc_mutex=0.1=conda_forge -- _openmp_mutex=4.5=2_gnu -- affine=2.4.0=pyhd8ed1ab_0 -- alsa-lib=1.2.11=hd590300_1 -- ampl-mp=3.1.0=h2cc385e_1006 -- amply=0.1.6=pyhd8ed1ab_0 -- appdirs=1.4.4=pyh9f0ad1d_0 -- argparse-dataclass=2.0.0=pyhd8ed1ab_0 -- asttokens=2.4.1=pyhd8ed1ab_0 -- atk-1.0=2.38.0=h04ea711_2 -- atlite=0.2.12=pyhd8ed1ab_0 -- attr=2.5.1=h166bdaf_1 -- attrs=23.2.0=pyh71513ae_0 -- aws-c-auth=0.7.18=he0b1f16_0 -- aws-c-cal=0.6.11=heb1d5e4_0 -- aws-c-common=0.9.15=hd590300_0 -- aws-c-compression=0.2.18=hce8ee76_3 -- aws-c-event-stream=0.4.2=h01f5eca_8 -- aws-c-http=0.8.1=hdb68c23_10 -- aws-c-io=0.14.7=hbfbeace_6 -- aws-c-mqtt=0.10.4=h50844eb_0 -- aws-c-s3=0.5.7=h6be9164_2 -- aws-c-sdkutils=0.1.15=hce8ee76_3 -- aws-checksums=0.1.18=hce8ee76_3 -- aws-crt-cpp=0.26.8=h2150271_2 -- aws-sdk-cpp=1.11.267=hddb5a97_7 -- azure-core-cpp=1.11.1=h91d86a7_1 -- azure-identity-cpp=1.6.0=hf1915f5_1 -- azure-storage-blobs-cpp=12.10.0=h00ab1b0_1 -- azure-storage-common-cpp=12.5.0=h94269e2_4 -- beautifulsoup4=4.12.3=pyha770c72_0 -- blosc=1.21.5=hc2324a3_1 -- bokeh=3.4.1=pyhd8ed1ab_0 -- bottleneck=1.3.8=py311h1f0f07a_0 -- branca=0.7.2=pyhd8ed1ab_0 -- brotli=1.1.0=hd590300_1 -- brotli-bin=1.1.0=hd590300_1 -- brotli-python=1.1.0=py311hb755f60_1 -- bzip2=1.0.8=hd590300_5 -- c-ares=1.28.1=hd590300_0 -- c-blosc2=2.14.4=hb4ffafa_1 -- ca-certificates=2024.2.2=hbcca054_0 -- cads-api-client=1.0.0=pyhd8ed1ab_0 -- cairo=1.18.0=h3faef2a_0 -- cartopy=0.23.0=py311h320fe9a_0 -- cdsapi=0.7.0=pyhd8ed1ab_0 -- certifi=2024.2.2=pyhd8ed1ab_0 -- cffi=1.16.0=py311hb3a22ac_0 -- cfgv=3.3.1=pyhd8ed1ab_0 -- cfitsio=4.4.0=hbdc6101_1 -- cftime=1.6.3=py311h1f0f07a_0 -- charset-normalizer=3.3.2=pyhd8ed1ab_0 -- click=8.1.7=unix_pyh707e725_0 -- click-plugins=1.1.1=py_0 -- cligj=0.7.2=pyhd8ed1ab_1 -- cloudpickle=3.0.0=pyhd8ed1ab_0 -- coin-or-cbc=2.10.10=h9002f0b_0 -- coin-or-cgl=0.60.7=h516709c_0 -- coin-or-clp=1.17.8=h1ee7a9c_0 -- coin-or-osi=0.108.10=haf5fa05_0 -- coin-or-utils=2.11.11=hee58242_0 -- coincbc=2.10.10=0_metapackage -- colorama=0.4.6=pyhd8ed1ab_0 -- conda-inject=1.3.1=pyhd8ed1ab_0 -- configargparse=1.7=pyhd8ed1ab_0 -- connection_pool=0.0.3=pyhd3deb0d_0 -- contourpy=1.2.1=py311h9547e67_0 -- country_converter=1.2=pyhd8ed1ab_0 -- cppad=20240000.4=h59595ed_0 -- cycler=0.12.1=pyhd8ed1ab_0 -- cytoolz=0.12.3=py311h459d7ec_0 -- dask=2024.4.2=pyhd8ed1ab_0 -- dask-core=2024.4.2=pyhd8ed1ab_0 -- dask-expr=1.0.14=pyhd8ed1ab_0 -- datrie=0.8.2=py311h459d7ec_7 -- dbus=1.13.6=h5008d03_3 -- decorator=5.1.1=pyhd8ed1ab_0 -- deprecation=2.1.0=pyh9f0ad1d_0 -- descartes=1.1.0=py_4 -- distlib=0.3.8=pyhd8ed1ab_0 -- distributed=2024.4.2=pyhd8ed1ab_0 -- distro=1.9.0=pyhd8ed1ab_0 -- docutils=0.21.2=pyhd8ed1ab_0 -- dpath=2.1.6=pyha770c72_0 -- entsoe-py=0.6.7=pyhd8ed1ab_0 -- et_xmlfile=1.1.0=pyhd8ed1ab_0 -- exceptiongroup=1.2.0=pyhd8ed1ab_2 -- executing=2.0.1=pyhd8ed1ab_0 -- expat=2.6.2=h59595ed_0 -- filelock=3.14.0=pyhd8ed1ab_0 -- fiona=1.9.6=py311hf8e0aa6_0 -- fmt=10.2.1=h00ab1b0_0 -- folium=0.16.0=pyhd8ed1ab_0 -- font-ttf-dejavu-sans-mono=2.37=hab24e00_0 -- font-ttf-inconsolata=3.000=h77eed37_0 -- font-ttf-source-code-pro=2.038=h77eed37_0 -- font-ttf-ubuntu=0.83=h77eed37_2 -- fontconfig=2.14.2=h14ed4e7_0 -- fonts-conda-ecosystem=1=0 -- fonts-conda-forge=1=0 -- fonttools=4.51.0=py311h459d7ec_0 -- freetype=2.12.1=h267a509_2 -- freexl=2.0.0=h743c826_0 -- fribidi=1.0.10=h36c2ea0_0 -- fsspec=2024.3.1=pyhca7485f_0 -- gdal=3.8.5=py311hd032c08_2 -- gdk-pixbuf=2.42.11=hb9ae30d_0 -- geographiclib=2.0=pyhd8ed1ab_0 -- geojson-rewind=1.1.0=pyhd8ed1ab_0 -- geopandas=0.14.4=pyhd8ed1ab_0 -- geopandas-base=0.14.4=pyha770c72_0 -- geopy=2.4.1=pyhd8ed1ab_1 -- geos=3.12.1=h59595ed_0 -- geotiff=1.7.1=h6cf1f90_16 -- gettext=0.22.5=h59595ed_2 -- gettext-tools=0.22.5=h59595ed_2 -- gflags=2.2.2=he1b5a44_1004 -- giflib=5.2.2=hd590300_0 -- gitdb=4.0.11=pyhd8ed1ab_0 -- gitpython=3.1.43=pyhd8ed1ab_0 -- glib=2.80.0=hf2295e7_6 -- glib-tools=2.80.0=hde27a5a_6 -- glog=0.7.0=hed5481d_0 -- glpk=5.0=h445213a_0 -- gmp=6.3.0=h59595ed_1 -- graphite2=1.3.13=h59595ed_1003 -- graphviz=9.0.0=h78e8752_1 -- gst-plugins-base=1.24.1=hfa15dee_2 -- gstreamer=1.24.1=h98fc4e7_2 -- gtk2=2.24.33=h280cfa0_4 -- gts=0.7.6=h977cf35_4 -- harfbuzz=8.4.0=h3d44ed6_0 -- hdf4=4.2.15=h2a13503_7 -- hdf5=1.14.3=nompi_h4f84152_101 -- humanfriendly=10.0=pyhd8ed1ab_6 -- icu=73.2=h59595ed_0 -- identify=2.5.36=pyhd8ed1ab_0 -- idna=3.7=pyhd8ed1ab_0 -- immutables=0.20=py311h459d7ec_1 -- importlib-metadata=7.1.0=pyha770c72_0 -- importlib_metadata=7.1.0=hd8ed1ab_0 -- importlib_resources=6.4.0=pyhd8ed1ab_0 -- iniconfig=2.0.0=pyhd8ed1ab_0 -- ipopt=3.14.16=hf967516_0 -- ipython=8.22.2=pyh707e725_0 -- jedi=0.19.1=pyhd8ed1ab_0 -- jinja2=3.1.3=pyhd8ed1ab_0 -- joblib=1.4.2=pyhd8ed1ab_0 -- json-c=0.17=h7ab15ed_0 -- jsonschema=4.22.0=pyhd8ed1ab_0 -- jsonschema-specifications=2023.12.1=pyhd8ed1ab_0 -- jupyter_core=5.7.2=py311h38be061_0 -- kealib=1.5.3=h2f55d51_0 -- keyutils=1.6.1=h166bdaf_0 -- kiwisolver=1.4.5=py311h9547e67_1 -- krb5=1.21.2=h659d440_0 -- lame=3.100=h166bdaf_1003 -- lcms2=2.16=hb7c19ff_0 -- ld_impl_linux-64=2.40=h55db66e_0 -- lerc=4.0.0=h27087fc_0 -- libabseil=20240116.2=cxx17_h59595ed_0 -- libaec=1.1.3=h59595ed_0 -- libarchive=3.7.2=h2aa1ff5_1 -- libarrow=15.0.2=hefa796f_6_cpu -- libarrow-acero=15.0.2=hbabe93e_6_cpu -- libarrow-dataset=15.0.2=hbabe93e_6_cpu -- libarrow-flight=15.0.2=hc4f8a93_6_cpu -- libarrow-flight-sql=15.0.2=he4f5ca8_6_cpu -- libarrow-gandiva=15.0.2=hc1954e9_6_cpu -- libarrow-substrait=15.0.2=he4f5ca8_6_cpu -- libasprintf=0.22.5=h661eb56_2 -- libasprintf-devel=0.22.5=h661eb56_2 -- libblas=3.9.0=22_linux64_openblas -- libboost-headers=1.84.0=ha770c72_2 -- libbrotlicommon=1.1.0=hd590300_1 -- libbrotlidec=1.1.0=hd590300_1 -- libbrotlienc=1.1.0=hd590300_1 -- libcap=2.69=h0f662aa_0 -- libcblas=3.9.0=22_linux64_openblas -- libclang-cpp15=15.0.7=default_h127d8a8_5 -- libclang13=18.1.4=default_h5d6823c_0 -- libcrc32c=1.1.2=h9c3ff4c_0 -- libcups=2.3.3=h4637d8d_4 -- libcurl=8.7.1=hca28451_0 -- libdeflate=1.20=hd590300_0 -- libedit=3.1.20191231=he28a2e2_2 -- libev=4.33=hd590300_2 -- libevent=2.1.12=hf998b51_1 -- libexpat=2.6.2=h59595ed_0 -- libffi=3.4.2=h7f98852_5 -- libflac=1.4.3=h59595ed_0 -- libgcc-ng=13.2.0=h77fa898_6 -- libgcrypt=1.10.3=hd590300_0 -- libgd=2.3.3=h119a65a_9 -- libgdal=3.8.5=hf9625ee_2 -- libgettextpo=0.22.5=h59595ed_2 -- libgettextpo-devel=0.22.5=h59595ed_2 -- libgfortran-ng=13.2.0=h69a702a_6 -- libgfortran5=13.2.0=h43f5ff8_6 -- libglib=2.80.0=hf2295e7_6 -- libgomp=13.2.0=h77fa898_6 -- libgoogle-cloud=2.23.0=h9be4e54_1 -- libgoogle-cloud-storage=2.23.0=hc7a4891_1 -- libgpg-error=1.49=h4f305b6_0 -- libgrpc=1.62.2=h15f2491_0 -- libhwloc=2.9.3=default_h554bfaf_1009 -- libiconv=1.17=hd590300_2 -- libjpeg-turbo=3.0.0=hd590300_1 -- libkml=1.3.0=h01aab08_1018 -- liblapack=3.9.0=22_linux64_openblas -- liblapacke=3.9.0=22_linux64_openblas -- libllvm15=15.0.7=hb3ce162_4 -- libllvm16=16.0.6=hb3ce162_3 -- libllvm18=18.1.4=h2448989_0 -- libnetcdf=4.9.2=nompi_h9612171_113 -- libnghttp2=1.58.0=h47da74e_1 -- libnl=3.9.0=hd590300_0 -- libnsl=2.0.1=hd590300_0 -- libogg=1.3.4=h7f98852_1 -- libopenblas=0.3.27=pthreads_h413a1c8_0 -- libopus=1.3.1=h7f98852_1 -- libparquet=15.0.2=hacf5a1f_6_cpu -- libpng=1.6.43=h2797004_0 -- libpq=16.2=h33b98f1_1 -- libprotobuf=4.25.3=h08a7969_0 -- libre2-11=2023.09.01=h5a48ba9_2 -- librsvg=2.58.0=hadf69e7_1 -- librttopo=1.1.0=h8917695_15 -- libscotch=7.0.4=h91e35bf_1 -- libsndfile=1.2.2=hc60ed4a_1 -- libspatialindex=1.9.3=h9c3ff4c_4 -- libspatialite=5.1.0=h6f065fc_5 -- libspral=2024.01.18=h6aa6db2_0 -- libsqlite=3.45.3=h2797004_0 -- libssh2=1.11.0=h0841786_0 -- libstdcxx-ng=13.2.0=hc0a3c3a_6 -- libsystemd0=255=h3516f8a_1 -- libthrift=0.19.0=hb90f79a_1 -- libtiff=4.6.0=h1dd3fc0_3 -- libutf8proc=2.8.0=h166bdaf_0 -- libuuid=2.38.1=h0b41bf4_0 -- libvorbis=1.3.7=h9c3ff4c_0 -- libwebp=1.4.0=h2c329e2_0 -- libwebp-base=1.4.0=hd590300_0 -- libxcb=1.15=h0b41bf4_0 -- libxcrypt=4.4.36=hd590300_1 -- libxkbcommon=1.7.0=h662e7e4_0 -- libxml2=2.12.6=h232c23b_2 -- libxslt=1.1.39=h76b75d6_0 -- libzip=1.10.1=h2629f0a_3 -- libzlib=1.2.13=hd590300_5 -- linopy=0.3.8=pyhd8ed1ab_0 -- locket=1.0.0=pyhd8ed1ab_0 -- lxml=5.2.1=py311hc0a218f_0 -- lz4=4.3.3=py311h38e4bf4_0 -- lz4-c=1.9.4=hcb278e6_0 -- lzo=2.10=hd590300_1001 -- mapclassify=2.6.1=pyhd8ed1ab_0 -- markupsafe=2.1.5=py311h459d7ec_0 -- matplotlib=3.8.4=py311h38be061_0 -- matplotlib-base=3.8.4=py311h54ef318_0 -- matplotlib-inline=0.1.7=pyhd8ed1ab_0 -- memory_profiler=0.61.0=pyhd8ed1ab_0 -- metis=5.1.0=h59595ed_1007 -- minizip=4.0.5=h0ab5242_0 -- mpfr=4.2.1=h9458935_1 -- mpg123=1.32.6=h59595ed_0 -- msgpack-python=1.0.7=py311h9547e67_0 -- multiurl=0.3.1=pyhd8ed1ab_0 -- mumps-include=5.6.2=ha770c72_4 -- mumps-seq=5.6.2=hfef103a_4 -- munkres=1.1.4=pyh9f0ad1d_0 -- mysql-common=8.3.0=hf1915f5_4 -- mysql-libs=8.3.0=hca2cd23_4 -- nbformat=5.10.4=pyhd8ed1ab_0 -- ncurses=6.4.20240210=h59595ed_0 -- netcdf4=1.6.5=nompi_py311he8ad708_100 -- networkx=3.3=pyhd8ed1ab_1 -- nodeenv=1.8.0=pyhd8ed1ab_0 -- nomkl=1.0=h5ca1d4c_0 -- nspr=4.35=h27087fc_0 -- nss=3.98=h1d7d5a4_0 -- numexpr=2.9.0=py311h039bad6_100 -- numpy=1.26.4=py311h64a7726_0 -- openjdk=22.0.1=hb622114_0 -- openjpeg=2.5.2=h488ebb8_0 -- openpyxl=3.1.2=py311h459d7ec_1 -- openssl=3.3.0=hd590300_0 -- orc=2.0.0=h17fec99_1 -- packaging=24.0=pyhd8ed1ab_0 -- pandas=2.2.2=py311h320fe9a_0 -- pango=1.52.2=ha41ecd1_0 -- parso=0.8.4=pyhd8ed1ab_0 -- partd=1.4.1=pyhd8ed1ab_0 -- patsy=0.5.6=pyhd8ed1ab_0 -- pcre2=10.43=hcad00b1_0 -- pexpect=4.9.0=pyhd8ed1ab_0 -- pickleshare=0.7.5=py_1003 -- pillow=10.3.0=py311h18e6fac_0 -- pip=24.0=pyhd8ed1ab_0 -- pixman=0.43.2=h59595ed_0 -- pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1 -- plac=1.4.3=pyhd8ed1ab_0 -- platformdirs=4.2.1=pyhd8ed1ab_0 -- pluggy=1.5.0=pyhd8ed1ab_0 -- ply=3.11=pyhd8ed1ab_2 -- poppler=24.04.0=hb6cd0d7_0 -- poppler-data=0.4.12=hd8ed1ab_0 -- postgresql=16.2=h82ecc9d_1 -- powerplantmatching=0.5.14=pyhd8ed1ab_0 -- pre-commit=3.7.0=pyha770c72_0 -- progressbar2=4.4.2=pyhd8ed1ab_0 -- proj=9.4.0=h1d62c97_1 -- prompt-toolkit=3.0.42=pyha770c72_0 -- psutil=5.9.8=py311h459d7ec_0 -- pthread-stubs=0.4=h36c2ea0_1001 -- ptyprocess=0.7.0=pyhd3deb0d_0 -- pulp=2.8.0=py311h38be061_0 -- pulseaudio-client=17.0=hb77b528_0 -- pure_eval=0.2.2=pyhd8ed1ab_0 -- py-cpuinfo=9.0.0=pyhd8ed1ab_0 -- pyarrow=15.0.2=py311hd5e4297_6_cpu -- pyarrow-hotfix=0.6=pyhd8ed1ab_0 -- pycountry=22.3.5=pyhd8ed1ab_0 -- pycparser=2.22=pyhd8ed1ab_0 -- pygments=2.17.2=pyhd8ed1ab_0 -- pyomo=6.6.1=py311hb755f60_0 -- pyparsing=3.1.2=pyhd8ed1ab_0 -- pyproj=3.6.1=py311hb3a3e68_6 -- pypsa=0.27.1=pyhd8ed1ab_0 -- pyqt=5.15.9=py311hf0fb5b6_5 -- pyqt5-sip=12.12.2=py311hb755f60_5 -- pyscipopt=5.0.1=py311hb755f60_0 -- pyshp=2.3.1=pyhd8ed1ab_0 -- pysocks=1.7.1=pyha2e5f31_6 -- pytables=3.9.2=py311h3e8b7c9_2 -- pytest=8.2.0=pyhd8ed1ab_0 -- python=3.11.9=hb806964_0_cpython -- python-dateutil=2.9.0=pyhd8ed1ab_0 -- python-fastjsonschema=2.19.1=pyhd8ed1ab_0 -- python-tzdata=2024.1=pyhd8ed1ab_0 -- python-utils=3.8.2=pyhd8ed1ab_0 -- python_abi=3.11=4_cp311 -- pytz=2024.1=pyhd8ed1ab_0 -- pyxlsb=1.0.10=pyhd8ed1ab_0 -- pyyaml=6.0.1=py311h459d7ec_1 -- qt-main=5.15.8=hc9dc06e_21 -- rasterio=1.3.10=py311h375a7ea_0 -- rdma-core=51.0=hd3aeb46_0 -- re2=2023.09.01=h7f4b329_2 -- readline=8.2=h8228510_1 -- referencing=0.35.1=pyhd8ed1ab_0 -- requests=2.31.0=pyhd8ed1ab_0 -- reretry=0.11.8=pyhd8ed1ab_0 -- rioxarray=0.15.5=pyhd8ed1ab_0 -- rpds-py=0.18.0=py311h46250e7_0 -- rtree=1.2.0=py311h3bb2b0f_0 -- s2n=1.4.12=h06160fa_0 -- scikit-learn=1.4.2=py311hc009520_0 -- scip=9.0.0=hded5f35_4 -- scipy=1.13.0=py311h64a7726_0 -- scotch=7.0.4=h23d43cc_1 -- seaborn=0.13.2=hd8ed1ab_2 -- seaborn-base=0.13.2=pyhd8ed1ab_2 -- setuptools=69.5.1=pyhd8ed1ab_0 -- setuptools-scm=8.0.4=pyhd8ed1ab_1 -- setuptools_scm=8.0.4=hd8ed1ab_1 -- shapely=2.0.4=py311h2032efe_0 -- sip=6.7.12=py311hb755f60_0 -- six=1.16.0=pyh6c4a22f_0 -- smart_open=7.0.4=pyhd8ed1ab_0 -- smmap=5.0.0=pyhd8ed1ab_0 -- snakemake-interface-common=1.17.2=pyhdfd78af_0 -- snakemake-interface-executor-plugins=9.1.1=pyhdfd78af_0 -- snakemake-interface-report-plugins=1.0.0=pyhdfd78af_0 -- snakemake-interface-storage-plugins=3.2.2=pyhdfd78af_0 -- snakemake-minimal=8.11.1=pyhdfd78af_0 -- snappy=1.2.0=hdb0a2a9_1 -- snuggs=1.4.7=py_0 -- sortedcontainers=2.4.0=pyhd8ed1ab_0 -- soupsieve=2.5=pyhd8ed1ab_1 -- spdlog=1.13.0=hd2e6256_0 -- sqlite=3.45.3=h2c6b66d_0 -- stack_data=0.6.2=pyhd8ed1ab_0 -- statsmodels=0.14.1=py311h1f0f07a_0 -- stopit=1.1.2=py_0 -- tabula-py=2.7.0=py311h38be061_1 -- tabulate=0.9.0=pyhd8ed1ab_1 -- tbb=2021.11.0=h00ab1b0_1 -- tblib=3.0.0=pyhd8ed1ab_0 -- threadpoolctl=3.5.0=pyhc1e730c_0 -- throttler=1.2.2=pyhd8ed1ab_0 -- tiledb=2.22.0=h27f064a_3 -- tk=8.6.13=noxft_h4845f30_101 -- toml=0.10.2=pyhd8ed1ab_0 -- tomli=2.0.1=pyhd8ed1ab_0 -- toolz=0.12.1=pyhd8ed1ab_0 -- toposort=1.10=pyhd8ed1ab_0 -- tornado=6.4=py311h459d7ec_0 -- tqdm=4.66.2=pyhd8ed1ab_0 -- traitlets=5.14.3=pyhd8ed1ab_0 -- typing-extensions=4.11.0=hd8ed1ab_0 -- typing_extensions=4.11.0=pyha770c72_0 -- tzcode=2024a=h3f72095_0 -- tzdata=2024a=h0c530f3_0 -- ucx=1.15.0=ha691c75_8 -- ukkonen=1.0.1=py311h9547e67_4 -- unidecode=1.3.8=pyhd8ed1ab_0 -- unixodbc=2.3.12=h661eb56_0 -- uriparser=0.9.7=h59595ed_1 -- urllib3=2.2.1=pyhd8ed1ab_0 -- validators=0.28.1=pyhd8ed1ab_0 -- virtualenv=20.26.1=pyhd8ed1ab_0 -- wcwidth=0.2.13=pyhd8ed1ab_0 -- wheel=0.43.0=pyhd8ed1ab_1 -- wrapt=1.16.0=py311h459d7ec_0 -- xarray=2024.3.0=pyhd8ed1ab_0 -- xcb-util=0.4.0=hd590300_1 -- xcb-util-image=0.4.0=h8ee46fc_1 -- xcb-util-keysyms=0.4.0=h8ee46fc_1 -- xcb-util-renderutil=0.3.9=hd590300_1 -- xcb-util-wm=0.4.1=h8ee46fc_1 -- xerces-c=3.2.5=hac6953d_0 -- xkeyboard-config=2.41=hd590300_0 -- xlrd=2.0.1=pyhd8ed1ab_3 -- xorg-fixesproto=5.0=h7f98852_1002 -- xorg-inputproto=2.3.2=h7f98852_1002 -- xorg-kbproto=1.0.7=h7f98852_1002 -- xorg-libice=1.1.1=hd590300_0 -- xorg-libsm=1.2.4=h7391055_0 -- xorg-libx11=1.8.9=h8ee46fc_0 -- xorg-libxau=1.0.11=hd590300_0 -- xorg-libxdmcp=1.1.3=h7f98852_0 -- xorg-libxext=1.3.4=h0b41bf4_2 -- xorg-libxfixes=5.0.3=h7f98852_1004 -- xorg-libxi=1.7.10=h7f98852_0 -- xorg-libxrender=0.9.11=hd590300_0 -- xorg-libxt=1.3.0=hd590300_1 -- xorg-libxtst=1.2.3=h7f98852_1002 -- xorg-recordproto=1.14.2=h7f98852_1002 -- xorg-renderproto=0.11.1=h7f98852_1002 -- xorg-xextproto=7.3.0=h0b41bf4_1003 -- xorg-xf86vidmodeproto=2.3.1=h7f98852_1002 -- xorg-xproto=7.0.31=h7f98852_1007 -- xyzservices=2024.4.0=pyhd8ed1ab_0 -- xz=5.2.6=h166bdaf_0 -- yaml=0.2.5=h7f98852_2 -- yte=1.5.4=pyha770c72_0 -- zict=3.0.0=pyhd8ed1ab_0 -- zipp=3.17.0=pyhd8ed1ab_0 -- zlib=1.2.13=hd590300_5 -- zlib-ng=2.0.7=h0b41bf4_0 -- zstd=1.5.5=hfc55251_0 +- _libgcc_mutex=0.1 +- _openmp_mutex=4.5 +- affine=2.4.0 +- alsa-lib=1.2.11 +- ampl-mp=3.1.0 +- amply=0.1.6 +- appdirs=1.4.4 +- argparse-dataclass=2.0.0 +- asttokens=2.4.1 +- atk-1.0=2.38.0 +- atlite=0.2.12 +- attr=2.5.1 +- attrs=23.2.0 +- aws-c-auth=0.7.22 +- aws-c-cal=0.6.14 +- aws-c-common=0.9.19 +- aws-c-compression=0.2.18 +- aws-c-event-stream=0.4.2 +- aws-c-http=0.8.1 +- aws-c-io=0.14.8 +- aws-c-mqtt=0.10.4 +- aws-c-s3=0.5.9 +- aws-c-sdkutils=0.1.16 +- aws-checksums=0.1.18 +- aws-crt-cpp=0.26.9 +- aws-sdk-cpp=1.11.329 +- azure-core-cpp=1.11.1 +- azure-identity-cpp=1.6.0 +- azure-storage-blobs-cpp=12.10.0 +- azure-storage-common-cpp=12.5.0 +- beautifulsoup4=4.12.3 +- blosc=1.21.5 +- bokeh=3.4.1 +- bottleneck=1.3.8 +- branca=0.7.2 +- brotli=1.1.0 +- brotli-bin=1.1.0 +- brotli-python=1.1.0 +- bzip2=1.0.8 +- c-ares=1.28.1 +- c-blosc2=2.14.4 +- ca-certificates=2024.2.2 +- cads-api-client=1.0.3 +- cairo=1.18.0 +- cartopy=0.23.0 +- cdsapi=0.7.0 +- certifi=2024.2.2 +- cffi=1.16.0 +- cfgv=3.3.1 +- cfitsio=4.4.0 +- cftime=1.6.3 +- charset-normalizer=3.3.2 +- click=8.1.7 +- click-plugins=1.1.1 +- cligj=0.7.2 +- cloudpickle=3.0.0 +- coin-or-cbc=2.10.10 +- coin-or-cgl=0.60.7 +- coin-or-clp=1.17.8 +- coin-or-osi=0.108.10 +- coin-or-utils=2.11.11 +- coincbc=2.10.10 +- colorama=0.4.6 +- conda-inject=1.3.1 +- configargparse=1.7 +- connection_pool=0.0.3 +- contourpy=1.2.1 +- country_converter=1.2 +- cppad=20240000.4 +- cycler=0.12.1 +- cytoolz=0.12.3 +- dask=2024.5.1 +- dask-core=2024.5.1 +- dask-expr=1.1.1 +- datrie=0.8.2 +- dbus=1.13.6 +- decorator=5.1.1 +- deprecation=2.1.0 +- descartes=1.1.0 +- distlib=0.3.8 +- distributed=2024.5.1 +- distro=1.9.0 +- docutils=0.21.2 +- dpath=2.1.6 +- entsoe-py=0.6.7 +- et_xmlfile=1.1.0 +- exceptiongroup=1.2.0 +- executing=2.0.1 +- expat=2.6.2 +- filelock=3.14.0 +- fiona=1.9.6 +- fmt=10.2.1 +- folium=0.16.0 +- 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.2 +- fonts-conda-ecosystem=1 +- fonts-conda-forge=1 +- fonttools=4.52.1 +- freetype=2.12.1 +- freexl=2.0.0 +- fribidi=1.0.10 +- fsspec=2024.5.0 +- gdal=3.8.5 +- gdk-pixbuf=2.42.12 +- geographiclib=2.0 +- geojson-rewind=1.1.0 +- geopandas=0.14.4 +- geopandas-base=0.14.4 +- geopy=2.4.1 +- geos=3.12.1 +- geotiff=1.7.3 +- gettext=0.22.5 +- gettext-tools=0.22.5 +- gflags=2.2.2 +- giflib=5.2.2 +- gitdb=4.0.11 +- gitpython=3.1.43 +- glib=2.80.2 +- glib-tools=2.80.2 +- glog=0.7.0 +- glpk=5.0 +- gmp=6.3.0 +- graphite2=1.3.13 +- graphviz=11.0.0 +- gst-plugins-base=1.24.3 +- gstreamer=1.24.3 +- gtk2=2.24.33 +- gts=0.7.6 +- gurobi=11.0.2 +- harfbuzz=8.5.0 +- hdf4=4.2.15 +- hdf5=1.14.3 +- humanfriendly=10.0 +- icu=73.2 +- identify=2.5.36 +- idna=3.7 +- immutables=0.20 +- importlib-metadata=7.1.0 +- importlib_metadata=7.1.0 +- importlib_resources=6.4.0 +- iniconfig=2.0.0 +- ipopt=3.14.16 +- ipython=8.24.0 +- jedi=0.19.1 +- jinja2=3.1.4 +- joblib=1.4.2 +- json-c=0.17 +- jsonschema=4.22.0 +- jsonschema-specifications=2023.12.1 +- jupyter_core=5.7.2 +- kealib=1.5.3 +- keyutils=1.6.1 +- kiwisolver=1.4.5 +- krb5=1.21.2 +- lame=3.100 +- lcms2=2.16 +- ld_impl_linux-64=2.40 +- lerc=4.0.0 +- libabseil=20240116.2 +- libaec=1.1.3 +- libarchive=3.7.4 +- libarrow=16.1.0 +- libarrow-acero=16.1.0 +- libarrow-dataset=16.1.0 +- libarrow-substrait=16.1.0 +- libasprintf=0.22.5 +- libasprintf-devel=0.22.5 +- libblas=3.9.0 +- libboost-headers=1.85.0 +- libbrotlicommon=1.1.0 +- libbrotlidec=1.1.0 +- libbrotlienc=1.1.0 +- libcap=2.69 +- libcblas=3.9.0 +- libclang-cpp15=15.0.7 +- libclang13=18.1.5 +- libcrc32c=1.1.2 +- libcups=2.3.3 +- libcurl=8.8.0 +- libdeflate=1.20 +- libedit=3.1.20191231 +- libev=4.33 +- libevent=2.1.12 +- libexpat=2.6.2 +- libffi=3.4.2 +- libflac=1.4.3 +- libgcc-ng=13.2.0 +- libgcrypt=1.10.3 +- libgd=2.3.3 +- libgdal=3.8.5 +- libgettextpo=0.22.5 +- libgettextpo-devel=0.22.5 +- libgfortran-ng=13.2.0 +- libgfortran5=13.2.0 +- libglib=2.80.2 +- libgomp=13.2.0 +- libgoogle-cloud=2.24.0 +- libgoogle-cloud-storage=2.24.0 +- libgpg-error=1.49 +- libgrpc=1.62.2 +- libhwloc=2.9.3 +- libiconv=1.17 +- libjpeg-turbo=3.0.0 +- libkml=1.3.0 +- liblapack=3.9.0 +- liblapacke=3.9.0 +- libllvm15=15.0.7 +- libllvm18=18.1.6 +- libnetcdf=4.9.2 +- libnghttp2=1.58.0 +- libnsl=2.0.1 +- libogg=1.3.4 +- libopenblas=0.3.27 +- libopus=1.3.1 +- libparquet=16.1.0 +- libpng=1.6.43 +- libpq=16.3 +- libprotobuf=4.25.3 +- libre2-11=2023.09.01 +- librsvg=2.58.0 +- librttopo=1.1.0 +- libscotch=7.0.4 +- libsndfile=1.2.2 +- libspatialindex=1.9.3 +- libspatialite=5.1.0 +- libspral=2024.01.18 +- libsqlite=3.45.3 +- libssh2=1.11.0 +- libstdcxx-ng=13.2.0 +- libsystemd0=255 +- libthrift=0.19.0 +- libtiff=4.6.0 +- libutf8proc=2.8.0 +- libuuid=2.38.1 +- libvorbis=1.3.7 +- libwebp=1.4.0 +- libwebp-base=1.4.0 +- libxcb=1.15 +- libxcrypt=4.4.36 +- libxkbcommon=1.7.0 +- libxml2=2.12.7 +- libxslt=1.1.39 +- libzip=1.10.1 +- libzlib=1.2.13 +- linopy=0.3.9 +- locket=1.0.0 +- lxml=5.2.2 +- lz4=4.3.3 +- lz4-c=1.9.4 +- lzo=2.10 +- mapclassify=2.6.1 +- markupsafe=2.1.5 +- matplotlib=3.8.4 +- matplotlib-base=3.8.4 +- matplotlib-inline=0.1.7 +- memory_profiler=0.61.0 +- metis=5.1.0 +- minizip=4.0.5 +- mpfr=4.2.1 +- mpg123=1.32.6 +- msgpack-python=1.0.8 +- multiurl=0.3.1 +- mumps-include=5.7.1 +- mumps-seq=5.7.1 +- munkres=1.1.4 +- mysql-common=8.3.0 +- mysql-libs=8.3.0 +- nbformat=5.10.4 +- ncurses=6.5 +- netcdf4=1.6.5 +- networkx=3.3 +- nodeenv=1.8.0 +- nomkl=1.0 +- nspr=4.35 +- nss=3.100 +- numexpr=2.9.0 +- numpy=1.26.4 +- openjdk=22.0.1 +- openjpeg=2.5.2 +- openpyxl=3.1.2 +- openssl=3.3.0 +- orc=2.0.1 +- packaging=24.0 +- pandas=2.2.2 +- pango=1.52.2 +- parso=0.8.4 +- partd=1.4.2 +- patsy=0.5.6 +- pcre2=10.43 +- pexpect=4.9.0 +- pickleshare=0.7.5 +- pillow=10.3.0 +- pip=24.0 +- pixman=0.43.2 +- pkgutil-resolve-name=1.3.10 +- plac=1.4.3 +- platformdirs=4.2.2 +- pluggy=1.5.0 +- ply=3.11 +- poppler=24.04.0 +- poppler-data=0.4.12 +- postgresql=16.3 +- powerplantmatching=0.5.15 +- pre-commit=3.7.1 +- progressbar2=4.4.2 +- proj=9.4.0 +- prompt-toolkit=3.0.42 +- psutil=5.9.8 +- pthread-stubs=0.4 +- ptyprocess=0.7.0 +- pulp=2.8.0 +- pulseaudio-client=17.0 +- pure_eval=0.2.2 +- py-cpuinfo=9.0.0 +- pyarrow=16.1.0 +- pyarrow-core=16.1.0 +- pyarrow-hotfix=0.6 +- pycountry=22.3.5 +- pycparser=2.22 +- pygments=2.18.0 +- pyomo=6.6.1 +- pyparsing=3.1.2 +- pyproj=3.6.1 +- pypsa=0.28.0 +- pyqt=5.15.9 +- pyqt5-sip=12.12.2 +- pyscipopt=5.0.1 +- pyshp=2.3.1 +- pysocks=1.7.1 +- pytables=3.9.2 +- pytest=8.2.1 +- python=3.11.9 +- python-dateutil=2.9.0 +- python-fastjsonschema=2.19.1 +- python-tzdata=2024.1 +- python-utils=3.8.2 +- python_abi=3.11 +- pytz=2024.1 +- pyxlsb=1.0.10 +- pyyaml=6.0.1 +- qt-main=5.15.8 +- rasterio=1.3.10 +- re2=2023.09.01 +- readline=8.2 +- referencing=0.35.1 +- requests=2.32.2 +- reretry=0.11.8 +- rioxarray=0.15.5 +- rpds-py=0.18.1 +- rtree=1.2.0 +- s2n=1.4.15 +- scikit-learn=1.5.0 +- scip=9.0.1 +- scipy=1.13.1 +- scotch=7.0.4 +- seaborn=0.13.2 +- seaborn-base=0.13.2 +- setuptools=70.0.0 +- setuptools-scm=8.1.0 +- setuptools_scm=8.1.0 +- shapely=2.0.4 +- sip=6.7.12 +- six=1.16.0 +- smart_open=7.0.4 +- smmap=5.0.0 +- snakemake-interface-common=1.17.2 +- snakemake-interface-executor-plugins=9.1.1 +- snakemake-interface-report-plugins=1.0.0 +- snakemake-interface-storage-plugins=3.2.2 +- snakemake-minimal=8.11.6 +- snappy=1.2.0 +- snuggs=1.4.7 +- sortedcontainers=2.4.0 +- soupsieve=2.5 +- spdlog=1.13.0 +- sqlite=3.45.3 +- stack_data=0.6.2 +- statsmodels=0.14.2 +- stopit=1.1.2 +- tabula-py=2.7.0 +- tabulate=0.9.0 +- tbb=2021.11.0 +- tblib=3.0.0 +- threadpoolctl=3.5.0 +- throttler=1.2.2 +- tiledb=2.23.0 +- tk=8.6.13 +- toml=0.10.2 +- tomli=2.0.1 +- toolz=0.12.1 +- toposort=1.10 +- tornado=6.4 +- tqdm=4.66.4 +- traitlets=5.14.3 +- typing-extensions=4.11.0 +- typing_extensions=4.11.0 +- tzcode=2024a +- tzdata=2024a +- ukkonen=1.0.1 +- unidecode=1.3.8 +- unixodbc=2.3.12 +- uriparser=0.9.8 +- urllib3=2.2.1 +- validators=0.28.2 +- virtualenv=20.26.2 +- wcwidth=0.2.13 +- wheel=0.43.0 +- wrapt=1.16.0 +- xarray=2024.5.0 +- xcb-util=0.4.0 +- xcb-util-image=0.4.0 +- xcb-util-keysyms=0.4.0 +- xcb-util-renderutil=0.3.9 +- xcb-util-wm=0.4.1 +- xerces-c=3.2.5 +- xkeyboard-config=2.41 +- xlrd=2.0.1 +- xorg-fixesproto=5.0 +- xorg-inputproto=2.3.2 +- xorg-kbproto=1.0.7 +- xorg-libice=1.1.1 +- xorg-libsm=1.2.4 +- xorg-libx11=1.8.9 +- xorg-libxau=1.0.11 +- xorg-libxdmcp=1.1.3 +- xorg-libxext=1.3.4 +- xorg-libxfixes=5.0.3 +- xorg-libxi=1.7.10 +- xorg-libxrender=0.9.11 +- xorg-libxt=1.3.0 +- xorg-libxtst=1.2.3 +- xorg-recordproto=1.14.2 +- xorg-renderproto=0.11.1 +- xorg-xextproto=7.3.0 +- xorg-xf86vidmodeproto=2.3.1 +- xorg-xproto=7.0.31 +- xyzservices=2024.4.0 +- xz=5.2.6 +- yaml=0.2.5 +- yte=1.5.4 +- zict=3.0.0 +- zipp=3.17.0 +- zlib=1.2.13 +- zlib-ng=2.0.7 +- zstd=1.5.6 - pip: - highspy==1.5.3 - oauthlib==3.2.2 - requests-oauthlib==1.3.1 - snakemake-executor-plugin-cluster-generic==1.0.9 - - snakemake-executor-plugin-slurm==0.4.5 + - snakemake-executor-plugin-slurm==0.5.1 - snakemake-executor-plugin-slurm-jobstep==0.2.1 - snakemake-storage-plugin-http==0.2.3 - tsam==2.3.1