DSS to CIM Process
Introduction
OpenDSS (Open Distribution System Simulator) is an open-source electrical power distribution system simulator developed by EPRI. OpenDSS models can be converted to CIM format for ingestion into OpenDSO.
This guide explains how to convert OpenDSS files to CIM XML format using OpenDSS's native CIM100 export functionality.
Note: This guide focuses on OpenDSS Native Export, which is the method OES recommends based on our successful experience. While other tools like CIMHub (from PNNL) exist for bidirectional CIM conversion, they are not covered in detail here as our team's primary support and experience is with the native OpenDSS export method.
Prerequisites
Required Software
- OpenDSS: The EPRI OpenDSS simulator
- Download from: OpenDSS SourceForge
- Or use AltDSS (dss-extensions): Open-source implementation
OpenDSS Native CIM100 Export
OpenDSS includes a built-in command to export circuit models to CIM100 format. This is the recommended and most reliable method for converting OpenDSS models to CIM for use with OpenDSO.
Supported CIM Profiles
OpenDSS can export the following CIM profiles:
- Functional (FUN): Equipment functional characteristics
- Electrical Properties (EP): Electrical parameters
- Topological (TOPO): Connectivity and topology
- Catalog (CAT): Equipment catalog information
- Geographic (GEO): Spatial/location data
- Steady-State Hypothesis (SSH): Operating states and settings
Step-by-Step Export Process
Step 1: Prepare Your OpenDSS Model
Ensure your OpenDSS model is complete and ready for export:
// Compile your OpenDSS model
Compile "C:\path\to\your\circuit\Master.dss"
// Solve the circuit
Solve
Important: The circuit must be solved before exporting to CIM.
Step 2: Configure Model Parameters (Optional)
Before export, you can set optional parameters:
// Set substation name (optional)
Set Substation="MySubstation"
// Set geographic region (optional)
Set Region="MyRegion"
Set SubRegion="MySubRegion"
Step 3: Generate mRID Values
To maintain consistent unique identifiers across exports:
// Generate and save UUID/mRID values
export UUIDS
This creates a file with UUID (mRID) values for all circuit elements. Use this file for subsequent exports to maintain consistency.
Step 4: Export to CIM100
Choose one of the following export options:
Option A: Single Combined File
// Export all profiles in a single XML file
export CIM100
This creates a single XML file containing all six CIM profiles. This is the recommended option for most use cases.
Option B: Separate Profile Files
// Export each profile as a separate XML file
export CIM100Fragments
This creates six separate XML files, one for each CIM profile:
[CircuitName]_FUN.xml[CircuitName]_EP.xml[CircuitName]_TOPO.xml[CircuitName]_CAT.xml[CircuitName]_GEO.xml[CircuitName]_SSH.xml
Output Files
After export, you'll find the following files in your OpenDSS working directory:
- CIM XML file(s): The exported CIM model
- UUID file (if generated): Contains mRID mappings
- Log file: Details of the export process
OpenDSS Modeling Considerations
To ensure successful CIM export:
- Transformer Ratings: Use realistic kVA ratings for transformers
- Storage Elements: For energy storage, use
%chargeand%dischargeparameters instead of direct kW specification - Geospatial Data: Include latitude/longitude coordinates for equipment if available
- Naming Conventions: Use consistent, meaningful names for all equipment
Limitations and Considerations
- CIM100 is based on extensions of CIM17 (standardized in 2020)
- Does not support ENTSO-E's CGMES profile (primarily for transmission systems)
- Export is one-directional (OpenDSS to CIM); OpenDSS does not have native CIM import
- Some OpenDSS elements may not have direct CIM equivalents
Alternative Tools
While this guide focuses on OpenDSS native export, other tools exist for CIM conversion:
- CIMHub: PNNL tool for bidirectional CIM conversion (part of GridAPPS-D project)
- Vendor Tools: Various commercial utilities offer CIM conversion capabilities
OES recommends the native OpenDSS export based on our successful experience with this approach. If you require alternative tools, consult their respective documentation.
Validation and Quality Assurance
After converting OpenDSS to CIM, validate the conversion:
1. Structural Validation
Check that all equipment was converted:
- Count of equipment by type matches
- All connections are preserved
- Topology is correct
2. Electrical Validation
Verify that the CIM file represents the circuit correctly by comparing key electrical parameters:
// In original OpenDSS model
Solve
Show Voltages
Show Powers
Check that critical values are represented in the CIM file:
- Equipment ratings (voltage, current, power)
- Impedance values for lines and transformers
- Tap positions for regulators
3. Geographic Validation
Verify geospatial data:
- Latitude/longitude coordinates are present
- Coordinates are in the correct coordinate system
- Equipment locations match source model
Common Issues and Troubleshooting
Issue: Missing Equipment in CIM Export
Cause: Some OpenDSS elements may not have direct CIM equivalents.
Solution:
- Review OpenDSS documentation for CIM100 export compatibility
- Use standard OpenDSS element types when possible
- Check the export log file for warnings
Issue: Incorrect Topology
Cause: Connectivity information may be incomplete or incorrect.
Solution:
- Ensure all buses are properly defined
- Verify phases are consistent across connected equipment
- Check for "floating" buses or disconnected equipment
Issue: Missing Geospatial Data
Cause: OpenDSS model doesn't include coordinate information.
Solution:
- Add latitude/longitude to equipment definitions in OpenDSS:
New Line.L1 Bus1=B1 Bus2=B2 ...
~ Latitude=[lat1, lat2] Longitude=[lon1, lon2]
Issue: UUID/mRID Consistency
Cause: Different UUIDs generated on each export.
Solution:
- Always use
export UUIDSbefore first export - Reuse the UUID file for subsequent exports
- Maintain UUID file in version control
Best Practices
- Version Control: Keep OpenDSS source files and UUID mappings in version control
- Documentation: Document any custom extensions or non-standard configurations
- Validation: Always validate CIM output before importing to OpenDSO
- Iterative Testing: Test conversion with small circuits before full models
- Coordinate Systems: Use consistent geographic coordinate systems (WGS84 recommended)
Output Format
The exported CIM file is an XML document using RDF (Resource Description Framework) format:
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cim="http://iec.ch/TC57/CIM100#">
<!-- Equipment definitions -->
<cim:ACLineSegment rdf:ID="Line_1">
<cim:IdentifiedObject.name>L1</cim:IdentifiedObject.name>
<cim:IdentifiedObject.mRID>uuid-123</cim:IdentifiedObject.mRID>
<!-- Additional properties -->
</cim:ACLineSegment>
</rdf:RDF>
Next Steps
After converting your OpenDSS model to CIM:
- Review the CIM Output: Inspect the XML file for completeness
- Validate: Use XML validators to check format and CIM structure
- Ingest into OpenDSO: Follow the CIM Ingestion Process guide
References
- OpenDSS CIM100 Documentation - EPRI's official documentation for CIM export
- EPRI OpenDSS Download - Download OpenDSS
- CIM Ingestion Process - Next step: ingesting into OpenDSO