Forecasting

America’s Finest 2018 ISO Forecasting Summit

June 27, 2018

San Diego’s slogan is “America’s Finest City” and being fortunate enough to call this place my home for the past seven years, I see why. It has a little something for everyone – natural beauty, mild weather, great beaches, tons of water sports, exceptional dining, cool shops, fun sights, cultural and historical institutions, plenty of breweries, heaps of kid-approved attractions, and the list goes on and on. I’m not trying to sell any readers on why San Diego is such a great place—I think it speaks for itself. But what made San Diego particularly special this past May 15 through 17 is that it was the destination for this year’s 12th annual ISO/RTO/TSO Forecasting Summit. Attendees from most of the North American and Australian ISO/RTO/TSO organizations gathered to discuss and share insights into the forecasting challenges facing today’s industry.

Mike Wu (CAISO), Hui Zheng (MISO), Andrew Gledhill (PJM), Victoria Rojo (ISO-NE), Molly Mooney (PJM), and Joe Mulhern (PJM) presented on the various modeling approaches they use to improve forecast accuracy of loads, embedded solar generation, renewable curtailments and energy efficiency. Jack Fox (AEMO) and Steve Disano (AEMO) gave everyone food for thought by sharing how they use Bayesian Belief Networks to better forecast required reserve levels. Frank Monforte (Itron) demystified machine learning by walking through a few examples, demonstrating to everyone that improved forecast accuracy isn’t accomplished through fancy algorithms, but rather through experience and a profound sense for what data and variables are relevant and useful in constructing forecast models.

While those presentations reminded us of the increasing pressure and expectation to have more accurate forecasts, Arthur Maniaci (NYISO) and Andrew Trachsell (IESO) discussed the load implications we might expect from increased cryptocurrency mining and recreational marijuana farming. Mark Taylor (NYISO) demonstrated the value in leveraging historical data to make better informed decisions when refining load forecasts in times of extreme weather, while Lars Renborg (AESO) and Grant Freudenthaler (AESO) educed discussions on challenges and best practices in defining a typical weather year and forecasting individual customer loads.

Finally, John Reynolds (PJM), Frank Monforte (Itron) and I offered insight into the direction the industry is heading. John illustrated the potential impacts of plug-in electric vehicles as they become more prevalent. Frank proposed a potential solution to forecasting loads in this age of increasing distributed generation and I presented recent energy trends in North America since the Great Recession.

From the presentations to the stimulating discussions to the good food and everything in between, San Diego truly was “America’s Finest City” that week. It’s undoubtedly going to be tough to top it next year, but I think everyone is up for the challenge.

Wystąpił błąd podczas przetwarzania szablonu.
The following has evaluated to null or missing:
==> authorContent.contentFields  [in template "44616#44647#114455" at line 9, column 17]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: contentFields = authorContent.content...  [in template "44616#44647#114455" at line 9, column 1]
----
1<#assign 
2	webContentData = jsonFactoryUtil.createJSONObject(author.getData()) 
3	classPK = webContentData.classPK 
4/> 
5 
6<#assign 
7authorContent = restClient.get("/headless-delivery/v1.0/structured-contents/" + classPK + "?fields=contentFields%2CfriendlyUrlPath%2CtaxonomyCategoryBriefs") 
8contentFields = authorContent.contentFields 
9categories=authorContent.taxonomyCategoryBriefs 
10authorContentData = jsonFactoryUtil.createJSONObject(authorContent) 
11friendlyURL = authorContentData.friendlyUrlPath 
12authorCategoryId = "0" 
13/> 
14 
15<#list contentFields as contentField > 
16   <#assign  
17	 contentFieldData = jsonFactoryUtil.createJSONObject(contentField)  
18	 name = contentField.name 
19	 /> 
20	 <#if name == 'authorImage'> 
21	    <#if (contentField.contentFieldValue.image)??> 
22	        <#assign authorImageURL = contentField.contentFieldValue.image.contentUrl />	 
23			</#if> 
24	 </#if> 
25	 <#if name == 'authorName'> 
26	    <#assign authorName = contentField.contentFieldValue.data /> 
27			<#list categories as category > 
28         <#if authorName == category.taxonomyCategoryName> 
29				     <#assign authorCategoryId = category.taxonomyCategoryId /> 
30				 </#if> 
31      </#list> 
32	 </#if> 
33	 <#if name == 'authorDescription'> 
34	    <#assign authorDescription = contentField.contentFieldValue.data /> 
35			 
36	 </#if> 
37	  
38	 <#if name == 'authorJobTitle'> 
39	    <#assign authorJobTitle = contentField.contentFieldValue.data /> 
40			 
41	 </#if> 
42 
43</#list> 
44 
45<div class="blog-author-info"> 
46	<#if authorImageURL??> 
47		<img class="blog-author-img" id="author-image" src="${authorImageURL}" alt="" /> 
48	</#if> 
49	<#if authorName??> 
50		<#if authorName != ""> 
51			<p class="blog-author-name">By <a id="author-detail-page" href="/w/${friendlyURL}?filter_category_552298=${authorCategoryId}"><span id="author-full-name">${authorName}</span></a></p> 
52			<hr /> 
53		</#if> 
54	</#if> 
55	<#if authorJobTitle??> 
56		<#if authorJobTitle != ""> 
57			<p class="blog-author-title" id="author-job-title" >${authorJobTitle}</p> 
58			<hr /> 
59		</#if> 
60	</#if> 
61	<#if authorDescription??> 
62		<#if authorDescription != "" && authorDescription != "null" > 
63			<p class="blog-author-desc" id="author-job-desc">${authorDescription}</p> 
64			<hr /> 
65		</#if> 
66	</#if> 
67</div>