Notes on Heating Degree Day (HDD) Sensitivity to Base Temperature (V1) ================================================================= DHD20170214 DOCUMENT HISTORY CREATED: "DRAFT" Damon Hart-Davis 20170214 REVIEWED: Mark Hill 20170221 ISSUED "V1": update 20170221 after review MH20170221 Initial notes ------------- 1) Use of 'traditional' base temperature of 15.5C makes for easy comparison across building fleet (eg trial set) where there may not be a large enough set of data point per building for more sophisticated per-building base choice. 2) With sufficient data points per building it becomes possible to find an optimum base temperature by building, eg searching for that which maximises R^2, or the approaches in TM41 chapter 5 such as polynomial line fit or searching for inflection point vs mean daily external temperature. 3) Although a 'wrong' base temperature does skew the slope important here, empirically I have not found that base temperature adjustment, for example searching for maximum R^2 as above, has proven very helpful diagnostically. 4) Note that a negative intercept implies a negative non-heating baseload, and is an indication of a non-ideal (too high) base temperature. For the purposes of the efficacy calculation the base load is not directly used and only the implied skew to the slope is of potential concern. Observing the effect of adjusted base temperature on initial test set --------------------------------------------------------------------- Although internally the current computations assume that the HDD data provided to it will match its explicitly declared 15.5C base temperature, no special account is taken of its actual value, and so it is possible to feed in HDD data with alternative base temperatures. (Rather brutally to verify this assertion I simply *removed* most places in the relevant code path that referred to base temperatures at all, and no difference in output was seen.) This was done for the original test data set in the first instance, including the original 15.5C, values adjusted +/-1C ie 14.5C and 16.5C to nominally see a per-C sensitivity, and 12.0C which is a little more extreme and which I use for my own home having some years ago manually sought minimum errors in fitting real data. The original test data set is rather sparse and this is only illustrative. The very final result at each base temperature is seen here: ==> .../ETV-prepared-data-out-12.0/90_multihouseholdSummaryStatsOut.csv <== allHouseholdsCount,finalHouseholdsCount,normalDayCount,RsqMean,RsqSD,SlopeMean,SlopeSD,EfficacyMean,EfficacySD 33,2,51,0.4034138,0.11666283,6.216803,0.7406106,0.44886547,0.21579552 ==> .../ETV-prepared-data-out-14.5/90_multihouseholdSummaryStatsOut.csv <== allHouseholdsCount,finalHouseholdsCount,normalDayCount,RsqMean,RsqSD,SlopeMean,SlopeSD,EfficacyMean,EfficacySD 33,2,51,0.37880778,0.06771475,3.8832374,1.1428596,0.60108656,0.27845764 ==> .../ETV-prepared-data-out-15.5/90_multihouseholdSummaryStatsOut.csv <== allHouseholdsCount,finalHouseholdsCount,normalDayCount,RsqMean,RsqSD,SlopeMean,SlopeSD,EfficacyMean,EfficacySD 33,2,51,0.36708134,0.044487998,3.4430323,1.1276339,0.63983274,0.2850564 ==> .../ETV-prepared-data-out-16.5/90_multihouseholdSummaryStatsOut.csv <== allHouseholdsCount,finalHouseholdsCount,normalDayCount,RsqMean,RsqSD,SlopeMean,SlopeSD,EfficacyMean,EfficacySD 33,3,67,0.29871324,0.100261234,2.0713735,1.7917422,0.44462293,0.39207715 This final result represents the best available data from that test set. While the 'SlopeMean' value does indeed change significantly with base temperature, from 6.216803 at 12C to 2.0713735 at 16.5C, (and does not here seem to have anything like a simple linear relationship for small deltas), the 'EfficacyMean' as the ratio of two slopes at the given base temperature appears more robust as expected. But this data set is fairly poor. References: [TM41] http://www.degreedaysforfree.co.uk/pdf/TM41.pdf CIBSE "Degree-days: theory and application" (2006) esp Chapter 5