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. Transformers #3201

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

Conversation

marqueslanauja
Copy link
Contributor

@marqueslanauja marqueslanauja commented Nov 6, 2024

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

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 we will end up importing a single EQ 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 transformers.

When performing the update, we traverse all the IIDM transformers and for each transformer we obtain the SSH data and call a specific update method that updates the status of the terminals, as well as some ratioTapChanger and phaseTapChanger attributes and the operationalLimits.

The update method is located in the corresponding convert class and we define a different update class 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 normalTapPosition is now recorded in the CgmesTapChanger extension. In the current version, it was previously recorded only for hidden tapChangers.

TerminalSign is now recorded as a property when tapChangers are controlling active or reactive power.

The normalTapPosition is now used when two tapChangers must be combined. In the current version, the SSH or SV tapPosition is used.

Operational Limit Ids and their corresponding values are recorded as properties to be used in the update process.

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]>
@rcourtier rcourtier self-requested a review November 15, 2024 09:00
marqueslanauja and others added 11 commits December 11, 2024 08:18
Signed-off-by: marquesja1 <[email protected]>

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

# Conflicts:
#	cgmes/cgmes-conversion/src/main/java/com/powsybl/cgmes/conversion/elements/OperationalLimitConversion.java
#	cgmes/cgmes-model/src/main/java/com/powsybl/cgmes/model/AbstractCgmesModel.java
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
…date_network_transformers

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

# Conflicts:
#	cgmes/cgmes-conversion/src/main/java/com/powsybl/cgmes/conversion/CgmesImport.java
#	cgmes/cgmes-conversion/src/main/java/com/powsybl/cgmes/conversion/Update.java
#	cgmes/cgmes-conversion/src/main/java/com/powsybl/cgmes/conversion/elements/AbstractConductingEquipmentConversion.java
#	cgmes/cgmes-conversion/src/main/java/com/powsybl/cgmes/conversion/elements/EnergyConsumerConversion.java
#	cgmes/cgmes-conversion/src/test/java/com/powsybl/cgmes/conversion/test/ConversionUtil.java
#	cgmes/cgmes-conversion/src/test/java/com/powsybl/cgmes/conversion/test/LoadUpdateTest.java
#	cgmes/cgmes-conversion/src/test/resources/functional-logs/microGridBaseCaseBE-invalid-voltage-bus.txt
#	cgmes/cgmes-conversion/src/test/resources/functional-logs/microGridBaseCaseBE-target-deadband.txt
#	cgmes/cgmes-conversion/src/test/resources/functional-logs/microGridBaseCaseBE.txt
#	cgmes/cgmes-conversion/src/test/resources/functional-logs/miniGridNodeBreaker.txt
Signed-off-by: marquesja1 <[email protected]>
Signed-off-by: marquesja1 <[email protected]>
@marqueslanauja marqueslanauja changed the title Cgmes import update network transformers Cgmes import update. Import EQ and SSH separately. Transformers Dec 12, 2024
Signed-off-by: marquesja1 <[email protected]>
(cherry picked from commit 5bb3d08)
Signed-off-by: marquesja1 <[email protected]>
…ts used in the update process

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