Commit Graph

76 Commits

Author SHA1 Message Date
pre-commit-ci[bot]
eed52d04ae [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-08-09 13:04:38 +00:00
daniel.rdt
e304efbf3c fix in co2_emissions_year function and correspondigly in plot_summary and snakemake rule. Also changes to historical_emissions in plot_summary since some countries are not in eea dataset. 2023-08-09 14:49:36 +02:00
Fabian
1d10073514 review params implementation; reproduce objective values in CI 2023-06-15 18:52:25 +02:00
virio-andreyana
e581ca930c made params more specific 2023-05-27 15:50:37 +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
virio-andreyana
1fc48d8753
using python algorithm to edit rules and script 2023-05-15 10:33:17 +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
Fabian Neumann
abe4df543e add minimal description of all scripts 2023-03-09 12:45:43 +01:00
Fabian Neumann
22846d7b1b sector-coupled: run on subset of selected countries 2023-03-09 11:04:41 +01:00
Fabian Neumann
483f3e1b82 eliminate manual country code conversion, adjust mock_snakemake to ll wildcard 2023-03-09 08:36:18 +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
ee5a0c4e73 conform to pypsa-eur logging level definition 2023-03-06 14:27:15 +01:00
Fabian Neumann
43f226b2a3 split solve network rules, take summary scripts from Sec 2023-03-06 12:10:23 +01:00
Fabian Neumann
97bbafdd70 Merge remote-tracking branch 'pypsa-eur-sec/master' into merge-pypsa-eur-sec 2023-03-06 11:54:08 +01:00
Fabian Neumann
604d086016 resolve merge conflict 2023-03-06 09:46:56 +01:00
Fabian Neumann
9dbeea17ec fix: handle overlooked merge conflict 2023-03-06 09:45:28 +01:00
pre-commit-ci[bot]
d0e0880b19 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-03-06 08:43:17 +00:00
Fabian Neumann
ad6a490f57 resolve merge conflict 2023-03-06 09:39:10 +01:00
Fabian Neumann
5f61bc4bae fix isort compatibility 2023-03-06 09:35:40 +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
virio-andreyana
f75cec93d6
lower log level in plot_summary.py and fix warning
reduce the level of "Dropping technology energy balance smaller than {snakemake.config['plotting']['energy_threshold']/10} {units}" and "Total energy balance for {v} of {round(df.sum()[0],2)} {units}" from INFO-> DEBUG. 

Extra warning fix
Add `plt.cla()` in the `for k, v in balances.items()` and take out fig, ax = plt.subplots(figsize=(12,8)) from that for loop to fix RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).
2023-03-01 12:29:36 +01:00
virio-andreyana
379ed0da93 Sentence capitalized 2023-02-24 14:42:51 +01:00
virio-andreyana
d237e60b25 Replacing print statement with logging 2023-02-23 10:30:32 +01:00
Fabian Neumann
9c1182fe96 prepare release 0.7 2023-02-16 11:50:55 +01:00
Fabian
df4eb85a19 fix typos 2022-11-18 09:08:07 +01:00
Fabian Neumann
1611d63a8a
Merge branch 'master' into nh3 2022-10-01 16:01:39 +02:00
nnhjy
d29441d871 update deprecated syntax 2022-09-28 20:33:50 +02:00
pre-commit-ci[bot]
5d1ef8a640 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-09-16 13:04:06 +00:00
lisazeyen
a11f7bc245 remove not needed pop_layout from plot_summary 2022-08-02 08:47:46 +02:00
lisazeyen
f683a93f08 adjust plot_summary to work with myopic, remove update config 2022-08-01 16:04:14 +02:00
Fabian Neumann
a1507124f6 Merge branch 'release-v0.5' into meta 2022-07-27 09:43:36 +02:00
Fabian Neumann
8fc0c57ed6 update copyright years 2022-07-26 15:05:59 +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
217780263d store config and wildcards in n.meta 2022-06-30 08:39:03 +02:00
Fabian Neumann
9f91af28e7 fix syntax errors 2022-06-23 15:17:41 +02:00
Fabian Neumann
2d562c1349 add coloring for ammonia 2022-06-10 14:57:03 +02:00
martacki
cd92d8092b plot_summary: remove deprecated retrieve_snakemake_keys function 2022-06-08 15:49:06 +02:00
martacki
0da77a7600 remove snakemake dependencies in plot_summary 2022-01-14 13:44:33 +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
2e02af8b4b change license 2021-09-14 16:37:41 +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
89eccd4f70 merge master 2021-07-02 15:00:19 +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
97f041e82c adjust summary and plot functions 2021-06-21 12:36:40 +02:00
Leon
e367f8ae11
Fix error when running without the industry sector (#96)
Fixing that the code stops with an error if running without the industry sector, e.g. only including electricity and heat. When the industry sector is not included, balances_df.index.levels[0] does not include "process emissions". Using the XOR operator "^" does then add it instead of removing it when compared to the co2_carriers list. The XOR operator does only work as intended, i.e. excluding the three emission-related strings, when these strings are already in the original list. The proposed change fixes the issue.
2021-05-24 22:11:24 +02:00