Commit Graph

53 Commits

Author SHA1 Message Date
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
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
e59d2c4162 scripts/* revise imports 2019-11-14 17:50:24 +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
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
0fef13ee86 resolve merge conflicts 2019-10-24 16:22:57 +02:00
Fabian Neumann
0e5886081e move rules to own pages and adapt image paths 2019-08-14 15:36:46 +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
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
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
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
Jonas Hoersch
fb0d44f64e Add a summary sentence for each rule taken from scripts 2019-08-08 15:07:08 +02:00
Fabian Neumann
2979b89291 Merge remote-tracking branch 'upstream/master' into solve_network 2019-06-18 13:48:52 +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
Jonas Hoersch
7f3f096ba6 Fix model for country selections without DC links (fixes #5) 2019-02-13 19:03:57 +01:00
Jonas Hoersch
8c9e650feb fixup! trace_solve_network: Save intermediate line capacities 2019-02-06 11:48:59 +01:00
Jonas Hoersch
5dfeb6efbc trace_solve_network: Save intermediate line capacities 2019-02-04 18:32:56 +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
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 Hörsch
0b60159575 solve_network: Fix numeric instabilities
Measure load shedding in kW and remove the eps_storage_constraint
2018-10-22 23:20:51 +02:00
Jonas Hörsch
2372bb156d Prepare Snakefile and scripts for other solvers 2018-09-14 11:22:13 +02:00
Jonas Hörsch
ca70cab40d solve_network: Only zero lines below 100MW
There are 6 links between 250 MW and 500 MW, which are deleted otherwise!
2018-03-14 15:49:15 +01:00
Jonas Hörsch
4bde9417dc Finish solve_operations_network 2018-03-13 10:47:47 +01:00
Jonas Hörsch
e27db0f462 solve_network: Add noise to line and link capital costs 2018-03-09 15:41:46 +01:00
Jonas Hörsch
44d2d950e2 solve_network: Suppress logging noise from pypsa.pf 2018-03-09 15:39:53 +01:00
Jonas Hörsch
8e4f030ec8 solve_network: Fix updating line parameters 2018-03-02 16:20:52 +01:00
Jonas Hörsch
eaef066a89 solve_network: Move memory_logger to vresutils.benchmark 2018-03-02 14:13:12 +01:00
Jonas Hörsch
825c2342fc solve_network: Kill subprocess in log_memory in the case of an exception 2018-02-19 10:13:48 +01:00
Jonas Hörsch
8d70766e72 {prepare,solve}_network: Don't add a line volume limit for lv1.0
lv1.0 signifies lines being non-extendable!
2018-02-19 10:11:58 +01:00
Jonas Hörsch
cb5681df18 Fix cluster use and memory requirements 2018-02-10 17:19:46 +01:00
Jonas Hörsch
6a613ea483 build_powerplants: Separate loading of power plant list into new rule 2018-02-10 17:16:20 +01:00
Jonas Hörsch
3cb57db043 solve_network: Clean up 2018-02-01 12:42:56 +01:00
Jonas Hörsch
b7a1a090f1 Use MockSnakemake and logging.basicConfig everywhere 2018-02-01 12:42:11 +01:00