Arte SheetsLearn. Try. Understand.

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 Snap52 °F / 34 °F43.0 °FHDD = 22.0 | CDD = 0.0
Day 2: Crisp Autumn64 °F / 46 °F55.0 °FHDD = 10.0 | CDD = 0.0
Day 3: Warm Spike86 °F / 62 °F74.0 °FHDD = 0.0 | CDD = 9.0
Day 4: Mild Comfort70 °F / 60 °F65.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.

Further reading