Expand description
Distribution CIM: IEC 61968 and 61970 CIM100 RDF/XML for unbalanced
feeders, read into and written from the MulticonductorNetwork
(format token cim-dist).
The profile is the one the GridAPPS-D and CIMHub tools exchange: one
RDF/XML document in the http://iec.ch/TC57/CIM100# namespace (the
iec61970cim17v40 and iec61968cim13v13 release CGMES 3.0 also uses), with
ConnectivityNode connectivity and per phase equipment
(ACLineSegmentPhase, EnergyConsumerPhase, SwitchPhase, …). The
reader also accepts the older versioned CIM-schema-cimNN namespaces.
A directory of .xml documents reads as one case, with rdf:about
objects extending the ones another document defines.
CIM16 documents may state an enumeration as text rather than as a reference, and draw the network in a Diagram Layout; the reader reads both.
Same format emission returns the retained source bytes of a single
document. Canonical output is one CIM100 document with deterministic
mRIDs: imported ids pass through the cim_mrid extras, and everything
else takes a UUIDv5, so write, read, write is byte stable.
§Phase convention
CIM SinglePhaseKind values map to the wire coordinate terminal names
(OpenDSS node numbers) the rest of the crate uses: A→1, B→2,
C→3, N→4, and the split phase s1/s2→1/2. A conductor
beyond those four has no SinglePhaseKind and is reported on output.
§Transformer forms
A PowerTransformer states its windings either as PowerTransformerEnd
records with their own ratings and impedances, or as TransformerTanks,
each with TransformerTankEnds and catalog data (TransformerTankInfo,
TransformerEndInfo, ShortCircuitTest, NoLoadTest) that an Asset
links. Each tank reads as one transformer, with its parent and catalog
entry in extras, and is written back as a tank; every other transformer is
written in the PowerTransformerEnd form. No-load data from either form
lands in the %noloadloss and %imag extras.
Constants§
- CIM_
DIST_ HEAD_ BYTES - How much of a document the header checks read.
Functions§
- looks_
like_ cim_ dist - Whether a document reads as distribution CIM: its header passes
looks_like_cim_dist_header, and it holds at least one per phase or distribution only class anywhere. - looks_
like_ cim_ dist_ header - Whether a document opens like distribution CIM: RDF/XML in a CIM namespace
with no
md:FullModelheader (which marks a CGMES profile) in its firstCIM_DIST_HEAD_BYTES. A caller holding only a file’s head can rule it out with this before reading the whole file forlooks_like_cim_dist. - source_
looks_ like_ cim_ dist - Whether a source holds distribution CIM: its own buffer reads as
distribution CIM (
looks_like_cim_dist), or, for a directory, one of the.xmldocuments at its top level does. The reads go through the source, so they count against its acquisition budget and are cached for the parse that follows.