configs(pumpingStation): realistic basin defaults + ramp-foot clarification
Schema defaults now match a realistic 50 m³ × 4 m basin (volume=50, height=4, inflowLevel=1.5, overflowLevel=3.8, maxLevel=3.8, minLevel=0.3). stopLevel default stays null so the hysteresis remains opt-in for programmatic configs (per levelBased.js:111-113); the editor HTML supplies 0.5 m as the drag-in default. startLevel description corrected: the ramp foot is inflowLevel, not startLevel — demand stays at 0 % across [startLevel, inflowLevel] and scales 0 → 100 % across [inflowLevel, maxLevel]. The previous text claimed [startLevel, maxLevel], contradicting the runtime. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -267,14 +267,14 @@
|
||||
},
|
||||
"basin": {
|
||||
"volume": {
|
||||
"default": "1",
|
||||
"default": 50,
|
||||
"rules": {
|
||||
"type": "number",
|
||||
"description": "Total volume of empty basin in m3"
|
||||
}
|
||||
},
|
||||
"height": {
|
||||
"default": "1",
|
||||
"default": 4,
|
||||
"rules": {
|
||||
"type": "number",
|
||||
"description": "Total height of basin in m"
|
||||
@@ -288,11 +288,11 @@
|
||||
}
|
||||
},
|
||||
"inflowLevel": {
|
||||
"default": 2,
|
||||
"default": 1.5,
|
||||
"rules": {
|
||||
"type": "number",
|
||||
"min": 0,
|
||||
"description": "Bottom/invert height of the inlet pipe measured from the basin floor (m)."
|
||||
"description": "Bottom/invert height of the inlet pipe measured from the basin floor (m). Acts as the ramp foot in levelbased control: demand stays at 0 % below inflowLevel and scales 0 → 100 % across [inflowLevel, maxLevel]."
|
||||
}
|
||||
},
|
||||
"outflowLevel": {
|
||||
@@ -304,7 +304,7 @@
|
||||
}
|
||||
},
|
||||
"overflowLevel": {
|
||||
"default": 2.5,
|
||||
"default": 3.8,
|
||||
"rules": {
|
||||
"type": "number",
|
||||
"min": 0,
|
||||
@@ -486,7 +486,7 @@
|
||||
},
|
||||
"levelbased": {
|
||||
"minLevel": {
|
||||
"default": 1,
|
||||
"default": 0.3,
|
||||
"rules": {
|
||||
"type": "number",
|
||||
"min": 0,
|
||||
@@ -498,7 +498,7 @@
|
||||
"rules": {
|
||||
"type": "number",
|
||||
"min": 0,
|
||||
"description": "Pump-on threshold and ramp foot. Below this level demand is 0 %; at or above it demand scales 0 → 100 % across [startLevel, maxLevel] using the configured curve (linear or log). When enableShiftedRamp is on, this also serves as the bottom of the held-then-ramp curve during draining."
|
||||
"description": "Pump-on threshold (engagement edge for stopLevel hysteresis). Demand stays at 0 % between startLevel and inflowLevel — the ramp foot is inflowLevel, not startLevel. The ramp itself scales 0 → 100 % across [inflowLevel, maxLevel]. When enableShiftedRamp is on, startLevel also serves as the bottom of the held-then-ramp curve during draining."
|
||||
}
|
||||
},
|
||||
"stopLevel": {
|
||||
@@ -507,11 +507,11 @@
|
||||
"type": "number",
|
||||
"nullable": true,
|
||||
"min": 0,
|
||||
"description": "Optional pump-off threshold. When set, PS sends an explicit turnOffAllMachines command to MGC the moment level drops below stopLevel. Independent of the ramp scaling — does NOT shift where the ramp starts. Pair with a startLevel above stopLevel to get hysteresis (pumps engage at startLevel rising, disengage at stopLevel falling). Must be ≥ minLevel and ≤ startLevel."
|
||||
"description": "Optional pump-off threshold. When set, PS sends an explicit turnOffAllMachines command to MGC the moment level drops below stopLevel. Independent of the ramp scaling — does NOT shift where the ramp starts. Pair with a startLevel above stopLevel to get hysteresis (pumps engage at startLevel rising, disengage at stopLevel falling). Must be ≥ minLevel and ≤ startLevel. NOTE: schema default stays null so omitting stopLevel keeps the hysteresis inactive (matching levelBased.js); the editor HTML provides a realistic 0.5 m default for drag-in UX."
|
||||
}
|
||||
},
|
||||
"maxLevel": {
|
||||
"default": 4,
|
||||
"default": 3.8,
|
||||
"rules": {
|
||||
"type": "number",
|
||||
"min": 0,
|
||||
|
||||
Reference in New Issue
Block a user