Expand description
CIM vocabulary shared by the adapters that speak it: CGMES in
powerio-tx, distribution CIM in powerio-dist, and MG-RAVENS, whose
balanced profile lives in powerio-tx, whose multiconductor profile lives
in powerio-dist, and whose two profiles meet in powerio-tnd.
Those crates depend on this one and not on each other, so whatever two of them must agree on is stated once here: how a stable identifier derives from an object’s class and name, how CIM phase kinds map onto wire coordinate terminal names, and which classes mark each MG-RAVENS profile.
Modules§
- ravens
- MG-RAVENS, the LANL CIM-derived microgrid interchange schema: one JSON document of name-keyed hash tables nested under the CIM class hierarchy. Its two profiles share the token and the top level shape and differ in the classes they use, so the profile follows the content.
Functions§
- deterministic_
mrid - A UUID version 5 identifier for
kind:nameundernamespace, a URL naming the adapter that writes it. Same inputs give the same id, so a canonical write is byte stable and two writes of one case diff only where the case changed. The CGMES and distribution CIM writers derive their ids the same way under their own namespaces. - expand_
phase_ code - Expand a
PhaseCode.<code>orOrderedPhaseCodeKind.<code>value into its letters:ABCNgivesA,B,C,N, ands12N(or thes1s2Nspelling) givess1,s2,N. Letters outside the kind are skipped. - phase_
terminal - The wire coordinate terminal name (an OpenDSS node number) of a CIM
SinglePhaseKindletter:A,B,C, andNare terminals 1 to 4, and the split phase secondariess1ands2are terminals 1 and 2. - terminal_
phase - The CIM
SinglePhaseKindletter of a terminal name: the node numbers 1 to 4, and the letter namesa,b,c,nin either case that BMOPF terminal conventions use. Split phase collapses ontoAandB. Any other name has no phase kind, and a writer reports it.