Commit Graph

89 Commits

Author SHA1 Message Date
Fabian Neumann
ec4a45b46b add weather_year wildcard to mock_snakemake objects 2022-06-15 15:03:17 +02:00
Fabian Neumann
9a37fe6572 merge master 2022-06-15 09:22:51 +02:00
Fabian
1f788e0d5b cluster_network: replace np.sum/np.min by pandas.Series.sum/min 2022-03-16 16:16:15 +01:00
Fabian
752ff28538 cluster_network.py: allow cluster wildcard to be 'all' 2022-03-02 14:43:04 +01:00
Fabian Neumann
8dafb7bc83
fix custom clustering by checking explicitly for series (#318) 2022-02-27 08:07:11 +01:00
Fabian Neumann
52b0d29fae merge master 2022-02-18 10:24:26 +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
6cdf3a2879 use snakemake keywords directly without extracting them beforehand 2022-01-24 19:48:26 +01:00
martacki
f28a088ea3 arguments in function calls instead of kwarg-style 2022-01-14 11:30:15 +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
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
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
646c5011af
Merge branch 'master' into snakemake_dependencies_in_functions 2021-11-10 09:46:57 +01: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
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
martacki
b10317ee3c fix p_nom_min values for extendable carriers with positive p_nom 2021-06-30 21:07:38 +02:00
Fabian Neumann
11af828c39
remove six dependency (#245) 2021-05-25 11:29:47 +02:00
Fabian Neumann
70078d03b2 add unresolved merge conflict to be addressed 2021-04-27 16:14:52 +02: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
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
Fabian Neumann
ca0ad08438 reflect filename changes in documentation 2020-10-18 14:47:46 +02:00
Fabian Neumann
bcd7f86b5c remove {networks} wildcard 2020-10-09 17:03:49 +02:00
Fabian Neumann
6deac6ced3 merge master 2020-10-03 11:15:39 +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
Fabian Neumann
b756773b9d merge master 2020-09-26 11:21:16 +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
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
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
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
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
Fabian Neumann
3c1c604c7e
cluster: skip recalculation of link parameters if empty (#149) 2020-03-29 11:39:18 +02:00
Fabian Neumann
d57989c027
scripts: mini code cleanup (#140) 2020-03-16 15:55:01 +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
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
Fabian Neumann
3fd5c5d0e1 cluster: add tolerance to country weight sum L 2019-11-09 12:58:04 +01:00
Fabian Neumann
d32f2105cd fix deprecation: logger.warn -> logger.warning 2019-11-08 16:46:29 +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
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
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
Fabian Neumann
0e5886081e move rules to own pages and adapt image paths 2019-08-14 15:36:46 +02:00
Fabian Neumann
0b130b35ef link rule references to their documentation 2019-08-13 17:52:33 +02:00