Commit Graph

2271 Commits

Author SHA1 Message Date
Fabian Neumann
db7c983950 mock_snakemake: remove dangeours empty list as default argument 2024-02-17 18:14:18 +01:00
Fabian Neumann
709b831e06 further adjustments where config_provider needs to be called 2024-02-17 17:51:26 +01:00
Fabian Neumann
35b2228891 Merge branch 'wc-to-cf' into scenario-management 2024-02-17 17:16:28 +01:00
Fabian Neumann
d2a66879de Merge branch 'master' into scenario-management 2024-02-17 17:04:36 +01:00
Fabian Neumann
dd2416a59e handle all {opts} and {sector_opts} wildcard values in config 2024-02-17 11:57:16 +01:00
Fabian Neumann
7f1ff0c324 Fix plotting of retrofitted hydrogen pipelines with pathway optimisation. 2024-02-16 16:41:21 +01:00
Fabian Neumann
27f9fb8cba add back in to_csv export (accidentally deleted) 2024-02-16 16:18:31 +01:00
Fabian Neumann
77753fff0d Merge branch 'master' into industry-pathway 2024-02-16 15:31:54 +01:00
Fabian Neumann
8ae0669b33 Revert "add_electricity: set locations and units of electricity buses"
This reverts commit 472a099881.
2024-02-16 15:31:17 +01:00
Fabian Neumann
e9174d4f14
Merge branch 'master' into industry-pathway 2024-02-16 15:15:27 +01:00
Fabian Neumann
93bb4e5f54 add release note, simplify build_industry_sector_ratios_intermediate script 2024-02-16 15:14:18 +01:00
Fabian Neumann
472a099881 add_electricity: set locations and units of electricity buses 2024-02-16 13:30:52 +01:00
Fabian Neumann
4d4badc519 Merge branch 'master' into industry-pathway 2024-02-16 13:01:40 +01:00
Fabian Neumann
6a8ae68aec Merge branch 'industry-coal-bug' 2024-02-16 12:47:34 +01:00
Fabian Neumann
6bedca13c4
Merge branch 'master' into cl-meoh-unit 2024-02-16 12:40:29 +01:00
Fabian Neumann
84fc63d7a1
Merge branch 'master' into ammonia 2024-02-16 12:14:00 +01:00
Fabian Neumann
67484f9cf0 remove numpy import, add release ntoe 2024-02-16 12:13:35 +01:00
Fabian Neumann
16e42c8fe6 further progress and bugfixes 2024-02-16 11:17:00 +01:00
pre-commit-ci[bot]
4fa504b0db [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-02-14 17:32:24 +00:00
pre-commit-ci[bot]
b45df1724b [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-02-14 17:31:52 +00:00
Tom Brown
e14bae345b new script to interpolate industry sector ratios today to tomorrow
For each country we gradually switch industry processes from today's
specific energy carrier usage per ton material output to the
best-in-class energy consumption of tomorrow in the
industry_sector_ratios.csv.

This is done on a per-country basis. The ratio of today to tomorrow's
energy consumption is set with the
config["industry"]["sector_ratios_fraction_future"] parameter.
2024-02-14 18:29:56 +01:00
Tom Brown
7f3ad792a9 use production to determine today's energy demand for basic chemicals
This uniformises how demand for basic chemicals is calculated.

We also avoid unnecessary use of ammonia production separately.
2024-02-14 18:29:50 +01:00
Tom Brown
cc57952402 industrial prod: use EU28 total for denominator for distribution key
This makes sure the distribution key is correct when only subsets of
countries are used. This is then consistent with the HVC, MeOH and Cl
totals being EU28 totals.

Without this change, industry production is overestimated when using
subsets of countries.

Or the user has to adjust the totals for industrial production
themselves.
2024-02-14 18:29:43 +01:00
Tom Brown
cbf7ed0d38 for today's industry energy demand, separate MeOH, Cl and HVC
I.e. split basic chemicals (without ammonia) into MeOH, Cl and HVC.

This now agrees with scheme for industrial sectors tomorrow.
2024-02-14 18:29:36 +01:00
Tom Brown
c54626cc1a bugfix: correct units of subtracted chlorine and methanol
in build_industry_sector_ratios.py. In the config the units are Mt/a,
they are multiplied by MWh/t, but what is desired is GWh/a.
2024-02-14 18:29:02 +01:00
Tom Brown
ecedea02d6 bugfix: include all countries in ammonia production resource
This is so that the full EU28 ammonia demand can be correctly
subtracted in the build_industry_sector_ratios.py script.

No other downstream scripts are affected by this change.
2024-02-14 18:28:22 +01:00
Martha Frysztacki
234f2f247c
Merge branch 'master' into bus-regions 2024-02-14 17:05:43 +01:00
pre-commit-ci[bot]
78b184ad0f [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-02-12 15:57:49 +00:00
Fabian Neumann
c83db4e84e add retrieve_cost_data.py script to handle config_provider and move to resources
since dependent on config setting
2024-02-12 16:54:33 +01:00
pre-commit-ci[bot]
e0b6ebd174 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-02-12 10:54:15 +00:00
Fabian Neumann
40b27b4107 use set_scenario_config everywhere 2024-02-12 11:53:20 +01:00
Fabian Neumann
bb7b65eebd move create_scenarios.py to config directory 2024-02-12 11:52:07 +01:00
Fabian Neumann
6b013dbd40 Merge branch 'master' into scenario-management 2024-02-12 10:59:37 +01:00
Fabian Neumann
09ada56bf1 finishing touches and release notes 2024-02-12 10:49:45 +01:00
Fabian Neumann
49171901d7 selective cherry-pick from 91eff472a7 2024-02-12 10:12:03 +01:00
Fabian
94f72d7276 electricity demand: remove powerstastics flag, merge sources in retrieve_electricity_demand 2024-02-12 10:08:39 +01:00
Fabian
2bd8021058 retrieve electricity demand: make online version snakemake params 2024-02-12 09:48:42 +01:00
Fabian
5c7bbcd94d retrieve electricity demand: use script in order to concat time-series 2024-02-12 09:48:28 +01:00
pre-commit-ci[bot]
17105b8125 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-02-10 18:18:00 +00:00
Tom Brown
8781e69066 bugfix: coal emissions for industry weren't tracked
Also allow industrial coal demand to be regional (so we can include
them in regional CO2 constraints).
2024-02-10 19:17:06 +01:00
pre-commit-ci[bot]
e838b63ded [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-02-10 16:22:38 +00:00
Fabian Neumann
6de08bd523 Merge branch 'master' into scenario-management 2024-02-10 17:22:01 +01:00
Fabian Neumann
cbb3ab36a6
Merge pull request #920 from PyPSA/env-versions
update version compatibility handling
2024-02-09 17:00:11 +01:00
Fabian Neumann
201d0ddcfe build_shapes: handle europe_shape multipolygon with shapely>=2 (closes #852) 2024-02-09 15:48:54 +01:00
Fabian Neumann
4b6199de42 create a bus for every unique coordinate, not only substations (closes #699) 2024-02-09 15:43:27 +01:00
Fabian Neumann
3691f9f4c1 update version compatibility handling 2024-02-09 13:59:15 +01:00
Tom Brown
92d00a0c83 add new default to overdimension heating in individual buildings
This allows them to cover heat demand peaks e.g. 10% higher than
those in the data.

The disadvantage of manipulating the costs is that the capacity is
then not quite right. This way at least the costs are right.

Doing it properly would require introducing artificial peaks, but this
creates new problems (e.g. what is going on with wind/solar/other
demand).
2024-02-07 17:18:04 +01:00
Tom Brown
6d94439bbb for existing heating use new default_heating_lifetime
This is because old costs default (25) is longer than all heating
technologies (20). Script was distributing across 25 years, then
throwing out boilers older than 20 years, an inconsistent
behaviour.

Now existing boilers are smoothly distributed across 20 years.
2024-02-07 17:15:37 +01:00
Fabian Neumann
d7f3f16a9b autoformat 2024-02-07 17:15:08 +01:00
Tom Brown
f38681f134 correctly source the existing heating technologies for buildings
The source URL has changed. It represents the year 2012 and is only
for buildings, not district heating. So the capacities for urban
central are now set to zero from this source.
2024-02-07 17:13:53 +01:00
Fabian Neumann
0ded96c405
Merge pull request #916 from koen-vg/pandas-dep-fixes
Pandas deprecation fixes
2024-02-07 11:13:28 +01:00
Fabian Neumann
bf07300010 add_electricity: Remove long-deprecated function attach_extendable_generators 2024-02-07 11:03:48 +01:00
Koen van Greevenbroek
c3d3b5f415 Fixes to calculated_weighted_prices 2024-02-07 10:55:44 +01:00
Fabian Neumann
e8df321a24 Merge branch 'fneum/year-specific-techs' of github.com:PyPSA/pypsa-eur into fneum/year-specific-techs 2024-02-06 18:39:06 +01:00
Fabian Neumann
c8e1829880 fix to backwards compatibility with old profile_{tech}.nc files 2024-02-06 18:38:53 +01:00
Fabian Neumann
602375af8c
Merge branch 'master' into fneum/year-specific-techs 2024-02-06 13:56:14 +01:00
Fabian Neumann
ba409c2f1e backwards compatibility with old profile_{tech}.nc files 2024-02-06 13:55:51 +01:00
Koen van Greevenbroek
1f482f3c92 Revert mistaken deprecation "fix" 2024-02-06 11:45:20 +01:00
Koen van Greevenbroek
73b80ebab3 Address pandas deprecation warnings in prepare_perfect_foresight 2024-02-06 10:50:52 +01:00
Koen van Greevenbroek
7fbb605134 Address FutureWarnings in make_summary_perfect related to groupby 2024-02-06 10:50:29 +01:00
Fabian
2a01ed3d48 prepare_sector: add description of eu bus 2024-02-05 19:15:55 +01:00
Fabian Hofmann
32451f6ca8
Update scripts/prepare_sector_network.py
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2024-02-05 19:13:42 +01:00
Fabian
76872fa0f1 add sanitize_locations function and apply it
address some deprecation warnings
2024-02-05 16:16:34 +01:00
Fabian Neumann
7e2ad98011
Merge pull request #901 from PyPSA/dac-location-consistency
prepare_sector_network: reorder buses for dac components
2024-02-05 12:19:21 +01:00
Fabian Neumann
f0ec1d6716
Merge branch 'master' into perfect-foresight-fixes 2024-02-05 12:18:53 +01:00
Fabian Neumann
a834ff222a streamline code for year-dependent technologies (turbines/panels) 2024-02-05 12:10:35 +01:00
Fabian Neumann
bb4eb123e5 Merge branch 'year-specific-techs' of github.com:p-glaum/pypsa-eur into p-glaum-year-specific-techs 2024-02-05 09:06:32 +01:00
Fabian Neumann
5b71979547
Merge branch 'master' into dac-location-consistency 2024-02-05 08:50:33 +01:00
Fabian Neumann
a49ed458ef
Merge branch 'master' into perfect-foresight-fixes 2024-02-05 08:45:25 +01:00
Fabian Neumann
3db6a65c04
Merge branch 'master' into encapsulate-resource-dir 2024-02-05 08:21:49 +01:00
Fabian Neumann
3c6714ae72
Merge pull request #908 from PyPSA/revert_kernnetz
deleted code to include kernnetz as it is no longer needed
2024-02-05 08:07:52 +01:00
Koen van Greevenbroek
0006f6e5a9 Fix gas input for existing heat gas boilers 2024-02-02 13:27:19 +01:00
Koen van Greevenbroek
b67e800da9 Simplify concat of static components in prepare_perfect_forsight 2024-02-02 08:49:29 +01:00
Koen van Greevenbroek
de384c7cf6 Correctly carry over time-varying data between investment periods
Previously, time-varying data in each "next" investment period was set
to the default values, implying capacity factors of 1 for renewable
generators for example.
2024-02-02 08:49:29 +01:00
JulianGeis
550e6f0794 deleted code to include kernnetz as it is no longer needed 2024-02-01 14:23:04 +01:00
Fabian
46d8ce8f1f address deprecation warnings 2024-01-31 17:10:08 +01:00
Fabian
0f80e2d089 plot: fix params and groupby deprecation warning 2024-01-31 17:07:01 +01:00
Fabian Hofmann
9c558a3e46
Update scripts/cluster_network.py
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2024-01-30 17:37:44 +01:00
Fabian Neumann
66592b9e58
Merge branch 'master' into dac-location-consistency 2024-01-30 17:11:48 +01:00
Fabian Hofmann
3d946e62c7
Merge branch 'master' into cluster-network-replace-pyomo 2024-01-30 11:18:16 +01:00
Fabian
56b22a3b4e env: correct pyscipopt dependency
cluster_network: address deprecation warning
2024-01-30 10:29:08 +01:00
pre-commit-ci[bot]
d2f2d4ab0b [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-29 18:31:05 +00:00
Fabian
ca1628a585 cluster_network: tidy up 2024-01-29 12:22:42 +01:00
Fabian
81e7c4eb67 remove pyomo dependency in cluster network, use scip as OS solver 2024-01-29 12:08:56 +01:00
Fabian
7b0356803f prepare_sector: adjust DAC costs 2024-01-29 09:01:08 +01:00
Fabian Hofmann
8251323696
Merge branch 'master' into dac-location-consistency 2024-01-26 23:22:21 +01:00
Fabian
ae1b83121d prepare_sector: fix dac co2 input/output efficiencies 2024-01-26 23:20:03 +01:00
Fabian Neumann
b43088ea49
Merge branch 'master' into split-plotting-rules 2024-01-26 17:10:21 +01:00
Fabian Neumann
15a581751b
Merge pull request #884 from PyPSA/fneum/ariadne2
Merge recent ariadne advancements
2024-01-26 16:54:50 +01:00
Fabian Neumann
b73c614f5b plot_gas_network: save max usage calculation 2024-01-26 16:39:03 +01:00
Fabian
ae825d82dc prepare_sector_network: reorder buses for dac components 2024-01-26 12:10:39 +01:00
Fabian Neumann
7becfdea9c resolve merge conflict 2024-01-25 20:51:51 +01:00
pre-commit-ci[bot]
5fcfafe971 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-25 19:50:06 +00:00
Fabian Neumann
a2cd042472 plot clustered network topology before optimisation 2024-01-25 20:48:38 +01:00
pre-commit-ci[bot]
30ccde5b90 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-25 19:39:09 +00:00
Fabian Neumann
ffd4e1f1af plot_network: split into separate scripts for power, hydrogen, gas 2024-01-25 20:34:59 +01:00
Fabian Neumann
ce4d18c861 remove plot_series() leftovers 2024-01-25 17:32:17 +01:00
Fabian Neumann
46a2f55c1b plot_network: remove function plot_series()
This function is superseded by plot_balance_timeseries rule.
2024-01-25 17:29:23 +01:00
Fabian Neumann
bb202ad2c4 plot_network: remove function plot_map_without() 2024-01-25 17:28:33 +01:00
Fabian Neumann
c4b305bfbe
Merge branch 'master' into fneum/ariadne2 2024-01-25 16:52:46 +01:00
Tom Brown
20f39971f7 solve_network: make sure infeasibilities are printed properly
Without this formatting, there is an error adding a string to a list.
2024-01-25 16:49:00 +01:00
Koen van Greevenbroek
03c914bef1 Make projection selection flexible by reading directly from config 2024-01-25 14:34:03 +01:00
Koen van Greevenbroek
9aa154bd04 Add several map projection options 2024-01-25 10:44:24 +01:00
Fabian Neumann
b0c9121b78
Merge branch 'master' into io-api-option 2024-01-24 16:16:20 +01:00
Koen van Greevenbroek
d8d3b2f2ab Fix plotting: compatibility with 4th link port 2024-01-24 15:48:33 +01:00
Koen van Greevenbroek
3e32dbccb5 Add support for the linopy io_api option 2024-01-24 11:23:56 +01:00
Fabian Neumann
2bee36be87 follow-up to #891: remove remaining solar+p3 references 2024-01-24 10:17:26 +01:00
pre-commit-ci[bot]
bdc36dc5da [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-23 17:43:04 +00:00
Fabian Neumann
2d12f7ddd0 add air-sourced heat pumps to rural areas 2024-01-23 18:41:52 +01:00
Fabian Neumann
a9ac68b50e bugfix: correct way to identify if entry is in snakemake.input 2024-01-22 14:31:35 +01:00
Fabian Neumann
a2315c289e cluster_gas_network: generalise so it can be used elsewhere 2024-01-22 14:31:10 +01:00
pre-commit-ci[bot]
025f48c0c2 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-22 09:11:09 +00:00
Fabian Neumann
fd57311094 build_district_heat_share: make safe for single-country runs 2024-01-22 10:10:40 +01:00
Fabian Neumann
9865a97089 apply automated formatting 2024-01-22 09:29:32 +01:00
Fabian Neumann
2183e742b2 add release notes, minor code improvements 2024-01-22 09:18:26 +01:00
Tom Brown
d98ad95332 move building of distribution of existing heating to own script
This makes the distribution of existing heating to urban/rural,
residential/services and spatially more transparent.
2024-01-22 08:01:31 +01:00
Tom Brown
9897cd6f05 only add district heating (DH) for nodes with non-zero DH share 2024-01-22 08:01:31 +01:00
Tom Brown
1a477d6b32 move calculation of district heating share to its own script
Now the script build_district_heat_share.py does what the old function
create_nodes_for_heating() in prepare_sector_networks.py did.

There is no need to build nodes lists for each heating sector, since
all nodes have district heating now.
2024-01-22 08:01:31 +01:00
Tom Brown
bd8a5ecf2b build_energy_totals: output district heat share to separate file 2024-01-22 08:01:31 +01:00
Tom Brown
6c20ce83d7 move building of daily heat profile to its own script
Previously this was handled inside prepare_sector_network.py.
2024-01-22 08:01:31 +01:00
Tom Brown
fbff32dcfc build_pop_weighted_energy: don't reduce district heat share
Previously the DH share was being multiplied by the population
weighting, reducing the DH share with multiple nodes.
2024-01-22 08:01:31 +01:00
Fabian
d0cb57e9ab make_summary_perfect: reinsert calclulate_<> functions 2024-01-19 12:37:07 +01:00
Fabian
1ffb28b3fc helpers: parse: fix docstring and take original implementation 2024-01-19 12:23:29 +01:00
Fabian
025688bf70 refactor and fix remaining linting problems 2024-01-19 12:17:45 +01:00
Fabian
b1d21813af fix import order 2024-01-19 12:17:45 +01:00
Fabian
f876d78ed4 fix linting: run ruff 2024-01-19 12:17:45 +01:00
Fabian Neumann
195966af45
Merge pull request #871 from PyPSA/feature_kernnetz
wasserstoff kernnetz
2024-01-19 10:51:17 +01:00
Julian Geis
128e1afc00
Update scripts/prepare_sector_network.py
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2024-01-19 10:01:11 +01:00
Julian Geis
9c56c1e929
Update scripts/prepare_sector_network.py
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2024-01-19 09:57:26 +01:00
Julian Geis
88ba4af9ad
Update scripts/prepare_sector_network.py
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2024-01-19 09:56:52 +01:00
Fabian Neumann
85ecb1355a
Merge pull request #861 from PyPSA/fix_clustering
fix clustering bug due to missing countries in n.buses
2024-01-18 19:34:59 +01:00
Fabian Neumann
b0e23652cd
Merge branch 'master' into reformulate-co2-constraint 2024-01-18 19:34:27 +01:00
Fabian Neumann
6d2f2ccec7
Merge pull request #878 from Tomkourou/fix-validation-plots
🐛 fix key_error in validation plots
2024-01-18 18:26:03 +01:00
Fabian Neumann
c0c6ce56e6
Merge branch 'master' into fix_clustering 2024-01-18 18:22:43 +01:00
Fabian Neumann
498f3bffad
Update scripts/base_network.py
Co-authored-by: Fabian Hofmann <fab.hof@gmx.de>
2024-01-18 18:22:21 +01:00
Fabian Neumann
948bf3ba55
Merge pull request #873 from PyPSA/duplicate-labels-H2-storage
group storage with duplicate labels
2024-01-18 18:18:56 +01:00
Thomas Kouroughli
7c23ef08c5 🐛 fix key_error in validation plots 2024-01-18 17:04:22 +00:00
pre-commit-ci[bot]
35f1c06f75 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-18 13:18:28 +00:00
euronion
ecb0a1f79f Log unhandled exceptions stacktraces in log files 2024-01-18 14:12:17 +01:00
Michael Lindner
dd8db719ac revert accidental changes 2024-01-18 13:53:59 +01:00
JulianGeis
8fe0608f89 Merge remote-tracking branch 'origin/master' into feature_kernnetz 2024-01-18 11:24:02 +01:00
Fabian Hofmann
2a82afb154
Merge branch 'master' into duplicate-labels-H2-storage 2024-01-17 22:21:40 +01:00
pre-commit-ci[bot]
213c4b025e [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-17 17:29:47 +00:00
Michael Lindner
fec871c1cc eliminate a few future warnings 2024-01-17 18:28:37 +01:00
pre-commit-ci[bot]
e07f0e5c2b [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-17 16:09:39 +00:00
Michael Lindner
4cfb06c55f group storage with duplicate labels 2024-01-17 17:07:19 +01:00
pre-commit-ci[bot]
aaa587d34f [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-17 13:51:05 +00:00
Thomas Kouroughli
228ff44f75 ♻️ address pandas FutureWarning 2024-01-17 13:50:32 +00:00
pre-commit-ci[bot]
446b0b3722 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-17 10:36:15 +00:00
JulianGeis
ec4e9aa548 wasserstoff kernnetz 2024-01-17 11:23:29 +01:00