Industry Insights

A Million Solar Rooftops and Counting... California Researches Grid Integration

March 28, 2017

At social events and dinner parties I no longer find myself having to explain at length to polite inquiries on what I do, as long as I utter the magic words “solar.” At that point all other cognition stops and the inevitable question I get is “Should I install solar on my house? This sales rep from XYX Solar has been trying to convince me.” Solar has not only become hip but also pervasive in most sub-urban neighborhoods of California.

California has been undergoing a solar revolution over the past two decades. At the start of the new millennium, solar PV barely registered within the state’s electricity system. Statewide, PV contributed less than 0.3 percent of the power provided to California’s grid. In 2006, Gov. Schwarzenegger’s call for a “Million Solar Roofs” by 2016 catalyzed the market, leading to dramatic changes. California’s installed capacity of distributed solar skyrocketed from less than two megawatts (MW) in 2000 to more than five gigawatts (GW) by the end of 2016; a 2,500-fold increase in capacity in 16 years. All this while, between 2000 and 2016, PV costs dropped nearly by half.

In the year 2008, the California Public Utilities Commission established the Research, Development and Demonstration (RD&D) Program under the California Solar Initiative (CSI). A primary goal of the program was to help facilitate sustainable growth in California’s solar market while providing benefits to the state’s electricity system and environment.

Selected through a competitive process, Itron’s Consulting and Analysis group has provided oversight and management for the Program for the last eight years. Under Itron’s leadership the CSI RD&D Program has helped expand the reach of PV into the residential and commercial markets through developing new and innovative business models. In addition, the Program has helped develop more cost-effective solar applications by pairing solar with other complementary technologies, improving performance through system validation, and developing lower cost implementation solutions. However, the work on integrating PV into the grid represents the most critical contribution by the Program.

While some utilities viewed PV as an interesting future clean energy technology, most were skeptical that there would be significant market growth in PV systems in the near term or that PV would have much impact on the grid. With rapid growth in PV, more customers were installing PV and deferring load. Utilities began to take notice started expressing significant concerns about potential grid impacts of distributed solar and that solutions would be needed to ensure that growth in PV could be accomplished in ways to improve reliability of the grid and provide benefits to all ratepayers. Itron Program management saw this early

Cutting edge research work has led to new software tools enabling utilities to visualize the locations and impacts of PV in the electricity system and determine ways to ensure higher levels of PV. New hardware solutions were developed tying smart inverters to PV deployment and operation. In addition, improved methods in solar forecasting and resource planning helped the state’s Independent System Operator and utilities improve the process of interconnection and grid operation. The CSI RD&D’s grid integration research has set a foundation by which the rapid growth of PV on the grid can be accommodated to provide customer, utility and public benefits. As the solar incentive and the research program come to an end, there is pride in leaving a wealth of valuable and relevant research, funded through the modest budget of $50 million over eight years.

For more information on the CSI RD&D Program, overview report and details of funded research, please visit the website: CalSolarResearch.ca.gov

Si è verificato un errore nell'elaborarazione del modello.
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>