link_thresholds as dictionary, not float, more logging messages

This commit is contained in:
Fabian Neumann 2024-05-15 15:15:09 +02:00
parent 9b50c846a0
commit ea8fc31a30
3 changed files with 10 additions and 5 deletions

View File

@ -778,12 +778,15 @@ solving:
post_discretization:
enable: false
line_unit_size: 1700
line_threshold: 0.3
link_unit_size:
DC: 2000
H2 pipeline: 1200
gas pipeline: 1500
line_threshold: 0.3
link_threshold: 0.3
link_threshold:
DC: 0.3
H2 pipeline: 0.3
gas pipeline: 0.3
constraints:
CCL: false

View File

@ -17,10 +17,11 @@ options,,,
-- post_discretization,,,
-- -- enable,bool,"{'true','false'}",Switch to enable post-discretization of the network. Disabled by default.
-- -- line_unit_size,MW,float,Discrete unit size of lines in MW.
-- -- link_unit_size,MW,float,Discrete unit size of links in MW by carrier (given in dictionary style.
-- -- line_threshold,,float,The threshold relative to the discrete line unit size beyond which to round up to the next unit.
-- -- link_unit_size,MW,float,Discrete unit size of links in MW by carrier (given in dictionary style).
-- -- -- {carrier},,,
-- -- link_threshold,,float,The threshold relative to the discrete link unit size beyond which to round up to the next unit by carrier (given in dictionary style).
-- -- -- {carrier},,,
-- -- line_threshold,,float,The threshold relative to the discrete line unit size beyond which to round up to the next unit. Defaults to 0.3.
-- -- link_threshold,,float,The threshold relative to the discrete link unit size beyond which to round up to the next unit. Defaults to 0.3.
constraints ,,,
-- CCL,bool,"{'true','false'}",Add minimum and maximum levels of generator nominal capacity per carrier for individual countries. These can be specified in the file linked at ``electricity: agg_p_nom_limits`` in the configuration. File defaults to ``data/agg_p_nom_minmax.csv``.
-- EQ,bool/string,"{'false',`n(c| )``; i.e. ``0.5``-``0.7c``}",Require each country or node to on average produce a minimal share of its total consumption itself. Example: ``EQ0.5c`` demands each country to produce on average at least 50% of its consumption; ``EQ0.5`` demands each node to produce on average at least 50% of its consumption.

1 Unit Values Description
17 -- post_discretization
18 -- -- enable bool {'true','false'} Switch to enable post-discretization of the network. Disabled by default.
19 -- -- line_unit_size MW float Discrete unit size of lines in MW.
20 -- -- link_unit_size -- -- line_threshold MW float Discrete unit size of links in MW by carrier (given in dictionary style. The threshold relative to the discrete line unit size beyond which to round up to the next unit.
21 -- -- link_unit_size MW float Discrete unit size of links in MW by carrier (given in dictionary style).
22 -- -- -- {carrier}
23 -- -- link_threshold float The threshold relative to the discrete link unit size beyond which to round up to the next unit by carrier (given in dictionary style).
24 -- -- -- {carrier}
-- -- line_threshold float The threshold relative to the discrete line unit size beyond which to round up to the next unit. Defaults to 0.3.
-- -- link_threshold float The threshold relative to the discrete link unit size beyond which to round up to the next unit. Defaults to 0.3.
25 constraints
26 -- CCL bool {'true','false'} Add minimum and maximum levels of generator nominal capacity per carrier for individual countries. These can be specified in the file linked at ``electricity: agg_p_nom_limits`` in the configuration. File defaults to ``data/agg_p_nom_minmax.csv``.
27 -- EQ bool/string {'false',`n(c| )``; i.e. ``0.5``-``0.7c``} Require each country or node to on average produce a minimal share of its total consumption itself. Example: ``EQ0.5c`` demands each country to produce on average at least 50% of its consumption; ``EQ0.5`` demands each node to produce on average at least 50% of its consumption.

View File

@ -923,6 +923,7 @@ def solve_network(n, config, solving, **kwargs):
kwargs["min_iterations"] = cf_solving["min_iterations"]
kwargs["max_iterations"] = cf_solving["max_iterations"]
if cf_solving["post_discretization"].pop("enable"):
logger.info("Add post-discretization parameters.")
kwargs.update(cf_solving["post_discretization"])
status, condition = n.optimize.optimize_transmission_expansion_iteratively(
**kwargs