Open jeandemanged opened 2 weeks ago
Agree on the fact that the names may not follow the expected CIMXML pattern used by CGMES exchanges:
<effectiveDateTime>_<businessProcess>_<sourcingActor>_<modelPart>_<fileVersion>.xml
From the names of your files, EQ should be a businessProcess
, which I think is not.
Here we were looking only at the filename to have a fast way of splitting a data source that contained multiple IGMs, trying to avoid reading "inside" each XML. But we have to obtain the modelling authority anyway (by reading the header), so it makes sense to check also the profile.
Describe the current behavior
CGMES importer looks for
_EQ_
or_EQ.
string presence in file name to filter for EQ profiles.Describe the expected behavior
A more robust solution would rather check only the model header
md:Model.profile
to determine what profile(s) a file contains.Describe the motivation
Got an issue with non-obvious stack trace with one IGM where files were named (allegedly weirdly):
confidential_EQ_confidential_EQ.xml
confidential_EQ_confidential_SSH.xml
confidential_EQ_confidential_SV.xml
confidential_EQ_confidential_TP.xml
All of them are then considered as
EQ
. Because they all have samemd:Model.modelingAuthoritySet
the import then fails with default importer settings.Workarounds are:
iidm.import.cgmes.cgm-with-subnetworks-defined-by
toFILENAME
(consequences may be acceptable or not)iidm.import.cgmes.cgm-with-subnetworks
tofalse
(consequences may be acceptable or not)Extra Information
powsybl-core 6.5.0