Modeling power grid with unified grid model

WO2026207146A1PCT designated stage Publication Date: 2026-10-01X DEVELOPMENT LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/US2026/020809
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-25
Filing Date
2026-03-25
Publication Date
2026-10-01

Smart Images

  • Figure US2026020809_01102026_PF_FP_ABST
    Figure US2026020809_01102026_PF_FP_ABST
Patent Text Reader

Abstract

Methods, systems, and apparatus, including medium-encoded computer program products, for generating and managing a unified grid model with multiple formats, time periods and modifications.
Need to check novelty before this filing date? Find Prior Art

Description

Attorney Docket No. 43374-0873W01MODELING POWER GRID WITH UNIFIED GRID MODELCROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of priority to U.S. Application No. 63 / 777,537, filed on March 25, 2025, U.S. Application No. 63 / 777,543, filed on March 25, 2025, and U.S. Application No. 63 / 777,512, filed on March 25, 2025, the contents of which are hereby incorporated by reference.TECHNICAL FIELD

[0001] This specification relates to electrical power grid models, and specifically a unified grid model with multiple formats, time periods and modifications.BACKGROUND

[0002] Electrical power grids transmit electrical power to loads such as residential and commercial buildings. The electrical power grids comprise a variety of electrical components, including power sources, loads, transmission lines, distribution stations, and the like. Typically, there are many hundreds or even thousands of electrical components in any particular grid model.

[0003] Grid models and grid information are currently stored in a variety of file formats by utilities, which can create challenges when information from one model needs to be used in another model with a different format. Each model may have multiple variations due to proposed changes and upgrades, and their components can differ depending on the time period. This makes version control and storing the disparate models difficult.

[0004] For example, many different representations and data formats of the electric grid exist within the industry with little interoperability between them. Some of them are proprietary, e.g., PSLF (Positive Sequence Load Flow) and PSS / E (Power System Simulator for Engineering); others are based on open standards, e.g., CIM (Common Interchange Format), IEEE CDF (Common Data Format). Electric grid models are also specific to applications, e.g., PSCAD / EMTDC (Power System Computer Aided Design / ElectroMagnetic Transients including DC) formats are used for Electromagnetic Transients (EMT) studies. At other times, the details of the electric grid are representedAttorney Docket No. 43374-0873W01using textual and graphical representations, e.g., Single Line Diagrams. All of these formats represent the same physical grid in different ways, and in varying degrees of temporal and spatial resolution.

[0005] Additionally, existing processes for managing grid models utilize siloed manual processes that do not support collaboration between asset owners, grid operators and stakeholders. Models are stored in bespoke systems which do not support consistency validation, which also results in numerous modeling problems.

[0006] Finally, a common technique prior to making changes to an electrical power grid is to perform a series of grid simulations to determine the impacts of the changes. A power grid model, however, is typically a large and complex model that has multiple dependencies within the model. For simulations, the model is frequently updated and revised. Such updates are typically done manually and are time-consuming and susceptible to human error. This inefficiency not only hampers productivity but also increases the risk of inconsistencies and inaccuracies within simulation results.SUMMARY

[0007] This specification describes systems and methods for generating and managing a unified grid model with multiple formats, time periods and modifications.

[0008] In general, one or more aspects of the subject matter described in this specification can be embodied in one or more methods that include the operation of receiving a plurality of disparate grid models representing an electrical power grid, wherein the plurality of disparate grid models comprise different file formats and correspond to different time periods; dividing each of the plurality of disparate grid models into a base model, model changes, and a model time period; converting the plurality of disparate grid models into a common model domain; reconciling the base models to generate a unified grid model representing physical grid assets and a topology of the electrical power grid; storing the unified grid model in a versioned graph store, wherein the unified grid model comprises a temporal representation of the physical grid assets configured to automatically propagate a modification of a physical grid asset at a first time period to subsequent time periods within the versioned graph store; storing a model scenario representing operational states of the physical grid assets, wherein the model scenario is stored as a differenceAttorney Docket No. 43374-0873W01relative to a base version of the unified grid model; and generating a model snapshot for a target time period by combining the unified grid model corresponding to the target time period with the model scenario corresponding to the target time period. Other aspects include systems and software operable to perform such operations.

[0009] In an aspect, the unified grid model is stored in a Common Information Model (CIM) format.

[0010] In an aspect, the physical grid asset data comprises at least one of a location, a connection, a size, or a commissioning time of a grid asset.

[0011] In an aspect, the method includes propagating a modification made to a first instance of the unified grid model at a first time period forward to a second instance of the unified grid model at a subsequent time period.

[0012] In an aspect, the different file formats comprise at least two of a Geographic Information System (GIS) format, a tabular format, or an extensible Markup Language (XML) format.

[0013] In an aspect, the different time periods represent different seasonal models for a single calendar year.

[0014] In an aspect, the plurality of grid models comprises a first model configured for steady-state simulation and a second model configured for short-circuit analysis.

[0015] In another aspect, the subject matter described in this specification can be embodied in one or more methods that include the operation of receiving, by one or more input application programming interfaces (APIs), a plurality of disparate grid model representations, wherein the plurality of disparate grid model representations comprise different spatial resolutions, different time scales, and different data formats; converting the plurality of disparate grid model representations into a unified grid model within a common model domain, wherein the unified grid model represents a single physical electrical grid; managing modifications to the unified grid model, using a versioning data structure configured to maintain the unified grid model as a single model; receiving, from a first analysis application via a corresponding API, a request for a target grid representation; and translating a selected version of the unified grid model into the target grid representation formatted for the first analysis application, wherein the translating comprises selecting one or more specific model attributes, based on a target spatial resolution and a target time scaleAttorney Docket No. 43374-0873W01associated with the first analysis application Other aspects include systems and software operable to perform such operations.

[0016] In an aspect, the versioning data structure supports non-tree branching patterns and executes ad hoc queries to compare physical grid attributes between any two versions across different branches.

[0017] In an aspect, where the first analysis application comprises at least one of a steady-state power flow analysis, a dynamic stability study, a transient stability simulation, or an economic production modeling study.

[0018] In an aspect, the method includes tracking unified grid model versions over a temporal dimension within the unified grid model.

[0019] In another aspect, the subject matter described in this specification can be embodied in one or more methods that include the operation of generating a grid simulation dependency graph, each node in the dependency graph representing a case of a grid model, where each case of the grid model is different from each other case of the grid model, the generating including: selecting a grid model as a base case in a root node in the dependency graph, generating a plurality of derived simulation cases, wherein: each derived simulation case is represented by a node in the dependency graph that is either a descendant node of the root node, or a descendant node of another descendant node; and each derived simulation case defines a change to a case of an ancestor node from which it descends. Other aspects include systems and software operable to perform such operations.

[0020] In an aspect, the methods include updating a case represented by a corresponding node in the dependency graph; and for each case represented by a node that descends directly or indirectly from the node represented the case updated, updating the case.

[0021] In an aspect, updating each case comprises automatically initiating a recomputation of associated simulation and optimization processes for the case.

[0022] In an aspect, the method includes for a descendant node, determining to perform a simulation for the case represented by the descendant node, and in response: for each node that is an ancestor of the descendant node, determining whether prior simulation results for the cases represented by the nodes can be used in the simulation to be performed for the descendant node; and for each prior simulation results for the cases represented by the nodes that are determined can be used in the simulation to be performed for the descendant node,Attorney Docket No. 43374-0873W01using the prior simulation results when perform the simulation for the case represented by the descendant node.

[0023] Particular embodiments of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages.

[0024] The unified grid model platform enables unified modeling across time and across applications. All planned system upgrades are managed and tracked over time to result in a single model in the unified grid model platform. Steady state, dynamic, transient and short circuit and economic models are all unified and consistent in the unified grid model platform. The unified grid model platform allows asset owners, grid planners, grid operators and project developers to engage in collaborative workflow within the platform to ensure consistent unified modeling. The unified grid model platform supports artificial intelligence (Al) assisted validation and consistency checking. The unified grid model platform enables validation of contingency definition through processing node-breaker substation configuration. The unified grid model platform provides model input and output APIs to support various formats utilized throughout the industry. The unified grid model platform includes model input and output APIs to support various formats utilized throughout the industry.

[0025] The dependency graph modeling and recomputation process overcomes the inefficiencies associated with manual updates to grid planning simulations. Moreover, the dependency graph approach enables the generation of derived cases within the graph, which eliminates the need for multiple different grid planning simulations that would be necessary without traversing the dependency graph. This reduces the amount of computer resources required for grid simulations, resulting in a technical improvement.

[0026] The details of one or more embodiments of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the invention will become apparent from the description, the drawings, and the claims.BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Fig. 1 is a diagram of an example system for electrical power grid modeling.

[0028] Fig. 2 is a diagram an environment for simulating electrical grid transmission and distribution.Attorney Docket No. 43374-0873W01

[0029] Fig. 3 is a representation of grid model according to the prior art.

[0030] Fig. 4 is a representation of a unified grid model.

[0031] Fig. 5 is a representation of components of a unified grid model.

[0032] Fig. 6 is a flow diagram of an example process of generating and maintaining a unified grid model from multiple disparate grid models.

[0033] Fig. V is a block diagram of a unified grid model platform.

[0034] Fig. 8 is a flow diagram of an example process for managing a unified grid model using the platform of Fig. 7.

[0035] Fig. 9 is a block diagram of dependency graph for grid planning simulation.

[0036] Fig. 10 is a flow diagram of grid planning simulation using a simulation dependency graph.

[0037] Like reference numbers and designations in the various drawings indicate like elements.DETAILED DESCRIPTION

[0038] This specification describes technologies that relate to a unified grid modeling platform. A grid model maintains data describing the state of the grid, its topology, demand and generation, etc. In some implementations, the grid model can reflect a static point in time with a specific defined problem to address, e.g., an interconnection study where a new generator addition has the potential to overload a piece of transmission equipment, requiring a mitigation strategy, or it can reflect an evolving grid that has prescheduled interconnection or grid element commissioning / decommissioning.

[0039] A unified grid model (UGM) of the electric grid is built from disparate sources of data, e.g., multiple different grid models of different types. The UGM platform converts a plurality of different grid models of different types into a common model domain. This enables multiple representations of the grid suitable for different applications, and the editing and collaborative use by all permitted stakeholders in the energy and power grid ecosystem.

[0040] The UGM platform provides a unified grid model across time and applications. All model edits and updates occur in the unified model platform, ensuring consistency and reducing errors and omissions. Model validation insights are available to all model users within the platform. This collaborative platform supports a model creation and maintenanceAttorney Docket No. 43374-0873W01system that allows asset owners, grid planners / operators and other stakeholders to efficiently interact to establish a unified grid modeling approach. The UGM supports steady state power flow models, dynamic and transient stability models, short circuit models and economic (production) modeling and ensures these various models are consistent and validated against one another.

[0041] These features and additional features are described in more detail below.

[0042] Fig. 1 is a diagram of an example system 100 for electrical power grid modeling. The system 100 includes a grid model server system 102. The server system 102 may be hosted within a data center 104, which can be a distributed computing system having many (e.g., tens, hundreds, or thousands) of computers in one or more locations.

[0043] The server system 102 includes a modeling system 150. The modeling system 150 may implement a number of modeling functions as subsystems. In this example implementation, the modeling system 150 includes a unified modeling subsystem 152 and grid planning subsystem 154. Operation of the unified modeling system 152 is described with reference to Figs. 3 - 8, and operation of the grid planning subsystem 154 is described with reference to Figs. 9 and 10.

[0044] The system 150, and each subsystem 152 and 154, can be provided as one or more computer executable software modules or hardware modules. That is, some or all of the functions of system and subsystems can be provided as a block of computer code, which upon execution by a processor, causes the processor to perform functions described below. Some or all of the functions can be implemented in electronic circuitry, e.g., by individual computer systems (e.g., servers), processors, microcontrollers, a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC).

[0045] The server system 102 also includes electric grid models 190. The electric grid models 190 can include virtual representations of components of an electric grid located within a geographic region. The geographic region can include, for example, an area of hundreds of square meters, several square kilometers, hundreds of square kilometers, or thousands of square kilometers. The geographic region can correspond to a location of an electrical distribution feeder or multiple feeders. In some cases, the geographic region can correspond to a location of a bulk power system within and throughout, e.g., a state, county, province, or country.Attorney Docket No. 43374-0873W01

[0046] The grid models 190 include elements that represent the components of an electrical grid and interconnections among the elements. The components can include inverters, relays, PPCs, Energy Management Systems, RASs, Automatic Generator Controls, alarm systems and so on. In addition, components can include other elements relevant to the transmission and distribution of power, such as transmission towers and utility poles. Elements in the grid model can include references to descriptive information about the components that can include various metadata, such as a unique element identifier for an element, information about the component represented by the element such as make, model, deployment date, damage reports, photographs, service history, role of the element and so on. A role can include whether the element is used for transmission or distribution, or both. The descriptive information can further include information about the environment at or around components, such as temperature and humidity measured at various times. The grid models 190 can further include descriptions of components that connect components, such as power lines. For such connection components, the grid model can include a description of the components connected by the connection component, and a description of the connection component that connects.

[0047] Elements of a grid model 190 can have associated operating conditions that specify constraints on operation of the component. For example, an operating condition can indicate that the temperature at the component cannot exceed a maximum value or that the voltage at a component must remain within a given range. Operating conditions can be expressed as Boolean expressions and can be associated with an element representing a component.

[0048] The individual models within the electric grid models 190 may be of different formats, and may be used to model different aspects of the electric grid. Such formats include a Geographic Information System (GIS) format, a tabular format, or an extensible Markup Language (XML) format.

[0049] Each model is a particular virtual representation of the physical grid, based on the electrical components present, how they are connected in a topology, their configurations, parameters and characteristics. The models may be of different types, and may be proprietary or based on open standards. Example proprietary models include PSLF (Positive Sequence Load Flow) and PSS / E (Power System Simulator for Engineering)Attorney Docket No. 43374-0873W01models. Example open standard models include CIM (Common Interchange Format), IEEE CDF (Common Data Format).

[0050] Electric grid models are also specific to applications, e.g., PSCAD / EMTDC (Power System Computer Aided Design / ElectroMagnetic Transients including DC) formats are used for Electromagnetic Transients (EMT) studies. At other times, the details of the electric grid are represented using textual and graphical representations, e.g., Single Line Diagrams. All of these formats represent the same physical grid in different ways, and in varying degrees of temporal and spatial resolution.

[0051] In some implementations, the electric grid models 190 may be received from third parties, represented by the grid models 112 provided to the modeling system 150. In other implementations, the electric grid model 190 includes models derived from the grid models 112 and / or from other data, as will be described below.

[0052] Grid wire paths 114 may be provided as data representing of paths of electric grid wires over a geographic region. The paths of the electric grid wires can be, for example, grid wire paths that are visible in overhead images of the geographic region. In some examples, the wire paths 114 can be provided by vector data. The vector data can be generated through image processing techniques including segmentation processes that are used to identify locations and paths of grid wires, or provided by third parties. The vector data can define characteristics of the grid wire paths (e.g., position, length, direction) by a list or set of vectors. The vector data can include, for example, coordinate positions corresponding to endpoints of vectors. In some examples, the coordinate positions of vector endpoints can each be defined by a geographic latitude and longitude.

[0053] The data provided to the modeling system 150 can also include planning data 116. Planning data 116 may be provided by third parties, e.g., utilities or power producers, or may be provided by the administrators of the modeling system 150. The planning data 116 may specify build outs, forecast future utility demand, and otherwise define demands and changes to the underlying grid that requires modeling and simulation.

[0054] The modeling system 150 can also receive auxiliary data 170 that can be used in modeling the grid, but which is not itself actual electrical grid data. This can include aerial imagery 172, property boundaries 174, and transportation routes 176 and topological features 178. The auxiliary data 170 can be used to determine modeling and planningAttorney Docket No. 43374-0873W01constraints for the electrical grid that may not be specified in existing grid models 112 or other grid-specific data.

[0055] The aerial imagery 172 can include imagery collected from overhead sensors. Overhead sensors can include, for example, aerial and satellite sensors. Overhead sensors can include visible light cameras, infrared sensors, RADAR sensors, and LIDAR sensors. The aerial imagery 172 can include visible light data, e.g., red-green-blue (RGB) data, collected by the overhead sensors. The aerial imagery 172 can also include hyperspectral data, multispectral data, infrared data, RADAR data, and LIDAR data collected by the overhead sensors. The aerial imagery 172 can include two-dimensional (2D) data, 2.5D data, or 3D data. The aerial imagery 172 can include multiple channels or layers of imagery data. For example, the aerial imagery 172 can include an RGB layer, a height model layer, a digital surface model layer, and a vegetation index layer. The data 172 can also include geolocation data specifying locations of features depicted in the images. Property boundaries 174 can include image data indicating demarcations between properties, communities, municipalities, towns, counties, etc., within the geographic region.Transportation routes 176 can include image data indicating paths of roads, railroads, sidewalks, waterways, etc. Topological features 178 can include image data indicating elevations, land forms, etc.

[0056] In some examples, auxiliary data 170 can include non-image features. Non-image features can include an identification of the geographic region. The identification of the geographic region can include, for example an identification of a state, province, county, or city. In some examples, the geographic region can include an identification of geographic boundaries of the geographic region, e.g., longitudinal and latitudinal boundaries. In some examples, the auxiliary data 170 can include property boundaries and transportation routes in vector format. In some examples, the auxiliary training data 170 can be represented as continuous valued features, embedded features, or categorical features.

[0057] The unified modeling subsystem 152 can be used to generate and maintain a unified grid model from the grid models 112 and other data. The grid planning subsystem 154 can be used for planning grid expansions and evaluating impacts of changes to the grid and demand changes. Operations of these subsystems is described in more detail with reference to Figs. 3 - 10.Attorney Docket No. 43374-0873W01

[0058] Interdependencies among components can be included in a unified grid model (or “grid model,” for brevity), which is a model that spans the totality of components from generators to end loads (e.g., households). A unified model can be a software representation of power system components and electrical networks that can include mathematical representations of the components used for simulation and analysis. Physical components of the electrical grid can be represented by elements of the grid model.

[0059] One of the models 190 can be a unified grid model. A unified grid model can be built using various data sources including topological data, geographical data, and characteristics of individual grid assets. Such data can be obtained from various data sources such as imagery and LIDAR measurements of actual grid components, sensor data (e.g., measurements obtained from actual grid operations), and utility data. Utility data can include information relating to various aspects of the electrical grid, including conductor types, poles and attachments, phase connections, among many other examples.

[0060] Electrical power grids include a broad range of interconnected components that can be organized into two broad categories: transmission components that deliver power from power generation along high voltage wires across long distances to substations, and distribution components that distribute power from substations to endpoints such as homes and businesses. Some elements, such as substations, participate in both transmission and distribution. The components can be of various types such as inverters (Solar, Wind, HVDC, etc ), relays, Power Plant Controllers (PPCs), Energy Management Systems, Remedial Action Systems (RAS), Automatic Generator Controls, alarm systems and so on.

[0061] The operation of one component often influences the operation of other components. For example, a PPC regulates and controls networked inverters within a power plant. In addition, various components can operate differently under different load conditions. Further, the output of one component can influence the load of other components. Understanding how the totality of components in the grid operate can aid in proper grid operation.

[0062] Fig. 2 is a diagram an environment 200 for simulating electrical grid transmission and distribution. Simulations can be used to determine how various components will operate under such varying load conditions. The model used for simulation can be called anAttorney Docket No. 43374-0873W01electrical grid simulation model (or "simulation model," for brevity), which can operate on a unified grid model or on a subset of a unified grid model.

[0063] The environment can include a simulation system 201, one or more electrical grid simulation models 257 based on the electric grid models 190. The grid simulation models 257 are stored in a simulation repository 255.

[0064] The grid models 190 can include references to one or more simulation models 257 that apply to the grid models 190. In some implementations, each element of a simulation model 257 includes a reference to a simulation model 257 for that element. In some implementations, a simulation model 257 can apply to a subset, or “region,” of the grid model 190.

[0065] The simulation models 257 can include a description of how elements in a grid region (which can be an entire grid or a subset of a grid) are predicted to behave under various electrical conditions, where an electrical condition can include various loads and other conditions (e.g., weather conditions). In some implementations, simulation models 257 can include one or more functions that can accept as input loads and conditions and can produce predicted loads at the elements within and at the boundaries of the portion of the grid being simulated. In some implementations, simulation models 257 can be machine learning models, such as neural networks, configured to accept as input loads and conditions and to produce as output predicted load within and at the boundaries of the portion of the grid being simulated. Other forms of grid models, including deterministic models, can be used, and various forms of computer simulations (functions, neural networks, computer code, etc.) can be used in combination.

[0066] Such simulation models 257 can accept as input simulated loads at the boundary of the grid region, and can produce predictions that can include (i) predicted loads at one or more of the components within the grid region, (ii) predicted loads at the boundary of the region, or (iii) both predicted loads at the components within the grid region and predicted loads at the boundary of the region.

[0067] The simulation models 257 can apply to an entire grid region, or to a portion of a grid region. In implementations in which a simulation model 257 applies to an entire grid region, the simulation model 257 can accept as inputs and produce outputs for the entire grid region. In some implementations, multiple simulation models 257 apply to theAttorney Docket No. 43374-0873W01elements in a grid region. For example, each element within a grid region can have an associated simulation model 257, and the simulation can be performed by simulating each element with the grid region. In another example, multiple sub-region within a grid region can have associated simulation models 257, and the simulation can be performed by simulating each sub-region with the grid region.

[0068] In this example implementation, the simulation system 201 includes a simulation model obtaining engine 210, a user interaction engine 217, a boundary condition determination engine 220 and a grid simulation engine 225. The user interaction engine 217 that provides user interface presentation data to computing devices 205 such as personal computer, laptops, smart phones and tablet computer. When rendered by the computing device 205, the user interface presentation data can enable a user to provide information to the user interaction engine 217 that can be used by the simulation system 201. For example, the user interaction engine 217 can provide descriptions of grid model subsets 253 to the grid model engine 215.

[0069] In some implementations, the grid model engine 215 can obtain a grid model 190 and provide grid model subsets 253 to the boundary condition determination engine 220 and to the grid simulation engine 225. A grid model subset 253 can be a proper subset of a grid model 190, and can include elements and connections among the elements. A grid model subset 253 can represent a functional subset of a grid model. For example, one grid model subset 253 can include transmission elements and a second grid model subset 253 can include distribution elements. In another example, one grid model subset 253 can include elements operated by one entity (e.g., a power company), and a second grid model subset 253 can include elements operated by a different entity. The grid model subsets 253 are derived from the extant unified grid model 190.

[0070] The grid model engine 215 can obtain a grid model 190 or grid model subsets 253 using techniques suitable for the data repository, such as structured query language (SQL) operations to retrieve data from a relational database or file system operations provided by an operating system to retrieve models from a file system.

[0071] The boundary condition determination engine 220 can accept grid model subsets 253 and determine boundary conditions 222 between the grid model subsets 253. Boundary conditions 222 can represent intersections between elements of one grid model subset 253Attorney Docket No. 43374-0873W01and a second grid model subset 253. Boundary conditions can include both overlapping elements (e.g., the same elements that are in each grid model, or elements that are directly coupled to each other in the grid models, such as conductors on either side of a transformer) and conditions that must exist at the elements (e.g., same voltage, same current, or same power).

[0072] A condition can be specified as a Boolean expression that must evaluate to TRUE. For example, a boundary condition can specify that for an element common to two grid model subsets, both grid model subsets the voltage must be the same. In another example, a boundary condition can specify that a property (e.g., a voltage) must be within a specified range for each element subject to the boundary condition. A boundary condition can be an operating condition, as described above.

[0073] The simulation model obtaining engine 210 can obtain simulation models 257 from a simulation model repository 245. The simulation model obtaining engine 210 can obtain simulation models 257 using techniques suitable for the data repository, such as structured query language (SQL) operations to retrieve data from a relational database or file system operations provided by an operating system to retrieve models from a file system. The simulation model obtaining engine 210 can provide simulation models 257 to the grid simulation engine 225.

[0074] The grid simulation engine 225 can accept simulation models 257, grid model subsets 253 and boundary conditions 222 and provide predicted operational values such as voltage and current. The grid simulation engine 225 can execute simulation models 257 on the grid model subsets 253 and using the boundary conditions 222 as constraints.

[0075] The simulations may vary, based on objectives. For example, one grid model simulation may be for transient analysis, while another may be for steady state analysis, yet another may be for thermal analysis, and still yet another may be for a visualization analysis. The different simulation types may be referred to as application types.

[0076] As described above, many different representations and data formats of the electric grid exist, and in particular for application models of different types, and often there is little interoperability between them. To address these and other problems described above, a unified modeling subsystem 156 generates and maintains a unified grid model from multiple disparate models.Attorney Docket No. 43374-0873W01

[0077] Fig. 3 is a representation 300 of a grid model 302 according to the prior art. In Fig. 3, the X-axis represents the time periods of the models. The time periods are distinct from time granularity, e.g., used for simulation, or the time horizon used for forecasting. For instance, there are separate models for summer 2027 and winter 2027. While in some cases the time period may be a single instant in time, for generality the term “time period” is used.

[0078] The Y-axis shows the same grid for the same time period in different, disparate model. In Fig. 3, there are two variations of disparate models. In the first variation, only the file format for grid models differ, but the information represented therein is the same. For example, the exact same model can be represented by the PSSE tabular format or CIM format or XML format. In the second variation, the function of the model differs from other models. For example, one model of the grid may be used for steady-state simulations in a steady-state analysis application, while a different model of the same grid could be used for short-circuit simulation in a short-circuit analysis application. Often, in practice, the two variations are closely related. Thus, models for a particular function tend to use a particular format due to the commonly available tools and datasets for that function.

[0079] The Z-axis displays the proposed adjustments to the model formats due to network upgrades, error corrections, and other factors. Although there may be multiple models available for each future time, and some future times may not have an associated model, it can be assumed that a model is available for every subsequent time from its first instance to maintain generality. For example, the models in a particular GIS Z-stack, e.g., stack 302, may include a first model for line information for a first portion of the grid at a first time, a second model for line information for a second portion of the grid at the same first time, and a third model for line information for the first portion of the grid for a scheduled upgrade within the time period to which the models in the stack 302 correspond.

[0080] As illustrated in Fig. 3, the multitude of different models in different formats and for different times results in many different and disparate data sets. The electric grid models that utilities currently are using to conduct their studies are siloed from time and format perspective. This creates many challenges to maintain models in a synchronized and consistent manner. Each of these models usually represents a single period of time and model. Management of such data sets is thus complex, time consuming, and prone to error.Attorney Docket No. 43374-0873W01

[0081] Fig. 4 is a representation of a unified grid model 402, and Fig. 5 is a representation of components of the unified grid model 402. The unified grid model 402 and generation of the components of Fig. 5 are implemented in the unified modeling subsystem 152. In particular, the unified modeling subsystem 152 is a computer-implemented system and method for generating the unified electrical power grid model 402 that consolidates multiple disparate model formats, time periods, and modifications into a single, synchronized representation. By converting various proprietary and open-standard grid models into a particular format, such as the CIM format (or some other appropriate format), and separating them into base models, model changes, and time periods, the system reconciles siloed data into a versioned graph store. This unified approach incorporates temporal representation, allowing changes to a single model instance to propagate forward automatically and ensuring a consistent baseline for power system analysis and simulation.

[0082] To address the issues of isolated models described with respect to Fig. 3, the unified modeling subsystem 152 divides each separate model into three components: a base model 502, model changes 504, and model time periods 506. The base model 502 is, for example, a first instance of a model. For example, a GIS model representing lines for a portion of an electrical grid with a corresponding date that is earlier than all other GIS models for that same portion will be considered the based model 502. These divisions are done by model metadata that may specify such information and also by comparing models of the same type for all time periods, and determining the time differences and changes based on the comparisons.

[0083] Model changes 504 are changes to the base model 502. The changes can be explicit, or can be derived by comparing a base model to a subsequent model of the same type for the same portion of the grid. For example, a model change 504 can be specified as a specific change record to a particular model. Likewise, a model change 504 can be derived by comparing a new model that is to replace a previous model for the particular portion of the grid.

[0084] The time periods 508 can be explicit or inferred. For example, a particular model may have a specific date range, e.g., 1 / 1 / 2027 - 1 / 1 / 2029, and thus the time period is 1 / 1 / 2027 - 1 / 1 / 2029. The time period can be inferred as well. For example, a base model 502 may have an effective date, e.g., 1 / 1 / 2027, and an explicit change to the base modelAttorney Docket No. 43374-0873W01may be scheduled for 1 / 1 / 2028. This will result in a time period for the base model of 1 / 1 / 2027 - 12 / 31 / 2027, and the model change 504 to the base model will then have an effective date of 1 / 1 / 2028.

[0085] After the division, the base models 502 from all the different model types are combined, versioned, and synchronized with the physical grid represented by the grid model 402, as explained in more detail below. In some implementations, grid scenarios can be maintained separately.

[0086] The unified grid model 402 utilizes, in one implementation, a Common Information Model (CIM) based approach to develop a unified representation of the grid model which contains a temporal representation of the grid model on the same file. The CIM approach maintains a consistent baseline for future simulations and benefits many other use cases of electrical utility companies. Other formats may also be used for the unified grid model data structure, however.

[0087] The unified grid model 402 is a unified representation for multiple model formats, time periods, and modifications. The unified modeling system 152 implements methods for creating and operating on that unified representation of the unified grid model 402. In some implementations, the CIM model is used to store all grid information. Using CIM allows for flexibility and adaptability, and also simplifies version control and coordination by providing the unified representation.

[0088] In some implementations, the disparate grid models representing the electrical grid are converted into CIM format with temporal representation so they can be merged with the unified model 402 with temporal representation. A converter 404 is used to convert the disparate grid models into the unified grid model 402 format. Any appropriate conversion process can be used for the converter 404. The conversion process may be implemented, for example, for conversion tools available for each disparate model, e.g., a GIS to CIM converter, for example, or may even be machine learned systems that converts from different model formats to the unified grid model 402 format.

[0089] After the conversion, models are aligned and reconciled with existing information defined in the converted models. The proposed approach is illustrated in Fig. 4. The X-axis represents the time periods of the models. The CIM format can represent these time periods in a single unified model 402, and can also represent temporal changes.Attorney Docket No. 43374-0873W01

[0090] A version controller 406 aligns the disparate model components, as received from the converter 404, within the data structure of the unified model 402. The version controller 406 processes model changes by their respective dates / version number, and, if necessary, propagates changes to future versions of the unified model 402. For example, if the GIS model(s) indicate that no transmission line changes are scheduled after 1 / 1 / 2029, the all future versions of the unified model 402 will include the transmission line data as of 1 / 1 / 2029, even if the GIS data for such future dates is not explicitly received.

[0091] The Y-axis displays the same grid model at a single time period, but represented in various file formats. These formats can represent either different file formats or different functions, as describe above with reference to Fig. 3. However, in Fig. 4, the disparate models have been processed by the converter 404 and stored in the unified model format 402. Thus, for different file formats, the file formats are converted to CIM prior to their integration into the unified model 402.

[0092] Finally, the Z-axis displays the proposed adjustments to the model formats due to network upgrades, error corrections, and other factors, as described above with reference to Fig- 3.

[0093] In some implementations, after storing a particular grid model as a unified grid model 402, changes to a single instance of a single model represented in the unified grid model 402 propagate forward to subsequent instances of the single model. For example, changes to a GIS model component to reflect a transmission line update scheduled to take place at an effective date, are processed by the converter 404 and the version controller 406.

[0094] Models, after being ingested, converted, and aligned, are then stored and made accessible for uses including model viewing, simulations, optimization, and editing.

[0095] The unified grid model 402 can thus be used to model time-based grid asset data and their topology required for power system analysis, including simulations and optimizations. The location, connections, size and commissioning time of a switch are examples of data that can be included in a unified grid model. Example model scenarios include a scenario for time-based grid asset states required for power system analysis. The state of a switch (open or close) is an example of the state of an asset that can be included in a model.Attorney Docket No. 43374-0873W01

[0096] The unified modeling subsystem 152 can also provide model snapshots as an instant of the unified grid model 402 at a particular time. The time can be a current time, a future time, or a passed time, as the elements of the disparate models have been aligned by their corresponding times by the version controller 406.

[0097] As described above, the unified grid model 402 information is stored in CIM format and created by reconciling multiple CIM models converted from various file formats. In some implementations, a graph-based approach is used for model alignment, and the model 402 resides in a versioned graph store. In the graph-based approach, the unified grid model 402 comprises a temporal representation of the physical grid assets and is configured to automatically propagate a modification of a physical grid asset at a first time period to subsequent time periods within the versioned graph store. For example, nodes and edges in the graph can have respective version or time elements indicating their presence, and, in some implementations, each other element of the node or graph that corresponds to a physical asset characteristic can also have a version or time element. Thus, a node or graph may indicate a location, a connection, a size, or a commissioning time of a grid asset, and other parameters. For example, if a transformer is represented by a node, its primary and secondary ratings may have electrical and time elements; if the transformer is changed to a larger transformer, the node may remain in the graph, but it will be populated with addition elements that indicate the new primary and secondary ratings, and the time the new elements became effective.

[0098] In some implementations, a version of the model 402 of a particular grid can be designated as a base version (either by a human or by a decision process implemented in the system). Model scenarios are stored as differences (diffs) relative to the base unified grid model in CIM format, each of which forms a separate version. For each study or analysis, a model snapshot is generated by combining the unified grid model 402 with the corresponding model scenario.

[0099] Fig. 6 is a flow diagram of an example process of generating and maintaining a unified grid model from multiple disparate grid models. The process 600 can be performed by one or more computers programmed to perform the operations described below.Attorney Docket No. 43374-0873W01

[0100] The process 600 receives a plurality of disparate grid models representing an electrical power grid (602). For example, the unified modeling system 152 receives grid models such as GIS models, PSSE models, transient modes, etc. for a particular utility grid.

[0101] The process 600 determines, for each disparate grid model, a base model, model changes, and a model time period (604). For example, as described above, the unified modeling system 152 can process the model, e.g., process model metadata, or process explicit model changes, to determine the base model, model changes, and a model time period.

[0102] The process 600 converts the plurality of disparate grid models into a common model domain (606). For example, as described above, the converter 404, which may be one or more machine learned converters or algorithmic converters, converts the disparate models into a common format.

[0103] The process 600 reconciles the base models to generate a unified grid model (608). For example, as described above, the version controller 406 aligns the disparate model components, as received from the converter 404, within the data structure of the unified model 402. The version controller 406 processes model changes by their respective dates, and, if necessary, propagates changes to future versions of the unified model 402.

[0104] The process 600 stores the unified grid model in a versioned graph store (610). For example, the unified modeling subsystem 152 stores the unified grid model as a temporal representation of the physical grid assets in a graph data structure. The graph is further configured to automatically propagate a modification of a physical grid asset at a first time period to subsequent time periods within the versioned graph store, as described above.

[0105] The process 600 stores a model scenario representing operational states of the physical grid assets (612). As describe above, the model scenarios are stored as differences (diffs) relative to the base unified grid model in CIM format, each of which forms a separate version.

[0106] The process 600 generates a model snapshot for a target time period by combining the unified grid model corresponding to the target time period with the model scenario corresponding to the target time period (614). This is done by combining theAttorney Docket No. 43374-0873W01unified grid model 402 with the corresponding model scenario to produce the model of physical assets as the scheduled time or version.

[0107] Fig. 7 is a block diagram of a unified grid model platform 700. The platform 700 is one example implementation of the unified modeling subsystem 152. As shown in Fig. 7, the unified grid model platform 700 provides unified modeling across time, across grid resolutions, across applications, and across grid representation formats. More specifically, the unified grid model platform 700 provides unified modeling across time and across grid spatial resolutions, as illustrated and described with reference to Figs. 3 - 6 above.

[0108] The platform 700 ingests and converts disparate electrical grid models 702 of various formats, spatial resolutions, and time scales into a single, common model domain. By centralizing these representations, the platform 700 enables collaborative, crossapplication workflows for steady-state, dynamic, transient, and economic grid analyses while maintaining an advanced version control system for tracking planned system upgrades. The platform 700 provides application programming interfaces 704 (APIs) to third parties for various applications 706 to ensure seamless interoperability across the entire energy and power grid ecosystem.

[0109] In some implementations, each application 706 (load flow analysis, protection analysis, etc.) uses a representation of the grid for its own purposes, and the underly data processed by the application has a different format. The platform 700 supports each of the formats by use of the unified model and APIs, as described in more detail below.

[0110] The unified model 402 is obtained by the processing functionality described with reference to Figs. 3 - 6 above. Additionally, the platform 700 can incorporate additional processes such as quality checks 710, data validation and provenance check 712, model translation 714, and model editing 716. The quality checks 710 process checks quality for incoming model representations from different sources. For example, a model specified to be in a particular format is checked against quality and validation data to ensure the model is complete. The data validation and provenance check 721 checks the model representations and their semantics at a higher level than the quality checks 710, as well as tracking incoming model flows as well as changes to the models. The model translation process 714 can translate models across different representation formats as well as time andAttorney Docket No. 43374-0873W01grid spatial resolutions required for different applications, and can export from the unified grid model 402 a model in one of the formats of the models 702 for application processing. The model editing process 720 includes versioning and Create, Read, Update, and Delete (CRUD) capabilities, and model validation to verify consistency, completeness and soundness of models and associated data. Additional or fewer processes can also be implemented.[OHl] In some implementations, planned grid changes to the utility grid modeled by the unified grid model 402 are managed and tracked over time in the unified grid model 402. This ability is realized by the model and data versioning as described with reference to Figs.3 - 5 above. The model and data versioning system, however, differs from traditional source control systems. This is because the nature of utility grid maintenance and planning requires simulation of the grid at multiple stages before, during and after a given simulation time. Thus, the model editing 716 includes access to previous versions of any model reflected in the unified grid model 402, reuse of any previous version, branching from any prior version (not just the most recent), ad hoc queries on the version branching to discover and compare attributes of any version, naming and annotating of any version, branching patterns that are more general than trees, and other features.

[0112] In some implementations, steady state, dynamic, transient and short circuit and simulation models are all unified and consistent in the same platform. So are all other types of models for different applications. This ability is realized by the model translation functionality described above. In particular, in addition to translating across different time scales, spatial resolution and formats, any attribute of a particular model (e.g., geolocation tagging of assets) can be dropped or reattached during the translation process.

[0113] In some implementations, the unified grid model platform 700 supports collaborative workflow. Asset owners, grid planners, grid operators and project developers can all collaborate within the platform to ensure consistent unified modeling. This is realized by multi-level access control functionality, a collaborative visual and multimodal editing system, application APIs, and a model and data versioning system as described previously.

[0114] The unified grid model platform 700 also provides the model input and output APIs to support various formats utilized throughout the industry. This ability is realized byAttorney Docket No. 43374-0873W01the model translation process 714 as well as associated data formats and APIs for accessing the data and models.

[0115] Fig. 8 is a flow diagram of an example process for managing a unified grid model using the platform of Fig. 7. The process 800 can be performed by one or more computers programmed to perform the operations described below.

[0116] The process 800 receives a plurality of disparate grid models representing an electrical power grid (802). For example, the platform 700 receives grid models such as GIS models, PSSE models, transient modes, etc. for a particular utility grid.

[0117] The process 800 converts the plurality of disparate grid model representations into a unified grid model within a common model domain (804). For example, as described above, the converter 404, which may be implemented by the model translation process 714, converts the disparate models into a common format.

[0118] The process 800 manages modifications to the unified grid model using a versioning data structure (806). For example, the version controller 406 can manage modifications to the unified model 402 by updating the unified grid model 402 with version control data, such as version number, time periods and like, as described above.

[0119] The process 800 receives, from a first analysis application, a request for a target grid representation (808). For example, a transient analysis program may request a grid model in a transient analysis application program format to perform a transient analysis simulation on a portion of the utility grid represented by the unified mode 402.

[0120] The process 800 translates a selected version of the unified grid model into the target grid representation formatted for the first analysis application (810). For example, the model translation process 714 processes the unified grid data 402 relative to the portion of the grid to be modeled and generates the selected version of the unified grid model into the target grid representation formatted for the transient analysis program. The target representation is then provided to the transient analysis program for simulation.

[0121] Of course, other target programs can also be used, such as steady-state power flow analysis, a dynamic stability study, a transient stability simulation, or an economic production modeling study.Attorney Docket No. 43374-0873W01

[0122] Often a grid simulation may require multiple simulations, each dependent on a previous simulation. Given the complexity of a grid model, however, generating the portion of the grid model for simulation can be time consuming and resource intensive.

[0123] To address these shortcomings, the simulation system 201 incorporates a dependency graph data structure for grid planning. The simulation system 201, by use of the dependency graph, automates the recomputation of electrical grid planning simulations. When a base grid model is updated, the simulation system 201 automatically triggers cascading recomputations for all derived simulation cases that depend on the modified model, ensuring consistency across the network of cases. Additionally, the simulation system 201 employs a dynamic programming approach to intelligently reuse prior simulation results from ancestor nodes, thereby avoiding redundant calculations and significantly improving overall computational efficiency.

[0124] Fig. 9 is a block diagram of a dependency graph 900 for grid planning simulation. A grid model, like the grid models described above, and not necessarily a unified grid model, maintains data describing the state of the grid, its topology, demand and generation, etc. In some implementations, the grid model can reflect a static point in time with a specific defined problem to address, e.g., an interconnection study where a new generator addition has the potential to overload a piece of transmission equipment, requiring a mitigation strategy, or it can reflect an evolving grid that has prescheduled interconnection or grid element commissi oning / decommissioning events.

[0125] The simulation system 201 uses a dependency graph to facilitate focusing on the integration between grid planning simulation and grid model management. In some implementations, when the grid model of a management system is edited, the editing automatically triggers recomputations within the grid planning simulation, as will be described in more detail below.

[0126] A simulation case in a grid planning tool is defined as the combination of a grid model snapshot and a scenario. A grid model snapshot represents the grid topology and is frequently the combination of a base grid model and planned modifications, such as building a new transmission line to reinforce the system or connecting a new power plant. A scenario is defined by a time series for the forecasted demand and generation, and other time-varying parameters across multiple years, as well as quasi-static parameters.Attorney Docket No. 43374-0873W01

[0127] As shown in Fig. 9, in the dependency graphs 900 is a base case (Case 1) and four derived cases (Cases 2 - 5), each represented by a respective node. The dependency graph 900 connects the base case to derived cases by edges. The base case is assumed to represent the majority of the grid topology and is represented by a root node 902. Derived cases are typically, but not always, modifications made to a small part of the overall topology, such as the addition of a generator or one or two lines. As shown in Fig. 9, when a given case is modified, e.g., edits on a case are such that the need for a new case to be created is justified, a descendant node to the modified case is created. Thus, in Fig. 9, the base case has two distinct modifications that result in two derived cases, Case 2, represented by node 904, and Case 3, represented by node 906. Case 2 also has two separate modifications that require derived cases, and thus two descendant nodes 908 and 910, which are Case 4 and Case 5, respectively.

[0128] As shown in Fig. 9, the dependency graph 900 is in the form of a tree and is acyclic. However, other appropriate graph topologies can be used, and portions of the graph could be cyclic.

[0129] In some implementations, the graph 900 facilitates automated recomputation of simulation results from a graph of model dependencies. When a case (e.g., either the Case 1 node 902 or a case for a descendant node) is updated or modified, the simulation system 201, by use of the dependency graph, automatically initiates a recomputation of the associated simulation and optimization processes in all descendant nodes depending from the node to which the modified case corresponds. This ensures that the results of these processes accurately reflect the changes made to the model.

[0130] In some implementations, this recomputation can extend beyond the base case itself. Any derived cases that have been created based on the original base case should also be recomputed. For example, a modification to Case 1 in Fig. 9 will cascade to Cases 2, 34 and 5, and a recomputation will be triggered for each node 904, 906, 908 and 910.Conversely, a modification to Case 2 will only cascade to Cases 4 and 5, and thus a recomputation will be triggered only in nodes 908 and 910. This cascading effect ensures that the entire network of related cases remains consistent and up to date with the changes made to the respective parent node. This automated process not only saves time and effort but also reduces the risk of errors that could arise from manual recomputation, especially ifAttorney Docket No. 43374-0873W01recomputations done out of order from the original sequence can lead to confusing or inconsistent results.

[0131] In another implementation, the simulation system 201 implements a dynamic programming approach to recomputations. The use of dynamic programming makes more efficient the recomputation process within a model dependency graph. The dynamic programming breaks down complex problems into smaller, overlapping subproblems, solves each subproblem once, and stores the results to avoid redundant calculations, leading to efficient solutions. For example, as shown in Fig. 9, the node 908 includes “Results 4” for a simulation. However, assume a dynamic program check reveals that “Results 4” cannot be considered independent of “Results 1” and “Results 2” for nodes 902 and 904. Thus, the simulation system 201 will use the “Results 1” and “Results 2” when computing the “Results 4” for node 908, which will save processing time, as “Results 1” and “Results 2” will not be recomputed when the recomputation is triggered for node 908.

[0132] The system thus leverages prior computed results and reuses the computed results from ancestor nodes to efficiently propagate and share these results with their corresponding descendant nodes. This reuse of existing computations significantly reduces the need for redundant and independent recomputations of closely related cases, leading to substantial gains in computational efficiency and overall performance.

[0133] Fig. 10 is a flow diagram of grid planning simulation process 1000 using a simulation dependency graph. The process 1000 can be performed by one or more computers programmed to perform the operations described below.

[0134] The process 1000 selects a grid model as a base case in a root node in the dependency graph (1002). For example, a grid model for a portion of a grid to be planned and simulated will be designated as a root node.

[0135] The process 1000 generates a plurality of derived simulation cases (1004). As described above, the simulation system 201 will generated a derived simulation case for a change in the grid model, and will designate that derived simulation case as a child node of a root node (or, as a child of a child node, if there is a change to an existing child node). More specifically, each derived simulation case is represented by a node in the dependency graph that is either a descendant node of the root node, or a descendant node of anotherAttomey Docket No. 43374-0873W01descendant node, and each derived simulation case defines a change to a case of an ancestor node from which it descends.

[0136] The process 1000 updates a case represented by a corresponding node in the dependency graph (1006). For example, a node in the dependency graph may be updated, either manually or by a system process.

[0137] The process 1000, for each case represented by a node that descends directly or indirectly from the node represented the case updated, updates the case (1008). For example, all descendent nodes of a node of a case that has been updated will likewise be updated.

[0138] After the updates, the simulations may be automatically recomputed as described above. Moreover, dynamic programming can be used, as described above, to increase the efficiency of the recomputations by leveraging results from parent nodes for a given recomputation of a child node.

[0139] Implementations of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly-implemented computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible non-transitory program carrier for execution by, or to control the operation of, data processing apparatus. The computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them.

[0140] The term “data processing apparatus” refers to data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing data, including, by way of example, a programmable processor, a computer, or multiple processors or computers. The apparatus can also be or further include special purpose logic circuitry, e.g., a central processing unit (CPU), a FPGA (field programmable gate array), or an ASIC (application-specific integrated circuit). In some implementations, the data processing apparatus and / or special purpose logic circuitry may be hardware-based and / or software-Attorney Docket No. 43374-0873W01based. The apparatus can optionally include code that creates an execution environment for computer programs, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. The present disclosure contemplates the use of data processing apparatuses with or without conventional operating systems, for example Linux, UNIX, Windows, Mac OS, Android, iOS or any other suitable conventional operating system.

[0141] A computer program, which may also be referred to or described as a program, software, a software application, a module, a software module, a script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, sub-programs, or portions of code. A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network. While portions of the programs illustrated in the various figures are shown as individual modules that implement the various features and functionality through various objects, methods, or other processes, the programs may instead include a number of sub-modules, third party services, components, libraries, and such, as appropriate. Conversely, the features and functionality of various components can be combined into single components as appropriate.

[0142] The processes and logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., a central processing unit (CPU), a FPGA (field programmable gate array), or an ASIC (application-specific integrated circuit).Attorney Docket No. 43374-0873W01

[0143] Computers suitable for the execution of a computer program include, by way of example, can be based on general or special purpose microprocessors or both, or any other kind of central processing unit. Generally, a central processing unit will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magnetooptical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, e g., a universal serial bus (USB) flash drive, to name just a few.

[0144] Computer-readable media (transitory or non-transitory, as appropriate) suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The memory may store various objects or data, including caches, classes, frameworks, applications, backup data, jobs, web pages, web page templates, database tables, repositories storing business and / or dynamic information, and any other appropriate information including any parameters, variables, algorithms, instructions, rules, constraints, or references thereto. Additionally, the memory may include any other appropriate data, such as logs, policies, security or access data, reporting fdes, as well as others. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

[0145] To provide for interaction with a user, implementations of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube), LCD (liquid crystal display), or plasma monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to theAttorney Docket No. 43374-0873W01user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user’s client device in response to requests received from the web browser.

[0146] The term “graphical user interface,” or GUI, may be used in the singular or the plural to describe one or more graphical user interfaces and each of the displays of a particular graphical user interface. Therefore, a GUI may represent any graphical user interface, including but not limited to, a web browser, a touch screen, or a command line interface (CLI) that processes information and efficiently presents the information results to the user. In general, a GUI may include a plurality of user interface (UI) elements, some or all associated with a web browser, such as interactive fields, pull-down lists, and buttons operable by the business suite user. These and other UI elements may be related to or represent the functions of the web browser.

[0147] Implementations of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN), a wide area network (WAN), e.g., the Internet, and a wireless local area network (WLAN).

[0148] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

[0149] While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any invention or on the scope of whatAttorney Docket No. 43374-0873W01may be claimed, but rather as descriptions of features that may be specific to particular implementations of particular inventions. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of sub-combinations.

[0150] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be helpful. Moreover, the separation of various system modules and components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

[0151] Particular implementations of the subject matter have been described. Other implementations, alterations, and permutations of the described implementations are within the scope of the following claims as will be apparent to those skilled in the art. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results.

[0152] Accordingly, the above description of example implementations does not define or constrain this disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of this disclosure.

[0153] What is claimed is:

Claims

Attorney Docket No. 43374-0873W01CLAIMS1. A computer-implemented method for managing electrical power grid models, comprising:receiving a plurality of disparate grid models representing an electrical power grid, wherein the plurality of disparate grid models comprise different file formats and correspond to different time periods;dividing each of the plurality of disparate grid models into a base model, a model changes, and a model time period;converting the plurality of disparate grid models into a common model domain; reconciling the base models to generate a unified grid model representing physical grid assets and a topology of the electrical power grid;storing the unified grid model in a versioned graph store, wherein the unified grid model comprises a temporal representation of the physical grid assets configured to automatically propagate a modification of a physical grid asset at a first time period to subsequent time periods within the versioned graph store;storing a model scenario representing operational states of the physical grid assets, wherein the model scenario is stored as a difference relative to a base version of the unified grid model; andgenerating a model snapshot for a target time period by combining the unified grid model corresponding to the target time period with the model scenario corresponding to the target time period.

2. The computer-implemented method of claim 1, wherein the unified grid model is stored in a Common Information Model (CIM) format.

3. The computer-implemented method of claim 1, wherein the physical grid asset data comprises at least one of a location, a connection, a size, or a commissioning time of a grid asset.

4. The computer-implemented method of claim 1, further comprising propagating a modification made to a first instance of the unified grid model at a first time period forward to a second instance of the unified grid model at a subsequent time period.Attorney Docket No. 43374-0873W015. The computer-implemented method of claim 1, wherein the different fde formats comprise at least two of a Geographic Information System (GIS) format, a tabular format, or an extensible Markup Language (XML) format.

6. The computer-implemented method of claim 1, wherein the different time periods represent different seasonal models for a single calendar year.

7. The computer-implemented method of claim 1, wherein the plurality of grid models comprises a first model configured for steady-state simulation and a second model configured for short-circuit analysis.

8. A computer-implemented method for managing and executing electrical grid models, the method comprising:receiving, by one or more input application programming interfaces (APIs), a plurality of disparate grid model representations, wherein the plurality of disparate grid model representations comprise different spatial resolutions, different time scales, and different data formats;converting the plurality of disparate grid model representations into a unified grid model within a common model domain, wherein the unified grid model represents a single physical electrical grid;managing modifications to the unified grid model, using a versioning data structure configured to maintain the unified grid model as a single model;receiving, from a first analysis application via a corresponding API, a request for a target grid representation; andtranslate a selected version of the unified grid model into the target grid representation formatted for the first analysis application, wherein the translating comprises selecting one or more specific model attributes, based on a target spatial resolution and a target time scale associated with the first analysis application.

9. The computer-implemented method of claim 8, wherein the versioning data structure supports non-tree branching patterns and executes ad hoc queries to compare physical grid attributes between any two versions across different branches.Attorney Docket No. 43374-0873W0110. The computer-implemented method of claim 8, wherein the first analysis application comprises at least one of a steady-state power flow analysis, a dynamic stability study, a transient stability simulation, or an economic production modeling study.

11. The computer-implemented method of claim 1, further comprising tracking unified grid model versions over a temporal dimension within the unified grid model.

12. A computer-implemented method, comprising:generating a grid simulation dependency graph, each node in the dependency graph representing a case of a grid model, where each case of the grid model is different from each other case of the grid model, the generating including:selecting a grid model as a base case in a root node in the dependency graph; generating a plurality of derived simulation cases, wherein:each derived simulation case is represented by a node in the dependency graph that is either a descendant node of the root node, or a descendant node of another descendant node; andeach derived simulation case defines a change to a case of an ancestor node from which it descends.

13. The computer-implemented method of claim 12, further comprising:updating a case represented by a corresponding node in the dependency graph; and for each case represented by a node that descends directly or indirectly from the node represented the case updated, updating the case.

14. The computer-implemented method of claim 14, wherein updating each case comprises automatically initiating a recomputation of associated simulation and optimization processes for the case.Attorney Docket No. 43374-0873W0115. The computer-implemented method of claim 12, further comprising:for a descendant node, determining to perform a simulation for the case represented by the descendant node, and in response:for each node that is an ancestor of the descendant node, determining whether prior simulation results for the cases represented by the nodes can be used in the simulation to be performed for the descendant node; andfor each prior simulation results for the cases represented by the nodes that are determined can be used in the simulation to be performed for the descendant node, using the prior simulation results when perform the simulation for the case represented by the descendant node.

16. The computer-implemented method of claim 13, wherein the plurality of derived simulation cases includes a first derived simulation case and a second derived simulation case, the second derived simulation case being dependent on the first derived simulation case.

17. The computer-implemented method of claim 16, wherein generating a plurality of derived simulation cases comprises propagating the update by recomputing case represented by the corresponding node in the dependency graph, then the derived simulation cases depending from the corresponding node in sequential order defined by the dependency graph.

18. A system comprising one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising the method of any one of claims 1 - 17.

19. A system comprising one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising the method of any one of claims 1-17.