# 凤阳六月爆管模拟与 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//measurements-before.csv`,同时保存 `prepared.json`(来源、设备映射、备份校验和)和 `expected.json`(预期观测)。 目录权限为 0700,文件权限为 0600,不包含数据库凭据。 本次复制在一个事务中完成,逐条比对预期值、核对总行数、校验窗口外数据 指纹不变。提交后使用新连接再次读回校验,已保存 `report.json`。 如需恢复,先核对对应报告的备份校验和,将 CSV 导入临时表,再仅恢复 `expected.json` 中的 `(time, device_id)` 键;不要整表覆盖当前观测。 数据库读回校验不代表已经完成 HTTP、界面回放或爆管定位算法验收。