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 rack heat-map, alarm strip, cooling balance and equipment inspection workflow. Current operation consumes the frozen CONV_CALC v2.0.0 authority: 30 MW site IT across four equal 7.5 MW Hall views. The governed design boundary is 4 × 10 MW. 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 7,670 kW installed and 7,540 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 the central 7/10 chiller state plus CHWS, CHWR, ΔT and site CHW flow. | Plant panel reads engine cooling fields; labels retain units and site scope. |
| FR-06 | Render the derived Hall CRAH fleet with stable tags. | 58 units satisfy 7,500 kW at 130 kW/unit and one additional unit is available for N+1 replacement. |
| 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 500 rack positions across deterministic rows with stable occupancy and load weights. | Rack layout and values are identical over repeated reloads. |
| FR-09 | Normalize occupied rack values so their sum equals the selected Hall authority of 7,500 kW. | Rack-field sum equals Hall IT within display rounding; Hall EPMS balance remains UNAVAILABLE until a Hall submeter exists. |
| 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. |
| FR-27 | Expose Hall A–D operating context without mutating the model. | Selector updates the selected equal-authority Hall view only; CONV_CALC.snapshot stays byte-equivalent. |
| FR-28 | Distinguish rack inlet/cold aisle, rack outlet/hot aisle and CRAH supply/return. | Inspector exposes both inlet and hot-aisle/return values with unambiguous labels. |
| FR-29 | Use 25.4 °C as the project rack-inlet target. | 18–27 °C recommended envelope remains green and visible; below 18 °C is not normal and no universal-optimum claim is made. |
| FR-30 | Expose heat load, air-side heat removal and cooling-efficiency basis. | kW thermal, airflow, density, cp and ΔT are named; unavailable data fails closed. |
| FR-31 | Provide read-only alarm history filters. | Date, point/tag, severity, lifecycle/state, quality, value and text filters compose without overwriting live counts. |
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 | Derived equipment state | Maintenance/standby, not failure. | Installed CRAHs minus required/running units. |
| 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]. |
| Selected-Hall rack load | dh-rack-load | 7.50 MW | Neutral numeric; basis-enabled. | snapshot.campus.halls[n].it_load_kw. |
| PUE | dh-pue | 1.45 ratio | Adopted simulated design-point input; not live telemetry and separate from target. | snapshot.site.pue. |
| Power density | dh-pd | 15.0 kW/installed position; ≈16.2 kW/active rack | Neutral aggregate with explicit denominator. | 7,500 kW ÷ 500 installed positions; active denominator is separate. |
| Cooling headroom | bb-cool | 40 kW | Green while positive and N+1 passes. | 7,540 − 7,500 kW. |
| Cooling N+1 | bb-np1 | PASS | Green PASS; red FAIL. | 59 installed minus one failed leaves 58 × 130 = 7,540 kW. |
| Hall IT reconciliation | bb-balance | UNAVAILABLE without Hall submeter | Neutral unavailable, never green or negative arithmetic. | Rack sum is known; authoritative Hall EPMS kW is not. |
| Rack power | rack[data-idx] | 0–30 kW; sum 7,500 kW | Muted spare; tier colors follow rack rating. | Fixed hash weights normalized to selected-Hall IT. |
| Rack utilization | rack.util | fraction of 20 kW design average | 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..A59 | 58 RUN / 1 STBY | Green RUN; muted available 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 | 19.4°C / 27.0°C / 7.6 K | Site basis numeric. | snapshot.cooling. |
| CHW flow | chflow | 943.0 L/s site | Derived numeric; site scope labelled. | 30,000/(4.186×7.6). |
Σ rack_kW = 7,500 kW; the denominator is always named.| 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 and selected-Hall IT are 7,500 kW within display rounding; Hall EPMS reconciliation is UNAVAILABLE without a submeter. | DOM values plus engine snapshot assertion. |
| AC-02 | Given 500 installed positions, when density is derived, then the installed average is 15.0 kW/rack and the active-rack denominator is separately labelled. | Deterministic unit test and rendered basis drawer. |
| AC-03 | Given 59 × 130 kW installed CRAHs and one failed unit, then 58 available units still cover 7,500 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. |
| AC-16 | Given Hall A–D selection, then each selected current Hall declares 7.5 MW IT and 500 positions while the separate design context remains 10 MW and 20 kW/rack. | tools/test-datahall-operator-engineering.mjs. |
| AC-17 | Given Alarm History, then system/date/point/state/value filtering and CSV export retain source timestamp and quality. | tools/test-conv-alarm-workspace.mjs plus browser E2E. |
First meaningful operator state must render from local assets without a network API. Interaction work must remain responsive with 500 rack positions and 59 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 current 30,000 kW site IT, 40,000 kW design boundary, 1.45 PUE, central cooling and site utility values. | window.CONV_CALC.snapshot. |
| Data Hall Technical Manual | Formula definitions, current 30 MW worked 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 · Scope confusion | Site IT is 30 MW and each equal current Hall view is 7.5 MW; central plant and utilities remain site scope. | Every value must label site, Hall, installed-position, or active-rack denominator. Never infer Hall EPMS kW from an equal planning share. |
| 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. |