Source: https://guthlabs.ai/docs/instruments/degree-day-energy-estimator/mechanism/

instrument mechanism / verified-clean

# Degree-Day Energy Estimator mechanism

The inspectable method record for Degree-Day Energy Estimator, kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The heating equation is dimensionally and conceptually valid as a rough sensible-load estimate under the stated assumptions. The specification needs an explicit cooling formula, a defined cooling performance input (preferably COP), degree-day base-temperature metadata, input validation, and clearly labeled units before implementation can be verified as complete.

- The heating formula is standard only when UA is a whole-building heat-loss coefficient in W/K or kW/K, degree-days use the same temperature scale, and system efficiency η is a dimensionless delivered-to-input efficiency greater than zero.

- The cooling formula is not actually specified: 'similar for CDD cooling' does not define whether the denominator is a dimensionless efficiency, a coefficient of performance (COP), or another rating. Cooling normally uses Energy = UA·CDD·24/COP, with additional treatment often needed for latent cooling.

- The degree-day balance temperature or base temperature is not specified. HDD/CDD values depend on that temperature and cannot be interpreted unambiguously without it.

- A single constant UA and degree-day multiplication omits weather variation, solar gains, internal loads, ventilation/infiltration changes, thermal storage, part-load behavior, and for cooling, latent loads.

## Units and conventions

- For heating, UA is assumed to be W/K or kW/K, HDD is in degree-days on the matching temperature scale, 24 is hours per day, and η is dimensionless.

- With UA in W/K, the heating result is Wh; divide by 1000 for kWh. With UA in kW/K, the result is directly kWh.

- For cooling test calculations, the unspecified 'system efficiency' is interpreted as a dimensionless COP, so cooling energy equals UA·CDD·24/COP.

- Fahrenheit degree-days must be converted to Celsius/Kelvin degree-days by multiplying by 5/9 before combining with UA expressed per K.

- HDD/CDD are assumed to be nonnegative and based on a clearly stated balance/base temperature.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "mode": "heating",
    "UA_W_per_K": 250,
    "HDD_degree_days_C": 1800,
    "efficiency_eta": 0.9
  },
  "expected_outputs": {
    "seasonal_energy_Wh": 12000000,
    "seasonal_energy_kWh": 12000
  },
  "working": "UA·HDD·24/η = 250 W/K × 1800 K·day × 24 h/day ÷ 0.9 = 450000 W·day × 24 h/day ÷ 0.9 = 10800000 Wh ÷ 0.9 = 12000000 Wh = 12000 kWh."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

Zero efficiency produces an undefined division and must be rejected; additionally, an unspoken Fahrenheit-versus-kelvin degree-day convention can change the result from 166.6666667 kWh to 300 kWh for the same numeric input.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/degree-day-energy-estimator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/degree-day-energy-estimator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/degree-day-energy-estimator/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche5/tranche5-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
