Skip to content

Commit

Permalink
Merge branch 'master' into adding_solar_tracking_single_axis
Browse files Browse the repository at this point in the history
  • Loading branch information
lisazeyen committed May 15, 2024
2 parents 6a4e49d + c81b3f1 commit 96118ab
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 6 deletions.
16 changes: 14 additions & 2 deletions config/config.default.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -785,11 +785,23 @@ solving:
# io_api: "direct" # Increases performance but only supported for the highs and gurobi solvers
# options that go into the optimize function
track_iterations: false
min_iterations: 4
max_iterations: 6
min_iterations: 2
max_iterations: 3
transmission_losses: 2
linearized_unit_commitment: true
horizon: 365
post_discretization:
enable: false
line_unit_size: 1700
line_threshold: 0.3
link_unit_size:
DC: 2000
H2 pipeline: 1200
gas pipeline: 1500
link_threshold:
DC: 0.3
H2 pipeline: 0.3
gas pipeline: 0.3

constraints:
CCL: false
Expand Down
8 changes: 8 additions & 0 deletions doc/configtables/solving.csv
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,14 @@ options,,,
-- transmission_losses,int,[0-9],"Add piecewise linear approximation of transmission losses based on n tangents. Defaults to 0, which means losses are ignored."
-- linearized_unit_commitment,bool,"{'true','false'}",Whether to optimise using the linearized unit commitment formulation.
-- horizon,--,int,Number of snapshots to consider in each iteration. Defaults to 100.
-- 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.
-- -- 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},,,
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.
Expand Down
5 changes: 5 additions & 0 deletions doc/release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,11 @@ Upcoming Release

* Allow dictionary for the config aviation_demand_factor.

* Add option to post-discretize line and link capacities based on unit sizes and
rounding thresholds specified in the configuration under ``solving: options:
post_discretization:`` when iterative solving is enables (``solving: optiosn:
skip_iterations: false``). This option is disabled by default.

* Group existing capacities to the earlier grouping_year for consistency with optimized capacities.

* Update data bundle:
Expand Down
2 changes: 1 addition & 1 deletion envs/environment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ dependencies:
- pip

- atlite>=0.2.9
- pypsa>=0.26.1
- pypsa>=0.28
- linopy
- dask

Expand Down
9 changes: 6 additions & 3 deletions scripts/solve_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -1007,9 +1007,12 @@ def solve_network(n, config, solving, **kwargs):
elif skip_iterations:
status, condition = n.optimize(**kwargs)
else:
kwargs["track_iterations"] = (cf_solving.get("track_iterations", False),)
kwargs["min_iterations"] = (cf_solving.get("min_iterations", 4),)
kwargs["max_iterations"] = (cf_solving.get("max_iterations", 6),)
kwargs["track_iterations"] = cf_solving["track_iterations"]
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
)
Expand Down

0 comments on commit 96118ab

Please sign in to comment.