From Utility Network Records to CIM to ADMS Topology
A compact, inspectable pipeline where locally generated synthetic utility records,
grounded by public references, become CIM XML and import into an ADMS-style topology model.
Public repo includes data + scriptsSynthetic demo data3 public referencesSource GIS JSONCIM/CDPSM-style XMLRoundtrip validation
Data provenance
Synthetic
Generated locally, grounded by public examples
Source records
20
Utility network junctions and assets
CIM elements
41
mRIDs, equipment, nodes, and terminals
Roundtrip
Pass
20 of 20 source records preserved
Import result
15
ADMS topology nodes and edges
Start with the dashboard.Use the tabs below to explain the data flow without opening code.
Inspect the committed data.The generated JSON and XML artifacts live in data/ and are mirrored for the web page.
Re-run the pipeline.Run python3 scripts_generate_demo.py to regenerate the artifacts from the source model.
Asset List
Optional deep dive: pick one asset to inspect how that single record appears in each system.
Selected Asset Across Systems
Source Utility GIS JSON
Select an asset from the list.
CIM XML
Select an asset from the list.
ADMS Imported Object
Select an asset from the list.
Utility Network -> ADMS Import Result
The physical network should not move during import. The visible change is the data model:
GIS-style asset records become CIM objects and then ADMS topology nodes, edges, and derived operational values.
Before Import: Utility Network Records
GIS-style asset records with source IDs, coordinates, connectivity, switch state, and asset types.
After Import: ADMS Topology From CIM
Same physical shape, but represented as imported topology nodes and edges with derived ADMS values.
source utility records imported ADMS topology dashed normally-open tie preservedVoltage labels are derived after import