Technologies for dynamic forecasting, aggregation, and validation

Technologies for dynamic forecasting, aggregation, and validation may include circuitry configured to collect data indicative of power flows at multiple locations in an electrical grid, to receive one or more parameters for generation of a customized forecast indicative of predicted power flows associated with one or more of the multiple locations over a defined time period, to select a subset of the collected data that satisfies the one or more parameters, to produce a model to predict power flows in the electrical grid associated with the one or more locations, to determine whether the model is validated by determining whether a predicted production of power minus predicted losses is within a predefined range of a predicted consumption of power at the one or more locations, and to produce the customized forecast of predicted power flows associated with the one or more locations for the defined time period.

BACKGROUND

Renewable energy encourages a decentralized approach to power generation and ownership. In the future, as distributed energy resources (DER) supplant large baseloads, economic dispatch and management systems (MS) will become increasingly complex for utilities and retailers. The evolving energy market includes customers that are adding new power generation and storage resources and utilities and/or third party energy marketers that are entering into contracts of varying terms to sell energy to customers. However, existing forecasting models for predicting power flows (e.g., consumption and/or production) are based on specific points of load or generation, and are unable to account for changes in the available resources in the electrical grid or produce forecasts pertaining to specific types of power consumers or power producers present in the electrical grid.

SUMMARY OF THE INVENTION

In one aspect, the present disclosure provides an apparatus. The apparatus includes circuitry configured to collect data indicative of power flows at multiple locations in an electrical grid. Additionally, the circuitry is configured to receive one or more parameters for generation of a customized forecast indicative of predicted power flows associated with one or more of the multiple locations in the electrical grid over a defined time period. Further the circuitry is configured to select a subset of the collected data that satisfies the one or more parameters. The circuitry is also configured to produce, from the selected subset of the collected data, a model to predict power flows in the electrical grid associated with the one or more locations, determine whether the model is validated by determining whether a predicted production of power minus predicted losses is within a predefined range of a predicted consumption of power at the one or more locations in the electrical grid, and produce, in response to a determination that the model is validated and based on the one or more parameters, the customized forecast of predicted power flows associated with the one or more locations for the defined time period.

In another aspect, the present disclosure provides a method. The method includes collecting, by an apparatus, data indicative of power flows at multiple locations in an electrical grid. The method also includes receiving, by the apparatus, one or more parameters for generation of a customized forecast indicative of predicted power flows associated with one or more of the multiple locations in the electrical grid over a defined time period. The method also includes selecting, by the apparatus, a subset of the collected data that satisfies the one or more parameters. The method also includes producing, by the apparatus and from the selected subset of the collected data, a model to predict power flows in the electrical grid associated with the one or more locations. Additionally, the method includes determining, by the apparatus, whether the model is validated by determining whether a predicted production of power minus predicted losses is within a predefined range of a predicted consumption of power at the one or more locations in the electrical grid. Further, the method includes producing, by the apparatus and in response to a determination that the model is validated and based on the one or more parameters, the customized forecast of predicted power flows associated with the one or more locations for the defined time period.

In yet another aspect, the present disclosure provides one or more machine-readable storage media having a plurality of instructions stored thereon that, in response to being executed, cause an apparatus to collect data indicative of power flows at multiple locations in an electrical grid. The instructions also cause the apparatus to receive one or more parameters for generation of a customized forecast indicative of predicted power flows associated with one or more of the multiple locations in the electrical grid over a defined time period. Additionally, the instructions cause the apparatus to select a subset of the collected data. The subset satisfies the one or more parameters. Further, the instructions cause the apparatus to produce, from the selected subset of the collected data, a model to predict power flows in the electrical grid associated with the one or more locations and determine whether the model is validated by determining whether a predicted production of power minus predicted losses is within a predefined range of a predicted consumption of power at the one or more locations in the electrical grid. Additionally, the instructions cause the apparatus to produce, in response to a determination that the model is validated and based on the one or more parameters, the customized forecast of predicted power flows associated with the one or more locations for the defined time period.

DETAILED DESCRIPTION OF THE DRAWINGS

Referring now toFIG. 1, a system100for aggregating data from an electrical grid110, validating forecasting models for power flows in the electrical grid110, and providing customized forecasts includes a forecast compute device120in communication with components of the electrical grid110and with a client compute device122through a network130. The electrical grid110may include producers of power, including power generation plants140,142(e.g., combined heat and power (CHP) plants), a solar power plant144, and a wind power plant146. Additionally, in the illustrative embodiment, the electrical grid includes consumers of power, including houses150,152, an office building154, and a factory158. Additionally, the electrical grid110may include a house with domestic CHP160(e.g., a house having equipment to produce combined heat and power, such as with micro CHP technology). The electrical grid110may additionally include other equipment capable of managing the flow of power through the electrical grid110, including energy storage devices (e.g., batteries)170,172,174,176, a flow control device180, and power quality devices182,184(e.g., devices configured to maintain power at a target quality by continually monitoring and adjusting a voltage, frequency, and/or waveform of the power). The electrical grid110may additionally include feeders190,192,194, each of which is embodied as a location where power may be combined from different producers and provided to different consumers in the electrical grid110.

In operation, the forecast compute device120enables distribution network operators to forecast load and generation on their network (e.g., electrical grid110) as combinations and locations of distributed energy resources (DER) evolve and change. By predicting the available generation and load obligations, distribution network operators may operate the electrical grid110more reliably and efficiently, benefitting market participants, aggregators, and individual consumers of power. Rather than relying on a pre-defined set of load and/or generation points and their corresponding historical data and associated independent variables, the forecast compute device120combines historical data and corresponding independent data at the time of forecast (e.g., in response to a request from the client compute device122for a forecast) based on user-defined parameters common to a targeted subset of the collected data (e.g., a subset of the collected data pertaining to a particular type of power consumer). For example, the forecast compute device120may produce a forecast of power flows for customers in a specific geographic area and/or customers associated with a certain type of electrical equipment (e.g., a solar power plant, a particular feeder, etc.).

In the illustrative embodiment, the forecast compute device120may produce forecasts, on request, at the account (e.g., power consumer, such as a house150), feeder, or aggregator (e.g., multiple feeders) levels. In each scenario, the forecast compute device120utilizes collected data (e.g., historical data) indicative of power flows in the electrical grid110, analyzes the data using statistical techniques or the like to determine relationships and patterns, and develops one or more models to determine how much power is produced and consumed (e.g., over time, with respect to changes in weather, etc.). The forecast compute device120may produce models for any subset or class of accounts. For example, residential homes with similar solar equipment in the same locality may be considered a class. In doing so, the forecast compute device120uses data indicative of a topology of the electrical grid110(e.g., data indicative of electrical equipment installed in the electrical grid110) to account for (e.g., model) power losses due to the presence of the electrical equipment (e.g., due to inefficiencies in the electrical equipment). Further, the forecast compute device120validates that a given model takes into account all power flows that may affect a forecast (e.g., a model of power flows at a feeder190) by confirming that predicted power production, minus losses due to the known electrical equipment is within a predefined range of (e.g., equal to or plus or minus a certain percentage, such as 1%) of the predicted power consumption by the power consumers associated with the forecast (e.g., power consumers150,156connected to the feeder190). In other words, the forecast compute device120, in operation, may determine whether the model complies with Kirchhoff's first law, which states that current flows at a given node must sum to zero, before providing a forecast produced by the model to a requestor of the forecast (e.g., an operator of the client compute device122).

Referring now toFIG. 2, the forecast compute device120may be embodied as any type of device capable of performing the functions described herein. As shown inFIG. 2, the illustrative forecast compute device120includes a compute engine210, an input/output (I/O) subsystem216, communication circuitry218, and a data storage subsystem222. Of course, in other embodiments, the forecast compute device120may include other or additional components, such as those commonly found in a computer (e.g., a display, etc.). Additionally, in some embodiments, one or more of the illustrative components may be incorporated in, or otherwise form a portion of, another component.

The compute engine210may be embodied as any type of device or collection of devices capable of performing various compute functions described below. In some embodiments, the compute engine210may be embodied as a single device such as an integrated circuit, an embedded system, a field-programmable gate array (FPGA), a system-on-a-chip (SOC), or other integrated system or device. Additionally, in some embodiments, the compute engine210includes or is embodied as a processor212and a memory214. The processor212may be embodied as any type of processor capable of performing the functions described herein. For example, the processor212may be embodied as a microcontroller, a single or multi-core processor(s), or other processor or processing/controlling circuit. In some embodiments, the processor212may be embodied as, include, or be coupled to an FPGA, an application specific integrated circuit (ASIC), reconfigurable hardware or hardware circuitry, or other specialized hardware to facilitate performance of the functions described herein. In the illustrative embodiment, the processor212includes a forecast logic unit230which may be embodied as any device or circuitry (e.g., reconfigurable circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), etc.) capable of offloading, from other functions of the processor212, the functions related to analyzing a set of collected data from the electrical grid110to produce a customized forecast pertaining to a particular subset of the collected data, producing one or more models to generate the customized forecast, and validating the model(s) (e.g., determining whether the model(s) comply with Kirchhoff's first law, as described above). Though shown as being integrated into the processor212, in some embodiments the forecast logic unit230may be located in a different portion of the forecast compute device120(e.g., as a discrete unit).

The main memory214may be embodied as any type of volatile (e.g., dynamic random access memory (DRAM), etc.) or non-volatile memory or data storage capable of performing the functions described herein. Volatile memory may be a storage medium that requires power to maintain the state of data stored by the medium. In some embodiments, all or a portion of the main memory214may be integrated into the processor212. In operation, the main memory214may store various software and data used during operation, such as data indicative of power flows at one or more locations in the electrical grid110, one or more models for predicting power flows in the electrical grid110, applications, programs, libraries, and drivers.

The compute engine210is communicatively coupled to other components of the forecast compute device120via the I/O subsystem216, which may be embodied as circuitry and/or components to facilitate input/output operations with the compute engine210(e.g., with the processor212, the forecast logic unit230, the main memory214) and other components of the forecast compute device120. For example, the I/O subsystem216may be embodied as, or otherwise include, memory controller hubs, input/output control hubs, integrated sensor hubs, firmware devices, communication links (e.g., point-to-point links, bus links, wires, cables, light guides, printed circuit board traces, etc.), and/or other components and subsystems to facilitate the input/output operations. In some embodiments, the I/O subsystem216may form a portion of a system-on-a-chip (SoC) and be incorporated, along with one or more of the processor212, the main memory214, and other components of the forecast compute device120, into the compute engine210.

The communication circuitry218may be embodied as any communication circuit, device, or collection thereof, capable of enabling communications over a network between the forecast compute device120and another device (e.g., the client compute device122, components of the electrical grid110, etc). The communication circuitry218may be configured to use any one or more communication technology (e.g., wired or wireless communications) and associated protocols (e.g., Ethernet, Bluetooth®, Wi-Fi®, WiMAX, etc.) to effect such communication.

The illustrative communication circuitry218includes a network interface controller (NIC)220. The NIC220may be embodied as one or more add-in-boards, daughter cards, network interface cards, controller chips, chipsets, or other devices that may be used by the forecast compute device120to connect with another device. In some embodiments, the NIC220may be embodied as part of a system-on-a-chip (SoC) that includes one or more processors, or included on a multichip package that also contains one or more processors. In some embodiments, the NIC220may include a local processor (not shown) and/or a local memory (not shown) that are both local to the NIC220. In such embodiments, the local processor of the NIC220may be capable of performing one or more of the functions of the processor212. Additionally or alternatively, in such embodiments, the local memory of the NIC218may be integrated into one or more components of the forecast compute device120at the board level, socket level, chip level, and/or other levels.

The data storage subsystem222may be embodied as any type of devices configured for short-term or long-term storage of data such as, for example, memory devices and circuits, memory cards, hard disk drives, solid-state drives, or other data storage devices. In the illustrative embodiment, the data storage subsystem includes data collected from the electrical grid110indicative of power flows at multiple locations over time, weather data indicative of weather at the locations of the electrical grid110over time, data indicative of the locations and types of electrical equipment present in the electrical grid110, and data indicative of power producers and power consumers present in the electrical grid110(e.g., defining a topology of the electrical grid110).

The client compute device122may have components similar to those described inFIG. 2with reference to the forecast compute device120. The description of those components of the forecast compute device120is equally applicable to the description of components of the client compute device122, with the exception that, in the illustrative embodiment the client compute device122may not include the forecast logic unit230. Further, it should be appreciated that any of the forecast compute device120and the client compute device122may include other components, sub-components, and devices commonly found in a computing device, which are not discussed above in reference to the forecast compute device120and not discussed herein for clarity of the description. Similarly, the devices140,142,144,146,150,152,154,156,160,170,172,174,176,180,182,184,190,192,194in the electrical grid110may include components similar to those of the forecast compute device120and the client compute device122.

The forecast compute device120, the client compute device122, and the devices140,142,144,146,150,152,154,156,160,170,172,174,176,180,182,184,190,192,194in the electrical grid110are illustratively in communication via the network130, which may be embodied as any type of wired or wireless communication network capable of communicating data, including global networks (e.g., the Internet), local area networks (LANs) or wide area networks (WANs), cellular networks (e.g., Global System for Mobile Communications (GSM), 3G, Long Term Evolution (LTE), Worldwide Interoperability for Microwave Access (WiMAX), etc.), digital subscriber line (DSL) networks, cable networks (e.g., coaxial networks, fiber networks, etc.), or any combination thereof.

Referring now toFIG. 3, the forecast compute device120, in operation may perform a method300for aggregating data from an electrical grid (e.g., the electrical grid110), validating forecasting models for power flows in the electrical grid110, and providing a customized forecast (e.g., to the client compute device122). The method300begins with block302, in which the forecast compute device120determines whether to enable dynamic forecasts (e.g., whether to perform the remainder of the method300). In doing so, the forecast compute device120may determine to enable dynamic forecasting in response to a determination that the forecast compute device120has received a request to enable dynamic forecasting (e.g., from the client compute device122), in response to a determination that the forecast compute device120is equipped with the forecast logic unit230, and/or based on other factors. Regardless, in response to a determination to enable dynamic forecasting, the method300advances to block304, in which the forecast compute device120collects power production data, which may be embodied as any data indicative of power flows at multiple locations in an electrical grid (e.g., in the electrical grid110). In doing so, and as indicated in block306, the forecast compute device120may collect power production data which may be embodied as any data indicative of amounts of power produced at locations in the electrical grid110(e.g., at the power generation plants140,142, the solar power plant144, and the wind power plant146, etc.) over time. As indicated in block308, the forecast compute device120also collects power consumption data, which may be embodied as any data indicative of amounts of power consumed at locations in the electrical grid110(e.g., houses150,152, the office building154, and the factory158) over time. Additionally, as indicated in block310, the forecast compute device120, in the illustrative embodiment, collects data from one or more feeders190,192,194(e.g., data indicative of power flows into the feeder, data indicative of power flows out of the feeder, and data indicative of power lost due to inefficiencies in electrical equipment associated with the feeder).

As indicated in block312, the forecast compute device120stores, in association with the collected data, metadata (e.g., tags) indicative of attributes of the sources of the collected data. For example, and as indicated in block314, the forecast compute device120may store metadata indicative of a location in the electrical grid110where sets of received data were produced (e.g., by associating Internet Protocol addresses of devices in the electrical grid110that sent data to the forecast compute device120with corresponding location data, which may be embodied as geographic coordinates or other identifiers indicative of locations within the electrical grid110). As indicated in block316, the forecast compute device120may store metadata indicative of a type of electrical equipment (e.g., transformers, power quality devices, flow control devices, etc.) associated with the location where the collected data was produced. As indicated in block318, the forecast compute device120may store metadata indicative of electrical equipment that produces power (e.g., data indicative of the specific type of equipment associated with power production at a particular location). For example, and as indicated in block320, the forecast compute device120may store metadata indicative of photovoltaic cell(s) associated with a location (e.g., the location of the solar power plant144). Similarly, as indicated in block322, the forecast compute device120may store metadata indicative of wind turbine(s) associated with a location (e.g., the location of the wind power plant146). As indicated in block324, the forecast compute device120may store metadata indicative of one or more energy storage devices associated with a location or locations (e.g., the locations of the energy storage devices170,172,174,176). As indicated in block326, the forecast compute device120, in the illustrative embodiment, stores metadata indicative of electrical equipment that consumes power (e.g., locations of houses150,152, the factory158, the office buildings154,156, etc.). Further, the forecast compute device120, in the illustrative embodiment, stores metadata indicative of devices (transformers, power quality devices, flow control devices, etc.) that cause power losses associated with feeders (e.g., losses that may be accounted for when summing the power flows at feeders), as indicated in block328. Additionally, the forecast compute device120may store weather data (e.g., temperature, atmospheric conditions, wind speed and direction, sunlight duration and intensity, etc.) associated with locations in the electrical grid110, as indicated in block330. In some embodiments, the forecast compute device120may collect additional data, including data indicative of a configuration of the electrical grid (e.g., a network topology), a capacity of the electrical grid (e.g., nameplate rating(s)), a state of the electrical grid (e.g., breaker settings), and/or an expert assessment of the electrical grid (e.g., maintenance records). Subsequently, the method300advances to block332ofFIG. 4, in which the forecast compute device120receives (e.g., from the client compute device122) one or more parameters usable in the generation of a customized forecast indicative of predicted power flows in the electrical grid (e.g., in one or more specific portions of the electrical grid110) over a defined time period.

Referring now toFIG. 4, in receiving the one or more parameters, the forecast compute device120may receive parameters indicative of one or more locations in the electrical grid to which the forecast should relate (e.g., a geographic region), as indicated in block334. As indicated in block336, the forecast compute device120may additionally or alternatively receive parameters indicative of one or more types of electrical equipment to which the forecast should relate (e.g., a forecast pertaining specifically to energy produced by and consumed from the solar power plant144). The forecast compute device120may receive parameters indicative of one or more consumers of power to which the forecast should relate (e.g., a forecast pertaining specifically to power produced for and consumed by the house150and the office building156), as indicated in block338. As indicated in block340, the forecast compute device120may receive parameters indicative of one or more producers of power to which the forecast should relate (e.g., a forecast pertaining specifically to power produced by power plants140,144,146). Additionally or alternatively, the forecast compute device120may receive parameters indicative of one or more feeders to which the forecast should relate (e.g., a forecast pertaining specifically to power provided to and consumed from the feeder190), as indicated in block342. Subsequently, in block344, the forecast compute device120selects a subset of the collected data (e.g., from block304) that satisfies the parameter(s) (e.g., the parameter(s) from block332). In doing so, and as indicated in block346, the forecast compute device120selects a subset of the collected data that is associated with metadata that matches (e.g., contains key words or other data indicative of) the parameter(s). Subsequently, the method300advances to block348ofFIG. 5, in which the forecast compute device120produces one or more models (e.g., each a mathematical relationship or the like between an independent variable, such as time, and a dependent variable, such as power production and consumption) from the selected subset of the collected data to predict power flows in the electrical grid110.

Referring now toFIG. 5, in producing one or more models, the forecast compute device120may identify a trend in power flows for the selected subset of the collected data (e.g., the subset selected in block344ofFIG. 4), as indicated in block350. Further, and as indicated in block352, the forecast compute device120may identify effects of weather on power flows for the selected subset of the data (e.g., increases in power production and consumption when the temperature deviates from a reference temperature by a particular amount). In the illustrative embodiment, the forecast compute device120performs a validation of any models that have been produced, as indicated in block354. In doing so, and as indicated in block356, the forecast compute device120applies Kirchhoff's first law to determine whether a predicted production of power (e.g., a prediction made by the model as to an amount of power that will be produced) minus predicted losses (e.g., a prediction as to the amount of power will be lost due to inefficiencies in known electrical equipment in the electrical grid110) is within a predefined range (e.g., plus or minus 1%) of a predicted consumption of power at one or more locations (e.g., one or more locations in the electrical grid110that pertain to the subset of the collected data) in the electrical grid110. For example, and as indicated in block358, the forecast compute device120may apply Kirchhoff's first law for one or more feeders the in the electrical grid110if the one or more feeders are associated with the selected parameters (e.g., if power production and consumption data associated with the one or more feeders is represented in the subset of the collected data). In block360, if multiple models were produced, the forecast compute device120may identify one of the models from the set of produced models that provides the most accurate prediction of power flows based on historical power flows represented in the collected data. In other words, the forecast compute device120uses each model to predict power production and consumption data for a previous time period for which the actual power production and consumption data is already known and determines an accuracy with which the model predicted the actual power production and consumption.

In block362, the forecast compute device120determines the subsequent course of action based on whether at least one validated model is available (e.g., validated using the operations associated with block354). If so, the method300advances to block364, in which the forecast compute device120produces, with a validated model, a forecast of predicted power flows (e.g., predicted production and predicted consumption) for the defined time period (e.g., a future time period for which the requested forecast is to be generated) based on the parameters (e.g., the parameters from block332). In doing so, and as indicated in block366, if multiple validated models are available, the forecast compute device120produces the forecast with the model that provided the most accurate prediction from the historical power flows represented in the collected data (e.g., the model identified as the most accurate in block360). After the forecast is produced, the forecast compute device120may provide the forecast to a requesting device (e.g., the client compute device122) such as by sending data indicative of the forecast to the requesting device through the network130.

Referring back to block362, if the forecast compute device120determines that no validated models are available, the method300instead branches to block368in which the forecast compute device120produces an error message indicating that the collected data is erroneous or incomplete. For example, the forecast compute device120may produce an error message indicating that collected data pertaining to electrical equipment present in the electrical grid is erroneous or incomplete (e.g., collected data indicative of the topology of the electrical grid110is missing data regarding electrical equipment that is present and causing losses). In response, an operator of the forecast compute device120may provide the missing data to the forecast compute device120to enable the forecast compute device120to produce models that satisfy the validation process of block354(e.g., models that satisfy Kirchhoff's first law). Subsequently, either after a forecast is produced in block364or after an error message is produced in block368, the method300may loop back to block302ofFIG. 3in which the forecast compute device120may determine whether to continue to enable dynamic forecasting.

While certain illustrative embodiments have been described in detail in the drawings and the foregoing description, such an illustration and description is to be considered as exemplary and not restrictive in character, it being understood that only illustrative embodiments have been shown and described and that all changes and modifications that come within the spirit of the disclosure are desired to be protected. There exist a plurality of advantages of the present disclosure arising from the various features of the apparatus, systems, and methods described herein. It will be noted that alternative embodiments of the apparatus, systems, and methods of the present disclosure may not include all of the features described, yet still benefit from at least some of the advantages of such features. Those of ordinary skill in the art may readily devise their own implementations of the apparatus, systems, and methods that incorporate one or more of the features of the present disclosure.