Arte SheetsLearn. Try. Understand.

Building Energy Systems, Phase-Change Thermal Storage & Utility Tariff Arbitrage

HVAC Ice-Bank Latent Fusion & Peak-Chiller Shift Formula

Calculate Commercial Ice-Bank Thermal Energy Storage Capacity (kWh_th) from Water Mass and 334 kJ/kg Latent Heat of Fusion, Latent Energy Share, Daytime On-Peak Chiller Electric Demand Shaved (kW_e), and Daily TOU Tariff Arbitrage Savings ($) Accounting for Lower Ice-Making COP.

Account for lower nighttime glycol ice-making COP when sizing TOU ice-storage arbitrage!

Freezing water at 0°C absorbs 334 kJ/kg of Latent Heat of Fusion—nearly 8x the cooling stored by chilling liquid water across a 10°C ΔT (41.86 kJ/kg)! Adding sensible pre-cooling/subcooling (Δh_sens kJ/kg) across mass M_water (kg) stores Q_th (kWh_th) = (M_water * (334 + Δh_sens)) / 3600! Yet honest engineering economics must model the COP penalty: making ice at -5°C glycol suction temperature lowers nighttime chiller COP (e.g., COP_ice = 2.50) below daytime chilled-water COP (e.g., COP_day = 3.00), using MORE total kWh_elec while saving money whenever the Time-of-Use (TOU) tariff ratio P_peak / P_offpeak exceeds COP_day / COP_ice!

Verify on a Campus Ice-Storage Tank—Frozen_Water_Mass = 30,000 kg (30 tonnes, B2), Sensible_PreCool_Swing = 26.0 kJ/kg (total 360 kJ/kg = 0.10 kWh_th/kg, B3 -> Stored Cooling = 3,000.00 kWh_th in E2, of which 334 / 360 = 0.9278 or 92.78% is pure latent fusion in E3!), Peak_Discharge_Window = 5.0 hr (600 kW_th cooling, B4), Daytime_Chiller_COP = 3.00 (shaving 600 / 3.0 = 200.00 kW_e of peak electric demand in E4; vs Night_Ice_COP = 2.50, B5), OnPeak_Rate = $0.24/kWh (B6), and OffPeak_Night_Rate = $0.06/kWh (B7): Daily TOU Energy Arbitrage Savings equal (3000/3.0)*0.24 - (3000/2.5)*0.06 = 240.00 - 72.00 = +$168.00/day (E5) BEFORE monthly $/kW demand-charge reductions!

Ice-Bank TES Metric (30,000 kg, +26 kJ/kg Sensible, 5 hr Peak, COP 3.0 vs 2.5 Ice)FormulaVerified Output
Stored Thermal Cooling (kWh_th)(Water_Mass_kg * (334 + Sensible_kJ)) / 36003,000.00 kWh_th
Latent Fusion Energy Share334 / (334 + Sensible_kJ_kg)0.9278 (92.78% Phase Change)
Peak Electric Demand Shaved (kW)(Stored_kWh_th / Peak_Hours) / Daytime_COP200.00 kW_e
Daily Net TOU Energy Savings ($)(Q/COP_day)*P_peak - (Q/2.5)*P_offpeak+$168.00 (-$4.00 @ Flat Tariff)

Ice-Bank Daily TOU Energy Arbitrage Formula (vs Night Ice COP = 2.5)

Validate Water_Mass > 0, Sensible_Swing >= 0, Peak_Window > 0, Daytime_COP > 1, and positive On-Peak and Off-Peak electricity rates!

=LET(mw_k, B2, dh_s, B3, hr_p, B4, cp_d, B5, pr_p, B6, pr_o, B7, IF(OR(mw_k <= 0, dh_s < 0, hr_p <= 0, cp_d <= 1, pr_p <= 0, pr_o <= 0), "Invalid Ice-Storage Input", LET(qt_h, (mw_k * (334 + dh_s)) / 3600, el_d, qt_h / cp_d, el_n, qt_h / 2.5, ROUND(el_d * pr_p - el_n * pr_o, 2))))

Flat-Tariff Ice-COP Penalty Check ($0.08 Peak vs $0.07 Off-Peak)

Compress the TOU spread to B6 = $0.08/kWh and B7 = $0.07/kWh (ratio 1.14x < 3.0 / 2.5 = 1.20x COP penalty): Daily Energy Arbitrage E5 turns slightly negative (-$4.00/day), showing that under flat energy tariffs ice banks must earn their payback from monthly peak $/kW demand-charge avoidance!

=IF(ISTEXT(E5), E5, ROUND((((B2 * (334 + B3)) / 3600) / B4) / B5, 2))

Try the example

Use the original values or change them to test your understanding.

Further reading