Skip to content

[DEPRECATION] Deprecating node injection power sensor #1334

@nitbharambe

Description

@nitbharambe

Proposal

This ticket aims to start a discussion with the community on this possibility of deprecating node injection power sensor. ie. power sensor with MeasuredTerminalType.node. If there are any objections or certain requirements that you think cannot be satisfied adequately in alternate way, please let us know.

Background

Link components are currently modelled as high admittances. This causes many issues in the calculations, especially state estimation. Hence we would like to dissolve link components internally into a single node. An issue for it is #35. This task is made unnecessarily heavily complicated by node injection sensors because we need to think about distribution and redistribution of node injection measurement and results over links.

Node injection sensors were originally added as a minimal convenient way to combine measurements provided by multiple appliances on a node. Users would have had to add complex logic on grid modification and mapping to achieve this.

Reasons

  • Not an actual real life sensor. Hence difficult to explain. Also would not align properly with data models like CIM
  • Is derived from combining appliance measurements. (Hence it can be fully replicated using separate appliance sensors as the alternative.)
  • If node injection sensor is used with multiple appliance, there is still a need for a measurement at one of the appliance for accurate division of the injection. doc reference.
  • The logic on division of measurements + sigma and results of state estimation: state variable + residual is complicated. doc reference.
  • If node injection sensor is used, there is also a need to add a representative appliance component to attribute this injection.
  • Complicated logic in measured_values.hpp which would get way more complicated with merging of links.
  • PGM-DS can now easily handle grid manipulations from arrays or graphs.

Timeline

The inejction sensors need to be deprecated and removed before #35 is implemented which would be ~Q3 2026 tentatively. Hence users are highly recommended to migrate soon.

Migration

In short, change node injection sensors to corresponding appliance sensors.

Replace with equivalent appliance sensor

  • Single appliance on node: change measured_object, measured_terminal_type to appliance.
  • Multiple appliances on node: Replace those multiple appliance with a single appliance. Follow Single appliance on node.

If multiple appliances on node are used, then redistribute results as per their sigma values. Most applications do not use these results, hence they would not have to do this.

Redistribution of results

  • No appliances have appliance sensor: Divide equally amongst appliances
  • Some appliances have appliance sensor: allocate measured power to measured appliance. Allocate rest equally to unmeasured appliances.
  • All appliances have sensors: Divide as per sigma using kalman filter.

Distribute node injection sensor amongst appliance sensors

This would be the approach in case you have node injection sensors and some appliance sensors and you don't wish to lose out on the appliance sensor. It involves modifying the sigma values to retrace node injection sensor modelling: https://power-grid-model.readthedocs.io/en/stable/algorithms/se-algorithms.html#state-estimation-measurement-aggregation. Let us know if you wish to go via this approach and we can add more details here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature or request

    Type

    Projects

    Status

    Q3 2026

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions