Commit Graph

2414 Commits

Author SHA1 Message Date
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
Fabian
3bbd321b82 config: separate solver_options
solve_network: adjust code to new solver_options config
2023-03-06 09:35:11 +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
Fabian Neumann
b2295278f3
Merge branch 'master' into ci-config 2023-03-05 16:01:57 +01:00
pre-commit-ci[bot]
36003c9627 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-03-05 14:12:39 +00:00
Fabian Neumann
8837ba6a5f allow false for max_depth 2023-03-05 15:12:20 +01:00
Fabian Neumann
6d98edb320
Merge pull request #314 from PyPSA/loggin-replace-print
Replacing print statement with logging
2023-03-05 15:07:10 +01:00
virio-andreyana
0985aa17b3
fix SettingwithCopyWarning in plot_network.py
Fix SettingwithCopyWarning in plot_network.py by using pandas clip and replace.
2023-03-01 12:35:51 +01: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
e74e5d9864
Merge pull request #312 from PyPSA/myopic-p_nom_max
myopic: adjust p_nom_max if existing larger
2023-02-22 19:14:20 +01:00
Fabian Neumann
8512129f2c
Merge branch 'master' into cluster-m 2023-02-22 18:57:21 +01:00
Fabian Neumann
846049770e cluster option 'm' only aggregates conventional carriers not excluded 2023-02-22 18:55:05 +01:00
lisazeyen
332936bcec adjust p_nom_max if existing larger 2023-02-22 17:44:05 +01:00
Fabian
3642d5c834 build_renewable_profiles: remove progressbar import 2023-02-22 15:07:57 +01:00
pre-commit-ci[bot]
b134a395b4 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-02-22 13:40:37 +00:00
Fabian
44bb81af46 helpers: undo position fixing in tqdm 2023-02-22 14:40:02 +01:00
pre-commit-ci[bot]
64745e7ec2 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-02-22 13:21:28 +00:00
Fabian
825d3e84d2 replace progressbar by tqdm 2023-02-22 14:20:18 +01:00
Fabian
dad7d2050e build_population_layouts: replace vresutils area calculation 2023-02-22 13:26:17 +01:00
virio-andreyana
e80cab63ca
Update build_biomass_potentials.py
Maybe something in the middle? swiss is a list, while pop was a panda series.
2023-02-22 13:00:06 +01:00
virio-andreyana
74d31c4554 fixing some warnings in build_biomass_potentials.py, build_gas_input_locations.py, scripts/build_population_layouts.py 2023-02-22 12:17:30 +01:00
Fabian Hofmann
8215510f09
Merge pull request #282 from PyPSA/ci-review
Transition to `linopy` implementation
2023-02-22 09:18:29 +01:00
Fabian
19c35f8a6a use muting of excel read with context manager 2023-02-21 23:20:02 +01:00
Fabian
7e87044424 solve_network: warn if network is not optimal 2023-02-21 21:58:42 +01:00
Fabian
8bf6238785 Merge branch 'master' into ci-review 2023-02-21 17:57:27 +01:00
virio-andreyana
f276b130bd Hide uninformative text caused by subprocess outputs 2023-02-18 13:47:34 +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
82939ca546 resolve merge conflicts 2023-02-16 18:34:24 +01:00
Fabian Neumann
ece64a73c1 gas_input: use HTTP remote, rename conversion factors, fix undesired rule removal 2023-02-16 18:27:57 +01:00
Fabian Neumann
963e7cdbcf Merge branch 'master' into update-lng-ports 2023-02-16 17:56:05 +01:00
Fabian Neumann
ccde2e7f93 make sequestration options configurable 2023-02-16 17:21:58 +01:00
Fabian Neumann
03ac301238 build_shapes: crs 2023-02-16 14:04:13 +01:00
Fabian Neumann
b6732bf6c4 documentation updates 2023-02-16 12:37:30 +01:00
virio-andreyana
3dede28aae merging script in retrieve_gas_input_location with build_gas_input_location 2023-02-16 11:57:33 +01:00
Fabian Neumann
9c1182fe96 prepare release 0.7 2023-02-16 11:50:55 +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
7d5d48ac26 solve network: fix sequestration constraint 2023-02-10 18:58:30 +01:00
Fabian Neumann
01db4f4408 compatibility with technology-data v0.5 2023-02-10 07:49:45 +01:00
Fabian
38a58b62f7 prepare sector: fix logger percentage info 2023-02-09 17:53:27 +01:00
Fabian
a0c1d321cc plot_network: fix empty h2 retrofit for myopic 2023-02-08 23:58:56 +01:00
Fabian
d36629a836 add_brownfield: remove basename import 2023-02-08 23:58:24 +01:00
Fabian
46e3b16959 prepare sector: harmonize logger infos 2023-02-08 23:20:52 +01:00
Fabian
98e3c7ab2c solve_network: fix kwargs in solve_network 2023-02-08 22:59:36 +01:00
Fabian
3f98ccb9e2 update technology data version 2023-02-08 22:59:25 +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
f4d0415cf0 solve_network: activate co2 seq constraint
Snakefile: retrieve data bundle from pypsaeur function
2023-02-08 18:19:31 +01:00
Fabian Hofmann
d144547d87
Merge branch 'ci-review' into linopy-integration 2023-02-08 15:37:00 +01:00
Fabian
faa95c500c config: modularize solver_options 2023-02-08 15:24:17 +01:00
Fabian
69dabc367f ci: fix test configs 2023-02-08 15:24:17 +01:00
Fabian
6c57b81a4a config: move solver options in dedicated section
test configs: reduce to relative changes
CI: use snakemake --configfile options
2023-02-08 15:24:17 +01:00
Fabian
c25091ce34 solve_network.py: switch to linopy interface 2023-02-08 15:19:32 +01:00
Fabian
c8f601edf8 solve.py: start converting extra_funcionalities 2023-02-08 15:19:32 +01:00
virio-andreyana
d33547efba importing rioxarray instead of xarray to open rasterio file 2023-02-08 11:45:18 +01:00
pre-commit-ci[bot]
9f87099dbb [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-02-07 13:12:55 +00:00
Fabian
efedfa945b build_shapes: replace unary union from shapely by geopandas equivalent 2023-02-07 14:08:59 +01:00
pre-commit-ci[bot]
cb94e5974e [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-02-07 12:20:09 +00:00
Fabian Hofmann
0375359c82
Merge branch 'master' into fix-storage-volumes 2023-02-07 13:19:27 +01:00
pre-commit-ci[bot]
e6ecbc95d7 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-02-06 22:28:32 +00: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
thomgeo
1f9d64c5d5 fixed bug that set max_hours for many plants to 6 2023-02-02 14:59:50 +01:00
Fabian Neumann
5bb35d188e
Merge branch 'master' into ukraine_hackathon 2023-01-30 18:58:55 +01:00
Fabian Neumann
4a2da0a5f4
Update scripts/add_existing_baseyear.py 2023-01-30 11:55:40 +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
27e6039379
Merge branch 'master' into pz-max-patch-2 2023-01-28 08:26:28 +01:00
Fabian Neumann
0681cf93ab fix hydrogen network plotting without retrofitting 2023-01-25 09:08:51 +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
pre-commit-ci[bot]
8bdba5653a [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-01-23 21:27:20 +00:00
virio-andreyana
da6469b80c
Update scripts/build_gas_input_locations.py
Co-authored-by: Fabian Hofmann <hofmann@fias.uni-frankfurt.de>
2023-01-11 10:08:10 +01:00
pre-commit-ci[bot]
0cf6d47afb [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-01-10 21:56:42 +00:00
Max Parzen
9633ab9836
Merge branch 'master' into pz-max-patch-2 2023-01-10 21:56:24 +00:00
Fabian Neumann
8bafaf25f7 plot_network: adjust limits and thresholds 2023-01-07 13:23:33 +01:00
pre-commit-ci[bot]
3c099095dc [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-01-06 20:51:51 +00:00
Fabian Neumann
3d4af04d88 update eia hydro data, fix missing merge conflict 2023-01-06 21:51:33 +01:00
pre-commit-ci[bot]
acc6ee6bfe [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-01-06 17:46:06 +00:00
Fabian Neumann
1ebe53cdac merge master 2023-01-06 18:45:36 +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
ddcaff0b5b plot_network: do not plot very small pipelines 2023-01-03 13:14:16 +01:00
Fabian Neumann
383aef7e1c rename shipping_average_efficiency to shipping_oil_efficiency 2023-01-03 08:38:10 +01:00
virio-andreyana
0cb0ad528a Appending comments for gas_input_locations 2022-12-29 12:14:26 +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
6f901f4c50 restore compatibility with latest master version 2022-12-28 15:43:43 +01:00
Fabian Neumann
520cad53a2 address sum(level) deprecation 2022-12-28 14:11:47 +01:00
Fabian Neumann
cac724fee0 merge master 2022-12-28 13:55:36 +01:00
Fabian Neumann
b9c1fdb65e include methanolisation in PtL 2022-12-28 13:46:31 +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
38fd51fca9 Merge branch 'master' into methanol 2022-12-28 12:22:01 +01:00
Fabian Neumann
d37ffddd4f build_solar_thermal_profiles: parallelize 2022-12-28 12:21:46 +01:00
Fabian Neumann
494d3010eb build_heat_demand: parallelize 2022-12-28 12:21:00 +01:00
Fabian Neumann
097d054f06 build_temperatur_profiles: parallelize 2022-12-28 12:20:34 +01:00
Fabian Neumann
3999afdb5a fixes to methanol implementation 2022-12-28 12:19:20 +01:00
Fabian Neumann
5360eb0a2e Merge branch 'master' of https://github.com/pypsa/pypsa-eur 2022-12-28 09:35:15 +01:00
Fabian Neumann
a08c20d7c8 build_shapes: cleanup shape union of RS and KV 2022-12-28 09:35:11 +01:00
Fabian Neumann
bb5c5bd143 simplify_networks: add control for removing stubs II 2022-12-28 09:34:28 +01:00
Fabian Neumann
e9f3d20432 simplify_networks: add control for removing stubs 2022-12-28 09:33:08 +01:00
Fabian Neumann
bb1b37e8ef address pandas iteritems deprecation 2022-12-27 13:16:05 +01:00
Fabian Neumann
70d07d561f address pandas deprecations 2022-12-27 11:42:32 +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
Max Parzen
545a734b7b
Merge branch 'master' into pz-max-patch-2 2022-12-16 12:20:58 +00:00
Max Parzen
9e61e30ff4
Fix EQ constraint in case no hydro exist 2022-12-16 11:00:39 +00:00
Max Parzen
b7899787cf
Fix load variable in reserve constraint 2022-12-16 10:50:20 +00:00
virio-andreyana
e1776518c0 Merge remote-tracking branch 'origin/update-lng-ports' into update-lng-ports 2022-12-15 12:20:05 +01:00
virio-andreyana
55ff725e3b Final edit to update LNG ports. Remove unused files 2022-12-15 11:42:21 +01:00
virio-andreyana
d37cd49f7d add script for retrieving lng terminals 2022-12-14 12:26:16 +01:00
virio-andreyana
01f48a50e7 Replacing the IGGIELNG_LNG data with Europe-Gas-Tracker 2022-12-14 12:26:16 +01:00
virio-andreyana
4f3510e3cc Replacing the IGGIELNG_LNG data with Europe-Gas-Tracker 2022-12-07 10:36:54 +01:00
Fabian Neumann
0c62bfc9ee complete methanol for shipping 2022-12-03 12:22:05 +01:00
lisazeyen
5b256bfa5d take VOM for RES from existing 2022-11-28 16:56:42 +01:00
Fabian Neumann
c44f1d61c7 remove hard-coded methanol efficiency 2022-11-27 18:28:57 +01:00
pre-commit-ci[bot]
94e5f160b0 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-11-25 10:16:23 +00:00
martacki
643a62049b solve_network: move extra_functionality to args 2022-11-25 11:08:35 +01:00
Fabian
df4eb85a19 fix typos 2022-11-18 09:08:07 +01:00
Fabian
727688749c build_bus_regions: fix shapely deprecation 2022-11-15 07:45:13 +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
a73eea9379 update solve_network 2022-11-09 17:14:44 +01:00
Fabian
6d972600b1 clustering: remove old dependency 2022-11-09 17:04:31 +01:00
Fabian
992efcaa91 solve_network: fix net vres share 2022-11-09 16:50:05 +01:00
Huang, Jiangyi
80868e5f0f
Update make_summary.py
The value for `na_action` needs to be "ignore" or "None".
2022-11-03 13:46:20 +01:00
Fabian
0b2989c987 build_natura_raster: fix out_shapes 2022-10-31 11:47:21 +01:00
pre-commit-ci[bot]
dcd16e32a8 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-10-25 13:23:20 +00:00
Adrian Odenweller
73b0645c13 Fix network directory path in make_summary 2022-10-25 14:29:07 +02:00
Fabian Neumann
1611d63a8a
Merge branch 'master' into nh3 2022-10-01 16:01:39 +02:00
lisazeyen
9a74e3d699 set co2seq to limit of sequestration potential 2022-09-29 09:12:36 +02:00
nnhjy
d29441d871 update deprecated syntax 2022-09-28 20:33:50 +02:00
lisazeyen
7606562449 update sector opt for co2 seq potential 2022-09-28 16:09:53 +02:00
pre-commit-ci[bot]
85d01bceb0 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-09-19 14:34:48 +00:00
Philipp Glaum
c8b67776fa Merge branch 'master' into exclude_carrier_clustering 2022-09-19 16:34:21 +02:00
Fabian
e2a4140663 add_electricity: calculate marginal costs from plant efficiency 2022-09-19 13:08:03 +02:00
Philipp Glaum
d51ca8695b update Fabians comments 2022-09-19 11:46:58 +02:00
Fabian
9b570a53b4 tiny doc formatting fixes 2022-09-16 15:20:10 +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
Fabian
1536cc2787 codespell: fix typos
Snakefile: fix unformattable parst
pre-commit: fix codespell ignore
2022-09-16 14:36:43 +02:00
Philipp Glaum
24e008a98e add feature: aggregate carrier exclusion 2022-09-16 14:25:15 +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
Fabian
a59e54e659 follow up: fix extendable carriers 2022-09-14 15:17:42 +02:00
Fabian
59b76d8a99 add_electricity 2022-09-12 11:13:41 +02:00
Philipp Glaum
a4c5fbfa28 add_elec: add variable voltage angle input 2022-09-07 11:58:44 +02:00
Fabian
454ffa7068 line-rating: remove wildcard from opts 2022-09-06 17:43:22 +02:00
Fabian
8798b3e203 line-rating: adjust config keys 2022-09-06 16:40:00 +02:00
Fabian
2eb26f7334 address #314 2022-09-05 12:55:46 +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
b42e76040d small clean up 2022-08-09 21:30:45 +02:00
Fabian Hofmann
10b909e691
Merge branch 'master' into patch-1 2022-08-09 16:52:04 +02:00
Irieo
1920c2bae1 temporary fix of DateIn and DateOut 2022-08-09 15:30:58 +02:00
Zoltán Marić
07ff021a6e
Use geomap=True for plotting existing lines
Since https://github.com/PyPSA/PyPSA/commit/e754928e#diff-1ffb543f39b9a9c1d00adfc3fb2c1a89c905c56e00b9ede9178787a8148dc0eeR210 PyPSA raises an exception for plots that have geo axes but use `geomap=False`.
2022-08-09 12:09:07 +02:00
lisazeyen
2994c91173 add bioenergy to add_existing 2022-08-08 15:28:04 +02:00
lisazeyen
58b018e624 drop powerplants which are already decommissioned 2022-08-08 13:52:41 +02:00
lisazeyen
ce6b92dd6d add options to aggregate snapshots temporally 2022-08-08 08:53:07 +02:00
Fabian Neumann
c1a7a5476f plot_network: geomap for PyPSA 0.20 2022-08-05 17:44:31 +02:00
Fabian Neumann
a65cf7cac4 make_summary: add weather_year wildcard to multiindex 2022-08-05 17:44:08 +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
Fabian Hofmann
e0862c6f23
Merge branch 'master' into fix_pm_no_techtype 2022-08-04 16:16:34 +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
Irieo
f20203e623 fix NaN techtype & fix wrong tech for Nuclear 2022-08-04 15:25:00 +02:00
Fabian Neumann
9cf5be84fd bugfix: solve_network should look for wildcard sector_opts 2022-08-03 17:07:19 +02:00
Fabian Neumann
286520f396 compatibility: fix plotting for new pypsa version 2022-08-03 17:06:41 +02:00
Philipp Glaum
29cc8021b9 build_ship_raster: make file deletion windows compatible 2022-08-03 16:13:27 +02:00
Fabian Neumann
d569d3782c fix windows for build_ship_raster 2 2022-08-02 18:25:24 +02:00
Fabian Neumann
adbfe8b5dc fix windows for build_ship_raster 2022-08-02 16:44:24 +02:00
Fabian Neumann
09d126706e
Merge branch 'master' into shipping_raster 2022-08-02 15:01:05 +02:00
lisazeyen
34a3d9aaad remove depreciated distutils.version 2022-08-02 09:27:37 +02:00
lisazeyen
7c3b4b6664 split grouping years for power and heat techs 2022-08-02 09:18:06 +02:00
lisazeyen
339ccc6026 remove snakemake dependencies 2022-08-02 09:16:25 +02:00
lisazeyen
a11f7bc245 remove not needed pop_layout from plot_summary 2022-08-02 08:47:46 +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
18f4eac351 adjust script to new grouping years 2022-08-01 15:24:07 +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
26e7e1246b operations: final iteration one step later 2022-08-01 12:14:45 +02:00
Fabian Neumann
574b77fcc3 operations: add final iteration until end-of-year 2022-08-01 12:11:41 +02:00
Fabian Neumann
26b21144c6 operations: add some comments on multiyear contiguity 2022-08-01 12:03:24 +02:00
Fabian Neumann
64e1ef895d add rules to solve operations with perfect and myopic foresight 2022-08-01 11:55:31 +02:00
Fabian Neumann
d4fa922a2a drop_leap_days when aggregating snapshots 2022-07-29 21:19:26 +02:00
Fabian Neumann
ee0c69727f leap_days need to be filtered for daily data too in heat 2022-07-29 20:29:35 +02:00
Philipp Glaum
ba7a5363e7 update Fabians review comments 2022-07-29 14:56:39 +02:00
Fabian Neumann
aa9f047abb add option for artificial load 1951-2021, rather than OPSD 2022-07-29 13:38:21 +02:00
Philipp Glaum
8af09d9bec fix raster format error due to import 2022-07-28 15:21:21 +02:00
Philipp Glaum
6d070a19e0 initial ship raster implementation 2022-07-28 10:38:24 +02:00
Fabian Neumann
bfcc08665d make resolution of exclusion calculation a configurable option 2022-07-27 13:40:41 +02:00
Fabian Neumann
d2b8e3c3d2
Merge pull request #389 from PyPSA/meta
store config and wildcards in n.meta
2022-07-27 10:01:51 +02:00
Fabian Neumann
a1507124f6 Merge branch 'release-v0.5' into meta 2022-07-27 09:43:36 +02:00
Fabian Neumann
060bc49223 helpers: make copy of snakemake.config to avoid non-serializable JSON 2022-07-27 09:26:21 +02:00
Fabian Neumann
8d132464bd
Merge branch 'release-v0.5' into introduce_modularity_clustering 2022-07-27 09:04:39 +02:00
Fabian Neumann
cdd063d3b0 scripts: remove deprecated clustering methods, remove unused imports 2022-07-27 09:02:34 +02:00
lisazeyen
530e453eba
Merge pull request #251 from PyPSA/cf-sector-opts
option to specify any config through sector opts with CF+<label>+<value>
2022-07-26 15:53:49 +02:00
Fabian Neumann
87388d4b4a update author affiliations 2022-07-26 15:32:48 +02:00
Fabian Neumann
8fc0c57ed6 update copyright years 2022-07-26 15:05:59 +02:00
Fabian Neumann
239dcfdd1e
Merge branch 'master' into introduce_modularity_clustering 2022-07-26 14:04:56 +02:00
Fabian Neumann
31bc87adba
Merge branch 'master' into meta 2022-07-26 14:02:26 +02:00
Fabian Neumann
aff5e09195 hydro: store corrected eia stats 2022-07-25 17:04:56 +02:00
Fabian Neumann
0bad2097b0 interpolate heat demands for years outside 2007-2015 2022-07-25 14:35:54 +02:00
Fabian Neumann
2791e7bdc2 use packaging.version instead of deprecated distutils.StrictVersion 2022-07-25 14:27:31 +02:00
Fabian Neumann
96b599aedd use numpy instead of sklearn for regressino 2022-07-25 11:52:51 +02:00
Fabian Neumann
503ecd2907 use + separator instead of : 2022-07-24 21:27:12 +02:00
Fabian Neumann
a65dd4e6c2 use snakemake.utils.update_config instead of mergedeep 2022-07-24 21:26:19 +02:00
Fabian Neumann
614909201a energy_totals: transport sector requires specific year 2022-07-23 17:06:14 +02:00
Fabian Neumann
f70f006a47 energy_totals: co2 calculation with eurostat 2021 data 2022-07-23 17:05:56 +02:00
Fabian Neumann
ba8b3f9ce7 energy_totals: combined energy totals for all years 2022-07-23 17:05:07 +02:00
Fabian Neumann
eee6651d12 energy_totals: fetch all years 2000-2015 from IDEES 2022-07-23 11:19:37 +02:00
Fabian Neumann
d47a9aac72 energy_totals: update eurostat to 2021 2022-07-23 10:37:32 +02:00
Fabian Neumann
16bd4b6c2c fix snapshot creation based on weather year 2022-07-22 19:14:00 +02:00
Fabian Neumann
f52c8cd974 merge master 2022-07-22 18:30:16 +02:00
Fabian Neumann
af96af1329 hydro: approximation routine for missing eia years and correction by capacity 2022-07-22 15:03:54 +02:00
Fabian Hofmann
b5308fa72b
Merge branch 'master' into technology-data 2022-07-21 17:03:36 +02:00
Fabian Hofmann
3ba7e2ab90
Merge branch 'master' into technology-data 2022-07-21 15:36:12 +02:00
Fabian Neumann
b171614fea must parse fixed_year to string 2022-07-20 16:37:22 +02:00
Fabian Neumann
d2b2842a37 Merge branch 'master' into multiyear 2022-07-20 15:18:42 +02:00
Fabian Neumann
b04a55a248 merge former countries hydro profiles 2022-07-20 15:03:48 +02:00
Fabian Neumann
4ec95fa90e hydro: distribute eia data for former countries to successor states by ratio 2022-07-20 13:01:14 +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
Martha Frysztacki
b63385444c
Merge branch 'master' into introduce_modularity_clustering 2022-07-19 09:51:06 +02:00
Fabian Neumann
a860643dd8 reduce number of columns for simplified and clustered regions 2022-07-18 17:28:09 +02:00
martacki
387271b03b new spatial clustering method: modularity 2022-07-13 14:51:48 +02:00
Fabian Neumann
adc0dd1e0c fix unit conversion for thermal energy storage (closes #247) 2022-07-11 15:46:21 +02:00
Julio Pascual
5d98cc7e97
Update build_load_data.py 2022-07-04 18:53:41 +02:00
Julio Pascual
433f0af409
Update build_load_data.py 2022-07-04 18:51:49 +02:00
Julio Pascual
ce3b193a88
Update add_electricity.py 2022-07-04 18:42:22 +02:00
Julio Pascual
0d9ffdcee3
Update build_load_data.py 2022-07-04 18:41:08 +02:00
Julio Pascual
44f793be91
Changed doc info in retrieve_databundle.py
Simply changed the text regarding the output directory. It said 'cutouts/bundle' but I think it should be 'data/bundle'. It only affects the documentation.
2022-07-04 11:49:55 +02:00
Fabian Neumann
3986856282 merge master 2022-07-01 10:13:33 +02:00
Fabian Neumann
5082c8761b
Merge pull request #245 from PyPSA/bus_units
Document units of bus carriers
2022-06-30 17:43:14 +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
27e5dec4e6 documentation fixes 2022-06-30 09:01:49 +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
Fabian Neumann
217780263d store config and wildcards in n.meta 2022-06-30 08:39:03 +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
67ac464b6a add_electricity: use conventional_inputs from snakemake.input for attach_conventional_generators 2022-06-28 16:33:46 +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
Fabian Hofmann
e175d1aa0e
Merge branch 'eu-energy-security' into eu-energy-security-conventional-attrs 2022-06-28 13:22:39 +02:00
Fabian Hofmann
82013fd081
Update scripts/add_electricity.py
Co-authored-by: Martha Frysztacki <martha.frysztacki@kit.edu>
2022-06-28 13:16:55 +02:00
Fabian Hofmann
3294ad92eb
Update scripts/solve_network.py
Co-authored-by: Martha Frysztacki <martha.frysztacki@kit.edu>
2022-06-28 13:14:47 +02:00
Fabian
9d997fbd79 generalize conventional attr handling through config 2022-06-28 10:14:26 +02:00
Fabian Neumann
74f8ca1c7f
Merge branch 'master' into eu-energy-security 2022-06-28 08:09:39 +02:00
Fabian Neumann
971e970250
Merge branch 'master' into landlock-fix-alterative 2022-06-28 07:47:13 +02:00
martacki
29fe0fb7fb hierarchical clustering: account for changes from merging master 2022-06-27 21:02:45 +02:00
Martha Frysztacki
50a518a155
Merge branch 'master' into introduce_hac_clustering 2022-06-27 20:45:40 +02:00
Fabian Neumann
51de606aab
Revert "remove build/retrieve natura raster, directly use shapefile" 2022-06-27 19:00:41 +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
b56d1f6f4d conventional config section: update to more general attribute assignment scheme 2022-06-27 17:35:19 +02:00
martacki
a3af137b74 clustering strats to configurables: move duplicate code to _helpers script & import 2022-06-27 14:18:47 +02:00
Martha Frysztacki
5587327be3
Merge branch 'master' into harmonize_clustering_strategies 2022-06-27 14:02:45 +02:00
Fabian Hofmann
8349e85252
Apply suggestions from code review
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2022-06-27 11:48:45 +02:00
Fabian Neumann
4d79a0dc96
Apply suggestions from code review 2022-06-27 10:23:22 +02:00
Fabian Neumann
9c6c6d243f
Adaptations to match current PyPSA-Eur version 2022-06-27 10:21:08 +02:00
Fabian Neumann
8e57d68b73
Merge branch 'master' into landlock-fix-alterative 2022-06-27 09:44:42 +02:00
Fabian Neumann
5ca231824e
Merge branch 'master' into eu-energy-security 2022-06-27 08:58:37 +02:00
Fabian Neumann
520f7e440e
Merge branch 'master' into technology-data 2022-06-25 11:05:41 +02:00
Fabian Neumann
4e8d510332
Merge branch 'master' into rm-raster-natura 2022-06-24 23:12:39 +02:00
martacki
c9c738e96b clustering strats to configurables: set defaults for yaml-incompatible strats + include in stubaggregation 2022-06-24 20:57:53 +02:00
Fabian Neumann
4c5ec8e5f1
Merge branch 'master' into introduce_hac_clustering 2022-06-24 20:22:47 +02:00
Fabian Neumann
2a55ad2162
Merge branch 'master' into load-shedding-carrier 2022-06-24 20:19:37 +02:00
Fabian Neumann
d321b2b762 resolve merge conflicts 2022-06-24 20:15:32 +02:00
Martha Frysztacki
4722099a7b
Merge branch 'master' into harmonize_clustering_strategies 2022-06-24 20:10:05 +02:00
Fabian Neumann
ac966c0a99
Merge branch 'master' into bugfixes_manual_load 2022-06-24 19:57:16 +02:00
Fabian Neumann
34c75fc59e
Merge branch 'master' into harmonize_clustering_strategies 2022-06-24 19:49:26 +02:00
Fabian
3dbd8d1492 add_electricity: fix read_csv 2022-06-24 18:31:39 +02:00
Fabian Hofmann
17d7403f20
build_powerplants: apply suggestions from code review
Co-authored-by: Martha Frysztacki <martha.frysztacki@kit.edu>
2022-06-24 15:34:26 +02:00
Fabian
a019034f80 Merge branch 'master' into eu-energy-security 2022-06-24 15:28:07 +02:00
Fabian
c42d2bd97d refactor save to geojson file functionality to allow import/export of empty geodfs 2022-06-24 15:11:21 +02:00
Fabian
75f9719076 build_renewable_profiles: use LocalCluster instance 2022-06-24 14:07:51 +02:00
Fabian
d18867ce61 build_renewable_profiles: use dask client instead of kwargs 2022-06-23 21:27:18 +02:00
Fabian
b581e7afc6 build_hydro_profiles: revert changes 2022-06-23 21:19:41 +02:00
Fabian
0fd7d689a1 Merge branch 'master' into eu-energy-security 2022-06-23 20:53:43 +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
2c5643a5f8 add_electricity: fix conventional config 2022-06-23 16:36:22 +02:00
Fabian Hofmann
348b14b052
Update scripts/build_hydro_profile.py
Co-authored-by: Martha Frysztacki <martha.frysztacki@kit.edu>
2022-06-23 16:15:37 +02:00
Fabian Hofmann
d6930b878a
Update scripts/cluster_network.py
Co-authored-by: Martha Frysztacki <martha.frysztacki@kit.edu>
2022-06-23 16:14:20 +02:00
Fabian
441d7d56f9 fix eafs and conventional setttings 2022-06-23 16:04:49 +02:00
Fabian Hofmann
db78f9cd2a
Update scripts/add_electricity.py
Co-authored-by: Martha Frysztacki <martha.frysztacki@kit.edu>
2022-06-23 15:54:22 +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
Martha Frysztacki
e004b27f40
Merge branch 'master' into harmonize_clustering_strategies 2022-06-21 18:44:28 +02:00
martacki
bdd0cc3aa1 clustering strats to configurables: review suggestions 2022-06-21 18:42:49 +02:00
Fabian Neumann
fe5467e4e4
Merge branch 'master' into fix_snakemake_error 2022-06-21 16:21:32 +02:00
Fabian Neumann
cc657b7628
Update scripts/_helpers.py 2022-06-21 16:21:21 +02:00
Philipp Glaum
51ff3f02bb helpers: check snakemake version for bug fix 2022-06-21 16:13:16 +02:00
Fabian Hofmann
6fb3520fc1
Merge branch 'master' into eu-energy-security 2022-06-21 14:12:43 +02:00
martacki
bef4967e84 clustering strategies moved to configurables 2022-06-20 18:58:23 +02:00
Fabian Hofmann
8c704c024e
Merge branch 'master' into cluster-strategy-conventionals 2022-06-20 18:23:02 +02:00
Fabian
c2413aeef4 cluster-network: add strategies for conventionals 2022-06-20 18:20:28 +02:00
Philipp Glaum
5df588ccb8 fix snakemake error introduced after v7.7.0 2022-06-20 12:45:28 +02:00
Fabian Neumann
173ab7b318 add_electricity: make drop_leap_year own function 2022-06-16 09:00:33 +02:00
Fabian Neumann
6713317bbe add_electricity: fix missing variable assignment 2022-06-16 08:46:47 +02:00
Fabian Neumann
9f9e65afb1 add missing handling of weather_year wildcard 2022-06-15 15:18:07 +02:00
Fabian Neumann
ec4a45b46b add weather_year wildcard to mock_snakemake objects 2022-06-15 15:03:17 +02:00
Fabian Hofmann
bebbb003e5
Merge branch 'master' into eu-energy-security 2022-06-15 15:02:21 +02:00
Fabian Neumann
8055e45b68 combine time selection with weather year 2022-06-15 14:56:46 +02:00
Fabian Neumann
e9b3cb7558 add_electricity: remove unused load data handling 2022-06-15 14:02:19 +02:00
Fabian Neumann
ff2de7066f remove upstream deleted build_country_flh 2022-06-15 14:01:27 +02:00
Fabian Neumann
91ca07d72f add option to specify deviating norm year for hydro 2022-06-15 14:00:47 +02:00
Fabian Neumann
4a44c45ace add option to cut Feb 29 in leap years 2022-06-15 13:51:56 +02:00
Fabian Neumann
2b43f43006 add more versatile cutout building with weather years 2022-06-15 13:51:08 +02:00
Fabian Neumann
6d260435a6 allow fixed load data year deviating from snapshots 2022-06-15 13:50:00 +02:00
Fabian Neumann
fa66c50dc1 merge master 2022-06-15 09:29:19 +02:00
Fabian Neumann
9a37fe6572 merge master 2022-06-15 09:22:51 +02:00
Fabian Hofmann
6b9932f5e8
build_renewable_profiles: set show progress default to False 2022-06-14 15:24:10 +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
1c0975181e add_electricity: fix missing config key 2022-06-10 11:23:35 +02:00
Fabian
13992125bd cluster_network: adjust generator strategy for new columns 2022-06-10 11:23:26 +02:00
Fabian
f5a9a27a5d Merge branch 'eu-energy-security' of github.com:PyPSA/pypsa-eur into eu-energy-security 2022-06-10 00:36:55 +02:00
Fabian
c68aa028ff add_electricity: fix missing config key 2022-06-10 00:36:07 +02:00
Fabian Hofmann
12bed0745d
Merge branch 'master' into eu-energy-security 2022-06-09 23:41:48 +02:00
Fabian
f45803ff10 add_electricity: fix missing backwards compat and warnings 2022-06-09 23:40:32 +02:00
Fabian
76cd0751b4 Merge branch 'eu-energy-security' of github.com:PyPSA/pypsa-eur into eu-energy-security 2022-06-09 20:36:35 +02:00
Fabian
0ec3a8638b add_electricity & config:
- refactor attachment of conventional carriers
  - refactor scaling of renewable carriers
2022-06-09 20:31:50 +02:00
zoltanmaric
1a7b439f2d Remove usages of retrieve_snakemake_keys 2022-06-08 17:32:33 +02:00
martacki
cd92d8092b plot_summary: remove deprecated retrieve_snakemake_keys function 2022-06-08 15:49:06 +02:00
Fabian Neumann
a2f39abee2
Merge branch 'master' into voronoi 2022-06-07 15:23:30 +02:00
Fabian
8b855f0478 add_elecitricity: scale only missing renewable capacities from OPSD 2022-06-07 15:17:49 +02:00
Fabian Hofmann
bdd094d796
Update scripts/build_bus_regions.py 2022-06-07 15:01:40 +02:00
Fabian Hofmann
97fbf77ff8
Update scripts/build_bus_regions.py 2022-06-07 15:01:18 +02:00
Fabian Hofmann
aa867cb704
Update scripts/build_bus_regions.py
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2022-06-07 15:00:57 +02:00
Fabian Neumann
d5db3b8d80
Update scripts/build_bus_regions.py
Co-authored-by: Fabian Hofmann <fab.hof@gmx.de>
2022-06-07 10:57:01 +02:00
Fabian Hofmann
619b471f72
Merge branch 'master' into eu-energy-security 2022-06-07 10:05:11 +02:00
Fabian Neumann
b025622edf fix agriculture machinery oil load with spatial.oil.nodes 2022-06-03 14:29:23 +02:00
Max Parzen
b6032fb891 fix crs bug 2022-05-28 14:48:32 +01: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
martacki
2e4c30e28e abbreviate 2022-04-29 15:18:22 +02:00
martacki
8a49697a51 bugfixes for manual load adjustments 2022-04-29 15:09:10 +02:00
martacki
ac7c94337e respect stores for supply.csv 2022-04-29 13:51:54 +02:00
martacki
d12405d848 respect stores for energy_supply.csv 2022-04-29 13:48:58 +02:00
martacki
dcac3ea6e1 respect stores in make_summary script 2022-04-28 12:59:25 +02:00
Fabian
548e955449 add_electriticity: add capital costs for conventionals 2022-04-28 12:30:53 +02:00
Fabian
b1edbd7563 add_electricity: determine p_nom_extendable when adding conventionals 2022-04-27 20:13:36 +02:00
Philipp Glaum
da5a5141f8 solve_network.py: fix filter bug 2022-04-21 09:54:52 +02:00
Fabian
175a030a9f refactor add_minRenew_constraints 2022-04-20 16:18:15 +02:00
Fabian
70cfe4bbe5 cluster_network: replace np.sum/np.min by pandas.Series.sum/min 2022-04-20 15:47:50 +02:00
Fabian Neumann
49f1c0f629
Merge pull request #348 from PyPSA/annuity
add_electricity: remove vresutils.costdata.annuity dependency
2022-04-15 18:36:37 +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
a9b4ca8370 build_powerplants: use index numbering only for biomass gens 2022-04-11 21:28:54 +02:00
Fabian
dad065f22f hard pull build_powerplants from eu-security branch 2022-04-11 21:24:49 +02:00
Fabian
61ccaa495a add_electricity: enable scaling existing capacities, enable scaling to config entries 2022-04-11 21:11:24 +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
a3d6e296e8
Merge branch 'master' into eu-energy-security 2022-04-08 19:56:26 +02:00
Fabian Neumann
4712bfc893 fix nuclear EAF processing code 2022-04-08 19:55:40 +02:00
Fabian Neumann
8af21f3355 Merge remote-tracking branch 'origin/eu-energy-security' into results-dir 2022-04-08 15:46:37 +02:00
euronion
c412a61013
Add country-specific EAF restriction for NPPs. (#361)
* Add country-specific EAF restriction for NPPs.

Based on historic figures from IAEA.

* Update release_notes.rst
2022-04-08 15:41:23 +02:00
Fabian Neumann
6aefcee030 Merge branch 'eu-energy-security' into results-dir 2022-04-08 15:28:57 +02:00
Fabian
40425a7767 build powerplants: use map_country bus function for bus attachement 2022-04-08 15:25:05 +02:00
Fabian Neumann
50ca0d0ddc Merge branch 'eu-energy-security' into results-dir 2022-04-08 14:51:10 +02:00
Fabian
65790cd065 build_powerplants: remove non-assigned ppls 2022-04-08 14:34:52 +02:00
Fabian
d53487f822 build_powerplants: fix duplicated names per bus 2022-04-08 14:23:33 +02:00
Fabian Neumann
40c882f0e9 solve: allow to parse load shedding cost in config 2022-04-08 13:19:25 +02:00
Fabian Neumann
4a18d59789 Merge branch 'eu-energy-security' into results-dir 2022-04-08 12:34:11 +02:00
Fabian
e37a3f57ab adjust biomass capacities 2022-04-08 12:23:24 +02:00
Fabian Neumann
2403650be2 prepare: allow varying emission prices in opts wc: e.g. Ep80.5 2022-04-08 10:27:55 +02:00
Fabian Neumann
02c06017d3 prepare: add gas consumption limit through wildcard: CH4L 2022-04-08 10:27:23 +02:00
Fabian Neumann
bd75953674 add logging to co2limit2 2022-04-08 10:26:38 +02:00
Fabian Neumann
f9ede37a02 allow varying marginal cost of carrier in opts wc: CCGT+m2.0 2022-04-08 10:26:16 +02:00
Fabian Neumann
e6fec5b3c8 scripts: fix bug and add estimate renewable from IRENA 2022-04-08 09:53:11 +02:00
Fabian Neumann
630fb9783f fix to operational reserve margin to work without any extendable gens 2022-04-07 17:20:56 +02:00
Fabian Neumann
84e146834c Apply suggestion from code review to add switch 2022-04-07 15:22:10 +02:00
Fabian Neumann
3678e5c523 Add operational reserve margin constraint analogous to GenX
Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de>
2022-04-07 14:39:34 +02:00
Fabian Neumann
4862dcf865
Merge pull request #357 from PyPSA/hvdc-links
Hvdc links
2022-04-05 17:13:15 +02:00
Fabian Neumann
bfcc20aa13
Revert "update TYNDP links which are already built" 2022-04-05 17:10:12 +02:00
Fabian Neumann
51dffbefa3 add gas usage limit constraint 2022-04-05 16:59:51 +02:00
Fabian Neumann
9812e64e82 resolve cherry merge conflict 2 2022-04-05 16:34:02 +02:00
Fabian Neumann
7a52b6bc45 resolve cherry merge conflict 1 2022-04-05 16:22:31 +02:00
Fabian Neumann
aa6e98a563 label built TYNDP links as not under_construction 2022-04-05 16:11:02 +02:00
Fabian Neumann
eca4a017db implement TYNDP link overriding for link_id not oid 2022-04-05 16:07:30 +02:00
Fabian
1fd6a685ab powerplants: filter out powerplants with shut down date < 2021 2022-04-05 15:12:01 +02:00
Fabian
f878faac73 add_electricity: allow estimate_renewable_capacities to be commented out 2022-04-05 08:02:44 +02:00
Fabian Neumann
cb9730118b
Merge branch 'eu-energy-security' into renewable-caps 2022-04-04 19:04:44 +02:00
Fabian Neumann
ade22bf4f0 add existing wind and solar capacities based on IRENASTATS 2022-04-04 19:03:09 +02:00
Fabian
7bc9b8012c powerplants: update to ppm >= v0.5.1 2022-04-04 18:07:48 +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
Philipp Glaum
17337070f1 solve_network script and config: add base load constraint 2022-03-31 16:29:52 +02:00
Fabian Neumann
a7e407944c
Merge branch 'master' into issue-301 2022-03-29 09:24:40 +02:00
Fabian Neumann
621520a7b2
Merge branch 'master' into rm-raster-natura 2022-03-29 09:18:43 +02:00
Fabian Neumann
a4132919a0
Merge branch 'master' into voronoi 2022-03-29 09:08:35 +02:00
Fabian Neumann
a05881479c build_bus_regions: move voronoi partition from vresutils to script 2022-03-28 15:17:55 +02:00
Seth
c37171b01d feedback code review (opts argument and unpacking) 2022-03-28 13:42:55 +02:00
Seth
e45c7a65ff
Apply suggestions from Martha's code review
Co-authored-by: Martha Frysztacki <martha.frysztacki@kit.edu>
2022-03-28 12:10:51 +02:00
Fabian Neumann
7fee2944d8
Merge branch 'master' into rm-raster-natura 2022-03-28 12:07:33 +02:00
Seth
3c5212826e
Merge branch 'PyPSA:master' into fix-plotnetworkrule 2022-03-28 11:54:47 +02:00
Philipp Glaum
0aace90b9d Merge branch 'master' into line-rating 2022-03-25 14:44:20 +01:00
Fabian Neumann
03e6764a9d
Merge branch 'master' into issue-301 2022-03-25 13:46:46 +01:00
Fabian Neumann
c54ddab4a3 remove unused simple_hvdc_costs 2022-03-24 14:47:00 +01:00
Fabian Neumann
1a82b87587 skip iterations if no lines are expandable 2022-03-24 14:30:28 +01:00
Fabian Neumann
7f6a00cfce
Merge branch 'master' into rm-raster-natura 2022-03-24 14:19:14 +01:00
martacki
7f29c31abe .copy() shortcut 2022-03-24 13:17:01 +01:00
martacki
8cb4c17930 unify vre treatment for hac clustering for simplify_network and cluster_network 2022-03-22 16:53:05 +01:00
lisazeyen
03fca360ff style improvement 2022-03-21 09:14:15 +01:00
Fabian Neumann
7ba1f26eb8 must read NATURA shape before add_geometry 2022-03-20 20:56:38 +01:00
Fabian Neumann
5a7c0d7967 remove build/retrieve natura raster, directly use shapefile 2022-03-20 10:03:17 +01:00
Fabian Neumann
ca94709ed3 use snakemake.threads in build_renewable_profiles 2022-03-20 09:50:38 +01:00
Philipp Glaum
e46ddb3985 solve_network: add constraint for min renewable capacities 2022-03-18 14:48:34 +01:00
lisazeyen
71a8bc6c96 use define spatial for all conventionals, add lifetime for H2 storage 2022-03-18 13:46:40 +01:00
Philipp Glaum
b4c31f8889 add renewable share constraint 2022-03-18 12:44:57 +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
euronion
acd436ab07 Merge branch 'ukraine_hackathon' of https://github.com/PyPSA/pypsa-eur into ukraine_hackathon 2022-03-18 08:58:11 +01:00
euronion
28d02a8d37 Update build_renewable_profiles.py 2022-03-18 08:58:04 +01:00
Fabian
eda9212dfd build_load_data: fix UA and MD time series for subset of year 2022-03-17 18:36:46 +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
euronion
3e14156709 Add land cover analysis for MD, UA (Quick & Dirty). 2022-03-17 17:56:13 +01:00
Martha Frysztacki
69c0341145
Merge branch 'master' into introduce_hac_clustering 2022-03-17 17:40:46 +01:00
martacki
4c1c5e3a4e suggestions by coroa and fneum 2022-03-17 17:38:30 +01:00
Fabian Neumann
d6f4b3b254 powerplants: assume 'natural gas' is OCGT 2022-03-17 16:43:23 +01:00
Fabian Neumann
b23b3ff1a7
Merge branch 'master' into ukraine_hackathon 2022-03-17 08:48:58 +01:00
Fabian
1f788e0d5b cluster_network: replace np.sum/np.min by pandas.Series.sum/min 2022-03-16 16:16:15 +01:00
Seth
0384b4ff83 fix the plot_network snakemake rule 2022-03-10 13:55:53 +01:00
martacki
85834ba8e7 remove xagg 2022-03-07 13:48:19 +01:00
Martha Frysztacki
3e07fdfd54
Merge branch 'master' into introduce_hac_clustering 2022-03-07 11:44:29 +01:00
martacki
d2af983378 distribute electricity demand in ua and md based on GDP data 2022-03-05 11:21:37 +01:00
martacki
025dd35878 GDP for UA and MD (draft) - not working yet! 2022-03-04 20:02:27 +01:00
martacki
d1d42213b1 MD load data totals (IEA) 2022-03-04 20:00:52 +01:00
martacki
3fa8f91e73 make_summary followup on snakemake dependencies removal 2022-03-04 16:29:47 +01:00
martacki
f52b252fee UA load data (entsoe transparency 2018) 2022-03-04 16:04:46 +01:00
Fabian
d16f24fc07 follow up 2022-03-03 23:08:29 +01:00
Fabian
8700f63cdb solve_network: fix load shedding attributes 2022-03-03 18:13:54 +01:00
martacki
b63271f12f release_notes, old format of base_network with updated docstrings 2022-03-03 17:16:23 +01:00
Martha Frysztacki
49cd51f463
Merge branch 'master' into update-entsoe-gridextract 2022-03-03 16:38:06 +01:00
Fabian
b7436da57e Merge branch 'master' of github.com:PyPSA/pypsa-eur into line-rating 2022-03-03 01:13:28 +01:00
Fabian
752ff28538 cluster_network.py: allow cluster wildcard to be 'all' 2022-03-02 14:43:04 +01:00
FabianHofmann
7d7b3d4cf9 Merge branch 'master' of github.com:PyPSA/pypsa-eur into line-rating 2022-03-02 14:14:56 +01:00
Fabian Neumann
8dafb7bc83
fix custom clustering by checking explicitly for series (#318) 2022-02-27 08:07:11 +01:00
Philipp Glaum
caaca688c4 add_electricity: add optional clipping and small changes 2022-02-23 12:06:51 +01:00
Philipp Glaum
7e692f01e3 adjust s_max_pu clipping 2022-02-21 09:18:20 +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
cd2078849a remove misplaced code snippet 2022-02-18 11:33:30 +01:00
Fabian Neumann
4397f1fd0c minor fixes 2022-02-18 11:32:06 +01:00
Fabian Neumann
df285a001e merge master 2022-02-18 11:25:38 +01:00
Fabian Neumann
52b0d29fae merge master 2022-02-18 10:24:26 +01:00
Philipp Glaum
86942b0afc add_electricity: fix minor bug and clip s_max_pu_cap values 2022-02-17 14:50:11 +01:00
Martha Frysztacki
6b6191734c
Merge branch 'master' into update-entsoe-gridextract 2022-02-16 21:41:28 +01:00
Fabian
1d975bb814 build_line_rating: apply black style 2022-02-16 14:32:33 +01:00
Fabian
75b695eed4 line-rating: clip s_max_pu to account for max voltage angle difference 2022-02-16 14:29:44 +01:00
Koen van Greevenbroek
f7ee47238a Fix random state for kmean clustering
When the kmeans algorithm is used to cluster networks, this is not
deterministic by default. The result is that repeated runs of the
`simplify_network` and `cluster_network` rules can and usually do
produce different results that vary somewhat randomly. This makes
results less reproducible when given only a pypsa-eur configuration
file.

The fix is to supply a fixed random state to the k-means algorithm.
2022-02-10 15:57:16 +01:00
martacki
82a0338e9f treatment of outliers and small feature-bugfix 2022-02-04 20:27:18 +01:00
martacki
b5dbf4eb32 overwrite country of isolated buses 2022-02-04 17:19:23 +01:00
martacki
256ac48b47 resolve merging master bugs 2022-02-04 16:45:00 +01:00
Philipp Glaum
246d5f5964 fix operations network infeasibilities 2022-02-04 15:58:29 +01:00
Martha Frysztacki
25b3245923
Merge branch 'master' into introduce_hac_clustering 2022-02-04 14:35:14 +01:00
Fabian Neumann
3323f34896 bugfix: also plot h2 corridors where no retrofit 2022-02-04 12:26:58 +01:00
Fabian Neumann
835bfc0f6a bugfix: access right config variables in build renewable profiles 2022-02-01 08:51:47 +01:00
Martha Frysztacki
ff29fda618
Merge branch 'master' into update-entsoe-gridextract 2022-01-31 17:08:56 +01:00
martacki
296fb021cf join skagerrak link 2022-01-31 16:09:42 +01:00
Fabian Neumann
09f1135b51 address pandas 1.4 deprectations 2022-01-29 16:17:46 +01:00
Fabian Neumann
c8c1c3c46e revert ea96d499e7 2022-01-29 15:02:49 +01:00
Martha Frysztacki
9ae8baf71d
Merge branch 'master' into update-entsoe-gridextract 2022-01-28 15:12:36 +01:00
Fabian
4341827952 Merge branch 'line-rating' of github.com:PyPSA/pypsa-eur into line-rating 2022-01-25 16:02:35 +01:00
Fabian
5ee056bb5c add_electricity: add_line_rating: move snakemake arg out of function 2022-01-25 15:57:52 +01:00
Philipp Glaum
8421fb13f1 update config location and wildcards for debugging 2022-01-25 15:22: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
Philipp Glaum
815f9824e9 Merge remote-tracking branch 'origin/master' into line-rating 2022-01-25 08:49:11 +01:00
martacki
6cdf3a2879 use snakemake keywords directly without extracting them beforehand 2022-01-24 19:48:26 +01:00
Martha Frysztacki
c45691d305
Merge branch 'master' into snakemake_dependencies_in_functions 2022-01-24 19:15:06 +01:00
martacki
c4be81eb5e simplify_network: remove snakemake dependencies 2022-01-24 19:13:48 +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
martacki
61a4108e60 update parameter_corrections for updated entsoe gridextract 2022-01-21 17:37:18 +01:00
Philipp Glaum
2a231464f6 bug fix in temperature calculation 2022-01-19 09:33:11 +01:00
Philipp Glaum
bc70819aef update formate and resistance calculation 2022-01-17 08:52:25 +01:00
Qui-Rin
9f0515105b
build_load_data: Removed underscore in pattern
When using the transparency option the pattern used as a filter is created with a double underscore -> removed underscore in '_transparency'
2022-01-14 19:02:44 +01:00
martacki
dc83fd8e09 fix small bugs 2022-01-14 15:13:44 +01:00
martacki
0da77a7600 remove snakemake dependencies in plot_summary 2022-01-14 13:44:33 +01:00
martacki
f28a088ea3 arguments in function calls instead of kwarg-style 2022-01-14 11:30:15 +01:00
martacki
8cb5bd27d5 make_summary: remove snakemake dependencies 2022-01-14 11:29:01 +01:00
Martha Frysztacki
7067d924cc
Merge branch 'master' into snakemake_dependencies_in_functions 2022-01-14 11:05:54 +01:00
martacki
deac9f32e7 move snakemake keys (input, output, config, ...) to own variables 2022-01-14 11:05:15 +01:00
Fabian Neumann
72e277a007
update environment and address deprecations (#291)
* update environment and address deprecations

* check pandas<1.3

* limit snakemake due to ascii encoding error, address review comments

* remove version restriction on snakemake
2022-01-14 07:43:21 +00:00
martacki
9b7bb27da1 snakemake dependencies in base_network 2022-01-13 18:54:27 +01:00
martacki
505f093141 fix ordering of kwargs in add_co2limit 2022-01-13 18:00:22 +01:00
Fabian Hofmann
94364cbeeb
Update scripts/cluster_network.py
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2022-01-11 10:31:49 +01:00
Fabian
281700751a Merge branch 'snakemake_dependencies_in_functions' of github.com:PyPSA/pypsa-eur into snakemake_dependencies_in_functions 2022-01-11 10:28:11 +01:00
Fabian
ed7fd27adc build_shapes: use country_list as argument 2022-01-11 10:24:45 +01:00
Fabian
c7a443c969 build_shapes: revise changes 2022-01-11 10:23:22 +01:00
Martha Frysztacki
418ce4be28
Merge branch 'master' into snakemake_dependencies_in_functions 2022-01-11 10:03:32 +01:00
Fabian
d1334c1670 Merge branch 'snakemake_dependencies_in_functions' of github.com:PyPSA/pypsa-eur into snakemake_dependencies_in_functions 2022-01-11 10:00:55 +01:00
Fabian
39a6753ece build_powerplants: revise changes 2022-01-11 09:59:58 +01:00
Fabian
01e93545f6 add_extra_components: revise changes 2022-01-11 09:59:34 +01:00
Fabian
acd7122aad add_electricity: revert changes in add_nice_carrier_names 2022-01-11 09:58:59 +01:00
Fabian Hofmann
2c318a247e
Update scripts/prepare_network.py
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2022-01-11 09:55:22 +01:00
Fabian
66f2d36f0d add_electricity: revise code and make it leaner 2022-01-11 09:38:34 +01:00
Philipp Glaum
b05cddae77 update calculate_line_rating function 2022-01-10 14:45:46 +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
Philipp Glaum
e51d714d55 update line rating(documentation, bundles) 2021-12-28 08:28:07 +01:00
Max Parzen
6249a9b558
Merge branch 'PyPSA:master' into master 2021-12-23 12:35:10 +01:00
Philipp Glaum
fba50492a5 only consider relevant lines for line rating 2021-12-21 07:36:59 +01:00
Philipp Glaum
af4bccfb39 line rating assigned in add_electricity.py 2021-12-15 13:53:38 +01:00
Philipp Glaum
ed83988ed1 hot fix for snakemake bug 2021-12-15 11:02:03 +01:00
Philipp Glaum
7e628f66c5 updated Snakefile and build_line_rating.py 2021-12-15 10:53:55 +01:00
Philipp Glaum
ba767c630d initial implementation 2021-12-14 10:59:27 +01:00
martacki
6c4ea69e95 clustering: own config for clustering settings 2021-12-10 17:53:40 +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
Max Parzen
f1243c3e0c Fix distribute clustering with cbc/glpk/ipopt
Assume you have 10 nodes that need to be distributed between 2 countries.
What can happen with some of the open source solvers is that one country
gets assigned to 9.01 (float) nodes, and the other one to 0.99.

Now using .astype(int) would lead to a node distribution of 0 and 9, as
the `astype(int)` function round down by default (0.99 -> 0). This assigned
zero value breaks the code in case open source solvers are used.
Gurobi somehow does deal with it.
2021-11-24 14:16:24 +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
martacki
299e71e2b3 introduce hierarchical agglomeratice clustering (hac) 2021-11-17 13:46:33 +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
c0d1656091 build_load_data: separate retrieving and processing load data 2021-11-10 10:37:09 +01:00
Fabian Neumann
646c5011af
Merge branch 'master' into snakemake_dependencies_in_functions 2021-11-10 09:46:57 +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
1bade2215a floating offshore wind - minimal representation 2021-10-29 22:01:00 +02: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
23d3216d92 base_network.py: fix scipy spatial import 2021-10-05 17:30:22 +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
2e02af8b4b change license 2021-09-14 16:37:41 +02:00
martacki
dfb929f2cf remove snakemake dependencies in functions, use as kwarg instead 2021-09-14 16:34:02 +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
Martha Frysztacki
8bec0cc423
simplify: drop incorrect cols if they exist (avoid error) (#272) 2021-09-07 16:28:01 +02:00
Fabian
ea50abab6d doc: fix build warnings 2021-08-27 12:30:29 +02:00
Fabian Hofmann
b9bbefa09f
simplify_network.py fix dict getting 2021-08-27 10:34:27 +02:00
Martha Frysztacki
a6d2a0a99d
style
Co-authored-by: Fabian Hofmann <hofmann@fias.uni-frankfurt.de>
2021-08-26 16:00:08 +02:00
Martha Frysztacki
f30ca8a18a
Merge branch 'master' into simplify_to_substations 2021-08-26 15:22:02 +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
Martha Frysztacki
1c173567b5
solve_operations_network: include optimized stores to operation (#269)
* remove stores-buses from load generators

* include optimized stores to operation network

* add release notes

* Update doc/release_notes.rst

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

* Update doc/release_notes.rst

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

* Update release_notes.rst

* Update scripts/solve_network.py

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2021-08-18 10:38:51 +02:00
Fabian Neumann
351964b1e7 add logger.info for agriculture 2021-08-18 09:42:05 +02:00
martacki
400317d062 update plot_network and make_summary scripts to latest pypsa/-eur versions 2021-08-16 17:53:56 +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
4cc5e49ca8
Adapt to new snapshot weightings (#259)
* for now use n.snapshot_weightings.generators

* require pypsa master; use .objective for Nyears

* implement suggestions from code review

* add release note
2021-08-06 13:43:12 +00: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
huckebrink
2aa59a3905
exporting additional costs, and compatibility adjustments (#261)
* added export for connection_cost adjustment

* removed lambda function from multiprocessing
changed true/false_values to lists

* removed double import of functools

* moved added costs to df column

* Update scripts/simplify_network.py

Co-authored-by: Leonie Plaga <leonie.plaga@ruhr-uni-bochum.de>
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2021-08-04 16:19:23 +00: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
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
e1f1d71b8d apply option for retrofitted pipe capacity per CH4 capacity in solve_network 2021-08-04 10:49:06 +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
473d57a957 clean build_gas_network 2021-08-04 10:28:50 +02:00
Fabian Neumann
6a86a04743 add gas network spatial management 2021-08-04 09:48:23 +02:00
Leon
85111e2ae3
Omitting unnecessary constraints on the CHP units (#155)
* Omitting unnecessary constraints on the CHP units

All CHPs in pypsa-eur-sec are operating on the backpressure line and this set of extra constraints to ensure working in the operational space of the CHPs is hence not necessary at the moment.

* remove chp constraints function call
2021-08-04 09:20:09 +02:00
Fabian Neumann
ac3ce07d67
Merge branch 'master' into simplify_to_substations 2021-08-03 15:53:49 +02:00
lisazeyen
554b55ff3d
Update solve_network.py
fix bug in pipe retroftting constraint
2021-07-13 08:50:15 +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
Fabian Neumann
195cabba0c merge master 2021-07-06 09:55:41 +02:00
martavp
103ad49671 Enable use of lower generators clustering than network clustering 2021-07-05 12:19:43 +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
fd1121af4a add rule for build_biomass_transport_costs 2021-07-02 11:07:35 +02:00
Fabian Neumann
e97c4dd3c0 merge master 2021-07-02 10:12:43 +02:00
martacki
89631b240a correct placement of if/else 2021-07-02 10:04:22 +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
Fabian Neumann
d78f8b3e65
Merge branch 'master' into extendable-pnommin 2021-07-01 19:39:01 +02:00
Martha Frysztacki [frɨʂtat͡skʲ]
cf2eff4127
style
Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de>
2021-06-30 21:29:08 +02:00
martacki
b10317ee3c fix p_nom_min values for extendable carriers with positive p_nom 2021-06-30 21:07:38 +02:00
Fabian Neumann
c5e59dab2f
Merge branch 'master' into simplify_to_substations 2021-06-30 10:34:44 +02:00
Fabian Neumann
5559fe43c9 Merge branch 'master' into substation_lv_bug 2021-06-30 10:33:15 +02:00
euronion
8654077519
Fix creation of renewable profiles for offshore wind. (#255)
* Update build_renewable_profiles.py

* Update release_notes.rst

* Update release_notes.rst

* Update release_notes.rst

* Update scripts/build_renewable_profiles.py

Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de>

* Adjust doc string

Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de>
Co-authored-by: Fabian <fab.hof@gmx.de>
2021-06-28 16:20:29 +02:00
lisazeyen
e7b55d034e modify constraint for pipe retrofitting according to H2 backbone strategy 2021-06-23 14:55:21 +02:00
lisazeyen
e2d23949bb add different colors for new and retrofitted H2 pipes 2021-06-23 14:54:33 +02:00
lisazeyen
8f58218080 recalculate pipe capacity based on the pipe diameter 2021-06-23 14:53:54 +02:00
lisazeyen
97f041e82c adjust summary and plot functions 2021-06-21 12:36:40 +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
447c2119a6 add constraint for retrofitting existing gas pipes to H2 pipes 2021-06-21 12:34:47 +02:00
lisazeyen
17a1153648 comment functions, remove not used input 2021-06-21 12:34:08 +02:00
lisazeyen
e4dad6429d update for atlite version 0.2.4 2021-06-21 07:59:57 +02:00
lisazeyen
c5b3551687 fix spelling mistake 2021-06-18 09:45:51 +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
lisazeyen
dbec103593 add mock_snakemake from pypsa-eur 2021-06-18 09:41:18 +02:00
martavp
0a92d23698 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
2021-06-17 16:13:05 +02:00
martavp
a57135b086 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.
2021-06-17 15:12:10 +02:00
lisazeyen
6cde3c2b57 add mock_snakemake function to pypsa-eur-sec 2021-06-17 09:36:36 +02:00
lisazeyen
feefaa3d41 Merge branch 'master' into retrofit-gas-pipelines 2021-06-17 06:38:47 +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
lisazeyen
846f57fde6 add script for biomass transport costs. Converts JRC-EU-Times transport cost' 2021-06-11 14:36:56 +02:00
martacki
9825fa32b2 change layout of configuration settings 2021-06-01 12:00:55 +02:00
martacki
d6830d3c48 rename no_substations 2021-06-01 10:55:26 +02:00
Fabian Neumann
bfeb429c27
base: add escape if all TYNDP links already in network (#246) 2021-05-25 15:55:39 +02:00
Koen van Greevenbroek
e0215bc5a9
Propagate the solver log file name to the solver (#247)
* Propagate the solver log file name to the solver

Previously, the PyPSA network solving functions were not told about
the solver logfile specified in the Snakemake file.

* Pass solver_logfile on as kwargs

The `solve_network` function passes any additional arguments on to the
pypsa `network_lopf` and `ilopf` functions. Now we also pass
`solver_logfile` on as part of kwargs.
2021-05-25 15:55:23 +02:00
Fabian Neumann
32365312da
retro: fix renaming u_values subsectors and btype (#127)
by not looping the .replace() across all columns of the dataframe.

Circumvents: TypeError: Cannot compare types 'ndarray(dtype=float64)' and 'str'
2021-05-25 15:51:38 +02:00
martacki
14cf5815bb clear arrangement 2021-05-25 13:02:58 +02:00
martacki
1bd3a5a806 simplify: drop inaccurate columns only if no simpl wildcard is used 2021-05-25 12:58:23 +02:00
Fabian Neumann
11af828c39
remove six dependency (#245) 2021-05-25 11:29:47 +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
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
Martha Frysztacki [frɨʂtat͡skʲ]
f5a0d566d9
solve_operations_network: integrate all extendable links, not only DC (#244)
* add_electricity.py Resolve FutureWarning 771 Index.__or__ operating as set operation is deprecated

* solve_operations_network: bug fix

* release notes

* Update doc/release_notes.rst

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2021-05-21 15:31:50 +02:00
Chiara Anselmetti
11c29ac6cc
Adding focus_weights to pre-clustering (#241)
* Add focus_weights to pre-clustering

Hey guys,
another quick fix since I noticed it wasn't implemented yet: When pre-clustering the network, the focus_weights have not yet been considered. This may distort clustering results when pre-clustering to a low resolution.

* Update release_notes.rst
2021-05-21 15:27:34 +02:00
martacki
f3f587e3f8 simplify to substations - initial draft 2021-05-21 13:54:38 +02:00
Fabian Neumann
555002a35b fixup: remove remaining instances of {network} wildcard from recent PR 2021-05-19 13:57:44 +02:00
lisazeyen
33f7f5026e Merge branch 'master' into retrofit-gas-pipelines 2021-05-12 15:20:49 +02:00
lisazeyen
5bfc7a49a6 adjust battery efficiency. The efficiency in the technology data is given as round trip efficiency 2021-05-10 16:55:19 +02:00
lisazeyen
42a78262d8 Merge branch 'master' into technology-data 2021-05-10 16:05:48 +02:00
Chiara Anselmetti
cf55f00656
Delete capital costs at battery discharge link (#240)
Hey guys,
please correct me if I'm wrong, but I think pricing both the charge and discharge of the battery store component with the inverter's capital costs results in duplicating costs since a bi-directional inverter is considered (I checked the source of the cost assumption, Budischak 2013). 
Before working with PyPSA-EUR, I have worked with the toy model WHOBS where only the charging-link of the battery store component is priced with its capital costs (cf. https://github.com/PyPSA/WHOBS/blob/master/run_single_simulation.ipynb). The proposed change in code is equivalent.
2021-05-06 15:56:49 +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
Fabian Neumann
035bcf99df restore REUSE compliance [skip travis] 2021-04-28 09:25:27 +02:00
FabianHofmann
b8a7685931
Atlite availability (#224)
* adjust buil_cutout.py and Snakefile

* try adjusting build_renewable_profiles, currently crashing due to weird pyproj error

* build_renewable_profiles: -remove printing gid

* build_renewable_profiles: use dask for paralellization, use dense functions

* build_renewable_profiles:
	- revise imports
	- add logging for long calculation
	- revise explaining comment
	- revise distance calculation

* build profiles: adjust to cutout.grid

* * fix area to square km
* rename potmatrix -> capacity_potential
* rename available to availibility

* config.default update cutout params
build_renewable_potentials: major refactoring and simplification
hydro_profiles: update code

* build profiles: fix weight output dimensions

* build profiles: fix typo, fix selection of buses

* build profiles: reinsert paths variable

* follow up

* build profiles: move to dask calculation only

* CI: set build cutout to true (add CDSAPI)

* build profiles: use pyproj, test with gleas and geokit upstream

* environment.yaml fix atlite version

* build profiles: use dask 'processes' for more than 25 regions

* build profiles: specify dask scheduler according to number of regions

* backpedal a bit, only allow scheduler='processes'

* follow up, code style and fixup

* build profiles: add logger info for underwater fraction calc

* config adjust cutout parameters
Snakefile fixup

* config.default.yaml: adjust resolution

* config: use one cutout in total
build_cutout: automatic detetection of geographical boundaries

* env: add python>=3.8 requirement
build_cutout: fixup for region bound

* config: allow base cutout

* folllow up, fix up

* follow up II

* clean up

* clean up II

* build profiles: move back to multiprocessing due to performance issues

* small code style corrections

* move in pool context

* swqitch to ratsterio

* switch to rasterio for availibility calculation

* tiny fixup

* * build continental raster for offshore distance calculation
* adjust Snakefile to new script build_raster

* rename continental raster to onshore raster
add projected_mask function (not yet tested)
add docstrings, modularize

* Snakefile: remove build_onhore_raster rule, build mask directly from geometry instead
build_natura_raster: adjust code, add function for exporting
build_profiles:
	* add buffer to shore distance to init_globals function
	* update docstrings
	* improve handling of nodata grid codes
	* add geometry mask if natura raster not activated
	(the 255 value is an 'eligible' value for the corine data base,
	do this for excluding data outside the shape)

* build_profiles: adjust docstrings

* update environment

* build profiles: fixup reproject woth padding

* follow up, small fixups

* fix resampling method

checkpoint: reproduces solar profile in tut data

* reintegrate plot map
code style

* config: rename cutout into "base"

* build profiles: adjust to new atlite code

* natura raster: small fixup

* build natura raster: compress tiff file

* config: adjust cutout names

* build profiles: cover case if no or partial overlap between natura raster and cutout

* config-tutorial: adjust cutout params

* buid-profifiles: fixup in gebco filter

* follow up

* update config files

* build profiles: select layoutmatrix != 0

* build profiles: speed up average_distance and underwaterfraction

* build profiles: fix typo

* update release notes
build_cutout: only build needed features

* update envs

* config: add temperature to sarah features

* temporary fix for atlite v0.2.1 and new xarray version release

* env: remove xarray specification

* * remove rule build_country_flh
* build profiles: remove sneaked in line

* doc: update configuration.rst (section atlite) and corresponding csv table

* release notes: fix quotes

* build profiles: use 3035 for area calculation

* Update envs/environment.docs.yaml

* Update scripts/build_cutout.py

* Update doc/release_notes.rst

Co-authored-by: euronion <42553970+euronion@users.noreply.github.com>

* Update doc/configuration.rst

Co-authored-by: euronion <42553970+euronion@users.noreply.github.com>

* Update scripts/build_cutout.py

Co-authored-by: euronion <42553970+euronion@users.noreply.github.com>

* update release notes

* release notes: add deprecation of 'keep_all_available_areas'
build profiles: remove warning for 'keep_all_available_areas'

* build cutout: rearrage code, set buffer correctly

* Rename tutorial cutout to remove name clash with real cutout.

* Update release_notes.rst: Rename tutorial cutout.

* retrieve: update cutouts and downloads (alternative) (#237)

* retrieve: update cutouts and downloads

* retrieve: remove unnecessary import

* use snakemake remote file functionality

* Snakefile: update zenodo link

* update natura remote link (closes #234)

* env: update atlite version to 0.2.2

* env: fix dask version due to memory issues

* test: retrieve cutout instead of build

* test: use tutorial cutout for CI

Co-authored-by: euronion <42553970+euronion@users.noreply.github.com>
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2021-04-27 17:58:31 +02:00
Fabian Neumann
70078d03b2 add unresolved merge conflict to be addressed 2021-04-27 16:14:52 +02:00
Fabian Neumann
4ec06f54bc merge master 2021-04-27 14:47:15 +02:00
Fabian Neumann
164c168a30 minor revisions on pz-max's PR 2021-04-27 14:36:34 +02:00
Fabian Neumann
e3863084cd Merge branch 'fix-marginal-costs' of https://github.com/pz-max/pypsa-eur into pz-max-fix-marginal-costs 2021-04-27 14:32:49 +02:00
Fabian Neumann
184aee76ca make yaml loading safe 2021-04-27 09:54:52 +02:00
Fabian Neumann
efdfad97a3
address FutureWarning re set operations on pd.Index (#238) 2021-04-27 07:51:46 +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
lisazeyen
50f02f64e8 build_gas_network: first steps to map current gas infrastructure to PyPSA-Eur-Sec 2021-04-15 14:21:48 +02: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
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
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
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
eb5194
b9fdacad4d simplify: delete columns with incorrect/accurate entries 2021-01-20 20:39:22 +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
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
918d803c0d Add commented line regarding hack for unicode error in snakemake 2021-01-12 11:57:22 +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
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
7c464f166b 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
2020-12-30 15:56:34 +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
martavp
7479ba0424 Fix unicode error due to dash before sawdust
A quick fix to https://github.com/PyPSA/pypsa-eur-sec/issues/79
2020-12-30 12:14:08 +01:00
martavp
5db196f92a 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.
2020-12-29 11:31:00 +01:00
martavp
ec5efcc93d 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
2020-12-28 15:39:05 +01:00
martavp
3ae8021cb6 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
2020-12-26 17:47:32 +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
Fabian Neumann
08674a6cda
Release v0.3 (#213)
* release_notes: order for release

* doc: fix smaller typos and tidy up

* config: bump version

* doc: fix line references

* doc: bump confpy version

* envs: update fixed versions yaml

* Snakefile: simplify all_elec to all
2020-12-05 17:54:50 +01:00
Tom Brown
21c4fd4761
Merge pull request #80 from PyPSA/retro-new-pandas
Retro new pandas
2020-12-04 16:17:10 +01:00
FabianHofmann
3fa5bbad1c
Opsd renewable ppls (#212)
* fix clustering of offwind-ac and offwind-dc in sites option

* add release nodes

* attach renewable assets by location (lat and lon) from OPSD register to network

* adapt default config to changes

* undo changes from a differen PR in cluster_network.py

* undo changes from a different PR, add release notes for this PR

* correct release notes

* add comments for relevant settings in add_electricity.py

* adjust configtable for electricity to OPSD renewable option and add estimate_renewable_capacities_from_capacitiy_stats

* reset cluster_network to HEAD

* add_electricity: Capacity is float

* config: add GB to OPSD_VRE_countries

* review and modify implementation

* update release notes

* Update envs/environment.yaml

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

Co-authored-by: martha.frysztacki <eb5194@iai-esm003.iai.kit.edu>
Co-authored-by: eb5194 <martha.frysztacki@kit.edu>
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2020-12-03 23:13:41 +01:00
Fabian Neumann
2fc1ea0255
some refactoring and code cleaning (#190)
* some refactoring and code cleaning

* execute pre-commit

* pre-commit: limit large files

* add license to .pre-commit

* add pre-commit to env

* solve: tidy memory logger

* travis: add conda list for easier debugging

* undo config test/tutorial without plotting, rm matplotlibrc, .licenses

* remove {networks} wildcard

* unadd pre-commit config

* add release notes

* restore REUSE compliance

* fix docs environment python version

* env: remove gurobi from dependencies

* fix unclean merge block

* fix elif to if

* lighter rtd style

* lighter rtd style II
2020-12-03 19:50:53 +01:00
Fabian Neumann
84edde8f63
add time series segmentation with tsam package (#186)
* add time segmentation with tsam

* cut off SEG

* Snakefile: adjust memory function

* untangle memory reservation calculation

* prepare: document segmentation option

* correct typo
2020-12-03 16:02:21 +01:00
Martha Maria
cfb979a0d0
Custom busmap for clustering (#193)
* add option to use custom clustermaps from data folder

* adapt default config to custom busmap

* input file from Snakefile

* adapt input description

* add option to use custom clustermaps from data folder

* adapt default config to custom busmap

* input file from Snakefile

* adapt input description

* Snakefile: custom_busmap in cluster_network input is now csv

* cluster_network: custom_busmap is now read as csv file, adaptions of description

* simplify_network: adapt descriptions

* configfiles: add cutom_clustermaps switch

* unify clustarmap and busmap names

* unify clustermap and busmap names

* test/config: unify clustermap and busmap names

* cluster_network: make clustering_for_n_clusters compatible with simplify_network

* simplify_network: make compatible with changes in cluster_network.py

* Update scripts/cluster_network.py

* Update scripts/simplify_network.py

* Update scripts/simplify_network.py

* Update scripts/cluster_network.py

* Update scripts/cluster_network.py

* cluster_network: move custom_busmap flag to enable; simplify names

* cluster_network: move custom_busmap flag to enable; simplify names

* custom_busmap: add documentation

* cluster_network: add default for custom_busmap for compatibility with old configs

* cluster_network: add default for custom_busmap for compatibility with old configs

Co-authored-by: martha.frysztacki <eb5194@iai-esm003.iai.kit.edu>
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2020-12-03 15:17:16 +01:00
FabianHofmann
9792069ab3
Update load processing (#211)
* build_load_data

* Add documentation

* updating load data import

* Update Config files

* Update load.csv

* Update add_electricity.py

* change log file name

* Update scripts/add_electricity.py

Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de>

* Update scripts/build_load_data.py

Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de>

* Update scripts/build_load_data.py

Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de>

* Update scripts/build_load_data.py

Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de>

* Update build_load_data.py

* Update build_load_data.py

* Update scripts/build_load_data.py

Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de>

* update gap handling in build_load_data

* Update build_load_data.py

* Update config.test1.yaml

* update test.config

* Update config.tutorial.yaml

* update load csv function for load data

* Update build_load_data.py

* Update config.test1.yaml

* Update add_electricity.py

* Update build_load_data.py

* Added error messages if load data contains gaps after modifications

* general adjustments:
	- reduce data source to only entsoe statistics
	- sanitize code
	- adjust logging messages
	- adjust daocstrings

* update Snakefile config and docs

* update release notes
rename build_load -> build_load_data in config

* small follow up

* - reintroduce choice between powerstatistics and transparency
- remove load_ timeseries from databundle
- always build load_data
- reinsert scaling factor in config
- fix url to 2019 version

* update doc: configtable, release notes
update config.yaml

* follow up

Co-authored-by: Jan Frederick <jan.frederick.unnewehr@inatech.uni-freiburg.de>
Co-authored-by: JanFrederickUnnewehr <50404069+JanFrederickUnnewehr@users.noreply.github.com>
2020-12-03 12:49:04 +01:00
Fabian Neumann
f18b7b02cb
StorageUnit correct efficiency_dispatch/store (counter-proposal 2) (#202)
* fix efficiencies of storage units counter proposal

* extra_components: fix roundtrip efficiency

* add_electricity: remove misleading roundtrip efficiency for storageunit

* add release notes
2020-12-03 10:02:23 +01:00
lisazeyen
0187d4d1d4 make retro script work with newer version of pandas 2020-12-02 13:34:33 +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
2c49b8e3c3 config: Move heat pump sink temp from script to config.yaml 2020-12-02 11:51:27 +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
7cfce2e324
Merge pull request #76 from PyPSA/country-subsets
energy_totals: only fix 'BA' if in list of countries
2020-11-30 16:43:15 +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
Fabian Neumann
03170f4aaf
add option for p_nom_max factors in {opts} wildcard (#207)
* prepare: add option for potential reduction sweeps

* prepare: fix attr lookup for potential/cost reduction sweeps

* prepare: fix attr naming cost -> capital_cost

* add release notes
2020-11-26 17:25:14 +01:00
Fabian Neumann
bfbf595ad8
Parameter corrections for East-Western and Anglo-Scottish interconnection (#206)
* data: parameter corrections for East-Western and Anglo-Scottish interconnector

* add release notes
2020-11-26 17:20:48 +01:00
Fabian Neumann
a143ab7122 energy_totals: only fix 'BA' if in list of countries 2020-11-24 13:44:02 +01:00
Fabian Neumann
2e70e8d15b
prepare: fix transmission limit when no HVDC links in network (#209) 2020-11-12 17:37:43 +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
df94ea1c8b add multiyear support 2020-11-10 09:52:06 +01:00
Fabian Neumann
59cb036122 energy_totals: only fix 'BA' if in list of countries 2020-11-10 09:51:32 +01:00
Fabian Neumann
723afc32e9 scripts: step towards support for subset of countries 2020-11-10 09:51:02 +01:00
Fabian Neumann
4fef5616e8 scripts: change mock snakemake defaults 2020-11-10 09:48:13 +01:00
Tom Brown
65944e20ca plot_network: Fix bugs in plotting of today's network 2020-10-28 18:47:28 +01:00
Tom Brown
a613da6031 make_summary: Don't add back line costs for LV for PyPSA-Eur > 0.2.0
PyPSA-Eur now includes HVAC and HVDC line costs with LV option.

So don't add them back to costs afterwards.
2020-10-28 18:24:54 +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
Fabian Neumann
984e688615 skip cost aggregation of component if empty 2020-10-28 15:30:36 +01:00
Fabian Neumann
eed314ef05 add_electricity: fix snakemake typo 2020-10-27 13:40:34 +01:00
Fabian Neumann
5442d541b4 build_renewables: fix snakemake typo 2020-10-27 11:42:18 +01:00
Fabian Neumann
4d2f379ae1 build_hydro: handle empty year wildcard 2020-10-27 11:30:25 +01:00
lisazeyen
63f1e99c8b remove unnecessary variables when adding endogenously retrofitting 2020-10-21 19:19:38 +02:00
lisazeyen
1e2895023b add script for building retro costs per country and sector, add retrofitting parameters to config.yaml 2020-10-21 16:04:27 +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
Fabian Neumann
dacfc8a9a4 multiyear: fallbacks for hydro and load profiles 2020-10-20 13:53:43 +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
lisazeyen
b4f1c570d6 move input data path for emobility/transport data to snakemake input 2020-10-20 10:13:02 +02:00
lisazeyen
2b9ac511b5 update mocksnakemake for testing 2020-10-20 09:34:45 +02:00
Fabian Neumann
ca0ad08438 reflect filename changes in documentation 2020-10-18 14:47:46 +02:00
Fabian Neumann
cb2b78ad97 first step towards sweeping through multiple weather years 2020-10-18 14:25:12 +02:00
Fabian Neumann
4f7f2fa67a extra_components: specify hydrogen storage *tank* 2020-10-16 14:47:13 +02:00
Fabian Neumann
8a323b7267 cost: move defaults to config and improve documentation 2020-10-16 11:38:26 +02:00
Tom Brown
e8b923e076 industry: subtract today's ind elec demand, add back new demand
Since today's industrial electricity demand is distributed by
population and GDP, subtract this from the regular electricity demand
(which already has space/water heating subtracted).

Now regular electricity demand is only non-heating electricity demand
in residential and tertiary sectors.

Add back new industry electricity demand at the correct locations, as
determined using the hotmaps database.
2020-10-12 14:56:41 +02:00
Tom Brown
80cbe98630 industry: add current nodal electricity demand to subtract later 2020-10-12 13:26:21 +02:00
Tom Brown
f2b347334d industry: build nodal energy demand from nodal production 2020-10-12 12:20:04 +02:00
Tom Brown
f0937e203b industry: separate code for distribution key from nodal production
This allows us to reuse the key for today's nodal energy demand from
industry.
2020-10-12 12:07:49 +02:00
Fabian Neumann
bcd7f86b5c remove {networks} wildcard 2020-10-09 17:03:49 +02:00
Tom Brown
90f5349b7d Use hotmaps industrial database for distribution in each country
I.e. per sector geographical distribution of industrial facilities
within each country.

Drop facilities outside Europe and with no geocoordinates.

Use ETS emissions as a distribution key; where emissions data is
missing, substitute with an average for that sector and that country
(strong assumption).
2020-10-05 20:04:04 +02:00
Fabian Neumann
6deac6ced3 merge master 2020-10-03 11:15:39 +02:00
Martha Maria
52683236cd
prepare_network: fix nmo security margin (#199)
* prepare_network: fix nmo security margin

* Update doc/release_notes.rst

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

* Update scripts/prepare_network.py

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

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2020-10-02 15:55:22 +02:00
Martha Maria
2e76b88ec8
simplify_ and cluster_network: clustermaps to csv (#198)
* simplify and clustering: output and input from HDF format to CSV

* add release notes

* simplify and clustering: output files from Snakefile
2020-10-02 12:53:56 +02:00
eb5194
5dabdac288 add_existing_baseyear: read input file as .csv 2020-10-02 12:21:31 +02:00
eb5194
9fac6f5392 prepare_sector_network: read input file as .csv 2020-10-02 12:20:55 +02:00
Fabian Neumann
ab6dc633bf
Options for regional equity and autarky (#166)
* solve: add option for equity constraints

* solve: scale more

* prepare: add option to limit line/link capacity

* solve: add inflow to EQ constraints

* solve: reindex inflow to match load

* update config files and references

* add autarky option

* move release notes

* add spillage to equity requirements

* prepare: fix accidental code removal

* prepare: add country autarky option

* consider snapshot_weightings for inflow

* trigger CI
2020-09-26 13:10:50 +02:00
Fabian Neumann
b756773b9d merge master 2020-09-26 11:21:16 +02:00
Tom Brown
b862bb95cd Fix H2 underground potentials from TWh to MWh; simplify H2 data 2020-09-25 16:23:45 +02:00
Tom Brown
de52711700 Fix calculation of solar rooftop potentials for "m" clusters
I.e. when the generators are clustered to the "simplified" network
resolution, but the grid is clustered further, e.g. by using the
clusters = 37m "m" option.
2020-09-25 15:25:41 +02:00
Fabian Neumann
c543fb39c6
cluster: fix removing deprec squeeze=True in groupby (#194) 2020-09-25 12:34:34 +02:00
martha.frysztacki
9331f1ec46 cluster_network: The 'squeeze' parameter is deprecated and will be removed in a future release; works just fine without it 2020-09-24 17:46:20 +02:00
Martha Maria
047276b2dc
Fix clustering sites (#191)
* fix clustering of offwind-ac and offwind-dc in sites option

* add release nodes

Co-authored-by: martha.frysztacki <eb5194@iai-esm003.iai.kit.edu>
2020-09-24 10:13:13 +02:00
Fabian Neumann
ec803a372e
add cost uncertainty opts for suptechs (#189) 2020-09-24 10:09:11 +02:00
Tom Brown
6b964865e7
Merge pull request #69 from PyPSA/salt_cavern_potential
Salt cavern potential
2020-09-22 20:19:29 +02:00
Tom Brown
a1904886ac
Merge branch 'master' into distribution 2020-09-22 20:18:21 +02:00
Tom Brown
98435d7fc6
Merge pull request #68 from PyPSA/yaml_loader
read config.yaml for testing with yaml.safe_load()
2020-09-22 20:17:32 +02:00
lisazeyen
7972637334 add upper energy capacity limit for hydrogen storage per country, caution: for multiple nodes in one country storage potential is distributed by population 2020-09-22 09:54:52 +02:00
lisazeyen
27e2584ae8 split hydrogen storage into underground storage in salt cavern for countries with potential, others overground hydrogen storage, switch costs from gas storage to corresponding hydrogen storage 2020-09-22 09:52:53 +02:00
lisazeyen
7fe7dc381f read config.yaml for testing with yaml.safe_load() 2020-09-22 09:32:24 +02:00
lisazeyen
e1babafa35 remove taken the minimum of old solar p_nom_max and solar rooftop because no overlap between the potentials 2020-09-22 09:24:30 +02:00
lisazeyen
736c7166ac add missing multiplication with gas distribution grid cost factor 2020-09-22 09:18:28 +02:00
Tom Brown
791a58fc6b Make selection of biomass classes (solid, biogas) more explicit
List classes in config.yaml, rather than integer selection in
build_biomass_potentials.py.

Also output potentials for all years and scenarios for analysis.
2020-09-21 18:35:45 +02:00
Tom Brown
44ee205820 Fix recalculation of offshore connection costs for "m" clusters
I.e. when the generators are clustered to the "simplified" network
resolution, but the grid is clustered further, e.g. by using the
clusters = 37m "m" option.
2020-09-21 17:04:45 +02:00
Tom Brown
ac4100922a Include also industry new electricity load at low voltage bus
For consistency with the existing industry electricity load already
there.

This only applies when the electricity distribution grid is inserted.
2020-09-21 12:06:20 +02:00
lisazeyen
6d440499d5 add option to add costs for gas distribution. Caution, currently assuming same costs for gas distribution as the ones for electricity distribution 2020-09-15 18:03:33 +02:00
lisazeyen
b2789960fc add missing resistive heater and micro CHP to electricity distribution, add new electricity demand for industry to electricity distribution, restrict solar rooftop potential, change for testing mocksnakemake input for the costs to technology database 2020-09-15 17:48:57 +02:00
Fabian Neumann
78ca48c602 solve: tidy memory logger 2020-09-11 15:44:25 +02:00
Fabian Neumann
cbd22c2efd execute pre-commit 2020-09-11 15:26:43 +02:00
Fabian Neumann
f6dd2e12f3 some refactoring and code cleaning 2020-09-11 12:40:53 +02:00
Tom Brown
06a3b029d8 When changing prim/secondary production, take account of existing
Don't fix uniform ratios e.g. of 0.3:0.7 primary:secondary for steel
and aluminium, but convert the necessary amount of existing primary in
each country so that the overall ratio applies at European level.

This stops sudden swings from primary to secondary in countries
dominated by primary production.
2020-09-07 19:15:40 +02:00
Tom Brown
c58f18667d Add non-EU28 energy demand per country and sector for today
Use the industrial production per sector and multiply with EU28
averages for energy per sector.
2020-09-07 19:12:47 +02:00
Tom Brown
783e026ebf Separate ammonia from basic chemicals in today's industry energy 2020-09-07 18:41:07 +02:00
Tom Brown
04629b5113 For DRI+EAF route for primary steel, add electricity for DRI shaft 2020-09-07 17:23:31 +02:00
Tom Brown
916aa5e0d9 Generate today's industry demand per ct and per sector
Only covers EU28 at the moment.

Uses the energy balances sheets from JRC-IDEES.
2020-09-07 16:48:06 +02:00
Tom Brown
aa3ffb9ac2 Remove biomass from chemicals, cement; increase in PPA, FBT
Remove non-existing biomass from chemicals and cement, since these
need higher temperatures than achievable with residues and waste.

Increase biomass in pulp and paper (since already used extensively
here and T < 500), and replace methane with biomass in food, beverages
and tobacco, since temperatures needed are low (T < 500).
2020-09-07 14:49:20 +02:00
Tom Brown
f3dcda9179 Include integrated steelworks in industry_sector_ratio
Also switch it from sep=";" to ","
2020-09-07 11:04:50 +02:00
Fabian
fee8ef92d4 fixup (follow up to #183) correct transmission constraint name 2020-08-28 22:28:23 +02:00
Tom Brown
f45b9a37ae Separate ammonia from other "Basic chemicals"
This allows us to control the substitution of natural gas for hydrogen
in NH3 production.

Remaining basic chemicals are olefins, BTX and chlorine.

For 2015 NH3 production, we use the USGS data source.
2020-08-28 19:13:18 +02:00
FabianHofmann
cfd815aa42
Don't remove capital cost for lines and links when setting lv, lc limit (#183)
* solve #175

* adjust wildcards explanation

* allow lv and lc limits below 1
2020-08-28 17:59:51 +02:00
Tom Brown
b761281b3d Move changes to primary/secondary routes for Al/St to new script
This was handled before in industry_sector_ratios.csv which was
confusing.

Now industry_sector_ratios.csv represents the genuine energy
consumption per tonne of material for each industrial route
(MWh/tMaterial).

An new file is created with ktMaterial/a in
industrial_production_per_country_tomorrow.csv which contains changes
to the fraction of primary/secondary routes compared to today's
production in industrial_production_per_country.csv.

This is less confusing I think.
2020-08-26 16:13:01 +02:00
Tom Brown
851142fe0f Separate script for industrial production per ct from energy demand 2020-08-26 13:12:16 +02:00
Tom Brown
37f36047ca Industry demand: Also record material production per industry 2020-08-26 12:06:01 +02:00
Fabian
0b4abb4c30 revert unit adjustment for EUR/MW only 2020-08-25 21:51:29 +02:00
Fabian
2b6fb0ee66 Snakefile add rule 'retrieve_cost_data'
update cost.csv to default year 2030
add_electricity.py: adjust to new format
2020-08-25 21:41:21 +02:00
FabianHofmann
04f19f214d
fix emission prices (#171)
* fix emission prices

I'm not sure if the previous setup was intentional, but regarding that different generators might have different efficiencies and the emissions are carrier specific only, it makes more sense set net emission price.

* small fix

* update release_notes and config
2020-08-25 12:12:00 +02:00
Fabian Neumann
e2c3b80ec4
Remove onwind-landcosts from data/costs.csv and add_electricity.py (#180) 2020-08-24 11:19:57 +02:00
FabianHofmann
1cde8d300a
Fix up add_nice_carrier_names for new pandas (#178)
* solve #174

* update release notes

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2020-08-24 11:04:54 +02:00
Fabian Neumann
2f4852347a
Fix two issues with new 2020 ENTSO-E grid extract (#181)
* base: fix errors in new entsoe extract

* add release notes

* apply suggestions from code review - remove hardcode
2020-08-24 10:33:46 +02:00
Tom Brown
515416fd75 PyPSA-Eur-Sec Version 0.2.0
Please see the release notes:

https://pypsa-eur-sec.readthedocs.io/en/latest/release_notes.html#pypsa-eur-sec-0-2-0-21st-august-2020

for more information.
2020-08-21 12:34:20 +02:00
Tom Brown
beefb57c25 Fix plotting of maps and balances; move log/benchmark to results/ 2020-08-21 12:15:01 +02:00
Tom Brown
fa767772d6 Remove onshore wind land costs, since included in latest DEA data 2020-08-20 18:41:19 +02:00
Tom Brown
95e676828a Remove old data/costs.csv and dependencies on it 2020-08-20 14:26:39 +02:00
Tom Brown
3f5aa60ad2 solve_network: Refactor land use constraints for renewables 2020-08-19 20:25:04 +02:00
Tom Brown
6b40504159 add_existing_baseyears: Correct for p_nom data is thermal output
p_nom in PyPSA is capacity on the input side (from final energy),
whereas existing capacities are given on output side (i.e. heat
delivered).
2020-08-19 12:51:53 +02:00
Tom Brown
6444f7fde9 Weight offshore connection costs with aggregation weight
Rather than taking a mean of the clustered connection costs.

Apply cost update also for overnight scenarios based on planning year.

Add land costs for onshore wind.
2020-08-19 12:41:17 +02:00
martavp
35e1d4b03b fix bug when determining elec_buses 2020-08-17 12:08:49 +02:00
martavp
d4be632e7a add add_land_constraint. The constraint is now imposed in a simplified way.
The p_nom for already installed capacities are substrated from the p_nom_max of extendable capacities.
2020-08-17 12:04:45 +02:00
martavp
6037882dbb small change in commented line 2020-08-14 11:04:35 +02:00
Tom Brown
8c196a7a21 Take care of CHPs when doing p_nom < threshold & extra_functionality
- add_brownfield.py: Have to make sure that for each CHP there is both
  a heat and electric link, but they have different p_nom for each
  CHP, so have to make sure we don't remove one without the other.

- solve_network.py: Make sure extra_functionality constraints for CHP
  power-heat feasibility graph also work for non-extendable CHPs.
2020-08-14 09:11:19 +02:00
Tom Brown
7e6c7b3dd3 Merge branch 'master' of github.com:martavp/pypsa-eur-sec into martavp-master 2020-08-12 18:10:41 +02:00
Tom Brown
663e1195e1 Add suffix -year to optimized components before solving
This simplifies the structure of add_brownfield.py dramatically.

Some other changes need to be make elsewhere because of name
changes (e.g. battery constraints in solve_network.py).
2020-08-12 18:08:01 +02:00
martavp
89a48bfad3 include existing conventional carriers in config file 2020-08-12 11:24:15 +02:00
martavp
18ff256811 Update cost for wind and solar, including the AC and DC connection costs for offshore.
In order to calculate connection costs, average values for underground_fraction and average_distance are calculated for all the buses in the initial network mapped to the clustered network.
2020-08-12 11:08:09 +02:00
Tom Brown
16b05a570d Distribute heating technologies within each country by population 2020-08-11 11:09:39 +02:00
Tom Brown
a59b2bce19 Add location attribute to each bus
E.g. "DE0 0 residential rural heat" has location "DE0 0", and "EU gas"
and "co2 atmosphere" have location "EU".
2020-08-11 11:07:55 +02:00
Tom Brown
1d6b6483e0 add_existing_baseyear: Divide p_nom by efficiency for Links
This is because the p_nom of a Link is the thermal capacity at bus0,
whereas the capacities we have are the electrical capacity at bus1.
2020-08-11 09:55:39 +02:00
Tom Brown
658f8ad00c Distribute existing power plants to the correct nodes
Previously they were distributed only by country to the first node in
the country.

Now conventional power plants are assigned to the correct node using
the bus map from PyPSA-Eur.

Wind and solar are distributed in each country by capacity factor.

The code has been refactored and a bug was fixed whereby total
capacities of wind and solar in each country were not correct.

Now the years in the config.yaml for myopic are integers not strings.
2020-08-10 20:30:29 +02:00
Tom Brown
b57a6c18f8 Make directory for costs files configurable
Default to parallel directory for technology_data repository.
2020-07-30 08:27:33 +02:00
Tom Brown
ece21bfdfa add_existing_baseyear.py: Add carrier to conventional generators 2020-07-30 08:22:27 +02:00
Tom Brown
7abe928337 prepare_sector_network: Fix costs bug and carrier bug
In prepare_costs, you need the min_count=1 in the sum so that it
generates NaNs for missing data (rather than 0) so that NaNs can be
subsituted by .fillna in the next line. Otherwise many values
(discount rates and efficiencies for solar, wind) are set to zero.

Also added carriers, storage and generators for coal, nuclear and
oil. (This needs to be organized better soon so that the carriers are
defined in config.yaml.)
2020-07-29 15:50:40 +02:00
Fabian Neumann
8c5efb5252
add compatibility with pyomo 5.7.0 (#172)
* add compatibility with pyomo 5.7.0

* add release notes [skip travis]
2020-07-20 17:33:15 +02:00
martavp
4523f324cd Group the generators existing before base year into categories and add them to the network as e.g. solar-2005, solar-2010, solar-2015 2020-07-18 11:22:30 +02:00
martavp
17a348d1e6 Add lifetime attribute to generators, links and stores in prepare_sector_network and use that attribute to check if a generator optimized in a previous time step should be added in add_brownfield (or if its lifetime has expired) 2020-07-17 15:20:20 +02:00
martavp
fa0b88a9b1 Add lifetime and build_year attributes to generators, links and stores. 2020-07-14 20:04:36 +02:00
martavp
7d1500604f import prepare_cost function from prepare_sector_network 2020-07-14 13:28:10 +02:00
Fabian Neumann
165dd2d440
uncertain costs: facilitate parameter sweep (#167)
* add opts for cost parameter sweep

* add pr link to release note
2020-07-10 16:41:44 +02:00
martavp
201e4d2f57 simplify make_summary and plot_summary since now overnight also includes planning_horizons and carbon_budget_name 2020-07-08 16:35:50 +02:00
martavp
dedabe695e Add conditional use of add_land_use_constraint (only for config['foresight']='myopic') 2020-07-08 16:32:17 +02:00
martavp
a4c22a29a4 Remove generators, stores and links whose installationYear + lifetime < year. Correct commented lines to YearDecomissioning > year 2020-07-08 16:28:08 +02:00
martavp
059d1daed8 activate rule add_land_use constraint 2020-07-08 08:53:17 +02:00
martavp
8c53506897 include dependence of the number of header lines in csv files based on if overnigh or mypic option is selected 2020-07-07 18:46:12 +02:00
martavp
cf3c45321e include planning_horizons and co2_budget_name in multindex if options['foresight']='myopic' 2020-07-07 18:42:25 +02:00
martavp
0f85f18e86 Add land use constraint to e.g. all the solar installed in different years 2020-07-07 18:40:17 +02:00
martavp
236da36d5e Include myopic option in prepare_network.py so that, when selected, it reads CO2_limit from a carbon_budget file 2020-07-07 18:37:42 +02:00
martavp
95f80aeba7 Add scripts to (a) include existing power and heating capacities installed before the base year, and (b) add to year n, capacities optimized in year n-1.
Existing onwind and offwind capacity are now read from IRENA database, similarly to solar capacities. Previously we were using thewindpower.net database which is not open.
2020-07-07 18:26:31 +02:00
Fabian Neumann
2627c96a9e
Prepare Release v0.2.0 (#165)
* prepare release v0.2.0

* prepare release v0.2.0 v2 [skip travis]
2020-06-08 20:43:35 +02:00
Fabian Neumann
d66b70e180 doc: update release notes and documentation [skip travis] 2020-06-08 18:29:15 +02:00
Fabian Neumann
4448cb747e Merge branch 'renewable_profiles_option_using_all_available_areas' of https://github.com/JanFrederickUnnewehr/pypsa-eur into JanFrederickUnnewehr-renewable_profiles_option_using_all_available_areas 2020-06-08 18:15:17 +02:00
Jonas Hörsch
0813807b0f
data/entsoegridkit: Update gridkit data files (#118)
* data/entsoegridkit: Update gridkit data files

* add missing NordBalt and Estlink 1 to TYNDP

* base: lower distance tolerance, hardcode faulty bus allocation

* data: apply new parameter corrections for network extract

* doc: amend release notes [skip travis]

* doc: update release notes and base image [skip travis]

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2020-06-08 18:13:51 +02:00
Fabian Neumann
5ea29551b9
add REUSE.software license information (#160)
* add REUSE.software license information

* add release note on licensing

* Update doc/index.rst

Co-authored-by: euronion <42553970+euronion@users.noreply.github.com>

* Update doc/index.rst

Co-authored-by: euronion <42553970+euronion@users.noreply.github.com>

* Update doc/release_notes.rst [skip travis]

Co-authored-by: euronion <42553970+euronion@users.noreply.github.com>
2020-05-29 09:50:55 +02:00
Tom Brown
2bee13fe40 plot_summary: Plot energy / CO2 balances for each carrier
Take data from supply_energy.csv and plot the balances for each
carrier.

One summary for energy excludes CO2 flows (unlike graphs/energy.pdf).
2020-05-13 13:40:00 +02:00
Tom Brown
eb34356722 make_summary: Remove erroneous power outputs for non-multi links
This bug in PyPSA was fixed in:

f484adc876
2020-05-13 13:25:32 +02:00
Tom Brown
1c5f471acb Include option for grid connection cost for onshore and utility PV
Only include these technologies since they are connected at new
locations.

Other technologies can fit in at existing connections.
2020-05-11 13:37:10 +02:00
Tom Brown
bdb3c8886d make_summary.py: Fix so that it works with simpl != ""
Non-empty simpl is needed for cases where the resource resolution
is higher than the network resolution, e.g.

simpl = 70
cluster = 37m
2020-05-07 18:16:28 +02:00
Tom Brown
8538233bba Fix bug due to invalid cluster bus region geometries
These geometries are apparently invalid due to self-crossing or
self-touching polygons.

The geometries are created by pypsa-eur/scripts/cluster_network.py but
appear to be valid before being written to file.

They are only valid after being read back in from file.

This seems to indicate some numerical issue relating to file reading
and writing.

Now the geometries are cleaned after being read in.
2020-05-07 14:45:14 +02:00
Tom Brown
e92558716e config.yaml: Remove unnecessary settings
Adjustments made to scripts to read correct settings.

Documentation of scenario options improved.
2020-04-30 18:38:55 +02:00
Tom Brown
f9952b9aad Fixed for PyPSA-Eur 0.1.0, PyPSA 0.17.0 and plotting
This commit now work with PyPSA-Eur 0.1.0 (tested with commit
bb3477 from 14th April 2020).

Changes to line/link_widths/colors for plotting networks in PyPSA
0.17.0.

Other corrections to plotting code so it works with this version.

Include oil boilers in colors in config.yaml.
2020-04-29 18:23:18 +02:00
Tom Brown
478832f484 Merge branch 'master' of github.com:nworbmot/pypsa-eur-sec 2020-04-29 09:53:11 +02:00
d-fine dev
a4db176458 add new link oil boiler
* prepare_sector_network:
    - add link for oil boiler in function add_industry()
    - add function for partitioning clusters into different heat node types

* config.yaml: add option for oil_boiler

* costs.csv: add costs for oil boiler
2020-04-09 14:58:03 +02:00
Jan Frederick
0adaf2c1b6 cleaned code for better understanding 2020-04-06 16:38:54 +02:00
Jan Frederick
b4c502f901 Updated description 2020-04-03 12:12:27 +02:00
Jan Frederick
b707578bfb Update build_renewable_profiles.py 2020-04-03 12:09:17 +02:00
Jan Frederick
32248724bd add if statements for "keep all availble areas"
Add possibility to keep all availble areas for the potential area generation.
2020-04-03 12:02:25 +02:00
JanFrederickUnnewehr
22184ebaa7
Find "all" closest links and not only the first entry in the dataframe (#143)
* find all closest links that are in operation

* update function _find_closest_links

* update _set_electrical_parameters_links

* Update scripts/base_network.py

* cleanup code

Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de>
2020-04-01 00:20:32 +02:00
Fabian Neumann
3c1c604c7e
cluster: skip recalculation of link parameters if empty (#149) 2020-03-29 11:39:18 +02:00
Tom Brown
bd85f751ac Include home battery for low voltage node 2020-03-26 14:54:10 +01:00
Tom Brown
31cad1bd6d Separate rooftop and utility solar PV 2020-03-26 10:06:59 +01:00
lisazeyen
a239f7efbf make the script running with pandas 1.0, colors for some network plots, add option to plot the current transmission system in the cost_network plot 2020-03-25 17:14:28 +01:00
Tom Brown
0df8fc50cf Summaries and plotting: Fix groupby with two bys for pandas 1.0.x 2020-03-25 16:42:38 +01:00
Tom Brown
9b326ba493 Include electricity distribution grid between load and EVs 2020-03-25 12:52:25 +01:00
Fabian Neumann
7688d9ea27
build_bus_regions: fix 'cannot insert name, already exists' in geopandas 0.7.0 (#145)
* build_bus_regions: fix 'cannot insert name, already exists'

* environment: allow geopandas 0.7.0

* build_bus_regions: ignore index when concatenating
2020-03-18 09:56:47 +01:00
euronion
ccc56ce3c8
Fix: Correctly determine the bus to attatch custom powerplants to. (#131)
* Add index integrity checks for custom powerplants.

* Update .csv template for custom powerplants.

* Update data/custom_powerplants.csv

* Revert "Merge branch 'master' into fix/custom-powerplants"

This reverts commit 5cd9c1afafd1ab36c31181ffed7635152805ee52, reversing
changes made to 5b1df27b25fdc89acca88395a0ba999f84dce109.

* Update release_notes.rst

* Rephrasing update to release notes.

* Merge with upstream/master (revert reverted merge).

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2020-03-17 09:50:38 +01:00
Fabian Neumann
d57989c027
scripts: mini code cleanup (#140) 2020-03-16 15:55:01 +01:00
Tom Brown
5dc572c35e solve_network.py: Remove hacked installation of conda libraries 2020-03-04 18:10:57 +01:00
Fabian Neumann
69fd46290f
solve: include {min,max}_iterations parameters (#130)
* solve: include {min,max}_iteration parameters

* solve: iterations fix defaults
2020-02-25 22:00:36 +01:00
Fabian Neumann
8bed137ca5 unify skip_iterations & skip_iterating to skip_iterations 2020-02-19 17:03:19 +01:00
Fabian Neumann
cd85d61470
helpers: importing networks with override_components (#128)
* helpers: importing networks with override_components (closes #122) [skip travis]

* Update scripts/plot_network.py

Co-Authored-By: FabianHofmann <hofmann@fias.uni-frankfurt.de>

Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de>
2020-02-13 15:51:24 +01:00
Fabian
543bb95759 small fix for solve_operations_network 2020-02-10 16:47:11 +01:00
FabianHofmann
1ecca802f3 Nomopyomo (#116)
* play around, add new nomopyomo feature

* fix constraints

* fix constraints

* set solver to cbc due to error with gurobi900

* update environments
shift lv and lc constraints to prepare_network
start modifying opt constraints

* correct BAU

* correct environment

* fix import

* fix SAFE constraint

* fix battery charger ratio constraint

* code cleaning

* restructure solve scripts

* fix CCL constraint

* adjust doc

* solve_network: update doc string

* revert unwanted changes

* update environment.yaml

* update environment.yaml II

* force conda update, revert last commit

* revert last change, use other channel priority

* remove trace_sove_network

* add skip_iterating and track_iterations options to config file

* revert last commit, fix environment to current pypsa master

* line break, trigger CI with updated pypsa

* nomopyomo: PR review

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2020-02-10 12:06:43 +01:00
FabianHofmann
ef9e64d457
set bus to nan for powerplants not assigned in kdtree (#123)
* solves #109

* fix substations_i for no-neighbours in kdtree
2020-02-03 15:01:24 +01:00
Tom Brown
ab401907b2 Merge branch 'master' of github.com:nworbmot/pypsa-eur-sec 2020-01-31 19:25:19 +01:00
Tom Brown
d4c6521aaf For H2 network plotting, introduce dummy MultiIndex to get area
Otherwise the area is not consistent with the legend (I'll open a
PyPSA issue).
2020-01-31 19:20:46 +01:00
FabianHofmann
1e9f8717ee add names to config, add color column to n.carriers 2020-01-29 17:01:57 +01:00
FabianHofmann
af985db802 adjust n.carrier column name 'nice_names' -> 'nice_name' 2020-01-29 16:08:01 +01:00
lisazeyen
36a57222f7 Clip p min pu (#50)
* changes for retrofitting

* changed Snakefile to work with new pypsa-eur version, change solve_network.py to clip also n.generators_t.p_min_pu

* removed retrofitting data files
2020-01-24 15:31:17 +01:00
Jonas Hörsch
52e4a1b285 environment: Free pyproj from version constraint (fixes #119) (#120)
* environment: Free pyproj from version constraint (fixes #119)

proj was constrained to 1.9.6, since cartopy was incompatible with
recent proj versions.

* build_renewable_profiles: Import gdal and geokit after forking

GDAL sets up a shared context on module import which seems to contain a
handle to the PROJ database for coordinate reference systems. By forking
these handles seem to become invalidated or at least are not usable in parallel
anymore.

Instead importing gdal only after setting up the different processes fixes
the database disk image is malformed proj error.
2020-01-23 09:55:59 +01:00
Tom Brown
b6383b37b7
Merge pull request #46 from nworbmot/describe_biomass_categories
Describe biomass categories
2020-01-22 16:58:26 +01:00
Tom Brown
e0cf7e0860 Fix transmission map for nomopyomo outputs; plot also H2 network
Use s_nom_min for the reference point for the transmission
reinforcement not s_nom, since s_nom is now overwritten for LV > 1.0
(the old pyomo code kept the s_nom variable fixed in the pyomo model
rather than via pypsa setting s_nom_extendable = False, like the
nomopyomo code now does).

The legend scale of the H2 network electrolyzers is wrong. I don't yet
understand why. Possibly the cost scale in the other map is also wrong.
2020-01-21 19:44:36 +01:00
Tom Brown
17e8d114b1 Allow wave costs to be modified 2020-01-14 21:36:35 +01:00
Tom Brown
2278d67687 Add wave with default minimum costs 2020-01-11 09:11:09 +01:00
Tom Brown
9ed2cbffa8 Update code to PyPSA 0.16.1 2020-01-10 18:13:01 +01:00
Fabian Neumann
5934f4f7a1
prepare release v0.1.0 (#117) 2020-01-09 14:09:28 +01:00
Tom Brown
0e5dcbbce4 Fix clash of names in creation of candidate network for H2
Sometimes Lines and Links have same name, so need MultiIndex to avoid
a clash of names.
2019-12-26 10:21:22 +00:00
Tom Brown
9a5ae01a92 Adjust code to use version 0.16.0 of PyPSA for nomopyomo framework 2019-12-26 10:19:26 +00:00
Tom Brown
ca15750b48 Catch process emissions from feedstock for industry demand script 2019-12-19 17:49:45 +01:00
Tom Brown
ba52bbf5d4 Merge branch 'process' 2019-12-19 14:04:04 +01:00
Tom Brown
180846945f Fix bug in ordering of MultiIndex in make_summary.py
df.loc[idx[a,b,some_list],label] does NOT preserve the ordering of
some_list, but sorts it instead. Therefore the pattern:

df.loc[idx[a,b,s.index],label] = s.values

was mismatching the index and values.
2019-12-19 11:40:17 +01:00
Tom Brown
eb2fa1b24e Adjust plotting for new CCS scheme 2019-12-19 11:39:38 +01:00
Tom Brown
c525e2a6ae Install package dependencies nomopyomo branch PyPSA and gurobipy
Inelegant - installed by hand in solve_network.py.

Should replace with environment.yaml.
2019-12-19 11:38:43 +01:00
Tom Brown
52581466b6 Account for chemical industry process emissions more carefully
Remove emissions from hydrogen production for ammonia (since H2 now
comes from electrolysis).

Allow process emissions from petrochemical production to be captured
(the carbon is not necessarily fossil, but could come from CCU).
2019-12-18 09:45:14 +01:00
Tom Brown
105aeba215 Merge branch 'nomopyomo' 2019-12-13 18:07:06 +01:00
Tom Brown
41f7f44dcf Make CCS optional for SMR and industry process emissions 2019-12-13 18:06:38 +01:00
Tom Brown
49a68bdd35 Separate CHP gas/solid biomass, with/without CCS
Also fix CHP p_nom_ratio constraint, and battery charger/discharger
constraint.
2019-12-12 15:03:51 +01:00
FabianHofmann
eaf30a9b65
Introduce mocksnakemake which acutally parses Snakefile (#107)
* rewrite mocksnakemake for parsing real Snakefile

* continue add function to scripts

* going through all scripts, setting new mocksnakemake

* fix plotting scripts

* fix build_country_flh

* fix build_country_flh II

* adjust config files

* fix make_summary for tutorial network

* create dir also for output

* incorporate suggestions

* consistent import of mocksnakemake

* consistent import of mocksnakemake II

* Update scripts/_helpers.py

Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>

* Update scripts/_helpers.py

Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>

* Update scripts/_helpers.py

Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>

* Update scripts/_helpers.py

Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>

* Update scripts/plot_network.py

Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>

* Update scripts/plot_network.py

Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>

* Update scripts/retrieve_databundle.py

Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>

* use pathlib for mocksnakemake

* rename mocksnakemake into mock_snakemake

* revert change in data

* Update scripts/_helpers.py

Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>

* remove setting logfile in mock_snakemake, use Path in configure_logging

* fix fallback path and base_dir
fix return type of make_io_accessable

* reformulate mock_snakemake

* incorporate suggestion, fix typos

* mock_snakemake: apply absolute paths again, add assertion error
*.py: make hard coded io path accessable for mock_snakemake

* retrieve_natura_raster: use snakemake.output for fn_out

* include suggestion

* Apply suggestions from code review

Co-Authored-By: Jonas Hörsch <jonas.hoersch@posteo.de>

* linting, add return ad end of file

* Update scripts/plot_p_nom_max.py

Co-Authored-By: Jonas Hörsch <jonas.hoersch@posteo.de>

* Update scripts/plot_p_nom_max.py

fixes #112

Co-Authored-By: Jonas Hörsch <jonas.hoersch@posteo.de>

* plot_p_nom_max: small correction

* config.tutorial.yaml fix snapshots end

* use techs instead of technology

* revert try out from previous commit, complete replacing

* change clusters -> clusts in plot_p_nom_max due to wildcard constraints of clusters

* change clusters -> clusts in plot_p_nom_max due to wildcard constraints of clusters II
2019-12-09 21:29:15 +01:00
Tom Brown
ec9b447949 make_summary: Account for multi-links in supply* summaries 2019-12-06 17:40:20 +01:00
Tom Brown
80642ae9af Fix post-processing to read nomopyomo nc; fix MultiIndex issue
With new pandas:

pd.Index([])|pd.MultiIndex(...)

returns a pd.Index, not a pd.MultiIndex, so just reversed:

pd.MultiIndex(...)|pd.Index([])

This returns a pd.MultiIndex.
2019-12-06 16:56:33 +01:00
Tom Brown
066f1b0bb5 Fix solve_network.py to use nomopyomo for LV > 1.0 2019-12-06 16:55:28 +01:00
martavp
f6d407cc24
Add files via upload
describe biomass
2019-12-04 16:38:19 +01:00
martavp
5038faa020
Delete build_biomass_potentials.py
describe biomass
2019-12-04 16:37:50 +01:00
FabianHofmann
5143a258ac build_powerplants: Fix add_custom_powerplants
Typo and type instability.

Fixes #109.
2019-12-03 00:52:52 +01:00
Fabian Neumann
7ddc153bd2
ec: attach hydrogen pipelines (#108) 2019-12-02 12:22:30 +01:00
euronion
85c356297a Add logging to logfiles to all snakemake workflow scripts. (#102)
* Add logging to logfiles to all snakemake workflow scripts.

* Fix missing quotation marks in Snakefile.

* Apply suggestions from code review

Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de>

* Apply suggestions from code review

Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de>

* doc: fix _ec_ filenames in docs

* Allow logging message format to be specified in config.yaml.

* Add logging for Snakemake rule 'retrieve_databundle '.

* Add limited logging to STDERR only for retrieve_*.py scripts.

* Import progressbar module only on demand.

* Fix logging to file and enable concurrent printing to STDERR for most scripts.

* Add new 'logging_format' option to Travis CI test config.yaml.

* Add missing parenthesis (bug fix) and cross-os compatible paths.

* Fix typos in messages.

* Use correct log files for logging (bug fix).

* doc: fix line references

* config: logging_format in all configs

* doc: add doc for logging_format

* environment: update to powerplantmatching 0.4.3

* doc: update line references for tutorial.rst

* Change logging configuration scheme for config.yaml.

* Add helper function for doing basic logging configuration.

* Add logpath for prepare_links_p_nom rule.

* Outsource basic logging configuration for all scripts to _helper submodule.

* Update documentation for changed config.yaml structure.

Instead of 'logging_level' and 'logging_format', now 'logging' with subcategories is used.

* _helpers: Change configure_logging signature.
2019-11-28 08:22:52 +01:00
Tom Brown
6cbd3384e4 Merge branch 'master' of github.com:nworbmot/pypsa-eur-sec 2019-11-27 18:36:01 +01:00
Tom Brown
8982147706 Convert code to use PyPSA nomopyomo branch; only works for LV=1.0
Will extend to LV > 1.0 soon.
2019-11-27 18:34:53 +01:00
Tom Brown
3fac944e5b 191108: Include a correctly-costed H2 network
Offers same topology to optimisation for H2 grid as that of HVAC and
HVDC grid.
2019-11-26 18:00:45 +01:00
Fabian Neumann
a74c15a132 trigger new travis build (skipped through squash) 2019-11-19 19:45:08 +01:00
Fabian Neumann
81d9d2ab4d
battery+H2: option for stores and links instead of storage_units (#97)
* add_electricity: stores and links instead of storageunits

* move code for attaching in add_extra_stores.py

* Update Snakefile

Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de>

* Update Snakefile

Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de>

* Update Snakefile

Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de>

* rename to add_extra_components.py

* incorporate suggestions

* Snakefile: update script name

* extra_components: import _add_missing_carriers_from_costs

* Add '_ec" infix in Snakefile

* Snakefile add infix at missing spot

* remove unintendetely inserted data.bundle, correct import in add_extra_components

* environment: fix pyyaml version

* set powerplantmatching as conda-dependency

* environment fix minimal ppm version

* environment reinsert pyyaml

* environment: carry over changes to environment.docs.yaml

* extra_components: add carriers

* update docstring

* Update scripts/add_extra_components.py

* Update scripts/add_extra_components.py

* tutorial: fix hyperlink [skip travis]

* update release notes

* update documentation

* add_electricity: merge removal of suptech
2019-11-19 19:36:28 +01:00
Fabian Neumann
9517eda1d7
add option for nuclear expansion at current locations (#98)
* add_electricity: add option for nuclear expansion at current locations

* doc: add documentation on adding nuclear options
2019-11-19 12:26:01 +01:00
Fabian
e59d2c4162 scripts/* revise imports 2019-11-14 17:50:24 +01:00
Fabian
af22261c10 prepare_network: revise imports, add line_break 2019-11-14 16:21:00 +01:00
Fabian Neumann
3370bd3b92 doc: update documentation on Ep option 2019-11-14 15:50:03 +01:00
Fabian Neumann
6a6bae41db prepare_network: reactivate Ep option (closes #63) 2019-11-14 15:41:09 +01:00
Fabian Neumann
a35dbc067c build_natura: add cutouts as input (closes #95) 2019-11-11 16:29:27 +01:00
Fabian Neumann
7cd3b8a42b solve: undo update line parameter 2019-11-09 13:23:01 +01:00
Fabian Neumann
998b13dc3a
solve: update line parameters if not iterating 2019-11-09 13:16:31 +01:00
Fabian Neumann
3fd5c5d0e1 cluster: add tolerance to country weight sum L 2019-11-09 12:58:04 +01:00
FabianHofmann
0ea5a5c28f Powerplants (#94)
* add nice carrier names to n.carriers

* closes #48

* update environment
2019-11-09 09:08:25 +01:00
Fabian Neumann
d32f2105cd fix deprecation: logger.warn -> logger.warning 2019-11-08 16:46:29 +01:00
Fabian Neumann
a71cb6fc26 build_hydro: fix logger (closes #91) 2019-11-07 17:38:08 +01:00
Fabian Neumann
7df2b76f9d
cluster_network: fix focus_weights for mult sync 2019-11-07 16:54:09 +01:00
Fabian Neumann
e54119d878
cluster: add focus weights (in favor of #26) (#87)
* cluster: add focus weights (in favor of #26)

* clear assert of total focus

Co-Authored-By: FabianHofmann <hofmann@fias.uni-frankfurt.de>
2019-11-07 15:38:25 +01:00
Fabian Neumann
99cb4a4354
Merge pull request #86 from PyPSA/workflow
Integrate data retrieving into snakemake workflow
2019-11-06 16:06:11 +01:00
Fabian Neumann
0fb57601bf doc: document powerplantmatching changes from #84 2019-11-06 15:59:34 +01:00
Fabian Neumann
2ace4f2e94 retrieve*: add documentation 2019-11-06 14:50:59 +01:00
Fabian Neumann
0c537f159f retrieve*: clean retrieve rules 2019-11-06 12:04:01 +01:00
Fabian Neumann
bf12d25879
Merge pull request #51 from fneum/solve_network
Add `extra_functionality` and `extra_postprocessing` to solve_network()
2019-11-06 11:38:15 +01:00
Fabian Neumann
4d9b02ea12
solve_network: add snapshots as required argument 2019-11-06 11:33:57 +01:00
Fabian Neumann
82392c6c07 Merge branch 'co2limit' of https://github.com/fneum/pypsa-eur into fneum-co2limit 2019-11-06 11:19:41 +01:00
Fabian
b1a38229f4 ignore sort warning 2019-11-05 14:29:15 +01:00
Fabian
f6e44d2805 include data retrieving in workflow 2019-11-05 12:53:21 +01:00
Fabian Neumann
67390cc2a9
Update scripts/prepare_network.py 2019-11-05 11:21:33 +01:00
FabianHofmann
d0e2fed4d7 incorporate suggestions 2019-11-01 13:27:42 +01:00
FabianHofmann
bf26ac9445 build_powerplants update docstring 2019-10-31 18:01:33 +01:00
FabianHofmann
324ededa66 fix typo 2019-10-31 14:59:51 +01:00
Fabian Hofmann
4ee18ea9fa incorporate suggestions of #69 2019-10-31 14:48:10 +01:00
Fabian Hofmann
0d778eaf42 Merge branch 'eb5193-add_own_carriers' into powerplants 2019-10-31 14:30:05 +01:00
Fabian Hofmann
65700000f7 Merge branch 'add_own_carriers' of https://github.com/eb5194/pypsa-eur into eb5194-add_own_carriers 2019-10-31 14:23:43 +01:00
Fabian Hofmann
dee544f56b fix typo 2019-10-31 13:01:08 +01:00
Fabian Hofmann
296840bac5 Merge branch 'master' into powerplants 2019-10-31 12:16:56 +01:00
FabianHofmann
0c777fc431
Merge pull request #71 from PyPSA/update_link_length
[WIP] capital cost and underwater fraction update in clustering
2019-10-31 11:27:58 +01:00
Fabian Hofmann
142434b529 incorporate suggestions 2019-10-31 10:37:49 +01:00
Fabian Hofmann
7a9842eba7 update build and add powerplant with new ppm version 2019-10-30 23:09:41 +01:00
Fabian Neumann
036a90ff6d
Merge pull request #83 from PyPSA/powerplants
update powerplants.csv
2019-10-28 17:33:47 +01:00
Fabian Neumann
570e3fc5ab build_powerplants: download from ppm 2019-10-28 17:12:49 +01:00
Fabian Neumann
05e15de60b
Rename "Macedonia" to "North Macedonia"
https://en.wikipedia.org/wiki/Macedonia_naming_dispute
2019-10-28 16:15:06 +01:00
FabianHofmann
7e3ea94a53
Merge pull request #76 from euronion/patch-1
Update make_summary for pandas-0.25 compatability.
2019-10-25 15:41:29 +02:00
euronion
da0107478e
Refractor make_summary.py multiindex creation.
Outsource the pd.MultiIndex and pd.Index union into dedicated function and remove C&P code snippets.
2019-10-25 14:29:38 +02:00
Fabian Neumann
0fef13ee86 resolve merge conflicts 2019-10-24 16:22:57 +02:00
euronion
a401d80300
Fix more pandas Index issues in make_summary. 2019-10-24 10:53:07 +02:00
euronion
dfc0242a2d
Update make_summary for pandas-0.25 compatability.
The pandas Index union operation does no longer produce a MultiIndex but a Index tuple in pandas-0.25.2.
This causes the script to fail. (The problem does not exist with pandas-0.24.0.)

Fix by explicitly checking for this case (only the first loop iteration).
2019-10-24 09:54:50 +02:00
Fabian Hofmann
26453a27bb build_bus_regions fix index column name to 'name' 2019-10-15 09:58:55 +02:00
martavp
5251ee5e56
Add files via upload
Read industry constants from config.yaml
2019-10-07 16:21:14 +02:00
Fabian Neumann
485b66c2c9 add cdsapi installation instructions 2019-10-03 12:38:59 +02:00
Fabian Neumann
5ea60a1ee0 modify to run without GEBCO and without hydro 2019-10-03 12:32:49 +02:00
Fabian Hofmann
16ff2b51bd fix small issues 2019-09-23 16:44:48 +02:00
Fabian Hofmann
9178dde4a7 partially resolves #70 2019-09-23 14:32:51 +02:00
eb5194
ffef74e9c5 adaptions using query 2019-08-19 18:04:51 +02:00
eb5194
c4fd099cc8 allow usage of own powerplants for selected country 2019-08-17 16:50:57 +02:00
Fabian Neumann
03b51cac18 add rulegraphs 2019-08-14 17:15:07 +02:00
Fabian Neumann
0e5886081e move rules to own pages and adapt image paths 2019-08-14 15:36:46 +02:00
Fabian Neumann
e7236010dd add instructions to obtain pietzcker 2019-08-14 11:54:58 +02:00
Fabian Neumann
78f5a940f7 description of prepare_network 2019-08-14 11:08:10 +02:00
Fabian Neumann
63f2e1cd79 description of solve_network 2019-08-14 11:07:52 +02:00
Fabian Neumann
f16a107aea result sample 2019-08-14 10:35:41 +02:00
Fabian Neumann
0b130b35ef link rule references to their documentation 2019-08-13 17:52:33 +02:00
Fabian Neumann
630b08fff0 add cutout related descriptions and figures 2019-08-13 15:48:21 +02:00
Jonas Hoersch
ce3b897649 Fix importing plot_p_nom_max module for documentation 2019-08-13 10:53:18 +02:00
Fabian Neumann
3a94d4f5ef add seealso from module description to config documentatoin 2019-08-13 10:03:46 +02:00
Fabian Neumann
4d3d898430 remove trialed sphinx-bibtex and describe wildcards 2019-08-12 23:48:16 +02:00
Jonas Hoersch
f2afdacb31 build_renewable_profiles: Update documentation 2019-08-12 20:50:50 +02:00
Jonas Hoersch
be8c9798c1 plot_network: Split plotting into several functions to make sphinx happy
Also addresses part of issue #50: plot_map works again with cartopy.
2019-08-12 20:40:36 +02:00
Fabian Neumann
89d89deec0 further improve documentation 2019-08-12 19:01:53 +02:00
Fabian Neumann
a5d9bc9c7c add input/output descriptions (WIP) 2019-08-11 22:34:18 +02:00
Fabian Neumann
f7159de47f
base_network: return zero underwater fraction if no link geometry given (closes #53)
fixes #53
2019-08-11 16:59:56 +02:00
Fabian Neumann
67cf28b593 fill in relevant settings sections 2019-08-11 13:17:36 +02:00
Fabian Neumann
1bded0ab9b add rule section headers 2019-08-11 11:40:47 +02:00
Fabian Neumann
067d259ff6 include description of rule groups
* and reduce corresponding sections in readme
* and modify environment docs
* and add bibtex support (tentative)
2019-08-10 14:25:19 +02:00
Fabian Neumann
ea96d499e7
base_network: scale snapshot weightings to sum up to 1 year
If the user selects a date range of less than a year in `config.yaml` the snapshot weightings should be scaled to add up to represet 8760 hours (1 year) such that operational expenses and investments are aligned in the objective function.
2019-08-10 12:33:14 +02:00
Jonas Hoersch
fb0d44f64e Add a summary sentence for each rule taken from scripts 2019-08-08 15:07:08 +02:00
Tom Brown
8d68146e7c Switch to BDEW-based weekday/end space heating demand profiles
These are different for residential and services demand.

Also include Snakefile in config files copied for each run.

Use gurobi settings from gurobi support for speed.

Commented out settings for testing randomness for noise.
2019-08-07 19:08:06 +02:00
Tom Brown
019e2f3f25 Split heat demand into residential and services with diff profiles
All urban central (i.e. district heating) is aggregated to the same
profile and bus.

The code is now written to cycle over each heating sector to add
demand and supply technologies, only changing what is necessary to
change, rather than just copying chunks of code and modifying
parameters there. This should make it easier to get an overview of
what's going on.
2019-08-07 11:33:29 +02:00
Fabian Neumann
7a4e9f22d4 configuration table descriptions 2019-08-07 10:56:23 +02:00
Tom Brown
eebac1bfa3 Deduct electric heating from electricity load profile
Otherwise it is double-counted in both the heating and the electricity
load profiles. This removes 454 TWh/a from electricity.
2019-08-01 16:16:05 +02:00
Tom Brown
d3a0f7e67d Diff intraday heat profiles for (res, services) x (water, space)
These are specified in data/heat_load_profile.csv.

The resulting heat_demand df has MultiIndex columns, where the first
level is ["sector use"], and the second level level is nodes.
2019-08-01 15:43:04 +02:00
Tom Brown
72b7ea0997 Allow space heating to be linearly reduced (without cost so far) 2019-07-31 14:22:33 +02:00
Tom Brown
886b7c5f48 Include micro-CHP using PEMFC 2019-07-28 13:10:21 +02:00
Jonas Hoersch
07143fb2cd base_network: Zero s_nom of under_construction lines 2019-07-26 11:43:34 +02:00
Tom Brown
318444e3a4 Include new industry technologies for plotting colours 2019-07-21 12:11:40 +02:00
Tom Brown
7e37dbbd03 Include multi-link outputs in energy balance 2019-07-21 12:11:05 +02:00
Tom Brown
ae1ea81520 Copper plate biogas and solid biomass
Because there was insufficient solid biomass in 3-4 countries to
supply industry for it locally, and we need to account for transport
of solid biomass.

Should be replaced by transport cost links between countries.
2019-07-21 12:09:18 +02:00
Tom Brown
32af25df62 Backup config files before solve_network rather than after
For debugging cases where solving failed.
2019-07-20 10:55:23 +02:00
Tom Brown
03670c1ab3 Simplify industry load-link-bus to avoid numerical problems
Gurobi had numerical problems solving the system.

Trivial load-link-bus combinations to manage CO2 have been replaced
with simple loads.
2019-07-19 12:10:22 +02:00
Tom Brown
06cb526fef Re-integrate industry, aviation and shipping into model
Following plan by Marta and Kun
2019-07-19 10:21:12 +02:00
Tom Brown
990ab035c3 Include light-rail and high-speed-rail in "electricity rail"
This then conforms with JRC IDEES totals
2019-07-19 10:19:21 +02:00
Tom Brown
7509d61348 Split industrial demand across nodes by population 2019-07-18 15:55:58 +02:00
Tom Brown
b132193f7f Read in more sector detail for road, rail, aviation and navigation 2019-07-18 15:38:37 +02:00
Tom Brown
f3b6027cd5 Incorporate Marta and Kun's scripts to build industry demand
By country and by energy source.
2019-07-18 11:40:38 +02:00
Tom Brown
ddca9afcc7 Give all loads a carrier; rename heat buses; fix district h losses
Heat buses renamed to:

rural (for low-density areas where district heating not possible)

urban decentral (for high-density areas without district heating and
individual heating technologies) (used to be called "urban")

urban central (for high-density areas with district heating) (used to
be called "central")

District heating losses applied only to urban central.
2019-07-16 16:00:21 +02:00
Tom Brown
6cc676d6cf 190516: Try removing H2 network too 2019-07-12 08:51:25 +02:00
Fabian Neumann
2979b89291 Merge remote-tracking branch 'upstream/master' into solve_network 2019-06-18 13:48:52 +02:00
Fabian Neumann
5119a73477 merge upstream/master in co2limit 2019-06-18 13:33:01 +02:00
Fabian Neumann
dc1feadcba generalize solve_network
* skip_iterating flag: solve network only once without updating impedances
* extra_functionality parameter: add function to modify pyomo model
* extra_functionality args: function arguments for extra_functionality
* extra_postprocessing: add function for postprocessing steps depending on n.model
2019-06-18 13:24:29 +02:00
Jeroen Peters
97985e3c52 Fix by changing po.Constraint.Skip into pypsa.opt.Constraint.Skip 2019-06-18 13:18:59 +02:00
Jonas Hörsch
ac32f2cad6 Fix typo introduced in previous commit 2019-06-18 13:18:59 +02:00
Jonas Hörsch
2f728b33c8 solve_network: Move country/carrier constraints to opts as CCL 2019-06-18 13:18:59 +02:00
Jonas Hörsch
d7fcbbba7b solve_network: Backwards compatibility
Make sure not providing a csv-file with capacity limits does not break.
2019-06-18 13:18:59 +02:00
Jeroen Peters
a2c736e2bf Include config handle 2019-06-18 13:18:59 +02:00
Jeroen Peters
c065cad811 Fix missing code 2019-06-18 13:18:59 +02:00
Jeroen Peters
f68f4c4205 solve_network.py: add minmax constraint per country 2019-06-18 13:18:59 +02:00
Fabian Neumann
c99480e0f3 add co2 emissions reduction factor to wildcard 2019-06-18 11:50:54 +02:00
Jonas Hoersch
5de59fe453 base_network: Replace deprecated yaml.load by yaml.safe_load
Refer to https://msg.pyyaml.org/load for details.
2019-06-05 18:07:36 +02:00
Jonas Hoersch
63a6cebab2 build_renewable_profiles: Communicate extent as pickleable tuple (fixes #42) 2019-05-28 13:50:42 +02:00
Tom Brown
ae3059f676 Add "central" option to remove electricity grid (HVAC, HVDC, B2B) 2019-05-16 16:08:16 +02:00
Tom Brown
8394dca22c Rule to save a copy of important config files after each run 2019-05-16 09:39:03 +02:00
Tom Brown
9ad0eb01e2 Use waste heat from FT and fuel cells in district heating 2019-05-14 11:49:32 +02:00
Tom Brown
77bef57c60 Automatic plotting of network maps with costs per node 2019-05-13 17:09:26 +02:00
Tom Brown
52a02bd979 Compute cfs; compute nodal costs, capacities, cfs; fix prices 2019-05-13 16:48:29 +02:00
Tom Brown
71c04909b5 Allow option of underground H2 storage 2019-05-13 16:47:54 +02:00
Tom Brown
3c28e4daba Include lossless and costless H2 network to examine benefit
Agglomerate H2 storage for this case.

Need to replace with separate H2 links and stores.
2019-05-12 11:27:56 +02:00
Tom Brown
a10a7d2b15 Limit sequestration to 200 Mt/a, introduce SMR, vent stored CO2 2019-05-11 15:55:06 +02:00
Tom Brown
38c49ad460 Fix paper_graphics.py maps for cartopy and industrial demands 2019-05-09 17:28:16 +02:00
Tom Brown
1aa9f9e70b Copy over paper_graphics.py from old pypsa-eur sector branch 2019-05-09 15:22:14 +02:00
Tom Brown
0ab5bd200a Fix gas and oil stores so that they allow fossil fuel extraction
Before both initial SOC and final SOC were set to be zero, which
prevents synthetic fuel transfer over the year boundary, and prevents
the use of fossil fuels for non-zero CO2 scenarios.

Now done properly with cyclic Store (prevents accumulation of fossil
fuels as a form of sequestration) and Generator (to imitate fossil
fuel extraction).
2019-05-08 12:18:18 +02:00
Tom Brown
5357b7b92f Record total capacities and total costs 2019-05-03 17:11:13 +02:00
Tom Brown
c47ffb8d03 Changes for 190501-256 2019-05-02 08:39:29 +02:00
Tom Brown
82a057791e Allow storing FT fuels, cost for FT conversion, fossil FT fuels
Also include raw data/costs.csv
2019-04-30 12:05:36 +02:00
Tom Brown
952534c5c9 Generalise limitation of tech potentials
tech name must only appear, but not be identical to generator
carrier. This allows to use the name "offshore" for both "offshore-ac"
and "offshore-dc", but then "solar" also catches "solar thermal",
which is fine since for solar thermal potentials are np.inf, unless
limit is 0 since np.inf*0 is nan.
2019-04-24 12:17:42 +02:00
Tom Brown
d48d51f765 Cater for AC and DC offshore in plotting 2019-04-23 16:22:09 +02:00
Tom Brown
5157041ee2 Update for compatibility with latest PyPSA-eur master branch
Remove non-renewable generator and storage units from electricity-only
base network, since they're added differently here with links.

Remove unncessary cruft from config.yaml which is not used by
PyPSA-Eur-Sec (e.g. renewable configuration parameters).

Rename "naptha" to correct "naphtha".
2019-04-18 15:23:37 +02:00
Tom Brown
3b0e0dfb3a Changes to make solving and post-processing work 2019-04-18 12:12:38 +02:00
Tom Brown
cfe44ce702 Copy solve_network.py and *_summary.py from pypsa-eur sector branch 2019-04-18 11:39:17 +02:00
Tom Brown
e88b6c850f Fix prepare_sector_network to reproduce old sector prenetworks
from pypsa-eur sector branch
2019-04-17 17:04:33 +02:00
Tom Brown
ad865c18c6 Copy prepare_network.py from pypsa-eur sector commit 95820e57f795
...to scripts/prepare_sector_network.py
2019-04-17 14:24:22 +02:00
Tom Brown
ea22a792b7 Fix all data preparation steps up to prepare_network 2019-04-17 11:44:16 +02:00
Tom Brown
1b26c3c737 Copy data preparation scripts from pypsa-eur sector branch 2019-04-16 16:03:51 +02:00
Jonas Hoersch
9ec97bd367 fixup! cluster_network: [compat] Pyomo 5.6.1 removed po.sum 2019-03-09 17:50:28 +01:00
Jonas Hoersch
93119fc86b cluster_network: [compat] Pyomo 5.6.1 removed po.sum 2019-03-09 17:08:55 +01:00
Jonas Hoersch
3688122aa7 base_network: [compat] read_csv in pandas 0.24 is stricter
read_csv now raises a ValueError when it encounters NaN in a boolean column.
2019-03-06 20:40:29 +01:00
Jonas Hoersch
66fe76288c add_electricity: Assume load scaling factor is 1.0 if omitted 2019-02-22 22:06:03 +01:00