SMART-ISO

SMART-ISO is a stochastic, multiscale model of grid operations under development at PENSA, which is currently being built around the full PJM grid. The purpose of this website is to provide ongoing documentation of what we have accomplished, what we are working on and features that we hope to develop in the near future. (If you have been to this website before, be sure to hit your refresh button to ensure you have the latest version.)

We recently made a major revision to the modeling of unit commitment decisions during the day. The old logic solved a unit commitment each hour, planning an hour to two hours in advance. The new logic exactly matches the process used at PJM. The change appears to have significantly improved the modeling of LMPs, especially during the peak month of July. Click on the "calibration and validation" link below.

Study of offshore wind (with U. Delaware) (new! April, 2015)

Papers describing offshore wind study:

Part I: Methodology for forecasting offshore wind

Part II: Description of SMART-ISO, and results of the offshore wind study

The SMART-ISO development team

SMART-ISO is intended to be a highly detailed simulator of the PJM power grid, with special care given to the flow of information and the handling of uncertainty. SMART-ISO is much more than a "stochastic unit commitment model" which has received so much attention in the literature. It will simulate day-ahead and hour-ahead commitment and generation decisons, in addition to real-time economic dispatch at 5-minute intervals. SMART-ISO is intended as a simulator for performing a wide range of policy studies. It might also be used as a test environment for models and algorithms that might be used in production. It is currently using the full PJM power grid (over 9,000 buses and 14,000 transmission lines in 2010).

A major feature of SMART-ISO will be the correct handling of different forms of uncertainty, in addition to the careful modeling of the dynamics of generators such as steam and gas turbines. We pay special attention to the difference between when we make a decision (which determines the information available) and the actionable time (when the decision would be implemented). We carefully distinguish between decisions in the future that will be implemented (e.g. day-ahead decisions on steam generation) and decisions that we use purely for planning purposes (such as day-ahead plans of natural gas combustion turbine).

It is the goal that our effort be completely transparent. We will be doing our best to carefully document what we are doing. Due to confidentiality of some of the data, we will not be able to share the model at this time, but we are hoping to provide public access to the model, perhaps through a web site.

We have been putting a lot of work into calibrating SMART-ISO against historical activities from PJM. As of this writing, we have two forms of calibration: matching the pattern of LMPs., and matching generation across different sources.

The latest version of the model, with the more accurate modeling of PJM's IT-SCED unit commitment model, appears to be reproducing the pattern of LMPs quite well.

**Pattern of LMPs**

We recently completed a major rewrite of the "hour ahead" unit commitment model, which appears to have produced a major improvement in the modeling of LMPs when compared against historical values. The new logic, shown immediately below, closely matches the PJM IT-SCED logic. IT-SCED is run 15 minutes before and after the hour. The 1:15 run, for example, models the system from 1:30 to 3:30. We look at when each generator is planned to be turned on in this interval, and subtract off the notification time (plus ramp up time). If this time falls within the interval 1:30 to 2:00, the generator is turned on.

The old logic would run a unit commitment model (for gas turbines) each hour. The run at 1pm would plan from 2pm to 3pm. Any generator that was turned on during this period would be committed. Notification times were ignored. The LMPs using this old logic are shown below the latest LMPs.

The results appear to show that the more accurate model produces more accurate LMPs. In particular, look at the latest results for July, and compare to the previous results for July. The more accurate model appears to significantly improve the pattern of LMPs when compared against history.

**Actual vs. simulated LMPs using the new logic that closely matches PJM's IT-SCED process:**

**Actual vs simulated LMPs using the old hourly unit commitment models:**

**Generation patterns**

Our first comparison is the distribution of generation across different types of generation, including gas turbines, pumped hydro, a tiny amount of hydro, combined cycle, steam and nuclear. On the left is the historical behavior, derived from the actual generation from PJM but restricted to the generators which we are able to map to the grid (about 93 percent of the total).

On the right is the distribution of generation from the model, where now we are running enough generation to cover the entire (actual) load. The plot on the left is slightly lower because we were not able to map all of the generators to the grid.

Note the pattern of pumped hydro, which is charged at night (the bit of blue at night). SMART-ISO initially plans the pumped hydro using a 48 hour look-ahead model, but the actual pumped hydro comes the hour-ahead model, which required the use of approximation dynamic programming to capture the value of water in the reservoir (without this, the model would simply use all the water right away, rather than waiting until the peak period). The simulated activities are those produced by the economic dispatch model that is run every five minutes.

These graphis required about six months of work. Not perfect, but pretty close.

**Study of off-shore wind for the mid-Atlantic region**

We have completed a careful study of off-shore wind integration with Willett Kempton and Cristina Archer at the University of Delaware (funded by DOE through the University of Delaware). Hundreds of simulations were conducted to design robust policies, and test the limits of offshore wind. Features of the study include:

o Five buildout levels were designed, ranging from 8 to 78 GW of capacity.

o We used the accuracy of on-shore forecasts, provided by PJM, to build a stochastic model of the errors in a wind forecast.

o WRF, a popular meteorological model, was used to produce weather simulations for the offshore region, using realistic rolling 48-hour simulations. We created weather patterns for three weeks in each of four months, including January, April, July and October. The stochastic error model was then used to create 7 sample paths for each simulated week, creating 84 sample paths altogether. The WRF simulations for each buildout level, for each month, are shown below.

o Hundreds of simulations of SMART-ISO were run, first to determine the reserves needed to deal with uncertainty. We found the minimum reserve level for each of the four months, for each buildout level.

o Given the reserve levels, we then simulated all 84 sample paths for each of the five buildout levels. We found that we could cover the entire load, for each of the 84 for sample paths, for all build levels, for January, April and October. Using existing generator fleets, we encountered outages in roughly 20 percent of the scenarios for buildout levels 4 and 5, for the month of July only. This means that we could cover the entire load, for all scenarios, for all months, up to buildout level 3 (40 GW).

Papers describing offshore wind study:

Part I: Methodology for forecasting offshore wind

Part II: Description of SMART-ISO, and results of the offshore wind study

**Features (current and planned)**

At this stage, it would be accurate to say that all aspects of the model are still under development. However, a version of the model is running. We are currently undertaking a major code revision that will give us the following features:

- The day-ahead, hour-ahead and real-time decision functions will be handled by the same code governed by inputs that control its behavior. The code will handle the ability to run the system at time t (say, noon on one day, or a particular hour) to plan activities over a window t' (say, midnight tonight), until time t'' (say, midnight tomorrow). We might run the model at 2pm to plan generation between 3 and 4pm.
- Decisions during the initial window t to t' are limited by prior plans. We may make small adjustments (reflecting our ability to tap spinning reserve, for example) but we are not allowed to revise on/off decisions.
- This structure allows us to correctly model the difference between when we make a decision (e.g. at noon one day, or at 2pm) to plan for time periods in the future. This means that we have to plan our way from noon today until midnight today before starting our planning. For complex problems such as the day-ahead unit commitment, we will use a single expectation of exogenous events (wind, weather) from t until t' (noon to midnight).
- Our decision function will use quantile optimization to produce robust solutions. This is an alternative to the popular (but expensive) use of scenarios. We believe quantile optimization, which produces a modified, deterministic solution, offers a more practical approach for a simulator since the quantiles can be chosen to produce good solutions over an extremely large number of scenarios.
- This structure allows SMART-ISO to capture the flow of information in a precise way.

Below, we list features that are in the model (even if they are still going through enhancements) and then list planned features which we anticipate will be running within the next 12 months.

Current features:

- We are using the full PJM power grid, with 10,000 buses and 14,000 transmission lines, but this network can be aggregated upward using a simple parameter setting. If we run the network at, say, a 220kV level, algorithms are used to map transformers on 69kV lines to the nearest 235kV transformers.
- We are in the process of integrating data purchased from Ventyx to describe the PJM generation fleet. This is a work in progress - at this stage we are representing approximately 60 percent of PJM generation capacity, based on comparisons with PJM bid data.
- Day-ahead unit commitment - This is an integer programming model which uses tunable parameters for spinning reserve and wind to produce a robust solution that can be tuned the next day using the hour-ahead and real-time economic dispatch models. This model uses the DC approximation of power flow within the integer program to produce solutions that are transmission-feasible. Initial experimentation has been conducted to tune the parameters to produce the best robust solution. We anticipate that the design of robust day-ahead logic will be an ongoing research project (see planned features below).
- Hour-ahead generation planning - The hour-ahead model assumes a perfect forecast of wind (as of this writing). It fixes day-ahead decisions for nuclear as well as coal and natural gas steam generators. It is allowed to plan natural gas combustion turbine generators in five-minute increments, as well as the use of spinning reserve.
- Locational marginal prices - Currently we are producing only day-ahead LMPs. These are coming in at about the right level, but lack the volatility of real LMP's.

- Real-time economic dispatch - We intend to implement a linear programming model to make last minute adjustments to anticipate actual (vs forecasted) loads, energy from wind (and solar), generator failures and other adjustments to the grid. When we implement real-time economic dispatch, the hour-ahead model will be switched from using actual to forecasts of wind, loads, etc.
- Real-time LMP's - We anticipate generating real-time LMP's when we implement the real-time economic dispatch model. Our goal is to try to match the volatility of actual LMP's. To do this, we are planning on introducing different forms of noise into loads, generation and possibly transmission.
- Accurate modeling of off-shore wind - We anticipate having an accurate stochastic model of the errors from forecasting wind, capturing both amplitude (quantity) and temporal errors that arise from meteorological models such as WRF.

- Robust day-ahead policies - We are working on quantile optimization for producing robust solutions from the day-ahead model. This strategy still involves solving a modified (deterministic) integer program, but we anticipate that it will produce lower cost solutions when we simulate real-time operations the next day.

To see an animation of SMART-ISO, click here (warning - this is a 50 meg file). The animation is generated using PILOTVIEW 5.1, a package developed at CASTLE Lab for animating complex, dynamic flows (originally developed for our work in transportation).

This animation is generated from a run of SMART-ISO that still does not have grid constraints in the day-ahead and hour-ahead policies. This is because problems with our grid model are preventing us from obtaining a feasible solution at the moment. We use an unconstrained grid, and then evaluate loads on the links relative to rated capacities, which is how some links can be over capacity. The simulation also uses some simulated wind (shown as green circles along the coast) which generate more energy than the coastal grid can handle. We hope to resolve the issues with the grid later this fall.

Legend:

Rectangles depict flow over the network:

Light blue - Line is at less than 75 percent of capacity.

Darker blue - Line is between 75 and 100 percent of capacity.

Yellow - Line is between 100 and 125 percent of capacity

Red - Line is over 125 percent of capacity

Circles depict generation or loads

Yellow - Loads

Purple - Nuclear generation

Red - Gas turbine or combined cycle

Gray - Steam

Green - Wind

The grid - We use the 2010 PJM transmission grid. Though we can use the full grid, in general we include the 69kV transmission lines and higher. SMART-ISO makes it possible to streamline the grid by limiting it to higher level transmission lines. Algorithms are used to map nodes on lower level voltage lines to the closest bus on the reduced size network being modeled.

Generators - After starting with generators described by PJM bid data, we purchased a dataset from Ventyx in 2011 to get more reliable cost and engineering information. We have completed the process of merging the Ventyx data with the PJM network, and now feel that we have a complete and accurate set of data.

Although the Ventyx data included ramp rates, we found that they were not accurate for a model stepping in five-minute increments. Instead, we used actual generator data from PJM to estimate ramp rates at the five-minute level. Many of these ramp rates were much faster than those estimated by Ventyx (which averaged changes over an hour rather than five minutes). We were also able to capture behaviors such as seasonal variations in production (gas turbines are more productive in cold weather than hot weather).

Loads - We now have loads for every five minutes for all of 2010.

Grid capacity - We believe that the grid data is generally quite good, but we are currently having some problems finding feasible solutions. We will use our Pilotview diagonstic tool to identify and correct what appear to be problems with some specific links in the network.

The major components of the system include:

Data components:

- Generators
- Loads (forecasted or historical)
- The PJM transmission grid
- Forecasts of any new components to be added and tested in the system (like, for instance, wind or solar generation, EV loads etc.)

Analytical components

- DC power flow equations for use by the integer programming models
- AC power flow algorithm
- Integer programming model for the day-ahead unit commitment problem - This model is assumed to be solved at noon each day, modeling midnight to midnight of the next day in hourly increments.
- Integer programming model for the hour-ahead generator planning problem - This model is solved hourly, and represents time in five-minute increments so that it can accurately model variations in wind and ramp rates for natural gas combustion turbine.
- Simulation model for the actual operation of the system – This model steps through time in five-minute increments, simulating the implementation and evaluating the actual performance of the generation plans (currently day-ahead and hour-ahead), vis-à-vis a set of realizations of events (loads, wind and solar generation, outages etc.).

We now have a single module that is used to solve the day-ahead, hour-ahead and real-time components. The module adjusts to each setting through the inputs. For example, both the day-ahead and hour-ahead planning problems require running the model at a time t, to plan a window from t' to t''. For example, we may run the model simulating what we know at noon to plan generation tomorrow (midnight to midnight) in hourly increments. For the hour-ahead model, we might run the model at 2pm to plan the window 3-4pm in five minute increments. For the real-time economic dispatch (five minute horizon) we are just running the power flow model.

A major feature of SMART-ISO is its handling of uncertainty. Considerable attention has been given in the research community to the "stochastic unit commitment problem" where models use a set of scenarios to handle different events that may happen tomorrow (this algorithmic strategy is known as "stochastic programming"). Instead of a single integer program optimized for a single future, stochastic programming models optimize over multiple scenarios, often producing very large scale integer programming models that need the power of a supercomputer.

SMART-ISO is first and foremost a simulator, which simulates *policies* for making day-ahead, hour-ahead and real-time decisions. When a decision (such as day-ahead and hour-ahead) affects the future, we have to design a policy to handle the uncertainties in our forecasts. One goal of SMART-ISO will be to develop and compare different classes of policies for working with uncertainty. Stochastic programming is one class of lookahead policy. Since we wish to simulate these policies over many time periods, computational speed matters, and we will be looking for robust policies that are much easier to solve than the stochastic programming algorithms.

Separate from the design of a policy (an algorithmic challenge) is the *modeling* of uncertainty. If we think of a policy as a black box for making day-ahead, hour-ahead and real-time decisions, we then have to think about how to model both the dynamics of the physical system (e.g. ramp rates), as well as the dynamics of uncertain events such as wind, solar, loads, and network performance.

We will put considerable care into the proper modeling of forecasts of exogenous events such as wind, and the need to do advance planning, such as day-ahead planning of steam generation, planning of gas turbines over 5 to 60 minute horizons, in addition to different forms of demand response which might require advance notification of several hours to a few minutes (or nothing at all). For example, we are developing models of *forecast error* for wind which captures both amplitude (quantity) and temporal errors. Temporal errors arise when we forecast an increase/decrease in wind due to the arrival of a high or low pressure zone, but where the timing is wrong.

We anticipate modeling the following types of uncertainty:

- Energy from renewables (wind and solar) - A version of this is already running, but more sophisticated models are planned.
- Loads (due to errors in our ability to forecast weather)
- Generator failures
- Transmission failures

A summary of SMART-ISO (no equations) is given in

**The SMART-ISO development team**

SMART-ISO is being developed under the direction of Professor Warren Powell, director of PENSA.

The lead developer was Dr. Hugo Simao, who wrote the code (building on some initial programming by two undergradates - Kevin Kim and Steven Chen).

We would like to thank Dr. Marcos Filho who developed and calibrated the real-time AC power flow.

The students:

The first version of the model was largely written by undergraduates in the Department of Operations Research and Financial Engineering at Princeton, primarily as part of their senior thesis research, with significant additions made by teams of undergraduates working as summer interns at PENSA under the supervision of Hugo and Boris. Major contributors include:

Jessica Zhou - Jess wrote the very first version of the model for her senior thesis, including a full simulator with day-ahead and hour-ahead logic.

Kevin Kim - Kevin worked on the day-ahead unit commitment model as a summer intern and then for his senior thesis.

Steven Chen - Steve rewrote the hour-ahead model, introducing an integer program for planning natural gas generators in five-minute increments using a model that was solved hourly.

Daniel Dix - Daniel developed a powerful set of graphical utilities that helped with the mapping of the PJM load and generator data to the PJM grid.

Austin Wang - Austin started in the summer before his freshman year and provided significant assistance with the process of mapping generator and load data to the PJM grid.

Ashish Gupta - Ashish developed a powerful set of machine learning algorithms that played a central role in our ability to map PJM generator and load data to the PJM grid, which used independent node numbering systems.