Engineering & Science
Heating Degree Days (HDD) & Cooling Degree Days (CDD) Weather Energy Formula
Calculate daily and cumulative Heating Degree Days HDD = MAX(0, T_base - (T_max + T_min) / 2) and Cooling Degree Days CDD = MAX(0, (T_max + T_min) / 2 - T_base) for HVAC energy normalization and weather derivatives.
Normalize building natural-gas and electricity bills against daily weather swings!
Utilities, HVAC engineers, and CME weather-derivative desks benchmark building heating and air-conditioning demand against a balance-point base temperature T_base (standard 65 °F in the US or 18 °C in Europe/ISO—the outdoor temperature where internal occupant/lighting heat gains balance envelope losses with zero furnace or chiller load)!
Using NOAA / ASHRAE daily mean temperature T_mean = (T_max + T_min) / 2: daily Heating Degree Days is HDD = MAX(0, T_base - T_mean) and daily Cooling Degree Days is CDD = MAX(0, T_mean - T_base)! Wrapping each day in MAX(0, ...) is mandatory: summing raw (T_base - T_mean) across a mild spring week falsely lets warm afternoon CDDs cancel cold morning HDDs, hiding real dual-mode HVAC energy consumption!
| Weather Day (Base = 65 °F) | Daily High / Low (°F) | Mean Temp (°F) | Daily HDD & CDD |
|---|---|---|---|
| Day 1: Cold Snap | 52 °F / 34 °F | 43.0 °F | HDD = 22.0 | CDD = 0.0 |
| Day 2: Crisp Autumn | 64 °F / 46 °F | 55.0 °F | HDD = 10.0 | CDD = 0.0 |
| Day 3: Warm Spike | 86 °F / 62 °F | 74.0 °F | HDD = 0.0 | CDD = 9.0 |
| Day 4: Mild Comfort | 70 °F / 60 °F | 65.0 °F (= Base!) | HDD = 0.0 | CDD = 0.0 |
Daily Heating Degree Days HDD = MAX(0, T_base - (T_max + T_min) / 2)
Validates T_max >= T_min before computing non-negative heating degree days below balance point $G$2.
=IF(B2 < C2, "Invalid High < Low", ROUND(MAX(0, $G$2 - ((B2 + C2) / 2)), 2))Daily Cooling Degree Days CDD = MAX(0, (T_max + T_min) / 2 - T_base)
Computes non-negative cooling degree days above balance point $G$2.
=IF(B4 < C4, "Invalid High < Low", ROUND(MAX(0, ((B4 + C4) / 2) - $G$2), 2))Try the example
Use the original values or change them to test your understanding.