Commit Graph

616 Commits

Author SHA1 Message Date
pre-commit-ci[bot]
ac04abb98c [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-08-09 09:02:22 +00:00
Fabian Neumann
dbbc66710a Merge branch 'coke' into blast-furnace-with-cc 2023-08-09 11:02:07 +02:00
Fabian Neumann
9a68730745 fix: read investment year of time-dependent config 2023-08-09 11:01:58 +02:00
Fabian Neumann
91be48e36f Add option for carbon capture in integrated steelworks. 2023-08-09 10:58:14 +02:00
pre-commit-ci[bot]
c32d5249e1 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-08-09 08:12:52 +00:00
Fabian Neumann
ade8a003c6 add coal and coke demand for integrated steelworks (closes #717) 2023-08-09 10:11:28 +02:00
Fabian
5b057575df prepare_sector_network: make use of biomass transport file optional 2023-08-02 14:39:20 +02:00
Fabian
03e3278f89 prepare_sector: add biomass transport costs for networks wo biomass network 2023-08-02 13:12:08 +02:00
Fabian Neumann
ddd1840981 Merge remote-tracking branch 'origin/master' into multiyear 2023-07-26 10:23:32 +02:00
lisazeyen
5c90083e9b merge master 2023-07-21 16:32:11 +02:00
pre-commit-ci[bot]
fc36efaebe [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-07-13 20:35:05 +00:00
Fabian Neumann
b110810669 no more override_component_attrs for multilinks 2023-07-13 22:31:55 +02:00
Fabian Neumann
86708838da
Merge branch 'master' into linemaxext-config 2023-06-30 14:51:29 +02:00
Fabian Hofmann
ab0963540f
Merge branch 'master' into complete-carrier-set 2023-06-21 09:53:19 +02:00
Fabian Neumann
86e5f08fbf
Merge branch 'master' into linemaxext-config 2023-06-20 13:33:18 +02:00
Fabian
27eea273bd harmonize params names 2023-06-15 19:12:30 +02:00
Fabian
1d10073514 review params implementation; reproduce objective values in CI 2023-06-15 18:52:25 +02:00
Fabian Hofmann
862e54770f
Merge branch 'master' into post-merge-param 2023-06-14 10:11:26 +02:00
virio-andreyana
e581ca930c made params more specific 2023-05-27 15:50:37 +02:00
Koen van Greevenbroek
312dd81f21 Fix bug with underground H2 storage creation
For some small model regions, none of the H2 cavern types specified in
the configuration might actually be available, in which case the line
`h2_caverns = h2_caverns[cavern_types].sum(axis=1)` throws an error.
2023-05-24 11:13:37 +02:00
virio-andreyana
28d39680c6
Merge branch 'master' into post-merge-param 2023-05-19 16:19:58 +02:00
virio-andreyana
8af1fe5649
replace the word "config" to "params" in functions 2023-05-17 19:25:45 +02:00
virio-andreyana
8208ac033b
convert param back to config for "logging" and "run", made "enable" more specific 2023-05-17 18:43:30 +02:00
pre-commit-ci[bot]
e431a9675c [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-05-15 13:02:41 +00:00
Fabian Hofmann
824e6bb18c
Merge branch 'master' into complete-carrier-set 2023-05-15 15:01:57 +02:00
virio-andreyana
1fc48d8753
using python algorithm to edit rules and script 2023-05-15 10:33:17 +02:00
Fabian Neumann
99963edaaf add option to limit maximum extension per line/link; linemaxext 2023-05-12 09:29:38 +02:00
pre-commit-ci[bot]
b21965a986 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-05-10 08:09:47 +00:00
virio-andreyana
e91068196b
replace vresutils annuity function with add_electricity.py calculate_annuity 2023-05-10 10:02:41 +02:00
Fabian Hofmann
de16f19bce
Merge branch 'master' into complete-carrier-set 2023-05-03 17:42:29 +02:00
Fabian
4e8bbd67b4 use sanitize_carriers to harmonize carrier adjustments 2023-05-03 13:24:57 +02:00
Fabian Neumann
4bc6a3af4d
Merge branch 'master' into multiyear 2023-04-30 10:54:34 +02:00
pre-commit-ci[bot]
add135fe05 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-04-30 08:53:00 +00:00
pre-commit-ci[bot]
bdeab82b49 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-04-30 08:44:07 +00:00
Fabian Neumann
51e09f5e61
Address review comments 2023-04-30 10:43:49 +02:00
Fabian Neumann
6acd5da4d4 Merge branch 'multiyear-sec' into multiyear 2023-04-29 18:49:49 +02:00
virio-andreyana
72b75fd9fe
merge add_nice_carrier_names with add_missing_carrier to become add_missing_carrier_with_nice_names(n, config) 2023-04-28 03:43:20 +02:00
pre-commit-ci[bot]
74e9d56adb [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-04-25 15:26:28 +00:00
virio-andreyana
756a814c63
Update prepare_sector_network.py 2023-04-25 17:17:32 +02:00
pre-commit-ci[bot]
0a3c177f4b [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-04-22 07:44:59 +00:00
Fabian Neumann
f2e53b59bf add plain hydrogen turbine option for re-electrification 2023-04-22 09:44:13 +02:00
Fabian
5c8e0080c8 pre-commit: update docformatter version 2023-04-21 10:11:44 +02:00
pre-commit-ci[bot]
460bbd080f [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-04-10 22:02:35 +00:00
pre-commit-ci[bot]
5f554ab28f [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-04-06 13:57:30 +00:00
lisazeyen
b50954aee4 remove snakemake from function 2023-04-05 15:43:02 +02:00
lisazeyen
00544ee6f9 add lifetimes for perfect 2023-04-03 16:39:59 +02:00
Fabian
99a9ea8beb adress review comments 2023-03-10 15:58:53 +01:00
Fabian
f8d178c714 prepare_sector: revert taking mean
config.overnight: revert hourly resolution
2023-03-10 14:26:31 +01:00
Fabian
4f0ddf2e95 fix Nyears scaling 2023-03-10 14:12:22 +01:00
Fabian Neumann
abe4df543e add minimal description of all scripts 2023-03-09 12:45:43 +01:00
Fabian Neumann
8f5775d9cc Merge branch 'merge-pypsa-eur-sec' into sec-subset-countries 2023-03-09 11:28:07 +01:00
Fabian Neumann
22846d7b1b sector-coupled: run on subset of selected countries 2023-03-09 11:04:41 +01:00
pre-commit-ci[bot]
f128cc3e3c [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-03-09 07:36:43 +00:00
Fabian Neumann
483f3e1b82 eliminate manual country code conversion, adjust mock_snakemake to ll wildcard 2023-03-09 08:36:18 +01:00
pre-commit-ci[bot]
d45bee628e [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-03-07 17:25:45 +00:00
Fabian
5cf2b8174a scripts: apply linting fixes 2023-03-07 17:21:00 +01:00
pre-commit-ci[bot]
27c0d3a2d2 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-03-06 18:18:20 +00:00
Fabian Neumann
541b83b049 merge helper.py into _helpers.py 2023-03-06 19:16:37 +01:00
Fabian Neumann
3bdf3b6f5e use mock_snakemake from pypsa-eur 2023-03-06 19:09:45 +01:00
Fabian Neumann
93d9e13f52 add spdx identifiers to scripts 2023-03-06 18:49:23 +01:00
pre-commit-ci[bot]
9026e0920d [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-03-06 15:54:38 +00:00
Fabian
bffb7cc17c scripts/ remove summary_dir and results_dir references 2023-03-06 16:53:20 +01:00
Fabian Neumann
d27fee7e77 align cost fill values to pypsa-eur implementation 2023-03-06 14:47:46 +01:00
Fabian Neumann
b30ff67458 remove unneeded currency conversion USD to EUR 2023-03-06 14:38:04 +01:00
Fabian Neumann
0673430eec use line length factor from single config source 2023-03-06 14:33:56 +01:00
Fabian Neumann
ee5a0c4e73 conform to pypsa-eur logging level definition 2023-03-06 14:27:15 +01:00
pre-commit-ci[bot]
13769f90af [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-03-06 08:27:46 +00:00
Fabian Neumann
2f39280f14 spelling corrections 2023-03-06 09:23:30 +01:00
virio-andreyana
379ed0da93 Sentence capitalized 2023-02-24 14:42:51 +01:00
Fabian Neumann
b14d657042 minor fixes and address deprecation warnings 2023-02-16 20:13:26 +01:00
Fabian Neumann
35b8425b3b cherry-pick from #282
Co-authored-by: Fabian Hofmann <hofmann@fias.uni-frankfurt.de>
2023-02-16 18:42:19 +01:00
Fabian Neumann
ccde2e7f93 make sequestration options configurable 2023-02-16 17:21:58 +01:00
Fabian Neumann
6b8e69cf81 Merge branch 'master' into carbon-management 2023-02-15 20:21:12 +01:00
Fabian Neumann
809b07be86
Merge pull request #303 from PyPSA/electrolysis-wasteheat
add option to use electrolysis waste heat in district heating
2023-02-15 19:06:12 +01:00
Fabian Neumann
b1b289fc45 add option to use electrolysis waste heat in district heating 2023-02-15 14:01:00 +01:00
Fabian Neumann
5d08dfc2ec add min part load for FT and methanolisation via p_min_pu 2023-02-15 13:47:57 +01:00
Fabian Neumann
01db4f4408 compatibility with technology-data v0.5 2023-02-10 07:49:45 +01:00
Fabian
94fb6c646c prepare sector: add allam cycle
build sequestration: fix input for new snakemake versions
2023-02-08 22:57:01 +01:00
Fabian Neumann
ad8ccf3b25 fix process emission localisation with co2 (not) spatially resolved 2023-02-06 09:52:35 +01:00
Fabian Neumann
a0b18a8fcd manage process emissions in spatial 2023-02-06 09:46:24 +01:00
Fabian Neumann
984ab9350c
Update scripts/prepare_sector_network.py 2023-01-30 11:54:19 +01:00
Fabian Neumann
6996748d9b
Merge branch 'master' into cluster_heat_nodes 2023-01-30 11:53:00 +01:00
Fabian Neumann
697be2d9e3 fix capacities of biomass transport
The biomass transport links are split into either direction
because they have a marginal cost associated with the
transport. With p_nom_extendable, many decision variables
are created. This commit tries another way where
capacities are non-extendable and set to sufficiently high
values.
2023-01-25 08:41:08 +01:00
Fabian Neumann
71e2a4943c carbon management 2023-01-24 18:44:39 +01:00
Fabian Neumann
527c77824c allow carbon capture in biogas upgrading (closes #49) 2023-01-05 16:41:49 +01:00
Fabian Neumann
64969c2dee add methanol store 2023-01-05 13:42:01 +01:00
Fabian Neumann
383aef7e1c rename shipping_average_efficiency to shipping_oil_efficiency 2023-01-03 08:38:10 +01:00
Fabian Neumann
27414ac010 new config options for demand in aviation + HVC, control of ICE shares in land transport and agriculture 2022-12-29 11:46:57 +01:00
Fabian Neumann
292ec9d5a1 fix computation of shipping demands 2022-12-28 13:45:42 +01:00
Fabian Neumann
f645d13743 Merge branch 'master' into methanol 2022-12-28 12:51:59 +01:00
Fabian Neumann
138d151c8b only compute solar thermal profiles if technology is included 2022-12-28 12:48:51 +01:00
Fabian Neumann
3999afdb5a fixes to methanol implementation 2022-12-28 12:19:20 +01:00
Fabian Neumann
3d7c354d2b merge master 2022-12-27 11:16:39 +01:00
Fabian Neumann
99343b1221
Merge pull request #277 from PyPSA/int-ports
distribute international shipping by port trade volumes
2022-12-27 10:57:01 +01:00
Fabian Neumann
0c62bfc9ee complete methanol for shipping 2022-12-03 12:22:05 +01:00
Fabian Neumann
c44f1d61c7 remove hard-coded methanol efficiency 2022-11-27 18:28:57 +01:00
Fabian
df4eb85a19 fix typos 2022-11-18 09:08:07 +01:00
Fabian Neumann
16a92477f0 methanol in shipping 2022-11-13 18:25:32 +01:00
Fabian Neumann
84618b3ee1 distribute international shipping by port trade volumes 2022-11-13 13:43:05 +01:00
Fabian Neumann
1611d63a8a
Merge branch 'master' into nh3 2022-10-01 16:01:39 +02:00
lisazeyen
14ad15da91
Merge pull request #261 from PyPSA/temporal_aggregation
Add more options for temporal aggregation
2022-09-14 16:28:05 +02:00
lisazeyen
ed8f783096 include code review 2022-09-14 16:16:50 +02:00
lisazeyen
3daff49c99
Merge pull request #256 from PyPSA/fix-bug-myopic-co2
Fix bug myopic co2
2022-08-09 21:33:31 +02:00
lisazeyen
ce6b92dd6d add options to aggregate snapshots temporally 2022-08-08 08:53:07 +02:00
lisazeyen
8dd143f369 bug fixes for missing bracket 2022-08-05 15:55:41 +02:00
lisazeyen
9752b4b4e6
Merge branch 'master' into pellet-boiler 2022-08-05 12:25:01 +02:00
lisazeyen
ff3d171bd7 move biomass boilers to add_biomass 2022-08-05 12:19:47 +02:00
lisazeyen
14f54304a8 Merge branch 'master' into pellet-boiler 2022-08-05 11:27:28 +02:00
lisazeyen
289c252688 remove link to co2 atmosphere 2022-08-04 17:42:57 +02:00
lisazeyen
8c62fb1b56
Merge branch 'master' into btl 2022-08-04 16:13:09 +02:00
lisazeyen
ee458eeafb change names of buses 2022-08-04 16:03:16 +02:00
lisazeyen
2d625f5a80
Merge pull request #254 from millingermarkus/biosng
BioSNG (methane from solid biomass) with and without CC
2022-08-04 15:39:55 +02:00
lisazeyen
34a3d9aaad remove depreciated distutils.version 2022-08-02 09:27:37 +02:00
lisazeyen
339ccc6026 remove snakemake dependencies 2022-08-02 09:16:25 +02:00
Fabian Neumann
2857691367
Merge pull request #246 from PyPSA/meta
store config and wildcards in n.meta
2022-08-01 21:01:06 +02:00
lisazeyen
cbab86c4bc add heat buses clustering to myopic 2022-08-01 18:15:35 +02:00
lisazeyen
973074de21 add function to cluster heat buses 2022-08-01 18:03:11 +02:00
lisazeyen
f683a93f08 adjust plot_summary to work with myopic, remove update config 2022-08-01 16:04:14 +02:00
millingermarkus
65aaa3d188 Added tech color for biomass boiler and minor adaptations to biomass boiler process 2022-08-01 15:28:53 +02:00
lisazeyen
f10628930e move snakemake dependencies out for co2limit cb option to work 2022-08-01 15:21:11 +02:00
millingermarkus
6211823514 Added color for BioSNG and minor adaptations 2022-08-01 15:13:59 +02:00
millingermarkus
46310f0a30 Minor correction to prepare_sector_network 2022-08-01 15:00:27 +02:00
Markus Millinger
5b61d2f777
Added pellet boiler process 2022-08-01 13:38:01 +02:00
Markus Millinger
0019723262
Updated spatial nodes for biomass to liquid 2022-08-01 13:26:51 +02:00
Markus Millinger
abba2a4f3e
Added BioSNG process with and w/o CC 2022-08-01 13:22:58 +02:00
Markus Millinger
4bff921cf2
Adapted biomass_to_liquid toggle reference 2022-08-01 13:13:18 +02:00
Markus Millinger
46413dd88c
Added biomass to liquid process with an w/o CC 2022-08-01 13:07:59 +02:00
Fabian Neumann
d4fa922a2a drop_leap_days when aggregating snapshots 2022-07-29 21:19:26 +02:00
Fabian Neumann
0bad2097b0 interpolate heat demands for years outside 2007-2015 2022-07-25 14:35:54 +02:00
Fabian Neumann
d2b2842a37 Merge branch 'master' into multiyear 2022-07-20 15:18:42 +02:00
Fabian Neumann
cb00ba58ce add option to specify any config through sector opts with CF:<label>:...:value 2022-07-20 11:35:12 +02:00
Fabian Neumann
adc0dd1e0c fix unit conversion for thermal energy storage (closes #247) 2022-07-11 15:46:21 +02:00
Irieo
5d60e8c6e6 Label oil and biomass buses also as MWh_LHV 2022-06-30 17:37:40 +02:00
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
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
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
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
Fabian Neumann
fa66c50dc1 merge master 2022-06-15 09:29:19 +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
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
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
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
Fabian Neumann
df285a001e merge master 2022-02-18 11:25:38 +01:00
Fabian Neumann
4e3314acd8 bugfix: remove also retrofitted H2 network 2022-01-25 12:55:57 +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
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
67ba2fa813 address deprecation warnings 2021-11-14 12:57:46 +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
57c0dd29d1 disentangle gas input nodes by lng, prod, entry with mmc/d# 2021-11-09 14:52:08 +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
19d128aafd bugfix: take district heating progress not potential 2021-10-04 14:28:59 +02:00
Fabian Neumann
2e6e9c6802
Merge branch 'master' into agriculture-energy-co2 2021-10-02 10:51:28 +02:00
Fabian Neumann
a60f180f61 fix logging 2021-10-02 10:23:27 +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
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
1e248b314d compatibility with biomass transport 2021-09-29 15:45:14 +02:00
lisazeyen
854bd80818 rename central_fraction->district heating potential, restructure district heating share implementation 2021-09-29 14:37:36 +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
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
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
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
Fabian Neumann
13251d33cc no machinery electric share, fix add to madd 2021-08-18 16:17:59 +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
38352927fc Merge branch 'master' into agriculture-energy-co2 2021-08-16 14:30:15 +02:00
Fabian Neumann
ad23a648c4
Merge branch 'master' into enspreso-biomass 2021-08-10 10:43:52 +02:00
Fabian Neumann
05c2332420 fix syntax error in master 2021-08-10 10:27:54 +02:00
Fabian Neumann
928d1f23ed biomass_transport: improve spatial biomass potential handling 2021-08-09 18:03:20 +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
67d40ae5d9 remove unused line 2021-08-04 14:54:00 +02:00
Fabian Neumann
f4aa345c74 apply spatial management of gas nodes 2021-08-04 14:47:13 +02:00
Fabian Neumann
e5c61c8cf0 With H2_retrofit, gas network can be removed for free, without it can be expanded for a cost 2021-08-04 11:09:31 +02:00
Fabian Neumann
6507526d22 add retrofitting costs from technology-data 2021-08-04 10:36:16 +02:00
Fabian Neumann
006a68b3cf add option for retrofitted pipe capacity per CH4 capacity 2021-08-04 10:35:02 +02:00
Fabian Neumann
6a86a04743 add gas network spatial management 2021-08-04 09:48:23 +02:00
Fabian Neumann
3f43656a92 call define_spatial 2021-07-12 12:37:37 +02:00
Fabian Neumann
d1298fa93d use spatial namespace to manage biomass transport resolution 2021-07-12 12:31:18 +02:00
Fabian Neumann
2563d1277a spatially-explicit biomass potentials from ENSPRESO (NUTS2) 2021-07-11 17:52:32 +02:00
lisazeyen
9039b130fa
bug fix to avoid same link names for DAX 2021-07-09 15:30:21 +02:00
Fabian Neumann
36fdde7887 correctly name co2 submarine pipeline! 2021-07-09 14:36:13 +02:00
lisazeyen
0127c47035
Update prepare_sector_network.py
bug fix when calculating urban central heat demand
2021-07-09 13:56:44 +02:00
Fabian Neumann
d58a7f86a4 allow copperplated carbon capture to be distributed freely to co2 stores 2021-07-09 13:22:00 +02:00
Fabian Neumann
cd99089628 account for underwater fraction 2021-07-09 13:10:43 +02:00
Fabian Neumann
2b204c45e4 run define_spatial in __main__ 2021-07-09 12:51:48 +02:00
Fabian Neumann
4f9d2f9d5f add concept for management of spatial resolutions 2021-07-09 12:50:40 +02:00
Fabian Neumann
62bba87cda add co2 network topology
Co-authored-by: lisazeyen <lisa.zeyen@web.de>
2021-07-09 10:44:29 +02:00
lisazeyen
76f36d0a1a add option to take today's district heating share 2021-07-08 14:41:34 +02:00
Fabian Neumann
a98870e159 correction for .madd() and call co2_network 2021-07-07 18:07:57 +02:00
Fabian Neumann
d976a8faf7 add CO2 network [first draft] 2021-07-07 17:58:47 +02:00
Fabian Neumann
2bd9a3993b fix typo 2021-07-06 18:36:04 +02:00
Fabian Neumann
67ee6cb86e first step towards agriculture, forestry and fishing 2021-07-06 18:32:35 +02:00
martavp
3a6a1f90ab
Sensitivity e nom max (#143)
* Update .gitignore

* include e_nom_max sensitivity

* remove change in gitignore

* Update doc/release_notes.rst

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2021-07-06 17:12:39 +02:00
Fabian Neumann
c3f554e442
Update scripts/prepare_sector_network.py 2021-07-06 10:54:34 +02:00
martavp
82e9a48b74 Add oil consumed in shipping as a load to EU oil bus 2021-07-05 11:29:02 +02:00
Fabian Neumann
ad3da28117 small follow-up to merge 2021-07-03 13:03:47 +02:00
Fabian Neumann
732046dba0 merge master 2021-07-03 12:46:09 +02:00
Fabian Neumann
81b009e062 minor code cleaning 2021-07-02 15:08:06 +02:00
Fabian Neumann
89eccd4f70 merge master 2021-07-02 15:00:19 +02:00
Fabian Neumann
e97c4dd3c0 merge master 2021-07-02 10:12:43 +02:00
Fabian Neumann
4ebbd294ec apply suggestions from code review 2021-07-02 09:34:24 +02:00
Fabian Neumann
fa8f7887f9
Update scripts/prepare_sector_network.py 2021-07-02 09:31:41 +02:00
lisazeyen
ca685a10af
add home battery storage and inverter costs (#99)
* add home battery storage and inverter costs

* Update prepare_sector_network.py

* add release note

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2021-07-01 20:16:12 +02:00
Fabian Neumann
1fc1d2a17d
Revision complete (#139)
* ammonia_production: minor cleaning and move into __main__ (#106)

* biomass_potentials: code cleaning and automatic country index inferral (#107)

* Revision: build energy totals (#111)

* blacken

* energy_totals: preliminaries

* energy_totals: update build_swiss

* energy_totals: update build_eurostat

* energy_totals: update build_idees

* energy_totals: update build_energy_totals

* energy_totals: update build_eea_co2

* energy_totals: update build_eurostat_co2

* energy_totals: update build_co2_totals

* energy_totals: update build_transport_data

* energy_totals: add tqdm progressbar to idees

* energy_totals: adjust __main__ section

* energy_totals: handle inputs via Snakefile and config

* energy_totals: handle data and emissions year via config

* energy_totals: fix reading in eurostat for different years

* energy_totals: fix erroneous drop duplicates
This caused problems for waste management in HU and SI

* energy_totals: make scope selection of CO2 or GHG a config option

* Revision: build industrial production per country (#114)

* industry-ppc: format

* industry-ppc: rewrite for performance

* industry-ppc: move reference year to config

* industry-ppct: tidy up and format (#115)

* remove stale industry demand rules (#116)

* industry-epc: rewrite for performance (#117)

* Revision: industrial distribution key (#118)

* industry-distribution: first tidying

* industry-distribution: first tidying

* industry-distribution: fix syntax

* Revision: industrial energy demand per node today (#119)

* industry-epn: minor code cleaning

* industry-epn: remove accidental artifact

* industry-epn: remove accidental artifact II

* industry-ppn: code cleaning (#120)

* minor code cleaning (#121)

* Revision: industry sector ratios (#122)

* sector-ratios: basic reformatting

* sector-ratios: add new read_excel function that filters year already

* sector-ratios: rename jrc to idees

* sector-ratios: rename conv_factor to toe_to_MWh

* sector-ratios: modularise into functions

* Move overriding of component attributes to function and into data (#123)

* move overriding of component attributes to central function and store in separate folder

* fix return of helper.override_component_attrs

* prepare: fix accidental syntax error

* override_component_attrs: bugfix that aligns with pypsa components

* Revision: build population layout (#108)

* population_layouts: move inside __main__ and blacken

* population_layouts: misc code cleaning and multiprocessing

* population_layouts: fix fill_values assignment of urban fractions

* population_layouts: bugfig for UK-GB naming ambiguity

* population_layouts: sort countries alphabetically for better overview

* config: change path to atlite cutout

* Revision: build clustered population layouts (#112)

* population_layouts: move inside __main__ and blacken

* population_layouts: misc code cleaning and multiprocessing

* population_layouts: fix fill_values assignment of urban fractions

* population_layouts: bugfig for UK-GB naming ambiguity

* population_layouts: sort countries alphabetically for better overview

* cl_pop_layout: blacken

* cl_pop_layout: turn GeoDataFrame into GeoSeries + code cleaning

* cl_pop_layout: add fraction column which is repeatedly calculated downstream

* Revision: build various heating-related time series (#113)

* population_layouts: move inside __main__ and blacken

* population_layouts: misc code cleaning and multiprocessing

* population_layouts: fix fill_values assignment of urban fractions

* population_layouts: bugfig for UK-GB naming ambiguity

* population_layouts: sort countries alphabetically for better overview

* cl_pop_layout: blacken

* cl_pop_layout: turn GeoDataFrame into GeoSeries + code cleaning

* gitignore: add .vscode

* heating_profiles: update to new atlite and move into __main__

* heating_profiles: remove extra cutout

* heating_profiles: load regions with .buffer(0) and remove clean_invalid_geometries

* heating_profiles: load regions with .buffer(0) before squeeze()

* heating_profiles: account for transpose of dataarray

* heating_profiles: account for transpose of dataarray in add_exiting_baseyear

* Reduce verbosity of Snakefile (2) (#128)

* tidy Snakefile light

* Snakefile: fix indents

* Snakefile: add missing RDIR

* tidy config by removing quotes and expanding lists (#109)

* bugfix: reorder squeeze() and buffer()

* plot/summary: cosmetic changes including: (#131)

- matplotlibrc for default style and backend
- remove unused config options
- option to configure geomap colors
- option to configure geomap bounds

* solve: align with pypsa-eur using ilopf (#129)

* tidy myopic code scripts (#132)

* use mock_snakemake from pypsa-eur (#133)

* Snakefile: add benchmark files to each rule

* Snakefile: only run build_retro_cost if endogenously optimised

* Snakefile: remove old {network} wildcard constraints

* WIP: Revision: prepare_sector_network (#124)

* population_layouts: move inside __main__ and blacken

* population_layouts: misc code cleaning and multiprocessing

* population_layouts: fix fill_values assignment of urban fractions

* population_layouts: bugfig for UK-GB naming ambiguity

* population_layouts: sort countries alphabetically for better overview

* cl_pop_layout: blacken

* cl_pop_layout: turn GeoDataFrame into GeoSeries + code cleaning

* move overriding of component attributes to central function and store in separate folder

* prepare: sort imports and remove six dependency

* prepare: remove add_emission_prices

* prepare: remove unused set_line_s_max_pu
This is a function from prepare_network

* prepare: remove unused set_line_volume_limit
This is a PyPSA-Eur function from prepare_network

* prepare: tidy add_co2limit

* remove six dependency

* prepare: tidy code first batch

* prepare: extend override_component_attrs to avoid hacky madd

* prepare: remove hacky madd() for individual components

* prepare: tidy shift function

* prepare: nodes and countries from n.buses not pop_layout

* prepare: tidy loading of pop_layout

* prepare: fix prepare_costs function

* prepare: optimise loading of traffic data

* prepare: move localizer into generate_periodic profiles

* prepare: some formatting of transport data

* prepare: eliminate some code duplication

* prepare: fix remove_h2_network
- only try to remove EU H2 store if it exists
- remove readding nodal Stores because they are never removed

* prepare: move cost adjustment to own function

* prepare: fix a syntax error

* prepare: add investment_year to get() assuming global variable

* prepare: move co2_totals out of prepare_data()

* Snakefile: remove unused prepare_sector_network inputs

* prepare: move limit p/s_nom of lines/links into function

* prepare: tidy add_co2limit file handling

* Snakefile: fix tabs

* override_component_attrs: add n/a defaults

* README: Add network picture to make scope clear

* README: Fix date of preprint (was too optimistic...)

* prepare: move some more config options to config.yaml

* prepare: runtime bugfixes

* fix benchmark path

* adjust plot ylims

* add unit attribute to bus, correct cement capture efficiency

* bugfix: land usage constrained missed inplace operation

Co-authored-by: Tom Brown <tom@nworbmot.org>

* add release notes

* remove old fix_branches() function

* deps: make geopy optional, remove unused imports

* increase default BarConvTol

* get ready for upcoming PyPSA release

* re-remove ** bug

* amend release notes

Co-authored-by: Tom Brown <tom@nworbmot.org>
2021-07-01 20:09:04 +02:00
lisazeyen
c963d356f7 add existing methane pipe lines and option to H2 retrofitting, update to new atlite version 2021-06-21 12:36:06 +02:00
lisazeyen
4d913c9a93 split EU gas, EU biogas and EU gas for industry into gas bus for each cluster 2021-06-18 09:45:29 +02:00
martavp
e2354c18ac 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.
2021-06-16 17:52:42 +02:00
Fabian Neumann
bea8194b7b
prepare: add costs for biogas upgrading (#126)
Co-authored-by: lisazeyen <lisa.zeyen@web.de>

Co-authored-by: lisazeyen <lisa.zeyen@web.de>
2021-05-25 09:42:01 +02:00
lisazeyen
0e3d21f5a4
add EU oil bus already when adding land transport to be able to run the model without industry and avoid warning of missing bus. Add a check for scaling down total electricity demand to avoid warning of invalid value in double_scalar (#100) 2021-05-25 09:03:02 +02:00
Fabian Neumann
555002a35b fixup: remove remaining instances of {network} wildcard from recent PR 2021-05-19 13:57:44 +02:00
Tom Brown
8bfb1490c1
Merge branch 'master' into retro-updated 2021-04-30 18:12:20 +02:00
Tom Brown
e28ddbd710 config: rename vary in vary_space_heat_exogenously to reduce
Since the factor reduces demand with default positive sign.
2021-04-30 17:57:16 +02:00
Fabian Neumann
3e3001455a
address FutureWarning regarding set operations on pd.Index (#103) 2021-04-29 17:11:10 +02:00
Fabian Neumann
a156d44f28
remove unused {network} wildcard (#104) 2021-04-29 16:52:35 +02:00
lisazeyen
b979441462
Import sys (#98)
* import sys package and remove unnecassary imports

* add encoding when reading csv files to the old (and soon depreciated) build_retro_cost script
2021-04-23 11:26:53 +02:00
Leon
55eb722ead
Make code more readable; remove misleading function arguments and add necessary ones (#94)
* Make code more readable; remove misleading function arguments and add necessary ones

* Update scripts/build_energy_totals.py

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2021-04-23 11:26:38 +02:00
lisazeyen
7af2941156 rename space heat demand reduction in config.yaml and prepare_sector_network.py script, adjust exogenously assumed space heat demand reductions to more conservative assumptions 2021-04-19 17:20:52 +02:00
Tom Brown
1cbef8e61f Add fictitious load to account for land transport ICE emissions
Recently ICE vehicles were added, but the emissions were not accounted
for. Now, like aviation emissions, they are added as a negative load
to the "co2 atmosphere" bus.
2021-03-04 18:20:23 +01:00
lisazeyen
8cabeb5871 update master branch
Merge branch 'master' of https://github.com/PyPSA/pypsa-eur-sec
2021-02-23 10:16:35 +01:00
martavp
b264f2947d
Merge branch 'master' into master 2021-02-04 09:15:03 +01:00
Tom Brown
31ed6ebc16 Correct heat output of central gas and solid biomass CHP with CC
The heat output from the carbon capture (CC) was being subtracted from
the CHP rather than the heat input.

Since the heat output and heat input are the same in the DEA
technology database (but at different temperatures), this bug has no
consequence, but still better to correct it.
2021-02-02 13:16:17 +01:00
Tom Brown
54a28db84f Change name of liquid hydrocarbon bus from Fischer-Tropsch to oil
Reasoning: we can also have fossil and biomass liquid hydrocarbons, as
well as production from the Fischer-Tropsch process, particularly for
simulations before 2050.
2021-01-26 10:55:38 +01:00
Tom Brown
4fd164f73c config.yaml: Remove battery and H2 Stores from PyPSA-Eur
I.e. what's taken over from PyPSA-Eur in config["pypsa_eur"] from
"Store" is [].

PyPSA-Eur-Sec adds its own batteries and H2 Stores.
2021-01-25 14:17:31 +01:00
martavp
fd6239db5c allowing factor to alter the cost or p_nom_max 2021-01-14 13:51:10 +01:00
martavp
e180931ce1 Move ploting of carbon budget distribution to plot_summary.py 2021-01-14 10:06:29 +01:00
martavp
4a681749d7 Add function build_carbon_budget()
For the myopic method, based on the carbon budget indicated in the config file (sector_opts), a CO2 limit is calculated for every planning_horizon following an exponential or beta decay.  A file with CO2 limit in every planning_horizon and a plot showing historical and planned CO2 emissions
are saved in the results
2021-01-12 10:57:29 +01:00
martavp
b98235c1f1 Allow specifying an option to alter the capital cost of carriers by a factor indicated in the config file, eg: solar+c0.5
This is almost a direct copy PyPSA-Eur #167
https://github.com/PyPSA/pypsa-eur/pull/167

A factor altering the maximum capacity (p_nom_max) can also be specified by e.g. solar+p3

One should be careful when using this for solar because the factor is applied to all the generators whose carrier includes the string 'solar' (i.e., it is applied to both utility and rooftop solar)

I would suggest implementing 'solar utility' and 'solar rooftop' as carriers, since this can be useful for other selecting processes. Is there is any reason for keeping 'solar' as a carrier for 'solar utility'?

The previous way of increasing maximum capacity via the config file (e.g 'solar3') is still present in the code.
2021-01-04 10:13:30 +01:00
martavp
3457d4ee38 Add function build_carbon_budget()
For the myopic method, based on the carbon budget indicated in the config file (sector_opts), a CO2 limit is calculated for every planning_horizon following an exponential or beta decay.  A file with CO2 limit in every planning_horizon and a plot showing historical and planned CO2 emissions
are saved in the results
2020-12-30 15:55:08 +01:00
Tom Brown
b2c40dfe30 Replace old "industry CC" assumption with DEA "cement capture" 2020-12-09 18:47:50 +01:00
Tom Brown
19a7a1a684 Implement DAC properly with electricity and heat demand
Before it just had a fixed marginal cost. Now it uses DEA assumptions
for heat, electricity and capital costs.

This necessitates locating it somewhere concrete. Heat is taken from
urban central or decentral buses.
2020-12-09 18:19:57 +01:00
Tom Brown
0d96ec1de4 Use DEA capture rates for CHP CC rather than default rate 2020-12-09 17:26:29 +01:00
Tom Brown
608c9a5ac5 Replace gas and solid biomass CHP CCS with CHP + DEA CC
Use DEA assumptions for post-combustion carbon capture.

Also rename CCS as CC whenever only carbon capture is involved, since
sequestration (or CCU) is a separate step.
2020-12-09 16:38:49 +01:00
Tom Brown
3ff669b07b Move CO2 sequestration potential and costs to config.yaml 2020-12-09 15:36:45 +01:00
Tom Brown
b8f1f30183 Make code compatible with PyPSA-Eur v0.3.0
Only change was to remove the Store-Link-Bus combinations for
batteries and H2 storage from PyPSA-Eur, since they are implemented
with different names, costs and voltage level in PyPSA-Eur-Sec.

Removals are now done in a more transparent way in the config.yaml.
2020-12-09 15:18:01 +01:00
Tom Brown
098281b432 Correct central CHP from extraction to back pressure
The assumptions for c_b and c_v and eta were arranged assuming
extraction plants (like the coal CHP in DEA).

However, if you look in DEA assumptions at "09b Wood Pellets Medium"
(used for solid biomass CHP) and "Gas turbine simple cycle (large)"
(used for gas CHP) they are not extraction plants but back pressure
plants.

The back pressure coefficient in DEA c_b is simply

c_b = name plate electricity efficiency / name plate heat efficiency

both measured when both heat and electricity are produced at maximum.

For the extraction plants, the efficiency was measured in condensation
mode, i.e. no heat production.
2020-12-07 12:32:53 +01:00
Tom Brown
47a618f385 Replace large CHP 2-link feasibility diagram with single link
In almost 99.5% of cases the CHP dispatches along the backpressure
line where heat output is proportional to electricity output.

So we can switch to a single link to avoid the burden of modelling the
full electricity-heat feasibility space of CHPs.

This only applies to large CHPs in district heating networks.
2020-12-07 10:48:24 +01:00
lisazeyen
57aea1db35 drop H2 and battery buses from pypsa-eur 2020-12-02 13:03:13 +01:00
lisazeyen
de33ed3eb5 update mocksnakemake for testing 2020-12-02 12:48:11 +01:00
Tom Brown
1ea31f0e57 Redo investment-year-dependent exogenous retrofitting parameter
Specify as dictionary, use get_parameter to get correct value.

Also remove old parameter "space_heating_fraction" since this is
superceded by the new exogenous retro code.
2020-12-01 14:41:11 +01:00
Tom Brown
974155bd46 Merge branch 'master' into retro 2020-11-30 17:07:43 +01:00
Tom Brown
17bf0dfbb1 prepare_costs: use default lifetime from config.yaml
Rather than hard-coding 25 years.
2020-11-30 17:01:14 +01:00
Tom Brown
90e1d75df6 land transport: allow share of fossil-FCEV-EV to change over time
Allow share of land transport to be set exogenously in config.yaml.
2020-11-30 16:20:26 +01:00
Tom Brown
abbaa0d098 Move CO2 budgets from data/co2_budget.csv to dict in config.yaml
Strategy is too keep as much of configuration in config.yaml as
possible.

We also aim to allow exogenous investment-year-dependent
configurations to be done in a similar manner (e.g. share of district
heating or FCEV transport).
2020-11-30 13:21:38 +01:00
lisazeyen
e511dac148 fix bug for urban_fraction factor, rewrite pattern for defining country, location and temporal resolution, add more comments for endogenously retrofitting 2020-11-11 18:18:56 +01:00
Fabian Neumann
4fef5616e8 scripts: change mock snakemake defaults 2020-11-10 09:48:13 +01:00
Tom Brown
9721dccc0f Make micro CHP optional, option to reduce non-NH3 basic chemicals
Also add option to limit extension of HVAC and HVDC transmission
lines.

Also fix bug that option to limit solar & wind potential was bypassed.
2020-10-28 18:21:28 +01:00
lisazeyen
63f1e99c8b remove unnecessary variables when adding endogenously retrofitting 2020-10-21 19:19:38 +02:00
lisazeyen
d1282ba315 add option for endogenously retrofitting 2020-10-21 15:21:26 +02:00
Tom Brown
989495ce79 prepare_sector_network: Type of new busmap index and values to str
Otherwise they're read in as integers and the mapping fails.
2020-10-21 14:31:37 +02:00
lisazeyen
301d74f059 add option for exogenously retrofitting, space heat demand is reduced before adding losses in DH 2020-10-21 14:30:26 +02:00
lisazeyen
75ff2d19ee move transport data input path to Snakefile 2020-10-21 13:45:49 +02:00
lisazeyen
0563c986a2 modify mocksnakemake for testing 2020-10-21 13:35:34 +02:00
Tom Brown
f0ef0e1136
Merge pull request #70 from eb5194/master
compatibility with pypsa-eur PR: clustermaps to csv
2020-10-21 13:01:17 +02:00
lisazeyen
b4fbb47d29 fix bug when adding biomass industry demand, add option to remove biomass transport and have only single EU biomass node 2020-10-21 07:21:09 +02:00
lisazeyen
13cae7d66f drop nan values to avoid runtime error when removing todays electricity demand 2020-10-20 14:19:07 +02:00
lisazeyen
ae9c0d9530 prepare_sector_network: split industry demand for biomass to single nodes 2020-10-20 14:08:17 +02:00
lisazeyen
651a7ff693 add biomass transport, split potential for solid biomass to nodes, add costs for upgrading biogas to gas 2020-10-20 13:46:39 +02:00