Compare commits
1 Commits
8216480950
...
e041877ae4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e041877ae4 |
@@ -18,13 +18,19 @@ class PumpingStation extends BaseDomain {
|
||||
static name = 'pumpingStation';
|
||||
|
||||
// Internal math runs in m3/s for flow and m for level so the volume
|
||||
// integrator (flow × dt) is unit-consistent. Strict canonicals make
|
||||
// unit drift in child-fed measurements an explicit error.
|
||||
// integrator (flow × dt) is unit-consistent — canonical stays m3/s, the
|
||||
// platform-wide convention every cross-node consumer (MGC demand math,
|
||||
// physics-sanity) assumes. Strict canonicals make unit drift in child-fed
|
||||
// measurements an explicit error.
|
||||
// Output flow / netFlowRate are emitted in m3/h so telemetry/dashboard
|
||||
// series land on the same axis as the rest of the pump group (verified
|
||||
// slice #47); the m3/s→m3/h presentation conversion happens at the output
|
||||
// boundary only — it never touches the canonical integrator basis.
|
||||
// overflowVolume / underflowVolume are listed in output so the
|
||||
// MeasurementContainer keeps the integrator's m³ unit on those streams
|
||||
// (FlowAggregator writes spill / underflow per tick).
|
||||
static unitPolicy = UnitPolicy.declare({
|
||||
canonical: { flow: 'm3/h', pressure: 'Pa', power: 'W', temperature: 'K' },
|
||||
canonical: { flow: 'm3/s', pressure: 'Pa', power: 'W', temperature: 'K' },
|
||||
output: {
|
||||
flow: 'm3/h', netFlowRate: 'm3/h', level: 'm', volume: 'm3',
|
||||
overflowVolume: 'm3', underflowVolume: 'm3',
|
||||
|
||||
Reference in New Issue
Block a user