Commit Graph

240 Commits

Author SHA1 Message Date
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
Fabian Neumann
7a4e9f22d4 configuration table descriptions 2019-08-07 10:56:23 +02:00
Jonas Hoersch
07143fb2cd base_network: Zero s_nom of under_construction lines 2019-07-26 11:43:34 +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
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
Jeroen Peters
0cafe40bdd add_electricity.py: Add a simple load scaler (#21)
* Add simple load scaler

* Add scaler to config

* Update config.yaml

* Update add_electricity.py
2019-02-22 21:47:41 +01:00
Jonas Hoersch
f0a0a2531e add_electricity: Fix for choices of countries without any offshore or hydro
fixes #22.
2019-02-22 17:09:52 +01:00
Jeroen Peters
d111cedc03 Add warning for capital costs to 0 2019-02-22 15:03:53 +01:00
Heronimonimo
1c192253bf Remove capital costs for existing conventional capacity
All the existing conventional capacity has sunk capital costs. Therefore these should be put to 0.
2019-02-22 15:03:53 +01:00
Jonas Hoersch
8b819569bc cluster_network: Fix busmap_for_n_clusters for single country (fixes #18)
Also update debugging helper.
2019-02-20 21:10:45 +01:00
Heronimonimo
9c78d6591d Add CCGT to the weight factor for conventional carriers 2019-02-20 19:18:06 +01:00
Jonas Hoersch
9279c7f027 solve_network: Remove hard-coded solver fallback in busmap_for_n_clusters
Necessary for when `clustering_for_n_clusters` is used from the simplify_network
rule.

Fixes #12
2019-02-20 19:08:25 +01:00
Heronimonimo
6f1b387804 Add CCGT to plot 2019-02-20 17:31:14 +01:00
Jonas Hörsch
2e02c8366e
fixup! add_electricity: add CCGT to extendable generators 2019-02-18 00:43:09 +01:00
Fabian Neumann
02e1a12667 add_electricity: add CCGT to extendable generators 2019-02-16 12:52:18 +01:00
Jonas Hoersch
33823c9012 build_country_flh: Fix aggregated flh reports for wind 2019-02-15 20:59:42 +01:00
Jonas Hoersch
6bb9cd1025 add_electricity: Refactor extendable generators to provide a OCGT-ext technology
Partially adresses #7.
2019-02-15 18:28:41 +01:00
Jonas Hoersch
50abd6c0c9 build_country_flh: Add rule for per-country full load hours tables and plots 2019-02-15 18:27:04 +01:00
Jonas Hoersch
f49682c61d build_renewable_profiles: Extend calculate_potential to optionally save the exclusion map 2019-02-15 11:11:41 +01:00
Jonas Hoersch
c858ed0b0d build_renewable_profiles: Pass all globals with init_globals 2019-02-15 11:11:31 +01:00
Jonas Hoersch
7f3f096ba6 Fix model for country selections without DC links (fixes #5) 2019-02-13 19:03:57 +01:00
Jonas Hoersch
1b6fe5be80 base_network: Fix _add_links_from_tyndp if there are none left (fixes #5) 2019-02-12 16:41:07 +01:00
Jonas Hoersch
15e986a0ec make_summary: Update summary creation for new line volume/cost constraints
Fixes #4.
2019-02-10 16:08:39 +01:00
Jonas Hoersch
448e8c238e cluster_network: Fall back to using ipopt in distribute_clusters
if the configured solver does not support quadratic objectives.
2019-02-10 15:33:53 +01:00
Jonas Hoersch
6284cf7e8b add_electicity: Report countries missing from the hydro inflow time-series 2019-02-07 17:41:01 +01:00
Jonas Hoersch
3e11d569d0 build_shapes: Fix pycountry API change (fixes #1)
See also
72b1927b3c
2019-02-07 13:03:18 +01:00
Jonas Hoersch
d57df6b0c8 Merge branch 'glaes' 2019-02-06 12:06:32 +01:00
Jonas Hoersch
8c9e650feb fixup! trace_solve_network: Save intermediate line capacities 2019-02-06 11:48:59 +01:00
Jonas Hoersch
2cf8f1374f add_electricity: Fix for pandas 0.24 breaking change 2019-02-05 23:02:59 +01:00
Jonas Hoersch
5c3fcb642c add_electricity: Add heuristic for estimating renewable capacities from country totals
Split per-country capacity totals reported in entsoe SO&AF 2016 in proportion to
yearly generation potential at each bus, i.e. p_nom_max * mean(p_max_pu)
2019-02-05 23:00:35 +01:00
Jonas Hoersch
b9f1f5a8b5 Fix for pycountry 18.12.8
72b1927b3c (chg-HISTORY.txt)
2019-02-05 17:46:51 +01:00
Jonas Hoersch
5dfeb6efbc trace_solve_network: Save intermediate line capacities 2019-02-04 18:32:56 +01:00
Jonas Hoersch
80d86487de plot_network: Extend plot title with line volume/cost 2019-02-04 18:31:15 +01:00
Jonas Hoersch
8d3127ff1a fixup! Include an optional total line cost constraint 2019-02-03 16:06:35 +01:00
Jonas Hoersch
9715c9d42b fixup! solve_network: Extract line limit duals and radically refactor 2019-02-03 15:44:40 +01:00
Jonas Hoersch
60dda9f909 plot_p_nom_max: Add plots for the cumulative renewable expansion potential
The wildcards `clusters` and `technology` accept lists of values separated by ','
2019-02-03 14:22:12 +01:00
Jonas Hoersch
a069bef380 solve_network: Extract line limit duals and radically refactor
remove all persistent solver features, rebuild the model every time
2019-02-03 14:18:05 +01:00
Jonas Hoersch
dde0d91168 Include an optional total line cost constraint
elec_s_37_lc1.25_... adds a constraint on the total line cost for an extension
by a 25%, compare with elec_s_37_lv1.25_... for the line volume limit.

`ll` is an acronym for line limit.
2019-02-03 13:50:05 +01:00
Jonas Hoersch
d49bea00a8 Remove the heuristic 80% availability factor 2019-02-01 18:34:11 +01:00
Jonas Hoersch
8ee596ae2c Make the additive potential aggregation the default and call it simple 2019-02-01 18:33:21 +01:00
Jonas Hoersch
aa5525ab41 cluster_network: Remove old distribute_clusters code paths 2019-01-22 11:48:00 +01:00
Jonas Hoersch
7ba6fefd67 simplify_network: Refactor clustering for readability 2019-01-22 11:46:45 +01:00
Jonas Hoersch
39cb17a7a1 cluster_network: Fix distribute_clusters_optim for high numbers of clusters
distribute_clusters_optim should never try to assign more clusters to
a (country, sub_network) than there are substations there.
2019-01-22 11:25:01 +01:00
Jonas Hoersch
6feebedc0d cluster_network, simplify_network: Improve debugging facilities for clustering 2019-01-22 11:24:07 +01:00
Jonas Hoersch
4247051c3c simplify_network: Include a special case if renewable carriers are skipped 2019-01-22 10:14:05 +01:00
Jonas Hoersch
bfb92a5d29 base_network: Remove unconnected components after removing under_construction branches 2019-01-22 10:11:43 +01:00
Jonas Hoersch
4cba751331 base_network: Warn about TYNDP links which fall outside of the area of interest
Happens when countries is only a subset.
2019-01-22 10:10:00 +01:00
Jonas Hoersch
47bc13cf51 add_electricity: OCGT plants don't need to be extendable 2019-01-21 18:45:19 +01:00
Jonas Hoersch
f70e0304e5 Fix plotting settings 2019-01-16 12:08:46 +01:00
Jonas Hoersch
a340e4f1a3 base_network: Remove tyndp links outside of desired countries 2019-01-02 18:13:30 +01:00
Jonas Hoersch
0096b184a0 fixup! cluster_network: Implement 'heuristic' potential clustering 2019-01-02 17:54:07 +01:00
Jonas Hoersch
495b6f8015 cluster_network: Implement 'heuristic' potential clustering 2018-12-31 15:10:35 +01:00
Jonas Hoersch
9c6c89dfad build_*_profile(s): Make caps on p_nom_max and inflow optional 2018-12-31 14:10:55 +01:00
Jonas Hoersch
77095c3b94 simplify_network: Improve displacement log message 2018-12-21 16:16:54 +01:00
Jonas Hoersch
21b428d841 build_*_profile(s): Move clip_p_min_pu into profile generation 2018-12-21 13:44:59 +01:00
Jonas Hoersch
6b29f34d51 build_shapes: Ensure name of index for offshore_shapes is 'name' 2018-12-19 15:42:03 +01:00
Jonas Hoersch
f60c1fdb41 Rename index column in geojson imports 2018-12-19 15:37:18 +01:00
Jonas Hoersch
aa24686517 build_shapes: Update save_to_geojson to new fiona version 2018-12-19 15:25:39 +01:00
Jonas Hoersch
8f171396cb build_natura_raster: Fix snakemake specifics 2018-12-19 15:25:03 +01:00
Jonas Hoersch
db073d8daa Split offshore wind turbines into AC and DC connections 2018-12-19 10:34:25 +01:00
Jonas Hoersch
bddea86b1e build_renewable_profiles: Move progressbar around atlite calls into atlite 2018-12-19 10:28:35 +01:00
Jonas Hoersch
350af4a273 build_renewable_profiles: Compute potentials in EPSG:3035 to ensure a metric of meters 2018-12-19 10:27:46 +01:00
Jonas Hoersch
135e4ace47 cluster_network: Disable stricter schema enforcement by geopandas 2018-12-19 10:14:41 +01:00
Jonas Hoersch
448ba651a0 build_renewable_profiles: Compute underwater_fraction 2018-12-11 17:30:25 +01:00
Jonas Hoersch
4dc8e8fc35 build_renewable_profiles: Fix incomplete renaming 2018-12-11 17:29:54 +01:00
Jonas Hoersch
eeba4a81d4 Remove build_renewable_potentials
Superseded by GLAES in build_renewable_profiles
2018-12-11 16:46:34 +01:00
Jonas Hoersch
a035bee9c6 Merge branch 'windcosts' 2018-12-11 16:09:24 +01:00
Jonas Hoersch
5ed5974e86 Disable stricter schema enforcement of GeoPandas 2018-12-11 15:39:46 +01:00
Jonas Hoersch
802261eedd Use GLAES library by FZJ-IEK-3 for computing GIS potentials 2018-12-11 15:39:42 +01:00
Jonas Hoersch
04a291b91b Move from countrycodes to maintained pycountry 2018-12-10 18:34:22 +01:00
Arnaud Leroy
8a7ffbdb4e add a variable to select the clustering algorithm in busmap_for_country. Default k-manes 2018-11-26 16:10:32 +01:00
Jonas Hörsch
1fa62b9aab simplify_network: Allow to remove stubs across country borders 2018-11-12 22:00:54 +01:00
Jonas Hörsch
761b1b998f make_summary: Add summary about capacities and allow single country summaries 2018-11-12 22:00:50 +01:00
Jonas Hörsch
c5e8c9ad25 add_electricity: Extend the assignment of max_hours 2018-11-12 22:00:46 +01:00
Jonas Hörsch
e7d007bc8f build_powerplants: Assign power plants only within the right country
Also update the delivered powerplants snapshots.
2018-11-12 21:40:05 +01:00
Jonas Hörsch
9df54c9530 simplify_network: Refactor compute_distance 2018-10-27 16:42:58 +02:00
Jonas Hörsch
91b83930dd base_network: Important small fixes
- Allow connecting at substations
- Fix offshore shape selection
2018-10-27 03:46:48 +02:00
Jonas Hörsch
cc7d356db0 simplify_network: Set up logger correctly 2018-10-27 03:45:28 +02:00
Jonas Hörsch
9c64034950 simplify_network: Add simplification cost updates
Depends on pypsa commit https://github.com/PyPSA/PyPSA/commit/9ec406252add1b6
2018-10-27 03:41:38 +02:00