-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmge.html
196 lines (174 loc) · 9.21 KB
/
mge.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>MISO - Madison Gas and Electric</title>
<link rel="stylesheet" href="css/style.css" media="screen" type="text/css" />
<link rel="stylesheet" type="text/css" media="screen, print" href="css/slickmap.css" />
<script type="text/javascript"
src="js/dygraph-combined.js"></script>
</head>
<body>
<center><div id="title">Madison Gas & Electric</div></center>
<p>
The major transmission networks in North America are currently divided into ten
ISOs which run the wholesale electricity markets across the country. The Midwest
Independent System Operator (MISO) is the designated ISO for the Midwest United
States and Maintoba, Canada, which began market operation in 2005. In 2011,
the value of the real time load cleared was $18 billion. This money is dispersed to
generating assets, transmission improvements, wind integration, long term planning,
and to run MISO. The pricing scenarios used in this paper will be taken from MISO’s
market data. MISO’s mission is to ensure reliable, least-cost delivered electricity for
consumers.
</p>
<h3>Summary</h3>
<p>
Here are the wholesale prices for utilitiy Madison Gas and Electric. The prices on the grid are decided by an independent entity know as Midwest Independent Systems Operators (MISO). They clear the market for bulk electricity in two stages, a day-ahead market and a real-time market. The real-time market is on a rolling 5 minute basis, so every 5 minutes they have to clear a market which involves finance calculations and more differently power flow equations. The day-ahead market is difficult as well and is more about strategic decisions for the future uncertain demand.
<div id="wrap">
<center>
<div id="graphdiv"></div>
<p class="cmds"><b>Show Series:</b></p>
<input type=checkbox id="0" checked onClick="change(this)">
<label for="0"> Day-Ahead</label></br>
<input type=checkbox id="1" onClick="change(this)">
<label for="1"> Real-Time</label></br>
<input type=checkbox id="2" checked onClick="change(this)">
<label for="2"> Residential</label>
<p class="cmds"><b>Rolling Averages:</b></p>
<p class="padd">
<a href="#" id="day" onClick="daily()">Daily</a>
<a href="#" id="week" onClick="weekly()">Weekly</a>
<a href="#" id="month" onClick="monthly()">Monthly</a>
<a href="#" id="year" onClick="yearly()">Yearly</a>
</p>
<div id="datanote">
<a href="data/mge-full.txt">Data</a>
<a href="mge-export.html">Export Graph</a>
</div>
</center>
</div>
<h3>Interesting Features</h3>
<ul>
<li>The period before the recession (2006 - mid 2008) has much higher volatility than the following period (mid 2008 - 2014)</li>
<ul>
<li>One possible explanation is a change in the generation portfolio. The prices never recover after the recession, however (I have yet to check) the demand most likely recovers so the lower prices are most likely due to lower natural gas prices. This lowers the cost of generators with ramping capability which makes peak times relatively less costly. </li>
<li>To investigate, need total demand data as well as generator mix data</li>
</ul>
<li>The first quarter of 2014 has large price spikes, which follow a period of relatively low volatility</li>
<ul>
<li>What happened? Long term generator outages? Unplanned shut down of plants? Long term line outages? Unplanned loss of lines? Wholesale fuel prices? </li>
</ul>
<li>Using the yearly rolling averages, it can be seen that the residential rates are consistently climbing while wholesale prices have fallen and stayed low over the same period</li>
<ul>
<li>Is there an explanation for this? Renewable targets? Building new generators? Infrastructure development? </li>
<li>Only around 1/4 of it their power demanded is purchased electricity, its average weighted cost of electricity will only be partially affected by the wholesale prices of electricity.</li>
</ul>
</ul>
<h3>Graph Explanation</h3>
<p>
This graph displays the time-series prices for the day-ahead and real-time prices for Madison Gas & Electric. These are the prices determined by an optimization routine done by the Midwest Independent System Operator (MISO) in order to determine a least cost supply of power to meet demand and maintain given reliability standards. The day-ahead prices are determined, you got it, a day in advance. The generators submit there bid offers and the demand is estimated using a forecasting procedure. The <b>day-ahead problem</b> has two complicating elements and determines hourly prices for the following day. First, MISO needs to determine which generators to have online throughout the next day. Second, they need to ensure they are N-1 secure in order to meet requirements set by the Federal Energy Regulatory Commision (FERC). N-1 secure means that the power grid is capable of withstanding any one power line or generator going down and not disrupting load. They must also be able to move to an operating point in which no lines are overloaded within a given time frame. Since the day-ahead problem is scheduled to forecast, the <b>real-time problem</b> must make up for errors in forecast as well as unforeseen events such as a power line or generator outage. This is done on a 5 minute basis, that is, every 5 minutes the new supply offers are cleared with the realized real-time demand.
</p>
<p>
Each day is represented by its average price for both the real-time and day-ahead prices. The region between the maximum price and the minimum price for any day is shaded to represent the prices it took on any given day.
</p>
<h3>Congestion?</h3>
LMP is Locational Marginal Price <br/>
MCC is Cost of Congestion component of LMP <br/>
MLC is Loss component of LMP <br/>
<a name="graphtwo"></a>
<div id="wrap">
<center>
<div id="graph2"></div>
<p class="cmds"><b>Show Series:</b></p>
<table><tr><td>
<input type=checkbox id="0" checked onClick="change2(this)">
<label for="0"> Day-Ahead LMP</label></br>
<input type=checkbox id="1" checked onClick="change2(this)">
<label for="1"> Day-Ahead MCC</label></br>
<input type=checkbox id="2" checked onClick="change2(this)">
<label for="2"> Day-Ahead MLC</label><br/>
</td><td>
<input type=checkbox id="3" onClick="change2(this)">
<label for="3"> Real-Time LMP</label></br>
<input type=checkbox id="4" onClick="change2(this)">
<label for="4"> Real-Time MCC</label></br>
<input type=checkbox id="5" onClick="change2(this)">
<label for="5"> Real-Time MLC</label>
</td></tr></table>
</p>
<p class="cmds"><b>Rolling Averages:</b></p>
<p class="padd">
<a href="#graphtwo" id="day" onClick="daily2()">Daily</a>
<a href="#graphtwo" id="week" onClick="weekly2()">Weekly</a>
<a href="#graphtwo" id="month" onClick="monthly2()">Monthly</a>
<a href="#graphtwo" id="year" onClick="yearly2()">Yearly</a>
</p>
<div id="datanote">
<a href="data/cong.txt">Data</a>
</div>
</center>
</div>
<h3>Citations</h3>
<div id="lilnum">[1] MGE's Generation Assets</div>
<blockquote cite="http://www.mge.com/about-mge/electricity/elec-from.htm">
<p>
Here is MGE's current electricity production portfolio from the source themselves.
</p>
<footer>
-<a href="http://www.mge.com/about-mge/electricity/elec-from.htm">MGE's current sourcing</a>
</footer>
</blockquote>
<!--#include file="footer.html" -->
<script type="text/javascript">
g2 = new Dygraph(
document.getElementById("graphdiv"),
"data/mge-full.txt", // path to CSV file
{
rollPeriod: 7,
showRoller: true,
customBars: true,
ylabel: 'Price ($/MW)',
showRangeSelector: true,
visibility: [true, false, true],
title: 'Time-Series of Wholesale Prices for MGE'
} // options
);
g3 = new Dygraph(
document.getElementById("graph2"),
"data/cong.txt", // path to CSV file
{
rollPeriod: 7,
showRoller: true,
customBars: true,
ylabel: 'Price ($/MW)',
showRangeSelector: true,
visibility: [true, true, true, false, false, false],
title: 'LMP Breakdown for MGE'
} // options
);
setStatus();
function setStatus() {
document.getElementById("visibility").innerHTML =
g2.visibility().toString();
document.getElementById("visibility").innerHTML =
g3.visibility().toString();
}
function change(el) {
g2.setVisibility(parseInt(el.id), el.checked);;
setStatus();
}
function daily() { g2.updateOptions({rollPeriod: 1}); };
function weekly() { g2.updateOptions({rollPeriod: 7}); };
function monthly() { g2.updateOptions({rollPeriod: 30}); };
function yearly() { g2.updateOptions({rollPeriod: 365}); };
function change2(el) {
g3.setVisibility(parseInt(el.id), el.checked);;
setStatus();
}
function daily2() { g3.updateOptions({rollPeriod: 1}); };
function weekly2() { g3.updateOptions({rollPeriod: 7}); };
function monthly2() { g3.updateOptions({rollPeriod: 30}); };
function yearly2() { g3.updateOptions({rollPeriod: 365}); };
</script>
</body>
</html>