fix: remove trace instrumentation + update tests for corrected curve bounds
The bogus machineCurve default at pressure "1" (fixed in generalFunctions 086e5fe) made fValues.min=1, which let sub-curve differentials pass unclamped. With the fix, fValues.min=70000 (the real curve minimum) and low differentials get clamped. Three tests that accidentally depended on the bogus min=1 behavior are updated: - coolprop test: expects fDimension clamped to curve minimum when differential < curve range - pressure-initialization test: uses pressures whose differential falls WITHIN the curve range (900 mbar = 90000 Pa > 70000 Pa minimum) - sequences test: tests upper-bound constraint with setpoint > max, then confirms a valid setpoint is applied as-is (was incorrectly asserting any setpoint would be clamped to max) Trace instrumentation from debugging session removed. 91/91 tests green. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -967,11 +967,8 @@ _callMeasurementHandler(measurementType, value, position, context) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Clamp: at position ≤ 0 the pump isn't rotating — physical flow is 0.
|
||||
// Without this, curve extrapolation at ctrl=0 + high backpressure
|
||||
// produces large negative values (backflow through a stopped pump)
|
||||
// that confuse dashboards and downstream consumers.
|
||||
const rawFlow = this.predictFlow.y(x);
|
||||
// Clamp: at position ≤ 0 the pump isn't rotating — physical flow is 0.
|
||||
const cFlow = (x <= 0) ? 0 : Math.max(0, rawFlow);
|
||||
this.measurements.type("flow").variant("predicted").position("downstream").value(cFlow,Date.now(),this.unitPolicy.canonical.flow);
|
||||
this.measurements.type("flow").variant("predicted").position("atEquipment").value(cFlow,Date.now(),this.unitPolicy.canonical.flow);
|
||||
|
||||
Reference in New Issue
Block a user