cimd

Quickstart

Warning

cimd is alpha software.
Using cimd today means participating in its development.

1. Get cimd

Download cimd for your platform.

If instead you prefer compiling from source, you will need Zig.

2. Parse a CGMES grid model

shell

# Parse a raw xml file
$ cimd import ./path/to/some_cgmes_file.xml     
# Parse a zipped file
$ cimd import some_cgmes_file.zip     
# Parse a zipped archive
$ cimd import ./some/cgmes_archive.zip  
# Parse multiple models
$ cimd import archive.zip file.xml file.zip 

Running cimd import will parse the files passed as the argument. It is possible to pass multiple files at the same time. The parsed models are stored in optimized form in .cimd-cache.

3. Validate a CGMES grid model

shell

# Validate a zipped file
$ cimd validate some_cgmes_file.xml     

Warning: the following element is incorrect

Pass --fix to see what can be fixed automatically.

$ cimd validate --fix some_cgmes_archive.zip  

1 Warning has been automatically fixed.

Running cimd validate will validate the files passed as the argument. A file from cache will be used if cimd import was used to parse the file. Otherwise, the file will automatically be parsed.

4. Compare two CGMES grid models

shell

$ cimd diff --old ./old_file.zip --new ./new_file.xml

The following elements were added
+ Some WindGeneratingUnit
+ Some Substation
+ Some SolarGeneratingUnit

The following elements were changed
~ Some Switch
~ Some Season

The following elements were removed
- Some StaticVarCompensator

You can also pass the -format=json flag to get the output formatted in json for api usage.

5. Process a CGMES grid model

shell

$ cimd output --format=json ./target.xml  
$ cimd output --format=iidm ./target.xml  
$ cimd output --format=pdf ./target.xml  

cimd can be used to pre-process CGMES files into a useful format for Power Analysis platforms.