Product outcome
Present alarm severity, rack distribution, cold-aisle condition, cooling headroom and N+1 status in one ordered workflow, with every basis KPI traceable to code or the technical manual.
A traceable product contract for the conventional Hall A rack heat-map, alarm strip, cooling balance and equipment inspection workflow. The cockpit consumes one frozen CONV_CALC.snapshot; it is a simulated engineering/education surface, not a live SCADA endpoint.
Operators need to move from a facility-level alarm to the affected row, rack or CRAH without losing the power/cooling reconciliation basis. Static rack plans do not show loading, redundancy or data provenance; raw BMS point lists do not show spatial consequence.
Present alarm severity, rack distribution, cold-aisle condition, cooling headroom and N+1 status in one ordered workflow, with every basis KPI traceable to code or the technical manual.
Identify where attention is required, whether the electrical and rack totals reconcile, whether cooling capacity survives one CRAH loss, and which equipment record to inspect next.
The same surface serves different readers; the product must not force a commissioning engineer and a learner to infer the provenance of a number differently.
| Persona | Goal | Primary read | Success condition |
|---|---|---|---|
| Data-center operator | Triage a rack/cooling alarm quickly. | Alarm strip → active semantic layer → equipment inspector. | Can name severity, source tag and next inspection step without opening documentation. |
| Facilities engineer | Check cooling capacity and redundancy. | CHW plant, cooling margin, CRAH states and N+1 calculation. | Can reproduce 2,210 kW running and 2,080 kW post-failure capacity. |
| Electrical/EPMS reviewer | Reconcile rack total to protected IT output. | Balance band and rack load roll-up. | Any difference between rack sum and EPMS snapshot is explicit. |
| Commissioning engineer | Review point naming, thresholds and interaction sequence. | Tagged racks/CRAHs, alarm list, modes, event log. | Can turn every visible behavior into a deterministic test. |
| Educator / learner | Understand why color and capacity states change. | Basis drawers, Manual and formula references. | Can distinguish measured, derived, target and simulated values. |
Each requirement maps a visible cockpit element or interaction. IDs reference datahall.html.
| ID | Requirement | Acceptance |
|---|---|---|
| FR-01 | Show a top alarm strip with overall state, critical, warning, maintenance, communications, last update, data quality and scenario. | All eight groups render above the engineering roll-up and update without page reload. |
| FR-02 | Declare the source mode as simulated. | data-rz-data-mode="simulated" and the visible Scenario chip agree. |
| FR-03 | Show Hall state, rack load, cooling margin, PUE and power density in the engineering roll-up. | Each item has a stable ID and keyboard-accessible basis trigger. |
| FR-04 | Bind critical roll-up values to one CONV_CALC.snapshot. | Reloading does not change IT, PUE, rack count or the derived density. |
| FR-05 | Render CH-01/02 RUN and CH-03 STBY plus CHWS, CHWR, ΔT and CHW flow. | Plant panel reads engine cooling fields; labels retain units. |
| FR-06 | Render 20 CRAH units with stable CRAH-Axx tags. | 17 units are RUN and three STBY in the locked scenario. |
| FR-07 | Show IT load, rack count/average, utilization, EPMS balance, cooling headroom and N+1 in the balance band. | Displayed arithmetic matches §06 exactly. |
| FR-08 | Render 200 rack cells across ten zones with deterministic occupancy and load weights. | Rack layout and values are identical over repeated reloads. |
| FR-09 | Normalize occupied rack values so their sum equals 1,850 kW. | Balance to the engine/EPMS IT point is zero within display rounding. |
| FR-10 | Expose Power Density mode. | Each rack shows the utilization tier against its 15 kW rating. |
| FR-11 | Expose Cold-Aisle Temperature mode. | Zone temperature uses the declared normal baseline and semantic thresholds. |
| FR-12 | Expose Cooling Margin mode. | Rack/zone display communicates capacity headroom without changing the basis. |
| FR-13 | Expose Alarms mode. | Warning/critical sources correspond to the alarm list and top counts. |
| FR-14 | Expose Space mode. | Unoccupied cells are visually distinct from zero-load faults. |
| FR-15 | Keep the two layer selectors synchronized. | mode-btn and data-bms-layer pressed states name the same semantic layer. |
| FR-16 | Provide a visible legend for the selected layer. | Legend text and colors change with setMode(). |
| FR-17 | Show rack detail on hover and persist it on click. | Tag, kW, utilization, zone and tier are available without relying on color alone. |
| FR-18 | Show a CRAH popover on unit selection. | Tag, RUN/STBY, SAT, RAT, fan, valve and assigned capacity are displayed. |
| FR-19 | Evaluate rack warning above 85% and critical above 95% of rating. | Counts, rack styling and alarm list share one evaluation result. |
| FR-20 | Evaluate cold-aisle warning above 26°C and critical above 30°C. | Zone styling and alarm list use the same thresholds. |
| FR-21 | Report maintenance count as installed CRAHs minus running CRAHs. | Locked result is 3, not an unrelated alarm count. |
| FR-22 | Provide a bounded training excursion. | Explicit simulator changes one zone/CRAH for 10–15 seconds and restores the deterministic baseline. |
| FR-23 | Maintain a time-stamped local event log. | State changes append readable entries and do not claim historian persistence. |
| FR-24 | Provide basis drawers for State, Rack Load, Cooling Margin, PUE and Density. | Click and keyboard activation show formula, inputs, output and source. |
| FR-25 | Provide Back, Portfolio, PRD and Manual navigation. | All four links are visible, keyboard reachable and resolve correctly. |
| FR-26 | Preserve theme, mobile navigation and cookie controls. | Shared shell scripts load without console errors. |
Nominal values are the locked simulated basis. Alarm semantics are training rules, not field-approved trip settings.
| Signal | Symbol / ID | Unit / nominal range | Color / alarm semantics | Source binding |
|---|---|---|---|---|
| Overall hall state | as-state | NORMAL / WARN / CRITICAL | Green / amber / red from worst active alarm. | alarms[] roll-up. |
| Critical count | as-crit | count; 0 normal | Red when non-zero. | Rack >95% plus aisle >30°C filters. |
| Warning count | as-warn | count; 0 normal | Amber when non-zero. | Rack >85% plus aisle >26°C filters. |
| Maintenance count | as-maint | 3 locked | Maintenance/standby, not failure. | 20 CRAH − 17 running. |
| Communications | as-comms | OK | GOOD presentation only; no live transport. | Local page state. |
| Last update | as-update | HH:MM:SS | Muted timestamp. | Browser clock tick. |
| Data quality | as-dq | GOOD | Green quality chip. | Simulated local model declaration. |
| Scenario | as-scn | Simulated | Cyan provenance chip. | body[data-rz-data-mode]. |
| IT / rack load | dh-rack-load | 1.85 MW | Neutral numeric; basis-enabled. | snapshot.site.it_load_kw. |
| PUE | dh-pue | 1.45 ratio | Derived/measured basis, separate from target. | snapshot.site.pue. |
| Power density | dh-pd | 9.25 kW/rack average | Neutral aggregate. | 1,850 kW ÷ 200 racks. |
| Cooling headroom | bb-cool | 360 kW; 19.5% of demand | Green while positive and N+1 passes. | 2,210 − 1,850 kW. |
| Cooling N+1 | bb-np1 | PASS | Green PASS; red FAIL. | 2,080 kW post-failure vs 1,850 kW demand. |
| EPMS balance | bb-balance | kW / %; target 0 | Pass only within declared rounding tolerance. | Σ rack kW − epms_ups_output_kw. |
| Rack power | rack[data-idx] | 0–15+ kW; sum 1,850 kW | Muted spare; green <70%; amber 70–95%; red >95%. | Fixed hash weights normalized to site IT. |
| Rack utilization | rack.util | fraction of 15 kW | Same tier table as rack power. | rack.kw / RACK_RATING_KW. |
| Cold-aisle temperature | zone.coldAisleC | ≈21.7–22.3°C normal | Warn >26°C; critical >30°C. | Deterministic zone baseline; explicit excursion may override temporarily. |
| Zone airflow | zone.airflow | m³/s | Engineering numeric, no standalone alarm. | zoneHeatDesign/(ρcp×11 K). |
| CRAH state | CRAH-A01..A20 | 17 RUN / 3 STBY | Green RUN; muted standby. | crahUnits[].running. |
| CRAH supply air | crahUnits[].sat | °C | Detail-only numeric. | CHWS + 8°C coil approach in page model. |
| CRAH return air | crahUnits[].rat | °C | Detail-only numeric. | SAT + 11 K design air rise. |
| CRAH fan / valve | fan, valve | 72% / 64% when running | Zero for standby. | Locked illustrative unit state. |
| CHWS / CHWR / ΔT | chws, chwr, chdt | 7.2°C / 14.8°C / 7.6 K | Basis numeric. | snapshot.cooling. |
| CHW flow | chflow | 58.1 L/s | Derived numeric. | 1,850/(4.186×7.6). |
Σ rack_kW = 1,850 kW; a residual rounding correction is applied to the highest occupied rack. Manual §09–10.CONV_CALC.| Interaction | Required behavior | Accessibility / failure behavior |
|---|---|---|
| Mode selection | Power, temperature, cooling margin, alarms and space update racks and legend together. | Pressed/current state is available beyond color; keyboard controls remain operable. |
| Rack hover/click | Hover gives transient tooltip; click persists detail and selection. | Detail text names tag, value and tier; no color-only meaning. |
| CRAH selection | Open tagged equipment popover anchored near the selected unit. | Dialog has a readable title and must remain within the viewport. |
| Basis cards | Click/Enter/Space opens formula, inputs, result and source. | Escape closes; focus returns to the trigger. |
| Mobile 360 px | Alarm, toolbar and rack content wrap or scroll internally without widening the document. | No hidden doc links; targets are at least 44 px. |
| Theme | Dark and light palettes preserve semantic states and readable surfaces. | No white body/block in dark mode; AA contrast target. |
| Training excursion | Clearly label simulated transient, log it, restore baseline automatically. | Reduced-motion preference disables nonessential animation; state text remains. |
| ID | Given / when / then | Evidence |
|---|---|---|
| AC-01 | Given a fresh load, when the engine initializes, then rack sum, roll-up IT and EPMS IT are 1,850 kW within display rounding. | DOM values plus engine snapshot assertion. |
| AC-02 | Given 200 cells, when density is derived, then the average is 9.25 kW/rack. | Deterministic unit test and rendered basis drawer. |
| AC-03 | Given 17 × 130 kW running CRAHs, when one is removed, then 2,080 kW still covers 1,850 kW and N+1 reads PASS. | Formula assertion and DOM chip. |
| AC-04 | Given repeated reloads, then rack occupancy, rack load and normal zone temperatures remain identical. | Multi-reload browser comparison. |
| AC-05 | Given a rack above 85% but not 95%, then it and the alarm list are warning, not critical. | Boundary fixture at 85%, 85.1%, 95%. |
| AC-06 | Given a rack above 95%, then critical count, alarm row and rack state agree. | Injected deterministic fixture. |
| AC-07 | Given aisle temperature above 26°C / 30°C, then warning / critical states use the documented strict comparisons. | Boundary fixture. |
| AC-08 | Given each view button, when activated, then pressed state, legend and rack rendering select the same mode. | Puppeteer interaction loop. |
| AC-09 | Given a rack and CRAH selection, then their detail surfaces show a stable tag and source-backed values. | Browser click assertions. |
| AC-10 | Given keyboard focus on a basis KPI, when Enter or Space is pressed, then the basis dialog opens and Escape closes it. | Keyboard E2E. |
| AC-11 | Given a training excursion, then the Simulated label stays visible and the deterministic baseline returns after the bounded interval. | Fake-clock E2E. |
| AC-12 | Given 360 px width, then document scroll width does not exceed viewport width. | Puppeteer measurement. |
| AC-13 | Given dark mode, then no body or major content surface is white. | Computed-style/render gate. |
| AC-14 | Given the cockpit toolbar, PRD and Manual links are visible and navigate to public pages. | Navigation E2E. |
| AC-15 | Given the full interaction journey, then no uncaught console or page errors occur. | Captured browser error stream. |
First meaningful operator state must render from local assets without a network API. Interaction work should remain responsive with 200 rack cells and 20 CRAHs; no unbounded timers or DOM growth.
Target WCAG 2.2 AA: keyboard modes/dialogs, visible focus, semantic labels, 44 px mobile targets, non-color state text and reduced-motion handling.
Current evergreen Chromium, Firefox and Safari; vanilla JavaScript, no build step. Failure of optional analytics/auth must not break this public documentation.
No credentials, external write or live-site identifier. Simulated provenance is visible. HTML insertion uses controlled internal strings; user/external data requires text-safe rendering.
| Source | What it governs | Trace |
|---|---|---|
datahall.html | Visible elements, rack spatial model, semantic tiers, CRAH availability and interaction logic. | Source of truth for FR-01–FR-26. |
js/conv-engine.js | Frozen 1,850 kW IT, 1.45 PUE, EPMS reconciliation and cooling values. | window.CONV_CALC.snapshot. |
| Data Hall Technical Manual | Formula definitions, worked 1,850 kW example, assumptions and operating sequence. | Manual §§01–11. |
standarization/ACCURACY_VALIDATION.md | One source of truth, denominator, deterministic KPI, target-versus-derived and provenance rules. | Accuracy gate and probes. |
| ISO/IEC 30134-2 | PUE definition and facility/IT boundary. | Applied through the manual and frozen engine. |
| ASHRAE TC 9.9 thermal guidance | Recommended inlet envelope context; cockpit warning/critical limits remain explicit training choices. | Manual references and risk R-03. |
| IEC 62040-3 | UPS performance context for the 96% efficiency assumption in the conventional model. | Manual calculation basis. |
| Risk | Current decision | Required follow-up |
|---|---|---|
| R-01 · Site scope | The engine site total is intentionally modelled as one Hall A so rack sum equals 1,850 kW. | If multiple halls are introduced, add explicit site/hall allocation before changing any denominator. |
| R-02 · Simulated fidelity | Normal rack/zone states are deterministic; excursions are educational. | Do not relabel as live without authenticated point transport, freshness and quality semantics. |
| R-03 · Alarm thresholds | 85%/95% rack and 26°C/30°C aisle thresholds are visible cockpit rules. | Validate and version against site cause/effect and approved set-point schedule before operations use. |
| R-04 · Airflow model | The page computes a simple sensible balance but normalizes displayed inlet temperature near 22°C. | Use commissioned sensor data or CFD for distribution/recirculation claims. |
| R-05 · Cooling redundancy | Capacity arithmetic proves N+1 nameplate coverage only. | Add hydraulic/electrical dependency and common-mode analysis for design approval. |
| R-06 · Accessibility | Automated AA checks and keyboard journeys are release gates. | Retain manual screen-reader/usability review for modal and dense heat-map semantics. |