Forecasting

New Forecasting Capabilities for Forecasting Solar and Wind Generation

December 05, 2022

Itron recently announced that the latest version of MetrixIDR (version 7.2) includes two new modules: the Model Specification Module and the Distributed Energy Resource (DER) Module. The two modules together enable users to configure solar and wind generation models, alleviating the need for building custom MetrixND model templates for solar and wind generation. The Model Specification Module allows the user to define model specifications or “templates” for solar fixed panel models or single equation wind direction models. These can then be used for any number of individual models configured in the DER Module.

For Solar Fixed Panel Models, users can assign drivers for solar capacity and solar panel shading (as a fraction of the panel surface that is shaded by the time of day). Additional parameters include information regarding the solar panels: panel tilt and orientation and inverter efficiencies (by interval). Users can also specify operational efficiency at high and low temperatures with the following parameters:

  • Temperature Break Average High specifies the temperature above which the performance of the solar system being modeled degrades.
  • Temperature Impact High specifies the impact per degree above the indicated threshold.

 

Conversely, parameters are also available for Temperature Break Average Low and Temperature Impact Low. Users can optionally calibrate the model to clear-sky days when available Cloud Cover is not for the precise location of the solar resource. When calibration is used, users can additionally infer the cloud albedo from the available data.

The Solar Fixed Panel SAE Model computes a single equation for each interval of the day. The engineering estimate of solar generation calculated from the weather data and equipment parameters is regressed on the generation data with the coefficient providing an estimate of the correlation between the engineering equation and the generation data.

For Wind Generation Models, users can assign a driver for wind capacity. Additional parameters include information regarding the typical wind turbine at the wind site: unit size, wind blade length, and coefficients of power at various wind speeds. Users can optionally specify an autoregressive structure for the model, customize the number of intervals back and interact lags with the time of day.

There is no additional software license fee for MetrixIDR customers on a current maintenance contract to acquire the new Model Specification and DER Modules, however professional services are required for implementation and to upgrade your system. Read more about MetrixIDR and other forecasting solutions on our website at www.itron.com/forecasting. Ready to upgrade or want to implement a new system? Contact us at forecasting@itron.com.

Kesalahan terjadi ketika Memproses Template.
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>