Files
next-tjwater-server/docs/fengyang-burst-scada.md
T
jiang 1d061f6099
Generic Container CI/CD / test-build-publish (push) Failing after 6s
Server CI/CD v2 / build-test-publish-and-deploy (push) Failing after 6s
feat: add project-scoped operations
2026-10-22 18:40:20 +08:00

4.1 KiB
Raw Blame History

凤阳六月爆管模拟与 SCADA 复制

2026-10-22 已完成活动项目 fengyang_v2 (b962c44e-8433-4a10-81e9-a64b70ac1152)的三段模拟爆管数据及前一天基线复制。 一次性复制脚本及其专属测试已清理,来源、核对结果和备份记录如下:

方案名称 模型管段 模型管径
2026-06-02 Pipe19026 DN200 burst 19026 200 mm
2026-06-12 Pipe18751 DN160 burst 18751 160 mm
2026-06-22 Pipe18750 DN160 burst 18750 160 mm

方案名称、burst_ID 和 network.pipes.diameter 必须一致。时间使用方案的 started_at 和结果时间戳,历时为 4 小时,包含起止点,15 分钟一个采样。 不使用项目说明中的历史时间窗,也不使用旧的 5hrs burst scheme 数据。

源数据为 analysis.node_results.pressure,仅复制既有 50 个压力设备 asset.scada_devices.node_id 对应的节点。每段必须完整覆盖 17 个时间点, 即 850 条观测,三段共 2,550 条;方案状态必须为 completed。

压力源单位来自每个方案的 parameters.result_units.pressure,目标单位来自 设备的 measurement_unit,并用总水头减节点高程核对压力单位。缺失水头、 高程或单位不一致时拒绝写入。例如真正的 kPa 转米水头使用 pressure / 9.80665。 不添加噪声、不平移日期、不插值。写入 scada.measurements.monitored_value, 同时将窗口内对应观测的 cleaned_value 清空,避免使用旧观测的清洗结果。 其他日期、其他设备及模拟源数据保持原样;原有其他模拟事件也保留。

正常基线直接读取 realtime.node_results,保留其原始日期和压力值。每段在线 模拟采用右端不含的时间窗,4 小时共有 16 个采样点,最后一个点比窗口终点 早 15 分钟。三段共 2,400 条观测。基线源单位来自模型配置,并同样校验 总水头减高程;不从爆管结果或旧 SCADA 推导正常值。

管段 爆管数据时间(北京时间,含末点) 前一天基线采样时间(北京时间)
19026 DN200 6 月 2 日 08:00–12:00 6 月 1 日 08:00–11:45
18751 DN160 6 月 12 日 12:00–16:00 6 月 11 日 12:00–15:45
18750 DN160 6 月 22 日 18:00–22:00 6 月 21 日 18:00–21:45

定位算法配对比较时应采用共同的 16 个相对采样时刻,或明确使用右端不含的 4 小时时间窗,避免将爆管结果额外的终点与不存在的基线终点配对。

2026-10-22 核查发现 EPANET 输出解析曾将压力枚举 1、2 的单位名称写反。 已改为 0=PSI, 1=KPA, 2=MTR,并通过本地原生 EPANET 输出测试验证。 这三个方案的全部 2,550 个压力值都与米制水头减高程一致,元数据已纠正为 MTR,原始模拟数值保持不变。SCADA 最终使用设备的 m 单位,无额外换算。 更正前的三个方案参数与核查证据保存在忽略目录 data/fengyang-result-unit-correction/。

本次最终复制记录为 data/fengyang-burst-scada/20261022T101442415337Z/report.json: 2,550 条爆管观测与 2,400 条前一天基线,共替换 4,950 条观测;SCADA 整表 仍为 144,000 条、50 个设备。窗口外指纹不变,独立 SQL 比对六段数据与源值 差异为零,重复只读预览显示 4,950 条均已一致。三个方案均为 completed。

本次执行前已锁定观测表并备份整表至忽略目录 data/fengyang-burst-scada/<UTC时间>/measurements-before.csv,同时保存 prepared.json(来源、设备映射、备份校验和)和 expected.json(预期观测)。 目录权限为 0700,文件权限为 0600,不包含数据库凭据。

本次复制在一个事务中完成,逐条比对预期值、核对总行数、校验窗口外数据 指纹不变。提交后使用新连接再次读回校验,已保存 report.json。

如需恢复,先核对对应报告的备份校验和,将 CSV 导入临时表,再仅恢复 expected.json 中的 (time, device_id) 键;不要整表覆盖当前观测。 数据库读回校验不代表已经完成 HTTP、界面回放或爆管定位算法验收。