Commit Graph

539 Commits

Author SHA1 Message Date
Iegor Riepin
53ad90095a
Update scripts/prepare_sector_network.py
sync it up to Fabian's feeling of useful things

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2022-06-30 17:17:12 +02:00
Iegor Riepin
eddeb227a7
Update scripts/prepare_sector_network.py
code style update

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2022-06-30 17:15:41 +02:00
Fabian Neumann
3134bbb5c5 remove accidental file additions 2022-06-30 08:43:46 +02:00
Fabian Neumann
b96207c73e store config and wildcards in n.meta 2022-06-30 08:42:18 +02:00
lisazeyen
b4d0a8404c change unit from carrier gas from MWh_th -> MWh_LHV 2022-06-29 08:57:08 +02:00
Irieo
7604bb1654 Document units of bus carriers 2022-06-28 18:31:45 +02:00
Fabian Neumann
a8171ec9f3 color adaptations, new features 2022-06-28 18:03:29 +02:00
Fabian Neumann
20e1fb40fb update mock_snakemake for new snakemake versions 2022-06-28 17:18:09 +02:00
Fabian Neumann
8b134405dd
Merge pull request #243 from ebbekyhl/Coal-carbon-capture
Add coal with carbon capture
2022-06-28 14:04:31 +02:00
Ebbe Kyhl
e9f2d65cda
Indent by two layers 2022-06-28 13:35:44 +02:00
Ebbe Kyhl
5ae56cca7c
Apply suggestions from code review
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2022-06-27 18:06:59 +02:00
Fabian Neumann
2d2f5ba409
Merge pull request #238 from PyPSA/config-export
copy_config: copy actual snakemake.config
2022-06-23 17:19:08 +02:00
Fabian Neumann
2037534557 prepare: only add ammonia to spatial if config selected 2022-06-23 15:24:44 +02:00
Fabian Neumann
9f91af28e7 fix syntax errors 2022-06-23 15:17:41 +02:00
Fabian Neumann
37c052667a handle absent ammonia config flag 2022-06-22 15:50:32 +02:00
Ebbe Kyhl
2a3b576cbd Add coal with carbon capture 2022-06-14 15:00:53 +02:00
Fabian Neumann
4ecfccea6c handle ammonia demand both regionalised and copperplated 2022-06-10 17:07:48 +02:00
Fabian Neumann
27ac40d2ea use spatial namespace to manage ammonia resolution 2022-06-10 16:56:00 +02:00
Fabian Neumann
a2a4cf7c02 use config to manage conversion efficiencies 2022-06-10 16:43:29 +02:00
Fabian Neumann
2d562c1349 add coloring for ammonia 2022-06-10 14:57:03 +02:00
Fabian Neumann
6cfee1f98a add ammonia as carrier: with Haber-Bosch, crackers, store, load 2022-06-10 14:46:39 +02:00
Fabian Neumann
b025622edf fix agriculture machinery oil load with spatial.oil.nodes 2022-06-03 14:29:23 +02:00
lisazeyen
dc997c6ff2
Update build_population_weighted_energy_totals.py
adjust mocksnakemake
2022-05-02 18:19:59 +02:00
Fabian Neumann
361100bfab Merge branch 'master' into transport 2022-05-02 10:28:43 +02:00
Fabian Neumann
cdd56288ff fix EU bus location with new config setting 2022-04-12 16:21:09 +02:00
Fabian Neumann
c5ca8f4c20 fix: squeeze IDEES dataframe at correct location 2022-04-12 16:11:06 +02:00
Fabian Neumann
c54b4f9920 copy_config: copy actual snakemake.config 2022-04-12 15:16:05 +02:00
Fabian Neumann
d4fd472762
Merge branch 'master' into transport 2022-04-12 14:48:57 +02:00
Fabian Neumann
d4a82a2a41
Merge pull request #217 from PyPSA/myopic-fix
Myopic fix
2022-04-12 14:47:22 +02:00
Fabian Neumann
1625d9db75
address recent deprecations (#235)
* address recent deprecations

* address recent deprecations in pd.read_csv
2022-04-12 14:37:05 +02:00
lisazeyen
408b494612 bug fix with augmentation object 2022-04-12 10:45:11 +02:00
lisazeyen
9322f90318 add minimum capacity for AC and DC lines depending on previous year 2022-04-12 10:04:27 +02:00
lisazeyen
cfdec7e56d simplify pipe retrofitting constraint 2022-04-12 10:04:27 +02:00
Fabian Neumann
a4dab4306b merge master 2022-04-11 17:10:17 +02:00
Fabian Neumann
6ed92475c9
Add basic CI for overnight and myopic (#234)
* Snakefile: add missing folders that are retrieved

* Snakefile: fix syntax error

* Add basic CI

* fix datafiles list to work with directories

* prepare: only add new gas pipes if augmentation not empty

* prepare: handle case where salt caverns dataframe is empty

* prepare: handle case where underwater faction not in link columns

* build_biomass: handle case where Balkan not in country list

* refer correct environment path

* fix Snakemake call

* make subworkflow dependency explicit again

* hashing pypsa-eur environment file does not seem to work

* change solver to glpk

* add data cache

* glpk without options

* try cbc

* alternative snakemake test workflow

* test: add exogenous pathways to config
2022-04-11 17:08:25 +02:00
Fabian Neumann
95d5d8f889 prepare: move build_heat_demand closer to add_heat 2022-04-03 18:55:53 +02:00
Fabian Neumann
b112da0565 prepare: separate code for transport demand and nodal energy totals 2022-04-03 18:49:35 +02:00
lisazeyen
03fca360ff style improvement 2022-03-21 09:14:15 +01:00
lisazeyen
71a8bc6c96 use define spatial for all conventionals, add lifetime for H2 storage 2022-03-18 13:46:40 +01:00
lisazeyen
cfb5a797cb start to extend define_spatial for conventional carriers 2022-03-18 10:22:00 +01:00
lisazeyen
08cef37e7e improve code style 2022-03-18 10:22:00 +01:00
lisazeyen
5502943301
scripts/solve_network.py: Style improvement
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2022-03-17 18:15:59 +01:00
lisazeyen
aed81940b3
add_existing_baseyear.py: Style improvement
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2022-03-17 18:15:14 +01:00
Fabian Neumann
c754f253bc plotting adjustments for pypsa 0.19.1 2022-02-20 16:13:11 +01:00
Fabian Neumann
4b1360c3f0 do not aggregate rooftop and solar PV in plots 2022-02-20 15:59:51 +01:00
Fabian Neumann
3323f34896 bugfix: also plot h2 corridors where no retrofit 2022-02-04 12:26:58 +01:00
Fabian Neumann
b6cfcf6364 bugfix: mock_snakemake configfiles 2022-01-25 12:57:04 +01:00
Fabian Neumann
1bcbb1ed19 Merge branch 'master' of github.com:pypsa/pypsa-eur-sec 2022-01-25 12:56:08 +01:00
Fabian Neumann
4e3314acd8 bugfix: remove also retrofitted H2 network 2022-01-25 12:55:57 +01:00
Tim Pedersen
0d7ad643bc
Resolved error whith /tmp (#224) 2022-01-24 14:34:54 +01:00
Fabian Neumann
c273eb7f2c plot_network: legends, EqualEarth projection, w/wo retrofit compatibility 2022-01-23 14:20:18 +01:00
lisazeyen
c40904a727 adjust h2_plot function to work with myopic, since build year is now in links.index 2022-01-07 16:59:48 +01:00
lisazeyen
9f8b54a3ce adjust pipe retrofitting constraint to work with myopic 2022-01-07 16:59:14 +01:00
lisazeyen
5b30f0ece6 avoid doubling of the existing natural gas grid 2022-01-07 16:53:37 +01:00
lisazeyen
030bf96d32 update mocksnakemake 2022-01-07 12:45:33 +01:00
lisazeyen
c9ce9190a7 adjust to spatital resolved gas nodes 2022-01-07 12:40:17 +01:00
lisazeyen
b5aa4234ef adjust capital cost of existing renewables to consider e.g. electricity grid connection costs as well 2022-01-07 12:09:02 +01:00
lisazeyen
953e1c883e adjust functions to new default lifetime np.inf instead of previous NaN 2022-01-07 11:38:25 +01:00
lisazeyen
372473d76c update mocksnakemake 2022-01-07 11:32:31 +01:00
Fabian Neumann
7535a0d385
update data bundle (#216) 2022-01-06 10:29:59 +01:00
Fabian Neumann
d1762919c5
add option 'seqXXX' to sweep global co2 sequestration potentials (#208)
* add option 'seqXXX' to sweep global co2 sequestration potentials

* add release notes
2021-12-10 12:05:38 +01:00
Fabian Neumann
82096f92e8
fix for GlobalConstraints mu with "co2_sequestration_limit" (#211)
* fix for GlobalConstraints mu with co2_sequestration_limit

* add release notes
2021-12-06 11:31:48 +01:00
Fabian Neumann
90c2c909cd
fix broken prepare_sector_network when running without gas grid (#207)
Co-authored-by: lisazeyen <lisa.zeyen@web.de>

Co-authored-by: lisazeyen <lisa.zeyen@web.de>
2021-12-03 17:22:06 +01:00
Fabian Neumann
a2459881ef
allow H2 retrofitting from CH4 pipelines without endogenous CH4 grid (#204)
* allow H2 retrofitting from CH4 pipelines without endogenous CH4 grid

* add small capital cost to gas pipelines to incentivise decommissioning

* add release notes
2021-11-29 12:42:10 +01:00
Fabian Neumann
d04f6c02a7
Merge branch 'master' into retrofit-gas-pipelines 2021-11-29 09:13:51 +01:00
Fabian Neumann
263628fa22
add option to automatically download and extract sector databundle (#198) 2021-11-29 09:12:55 +01:00
Fabian Neumann
3ecb761b57
add regionalised hydrogen salt cavern storage potentials (#191)
* add regionalised hydrogen salt cavern storage potentials

* fix reading in salt-cavern potentials and typo in imports

* by default disable nearshore and offshore salt cavern potentials

Co-authored-by: lisazeyen <lisa.zeyen@web.de>
2021-11-29 09:12:07 +01:00
Fabian Neumann
ad7dd1aa3f correct max gas pipeline loading 2021-11-28 12:11:04 +01:00
Fabian Neumann
bb9f437855 fix copying pypsa-eur config 2021-11-24 10:54:39 +01:00
Fabian Neumann
7863c269bd plot_network: gas network show max used capacity 2021-11-24 10:53:54 +01:00
Koen van Greevenbroek
977dbfe933 Remove non-ascii character from source file
Unfortunately Snakemake for now reads files using the default OS file
encoding, which may not be UTF-8. Therefore, it is best to be
conservative and only use ascii in source files for now.
2021-11-22 14:02:57 +01:00
Fabian Neumann
b8a037026d gas_input: rewrite to not require pygeos via sjoin_nearest() 2021-11-14 16:51:34 +01:00
Fabian Neumann
67ba2fa813 address deprecation warnings 2021-11-14 12:57:46 +01:00
Fabian Neumann
d9902ad978 gas_network: recalculate lengths after clustering 2021-11-13 17:30:54 +01:00
Fabian Neumann
8c5dacbcc8 gas_network: fix bug in haversine distance 2021-11-13 17:03:13 +01:00
Fabian Neumann
4cd964b3bd gas_network: use IGGIELGN scigrid dataset 2021-11-13 16:48:08 +01:00
Fabian Neumann
b39a852d3b correct syntax errors 2021-11-12 12:50:46 +01:00
Fabian Neumann
44ea5ef48a add local gas input capacities (p_nom) and disable p_nom_extendable 2021-11-10 18:24:13 +01:00
Fabian Neumann
12ef1302e6 add planned LNG terminals from gem.wiki and convert units to MW 2021-11-10 18:05:47 +01:00
Fabian Neumann
57c0dd29d1 disentangle gas input nodes by lng, prod, entry with mmc/d# 2021-11-09 14:52:08 +01:00
Fabian Neumann
9e4e97690f gas network plotting adjustments 2021-11-05 10:57:24 +01:00
Fabian Neumann
985705403e revision gas infrastructure representation 2 2021-11-04 21:48:54 +01:00
Fabian Neumann
6a00d5bfca revision gas infrastructure representation 2021-11-03 20:34:43 +01:00
Fabian Neumann
37e2e53486
Merge branch 'master' into retrofit-gas-pipelines 2021-11-02 19:03:26 +01:00
Fabian Neumann
d26dbcb7fd plot: correct h2 map legend overlap, change aggregation of techs 2021-10-23 21:16:05 +02:00
Fabian Neumann
0a9210ed44 copy pypsa-eur config.yaml into results folder 2021-10-07 14:36:34 +02:00
Fabian Neumann
19d128aafd bugfix: take district heating progress not potential 2021-10-04 14:28:59 +02:00
lisazeyen
017c188518 fix typo for district heating with capital D 2021-10-04 09:23:23 +02:00
Fabian Neumann
2e6e9c6802
Merge branch 'master' into agriculture-energy-co2 2021-10-02 10:51:28 +02:00
Fabian Neumann
b560d95b6a merge master 2021-10-02 10:41:56 +02:00
Fabian Neumann
4375083838 create parallel structures for land-use constraints w/wo m 2021-10-02 10:40:49 +02:00
Fabian Neumann
a60f180f61 fix logging 2021-10-02 10:23:27 +02:00
Fabian Neumann
c0adb51454 decapitalize columns in build_energy_totals 2021-10-02 10:03:40 +02:00
lisazeyen
0d999a4991
prepare_sector_network: code formatting
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2021-10-01 17:10:42 +02:00
Fabian Neumann
18fabd930e
Apply suggestions from code review 2021-09-30 17:46:26 +02:00
Fabian Neumann
ff6d736a89
Merge branch 'master' into myopic-low-clustering-gens 2021-09-30 14:51:45 +02:00
Fabian Neumann
90079248a3
Merge branch 'master' into dh-share 2021-09-30 14:48:26 +02:00
lisazeyen
f6bb498730 include PR review 2021-09-29 16:13:23 +02:00
Fabian Neumann
5fb169c31f
Merge branch 'master' into enspreso-biomass 2021-09-29 15:46:11 +02:00
Fabian Neumann
1e248b314d compatibility with biomass transport 2021-09-29 15:45:14 +02:00
lisazeyen
9d8827bf59 Merge remote-tracking branch 'origin/master' into dh-share 2021-09-29 15:03:45 +02:00
lisazeyen
854bd80818 rename central_fraction->district heating potential, restructure district heating share implementation 2021-09-29 14:37:36 +02:00
lisazeyen
8322350fee move calculation of district heating share to build_energy_totals 2021-09-29 14:36:56 +02:00
lisazeyen
e27ec46878 add further comments 2021-09-29 09:23:39 +02:00
lisazeyen
234a32c504 bug fix 2021-09-29 09:23:39 +02:00
Fabian Neumann
8ecc54fbe6
Merge branch 'master' into dh-share 2021-09-28 17:29:29 +02:00
lisazeyen
53eab1ead2 slice biomass potentials with the pop_layout index instead of the country if biomass transport = True 2021-09-28 17:25:04 +02:00
Fabian Neumann
fcc10aa950
Merge branch 'master' into master 2021-09-28 17:15:26 +02:00
Fabian Neumann
2f19814786 Merge branch 'nworbmot-master' 2021-09-28 17:13:30 +02:00
Fabian Neumann
9f4e1f2176 make HVC recycling ready for pathway, minor edits 2021-09-28 17:08:03 +02:00
lisazeyen
dadfa8691b update mocksnakemake for testing 2021-09-28 16:36:40 +02:00
Fabian Neumann
385779fbbf
Merge branch 'master' into biomass-transport 2021-09-28 11:33:21 +02:00
Fabian Neumann
ec04d7909a
Merge pull request #148 from PyPSA/co2-network
Add CO2 network
2021-09-28 11:29:20 +02:00
lisazeyen
28264aa114
Small fixes (#167)
* update mocksnakemake for testing

* remove trailing whitespace in n.loads index

* add missing color for H2 liquification

* adjust to default lifetime 0 instead of NaN
2021-09-27 11:16:12 +02:00
lisazeyen
7ed20aba7a
Update prepare_sector_network.py
add logger info if CO2 network is added
2021-09-24 15:30:43 +02:00
lisazeyen
b391aa6475
Update build_biomass_transport_costs.py
change snakemake output file format
2021-09-24 14:59:53 +02:00
Tom Brown
93d4eae1ea industry: for HVC, add mechanical and chemical recycling 2021-09-24 13:19:48 +02:00
Tom Brown
fbccd5fbc0 industry: separate HVC, methanol and chlorine from basic chemicals 2021-09-24 13:00:58 +02:00
Fabian Neumann
c4d4e88ba2
Merge pull request #161 from PyPSA/fix-build_carbon_budget
fix-build_carbon_budget
2021-09-09 16:07:11 +02:00
Fabian Neumann
118f06f7e9
Merge pull request #160 from PyPSA/fix-plot-heat-time-series
Update plot_network.py
2021-09-08 09:32:28 +02:00
martavp
203a7f3df2
Add lifetime to solar-rooftop
Rooftop-solar generators are missing the lifetime attribute when they are added.

This avoids that they are saved as brownfield capacities installed in a previous timestep when running myopic optimization. 
I.e, they are not captured in the following line
5b9f64354f/scripts/add_existing_baseyear.py (L31)
2021-08-24 18:58:42 +02:00
martavp
919c9d8b8d
Update prepare_sector_network.py
update build_carbon_budget to use budget estimation from 2020 onwards
2021-08-24 18:48:20 +02:00
martavp
8d22df6482
Update plot_network.py
Some links producing heat have more than 2 ports (e.g. Fischer-Tropsch). This enables capturing them when plotting heat time series.
2021-08-24 18:38:24 +02:00
Fabian Neumann
624e5a1853 Merge branch 'master' into dh-share 2021-08-19 10:07:06 +02:00
Fabian Neumann
13251d33cc no machinery electric share, fix add to madd 2021-08-18 16:17:59 +02:00
Fabian Neumann
a9196f001b fix 2 typos 2021-08-18 14:17:21 +02:00
Fabian Neumann
3a218c826e Merge branch 'master' into agriculture-energy-co2 2021-08-18 12:56:49 +02:00
Fabian Neumann
5b9f64354f
xarray 0.19 compatibility (#158) 2021-08-18 12:17:31 +02:00
Fabian Neumann
351964b1e7 add logger.info for agriculture 2021-08-18 09:42:05 +02:00
Fabian Neumann
17c96edf72 agriculture: correctly convert units, fix efficiency gain, ICE aggregation for oil 2021-08-16 16:27:25 +02:00
Fabian Neumann
dd177df19f fix NL hardcode typo 2021-08-16 16:26:20 +02:00
Fabian Neumann
38352927fc Merge branch 'master' into agriculture-energy-co2 2021-08-16 14:30:15 +02:00
Fabian Neumann
0a16ca3b35 add biomass potentials docstrings 2021-08-16 14:14:05 +02:00
Fabian Neumann
ad23a648c4
Merge branch 'master' into enspreso-biomass 2021-08-10 10:43:52 +02:00
Fabian Neumann
782323bee4 handle spaces in remote files 2021-08-10 10:28:50 +02:00
Fabian Neumann
05c2332420 fix syntax error in master 2021-08-10 10:27:54 +02:00
Fabian Neumann
12f385ef3f biomass_transport: simplify read-in 2021-08-09 18:06:24 +02:00
Fabian Neumann
928d1f23ed biomass_transport: improve spatial biomass potential handling 2021-08-09 18:03:20 +02:00
Fabian Neumann
7ca4f04611 biomass_transport: reduce output files 2021-08-09 17:53:14 +02:00
Fabian Neumann
3eb404ff68 biomass_transport: correct and simplify spatial management 2021-08-09 17:51:37 +02:00
Fabian Neumann
6711d721b9 biomass_transport: fix cost calculation and get from remote 2021-08-09 16:30:38 +02:00
Fabian Neumann
0da8f8f80e
Merge branch 'master' into biomass-transport 2021-08-06 15:58:23 +02:00
Fabian Neumann
54a509f3dd
Merge branch 'master' into co2-network 2021-08-06 15:51:40 +02:00
Fabian Neumann
3754643e81 add co2 sequestration potential global constraint 2021-08-06 12:46:03 +02:00
Fabian Neumann
e7c6b8c2c8
Merge branch 'master' into dh-share 2021-08-04 18:29:57 +02:00
Fabian Neumann
87596dd015
add H2 liquefaction cost to H2 shipping demand (#145)
* add H2 liquefaction cost to H2 shipping demand

* rename bus to 'H2 liquid'

* add release note

* make consideration of liquefaction costs for shipping optional

* update release notes
2021-08-04 18:28:18 +02:00
Fabian Neumann
96afff0487
Adapt to technology-data changes (#146)
* adapt to technology-data changes from https://github.com/PyPSA/technology-data/pull/35

* switch to new H2 (g) pipeline cost
2021-08-04 18:19:42 +02:00
martavp
fab31e6524
Exogenous transition path for shipping, Steel, and Aluminum production (#136)
* Update .gitignore

* Add fictitious load to account for non-transformed shipping emissions

The share of shipping demand that is transformed is defined now for different years to be used with the myopic code.
The carbon emission from the remaining share is treated as a negative load on the atmospheric carbon dioxide bus, just like aviation and land transport emissions.

* Split colours for H2 in Industry and H2 in shipping when plotting balances.

When plotting the balance for H2, the rename dictionary merges all the demands containing H2.
This commit disables such merging and keeps different colours for H2 in shipping and H2 in industry. This is useful when one wants to look at the H2 balance and have an overview of where the H2 is consumed in the model.

* Make transformation of Steel and Aluminum production depends on year

Previously, the transformation of the Steel and Aluminum production was assumed to occur overnight.
This commit enables the definition of a transformation path via the config.yaml file.
This requires adding the {planning_horizon} to the input and output file name of the following rules:
build_industrial_production_per_country_tomorrow
build_industrial_production_per_node
build_industry_energy_demand_per_node
prepare_sector_network

* small follow-up to merge

* Add oil consumed in shipping as a load to EU oil bus

* Update scripts/prepare_sector_network.py

* add planning_horizons wildcard to benchmark paths

* fixup: double fraction_primary for steel

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2021-08-04 18:19:02 +02:00
Fabian Neumann
50dd4ce285 prepare: fix syntax error 2021-08-04 18:13:01 +02:00
Fabian Neumann
ba9be74265 make build_biomass_transport_costs fully optional 2021-08-04 15:05:37 +02:00