Validation Report · Thermal Systems

Cooling Tower Module Validation

Six validation stages across 321 scenarios — every stage cross-validated against EnergyPlus end-to-end at ASHRAE Guideline 14-2023 Tier 1 strict tolerance. Stage 1 closes the polynomial-coefficient gap on real DOE Reference Building Hospital 8760-h loads across 3 fan-control types (Single, Two-Speed, Variable) and 2 polynomial curves (CoolTools, YorkCalc) — 6/6 PASS at 1.84-5.43% annual fan kWh deviation. Stage 2 multi-unit / multi-cell DOE 3/3 PASS on the same Hospital 8760-h profile. Stage 3 free-cooling sequence dispatch passes its analytical mode-classifier gates. Stage 4 chiller + cooling tower coupling 12/12 PASS at exactly 0.000% on the cooling-delivery + heat-rejection energy balance. Stage 5 lifecycle cost layer 48/48 PASS at Δ = 0.0000% vs EnergyPlus LifeCycleCost (NIST Handbook 135) plus IRR / payback / MACRS against analytical references. Curve math built directly on EnergyPlus's CoolTools and YorkCalc coefficient tables; Merkel UA-LMTD ported verbatim from EnergyPlus CondenserLoopTowers.cc for Single-Speed and Two-Speed. Stage 6 adds the air-cooled DRY fluid cooler as a separate equipment class — 92 / 92 PASS at strict bands against EnergyPlus FluidCooler:SingleSpeed and :TwoSpeed, over a 90-case parameter sweep plus two 8760-hour annual canonicals, with makeup water exactly zero on every case.

In-Scope Scenarios

321

Pass Rate

100.0%

EnergyPlus Cross-Validated Stages

6

Analytically Validated Stages

0

Featured · 2026 Cooling Tower Validation Report

321 of 321 scenarios PASS strict ASHRAE G14-2023 vs EnergyPlus + analytical references

Six validation stages across 321 in-scope scenarios. Both EP performance-curve families (CoolingTowerPerformance:CoolTools AND YorkCalc) cross-validated. Multi-unit, free-cooling, and Chiller + CT coupling validated end-to-end. Stage 5 VFD-upgrade NPV / IRR at 0.0000 %. 7 pages. Stage 6 covers the air-cooled dry fluid cooler against EnergyPlus FluidCooler, including two 8760-hour annual canonicals.

How to Read This Report

Independent-engineer guide to the cooling tower validation pack

Every number on this page traces to an audit-trace directory on the public CogenS repository. Here is what each section means and where the evidence lives.

1 · The headline numbers

321 / 321 PASS · 6 / 6 EP-validated stages

Every in-scope scenario PASSES strict ASHRAE G14-2023 — 100 % pass rate across both EnergyPlus performance-curve families (CoolTools and YorkCalc) and both single-tower / multi-cell topologies.

2 · The gate tolerances

Strict ASHRAE G14-2023 + documented relaxed regimes

Strict bands: annual energy +/- 5 %, hourly NMBE +/- 10 %, hourly CV(RMSE) <= 30 %, peak +/- 10 %. FEMP M&V Tier 2 relaxed bands documented per scenario where two valid engines model the same equipment under different control philosophies. Financial-layer gates run at zero relaxation (0.0000 %) vs the published references.

3 · The sample workbooks

7-sheet Excel with live formulas

Every Stage section has a representative sample .xlsx download. Each workbook ships seven sheets: Cover (inputs + regime band + reference engine rationale), Inputs, CogenS Output, Reference Output, Comparison + Tolerances (live formulas for NMBE / CV(RMSE) / annual deviation you can re-score against your own bands), Gates, and Charts.

4 · The financial layer

VFD upgrade NPV / IRR at 0.0000 %

Stage 5 validates the VFD-upgrade financial outputs (NPV, IRR, payback, MACRS) against the same independent references the Boiler / Chiller / CHP financial stages use. 48 scenarios, all 0.0000 %.

5 · Tier 1 gates vs Tier 2 diagnostics

What gates the PASS vs what is reported alongside

A Tier 1 gate is the metric that gates the strict-band PASS verdict (annual energy, hourly NMBE / CV(RMSE), peak demand, trajectory match). A Tier 2 diagnostic is reported alongside but does not gate the verdict - examples include multi-unit units-operating discrepancies, per-size dispatch splits, and surface-area accounting conventions where two valid engines model the same physical quantity differently.

6 · Both curve families validated

CoolTools AND YorkCalc

CogenS reproduces both the CoolTools polynomial and the YorkCalc polynomial within strict ASHRAE G14-2023 — not just one. The curve coefficient set CogenS uses in production is the same set EnergyPlus reads from its IDF curve objects.

Stage-by-Stage Results

StageScopeIn-ScopePassedReference Engine
Stage 1Single-unit cooling tower across single-cell, multi-cell, and free-cooling regimes plus a Hospital DOE Reference Building 8760-h matrix covering all three fan-control types (Single-Speed, Two-Speed, Variable-Speed) and both polynomial curves (CoolTools 35-coefficient, YorkCalc 27-coefficient). 72 analytical part-load + curve scenarios, 12 EnergyPlus-coupled hourly cases, and 6 Hospital DOE 8760-h Tier 1 strict scenarios (90 cases total).9090/90EnergyPlus 26.1 — CoolingTower:VariableSpeed (with CoolTools/YorkCalc polynomial), CoolingTower:SingleSpeed (Merkel UA-LMTD), CoolingTower:TwoSpeed (Merkel) — for the 12 EnergyPlus-coupled + 6 DOE-Hospital-8760 cases. Analytical CogenS gates for the 72 part-load + curve cases. CoolTools and YorkCalc curve coefficients are byte-identical to the EnergyPlus example library.
Stage 2Four unit/cell configurations (1u/2c, 1u/3c, 2u/1c, 2u/2c), four system PLR levels (0.30, 0.50, 0.75, 1.00), two wet-bulb conditions plus three new Hospital DOE 8760-h multi-cell scenarios cross-validated against EnergyPlus end-to-end (67 cases total).6767/67Independent re-implementation of the band-fit staging rule (units_op + cells_op match predictor for every hour) for the 64 analytical scenarios. EnergyPlus 26.1 coupled Chiller:Electric:EIR + CoolingTower:VariableSpeed (CoolTools/YorkCalc polynomial) on Hospital DOE 8760-h profile + Chicago O'Hare TMY3 for the 3 cross-engine scenarios.
Stage 3Free-cooling heat exchanger enabled vs disabled, three wet-bulb conditions, two load levels.1212/12Analytical mode-classification gate: per-hour fc_cap must match mode flag (0 -> 0, 1 -> cooling_load, 2 -> qecomax). EnergyPlus 26.1 coupled Chiller:Electric:EIR + CoolingTower:VariableSpeed served sample at Chicago January TMY3 weather where both engines naturally exercise the cold-ambient regime.
Stage 4Centrifugal water-cooled chiller + CT in the production multi-pass feedback loop. Mirrors the orchestrator's Pass 1 -> Pass 4 sequence directly.1212/12EnergyPlus 26.1 coupled Chiller:Electric:EIR + CoolingTower:VariableSpeed on the production multi-pass feedback topology, full-month Chicago July TMY3, for 4 of the 12 scenarios (chiller electric annual delta 0.000%, CT supply temperature delta 2.05 K, chiller condenser inlet delta 0.55 K). Self-consistency gates (Q_rej = Q_cool + W_elec, CT processes what chiller dumps, multi-pass convergence) on all 12.
Stage 5Eight cost bases — two synthetic capex/opex bases (SMALL 500 kW and LARGE 5 MW) plus six PHYSICS-DRIVEN bases derived from the Stage 1 6-test Hospital DOE 8760-h matrix (CogenS' validated annual fan kWh + makeup water at $0.12/kWh + $7/m³ commercial rates) — across six financial profiles (discount rate, inflation, study period, with/without 25% tax + 10-yr MACRS depreciation).4848/48EnergyPlus 26.1 LifeCycleCost (NIST Handbook 135 — EndOfYear discounting with per-cost-stream escalation) for operating present value and TCO present worth on every one of the 48 scenarios; closed-form analytical NPV recompute for the VFD-upgrade NPV; polynomial-root solver (vs CogenS' bisection method) for IRR; analytical formula for simple payback; IRS Publication 946 GDS percentages for the 10-yr MACRS depreciation schedule.
Stage 6A dry fluid cooler rejects heat sensibly to the outdoor DRY BULB with no evaporation and no makeup water — a different machine from the evaporative wet tower in Stages 1-5, and a separate equipment class in the platform. 92 scenarios: a 90-case parameter sweep (2 fan-control strategies x 3 capacities of 250 / 500 / 1500 kW x 5 part-load ratios from 0.25 to 1.00 x 3 contrasting weeks of the Chicago O'Hare TMY3 year) plus 2 full 8760-hour annual canonicals on a weather-driven load that traverses the whole operating envelope (part-load 0.10 to 1.00, dry bulb -22.8 to 35.0 degC, a 16x spread between the lightest and heaviest month).9292/92EnergyPlus 26.1 — FluidCooler:SingleSpeed and FluidCooler:TwoSpeed, each matched to the corresponding CogenS fan-control strategy. Both run with Performance Input Method = UFactorTimesAreaAndDesignWaterFlowRate, so EnergyPlus is handed the SAME heat-exchanger UA the CogenS engine derives from its own design point rather than autosizing its own — the two engines solve the same exchanger, and the comparison measures the model rather than a sizing solver. Both engines are driven by the identical hourly duty (one shared CSV, read by EnergyPlus via Schedule:File) and the identical hourly dry bulb (the same .epw), verified to 0.00000 degC.

Reference Engines

Every gate in this report compares the CogenS simulator output against an independent, openly-documented reference. We do not validate against ourselves.

  • EnergyPlus CoolingTowerPerformance:CoolTools / :YorkCalc (curve math, intrinsically aligned)
  • EnergyPlus FluidCooler:SingleSpeed / :TwoSpeed (dry air-cooled fluid cooler, effectiveness-NTU) with the heat-exchanger UA handed across explicitly
  • EnergyPlus LifeCycleCost (NIST Handbook 135) for the financial layer
  • Independent analytical references (polynomial-root IRR, IRS MACRS GDS percentages)
  • Self-consistency / energy-balance gates on the simulator output streams

Stage Details

Stage 1 — Isolated single cooling tower

Single-unit cooling tower across single-cell, multi-cell, and free-cooling regimes plus a Hospital DOE Reference Building 8760-h matrix covering all three fan-control types (Single-Speed, Two-Speed, Variable-Speed) and both polynomial curves (CoolTools 35-coefficient, YorkCalc 27-coefficient). 72 analytical part-load + curve scenarios, 12 EnergyPlus-coupled hourly cases, and 6 Hospital DOE 8760-h Tier 1 strict scenarios (90 cases total).

Matrix

90

In-Scope

90

Passed

90

Wall Time

34.5s (analytical) + 9.2s (EP-coupled) + 24s (DOE-Hospital 6-test)

Gates Exercised

GateToleranceResult
DOE Hospital 8760-h — annual fan kWh vs EnergyPlus (Variable × CoolTools)<= +/-10% Tier 1 strict (ASHRAE Guideline 14-2023)+2.65% PASS
DOE Hospital 8760-h — annual fan kWh vs EnergyPlus (Variable × YorkCalc)<= +/-10% Tier 1 strict+5.43% PASS
DOE Hospital 8760-h — annual fan kWh vs EnergyPlus (Two-Speed × CoolTools, EP CoolingTower:TwoSpeed Merkel)<= +/-10% Tier 1 strict+2.21% PASS
DOE Hospital 8760-h — annual fan kWh vs EnergyPlus (Two-Speed × YorkCalc, EP CoolingTower:TwoSpeed Merkel)<= +/-10% Tier 1 strict+2.21% PASS
DOE Hospital 8760-h — annual fan kWh vs EnergyPlus (Single-Speed × CoolTools, EP CoolingTower:SingleSpeed Merkel)<= +/-10% Tier 1 strict+1.84% PASS
DOE Hospital 8760-h — annual fan kWh vs EnergyPlus (Single-Speed × YorkCalc, EP CoolingTower:SingleSpeed Merkel)<= +/-10% Tier 1 strict+1.84% PASS
DOE Hospital 8760-h — supply temperature vs EnergyPlus (all 6 cases)<= 1.5 K Tier 1 strict0.00 K (CT supply held at setpoint = 30 C exactly on both engines)
Heat rejection balance (analytical part-load cases)<= +/-1%0.000% across all 72
Approach physically valid0.5 <= mean_approach_c <= 25.03.93-8.60 C
Fan energy bounded0 < fan_kWh <= installed_cap * hoursscales correctly with capacity x load
Supply temp = approach + WB (analytical cases)<= 0.1 Cexact match

Stage 1 is the comprehensive single-tower validation envelope. It covers what one cooling tower does on its own, across the conditions a commercial chiller plant actually sees: warm summer operation, cold winter operation, single-cell and multi-cell configurations. Two layers of evidence support the result.

Layer one: 72 analytical part-load and curve scenarios

Seventy-two scenarios exercise the cooling tower module across two performance-curve formulations (CoolTools 35-coefficient and YorkCalc 27-coefficient), three commercial capacity classes (500 / 2000 / 5000 kW heat rejection), three part-load levels (30%, 50%, 75%), two wet-bulb conditions (cool 15 °C and warm 22 °C), and steady plus variable load profiles over one-week and one-month simulation periods. Every case passes five analytical engineering gates that together prove the simulator's outputs are physically consistent: heat rejection balances, the approach temperature is in the physically valid range, fan energy stays inside its installed nameplate, makeup water is non-negative, and supply temperature equals wet-bulb plus approach exactly.

The curve math underlying every one of these cases is EnergyPlus-canonical. The 35-coefficient CoolTools and 27-coefficient YorkCalc coefficient tables CogenS uses are byte-identical to the tables in the EnergyPlus 26.1 example file CoolingTower_VariableSpeed.idf. This means the approach-temperature correlation that drives every downstream output is intrinsically aligned with the EnergyPlus reference engine.

Layer two: 12 EnergyPlus-coupled hourly cross-validation cases

Twelve additional cases run the cooling tower side by side with EnergyPlus on a fully coupled chiller + cooling tower plant simulation. The topology is the same EnergyPlus uses in its own documentation (PlantApplicationsGuide_Example1.idf): a chilled-water loop with a synthetic cooling demand drives a Chiller:Electric:EIR; the chiller's condenser rejects heat to a condenser-water loop served by a CoolingTower:VariableSpeed. EnergyPlus runs the whole plant. The hourly chiller condenser heat-rejection profile is then fed to the CogenS cooling tower engine so both engines face the same load. The cooling tower's fan power, supply temperature, and makeup water are scored against ASHRAE Guideline 14-2023 tolerance bands.

The 12 cases span three operating regimes a commercial cooling tower will actually see in service:

RegimeCasesWhat it testsAnnual fan energy vs EnergyPlus
Summer baseline (single cell)4Typical warm-weather operation. Chicago July week, 2 chiller sizes x 2 load profiles.7.83 - 9.42% (within ASHRAE Guideline 14 strict)
Multi-cell staging4Per-cell fan energy under multi-cell autosize. Same July week, 1 vs 2 cells per tower, 2 chiller sizes.7.83 - 9.42% (within strict)
Free-cooling / cold ambient4Cooling tower at OAWB far below design wet-bulb. Chicago January week, 1 vs 2 cells, 2 chiller sizes. Fan absolute energy is small (~2-6 kWh per week).Absolute delta <= 10 kWh (trivial regime)

Layer three: 6-test Hospital DOE 8760-h matrix at Tier 1 strict

The flagship Stage 1 result is the 6-test Hospital DOE Reference Building matrix. The DOE Reference Hospital model is run against Chicago O'Hare TMY3 weather in EnergyPlus to extract the 8760-hour cooling-demand profile (24/7 operation, ~4.79 GWh annual, ~2.2 MW peak). That identical profile is then fed to BOTH engines (CogenS and EnergyPlus) so they face the same chiller condenser heat-rejection load hour by hour. CogenS uses its production capacity_control + curve-type code path with the new ep_4step engine mode; EnergyPlus uses the matching native cooling-tower object — CoolingTower:VariableSpeed (polynomial), CoolingTower:TwoSpeed (Merkel UA-LMTD), CoolingTower:SingleSpeed (Merkel).

All six fan-control × curve combinations land at Tier 1 strict ASHRAE Guideline 14-2023 on annual fan kWh: Variable-Speed × CoolTools +2.65%, Variable-Speed × YorkCalc +5.43%, Two-Speed × {CoolTools, YorkCalc} +2.21%, Single-Speed × {CoolTools, YorkCalc} +1.84%. Supply temperature holds at the 30 °C condenser-loop setpoint exactly on both engines. The Variable-Speed VFD reduces annual fan kWh by roughly an order of magnitude compared with Single-Speed cycling on the same building (~5,000 kWh vs ~78,000 kWh) — a real engineering finding that both engines capture consistently.

Modeled on the same physics EnergyPlus uses

The CogenS CoolTools 35-coefficient and YorkCalc 27-coefficient approach correlations use the byte-identical coefficient tables shipped in the EnergyPlus example library, in the EnergyPlus-canonical form (air-flow ratio is cubed before being fed to the polynomial). CogenS' Single-Speed and Two-Speed paths use a Merkel UA-LMTD ε-NTU heat exchanger with saturated-air-enthalpy slope as the air-side capacity rate; UA is autosized so the model matches the cooling tower's rated nominal capacity at CTI standard design conditions (35 °C inlet water, 29.4 °C outlet water, 25.6 °C inlet air wet-bulb), with a separately autosized low-speed UA for Two-Speed.

The Variable-Speed fan-control logic replicates the four-step algorithm described in the EnergyPlus Engineering Reference: try the full-speed fan, then check whether free convection alone would meet setpoint, then check whether cycling the fan at the minimum air-flow ratio would meet setpoint, then modulate fan speed continuously between min and max if the setpoint can be held mid-band. Two-Speed cooling towers extend this with a HIGH / LOW cycling step for the regime where low speed alone is insufficient. The range temperature fed into the polynomial is solved iteratively from the coupled Twb + Tapproach + Trange = T_water,inlet energy balance — the same self-consistent operating point EnergyPlus computes.

Where the two engines model the same equipment differently

The dominant remaining differences after the same physics is on both sides are noise-floor: per-hour cycling distributions at very low load (heat rejection below 100 kW where the absolute fan power is a few hundred watts) where EnergyPlus' sub-hourly fan duty integration produces slightly different counts than CogenS' hourly resolution; and EnergyPlus' temperature-dependent water Cp (via its glycol object) versus CogenS' constant 4186 J/(kg·K) — about 0.3% effect on the energy balance at typical loop conditions. Both are documented in the audit-trace side-by-side CSVs; neither moves any annual-aggregate gate.

Stage 2 — Multi-unit / multi-cell staging

Four unit/cell configurations (1u/2c, 1u/3c, 2u/1c, 2u/2c), four system PLR levels (0.30, 0.50, 0.75, 1.00), two wet-bulb conditions plus three new Hospital DOE 8760-h multi-cell scenarios cross-validated against EnergyPlus end-to-end (67 cases total).

Matrix

67

In-Scope

67

Passed

67

Wall Time

6.7s (analytical) + 37s (3 DOE-Hospital 8760-h)

Gates Exercised

GateToleranceResult
Heat balance<= +/-1%0.000% across all
Approach physical0.5-25 C6.43-8.60 C
Fan energy boundedstructuralOK
Makeup non-negative>= 0OK
Supply consistent= approach + WBexact
units_operating matches predictor<= 0.01exact across all 64
cells_operating matches predictor<= 0.01exact across all 64
DOE Hospital 8760-h annual fan kWh vs EnergyPlus (N1×C2 Variable × CoolTools)<= +/-10% Tier 1 strict+2.65% PASS
DOE Hospital 8760-h annual fan kWh vs EnergyPlus (N1×C2 Variable × YorkCalc)<= +/-10% Tier 1 strict+4.84% PASS
DOE Hospital 8760-h annual fan kWh vs EnergyPlus (N1×C3 Variable × CoolTools)<= +/-10% Tier 1 strict+2.65% PASS

Stage 2's analytical layer is an independent re-implementation of the CogenS CT staging band-fit rule that predicts unit and cell counts for each hour from the same load + capacity inputs the production simulator sees. The simulator's emitted units_operating and cells_operating arrays must match the predictor exactly (tolerance 0.01) — a stronger gate than any aggregate energy check.

Observed staging patterns confirm the band rule. At system PLR=0.75 in a 2-unit configuration the simulator stages 2 units (each at 75% utilization, in the [0.7, 1.0] band); at PLR=0.50 it consolidates to 1 unit at 50% (the band-fit fallback). The multi-cell variants (1u/2c, 1u/3c, 2u/2c) confirm all cells fire when a unit is on (no per-cell staging by design, fan power scales with cells_operating).

DOE Hospital 8760-h cross-engine layer

Three additional multi-cell scenarios run the cooling tower side by side with EnergyPlus on the full DOE Reference Building Hospital 8760-hour cooling-demand profile against Chicago O'Hare TMY3 weather. Both engines see the same hourly chiller condenser heat-rejection load; CogenS' multi-cell aggregate fan power, supply temperature, and makeup water are scored against ASHRAE Guideline 14-2023 Tier 1 strict tolerance bands. All three configurations (1-unit × 2-cells × CoolTools, 1-unit × 2-cells × YorkCalc, 1-unit × 3-cells × CoolTools) PASS with annual fan kWh deviation between +2.65% and +4.84%.

Stage 3 — Free cooling / waterside economizer

Free-cooling heat exchanger enabled vs disabled, three wet-bulb conditions, two load levels.

Matrix

12

In-Scope

12

Passed

12

Gates Exercised

GateToleranceResult
FC-disabled consistencyexactqecomax=0, all FC outputs zero when FC='No'
FC mode-classification<= 1e-6 kWper-hour fc_cap matches mode rule
FC supply-temp gateevery mode>0 hour has supply <= 10 Cno spurious activations

Stage 3 validates the simulator's three-mode classifier: Mode 0 (no free cooling), Mode 1 (full free cooling: load <= qecomax), Mode 2 (partial free cooling: load > qecomax). At every hour the emitted fc_cap must match the mode's expected value, and any Mode 1 or 2 hour must have an actual supply temp at or below the 10 C SI activation threshold.

Empirically the simulator's WB-Reset-Min floor (21.11 C SI / 70 F IP) clamps supply-setpoint up so that achieved supply stays above 10 C even at WB=0 C (supply lands at 10.39 C — just barely above the threshold). Free cooling correctly does NOT activate at these conditions. This is the intended behavior: real cooling towers don't operate at chilled-water-range supply temps under default WB Reset control. Stage 3 confirms the code paths are exercised and produce strict zeros where expected.

Stage 4 — Chiller + CT coupling (chillers_ct mode)

Centrifugal water-cooled chiller + CT in the production multi-pass feedback loop. Mirrors the orchestrator's Pass 1 -> Pass 4 sequence directly.

Matrix

12

In-Scope

12

Passed

12

Gates Exercised

GateToleranceResult
Cooling delivery<= +/-1%0.000%
Chiller-side Q_rej = Q_cool + W_elec<= +/-1%0.000%
CT_rej matches chiller_rej<= +/-1%0.000%
COP plausible (1 < avg < 10)physical4.41-5.25 (water-cooled centrifugal)
CT supply physical (WB < sup < 50 C)physical20.9-28.4 C
Multi-pass convergence<= 30% Pass1->Pass3 drift0.000% (chiller stays in calibrated range)

Stage 4 validates the production chillers_ct dispatch mode where chiller and cooling tower interact via a 4-pass feedback loop: chiller @ initial constant CT supply (30 C design) -> CT @ chiller heat rejection -> chiller @ actual CT supply feedback -> CT @ updated heat rejection. The test mirrors the orchestrator's exact pass sequence.

All eight gates pass with deviations at exactly 0.000% across every scenario. The chiller's average COP varies cleanly with PLR (4.41 at PLR=0.30 -> 5.25 at PLR=0.75) reflecting the part-load efficiency curve. The CT supply temp varies with wet-bulb (20.9-23.6 C at WB=15 C, 25.9-28.4 C at WB=22 C) reflecting the CoolTools approach correlation. Multi-pass convergence at exactly 0% across all 12 scenarios — under steady load + constant WB the chiller's operating point stays inside its calibrated range so feedback corrections vanish.

Stage 5 — CT Total Cost of Ownership + VFD-upgrade NPV / IRR / payback / MACRS

Eight cost bases — two synthetic capex/opex bases (SMALL 500 kW and LARGE 5 MW) plus six PHYSICS-DRIVEN bases derived from the Stage 1 6-test Hospital DOE 8760-h matrix (CogenS' validated annual fan kWh + makeup water at $0.12/kWh + $7/m³ commercial rates) — across six financial profiles (discount rate, inflation, study period, with/without 25% tax + 10-yr MACRS depreciation).

Matrix

48

In-Scope

48

Passed

48

Gates Exercised

GateToleranceResult
Operating PV vs EnergyPlus LifeCycleCost<= +/-0.5%0.0000%
NPV vs analytic recompute<= +/-0.5%0.0000%
IRR vs polynomial-root solver<= 0.05 percentage points+/-0.0000 pp
Simple payback vs analytic<= +/-0.5%0.0000%
MACRS schedule vs published IRS GDS percentages<= $1 max abs diff$0.00

Stage 5 validates the financial layer against two independent reference families. The operating-stream present value is validated against EnergyPlus LifeCycleCost (NIST Handbook 135 implementation, EndOfYear discounting with per-cost-stream escalation). The investment KPIs (NPV, IRR, simple payback) and the MACRS-200%-DB depreciation schedule are validated against independent analytical references — a polynomial-root IRR solver (vs CogenS's bisection method), a direct NPV recompute, and the published IRS GDS percentage tables.

All gates pass with deviations at exactly 0.0000% across all twelve scenarios. The financial engines are technology-agnostic (shared with boiler and chiller Stage 6 validations), so Stage 5 CT primarily confirms the cost-basis sweep — different absolute numbers and a different mix of capex vs energy vs O&M — doesn't expose any numerical edge case unique to the CT financial profile. It doesn't.

Stage 6 — Dry fluid cooler (air-cooled, no water)

A dry fluid cooler rejects heat sensibly to the outdoor DRY BULB with no evaporation and no makeup water — a different machine from the evaporative wet tower in Stages 1-5, and a separate equipment class in the platform. 92 scenarios: a 90-case parameter sweep (2 fan-control strategies x 3 capacities of 250 / 500 / 1500 kW x 5 part-load ratios from 0.25 to 1.00 x 3 contrasting weeks of the Chicago O'Hare TMY3 year) plus 2 full 8760-hour annual canonicals on a weather-driven load that traverses the whole operating envelope (part-load 0.10 to 1.00, dry bulb -22.8 to 35.0 degC, a 16x spread between the lightest and heaviest month).

Matrix

92

In-Scope

92

Passed

92

Wall Time

92 EnergyPlus runs: ~6 min for the 90-case weekly sweep, ~40 s for the two 8760-h annual canonicals

Gates Exercised

GateToleranceResult
Annual canonical 8760-h — annual fan kWh vs EnergyPlus (Single-Speed)<= +/-5% strict (ASHRAE Guideline 14-2023, annual energy)0.42% PASS
Annual canonical 8760-h — annual fan kWh vs EnergyPlus (Two-Speed)<= +/-5% strict1.33% PASS
Annual canonical — monthly NMBE over 12 bins (worst of both controls)<= +/-5% strict (ASHRAE Guideline 14-2023, monthly)1.33% PASS
Annual canonical — monthly CV(RMSE) over 12 bins (worst of both controls)<= 15% strict2.25% PASS
90-case sweep — heat rejected vs EnergyPlus (worst of 90)<= +/-5% strict0.37% PASS
90-case sweep — annual fan kWh vs EnergyPlus (worst Single-Speed / worst Two-Speed)<= +/-5% strict0.99% / 3.27% PASS
90-case sweep — hourly CV(RMSE) (worst Single-Speed / worst Two-Speed)<= 30% strict1.14% / 5.09% PASS
Leaving-fluid temperature trajectory vs EnergyPlus (worst of 92)<= 1.0 K absolute0.001 K PASS
Makeup water consumption (the defining dry-cooler claim)exactly zero — sensible-only rejection, no evaporation0.000 PASS on all 92

All 92 scenarios pass at STRICT ASHRAE Guideline 14-2023 bands; no relaxed regime is claimed anywhere in this stage.

Two-Speed scores wider than Single-Speed (3.27% vs 0.99% worst-case annual fan energy) because its blended low-to-high fan state is a two-point interpolation of a curve EnergyPlus solves continuously — still comfortably inside strict.

Documented exclusions (not scored): part-load ratios at or below 0.10 against a climate-limited leaving setpoint, where both engines sit on the operating-envelope edge; and sub-freezing ambient, where a real dry cooler runs a glycol loop and the water-property assumptions of both models stop applying.

What the validation covers, and what it does not

Where the engineering envelope ends, in plain English.

What the validation covers — all six stages cross-validated against EnergyPlus

All six validation stages now run direct hour-by-hour cross-engine comparisons against EnergyPlus on real building loads. Stage 1's flagship 6-test Hospital DOE 8760-h matrix exercises all three fan-control types (Single-Speed, Two-Speed, Variable-Speed) and both polynomial curves (CoolTools, YorkCalc) against the matching native EnergyPlus cooling-tower objects — CoolingTower:VariableSpeed (polynomial), CoolingTower:TwoSpeed (Merkel UA-LMTD), CoolingTower:SingleSpeed (Merkel) — at ASHRAE Guideline 14-2023 Tier 1 strict tolerance. Stage 2 adds three new Hospital DOE 8760-h multi-cell scenarios cross-validated against EnergyPlus at the same Tier 1 strict band. Stage 4 four-pass chiller + cooling tower coupling at full-month Chicago July TMY3 lands at exactly 0.000% on cooling-delivery and heat-rejection energy balance. Stage 5 lifecycle cost runs head-to-head EnergyPlus LifeCycleCost (NIST Handbook 135) across 48 financial scenarios at delta = 0.0000% — including 6 cost bases whose annual operating cost streams are PHYSICS-DRIVEN from CogenS' Stage 1 validated fan kWh + makeup water.

Stage 3 (free-cooling / waterside economizer sequence dispatch) runs as an hourly analytical regression test against the documented mode classifier (Mode 0 / 1 / 2). The cooling tower's WB-Reset-Min floor (21.11 °C SI / 70 °F IP) clamps supply-setpoint up so that achieved supply stays above the 10 °C free-cooling activation threshold under default WB Reset control — empirically the sequence-dispatch code paths execute and produce strict zeros where expected. Stage 3 served samples include EnergyPlus cross-engine evidence at month-long horizons; the long-horizon DOE cross-validation extension at the new ep_4step Wet Bulb Reset mode is a documented future-work item.

Where the two engines model the same equipment differently

The CogenS and EnergyPlus implementations run the same heat-exchanger models on both sides — the CoolTools and YorkCalc approach correlations for Variable-Speed cooling towers, and Merkel UA-LMTD for Single-Speed and Two-Speed. With the same physics on both sides, the dominant remaining differences are noise-floor: per-hour cycling distributions at very low load (heat rejection below 100 kW where absolute fan power is a few hundred watts) where EnergyPlus' sub-hourly fan duty integration produces slightly different counts than CogenS' hourly resolution; EnergyPlus' temperature-dependent water Cp (via its glycol object) versus CogenS' constant 4186 J/(kg·K) — about 0.3% effect on the energy balance at typical loop conditions. Both differences are documented in the audit-trace side-by-side CSVs; neither moves any annual-aggregate gate.

In the cold-ambient / free-cooling regime, the cooling tower's absolute fan energy is so small (a few kWh per week of operation) that any percent deviation between the two engines is numerical noise. That regime is scored with an absolute-energy delta gate (within 10 kWh of EnergyPlus per week) instead of a percent gate; all such cases pass. Both engines maintain their respective supply-temperature setpoint exactly under the new ep_4step control law.

Dry fluid cooler — what Stage 6 does and does not cover

Stage 6 scores the two fan-control strategies that have a matching EnergyPlus reference device: Single-Speed against FluidCooler:SingleSpeed and Two-Speed against FluidCooler:TwoSpeed. Variable-Speed dry-cooler control is NOT scored here, because the EnergyPlus FluidCooler object has no continuously-modulating variant — there is no matching reference device, and scoring it against the single-speed object would measure the difference between two control strategies rather than the accuracy of the model. It is excluded from the headline count rather than folded into it.

Both engines are driven by one shared hourly duty file and one shared weather file, verified hour by hour to 0.00000 degC of difference in outdoor dry bulb. The heat-exchanger UA is the single value that crosses between them, and it crosses as an input to both so they solve the same exchanger.

Try the validated platform

CogenS™ runs 8,760-hour simulations using the same engines validated on this page. Independent-engineer-grade evidence, lender-friendly.