Appliance · level of detail 3 of 4 · physics

HVAC: gas furnace → heat pump

Space heating is usually the largest gas load in the home. WhyWatt estimates it from physics: how fast the house loses heat, how cold each month is, and how efficiently each system turns fuel into heat.

The swap

Do nothing

SystemGas furnace
EfficiencyAFUE 0.80 (80% of gas → heat)
Age · lifespan10 yrs · 20 yrs
Coolingnone (Bay Area default)

Your journey

SystemHeat pump (heats and cools)
EfficiencyCOP 3.5 heating · SEER 22 cooling
Swapyear 3 · $14,000 − $3,500 rebate
Lifespan15 yrs

Defaults shown; every value is editable in the app. The install cost covers the whole heat pump (heating and cooling) as one event. If the home already has central AC, the do-nothing home keeps it, and its cooling is counted too.

The physics, one line each

Every month, the house loses heat in proportion to how much colder it is outside (degree-days, from the climate pipeline) times how leaky it is (UA, in BTU per hour per °F). The system has to replace that heat.

furnace therms[m] = HDD[m] × 24 h × UA / (AFUE × 100,000 BTU/therm) heat pump kWh[m] = HDD[m] × 24 h × UA / (COP × 3,412 BTU/kWh) cooling kWh[m] = CDD[m] × 24 h × UA / (SEER × 1,000)
UA · how leaky
poor 650 · average 500 · good 350 BTU/hr·°F at 1,800 sq ft, scaled by floor area
AFUE vs COP
A furnace turns 80% of gas into heat. A heat pump moves 3.5 units of heat per unit of electricity.
Result
12 monthly numbers per system. The engine prices them with that month's rates.

Try it

The same formulas the model uses, run live in the page. Change the zone or the house and watch the monthly numbers move.

Gas furnace
therms / yr
Heat pump
Energy used
heat pump heating vs furnace, same heat delivered
Do nothing · furnace therms per month
Your journey · heat-pump kWh per month (heating + cooling)

Energy only. Cost = each month's kWh × electric rate, or therms × gas rate, from the rates pipeline. The comparison uses 1 therm = 29.3 kWh, for display only.

Within the day

For time-of-use pricing and solar, the heat pump's monthly kWh is spread over a representative 24-hour day. Heating and cooling are spread separately, each with its own NREL ResStock load profile for your climate zone and month. Winter heating peaks in the early morning; summer cooling in the late afternoon, right into the peak window.

Share of the day's energy in each clock hour · (follows the zone picked above). The peak window (4–9 pm on PG&E E-TOU-C) is shaded.

What's modeled, what's simplified

  • Heat loss scales with the house: insulation quality and floor area set UA.
  • Real monthly climate for your ZIP's zone, not a statewide average.
  • Devices age: the swap year, lifespans and replacement costs are tracked year by year.
  • Checked by tests: at a fixed reference climate, the furnace lands at ≈ 286 therms/yr and heat-pump heating at ≈ 1,930 kWh/yr (±5%).
  • Constant COP: real heat pumps lose some efficiency in cold weather. That effect is small in most California zones, larger in CZ16 (mountains).
  • No duct losses or thermostat setbacks: both are folded into UA.
  • Monthly, not hourly, physics: the heating energy is right for the month, but its spread within the day is a stock-average NREL shape, not your household's own schedule.
Code
src/devices/physics.py · GasFurnace, HeatPumpHVAC, CentralAC src/home_config.py · compute_ua() data/homes/journey_slots_default.json data/loads/end_use_profiles.json · hvac_heating, hvac_cooling tests/test_devices.py