Commit Graph

5235 Commits

Author SHA1 Message Date
lisazeyen
50f02f64e8 build_gas_network: first steps to map current gas infrastructure to PyPSA-Eur-Sec 2021-04-15 14:21:48 +02:00
lisazeyen
04244ac8ce Snakefile: add rule for building current gas network 2021-04-15 14:20:39 +02:00
Fabian Neumann
6765ffda8f fix electricity.csv 2021-04-06 13:27:21 +02:00
martacki
bd57548788 merge 2021-03-24 12:00:45 +01:00
Max Parzen
184b060903
syntax correction 2021-03-23 20:27:13 +00:00
Max Parzen
f9e73690e1
Update add_extra_components 2021-03-23 19:34:13 +00:00
Max Parzen
b4a992c4db
update config.yaml
adding to marginal costs:
- electroysis
- fuel cell
- battery inverter
2021-03-23 19:30:06 +00:00
Max Parzen
165148d26c
Update scripts/add_extra_components.py
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2021-03-23 19:22:39 +00:00
pz-max
2f9e9075e8 adding marginal cost for storage 2021-03-23 17:29:59 +00:00
Koen van Greevenbroek
9048af482f
Add a check to fix KeyError (#220) (#228)
In some cases, in networks with DC links, a non-existing column would
be referenced in an empty Dataframe. This commit adds a check for this
case.

Co-authored-by: Koen van Greevenbroek <koen@vesoldo.com>
2021-03-10 18:16:09 +01:00
Tom Brown
93eb86eec8 doc: Release note on ICE emissions bugfix 2021-03-05 10:38:41 +01: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
36685bd016 update retro script to include ventilation, thermal bridges and heat gains. Add necessary input files in the Snakefile, remove no longer needed file 2021-02-24 16:51:58 +01:00
lisazeyen
088c5ab805 adjust make summary functions to work without industry sector 2021-02-23 15:42:43 +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
1b205b9e4a
Merge pull request #3 from PyPSA/master
update from master upstream
2021-02-04 09:16:21 +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
99ad066469
Merge pull request #92 from nworbmot/master
Change name of liquid hydrocarbon bus from Fischer-Tropsch to oil
2021-01-29 16:43:11 +01:00
Tom Brown
cd8bf1edfc doc: Include renaming of liquid hydrocarbon bus in release notes 2021-01-29 16:34:52 +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
Tom Brown
39a5134ab9 doc: Add latest EEA emissions stats UNFCCC_v23.csv to data bundle 2021-01-25 11:10:13 +01:00
eb5194
b9fdacad4d simplify: delete columns with incorrect/accurate entries 2021-01-20 20:39:22 +01:00
eb5194
ea8e643dc4 add_electricity.py Resolve FutureWarning 771 Index.__or__ operating as set operation is deprecated 2021-01-19 15:20:58 +01:00
Tom Brown
0dc9196b76
Merge pull request #90 from martavp/alter-cost-potential
Add a factor to alter cost or capacity potential via the config file
2021-01-18 18:19:24 +01:00
Tom Brown
b133cd6656
Merge pull request #89 from martavp/distribute_CO2budget
Distribute CO2 budget among the planning horizons for the myopic option
2021-01-18 18:17:15 +01:00
Tom Brown
5a7f0c2c05
Merge pull request #88 from martavp/fix_YearCommissioned
Fix year commissioned
2021-01-15 18:04:35 +01:00
martavp
1b14c5525c
correct spelling mistake 2021-01-15 12:56:21 +01:00
Fabian Neumann
c638cc98ed
add 'snakemake workflow' keyword to README 2021-01-15 12:29:52 +01:00
Fabian Neumann
df2425d4a0
Update README.md 2021-01-14 21:22:34 +01:00
martavp
fd6239db5c allowing factor to alter the cost or p_nom_max 2021-01-14 13:51:10 +01:00
martavp
2555b66ba9 allowing a factor to alter the cost or p_nom_max via the config file
This substitutes the previous way of doing it. Now, to multiply the reference p_nom_max by 3, one should include in the config file 'solar+p3' (instead of the previous solarx3)
2021-01-14 13:49:17 +01:00
martavp
0eb69365eb Update Snakefile
Allow white space in sector_opts, e.g. to investigate sensitivity to cost of 'H2 Electrolysis'
2021-01-14 10:21:11 +01:00
martavp
e180931ce1 Move ploting of carbon budget distribution to plot_summary.py 2021-01-14 10:06:29 +01:00
lukasnacken
4e44822514
Add openpyxl to environment.yaml to fix #215 (#216) 2021-01-13 17:24:42 +01:00
martavp
faebbc493b Add comment to config file explaining carbon budget key 2021-01-12 12:01:55 +01:00
martavp
918d803c0d Add commented line regarding hack for unicode error in snakemake 2021-01-12 11:57:22 +01:00
martavp
0d64cf5b35 Allow decimals in sector_opts 2021-01-12 10:58:51 +01:00
martavp
d7e9dc2466 update documentation and release notes 2021-01-12 10:58:38 +01:00
martavp
fcc54bada3 Calculate and save cumulative costs for the myopic approach
Creates an additional file in results/csvs including the cumulative costs with different social discount rates
2021-01-12 10:58:00 +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
ceba265c0a build_eea_co2() now reads version23 of UNFCCC inventory.
**This requires updating to UNFCCC_v23.csv in the data bundle**

This enables that the same function is used to read emissions in 2018, which are assumed to remain constant in 2019 and 2020 and subtracted from carbon budget (estimated from 2018 on).

I checked and 1990 emissions calculated with UNFCCC_v23 are very similar to those calculated with UNFCCC_v21 (<1% differences in all values at EU level).
Some countries show higher deviations, mainly in domestic aviation and navigation. I guess because those values started to be reported later and v23 should include more accurate values.
2021-01-12 10:57:09 +01:00
martavp
6a7b1d5450 Fix unicode error due to dash before sawdust
A quick fix to https://github.com/PyPSA/pypsa-eur-sec/issues/79
2021-01-12 10:53:22 +01:00
martavp
c623b82b39 Make explicit solver_dir=tmpdir
Running the rule solve_network in the university cluster, I was getting a "No space left on device" error. Making solve_dir=tmpdir by default avoids this error and makes it easier to identify any problem with temp files
2021-01-12 10:51:12 +01:00
martavp
b7b7407756 Adapt nomenclature from "YearCommissioned" to "DataIn"
This was breaking add_existing_baseyear.py and it is now fixed. Column name for commissioning year in powerplantmatching has changed. Now "DataIn" is used as column name, also when renewable capacities per country are added to the power plants dataframe
2021-01-12 10:46:30 +01:00
Chiara Anselmetti
ed4fdc9150
Keep links to store components when using ATK wildcard (#214)
* Update prepare_network.py

The new ATK wildcard removes all lines + links without further distinction; however, since storage options are now modeled as store components, the links to and from the the storage units for (dis)charge are eliminated as well. Thus, the storage options drop out of the optimisation. 
Especially when only allowing renewables as generation sources, optimisation may become infeasible for a high temporal resolution (capacity factors = 0 for certain hours; no further options to serve the load). 
This issue does not arise with the ATKc wildcard, since bus0 and bus1 of the (dis)charge links share the same country code.

The proposed change is a very quick fix in the enforce_autarky function, solely removing DC links.

* Update scripts/prepare_network.py

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>

* Update prepare_network.py

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2021-01-11 10:27:27 +01:00
martavp
a6a88e26da Allow white space in sector_opts, e.g. to investigate sensitivity to cost of 'H2 Electrolysis' 2021-01-04 16:22:39 +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
93360119d9 Allow decimals in sector_opts 2021-01-04 10:07:29 +01:00