Overview¶

CIMSpy is designed to provide a comprehensive data engineering environment in support of Common Information Model (CIM) based model exchange, application integration, and information sharing. It enables users to load large reality-based CIM models into a working area, i.e. an in-memory RDF-compliant database, and perform a variety of data engineering tasks, ranging from exploratory data analysis to assembling of region models based on standard Model Authority Set (MAS) concepts. The engineered model can also exported as different formats, ready for consumption by other CIM-compliant tools or information systems. Additionally, CIMSpy provides a multi-dimension modeling space and sophisticated model management functions to help you maintain and manage you CIM-based power system models. More specifically, the key features of CIMSpy can be summarized as follows:

More specifically, the key features of CIMSpy can be illustrated and summarized as follows:

Model Importing and Exporting¶

CIMSpy is capable of importing and exporting CIM-compliant models (full/incremental) in various formats, including XML (Extensible Markup Language), CSV (Comma Separated Values), ZIP archive formats, and CIM-compliant database. It can import very large reality-based CIM/XML files of multi-GB size at a high speed on a middle-end laptop/PC. The engineered model can also be exported as various formats, ready to be consumed by other applications and tools.
Model Visualization¶

CIMSpy provides a state-of-the-art model visualization capability, enabling users to explore the model intuitively and interactively. In response to user's request, CIMSpy auto-generates various types of schematic and geographical diagrams to display the physical/electrical configurations of power grids at different levels. It supports multi-scale presentation of large grids over wide geographical regions. A variety of cutting-edge rich data visualization techniques are applied to visualize the power system operating conditions. In addition, CIMSpy delivers rich look-and-feel user experience and distinguishing graphical features, including animated smooth zooming and panning, etc. Users can manually adjust the auto-generated diagrams and customize the diagram displays with a variety of graphical settings. The adjusted diagrams can also be saved and exported as standard or extended CIM/XML files. CIMSpy is also capable of displaying standard-based schematic and geographical diagrams exported from other tools. Furthermore, the adaptive diagram rendering function of CIMSpy enables the diagrams to be maintained separately from the underlying network models.
Model Editing¶

CIMSpy provides full support for model editing. Users can make arbitrary model changes, including deep copying and cascading deletion, in both object Form Displays and Tabular Displays. Users can also configure CIMSpy to control the behavior of the advanced model editing. Additionally, CIMSpy provides an advanced application called graphical model editor. It enables users to interactively and intuitively build and maintain the network model in a what-you-see-is-what-you-get style. The application also supports template-based modeling, significantly facilitating model maintenance by using the existing substation/equipment as templates. While modeling errors are not completely eliminated, they become much more difficult to make with modeling constraints enforced in CIMSpy. During model editing, CIMSpy automatically maintains the model referential integrity and tracks model changes, which can be exported as a CIM incremental/difference file.
Model Assembling & Partition¶

CIMSpy provides a variety of model assembling/partition functionalities to support the standard-based model exchange business processes. The supported model assembling functionalities include: incremental to base model, profile-based data group assembling (i.e. equipment/topology/state variables/dynamic/… merged), and Model Authority Set (MAS) based region-to-region model assembling. CIMSpy allows users to check consistencies and referential integrity prior to model assembling. Furthermore, it provides a built-in capability to automatically assemble the models based on the detected model dependencies. The assembled and edited models can also be partitioned into various data groups based on the governing profiles or split into various regional sub models based on MAS.
Model Comparison¶

CIMSpy enables users to compare two models based on the Master Resource ID (MRID) concept. The model comparison result is presented as a CIM incremental model (also called CIM difference model), describing the difference between two compared models. The generated CIM difference model can be exported as a CIM incremental file. Furthermore, users can design custom reports displaying the difference between two models.
Model Transformation¶

CIMSpy provides end-users a Model Transformation Framework (MTF) from which they can derive their own maintainable and extensible model transformation solutions. The supported use cases include model conversion between proprietary information models and CIM, CIM version conversion, and node/breaker to bus/branch conversion, etc. MTF is designed to address the common model transformation issues and minimize the engineering effort needed to build a customizable model transformation solution meeting specific project requirements. By leveraging the common infrastructure support, users shall be able to build their own model transformation solution with minimal effort.
Network Analysis¶

CIMSpy provides network analysis, including network topology analysis and power flow study, to help users improve model quality. It generates a variety of reports and presents raw power flow results as easy-to-understand visual elements. Additionally, it enables users to run power flow in an interactive mode. Users can graphically open/close switches, change the in-service/out-of-service status of equipment/bus/substation..., and then run power flow to simulate/visualize various what-if scenarios interactively and intuitively.
Model Browsing & Exploration¶

CIMSpy is designed to support exploratory data analysis, which requires a human analyst tightly in the loop to seek useful information from large volume of data. It organizes loaded CIM models into various model hierarchies, enabling users to explore the models from different perspectives. Designed as a data-driven tool, CIMSpy provides various types of presentations and navigation mechanisms to support exploratory data analysis. Additionally, it provides advanced information search mechanisms, such as model querying capabilities and visual data mining applications, to help users find the ‘interesting data’ and seek the useful information from multidimensional collections of data. Built as a generic RDF-compliant browsing tool, CIMSpy is compatible with any versions of CIM and their extensions. Additionally, users can load virtually any RDF-compliant proprietary power system models for browsing, visualization, and information searching.
Model Updating¶

CIMSpy provides fundamental support for CIM Difference model. It not only allows users to inspect the described model difference, but also enables them to apply the difference to the base model to create an updated version, which can be exported as a CIM/XML file, ready to be consumed by other CIM-compliant information infrastructure.
Model Validation¶

CIMSpy provides both schema-driven and rule-based model validation functions. It enables users to check the input CIM model against the governing schema for profile compliance. It also validates the model based on a set of pre-defined modeling rules to detect any violations of domain-specific modeling constraints, such as network topology errors, etc. All of the model schema and validation rules are specified in a metadata file that drives the tool. The performed validation is context-sensitive. Users can choose to validate the model for base (power flow) studies or extended analysis, such as short-circuit study. The output of validation is a report which describes the detected modeling errors and provides the navigation links to the related objects.
Model Management¶

CIMSpy provides a multidimensional modeling space and comprehensive data engineering functions to help electric utility organizations maintain and manage their power system models. It enables users to manage the full life cycle of a model build process, including drafting, submitting, versioning, and releasing. All of the modeling information, base model or Projects, is stored in a CIM-compliant database. Unlike legacy modeling tools which allow users to model only a snapshot of the grid, CIMSpy is designed to support time-based modeling, enabling users to model the past, present, and the future of the grid. Additionally it allows multiple modeling tasks to be performed concurrently and independently in support of various business use cases.
Model Querying & Reporting¶

CIMSpy supports a simple and powerful model query language (MQL), enabling users to create ad hoc query to find the information of interest, filter the tabular displays, and define custom validation rules. An important application of MQL is reporting support. It enables users to generate various custom tabular displays for reporting or data mining. Users can also build custom tabular displays to convert a CIM model to formats of other applications. This user-centric feature enables users to explore the information model at their will and customize the tool to meet their specific needs. Additionally, CIMSpy provides various bulk model processing functions, enabling users to process loaded models in a bulk mode. These processes were used in some projects and then generalized to help users process their models for various purposes.
Scripting¶

CIMSpy provides Python scripting support. This feature enables users to inject custom process or plug –in custom functions for sophisticated model manipulation. More specifically, users can script a standalone custom process to create or manipulate models, such as, creating a model from various sources, performing network reduction, or merging external network models, etc. It also enables users to extend the existing functionalities by plugging-in the script-based functions, for example, for querying, validation, reporting, and transformation
Advanced Features¶

In support of CIM-related projects, CIMSpy provides a variety of advanced features, including customization, support of CIM extension, visual data mining, operation information visualization, importing of GIS data, etc. These advanced features enable users to extend the tool to meet the requirements of CIM-related projects. Additionally, CIMSpy provides strong support for foreign models, batch processing, recording & replay, geographical data importing, self-defined models in CSV, etc. Such support significantly reduces the engineering effort needed to extend the too in support of projects. CIMSpy is highly configurable. It enables users to customize the tool by changing the meta-data that governs the tool. Almost all of the features/functions can be customized via configuration change.