Zonal Clearing#

Zonal-clearing allocation algorithms and redispatch routines.

Zonal Configurations#

Zonal unit-based models map network nodes to bidding zones before solving the zonal clearing problem. The mapping is selected with unit_based_model.zonal_configuration.type in config.json.

"zonal_configuration": {
  "type": "zonal_DE2-s",
  "factor": 0.8,
  "base_case": "BC4"
}

The built-in mappings are Germany-focused, coordinate-based approximations of alternative bidding-zone layouts discussed in the European Bidding Zone Review (BZR) process. ACER describes the role of bidding-zone reviews and alternative bidding-zone configurations on its Bidding Zone Review page. The mapping logic is implemented in zonal_configuration.py.

Note

The built-in zonal configurations are currently supported only for the PyPSAEurSmall and PyPSAEurLarge unit-based datasets.

configuration

zones

description

national

1

Assigns all nodes to one German zone.

zonal_DE2-k

2

Two-zone German split based on a k-means-style BZR alternative.

zonal_DE2-s

2

Two-zone German split based on a spectral-style BZR alternative.

zonal_DE3

3

Three-zone German split with north-west, north-east, and south zones.

zonal_DE4

4

Four-zone German split with north-west, west, east, and south zones.

zonal_DE5

5

Five-zone German split with an additional northern zone.

factor scales interzonal capacities in the NTC-based zonal models. For Zonal_FBMC, base_case selects the FBMC base-case construction; see FBMC for the available base cases.

Zonal Clearing Package#

API path: apem.unit_based_model.allocation.algorithms.zonal_clearing

class Zonal_NTC_multiedge(zonal_configuration='zonal_DE3', factor=0.8)[source]#

Bases: PowerFlowModel

Variant of the zonal NTC model that preserves individual cross-zonal lines (no aggregation). Each interzonal line in the nodal network becomes its own edge in a zonal MultiGraph so parallel connections are modeled independently. Works only with PyPSA data.

Parameters:
  • zonal_configuration (str)

  • factor (float)

create_zonal_scenario_NTC(base_scenario, results_root=None)[source]#

Convert a nodal scenario into a zonal one while keeping every cross-zonal line as a separate edge.

Parameters:
  • base_scenario (Scenario)

  • results_root (str | None)

Return type:

Scenario

Zonal Configuration#

API path: apem.unit_based_model.allocation.algorithms.zonal_clearing.zonal_configuration

node_zone_mapper(zonal_configuration, lat, lon)[source]#

Map a node to a specific zone based on its latitude and longitude coordinates. Note: The configurations ‘zonal_DE2-k’, ‘zonal_DE2-s’, ‘zonal_DE3’, ‘zonal_DE4’ were suggested by ACER for the BZR (see https://www.entsoe.eu/network_codes/bzr/).

Parameters:
  • zonal_configuration (str) – zonal configuration to be used

  • lat (float) – latitude

  • lon (float) – longitude

Returns:

zone where node is located

Return type:

int