mesmo icon indicating copy to clipboard operation
mesmo copied to clipboard

Raise errors for invalid scenario definitions

Open stroitzsch opened this issue 4 years ago • 2 comments

Introduce checks in data_interface such that definition issues are caught early and raise clear error messages.

  • [x] List down typical definition issues @tomschelo @cdesmond
  • [ ] Setup check structure @stroitzsch

Typical issues (Please add / edit):

  • [ ] Isolated nodes (nodes not connected through lines / transformers to source node)
  • [ ] Isolated DERs (invalid node name)
  • [ ] Isolated lines / transformers (invalid node names)
  • [ ] Invalid source node name
  • [ ] Invalid line type definition (leading to singular admittance matrix)
  • [ ] Missing values (NULL, NaN) in any required column
  • [ ] ...

stroitzsch avatar Jan 19 '21 03:01 stroitzsch

@tomschelo @cdesmond - I'll need your feedback here, since you have some experiences in defining FLEDGE scenarios! I believe you can edit directly the list above. @cdesmond @j-pang - This will be a good issue where I could use your help!

stroitzsch avatar Jan 19 '21 03:01 stroitzsch

3-phase vs. symmetric 1-phase equivalent --> check if is_single_phase_equivalent is set to '0' / False, then all necessary data (line_type_matrices) must be available.

For isolated nodes, lines, etc. it might make sense to use the networkX package, it supports wide range of graph analysis. In plots.py, electric_grid_model is already transformed to a networkX graph object, so it should be easy.

I believe your list is already quite good, I actually cannot think of another error currently, but I will pay attention in the future.

What could also help debugging a scenario is in the end of a simulation printing a short summary to the console:

  • scneario_name
  • electric_grid_name with [# of nodes] nodes and [# of branches] branches
  • source node name
  • number of fixed DERs
  • number of flexible DERs
  • node voltage limits (if set in scenario parameters)
  • branch power flow limits (if set in scenario parameters)
  • linear approximation: global / local
  • power flow solution: OpenDSS, FixedPoint, etc.
  • solution algorithm: simple / multi-period / trust-region
  • ...

--> This will help to make sure that the user did not mix up anything, as there are so many parameters that can be manipulated.

tomschelo avatar Jan 19 '21 07:01 tomschelo