Validation

How the model reads against published data. Every row is a comparison a test in the code makes and fails on if the number moves — the readings here are those tests' readings, not a marketing summary of them. The publications themselves are on Where the numbers come from.

WhatAgainstPointsReading
Fin-and-tube coil model (Elmahdy & Biggs air side, Gnielinski/Dittus-Boelter bracket water side, computed fin efficiency, contact resistance)Carrier 28B-3PD rating matrix — rows 4/6/8/10 × three circuitings × 8/11/14 fpi at one stated condition36total capacity RMS 1.21 %, worst 2.0 %; sensible RMS 0.98 %; leaving RH within 0.5 points on average (re-read 27 Aug on the corrected saturation line, calibration 0.81)Held by the_coil_model_against_carriers_rating_matrix
Coil model, wavy finColmac Engineering Bulletin 5050 worked selection (ARI 410 geometry)1within 5 % of the published duty at a fin enhancement of 1.20, inside the literature's 1.1–1.3 bandHeld by the_coil_model_against_colmacs_published_selection
Coil model, wet — against a manufacturer's own selection softwareGüntner myGPC, GACV WP 045.1HF chilled-water air cooler: 80 kW asked, water 7 → 12 °C, air on 27 °C / 46 % RH, 160.1 m² at 4 mm fin, air off 14.4 °C, 0.38 bar (rows, tube and circuits inferred from the printed surface, tube volume and pressure drop)1leaving air 14.3 °C against 14.4; sensible 58.1 kW against the 57.3 the printed air-off implies; total 75.2 kW — 3 % under the unit's own capacity (the selection carries a −3.2 % surface reserve), 6 % under the 80 kW asked. The miss is the moisture: latent 17.1 kW against 22.7. Carrier's 36 published points above are at the same air and the same 7.2 °C water and are reproduced to −8…+6 % on latent, so this is recorded as a question about what a selection program computes, not a defect in the wet model — the certified plates below read the same direction and are also a program's outputHeld by the_coil_model_against_guntners_chilled_water_air_cooler
Coil model, wet — against a measured coilSuper Radiator Coils' own wind-tunnel tests to ASHRAE 33-2016 (Stusynski & Yu, Purdue 2024, posted on the maker's blog): one 12-row chilled-water coil, 23.75 × 24 in, staggered 0.5 in tubes, sine fin at 10 fpi, fully wet at 92 °F air of 40 and 80 % RH, 250 and 350 ft/min, 52 °F water at 30–49 gpm. Tube spacing, circuiting, wall, the fin's enhancement and the entering water are not printed and are bracketed — 162 coils per test4every measured total, sensible, latent and leaving air inside the bracket — total −6.0…+4.4, −9.4…+2.0, −2.6…+2.9 and −8.7…+0.7 %; 24 of the 54 coils the printed facts admit reproduce all four tests inside the RH sensors' band, the bracket's centre −0.7 and −1.1 % on total at the two tests whose water the paper prints. No wet gain is needed to reproduce a measured coil, and none could be seen on this one: it runs at 94–99.6 % of the duty its air could give up, where a quarter more on the wet air side moves the reading 0.8–1.7 % on total, less than the unprinted entering water does (2.0–4.1 %) — so the wet-gain question stays open for a shallow or partially wet coilHeld by the_coil_model_against_super_radiators_measured_wet_coil; docs/super-radiator-wet-coil-source.json
Dry-coil Colburn j-factor and whole-coil UATaylor 2004 (Georgia Tech) measured plain-fin coils38 + 1j +13.3 % mean against 38 measured points (inside the 3–18 % contact resistance the thesis folds into its own j); UA 0.6380 against a measured 0.6327 kW/K — 0.8 % (0.14 % at the pre-27-Aug calibration)Held by the_colburn_j_against_measured_dry_coil_data, the_coil_model_against_a_measured_dry_coil
Water-side pressure drop, tubes and headersColmac's published tube-side figure; Carrier 28BC's thirteen assembly drops1 + 1314.6 ft of water against a stated 14.5 with nothing fitted; the thirteen assembly drops within ±12 % (eleven inside ±7 %)Held by the_water_side_pressure_drop_matches_colmacs_published_figure, the_header_term_closes_carriers_assembly_drops
Coil model against a coil maker's selection program, across tube size and circuiting — a bracket, not a measurementUSA Coil & Air's own published selections (two 2019 newsletter posts): one chilled-water coil — 4 rows, 10 fpi waffle fin, 30 × 60 in, 6 250 SCFM at 80/67 °F, 38 gpm at 45 °F — on 5/8 in and 1/2 in tube at half, full and double circuiting, and the EZ-Coil printout's selection C-1 (14 fpi, 44.84 gpm). Geometry as printed, the bore the printed water velocity names, the waffle fin read at both ends — plain and configured; one printed total is withheld by name, being less than its own leaving air carries7every held total between the plain-fin and configured-fin readings (plain −1.0 to −5.5 %, configured +0.3 to +3.5 %); C-1 −1.5 % on total, +1.3 % on sensible, air off within 0.3 °F. The six newsletter selections print their leaving air saturated, and the model's sensible reads 10–15 % under them. Water side: the printed drop is the tube model's across the circuiting sweep (slope 1.03 and 1.02) plus 1.7–1.8 ft that does not move with the circuiting — not the header term, which moves 16 : 4 : 1 with it. Recorded; nothing fittedHeld by the_coil_model_against_usa_coils_published_selections; docs/usa-coil-selections-source.json
Cooling-tower model (Merkel's balance integrated along the fill, one default fill exponent)Marley Aquatower performance tables, 13 models × 49 conditions615mean +0.018 K, RMS 0.229 K, worst 0.58 K on cold-water temperature, with L/G 1.8 assumed (Marley print no airflow)Held by the_tower_model_against_marleys_performance_table
Cooling-tower model, zero fitted parametersEVAPCO LPT bulletin, 43 models × 20 metric conditions, published airflows856mean −0.03 K, RMS 0.064 K, worst 0.24 K — NTU from the vendor's own Eurovent column, the shipped default exponent (−0.7, the joint minimum with Marley's table)Held by the_tower_model_against_evapcos_lpt_table
Cooling-tower model against a third maker's whole open-tower range, one fill exponent per rangeBaltimore Aircoil's CTI Selection / Performance Tables — FXT, PT2, Series V, Series 1500 and Series 3000: per model, the water flow handled at 44–49 conditions of entering wet bulb (50–90 °F), range (10–15 °F) and approach (7–12 °F). Each listing's NTU comes from its one nominal rating, as it ships; the table is the second condition19 281 over 438 machinesRMS 0.11 K (FXT, Series 1500), 0.13 K (PT2), 0.15 K (Series 3000), 0.20 K (Series V); every mean within ±0.09 K, worst 0.95 K. One constant per range was chosen on these tables: how the fill's transfer moves with water loading (−0.9 to −1.3, against −0.7 on EVAPCO's table), chosen on half of each range's models and confirmed on the other; the counterflow ranges are read through Merkel's balance integrated and the two crossflow ranges marched as crossflow. On the old single-chord model and one shared exponent the same tables read 0.31–0.48 K, with a trend of +0.5 K at a 50 °F wet bulb to −0.5 K at 90 °F on every range; what is left of it is up to 0.17 K cold at 85–90 °FHeld by the_tower_models_against_bacs_cti_tables
Cooling-tower model against a fourth maker's whole open-tower range, nothing fitted to itEVAPCO's own CTI 49-point performance table for the AT range — per model the water flow handled at 49 conditions of entering wet bulb (50–90 °F), range and approach — with each machine built from EVAPCO's engineering data (nominal tonnage, fan motor, airflow in CFM) under their own note that a nominal ton is 3 gpm cooled 95 → 85 °F at a 78 °F wet bulb, so every NTU comes from one point the maker certified45 945 over 992 machinesmean −0.083 K, RMS 0.220 K, worst 1.89 K on leaving water. 0.098 K at the 78 °F rating wet bulb, where the NTU is derived, rising to 0.283 and 0.288 K at 50 and 90 °F. The fill's loading exponent was swept on either half of the range and the shipped default (−0.7, the joint minimum of EVAPCO's own LPT bulletin and Marley's table) is the minimum for this range too, so it carries no constant of its own — unlike BAC's five, which wanted −0.9 to −1.3Held by the_evapco_at_listings_read_their_own_cti_tables
Closed-circuit cooler model against a second maker's whole range, nothing fitted to itEVAPCO's own CTI 49-point performance table for the ATWB range — per model the process-fluid flow handled at 49 conditions of entering wet bulb, range and approach — with each machine built from their engineering data (fan motor and CFM, spray pump and its GPM, coil volume) and their own entering-fluid limit of 170 °F. This line publishes no nominal rating to quote, so one column of the certified table is the rating point, chosen by conditioning alone — every model is certified there and it has the widest approach of the columns where that is true, so no machine is rated near its ceiling — and the other 48 columns are held out19 131 over 416 machinesmean −0.039 K, RMS 0.234 K, worst 3.29 K on leaving fluid, every one of the 416 deriving its coil conductance and reproducing its own certified point. The worst is the 82.4 °F column, which sits +0.55 K out at an RMS of 1.05 K where every other wet bulb reads inside 0.4 K, does not move when the coil constants are swept over six hundredfold, and is recorded as a question for EVAPCO rather than fitted around. The two coil constants were swept on either half of the range and the shipped defaults kept: the sweep's own minimum sits at the edge of the grid and buys 0.03 K, so this range carries no constant of its own eitherHeld by the_evapco_atwb_listings_read_their_own_cti_tables
Cooling-tower model against a smaller maker's two crossflow lines, one fill exponent per lineAmerican Cooling Tower's own CTI 49-point tables for the ACX and ACC lines (validation C38C-18R02 and C38E-25R00) — per model the water flow handled at 49 conditions of entering wet bulb (50–90 °F), range and approach — with each machine built from the maker's brochure and catalog (nominal tons, fan motor, airflow in CFM) under their own note that a nominal ton is 3 gpm cooled 95 → 85 °F at a 78 °F wet bulb, so every NTU comes from one point the maker certified. Four printed cells are withheld by name: two copied from the neighbouring range, two with a dropped digit4 651 over 95 machinesACX: mean −0.092 K, RMS 0.122 K, worst 0.47 K over 4 113 points; ACC: mean −0.077 K, RMS 0.116 K, worst 0.33 K over 538. One constant per line — how the fill's transfer moves with water loading — chosen on half of each line's models and confirmed on the other: −1.0 on ACX and −0.8 on ACC, between BAC's crossflow ranges (−1.2, −1.3) and the counterflow default (−0.7), on which the same lines read 0.23 and 0.18 K. Marched as crossflow or integrated as counterflow the tables read within 0.01 K of each other, so the arrangement is the maker's statement and only the exponent is the table'sHeld by the_american_cooling_tower_listings_read_their_own_cti_tables
Cooling-tower model against a smaller maker's own capacity table, nothing fitted to itCooling Tower Systems' own Tower Capacities table for its T-2 round counterflow towers, which are not CTI-certified — per model the water flow handled at twelve conditions of hot water, cold water and entering wet bulb (65–82 °F) — with each machine built from the maker's engineering brochure (fan motor, air volume in CFM) and rated at the table's own 95/85/78 column, 3 gpm a ton; the maker's own nominal is its 75 °F column, and the other eleven are held out. Three printed cells are withheld by name: one with a slipped first digit, two of one column that sit 7 and 11 % under the line's own shape294 over 27 machinesmean −0.014 K, RMS 0.054 K, worst 0.18 K on leaving water. The fill's loading exponent was swept on either half of the line and the shipped default (−0.7) is the minimum on both, so the line carries no constant of its own; read as crossflow it does worse (0.066 K at its own best exponent), as the maker's counterflow statement says it should. The four columns under a 75 °F wet bulb read 0.04–0.08 K cold. The one airflow the maker's documents disagree on — 175 000 CFM for the T-3000 in the brochure and on its own page, 218 950 on its 2025 specification sheet — is the brochure's: the table reads that row at 0.084 K RMS against 0.184Held by the_cooling_tower_systems_listings_read_their_own_capacity_table
Closed-circuit cooler (an evaporative wet coil whose spray film varies along the coil), two coil constants per rangeBaltimore Aircoil's CTI tables for FXV, PFi and Series V closed circuit, the water sections — the spray flow from BAC's own engineering data, the NTU from each listing's one nominal rating18 831 over 392 machinesRMS 0.10 K (FXV), 0.09 K (PFi), 0.10 K (Series V closed circuit). Two constants per coil design were chosen on these tables — the split between the fluid-side and air-side conductances (2, 1, 4) and how the fluid side moves with the fluid's flow (−0.8, −0.8, −0.6) — each the same on either half of the range's models. The second has an independent reading: the fluid side is the tube film in series with the spray film outside the tube, and a tube-side calculation from each coil's printed volume and pressure drop, using nothing from these tables, puts it at −0.5 to −0.8 whatever the unpublished tube bore. On the earlier constants (3 and −0.2, the tube film alone) the same tables read 0.17–0.32 K, and 0.2–0.5 K cold at the high wet bulbs. On the points a uniform film also reaches, the gradient reads 0.09–0.10 K against the uniform film's 0.15–0.19 K at the same constants; under the earlier constants the two read within 0.01 KHeld by the_tower_models_against_bacs_cti_tables
Compressor maps converted from the vendor's own rating databaseCopeland nomenclature (ZP104 is 104 kBtu/h at 45/130 °F, …) on thirteen basis sets; capacity per displacement within each family5 452 maps (4 776 of the worldwide publication, 676 of the Asia and China publications listed for their region)every basis median within 3.1 % of the nomenclature; the vendor's polynomial substituted exactly, never refitted; each map's superheat and subcooling reference read off its own rating row (the ZW heat pumps at 5 K, the ZH/YH at 10 K, the Discus at 25 K, the small hermetics at a 40 °F return gas)Held by the_copeland_maps_reproduce_their_nominal_capacity, the_copeland_conversion_is_the_vendors_polynomial_in_si
Danfoss compressor maps converted from the maker's own selection databasethe VZH052CJ report Coolselector2 produced (twenty speeds, capacity and power), Danfoss nomenclature on the air-conditioning scroll families (a model number is its nominal 60 Hz capacity in kBtu/h at 45/130 °F, 50/60 of it at 50 Hz), and the solver's own mass-flow closure — Q = ṁ·Δh with CoolProp's refrigerating effect at each map's rating point4 677 maps (186 variable-speed with a step per rated speed, 4 427 with a mass-flow set); 553 nomenclature maps; 400 coefficients against the reportthe VZH052's 400 coefficients identical to the report's; eighteen family medians between 0.95 and 1.053 of their model number, 543 of the 553 within 10 % (the ten outside are the smallest Maneurop recips, whose numbers are size codes); the closure median on every family between 0.994 and 1.049 (the R407C scrolls at the top, about 5 % over; nearly every other family within 1 %) over 4 427 sets, the three sets that disagree withheld, and the thirteen HHP heat-pump maps left out because their capacity set is a heating capacity (their closure reads 0.73–0.78, and ṁ·Δh + P reproduces it to 3 %); the polynomials substituted exactly, never refittedHeld by the_danfoss_maps_reproduce_their_nomenclature, the_danfoss_maps_close_their_own_cycle, the_danfoss_inverters_are_stepped_consistently
Part-load interpolation between published compressor stepsDanfoss VZH088's own thirty-term polynomial in (te, tc, speed)the envelope between 16 steps0.04 % mean, 0.21 % worst between the knotsHeld by steps interpolation guard (components.rs)
Fan power from a published power curve through the fan lawsebm-papst RadiPac K3G450-AQ24-90 measured points4all four reproduced; a constant efficiency mis-stated them by 19–100 %Held by the_ebmpapst_listing_reproduces_its_measured_points
Tecumseh hermetic compressor maps, the maker's own coefficient setsTecumseh's TSelect selector: every listing row carries the model's ten-coefficient sets for capacity, power and current with their rating basis, the envelope, and the selector's own capacity and power computed at the regime's rating point — the same polynomial evaluated by the maker's server, corrected by the maker from the map's basis to the regime. For the zeotropes the selector states each rating condition on the glide's mid-point and at the dew point, and the liquid temperature at 0 K subcooling beside it1 883 maps from 313 models on fifteen fluids (R404A 324, R452A 250, R448A 244, R449A 240, R134a 178, R455A 115, R290 109, R454C 106, R22 97, R513A 89, R407C 61, R1234yf 53, R600a 10, R410A 4, R407A 3) at 93 application × refrigerant × frequency listingspower reads the selector's point within 0.95 % on every map (units and coefficient order, BTU/h sets scaled and Fahrenheit sets substituted exactly); the 1 019 zeotrope maps read it to 0.00 % at the selector's dew pair and 3–10 % low at its mid-point pair, which is how the polynomials were shown to be dew-point maps; 1 378 maps rate at their own basis and read the selector's capacity within 1 %; on the 505 the selector corrected from a liquid-temperature or return-gas basis to the regime, this solver's AHRI 540 §6 correction reproduces the selector's corrected capacity within +0.2 % on average (the raw polynomial sits +8.7 % over it), single maps ±11 % where a return-gas basis is carried as one reference superheat. The envelope limits, which the selector states on the mid-point, are converted through the selector's own mid ↔ dew pairs (within 0.05 K of every pair, within 0.7 K of its stated 63 °C-mid condensing ceiling). The bubble line the subcooling is measured from reads the selector's liquid temperatures within 0.4 K on R448A, R449A, R452A, R407C and R404A, 0.6 K on R454C and 1.0 K on R455A — the two property sources' own disagreement on the blends' saturation linesHeld by the_tecumseh_maps_read_the_selectors_point, a_zeotropes_liquid_leaves_the_condenser_at_its_bubble_point; docs/tecumseh-maps-source.json
Embraco hermetic and variable-capacity compressor maps, fitted from the maker's published tablesthe maker's own product selector (Nidec Global Appliance PSS): per model, standard and refrigerant the published table of capacity, power and mass flow at five to nine evaporating temperatures for three or four condensing levels, the operating-envelope polygon and the rating point; the solver's mass-flow closure Q = ṁ·Δh at every rating point1 283 maps from 815 models (R134a 518, R600a 315, R290 285, R404A 141, R22 11, R1234yf 10, R422D 2, R502 1); 178 variable-capacity models with a table per speedfitted at the order each table's levels determine (three condensing levels: quadratic in tc), the tables are reproduced at a median RMS of 0.08 % (p90 0.20 %); every map reads the standard's own rating point within 0.08 % at the median and 0.4 % at the ninetieth percentile; every carried flow set closes the identity once the rating's own return-gas and liquid temperatures are read off the node (ASHRAE rates with the liquid at 32.2 °C, 22 K under the condenser). 72 tables withheld and listed by reason: blend groups published as one table, variable-capacity models with fewer than three speeds tabulated, three with a COP under 0.5 at the rating point, three duplicatesHeld by the_embraco_maps_read_their_own_rating_points; docs/embraco-maps-source.json
Invotech scroll maps read from the Invowin selection tool's own databaseInvotech's model nomenclature (YH150 is 15.0 kW at 7.2 / 54.4 °C) on the 106 YH 50 Hz rows; the tool's own displayed rating per row; the solver's mass-flow closure Q = ṁ·Δh at every rating point1 103 maps (R22, R410A, R404A, R407C, R134a, R448A, R449A, R452A, R455A, R454C; 50 and 60 Hz)nomenclature median +0.5 %, worst 5.1 %; the tool's SI cubics carried exactly, ×1000 and ÷3600; 990 flow sets close within 15 %, 113 whole low-temperature families sit at a flat 0.76–0.85 of Q/Δh and ship without their flow set, each recorded with its ratioHeld by the_invotech_maps_reproduce_their_nomenclature, the_invotech_maps_close_their_own_cycle; docs/invotech-maps-source.json
KSB Etaline L in-line pumps read from the type-series booklet's curvesKSB booklet 1514.5/02-EN: 33 Q–H and Q–P curves (every size at 2900 and 1450 rpm) and the motor table's P2 max. per size; electrical power through IEC 60034-30-1 IE3 at the motor's rating33 listingsthe shaft power at every listing's rating point sits under its motor; the implied pump efficiency runs 0.29 on the smallest size to 0.72 on the 65-65-125, the shape a fixed-speed range has; the curves reproduce their own rating points within 3 %Held by the_ksb_listings_sit_under_their_motor_ratings; docs/ksb-pumps-source.json
Steam humidifiers against their maker's own tables: the model's 2 613 kJ per kilogram of steam (feed water at 15 °C to steam at 100 °C) and one efficiency per listingPURE Humidifier's ES and GX sheets: 23 electric sizes (lb/h, kg/h, kW, the amps at nine supply voltages and the heaters each carries) and 4 gas-fired sizes (lb/h, kg/h and the Btu/h input, held to the same sheet's gas table in natural-gas and propane CFH). Every column read is held to a second the same document prints, and the heater rating of two sizes is withheld by name27 listings; 129 amps cellsthe electric ES prints 3.0 lb/h per kW — the sheet calls it 100 % efficiency, 1 137 Btu per pound of steam — which reads 0.988 on the model's datum on all 23 electric sizes; the gas-fired GX reads 0.843 on three sizes and 0.824 on the smallest, at the brochure's own 'combustion efficiencies up to 84%' within rounding, and under its product page's 'up to 85%'. At its listing's efficiency the model makes the printed steam on the printed input within 0.005 % on all 27Held by the_pure_humidifiers_read_their_own_tables; docs/pure-humidifier-humidifiers-source.json
A hydronic baseboard rated per foot, against its maker's own table: the emitter's power law read from one printed column, the figure ÷ 1.15 and over 65 °F entering air, carried to every other water temperature by an exponent fitted on the printed columnsU.S. Boiler's Baseboards & Radiators data sheet (USBL13025, 2024) — the printing its Baseray product page links: the 9A element's net ratings per linear foot at nine average water temperatures from 150 to 230 °F, at 500 and 2 000 lb/h (1 and 4 gpm), which the sheet says include an allowance of 15 % for heating effect and are based on active length. It prints no entering air; the I=B=R/AHRI baseboard code whose allowance it carries rates over 65 °F, the reference the listing is read against (the owner's call of 10 Oct 2026). The 2020 product guide prints a fifth more at every cell (0.81–0.83 of it on the sheet) and is recorded beside it18 water cells and the steam rating; 1 listinglisted at the 180 °F, 1 gpm column — 480 Btu/h a foot ÷ 1.15, 0.122 kW over 0.3048 m at 63.9 K — with n 1.238, the least-squares fit of all nine 1 gpm columns as printed against 65 °F (largest deviation of the fit 1.7 %), the model reads every 1 gpm cell within 3.2 % (+3.17 % at 150 °F: the listing holds the 180 °F cell as printed, 480, where the fit's line reads 473), on a run of one foot and of ten. The fit is the printed table's, not a measurement's: the sheet does not say which columns were tested, and from 170 °F up its 1 gpm row is a straight line, 5 Btu/h a foot per °F, which no power law draws. That fit stands over the model's default exponent (the owner's call of 10 Oct 2026, recorded with the data): at 1.3 the model would read the 1 gpm cells −0.8 to +5.1 %; which columns were tested is a question for U.S. Boiler. The model has no flow term, so it reads every 4 gpm cell 2.5 to 5.9 % under — the uplift the sheet prints and the model leaves out. In a room: the rating is over 65 °F entering air and the model reads Δt over the air entering the part, the room's in a building, so a 68–70 °F room reads 3.2–5.4 % under the tested rating at 180 °F average water and 4.9–8.2 % at 140 °F, which the listing's page states. Not modelled: the steam rating (860 Btu/h at 215 °F), which the sheet's own 3.40 sq ft of EDR does not give (816)Held by the_baseray_baseboard_reads_its_own_table; docs/us-boiler-baseray-source.json
Panel radiators rated per foot, against their maker's own tables: the emitter's power law read from the one column the maker's correction table does not generate, carried to the others by the model's default exponent — none being measuredSigma's SRK panel-radiator catalogue (SIG-SRK-CAT-2405, May 2024): 112 E24-element and CV2/CV3-coil rows, wall-mounted and on pedestals, in Btu/h per foot at 100 to 160 °F average water over 65 °F entering air and 3 ft/s, under the note that its correction factors apply against the 160 °F column. Every 100–150 °F cell is that column times Sigma's own factor within 2.1 Btu/h a foot but one, a pedestal SRK-5's 774 where the factor gives 744.6, named. No heating-effect allowance is stated, so each listing holds its 160 °F cell as printed. Sigma's wall-fin catalogue is read and lists nothing: every water column of its 403 rows is a steam rating times a fixed multiplier784 printed cells; 112 listingslisted at the 160 °F column (52.8 K over 65 °F) with the model's default exponent, 1.3 — Sigma's own correction table, the generator of the other columns, is no power law (read as one it implies 1.19 to 1.47 column by column) — the model reads every printed cell within −3.97 to +1.98 %, through the forward pass at each column's mean water. In a room, as for every rating over 65 °F entering air: a 68–70 °F room reads 4.1–6.8 % under the tested rating at 160 °F, which the listings' pages stateHeld by the_sigma_srk_radiators_read_their_own_tables; docs/sigma-emitters-source.json
Direct gas-fired heaters against their maker's own capacity table: the heater model's sensible duty to a discharge target, its gas at the listing's efficiency, and the burner's combustion water in the supplyCambridge Air Solutions' S-Series Engineering Specifications Manual (form S-ES4-0822): its Typical Capacity Selection table — the input and the inlet cfm of every series and motor at a 160 and a 140 °F rise to a 160 °F discharge, with and without filter sections — and the formula its footnotes print for it (input = cfm × ρ × 0.240 × 60 × ΔT ÷ 0.92, ρ at the blower's inlet). Beside the formula, the input is held to each series' maximum in the same page's gas-pressure table and the motor to the discharge-height and amperage tables. The airflow is held to the same row's other rise only where the burner is under its maximum at both rises: eight pairs, each printing one cfm at both, on the rows of four listings (the S800, the S1600 and both S3200 rows). Of the other nine rows, five have the burner at its maximum at the 160 °F rise, where the 140 °F cell is held only to move more air, and four print no 160 °F cell; each of those nine listings' airflow is held through the formula to an input the gas-pressure table prints as its series' maximum43 printed cells; 13 listingsthe manual's formula gives every cell within 0.14 % (the worst, the S800's 757 MBH at 3 500 cfm, is its airflow printed round). Listed at 0.92 of each row's input — the sensible output by the manual's own split — and its inlet airflow as printed (the table states its airflow at the blower's inlet density, which is how the model reads a heater's), the model discharges within 0.4 °F of 160 °F, each cell at its own inlet and airflow. And it carries the burner's water (since 10 Oct 2026): a direct-fired burner fires into the air it heats, and methane makes 0.146 kg of water per kWh of gross input, whose latent heat is 9.9 % of it. So the listings carry that water and an efficiency of 0.901 — the most of its input a methane burner can put into sensible heat, where the manual converts at the 92 % Cambridge certifies — and the supply's moisture is the burner's: 4.0 g/kg added at the 160 °F rating and 3.5 at 140 °F — on saturated 0 °F air a supply at a 3.7 °C dew point, where the model without the water read −17.8 °C. The price is gas: the model burns 2.1 to 2.3 % more than every printed cell, and on the nine listings rated at their burner's maximum — the S400 1 HP, the S950 2 and 3 HP, the S1200 3 and 5 HP, the S1850 5 and 7½ HP and the S2200 7½ and 10 HP, 20 of the 43 cells — that is 2.1 % past the maximum the gas-pressure table prints (408 MBH on the S400's 400 MBH burner)Held by the_cambridge_s_series_heaters_read_their_own_table; docs/cambridge-s-series-source.json
Total energy recovery wheels against their maker's own tables: the sensible-and-latent exchanger, both its efficiencies read off face-velocity curves (a latent one that falls with velocity, humidityEffectivenessCurve)DRI's (Desiccant Rotors International's) two AHRI-series specifications, bulletins DRI-HRW-009-10 (the MS-200 media) and DRI-HRW-014-1 (the MS-270A): per face velocity from 1 to 5 m/s at balanced flow, the sensible, the winter and summer latent and the winter and summer total effectiveness and the pressure drop; per model, the air volume at each velocity in CMH and CFM. The total is the second column the sensible and latent rows are held to, through the wheel's outlet enthalpy at AHRI 1060's rating conditions — the standard both documents certify to, whose conditions they do not print: heating, outdoor air at 35 / 33 °F against a 70 / 58 °F return; cooling, 95 / 78 against 75 / 63. Each model's volumes are held to one face area a stream; the 3.0 m/s column, a round figure in cfm, is withheld by name on the 69 of 71 rows it does not hold71 listings (36 MS-200, 35 MS-270A) at 9 velocities and 2 rating conditions: 1 278 solves, each filled from the catalog by its referencethe solve reads the printed sensible effectiveness exactly on the streams' capacity rates — the model's own definition, which reads its curve on the smaller one, so this holds the face velocity each curve is read at, not the physics — and the printed latent within a point at every velocity (the MS-270A's listings carry its winter row, a point above its summer one). Through the outlet enthalpy it reads every printed total within a point: worst −0.73 (summer) and +0.54 (winter) points on the MS-200, +0.47 and −0.77 on the MS-270A — whose summer latent row would miss its winter total by 1.11 at 3.5 m/s, which is why the winter row is listed. Not within a point on the standard's definition: on the mass flows alone, AHRI 1060's form, the summer sensible reads up to 1.15 points under the printed figure, and more than a point under at 7 of the 18 summer cells (the MS-200 at 1 and 1.5 m/s, the MS-270A at 1 to 3 m/s) — the humid outdoor air's specific heat against the drier return's, 1.28 % — while every winter cell reads exactly. Which definition a listed core should read is open, and recorded with the data. Not carried: the printed pressure drop — 74 to 241 Pa from 1 to 5 m/s on the MS-200, 76 to 325 on the MS-270A, where a core reads the model's default of 38 to 938 Pa — and the rotor's drive motor (0.09 to 1.1 kW)Held by the_dri_wheels_read_their_own_tables; docs/dri-wheels-source.json
Grundfos TP in-line pumps read from the data booklet's curvesGrundfos TP/TPD/TPE/TPED 50 Hz data booklet: 214 Q–H and Q–P2 curves (every 2-, 4- and 6-pole size) with each model's rated motor, and the booklet's own motor tables (efficiency and speed per rating and pole count)214 listingsthe shaft power at every listing's rating point sits under its rated motor and the end of the curve reaches at most 1.04 × it; the implied pump efficiency runs 0.29 on the smallest sizes to 0.80 on the largest, the shape a fixed-speed in-line range has; electrical power through the maker's printed motor efficiency, no IEC class assumedHeld by the_grundfos_tp_listings_sit_under_their_motor_ratings; docs/grundfos-tp-pumps-source.json
Moist-air relations against a maker's own engineering tablesLG's Rooftop Dedicated Outdoor Air System Engineering Manual (EM_RT_DOAS_10-23), which prints per model the design airflow, the entering air (95 °F dry bulb / 75 °F wet bulb on every unit), the coil's leaving dry and wet bulb, and the total and sensible cooling capacity — five figures that state one fact twice, since the duties are the enthalpy and temperature drop between the two states at the design mass flow24 base models from 12.9 to 247 kW of total capacity; the other 34 in the manual carry a recovery device ahead of the coil and are read separatelycomputing the duties from the printed states with this project's own psychrometrics reproduces the printed capacities at +0.5 to +3 % on sensible and −2 to −4 % on total, each cabinet family tight to a few tenths, with nothing drifting across a fifteenfold range of duty. The residual is a convention rather than noise: LG's printed SHR sits about four points under the states' own, which a condensate term or a fouling allowance inside their selection program would both produce, and the manual does not say which. Standard air density settles it — taking the density at the entering state instead makes both residuals 4–5 points worse. Run backwards on the 34 recovery models, whose coil duty is printed but whose coil sees treated air, the implied device effectiveness against AHRI 1060's summer return lands at 0.60–0.75 sensible for the wheels and 0.63–0.72 for the enthalpy cores, and the wheels' fit extrapolates to 79.7 % at 2 m/s and 73.0 % at 3 against this project's Eurovent-derived default of 79.5 and 74.2 — 0.2 and 1.2 points, from a wholly independent source. Not anchored: the coil model, since no face area or fin pitch is printed, and efficiency, since the electrical tables give MCA and MOP rather than input powerHeld by the_lg_rooftop_doas_tables_close_against_our_psychrometrics, measure_lg_doas_recovery; docs/lg-doas-source.json
An air-to-water heat pump against a certified unit's rating pointsthe EHPA Heat Pump KEYMARK register — the European scheme's own certified-product database — for the platform Foshan Midea Carrier lists as Xp Energy / AquaSnap 12 14 16 kW (registration 041-K124-07, R32, certified by BRE, tested by TÜV SÜD Guangzhou; Airwell rebadges it as Wellea A 12 14 16 kW with identical figures). Its 12 kW model publishes 12.1 kW at COP 4.95 on EN 14511's HA1 and 11.9 kW at COP 3.05 on HA3. The register prints only 'low' and 'medium temperature' and the EN standards are paywalled, so the conditions come from Carrier's own public brochure: HA1 water 30 / 35 °C, HA3 water 47 / 55 °C, both at 7 °C dry bulb / 6 °C wet bulb outdoor2 rating points; the published plant modulated to the certified duty at each, and the same graph re-run with a real inverter (the Danfoss VZH052CJ and its eighteen published speed steps) scaled to the same classcapacity is not the comparable quantity — the published plant is a 15 kW-class machine — so it is modulated to the certified duty, which is what an inverter rating is anyway, landing at 0.74 and 0.81 of full output. Its COP then reads 4.56 against 4.95 and 2.79 against 3.05: 8 % under the certified unit at both points, and never over it, identical to a tenth of a point on both property backends. The two water rises differ, 5 K and 8 K, and assuming 5 K throughout flattered the second point by five points of COP before the conditions were read off a document. The miss is the compressor, not the model: at the first point the model settles on a 34 K lift where Carnot's COP is 8.1, so the certified unit takes 61 % of it and this model 56 %, both inside the 40–60 % band a real machine occupies — a 2026 R32 residential heat pump at the top of it, a generic R410A commercial scroll in the middle. Swapping in the real inverter does not close the gap either (12–14 % under), so it is not the part-load model. Not anchored: the EN 14825 seasonal grid, because the leaving water at each part-load temperature follows a curve the paywalled standard defines and no maker printsHeld by the_air_to_water_plant_reads_a_certified_units_rating_points, measure_awhp_against_keymark; docs/keymark-source.json
BITZER ECOLINE recip and ORBIT/GSD scroll maps, the maker's own EN 12900 coefficientsBITZER Software's own JSON API (the desktop selection program run as a session): the ten-coefficient capacity and power sets per model on R410A, their EN 12900 basis (dew point, 10 K suction superheat, 0 K subcooling, 400 V-3-50 Hz, watts) and the validity range printed with them; the reading each map was recorded at when it was read9 maps — three ECOLINE semi-hermetic recips (4FDC-5, 4CDC-9, 4NDC-20) and six ORBIT/GSD scrolls (GSD60120/60182/80235/80295/80385/80485VA)every map reproduces its recorded reading at 5 / 50 °C exactly (13.1 / 23.9 / 51.9 kW on the recips, 26.7 to 104.3 kW on the scrolls; COP 2.73 to 3.32), because nothing between the record and the seed touches a coefficient. Inside the envelope each map now carries, capacity and power stay positive, capacity rises with evaporating temperature and falls with condensing at every one of 169 grid points, and the COP stays under 80 % of Carnot. The maker states two ranges, which is a box, and on eight maps the cubic behaves everywhere in it; the GSD80235VA goes negative in the cold-and-hot corner (−9.3 kW at −23.8 / 65 °C, where its siblings read +8.0 and +13.7), so that corner is cut at the map's own zero-capacity contour and the cut is recorded. Not validated: no BITZER selection was reproduced end to end — the maps are the maker's coefficients, not a duty this project computed against the maker's softwareHeld by the_bitzer_maps_read_their_recorded_points; docs/bitzer-maps-source.json
Ziehl-Abegg FE2owlet axial fans read from their own product pagesthe maker's public detail page per article: the ErP maximum air flow and pressure, the optimum (qv, pfs, input power P1), the numbered duty-point table (speed, current, power, sound) and the page's curve chart, which is drawn for one article of each size30 listings (Ø250–910, ECblue and AC); 4 with curvesevery listing's design point and nameplate power are the page's printed optimum; a curve is listed only where the article's own printed maxima and optimum sit on the chart — the FN025 and FN030 4IA articles do, within 0.1 / 0.8 / 1.2 % (head, foot, optimum) — and its power curve peaks within 1.5 % of the duty table's curve-I figure; the solver reads the printed P1 back at the design point within 1 %Held by the_ziehl_fe2owlet_listings_read_their_own_pages; docs/ziehl-fe2owlet-fans-source.json
Fan power through the fan laws, one curve per fan from a US multi-rating tableSoler & Palau's own SDB and STXB roof exhauster tables (S&P USA catalog, August 2026): every printed cell of rpm, static pressure, cfm and shaft BHP, each fan's cells scaled to its top printed speed and fitted with one pressure curve and one power curve; the listed power is the BHP over the federal minimum efficiency of the motor the table prints at that speed3 382 cells over 41 fans; 69 withheld by nameevery held cell's BHP within a band of 2 % plus the half-hundredth it is printed to (0.005 BHP, part of the band: the worst cell sits at 0.999 of it, and four held cells from 0.5 BHP read past a bare 2 % — SDB-33 at 650 rpm and 1.25 in., SDB-36 at 425 rpm and 0.625 in., STXB-33 at 400 rpm and 0.375 in. and STXB-36 at 600 rpm and 1.25 in., 2.05–2.2 % off), and its speed within 0.87 %, read back by the solver's own fan-law solve; RMS 0.43 % on power over the 2 396 cells from 0.5 BHP up. Each withheld cell is its row's last or followed only by withheld cells: 19 print more air at a higher static than the cell before them, the rest sit on the stall side of their speed's curve. SDB-48 is not listed — 18 of its 73 cells would need naming, six inside their rowsHeld by the_soler_palau_fans_read_their_own_tables; docs/soler-palau-fans-source.json
Fan power through the fan laws, one curve per fan from a US multi-rating tableAcme's own 2100 in-line airfoil centrifugal tables (catalog C189L, February 2025), Class 1 and Class 2 in one table per wheel: every printed cell of rpm, static pressure, cfm and shaft BHP, scaled to the top printed speed and fitted with one pressure curve and one power curve; the listed power is the BHP over the federal minimum efficiency of the motor the section's motor table gives at that speed2 276 cells over 12 fans; 8 withheld by nameevery held cell's BHP within 2 % plus the half-hundredth it is printed to (the worst at 0.76 of that band; none from 0.5 BHP past a bare 2 %) and its speed within 0.35 %, read back by the solver's own fan-law solve; RMS 0.24 % on power over the 2 206 cells from 0.5 BHP up. Withheld: eight cells, each the last of its row and past the fan's pressure peakHeld by the_acme_fans_read_their_own_tables; docs/acme-fans-source.json
Fan power through the fan laws, one curve per fan from a US multi-rating tableGreenheck's own Models G and GB roof downblast exhauster tables (catalog 00.F&V.1000 R11, August 2022): every printed cell of rpm, static pressure, cfm and shaft BHP of the belt-drive GB sizes, with the direct-drive G's rows a 'GB • G' page prints in the same table, scaled to the belt drive's top speed and fitted with one pressure curve and one power curve; the listed power is the BHP over the federal minimum efficiency of the belt motor the table boxes at that speed. Each page's own printed law, MAXIMUM BHP AT A GIVEN RPM = (RPM/K)³, is the second column the BHP and the motors are held to1 832 cells over 28 fans from the Models G and GB catalog, Rev 11 (August 2022); 10 withheld by nameevery held cell's BHP within 2 % plus the half-hundredth it is printed to (the worst at 0.94 of that band; one cell from 0.5 BHP past a bare 2 %, the GB-100HP at 2550 rpm and 1.75 in., 2.2 % low) and its speed within 0.37 %, read back by the solver's own fan-law solve; RMS 0.39 % on power over the 1 263 cells from 0.5 BHP up. Every held BHP sits under its page's maximum-BHP law, each listing's power curve peaks at 0.97–1.01 of it at the reference speed, and every belt motor carries it within its 1.15 service factor. Withheld: four row-end cells past the fan's pressure peak and six printed slips — three GB-130 points printed under the wrong static; two GB-480 BHP figures off their own cfm: 3.66 at 393 rpm and 0.125 in., where the 360 and 415 rpm rows scaled by the fan laws give 3.96, and 3.21 at 360 rpm and 0.625 in., over the page's own law, where the fan laws read 3.12; and the GB-540's 1 250 cfm at 175 rpm and 0.125 in., where its own 0.65 BHP and the 195 rpm row put the point at about 12 400 cfm, a dropped digitHeld by the_greenheck_fans_read_their_own_tables; docs/greenheck-fans-source.json
Fan power through the fan laws, one curve per fan from a US multi-rating tableCarnes's own VDBA and VGBA duct blower tables (Catalog #900-0115, Section 11): single and twin belt-drive forward-curved blowers printed a row per cfm, with the rpm and shaft BHP under each static pressure; every cell scaled from its own speed to the speed of the listing's design point, so the rating lies on the curve, and fitted with one pressure curve and one power curve; the listed power is the BHP over the federal minimum efficiency of the largest maximum motor the table prints, which every printed BHP sits under1 632 cells over 14 fans; 230 withheld by nameevery held cell's BHP within 2 % plus the half-hundredth it is printed to (the worst at 0.985 of that band; 20 cells from 0.5 BHP read past a bare 2 %, to 2.7 %) and its speed within 1.12 %, read back by the solver's own fan-law solve; RMS 0.69 % on power over the 1 280 cells from 0.5 BHP up. The twin tables are derived from the singles, so 893 cells are printed twice: the 764 held on both sides agree (the same rpm, twice the BHP), and of the 30 pairs that do not, the print the fan laws read off is withheld — the single 18's whole 1/2 in. BHP column among them. 178 cells sit left of the forward-curved wheel's pressure peak, in the dip the falling curve does not reach, and 22 read off the fan laws; both are withheld by name. Each rating lies on its curve (the curve's static at the design flow within 0.79 % of the design static), the curve's power within the motor up to the design flow; past it the forward-curved wheel's power passes the motor on 13 of the 14, and the record says whereHeld by the_carnes_fans_read_their_own_tables; docs/carnes-fans-source.json
Fan power through the fan laws, one curve per fan from a US multi-rating tableCaptiveAire's own current performance tables (Catalog #110C, November 2024) for its direct-drive DU-HFA upblast and DR-HFA downblast centrifugal fans, SIFDD inline fans and CASRE and USBI-RM utility sets, printed a row per cfm with the rpm and BHP under each static pressure: every cell scaled from its own speed to the speed of the listing's design point, so the rating lies on the curve, and fitted with one pressure curve and one power curve; the listed power is the BHP over the federal minimum efficiency of the smallest motor that carries the most BHP the size prints at a speed one of its listed motors turns, the tables naming their motors by part number and speed range only — 4-pole, or 2-pole for the 13 sizes rated past 1 800 rpm, which only their 2-pole motors turn2 813 cells over 57 fans; 49 withheld by nameevery held cell's BHP within 2 % plus the half-hundredth it is printed to (the worst at 0.984 of that band; one cell from 0.5 BHP past a bare 2 %, at 2.4 %) and its speed within 0.95 %, read back by the solver's own fan-law solve; RMS 0.41 % on power over the 1 845 cells from 0.5 BHP up. Withheld: 41 cells at the high-static end of a low-flow row, left of the wheel's pressure peak; 6 off the fan laws; 2 printed slips (a 1 in. cell repeating its row's 0 in. figures, a 2.25 in. cell 168 rpm under the 2 in. one). The stainless copies print 71 of their sizes' cells a second time, all within rounding. The SIF9DD and its copy are not listed: their best static efficiency is under 0.2. Each rating lies on its curve (the curve's static at the design flow within 1.00 % of the design static), and the efficiency a listing states is the curves' read there — DU10HFA's best printed cell, 0.02 BHP, would claim 0.383 on input power where its curve reaches 0.353Held by the_captiveaire_fans_read_their_own_tables; docs/captiveaire-fans-source.json
Fan power through the fan laws, one curve per fan from a US multi-rating tableChicago Blower's own Design 51 airfoil plenum fan tables (bulletin DFOP-105), Class I and Class II in one table per size: every printed cell of cfm, static pressure, rpm and shaft BHP — the bulletin is a scan, so its tables were transcribed off the page images and held to those images, to the bulletin's own reprint of a page and to themselves — scaled to the top printed speed and fitted with one pressure curve and one power curve; the listed power is the BHP over the federal minimum efficiency of the smallest motor that carries the curve at that speed, since the bulletin prints none3 760 cells over 19 fans; none withheldevery cell's BHP within 2 % plus half the step it is printed to (0.005 BHP, 0.05 on the sizes printed to the tenth; the worst at 0.86 of that band) and its speed within 0.38 %, read back by the solver's own fan-law solve; RMS 0.44 % on power over the 3 648 cells where half the printed step is at most 1 %. The pressure curve is fitted at degree 7, the least that holds every cell: these tables print each speed up to the fan's pressure peak, where degree 5 breaks 47 cells of eight sizes. The bulletin's own figures come back through the listings: its worked example (the 135 at 2 600 CFM and 3 in., 3 152 rpm on 2.39 BHP) and its quick-selection chart's pick of a 330 for 8 000 CFM at 2 in., the best static efficiency of every size whose printed 2 in. column spans the duty. The bulletin prints no motor, so a listing's input power rests on an assumed one: its BHP over the federal minimum efficiency of the smallest motor that carries its curve at its top speed, which the listing's name gives as assumed ("20 HP motor assumed" on the 182)Held by the_chicago_blower_fans_read_their_own_tables; docs/chicago-blower-fans-source.json
Circulator curves read from vendor chartsGrundfos MAGNA3 data booklet P1 tables; Wilo Stratos MAXO datasheets12 listingscurve tops within 3.5 % of each Grundfos page's P1 table; every Wilo listing under its datasheet's P1(max)Held by the_circulator_curves_reproduce_their_own_rating_points, the_wilo_listings_sit_under_their_datasheets_p1_max
Evaporative media effectivenessMunters CELdek 7090/7060 2022 curvescurves at 100 and 150 mmthe vendor's curves carried on the listings; the generic polynomial they replace reads 3–13 points lowHeld by the_munters_listings_carry_the_vendors_curve_not_the_polynomial
Heat-pipe recovery effectivenessACT WAHX selection tool on the 1473×1100 coil3 sizeswithin 1 point of ACT's selectionHeld by ACT listings guard (catalog)
Coaxial exchanger model, one conductance from one rated point, against a smaller maker's heat-pump chartEdwards Coils' water-source heat-pump chart (water and R-22, an 8 °F range): the duty at nine approaches, 6–20 °F, for thirteen sizes. Each listing derives its conductance from the chart's own worked example — the 17 °F approach, 70 → 62 °F water at a 45 °F suction, at the flow the maker's Qe = GPM × 500 × R gives and the chart prints — and the other eight approaches, at 0.47–1.15 times the rating's flow, are the second condition. Two printed cells are withheld by name: a dropped decimal point and a missing tenths digit102 over 13 sizesevery rating reproduced exactly; the other approaches read −3.0 to +3.1 % of the printed duty (mean +0.7 %, RMS 1.9 %), the suction within 0.6 °F. The miss has one shape on every size, because every row of the chart is one curve times a size factor: the chart's own conductance is 4–5 % above the rating's at a 6 °F approach, 3 % below it at 10–11 °F and back at 20 °F — not the steady rise with flow a water film alone would give — and a fixed conductance is held to it approach by approachHeld by the_edwards_coaxials_read_their_own_chart
Coaxial exchanger model against a maker's measured condenser and evaporator tables, one conductance per modelWieland's WKC condensers (45 °C condensing) and WKE evaporators (0 °C evaporating): per model and water flow, the duty at four temperature differences on R134a, R404A/R507 and R410A — the maker's own measurements. Each listing is rated on R410A at the printed cell nearest EN 14511's 30 → 35 °C into a condenser and 12 → 7 °C out of an evaporator; every other cell is the second condition. Two printed cells are withheld by name: a dropped digit and two transposed ones554 over 8 modelsevery rating reproduced exactly. Condensers on R410A (R404A/R507 is printed identical): −13 to +16 % of the printed duty, RMS 7.9 %, the condensing temperature within 3.0 K — at one flow the duty is proportional to the temperature difference as the model has it, but the conductance rises with flow (as flow^0.4 on three of the four) and at the lowest flows the hot gas heats the water past the condensing temperature, which no isothermal model does. Evaporators on R410A: −18 to +63 %, RMS 22 %, within 3.2 K — the conductance rises with flow (flow^0.3–0.5) and with the temperature difference (as boiling that strengthens with the heat flux, and a 5 K suction superheat that takes more of the tube the smaller the difference, would make it), so one conductance over-reads most at a low flow and a 6 K difference. The other refrigerants are R410A times one ratio each — R134a 12 % under on the condensers and 20 % under on the evaporators, R404A/R507 7 % over on the evaporators — which a listing that carries no refrigerant reads as R410AHeld by the_wieland_coaxials_read_their_own_tables
IEER, computed for a drawn machineAHRI 340/360-2022: Table 9's four part-load conditions, Eq. 3's weights, Eq. 4's cycled power and the C_D of §6.2.3 — and Appendix G's own worked example, whose four published EERs weight to its published figure4 rating points per machine; the standard's Example 1 reproduced point by pointthe arithmetic is the standard's, not an approximation of it: Appendix G's load factors, degradation factors and EERs are reproduced and its 11.13 falls out of Eq. 3. Its 25 % point is rated at the coolest air of the four and still reads the worst EER (9.22 against 11.09 at 50 %), because the machine cycles — which is what the model reproduces rather than assumes. The two published rooftops read 13.4 Btu/(W·h) (fixed speed, cycling at every part load) and 16.9 (modulating, airflow following the load), each unloading as far as its own control unloads it and holding the head its own control holds (13.5 and 16.1 with the head left to float). Not validated: no measured unit has been rated against its maker's published IEER, and Table 9's water-cooled and evaporative columns are not implementedHeld by ieer_weights_and_conditions_are_the_standards, the_ieer_route_rates_a_published_rooftop, the_published_rooftops_rate_what_validation_quotes, a_rating_follows_the_steppers_turndown, a_rating_holds_the_head_the_machine_holds
Condenser fan stagingAHRI 340/360-2022 Appendix G Example 81650 W → 325 W reproducedHeld by fan bank staging guard (components.rs)
Heat-pump frost/defrost deratethe integrated heating-capacity factors published against outdoor temperature at 85 % RH by Samsung (DVM S), Gree (GMV5), Midea (V6), Hitachi (Set Free mini) and Mitsubishi (City Multi, one table per model down to −20 °C)43, from five makersRMS 0.023, where the makers stand 0.029 from each other at the forty temperatures they share — the one generic curve is closer to each of them than they are to one another, and none is served much worse than any other (0.019–0.028 apiece). The EnergyPlus model this replaced had the shape inverted (deepest just below its 5 °C cutoff, then a 29-point step across it) and read up to 0.15 lowHeld by the_frost_derate_tracks_the_published_defrost_tables
What a run of refrigerant pipe costs a machine's capacityLG's own Capacity Correction Factor grid for the Multi V — 23 equivalent pipe lengths (7.5 to 225 m) against 25 level differences — reproduced as a numeric table in LG's public eQUEST modelling guide (VRF-TG-BK-001-US); cross-checked against Midea's V6 and V8S books and the Trane TVR Pro rebadge23 lengths from one maker's table, plus three makers' figures at one common pointthe model carries LG's table rather than fitting it, so it reproduces all 23 points: 0.91 at 100 m, 0.82 at 225. At the one point a second maker can be compared — sixty metres with forty of lift — the three lines read 0.898 (Midea V6, Trane), 0.927 (Midea V8S) and 0.94 (LG), and the model sits at LG's end of that band on purpose, because LG publish 575 cells with their conventions stated where the others are single points off a chart. The height turned out not to be worth a field: across LG's whole grid a hundred metres of level difference moves the factor by one pointHeld by the_pipe_derate_reproduces_the_published_table and three more in hvac-core/tests/pipe_derate.rs; docs/vrf-piping-source.json
The built-in R-410A curve fits' AHRI 540 superheat/subcooling correction (the backend CI runs on)CoolProp's exact correction — suction density, refrigerating effect and isentropic work from the equation of state — on the same points28 (te, tc) points over −20…13 °C and 30…60 °C at five reference pairs, the Copeland A/C point (11.1 K / 8.3 K) among themcapacity factor within 1.1 % and power factor within 0.8 % everywhere; the suction density follows T^−n with n measured from 1.3 at −30 °C to 1.9 at 13 °C rather than an ideal gas's 1, and the vapour and liquid specific heats are fitted from the same readings. On this backend Copeland's EN 12900 R410A tables read −0.12 % / 0.63 % RMS over 13 nominal points and −0.31 % / 1.06 % over 86 points at 40 °C condensing, where CoolProp reads −0.10 / 0.62 and −0.11 / 1.03. Until 4 Sep 2026 this backend applied no correction at all, so every A/C map rated at 8.3 K of subcooling read about 8 % high on CIHeld by the_fits_correction_tracks_coolprops; measure_suction_density_exponent; the_map_correction_reproduces_copelands_en12900_ratings
Weather compensation: a heating curve against the fixed setpoint it replacesthe apartment example run twice on the same year and the same shoulder week — on the cold-day setpoint a designer must choose without a curve (45 °C), and on a 45 → 30 °C curvea full Berlin TMY year and one shoulder weekthe same comfort both ways — one unmet heating hour in each corner flat either way, the summer hours within four of each other — and 4 351 against 5 480 kWh over the year (21 %), 67 against 93 on the shoulder week (28 %). Compared against its own seasonal mean (a fixed 35) the curve is close to a wash, 4 351 against 4 233, which is a tautology and is recorded so nobody re-runs it as a finding. (Re-read on 3 Oct 2026, after the product review's control and room-physics fixes; on 4 Sep it read 5 307 against 6 762 and 91 against 117, and on the invented map before that 4 830 against 5 483, 12 %.)Held by a_compensation_curve_follows_the_weather_and_costs_less; measure_flats
A heat pump's capacity at the design condition, and what its flow temperature coststhe model's own machine, swept — the published air-to-water plant across its ambient range, and the apartment example run at four flow temperatures on a Berlin TMY yearsix ambient temperatures; four flow temperatures over a full yearthe plant puts 15.4 kW into its water at its +7 °C rating and 9.3 kW at −12 °C — 40 % less, with the plant's heating COP (source fan included) falling 3.82 to 2.46 — which is the number a building must be sized against and is why the first draft of the example left its corner flats 134 hours short. Run at 32 / 35 / 40 / 45 °C flow with the same summer hours in every room (32 °C leaves the two corner flats 35 hours short on the coldest mornings; at the others each corner flat misses one hour) the seasonal COP reads 2.85 / 2.56 / 2.21 / 1.98: three-tenths of the running cost, bought with cooler water and bigger emitters. Read on the catalog scroll (Copeland ZP49KHE-TFM, one size up) the plant runs since 4 Sep 2026, re-read on 3 Oct 2026 after the product review's fixes (2.27 / 2.08 / 1.82 / 1.61 on 4 Sep)Held by the_example_flats_are_heated_by_water; measure_flats; measure_awhp_sweep; docs/flats-source.json
A data centre's cooling loop as a heat source: the water-source heat pump against the same machine on airthe model's own machine, A/B'd — the Cascade example's Danfoss VZH052 inverter scroll (the catalog entry below) lifting the CRAH's 18 °C return to the offices' radiators on a 54 → 35 °C curve, and the same machine on an outside-air evaporator, on a Seattle TMY year and a synthetic winter week; the arrangement anchored on the Westin Building Exchange / Amazon loop (Danfoss Impact No. 8, March 2026: 18 °C boosted to 54 °C)a full Seattle year and one winter week, both sourcesthe same 55.2 MWh into the radiators either way; 7.6 MWh of electricity on the loop against 17.9 on air (seasonal COP 7.3 against 3.1 — the inverter's published steps are what the loop-source machine spends most of the year on, at part speed near its best point), and the chiller 51.2 against 56.2 MWh for the 48.5 MWh the heat pump took off the loop — the site 100.5 against 115.8 MWh, 13 % (re-read on 3 Oct 2026: the chiller now holds its envelope's lowest condensing temperature in mild weather, where it had read an extrapolated COP, and the site saving was 15 %). The ring conserves within 2 % (CRAH duty = heat pump take + chiller duty) with the one-hour lag, both plants converge every hour, and the north floor is held to 8 unmet hours where the air-source machine leaves it 15. Before the high-pressure cutout (the row below) the air-source variant failed 705 hours a year. What the guard cannot say: the paper reports no seasonal COP and no per-kilowatt figure, so the machine is the catalog map on both sides and only the arrangement is the anchor. (Until 4 Sep 2026 the plant was a Copeland ZP91KCE run as a flat-scaling inverter emulation and read 9.9 against 19.2 MWh, COP 5.6 / 2.9, the site 12 % down.)Held by the_example_data_centre_heats_the_offices_next_door; measure_dc_heat_recovery; docs/dc-heat-recovery-source.json
A maker's inverter scroll read from its own selector: the Danfoss VZH052CJCoolselector2 (online 5.8.4, database 142, polynomial 8571945-BE): the main ten-coefficient sets at 6 000 rpm, eighteen per-speed sets from 1 002 rpm, the published mass flow, the operating envelope polygon and the 52.10 cm³ displacementeighteen speeds; three selector readings at te −10 / tc 30 (1 002, 3 000, 6 000 rpm); four envelope points for the displacement; the rating point and a grid for the cycle closurecapacity and power at each of the three speeds within 0.3 % of the selector's own rows; the three parameter sets close the refrigeration cycle within 0.5 % at the rating point and 3 % across the grid, each step's own sets within 1 %; the implied volumetric efficiency sits inside the scroll band at every envelope point (the same band the VZH088 entry is held to). The map carries the maker's 65 °C condensing ceiling as a polygon, which is what the cutout rule below readsHeld by the_vzh052_steps_reproduce_the_selectors_rows; the_vzh052_three_sets_agree_with_the_cycle; the_vzh052_map_matches_its_published_displacement; docs/danfoss-maps-source.json
A maker's inverter rotary read off its scanned specification book: the Mitsubishi Electric LNB53FCAMCMitsubishi Electric (Guangzhou)'s specification VNOK-CE0213-B (2011, revised 2012) — no tables and no text layer, so its charts: capacity, input and flow against evaporating temperature −10…15 °C at condensing 40 / 50 / 60 °C at 30, 60 and 90 rps (11 °C superheat, 8.3 °C subcooling), capacity and input against speed at the 7.2 / 54.4 °C rating condition, the rating point itself (16 860 W / 5 200 W ±5 % at 60 rps), the family's envelope and the 53.7 cm³ displacement702 digitised points (26 evaporating temperatures × 3 condensing × 3 quantities × 3 speeds), each curve read at about half a pixel; the rating point; the speed curve at 30–90 rps; a grid over the envelopethe fitted sets land on every digitised point — capacity and flow within 1.4 %, input within 0.5 % — and the 60 rps step reads the rating point within the sheet's own ±5 %. The book's two charts agree on capacity and disagree on input by up to 8 % at the lower speeds, which the sheet itself allows ('performance is varied by driver characteristics'); between the printed speeds the three-step interpolation stays within four points of that disagreement. Capacity over flow sits a constant 2.5–3.7 % above the cycle's refrigerating effect, identical at every speed to 0.2 points — a basis the drawing carries and the sheet does not state, not a reading error — and the flow implies 0.76–0.96 volumetric efficiency on 53.7 cm³. Recorded, not corrected: the maker puts the same capacity at 27.8 K return-gas superheat as at 11 K, where AHRI 540's density correction would add several per cent — which the maker's next two books then settled (see the row below)Held by the_mitsubishi_lnb53_map_reads_its_datasheet; the_mitsubishi_lnb53_sets_close_the_cycle_on_its_displacement; docs/mitsubishi-lnb53-source.json
The same maker's next three books, and what having two superheat bases settles: the LNB65FAGMC, the LNB53FMKMC-L and the SBB172FABMCthree Mitsubishi Electric (Guangzhou) specification books sent by the supplier on 16 Sep 2026. Two of them print numeric tables rather than drawing curves — capacity, input, COP, current and mass flow against evaporating temperature −10…15 °C at condensing 40 / 50 / 60 °C, one page per speed (LNB65FAGMC at 30/60/90 rps rated at 27.8 K return-gas superheat; LNB53FMKMC-L at 30/60/90/120 rps rated at 11 K, both at 8.3 K subcooling) — each with its own rating point (19 860 W / 6 450 W and 16 835 W / 5 480 W ±5 % at 60 rps), its own limitation-curve polygon and its displacement (65.2 and 53.7 cm³). The third, the R134a booster rotary SBB172FABMC, draws its curves and was digitised (30/60/90/115 rps, 2 600 W / 710 W ±5 %, 17.2 cm³)126 printed cells, each checked against the book's own printed COP column; 12 digitised panels; three rating points; a grid over each envelopethe transcription is checked, not trusted: capacity ÷ input must reproduce the printed COP to its two decimals, and 126 of 126 cells do (worst deviation 0.005). Fits land at 0.09 % worst on the LNB53FMKMC-L — its tables are polynomial output, so the fit recovers the maker's own cubic — 1.9 % on the LNB65FAGMC and 0.46 % on the digitised SBB172FABMC. Against each sheet's own rating point: −1.26 % / +1.83 %, −4.32 % / −0.11 % and −2.96 % / +0.56 %. The 4.3 % is the answer to the LNB53FCAMC's open question, not a miss: the FMKMC-L's tables are at 11 K where its own spec page still rates at 35 °C return gas (27.8 K), so the sheet reads above its tables by the density correction — and the LNB65, whose tables and sheet share the 27.8 K basis, shows no such gap. Two bases, two books, one explanation. The guard asserts the direction of that gap so the two can never be silently conflatedHeld by the_mitsubishi_table_books_read_their_own_spec_sheets; docs/mitsubishi-lnb-tables-source.json; docs/mitsubishi-sbb172-source.json
A heat pump on a trickle: the high-pressure cutoutthe physics of the hour — a hot-water plant handed a few grams a second by nearly shut radiator valves has no converged state under its map's condensing ceiling even at its floor speed — and the machine's own envelope, the maker's 65 °C ceilingseven condenser flows from design (0.3 kg/s) down to a twentieth of a gram a second on the published water-source plant, and the Seattle year on both sourcesat design and half flow the plant modulates and lands its 54 °C; at a fifth, a tenth, 15 and 8 g/s the read is clipped to the ceiling by regula falsi (tc 64.6–65.0) and the machine cycles from there — in bursts down to 2 % of full output since the solver takes scales under 5 % (2 Oct 2026; 15 and 8 g/s used to trip) — delivering no more than the water can carry at the ceiling; at a twentieth of a gram a second no capacity sits under the ceiling, the switch trips on start, and the hour is the machine off with its water passing through at 36 °C, reported short — every row converges and none exceeds the ceiling by more than 0.1 K. On the year the air-source variant's failed hours went 705 → 0 and the water-source plant's stayed 0; the flats' plant and the campus, hotel and coupled-plant guards read as beforeHeld by a_heat_pump_on_a_trickle_cycles_on_its_high_pressure_cutout; the_example_data_centre_heats_the_offices_next_door
Radiators and hydronic emitters: output against water temperaturePurmo's EN 442-certified panel-radiator catalogue (10/2021), which publishes every model and size at both 75/65/20 °C and 55/45/20 °C — the boiler condition and the heat-pump one4 003 published pairs; 40 of them, spread across all five panel types, are pinned in the guardthe makers' own second column measures the exponent for us: 1.295 for a single panel, 1.295 for a type 11, 1.301 for a 21s, 1.326 for a type 22 and 1.336 for a type 33 — deeper and more convective, higher exponent, which is the direction physics says. At the default 1.3 the model reproduces that second column with an RMS of 1.25 % and a worst case of +3.1 %, which is inside the spread between the maker's own product typesHeld by the_rating_law_reproduces_the_makers_second_column and four more in hvac-core/tests/emitter.rs; docs/emitter-source.json
Three-pipe heat recovery: SCHE, and what the outdoor coil seesAHRI 1230's Simultaneous Cooling and Heating Efficiency — the sum of both capacities over the power at a 50/50 split — and Samsung's published SCHE beside IEER on two DVM S heat-recovery submittals (19.6–22.4 and 24.8–26.8 Btu/h·W); the model's own conservation on a Load half with both ends pinnedthree configurations (cooling-led, heating-led, balanced) in hvac-core; the Meguro office's Tokyo year, two-pipe against three-pipewith both sides pinned by their coils, the outdoor coil rejects (or absorbs) exactly the larger side less the recovered duty, both sides export once each, and SCHE = COP_c + COP_h by identity on a map where qc = qe + hrf·P — not COP_c + COP_h − 1, which the first draft asserted from memory and the probe corrected. On the office's Tokyo year the three-pipe unit serves both directions on 163 hours and takes the north and west rooms' unmet heating from 129 and 126 hours to 1 each, at electricity flat to 0.2 %: the recovered loads are 167 kWh a year, a median 0.9 kW on the hours they run, so what recovery buys here is the hour, not the kilowatt-hour (re-read 3 Oct 2026)Held by a_condensing_unit_recovers_heat_between_its_rooms (hvac-core), a_three_pipe_vrf_recovers_heat_between_its_rooms; docs/vrf-heat-recovery-source.json
A VRF: one outdoor unit, four indoor units, both directionsthe machines' own anchors (a maker's published 20 HP capacity grid for the outdoor unit) run as a building, with conservation across the pair as the check — what the indoor coils move must be what the outdoor unit exports, counted once at each enda full Tokyo TMY year, plus a summer and a winter weekthe four coils do 49.3 MWh of cooling and 26.5 of heating for 11.3 MWh at the outdoor unit and 4.2 of indoor fans — 26 kWh/m² a year for both jobs — and on each week the unit's export tracks the coils' duty within the controller's own landing. Two limitations are reported rather than smoothed: a two-pipe machine has one direction an hour, so a room wanting the other thing waits (129 and 126 unmet heating hours in the north and west rooms, 112 unmet cooling in the east, over the year), and a VRF with no dedicated outside-air unit does not control humidity (2 950–3 130 hours a year above 0.012 kg/kg). Re-read 3 Oct 2026Held by the_example_vrf_office_shares_one_outdoor_unit_both_ways; docs/vrf-office-source.json
A refrigerant pair running as a heat pumpthe same split drawn whole — one machine against the two halves of itself, on the same room, the same weather and the same binarythe temperate synthetic year, and a 48-hour cold week at 2–8 °Cover the year the pair delivers 11 778 kWh of heat and 10 779 kWh of cooling on 8 798 kWh of electricity against the whole machine's 11 782, 10 825 and 8 956, with no unmet hour on either — the 1.8 % left in electricity is the one-hour lag the coupling carries and the indoor unit's own 12 kW rating, which caps what its coil is fed in heating a little under what the outdoor unit makes; on the cold week alone, 209.5 kWh against 212.3, no unmet hour on either, the 1.3 % there being the lag. Re-read 3 Oct 2026, after two fixes: the indoor half had been left out when a unit came to temper its own outside air (product review BS2), and its room went 222 hours unmet where the whole machine's went none, on 11 733 kWh of heat against 11 782; and its coil was read as a valve where the fixed-speed compressor feeding it cycles, so the pair had cooled 16 % short on 27 % less electricity since it could heat (9 086 and 6 558 kWh against 10 825 and 8 956). Before this a pair could only cool: the indoor half has no compressor and no heater, so it derived an off heating ladder and its room went unmet all winterHeld by a_refrigerant_pair_serves_its_room_as_the_whole_split_does for the year, a_refrigerant_pair_heats_as_one_machine for the cold week, and a_refrigerant_pair_reverses_as_one_machine in hvac-core for the physics
VRF outdoor unit: power input against outdoor air temperatureMidea's V6 engineering data book, Table 2-8.7 — a 20 HP unit (MV6-560WV2GN1, 56.0 kW nominal) at 100 % combination ratio and 27 °C DB / 19 °C WB indoor, capacity and outdoor-unit power input against outdoor dry bulbsix outdoor temperatures, 25–35 °Cthe published example pair — the 56 kW outdoor unit with four of the 14 kW indoor units on it — modulated to the maker's rated duty the way the control modulates it, draws within +0.5 to +3.6 % of the maker's power at every point, at a 9.5 °C evaporating temperature and 0.62–0.70 of full compressor output. Both of those are physical rather than fitted: flat out the same machine is 15–20 % adrift, and given three times a VRF's real indoor airflow it evaporates at 15 °C and looks 19 % too efficientHeld by the_vrf_example_pair_reproduces_a_makers_published_grid; docs/vrf-outdoor-source.json
VRF (multi-split): capacity against the connected-capacity ratiothe engineering data books of Hitachi (Set Free mini, capacity and power at every ratio 50–130 %), Fujitsu (J-Series, 50–150 %), Gree (GMV5, 50–135 %), Daikin, Midea/Trane, LG, Panasonic and Samsung; rating conditions from ISO 15042:2011 §6.1.1.2 and ANSI/CAN/AHRI 1230 §6.2.2.1eight makersthey agree on a two-regime law — exactly linear below 100 % connection, saturating above it by +2 to +8 % at 130 %, with Samsung allowing no credit above 130 % — and the model reproduces both without a correction term: below full connection each indoor coil caps its own take, above it the outdoor unit's map is the ceiling (+0 %, the conservative end of the band). The standards themselves rate only at unity connection (±5 %)Held by a_vrf_shares_one_outdoor_unit_between_its_indoor_units; docs/vrf-rating-source.json
Water propertiesIAPWS-IF97 region 4 official verification valuesthe published tablepinned exactlyHeld by psychro.rs IAPWS tests
Moist-air saturation line (IAPWS-IF97 water line with Buck's 1981 enhancement factor)ASHRAE Fundamentals Ch. 1 Table 2 (SI), saturation humidity ratio at 0, 10, 20, 25, 30 and 40 °C6within 0.1 % at every point — a flat 1.015 factor had put the line about 1 % high until 27 AugHeld by the_saturation_line_matches_ashrae_table_2
The sun on a façade: position, beam/diffuse split, HDKR transposition onto a tilted planePVGIS seriescalc for Denver, calendar 2015 (PVGIS-NSRDB, horizon off): their sun height and plane-of-array components on a south vertical, from their own horizontal beam and diffuse4 338 daylight hours; 117 sun heightssun height within 0.6° at the hour mark; beam on the wall within 1 % over the year (+0.1 % read), diffuse within 4 % (−1.6 %), the plane-of-array total within 1.5 % (+0.2 %) and every month within 6 %; Hay–Davies without Reindl's term had read the diffuse 11.6 % lowHeld by the_transposition_reproduces_pvgis_on_a_south_wall; docs/pvgis-tilt-denver-2015.json
Sun positionThe almanac: noon altitude 90° − latitude + declination at the equinox and both solstices, the sun due south at that moment, sunrise due east at the equinox, solar noon within half an hour of standard-time noon on Denver's longitude3 dayswithin 0.5° on altitude, 1.5° on azimuthHeld by the_sun_stands_where_the_almanac_puts_it
Economiser changeover on the examples in a 90.1 climate zoneASHRAE 90.1-2022 Table 6.5.1.1.3, fixed dry-bulb high-limit shutoff: 24 °C in the dry zones, 21 °C in 5A/6A, 18 °C in 1A–4A2 presetsthe Chicago rooftop declares 21 °C and the New York handlers 18 °C; Denver and Phoenix are the 24 °C default alreadyHeld by the_economizer_high_limits_come_from_90_1
A heat-reclaim stage ahead of the condenser, and the head-pressure floor on itThe circuit's own rejection: reclaim plus condenser equals the compressor's heat rejection, the reclaim capped at the demand it is handed, none when handed none, a lower condensing temperature with it than without — and with a floor declared above the free condensing temperature, that temperature held exactly, the reclaim larger, the compressor's power higherone circuit, three demands, one floorcloses within 5 % of the rejection at the free temperature and at the floor; the capped share within 2 % of the demand; the floor held to 1e-6Held by a_reclaim_stage_takes_its_share_ahead_of_the_condenser
Samsung DVM S AM200FXVAGH/EU (20 HP), modelled — the whole machine against Samsung's published gridSamsung's VRF Technical Data Book (DVM S for Europe, R410A, ver. 1.3): the 100 % combination row at 19 °C indoor wet bulb, total capacity and power input from 25 to 39 °C outdoor8modulated to Samsung's capacity, the machine draws −1 to +4 % of Samsung's power input, the compressor at 0.62–0.72 of full output; the same graph reads +0.5 to +3.6 % against Midea's 20 HP gridHeld by the_samsung_20hp_unit_reproduces_its_published_grid; docs/samsung-vrf-source.json
Gree GMV5 GMV-168WM/B (14 ton), modelled — the validated machine scaled to another frame, against Gree's published gridGree's GMV5 technical sales guide (Gree's own site): the 100 % combination cooling table at 66.2 °F indoor wet bulb, total capacity and power input from 77 to 102 °F outdoor8every dimension of the 20 HP graph scaled by 49.2/56 at once and modulated to Gree's capacity, the machine draws −4 to +1 % of Gree's power input — nothing re-fittedHeld by the_gree_14ton_unit_reproduces_its_published_grid; docs/gree-vrf-source.json
Steam humidification saved by a moisture-recovery wheel (Eurovent 17/14 §5.2.1)Eurovent Recommendation 17/14's own tables 8 to 10 — the annual electricity a steam humidifier needs per m³/s of supply air in Frankfurt and Stockholm, with a sorption rotor at η_t 73 % / η_x 65 % against a rotor of the same temperature efficiency and no moisture transfer, over three operating schedules and two supply humidity setpoints, November to March, by 6/19-1's steam-humidifier arithmetic (§4.7: about 2 700 kJ per kilogram of steam)24 published figures over 2 citiesthe same calculation on the same cities' PVGIS typical years, with this project's wheel supplying the entering humidity, reproduces what the recommendation is arguing: a 65 % sorption rotor removes 99.1 % of the humidification demand in both cities, against the recommendation's own 99.6 % and 98.1 %, and every cell it reports as 'no demand' reads zero here too. The absolute figures differ by the weather file, not the method — on 24-hour operation this project reads 4 243 kWh/(m³/s) against Frankfurt's published 3 099 and 6 579 against Stockholm's 8 469. Backed out, those are mean winter humidity deficits of 0.36 against 0.26 g/kg and 0.56 against 0.72: a tenth to a sixth of a gram per kilogram, integrated over 3 624 hours. Which is the finding worth carrying — an annual humidification figure is the integral of a very small deficit, so it moves 20 to 40 % on the choice of reference year for the same city, and no such figure should be quoted without naming the year behind it. The recommendation used ASHRAE or METEONORM data, this project PVGISHeld by a_moisture_wheel_takes_the_humidification_year_away pins the method half on a deterministic winter; measure_eurovent_humidification fetches the two cities and prints the tables side by side; docs/eurovent-17-14-source.json
A machine that heats and cools at once: Eurovent 18/1's TEREurovent Recommendation 18/1 (2023), Seasonal efficiency index STER for polyvalent units — its full-load index TER = (cooling capacity + heating capacity) / total power input, §1.4the published water-source heat-pump plant at its design pointthe plant chills a data hall's loop and heats the offices' radiators from one compressor, and reads its TER off its two exchangers. The identity holds and is pinned: TER is the cooling COP plus the heating COP, never either minus one — the same identity this project already carries for a three-pipe VRF under AHRI 1230's SCHE, and the same one a guard once asserted the wrong way round from memory. Energy closes within 12 %: what the condenser sheds is what the evaporator took plus the compressor's work. Not implemented: 18/1's seasonal index STER, which needs the recommendation's own proposed climate profile, bin hours, bivalent temperature and standby terms — an apparatus for certifying a product, where this project simulates a particular building on a real weather year. Found while reading it and fixed the same day: the totals counted water-borne cooling that left the graph but not water-borne heat, so this plant reported its chilled water and none of its hot, and the published air-to-water heat pump advertised the duty its outdoor coil takes from the ambient air — a heating machine listed as a 12 kW cooler. Water that leaves hotter than it arrived is now counted as heat delivered, the mirror of the cooling term, and the heat pump is published as the heating machine it is. The double count that objection feared does not arise: a building run already leaves a water-serving block out of its cooling and heating sums, because the block it feeds counts the same energy where it reaches a room. A machine that only rejects heat is untouched — a chiller's condenser sits on a closed tower loop, which is not a boundary-fed chain — and that is pinned too. The mirror of the same reading followed: where a machine's duty leaves in the water, the air coil on the other side of its circuit is the source that fetched it, not a second product, so the heat pump's outdoor coil no longer reports 12 kW of cooling nobody asked for — 8 MWh a year of it in a building run's row for that blockHeld by a_polyvalent_plant_reads_eurovents_ter_and_it_is_the_two_cops; docs/eurovent-18-1-source.json
IT cooling: the rating condition the published computer-room handler is quoted at (Eurovent 11/1)Eurovent Recommendation 11/1 (2024), Rating points for A/A process and IT cooling — a proposal to regulators for the regulation replacing (EU) 2016/2281, whose column (7) carries the 2024 Eurovent ITCU certification's indoor return air condition of 30 °C at 35 % RH, and whose rating load is 75 % of nominal1 rating conditionthe published computer-room air handler is rated at 30 °C dry bulb and a 19 °C wet bulb, chosen from the sizing of the 100 kW-class chilled-water units it is drawn after — and that is 34.9 % RH, the recommendation's proposed condition to within a tenth of a point, arrived at independently. Rated there it delivers its class. What does not apply, and is stated rather than quietly ignored: the recommendation's outdoor, condensing and subcooling columns are for air-to-air units with the vapour-compression cycle in the box, where both published IT machines here are chilled-water handlers fed by a plant elsewhere in the graph; and its 30 Pa external static is a test condition, where the published handler declares the 250 Pa a raised-floor installation actually works against. The recommendation is a proposal, not a certification standard, so this is a convention adopted rather than a figure reproduced — the reason it rates at 75 % load, that IT units run in redundancy and their racks are rarely all installed at once, is the same reason the example data centres are built the way they areHeld by the_it_handler_is_rated_at_eurovents_proposed_return_condition; docs/eurovent-11-1-source.json
Cooling tower: the water it evaporates and the efficiency it is rated on (Eurovent 9/12 and 9/13)Eurovent Recommendation 9/13 (2019) — its evaporation rule of thumb V = 0.4·Q litres per second per megawatt, its blow-down B = V/(C−1), and its statement that drift is negligible over a year — and Eurovent 9/12 (3rd edition 2025) — the thermal energy efficiency as heat rejection over the fan drive's absorbed shaft power, its two worked examples and its minimum targetsthe two recommendations' worked examples, and the published plant's tower over five ambients9/13's rule of thumb is the latent balance with a term missing. It is q/h_fg rounded — a megawatt evaporates 0.408 kg/s at 2 450 kJ/kg — and it is exact only when the air leaves the tower at the temperature it entered. Hot dry air is itself cooled as it passes through, and that sensible heat evaporates water on top of the heat the tower exists to reject; humid air near its own wet bulb is warmed instead and evaporates less. On the published plant's tower the ratio to the rule of thumb runs from 0.82 at 25 °C/24.5 °C wet bulb to 2.47 at 40 °C/22 °C, and across that whole range the balance closes to within 5 %: what the evaporation carries away is what the water gave up plus what the air gave up. The recommendation says only that the formula's error 'can be significant' and blames the load profile and the climate; this names a third term and closes the balance that replaces it. 9/12's efficiency is reproduced as arithmetic (4 627 kW over 42.3 kW is 109.4; the annex's 85 361 over 678 is 126) and the plant's tower reads inside the range certified equipment occupies, with its water side and its air side agreeing on the duty within 3 %. Not modelled: blow-down and drift, which are water-treatment and eliminator decisions rather than properties of the tower — the model reports evaporation, and the formula for the rest is recordedHeld by eurovent_lcc::tower_tests (two); probe_tower_ambients prints the sweep; docs/eurovent-9-12-9-13-source.json
Annual air-handler energy against a second published method (Eurovent 6/19-1)Eurovent Recommendation 6/19-1 (2024), Life Cycle Cost calculation for AHUs Part 1 — its degree-hour method implemented as written for Configuration 2 (plate recovery, heating coil, cooling coil, constant-volume fans): the component functions of §4.1, §4.4, §4.5 and §4.10, the constants and ASHRAE saturation polynomial of §3.2, the scenario of §2.2.2, run hour by hour over a full year and compared against this project's own models on the same year and the same supply scenario8 760 hours × 3 unit configurationswith no recovery device — where the two methods model the same physics end to end — they agree on annual heating within 0.7 % (the water vapour's own heat capacity, which the recommendation's heating coil leaves out) and on annual cooling within 0.1 %, which is an independent check of the hour loop, the coil and the psychrometrics that no test against ourselves can give. With a plate exchanger they part company in two directions the recommendation documents as simplifications of its own: it holds the temperature efficiency fixed whatever the mass-flow ratio (§4.2, 'factor fq will not be calculated'), where at a fixed volume flow the cold supply carries about a tenth more mass than the warm exhaust so a real device of that UA lifts the supply by less — this project's handler then asks its heating coil for 12 % more; and its exchanger is sensible-only, where a real plate condenses on the winter exhaust and on the humid summer supply, which pre-dries the air and leaves this project's cooling coil 32 % less to remove. Both differences vanish when the exchanger does, which is what makes them the device's rather than the loop's. Two further conventions, measured rather than argued: §3.2.1 fixes the air density at 1.2 kg/m³, and reading the air's own density instead costs 5 % more annual heating on a constant-volume unit; and below zero the recommendation's saturation line is over ice where this project's IAPWS-IF97 line is over water — 9 % apart at −10 °C and 18 % at −20, which matters only where frost formsHeld by eurovent_lcc::tests (two); measure_eurovent_lcc prints the decomposition; docs/eurovent-6-19-1-source.json
Air handling unit energy efficiency class (Eurovent 6/12)Eurovent Recommendation 6/12, fourth edition 2013 — its Table 1 (the class values of EN 13053), the three pressure corrections of §6–8, the reference-fan law of §9 and the absorbed power factor of §10, with the climate factor f_pe of §2the recommendation's own table and formulae, reproduced; 10 published example units reada unit built exactly on a class row reads that row and no better — every correction vanishes there, so the reference power is the unit's own static in the reference-fan law, which is the method reproducing its own table by construction — and a thousandth more fan power drops it a class. Each correction moves the reference the way the recommendation states: a faster section, a weaker or more resistant recovery device, an electric reheater and a warmer design climate all lower the reference power a compliant unit is allowed. On the published examples the ten machines that are air handling units read a class and the fifteen that are not (chillers, VRF outdoor units, condensing units, radiator plants, a cold store's unit cooler) read none. Stated rather than hidden: every example's own design point is a summer one, and the recommendation grades a unit above 9 °C entering on velocity and fan power alone, so all ten read A there; the recovery half is exercised by re-solving the published outside-air unit at a winter point, where it reads subgroup 1 at its core's own efficiency and a worse device cannot read a better class. Not validated against a manufacturer's own 6/12 declaration — no maker publishes the inputs and the resulting class togetherHeld by ahu_class::tests (three) and the_ahu_class_reads_a_published_unit_at_a_winter_point; measure_eurovent_class prints the table; docs/eurovent-6-12-source.json
Sorption wheel: the sensible-and-latent form against Eurovent 17/14's worked design pointEurovent Recommendation 17/14 (2025), Moisture recovery in ventilation and air conditioning systems, §5.1.1 Figure 9: Rome's summer design point (33 °C / 45 %) against 25 °C / 50 % extract, supply at 18 °C, a sorption rotor at η_t 73 % / η_x 65 % against a condensation rotor at the same temperature efficiency; the recommendation's typical ranges (§4.2.5) and its certification definitions1 worked design point; the form is EN 308's and EnergyPlus'sthe cooling coil's design capacity falls 26 % where the recommendation reads 27 %, the supply side leaving the wheel at the recommendation's own reading of the process; the balances close to machine precision over a 567-cell grid from −20 to 45 °C outside, with nothing off the chart. The table's other cells hold a supply humidity the text does not state and are not pinned. Not covered: the humidity efficiency's dependence on condition — a declared figure is taken as the device's, the way a certified value is statedHeld by wheel_tests in hvac-core (six guards) and a_moisture_wheel_inside_an_air_cycle_is_refused_by_name; docs/eurovent-17-14-source.json
Rotary wheels: the default temperature curve and the humidity-efficiency definitionsEurovent Certified Performance, rotary heat exchangers (programme AARE) — the public directory's certified rows for every condensing, enthalpy and sorption wheel: temperature and humidity efficiency at 1, 2 and 3 m/s face velocity, winter and (on the enthalpy and sorption types) summer, with the pressure drop and airflow at each2 324 rotors, 13 makers (911 condensing, 413 enthalpy, 1 000 sorption)a core that declares a humidity efficiency and no curve takes the certified winter medians as its temperature curve — 83.5 / 79.5 / 74.2 % at 1 / 2 / 3 m/s, the three types within half a point of each other, held within 1 point; a rotor sits some 15 points above the plate default at 2 m/s and loses 4.7 points per m/s against the plate's 2.5. The recommendation's definitions hold in the data: 97 % of sorption rotors certify a summer humidity efficiency at or above 0.7 of their temperature efficiency (median ratio 0.94), 98 % of enthalpy wheels at or above 0.2 (median 0.48). The certified sorption humidity efficiency at 2 m/s is 73 % in summer and 77 % in winter (medians), so the recommendation's 65 % — and the supermarket example's — is a conservative declaration; an enthalpy wheel's falls from 52 % in winter to 36 % in summer, which is why the declared figure should be the season's. Not covered: the numeric winter and summer rating conditions, which the directory does not printHeld by the_wheel_defaults_and_definitions_hold_in_eurovents_certified_rotors; docs/eurovent-aare-source.json
Plate recovery core: the face-velocity curve and the condensing gainEurovent Certified Performance, air-to-air plate heat exchangers without humidity transfer — the public directory's certified rows: dry temperature efficiency at the nominal pressure drop and at 50 % and 150 % of it, and the efficiency at the W3 condensing condition (22 °C/50 % against −3 °C/90 %)983 models, 13 makersthe default face-velocity curve now moves with airflow as the certified devices do — +2.0 points at two-thirds flow, −1.1 at 1.27 times, against certified medians +2.0 / −1.0 — where the curve it replaced moved +6.5 / −5.1. The wet solve's condensing gain at W3, at equal mass flows as EN 308 tests, reads the certified figure at −2.4 points mean / 3.7 RMS (7 Sep 2026): within a fraction of a point under 50 % dry efficiency, 2 points low from 50 to 70 % and 4 low above. The two-section closed form was first made to track the segmented march it approximates — within 1.5 % over twelve conditions from a humid summer to a −8 °C winter exhaust, where it had over-read by up to 5 % (the wet section's film now carries the saturation chord from the cold stream to the surface, and the device's UA is the one that reproduces its effectiveness at its own flows); before that the reading of −1.3 / 3.4 had the closed form's own optimism at low efficiency in it. What the certified figure is: each maker's selection software (Eurovent tests sample units, unnamed). Five makers' software holds a flat 1.09–1.11 W3/W1 ratio from 50 % up, where the Lewis-one physics of a plate — the segmented march and the closed form alike — gives a flat 1.06–1.07; an effective-capacity model that spreads the latent uniformly along the plate reproduces the certified ratio under 50 % and above 70 % (1.00 → 1.10) but not the middle, a cold-side film twice the warm side's raises the low end 4.5 points and the high end 1.4 (the wrong shape), and the moist-air Lewis number and a wet-side film enhancement were tried earlier and rejected. The 2–4 point shortfall from 50 % up stands unexplained and unfitted; a measured W3 test report on one identified plate would settle itHeld by the_recovery_core_against_eurovents_certified_plates; docs/eurovent-aahe-source.json
The campus plant's centrifugal stand-in — a variable-speed centrifugal's part-load curve on a scroll mapthe EnergyPlus reference dataset (Chillers.idf): the CoolTools fit of a Carrier 19XR 742 kW variable-speed centrifugal's EIR against part-load ratio, from maker data of 1991–2001; and Carrier's published IPLV for the current 19XRV (up to 0.31 kW/ton) as the second sourceone curve, nine steps; four load points under AHRI 550/590 reliefthe stand-in's steps reproduce the curve to 1 % at every temperature and part load — P/P_full 0.64 at three-quarters load, 0.375 at half, 0.20 at a quarter, a third more COP at half load — where four cycling scrolls held COP flat. Second-hand and a generation old: the dataset unit's own curves give an IPLV/full-load ratio of 0.77 where Carrier's current machine publishes about 0.55, so the stand-in under-claims the part-load benefit rather than over-claims itHeld by the_centrifugal_stand_in_unloads_on_carriers_curve; docs/centrifugal-part-load-source.json
The compressor map's superheat/subcooling correction — AHRI-rated maps read at EN 12900 conditionsCopeland's European General Product Guide 2016: the same scrolls the catalog carries as AHRI 540 maps (11.1 K superheat, 8.3 K subcooling), rated per EN 12900 (10 K / 0 K) — the nominal 5/50 °C table and the capacity-data pages at 40 °C condensing, −15 to +15 °C evaporating99 R410A (13 models) + 22 R407C + 35 R134athe corrected map reads the guide's capacity at −0.1 % mean / 1.0 % RMS on R410A, flat across evaporating temperature, every model within ±1.6 %; R407C nominal +1.0 % / 1.8 % (with the subcooling measured from the bubble point, as AHRI 540 Appendix C reads it — +0.3 % when it was measured from the dew point, a difference inside the band either way); R134a +1.5 % / 1.8 %. The uncorrected polynomial reads +9 to +11 %. The R404A refrigeration scrolls, rated at a return gas rather than a superheat, read the guide's 20 °C return-gas tables at +0.7 % / 1.5 % from −15 to −5 °C (88 points) — there the correction is a one-per-cent matter either way. Not held: the heat-pump scrolls, for which the guide prints heating capacity — and one R407C row (ZRD72KCE) disagrees with its map by a quarter and is recorded as a catalogue faultHeld by the_map_correction_reproduces_copelands_en12900_ratings; docs/copeland-gpc2016-en12900.json
A compressor bank — an inverter and a fixed-speed scroll on one circuit — against a maker's 12 HP gridMidea's VRF selection software (v3.7, 2017): the MDV-D335W/DN1 cooling grid, 100 % combination at 19 °C indoor wet bulb, from 25 to 39 °C outdoor; the frame's cabinet and airflow from its spec row8the published bank example (a catalog JPV066AC inverter as lead, a catalog ZP67KZE fixed scroll as partner, the condenser declared from the 12 HP cabinet) modulated to the grid's capacity draws −9 % at 25 °C, −7 at 27, −5 at 29 and within 5 % from 31 to 39 °C — the fixed scroll flat out as base load with the inverter trimming, nothing fitted. As one inverter the same frame read 3–7 % under the grid throughout; the bank closes the warm end and misses the cool end, where the real controller runs its fixed scroll harder than the staging rule. Outside the 6 % band a maker's name needs, so it is published as the generic bank with the miss statedHeld by the_vrf_bank_example_reads_a_makers_grid_within_ten_percent; docs/midea-vrf-source.json
Midea MDV-D252W/DN1 (8 HP, V4+), modelled — a small frame declared from its own cabinet, against Midea's selection-software gridMidea's VRF selection software (v3.7, 2017 database): the MDV-D252W/DN1 cooling grid, 100 % combination at 19 °C indoor wet bulb, total capacity and power input from 25 to 39 °C outdoor, and the spec row's cabinet (980 × 1630 × 800 mm) and airflow (11 500 m³/h)8the condenser declared from the cabinet and airflow — not the 20 HP scaled — and the machine modulated to the grid's capacity draws −2 to +1 % of the grid's power input at every temperature, the compressor at 0.58–0.65 of full output. The 10 and 12 HP frames in the same cabinet read 3–8 % under the grid and the 14 and 16 HP frames 13–20 % under, and are not published; the selector's own spec table disagrees with its grid on rated power by −20 to +9 % across the range, and the physics sides with the grid on the one frame it lands onHeld by the_midea_8hp_frame_reproduces_its_own_grid; docs/midea-vrf-source.json
Drake Chillers PAC360D (30 HP, R407C and R404A), modelled — one air-cooled chiller on the catalog's maps of the compressor its sheet names, on both refrigerants it is sold onDrake Chillers' PAC360D data sheet (Drake Refrigeration, Inc.): tons and EER against leaving fluid and ambient (80–105 °F) for the PAC360D3 on R407C (35–65 °F) and the PAC360D6 on R404A (0–55 °F), two Copeland ZB114KCE named on both. The evaporator's conductance and the condenser's size are pinned on one R407C cell, 45 °F on a 95 °F day, the EER read on total power less 2.0 kW of fans; the R404A build runs the same two exchangers on its own map44 + the pinned cellthe pinned 45 °F row within −1.9 to +1.7 % on tons and −2.8 to 0 % on compressor power; every water row's ambient trend on both fluids, each cell against its row's 95 °F cell, at 1.2 % RMS on tons (worst 3.3) and 1.9 % on power (worst 4.7); and at 55 °F, the one leaving temperature both tables print, R404A's capacity over R407C's within −1.6 to −2.9 % of the sheet's ratio. Recorded, not held to the sheet: the sheet holds its evaporator at one approach whatever the duty ("selected upon requirements"), so one fixed conductance reads +6 to +11 % at 35 °F and −14 to −15 % at 65 °F; R404A's power over R407C's reads 4.9–8.7 % above the sheet's at 55 °F — the condenser model holds the refrigerant at its dew point, which credits R407C with half its 4.7 K glide, while the sheet's two tables are one condenser on the mean condensing temperature; the 0–25 °F R404A rows want glycolHeld by the_drake_pac360d_reads_its_sheet_on_both_refrigerants; docs/drake-chillers-source.json
KeepRite KEZ Generation D scroll condensing units, modelled — four frames on the catalog's maps of the Copeland scrolls the manual names, against its capacity tables on four refrigerantsKeepRite's KEZ Generation D product manual (part 1108861, March 2026): selection capacity in Btu/h against saturated suction (40…0 °F for the cooler units, 0…−40 °F for the freezer unit) and ambient (85–110 °F), one table per refrigerant — R404A/R507, R407A, R448A/R449A and R407C — with the Copeland ZB, ZS or ZF named beside it; no power, no coil, no airflow. Each frame's condenser airflow is pinned on the one R404A cell nearest AHRI 1250's rating point (25 °F or −20 °F suction, 95 °F), on a stated 4-row coil of louvered fin for the manual's enhanced tube and fin806 cells on 15 tables (KEZA009H8, KEZA050H8, KEZA150H8, KEZA150L8), four of them pinnedon the one condenser each, R404A within 0.5–1.1 % RMS (worst +3.4 %) and R407A, R407C and R448A within 1.3–3.7 % RMS (worst −6.9 and +6.7 %, both R448A), every table's mean within a point of the day's — a band no table read one ambient column or one suction row over meets; the 50 cells the manual shades for a 20 °F superheat limit read like the rest. What it tests is the four maps at their own rating basis more than the condenser: the tables are three significant figures with no power, and on three of the four frames the pinned airflow is not air the printed fans could move — through the stated coil it takes 1.9–4.1 times the air power they could give at the best static efficiency of a catalog axial fan of their size, so it stands for the conductance the tables ask for. The suction temperature reads as a dew point — taken as a mid-point the R448A tables read 10–11 % high. Across the manual's 18 cooler frames with a map the same reading runs 1.5–5.2 % RMS, KEZA061H8's R407C table apart (8–46 % under its map), and 10 of them ask a condenser their fans could not drive; the freezer tables mostly print more than their maps give near the ambient — three cannot be reached at any airflow, none is air its fans could move — and are recorded, not modelledHeld by the_keeprite_kez_units_reproduce_their_published_tables; docs/keeprite-condensing-units-source.json
Hitachi Set Free RAS-20FSXN (20 HP), modelled — the published capacity grid and rating-point powerHitachi's FSXN technical catalogue TCGB0124: Table 7 (100 % combination cooling capacity at 19 °C wet bulb, 25–40 °C outdoor) and the nominal 15.64 kW input at 35 °C4 + 156.0 kW reached at 25, 30 and 35 °C and 52.7 at 40 °C, at 0.62–0.70 of full output; 15.64 kW drawn against the published 15.64 (within 0.1 %) — one power point, so a weaker anchor than a gridHeld by the_hitachi_20hp_unit_reproduces_its_published_point; docs/hitachi-vrf-source.json
Pool-surface evaporation (the natatorium relation)ASHRAE Handbook — HVAC Applications, Places of Assembly: the SI form against Carrier's IP form of the same relation, and the design-state magnitude the industry's sizing guides put a public pool at (0.15–0.35 kg/h per m²)1 state, 1 bandthe two published forms agree within 2 % (0.6 % read); 28 °C water under 29 °C / 60 % air evaporates 0.21 kg/h·m²; saturated air takes nothing and the activity factor scales it exactlyHeld by the_evaporation_law_is_carriers_in_si_units, a_pool_stops_evaporating_into_saturated_air_and_scales_with_activity
Three-pipe heat recovery where the loads are kilowatts (the clinic example)The same four rooms on the same outdoor unit declared two-pipe: a November week of the synthetic temperate year, sited at Denver so the south glazing sees a low sun168 hours, both spellingsthe two-pipe unit never serves both directions in an hour; the three-pipe unit does on 14 of the week's 16 hours on which a suite sheds heat while a waiting room asks for it, moves 19 kWh sideways, delivers no less (1 293 against 1 290 kWh) on 228.0 kWh of electricity against 231.8, and serves the 46 room-hours the two-pipe unit leaves unmet — the recovery is within a per cent of the electricity, and what it buys is the roomsHeld by the_example_clinic_recovers_kilowatt_hours
A closed-loop heat-pump dryer against the hot-air dryer it replaces (the coffee-dryer example)The same chamber and batch — 8.2 kW of water into the air, 55 °C, a 0.030 kg/kg ceiling — on a resistance heater and once-through outside air; the published range of specific moisture extraction (heat-pump dryers 1–4 kg/kWh, hot-air 0.5–1) as a plausibility band, no measured anchor2 weeks of a synthetic hot-humid year, both wirings; a PVGIS year eachthe heat pump's coil carries more than 80 % of the batch's water with the chamber on 55 °C from the third hour and one hour a week over its ceiling, on 0.30 and 0.38 of the hot-air dryer's electricity in the dry and wet season; on Buôn Ma Thuột's year 301 kWh per forty-hour batch (0.62 kWh/kg, SMER 1.60) against 985 (2.04 kWh/kg, 0.49) — a 69 % energy saving where the case study that prompted it reports 30 % of the cost against a baseline it does not describe (re-read 3 Oct 2026; 76 % before the dryer's air stream carried one mass and its vent bled to the setpoint and no further)Held by the_example_coffee_dryer_dries_on_a_fraction_of_the_hot_air_dryers_energy; a_humidity_led_machine_with_its_condenser_in_the_supply_unloads_to_its_ceiling; docs/coffee-dryer-source.json
Refrigerant properties without the CoolProp libraryCoolProp's R410A, read off the committed property table's own rows−40…60 °C, every half kelvin, six propertiesthe built-in curve fits — saturation pressure, latent heat, liquid and vapour density, liquid viscosity and conductivity — each within 2 %Held by the_fits_hold_two_per_cent_of_the_committed_r410a_rows
R454B's saturation line — the properties every R454B map in the catalog runs on — against a maker's printed pressure–temperature tableCaptiveAire's Paragon installation, operation and maintenance manual (part A0033507, Rev 39, September 2026), Table 21: R454B's liquid and vapour gauge pressures at every 5 °F from −40 to 170 °F, the bubble and dew lines its technicians read subcooling and superheat by. Each is held as the backend's bubble or dew point at the printed pressure against the printed temperature, the gauge read against a standard atmosphere. The manual prints no capacity, airflow, coil or efficiency for any Paragon size, so its units are not modelled40 temperatures × 2 lines, −40 to 155 °F (160–170 °F lie past the top of the backend's R454B line, 71 °C)one offset, not scatter: at every temperature the backend's dew point is 0.05–0.15 K under the printed one (its dew pressure 0.2–0.5 % over) and its bubble point 0.26–0.33 K under (0.5–1.3 %), so its glide is about 0.2 K wider than the table's. The table does not say whose equation of state it prints, so the offset is held as a bracket on that side, not fittedHeld by the_r454b_saturation_line_reads_the_paragon_manuals_table; docs/captiveaire-paragon-source.json

What is not validated

A coaxial (pipe-in-pipe) exchanger is modelled from tube length and diameter, which its makers do not publish — they rate a kW at a state — so it is unanchored until a rated point can be declared. A plate exchanger's counterflow relation is the textbook one and its rated point round-trips exactly, but no maker's selection has been checked against it yet. A centrifugal chiller's part-load curve is not modelled; the campus plant runs four fixed-speed scrolls as a declared stand-in. The Baltimore Aircoil towers and closed-circuit coolers published here are modelled, not validated: each reproduces its maker's own certified point because its conductance is derived from that point; their second conditions are BAC's CTI tables above, on which one loading exponent per open-tower range and two coil constants per closed-circuit range were chosen and confirmed on held-out models. A tower whose maker prints one condition runs on the Marley–EVAPCO exponent, and the three makers disagree on it (−0.6 to −1.3), which is why it is carried as a property of the fill rather than a constant. Building-level results are estimates: the zone model is a deliberately transparent 1R1C balance, and the worked cases say where each one leaves something open.

Results are engineering estimates from catalog data and published correlations; a catalog entry's certification badge is the supplier's own claim unless marked verified.