# Detailed Instructions

## Certified supplier detailed instructions for weather response functions (WRFs)

Weather response functions (WRFs) model hourly demands as a piece-wise linear function of weather variables (temperature and either relative humidity or wind speed depending on season). Each WRF is a least square error regression of historical hourly load data for a particular season and day type (e.g., June weekday, June weekend day, etc.). A set of WRFs will be created for each customer segment (RS0, RS5, etc.).

A WRF is constructed for each hourly (1-24) demand, from data in hour-ending format. Each WRF is composed of one to three line segments, with two to four temperature break-points defining the beginning and end of each line segment. The WRF for each daytype may have 24 to 72 equations (one to three line segments per hour x 24 hours).

This document will review the equations used in each line segment, and give examples of how WRFs may be used to construct a forecast. The weather station used for the construction of these WRFs is CVG.

Equation:

Given,

Equation for a line: Y = MX + B

Therefore,

LoadHS = M1X1 + M2X2 + B

Where,

H = a particular hour

S = the particular line segment of the WRF determined by the temperature for that hour

M1 = temperature coefficient for segment (S)

X1 = temperature value (forecast or actual) for that hour

M2 = humidity or wind (depending upon season) coefficient for segment (S)

X2 = humidity or wind value (forecast or actual) for that hour

B = constant for line segment (S)

**Sample weather response function coefficients:**

A sample WRF was generated using temperature only for use in this document. The WRF generated was for a hypothetical profile segment, June weekday, and had three line segments for each hour. However, the table below illustrates coefficients for only one line segment (segment 2) of the three.Hour T min T max B (constant) M1(Temp) M2(RH) M3(Wind) 1 55 85 -1.493 0.035 0 0 2 55 85 -1.449 0.033 0 0 3 55 85 -1.147 0.028 0 0 4 55 85 -1.031 0.026 0 0 5 55 85 -0.694 0.022 0 0 6 55 85 -0.196 0.017 0 0 7 55 85 -0.304 0.019 0 0 8 55 85 -0.664 0.024 0 0 9 55 85 -0.943 0.027 0 0 10 55 85 -1.217 0.031 0 0 11 55 85 -1.260 0.032 0 0 12 55 85 -1.537 0.036 0 0 13 55 85 -1.970 0.042 0 0 14 55 85 -1.878 0.041 0 0 15 55 85 -2.272 0.046 0 0 16 55 85 -1.923 0.043 0 0 17 55 85 -1.861 0.043 0 0 18 55 85 -2.034 0.047 0 0 19 55 85 -2.194 0.050 0 0 20 55 85 -2.255 0.051 0 0 21 55 85 -1.784 0.046 0 0 22 55 85 -1.536 0.043 0 0 23 55 85 -1.571 0.041 0 0 24 55 85 -1.396 0.035 0 0 Tmin and Tmax represent the range of temperatures covered by this particular line segment. E.g., If the forecast temperature for a given hour is under 55 or over 85 degrees F, a different line segment would be used. This is determined by the relationship, Tmin < X <= Tmax, where X is the forecast (or actual) temperature value for that hour.

There is a different equation for each hour of the day, based upon the weather response for each particular hour. Once the forecasted weather data is retrieved from a weather service such as WSI ( http://www.wsicorp.com/), an algorithm may be constructed to determine which WRF line segment equation should be used for each particular hour. Once the proper WRF line segment is determined, the weather variables are applied to the line segment equation to yield a demand for that hour in kW. This demand represents an average single customer. The magnitude of the hourly demand will increase depending upon how many customers are in that Load Profile Segment (RS5, RS6, etc.) and will then be adjusted by the average usage factor of that Load Profile Segment.

How to use a WRF to create a forecast and schedule. Things you will need:

- A spreadsheet program, e.g., Excel, Quattro Pro, etc.
- Forecast hourly weather data (Temperature in degrees F, Humidity in %, Wind speed in mph)
- Appropriate WRF for segment
- Number of customers you have signed up in a particular segment.
- Average usage factor for that segment.
- Loss factors

6.1 Bulk transmission - 2.3%

6.2 Common transmission - 1.0%

6.3 Distribution - 3.43%

**Step 1.**Using the forecast hourly weather data, determine the proper line segment equation of the WRF you will need to use for each hour. For illustrative purposes, let's use the following WRF line segment that is used throughout this document:Hour T min T max B (constant) M1(Temp) M2(RH) M3(Wind) 1 55 85 -1.493 0.035 0 0

1.1 If the forecast temperature is 73 degrees for hour 1, then it falls between Tmin and Tmax for this segment. This is determined by the relationship, Tmin < X <= Tmax, where X is the forecast (or actual) temperature value for that hour. **Step 2.**Using the equation for the WRF line segment listed above, we get the following equation:**2.1**Equation for a line: Y = MX + B, therefore: **2.2**Demand (kW)1 = (0.035*73) + (-1.493) **2.3**Demand (kW)1 = 1.06 kW **Step 3.**Multiple coefficients: If there are multiple coefficients in the equation (temperature and humidity, or temperature and wind speed), they are simply added together (ex. September WD, WRF line segment 1):Hour T min T max B (constant) M1(Temp) M2(RH) M3(Wind) 1 0 75 -0.7346 0.0216 0.0036 0

**3.1**Temperature = 73, Humidity = 80% **3.2**Equation: Y = M1X1 + M2X2 + B **3.3**Demand (kW)1 = (0.0216*73) + (0.0036*80) + (-0.7346) 3.4 Demand (kW)1 = 1.13 kW **Step 4.**Applying this process to all the other hours, using temperature data and the WRF coefficients for each hour:X B M Y **Hour****Tdb(F)****Constant****T Coefficient****Demand**1 73 -1.4928 0.0348 1.05 2 73 -1.4486 0.0334 0.99 3 72 -1.1465 0.0283 0.89 4 70 -1.0313 0.0262 0.80 5 68 -0.6941 0.022 0.80 6 68 -0.1959 0.0167 0.94 7 67 -0.304 0.0188 0.96 8 69 -0.6644 0.0237 0.97 9 71 -0.9426 0.0274 1.00 10 71 -1.2166 0.0313 1.01 11 72 -1.2595 0.032 1.04 12 73 -1.5369 0.0359 1.08 13 74 -1.9702 0.042 1.14 14 76 -1.878 0.0408 1.22 15 77 -2.2719 0.0461 1.28 16 78 -1.9225 0.043 1.43 17 77 -1.8608 0.0434 1.48 18 77 -2.0341 0.0471 1.59 19 75 -2.1942 0.0496 1.53 20 73 -2.2554 0.0514 1.50 21 72 -1.7843 0.0464 1.56 22 71 -1.5363 0.043 1.52 23 70 -1.5714 0.0411 1.31 24 69 -1.3962 0.0354 1.05 A graph of this data can be seen below.

**Step 5.**Scale up for the number of customers**5.1**Example, you currently have 1,000 customers who qualify for our hypothetical segment **5.2**Multiply each hourly kW value by 1000.

X B M Y Customer **Hour****Tdb(F)****Constant****T Coefficient****Demand****Adjust**1 73 -1.4928 0.0348 1.05 1050 2 73 -1.4486 0.0334 0.99 990 3 72 -1.1465 0.0283 0.89 890 4 70 -1.0313 0.0262 0.80 800 5 68 -0.6941 0.022 0.80 800 6 68 -0.1959 0.0167 0.94 940 7 67 -0.304 0.0188 0.96 960 8 69 -0.6644 0.0237 0.97 970 9 71 -0.9426 0.0274 1.00 1000 10 71 -1.2166 0.0313 1.01 1010 11 72 -1.2595 0.032 1.04 1040 12 73 -1.5369 0.0359 1.08 1080 13 74 -1.9702 0.042 1.14 1140 14 76 -1.878 0.0408 1.22 1220 15 77 -2.2719 0.0461 1.28 1280 16 78 -1.9225 0.043 1.43 1430 17 77 -1.8608 0.0434 1.48 1480 18 77 -2.0341 0.0471 1.59 1590 19 75 -2.1942 0.0496 1.53 1530 20 73 -2.2554 0.0514 1.50 1500 21 72 -1.7843 0.0464 1.56 1560 22 71 -1.5363 0.043 1.52 1520 23 70 -1.5714 0.0411 1.31 1310 24 69 -1.3962 0.0354 1.05 1050

**Step 6.**Adjusting for the average usage factor**6.1**

Usage factors are used in forecasting to account for the deviation of individual customers' usage levels from segment average usage levels. An individual customer's usage factor can be calculated by dividing their most recent consumption by the average customer consumption for the same period. The formula is as following:Usage_Factor = Most_Recent_Consumption / Average_Customer_ConsumptionWhere,Average_Customer_Consumption = Xs, t = S Yi, s, t ( i = 1,…, n) Where,

Y = average hourly demand for the current segment (Click here to download this file)

t = most recent consumption start date, hour 1 through most recent consumption end date, hour 24

n = number of hours in consumption period t = (most recent consumption end date - most recent consumption start date + 1) * 24

s = customer segment

i = an hour in time period t

Xs, t = Energy (kwh) for time period t in segment s

Yi, s, t = Hourly demand (kw) for hour i in time period t in segment s

Assume the most recent consumption for a customer in the Hypothetical profile segment is 400 kwh. The consumption start date is Feb 28, 2001, and the end date is March 25, 2001. Segment Average Hourly Demand over the same period is given in the table found at this link.

Average_customer_consumption over the same period = (0.706 + 0.591 + 0.538 + … + 0.745) = 423.2

Usage factor for the customer = 400 / 423.2 = 0.945

The same method can be used to calculate the usage factors for all the 1000 customers in our Hypothetical segment and then the average usage factor for the segment can be derived:

Average usage factor = (0.945 + 1.04 + 0.81 + … + 1.21) / 1000 = 0.991

Note this average usage factor is calculated in May and used for June forecast.

**6.2**Multiply each hourly KW value by the average usage factor.

X B M Y Customer Usage Factor **Hour****Tdb (F)****Constant****T Coefficient****Demand****Adjust****Adjust****1**73 -1.4928 0.0348 1.05 1050 1041 **2**73 -1.4486 0.0334 0.99 990 981 **3**72 -1.1465 0.0283 0.89 890 882 **4**70 -1.0313 0.0262 0.8 800 793 **5**68 -0.6941 0.022 0.8 800 793 **6**68 -0.1959 0.0167 0.94 940 932 **7**67 -0.304 0.0188 0.96 960 951 **8**69 -0.6644 0.0237 0.97 970 961 **9**71 -0.9426 0.0274 1 1000 991 **10**71 -1.2166 0.0313 1.01 1010 1001 **11**72 -1.2595 0.032 1.04 1040 1031 **12**73 -1.5369 0.0359 1.08 1080 1070 **13**74 -1.9702 0.042 1.14 1140 1130 **14**76 -1.878 0.0408 1.22 1220 1209 **15**77 -2.2719 0.0461 1.28 1280 1268 **16**78 -1.9225 0.043 1.43 1430 1417 **17**77 -1.8608 0.0434 1.48 1480 1467 **18**77 -2.0341 0.0471 1.59 1590 1576 **19**75 -2.1942 0.0496 1.53 1530 1516 **20**73 -2.2554 0.0514 1.5 1500 1487 **21**72 -1.7843 0.0464 1.56 1560 1546 **22**71 -1.5363 0.043 1.52 1520 1506 **23**70 -1.5714 0.0411 1.31 1310 1298 **24**69 -1.3962 0.0354 1.05 1050 1041

**Step 7.**Apply losses:Losses must be "scaled up" from the point of delivery (POD), which are the end-use customers, to the point of receipt (POR), the point at which energy is delivered to Duke Energy and before it incurs losses.

Loss Rates **7.2.1**Bulk transmission - 2.23% **7.2.2**Common transmission - 1.0% **7.2.3**Distribution - 3.43%

Loss Calculation **7.3.1**Supply = (((Load/(1-0.0343))/(1-0.01))/(1-0.0223)) **7.3.2**The resulting loss factor is 1.06984, so we can simplify this to: **7.3.3**Supply = Load x 1.06984

**X****B****M****Y****Customer****Usage Factor****Loss****Hour****Tdb (F)****Constant****T Coefficient****Demand****Adjust****Adjust****Adjust****1**73 -1.4928 0.0348 1.05 1050 1041 1114 **2**73 -1.4486 0.0334 0.99 990 981 1050 **3**72 -1.1465 0.0283 0.89 890 882 944 **4**70 -1.0313 0.0262 0.8 800 793 849 **5**68 -0.6941 0.022 0.8 800 793 849 **6**68 -0.1959 0.0167 0.94 940 932 997 **7**67 -0.304 0.0188 0.96 960 951 1018 **8**69 -0.6644 0.0237 0.97 970 961 1029 **9**71 -0.9426 0.0274 1 1000 991 1061 **10**71 -1.2166 0.0313 1.01 1010 1001 1072 **11**72 -1.2595 0.032 1.04 1040 1031 1103 **12**73 -1.5369 0.0359 1.08 1080 1070 1146 **13**74 -1.9702 0.042 1.14 1140 1130 1209 **14**76 -1.878 0.0408 1.22 1220 1209 1294 **15**77 -2.2719 0.0461 1.28 1280 1268 1358 **16**78 -1.9225 0.043 1.43 1430 1417 1517 **17**77 -1.8608 0.0434 1.48 1480 1467 1570 **18**77 -2.0341 0.0471 1.59 1590 1576 1687 **19**75 -2.1942 0.0496 1.53 1530 1516 1623 **20**73 -2.2554 0.0514 1.5 1500 1487 1591 **21**72 -1.7843 0.0464 1.56 1560 1546 1655 **22**71 -1.5363 0.043 1.52 1520 1506 1613 **23**70 -1.5714 0.0411 1.31 1310 1298 1390 **24**69 -1.3962 0.0354 1.05 1050 1041 1114 **Step 8.**In order to submit a schedule to Duke Energy Control Area Operations, a schedule in whole MWh must be created.**8.1**Three methods **8.1.1**Rounding **8.1.1.1**Pros - Easy to calculate **8.1.1.2**Cons - May not best account for all MWh in a day. **8.1.2**Truncate and Carry **8.1.2.1**Pros - Closely accounts for all MWh in a day. **8.1.2.2**Cons - May possibly shift the peak hour or other hours. **8.1.3**Combination **8.1.3.1**Pros - Closely accounts for all MWh in a day, and tends to more accurately represent peaks. **8.1.3.2**Cons - More complex to calculate. **8.2**For this example, we will use the combination method. **8.2.1**Start out by rounding the forecast value in the ROUND column, then we subtract the rounded value from the forecast value and are left with a RESIDUAL value. **8.2.2**This residual is added to the next forecast value in the SUM column. **8.2.3**We round the value in the SUM column, subtract the rounded value from the SUM value and repeat 8.2.2. **8.2.4**The values in the ROUND column are used to create the schedules (eTags) for the delivery of power.

**Round, Truncate & Carry****Forecast****Round****Residual****Sum****Hour****MW****MW****MW****MW****1**1.114 1 0.114 **2**1.050 1 0.164 1.164 **3**0.944 1 0.108 1.108 **4**0.849 1 -0.043 0.957 **5**0.849 1 -0.194 0.806 **6**0.997 1 -0.197 0.803 **7**1.018 1 -0.178 0.822 **8**1.029 1 -0.149 0.851 **9**1.061 1 -0.088 0.912 **10**1.072 1 -0.017 0.983 **11**1.103 1 0.087 1.087 **12**1.146 1 0.232 1.232 **13**1.209 1 0.442 1.442 **14**1.294 2 -0.264 1.736 **15**1.358 1 0.094 1.094 **16**1.517 2 -0.389 1.611 **17**1.570 1 0.181 1.181 **18**1.687 2 -0.132 1.868 **19**1.623 1 0.491 1.491 **20**1.591 2 0.083 2.083 **21**1.655 2 -0.262 1.738 **22**1.613 1 0.350 1.350 **23**1.390 2 -0.260 1.740 **24**1.114 1 -0.146 0.854 **Sum**29.854 30

**Scheduling example**

As stated previously, the numbers in the "Round" column in the previous table are used to create an hourly schedule for the delivery of energy. This schedule, listed again below and now titled "Schedule," will be used to create an Electronic Tag (eTag). This eTag must be submitted to the Duke Energy Control Area prior to the delivery of power, according to the terms described in the Duke Energy OATT.**Forecast****Schedule****Hour****MW****MW****1**1.114 1 **2**1.050 1 **3**0.944 1 **4**0.849 1 **5**0.849 1 **6**0.997 1 **7**1.018 1 **8**1.029 1 **9**1.061 1 **10**1.072 1 **11**1.103 1 **12**1.146 1 **13**1.209 1 **14**1.294 2 **15**1.358 1 **16**1.517 2 **17**1.570 1 **18**1.687 2 **19**1.623 1 **20**1.591 2 **21**1.655 2 **22**1.613 1 **23**1.390 2 **24**1.114 1 **Sum**29.854 30

Example of Forecast vs. Schedule:

These examples have been given using only one WRF profile segment. Steps 1 through 7 must be completed for each group of customers that fall within a particular WRF segment category (RS5, DM0, DS4, etc.). These examples also do not include forecasts that must be generated for any interval metered customers that a Certified Supplier may have.

As with all mathematical equations, sometimes an input temperature will result in an undesirable value. Exceptions in WRFs are defined as any condition that could result in an invalid load value (negative, zero load, or excessively high number).

Since WRFs represent linear equations regressed against three years of load research sample data, the possibility exists that certain temperature values may exist where:- There is no WRF line segment equation for a given temperature value, a temperature value is below Tmin, or a temperature value exceeds Tmax for the existing WRF line segment.
- A given temperature value produces negative results, or; a given temperature value produces load values greater than historical maximums or less than historical minimums.

How to manage these exceptions:

- Where there is no existing WRF line segment for a given temperature value, the next closest WRF line segment will be used.
- Historical power minimum (Pmin) and power maximum (Pmax) for the sample data will be available for each WRF, included with the WRF file. If a temperature value yields a negative result or a result less than the historical minimum, the Pmin value will be used. Likewise, for calculated load values that are greater than historical maximums, the Pmax value will be used.