Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cgmes import update. Import EQ and SSH separately. Switches #3322

Draft
wants to merge 96 commits into
base: main
Choose a base branch
from

Conversation

marqueslanauja
Copy link
Contributor

@marqueslanauja marqueslanauja commented Feb 13, 2025

Please check if the PR fulfills these requirements

  • The commit message follows our guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)

Does this PR already have an issue describing the problem?

What kind of change does this PR introduce?

Feature

Does this PR introduce a new Powsybl Action implying to be implemented in simulators or pypowsybl?

  • Yes, the corresponding issue is here
  • No

What is the current behavior?

EQ and SSH are imported together during the conversion process.

What is the new behavior (if this is a feature change)?

EQ and SSH are imported separately.
The objective is to ultimately import a single EQ file and multiple SSH files.

All the changes will be split in multiple smaller PRs so the implementation will be done in an incremental way.
Current main workflow will be kept for some equipment. We will move them one by one to the new scheme.
This PR contains only the changes for switches.

When performing the update, we traverse all the IIDM switches and for each switch we obtain the SSH data and call a specific update method.

The update method is located in the corresponding convert class and a different update class is defined for each
equipment. The update classes are defined as public static classes.

There are some methods with both implementations:

connect and convertedTerminals for importing EQ + SSH together
connectWithOnlyEq and convertedTerminalsWithOnlyEq for importing EQ + SSH separately
The validation scheme has been modified, initially the validation level is set to EQUIPMENT and only after the update is moved to SSH.

The original CGMES class and the normal open attributes are recorded as properties for all switches. In the current version, the original class is only recorded for certain types of switches

In the current version, depending on the configuration, fictitious switches are created when a terminal is disconnected. These switches cannot be created during the conversion process, as their creation depends on the status of the terminal, which is received in the SSH file. In this PR ,they are created just before the first update when the EQ and SSH files are received together.
When the EQ file and the SSH file are received separately, they are never created.

When the fictitious switch is created, only the terminal id is available. For this reason, the switch name will be set to the id and not to the terminal name.

Does this PR introduce a breaking change or deprecate an API?

  • Yes
  • No

If yes, please check if the following requirements are fulfilled

  • The Breaking Change or Deprecated label has been added
  • The migration steps are described in the following section

What changes might users need to make in their application due to this PR? (migration steps)

Other information:

Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>

# Conflicts:
#	cgmes/cgmes-completion/src/test/java/com/powsybl/cgmes/completion/CgmesCompletionTest.java
#	cgmes/cgmes-conversion/src/main/java/com/powsybl/cgmes/conversion/Conversion.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/NetworkImpl.java
Signed-off-by: marquesja1 <[email protected]>

# Conflicts:
#	cgmes/cgmes-completion/src/test/java/com/powsybl/cgmes/completion/CgmesCompletionTest.java
#	cgmes/cgmes-conversion/src/main/java/com/powsybl/cgmes/conversion/Conversion.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/NetworkImpl.java
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
marqueslanauja and others added 29 commits January 27, 2025 13:26
Signed-off-by: marquesja1 <[email protected]>

# Conflicts:
#	cgmes/cgmes-conversion/src/main/java/com/powsybl/cgmes/conversion/RegulatingControlMappingForGenerators.java
#	cgmes/cgmes-conversion/src/main/java/com/powsybl/cgmes/conversion/RegulatingControlMappingForStaticVarCompensators.java
Signed-off-by: marquesja1 <[email protected]>

# Conflicts:
#	cgmes/cgmes-conversion/src/main/java/com/powsybl/cgmes/conversion/Context.java
#	cgmes/cgmes-conversion/src/main/java/com/powsybl/cgmes/conversion/elements/transformers/AbstractTransformerConversion.java
#	cgmes/cgmes-conversion/src/test/resources/functional-logs/microGridBaseCaseBE-target-deadband.txt
#	cgmes/cgmes-model/src/main/java/com/powsybl/cgmes/model/AbstractCgmesModel.java
#	cgmes/cgmes-model/src/main/java/com/powsybl/cgmes/model/CgmesModelFactory.java
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>

# Conflicts:
#	cgmes/cgmes-conversion/src/main/java/com/powsybl/cgmes/conversion/RegulatingControlMappingForStaticVarCompensators.java
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants