第二部 · 洪水线下
第八章高出一米四

两个零点不在同一张纸上。
旧防空系统的水准路线保存在民防档案馆,一九六七年的蓝布封面已经褪成灰色。新的城市高程成果表在测绘中心服务器里,表格有电子签章,每一页都能追溯修改记录。防洪预报又使用江边验潮站的水位基准,单独附着一张换算表。
三套资料摆在一起,看上去像三种彼此无关的语言。
沈栖岚通宵待在空间证据室。
她没有先输入软件。她把三套记录中仍然存在的永久点一个个找出来,写在透明胶片上:老铁路桥南锚座、原水厂进水口、民防北洞门楣。建筑可以拆,路可以改,这些嵌在深基础里的金属点几十年没有移动。
同一个南锚座,在旧记录中有一个数,在新记录中有另一个数。
同一个进水口,也是。
她把第一张胶片压在灯箱上,用针尖穿过代表南锚座的小圆点;再盖上第二张,移动到两个针孔重合。其他固定点没有完全对齐,每一个都沿竖向错开近似的距离。
沈栖岚拿游标卡尺量胶片上的偏移,换算成实地数值。
二点七二八。
二点七三一。
二点七二九。
三个独立点,平均二点七三米。
误差只有毫米级。
她在纸上写下:
旧基准 → 新城市基准:-2.73m。
那枚从CD-B07墙上消失的青铜标志,在旧系统中被人为定义为零。按今天使用的城市基准,它所在的物理高度应当是负二点七三米。所有从它向外传递的旧标高,要进入新系统,都必须扣掉这二点七三米。BUILD-B07与CD-B07的门牌都写着负六点四;换到同一个城市基准里,后者的地坪实际比前者低二点七三米。
沈栖岚又拿出白潮事故的高程汇总表。
表中,旧避险室地坪和预计洪峰被放进同一列比较。审核结论用黑体写着:
避险室地坪高于预测洪水位1.40m,具备临时避险条件。
这句话在十八年里出现过无数次。
事故报告、行政答复、法院判决、媒体通报。每一次有人追问为什么先救别处,答案都是这一米四。它听上去足够具体,具体到像一把尺已经在门口量过。
沈栖岚把换算写在下面。
+1.40m - 2.73m = -1.33m。
避险室没有高出洪水线一米四。
它实际低于洪水线一米三三。
不是水比预计多涨了两米多,也不是门体意外失效后才造成危险。水还没抵达峰值,那间房就已经在预测淹没范围内。
调度中心把它列为高位,是因为有人把旧CD图层导入新平台时,把本应写成负二点七三的 Z_OFFSET 留成了零。数字的小数位没有变,单位也都是米;楼和房间更没有在物理世界里移动。被抹掉的,只是这套遗留图层从哪里起算的元数据。
凌晨四点十七分,杜衡端着两杯自动贩卖机咖啡进来。
他把一杯放在灯箱边,看见纸上的算式,没有问怎么算的。他沿着两根箭头看了一遍,拿起白潮事故汇总表。
“所以当年的预测没失准。”
“洪峰误差只有十二厘米。”
“避险室门也不是第一原因。”
“门漏不漏,它都在水线下。”
杜衡把报告翻到救援时序页。最先得到抽排和破拆的是图上低于洪水线的两处泵房;旧避险室被排到第三序列。第一支队伍开始向那里移动时,频道已经中断。
“十一分钟。”他说。
沈栖岚点头。
水从门底进入到完全淹没,十一分钟。不是没有救援力量。那一晚两支队伍曾在相邻通道待命,只因地图说房间高出一米四,他们被调去了别处。
罗近川从受伤到死亡等了约三十三分钟。四支队伍曾在他的声音周围待命,只因四张地图都给了自己一个抵达的理由。
杜衡把另一个文件袋放到桌上:“你父亲的原始用工和安全记录,找到了。”
沈栖岚的手停在胶片上。
事故报告对沈伯舟有一整段描述:多次违反现场纪律,擅自改变作业路线,事发时未服从撤离安排,带领其他临时人员进入非作业区域。十八年来,她把那段话拆过很多遍。她知道其中有些来自无法核验的口头证词,有些来自事故后补写的班组记录。
她也一直害怕,里面有一部分是真的。
文件袋里有一张安全扣分单。事故前两个月,沈伯舟午休时为了少绕一百多米,从尚未验收的连通廊穿过,被现场主管抓到。他在“事实无异议”后面签了名字。
还有一张监控截帧。他在材料棚外搬钢管,安全帽挂在肘上。照片背面写着“二次警告”。
“他确实抄过近路。”杜衡说。
“也确实不总戴安全帽。”
她认得父亲那个签名。最后一笔总往上挑,像嫌纸不够大。
小时候沈伯舟接她放学,也常隔着护栏招手,让她从绿化带里穿过去。他说路是人走近的。母亲每次都骂他。他不以为意。
一个不完美的人。
事故报告抓住这些真实的小事,把它们首尾相连,拼成了一个足以解释死亡的人。
杜衡又取出一页热敏传真纸。纸张已经变浅,技术人员用多光谱扫描恢复了大部分字迹。标题是“白潮应急人员分区表”,发送时间在倒灌前四十六分钟。
临时作业二组一栏列有二十九人。沈伯舟的名字排第一,不是因为他有正式职务,而是那天工头离场去取抽水设备,调度临时指定他清点人数。
目的地一栏写着:
三号避险室,原地待援。
沈栖岚抬头:“能确认三号就是我们进去的房间?”
“三个特征。”杜衡指给她看,“红三角下被补掉的编号,紫外侧光能读出罗马数字III;通风器资产号与当年设备表一致;录音里你父亲报了门牌末两位,和旧平面图对得上。”
传真纸下方还有一行调度员手写补注:由沈伯舟带入,已确认29人。
他不是带人闯进那里。
是调度让他带人进去。
他在录音里连续确认两次,堵门,点人数,报告水位。他做过的那些小违规都是真的。可没有一项让江水上涨,没有一项把旧CD图层应有的偏移抹掉,也没有一项让救援把他们排到第三序列。
沈栖岚在电脑里打开白潮事故的空间证据模型。
模型沿用了旧报告分类。二十九个人的最后位置旁,标着一枚橙色警示:未经授权进入区域。
她点开属性,把传真纸、录音时间码、现场红三角和通风器编号逐一链接进去。系统询问是否变更定性。
她把“未经授权”改成“按指令进入指定避险空间”。
橙色警示消失。
黑色的人形标记没有动。他们仍停在房间里,仍然死亡。修改一行属性不能让任何人回来。
但因果关系变了。
过去的报告从沈伯舟不戴安全帽写起,经过他抄近路的处分,最后抵达二十九人的死亡,仿佛那是一条自然延伸的路线。如今那些线被一根根拆开。安全帽属于安全帽,近路属于近路,洪水属于洪水,遗留CD图层的导入偏移属于导入偏移。
责任终于不再借他的缺点穿过那三堵墙。
天将亮时,沈栖岚把换算结果发给独立复核组。发送之前,她在结论末尾加了一句:
原事故关于人员“误入高位避险区”的表述,其地点属性与高程依据均不成立。
她没有写父亲无辜。
无辜太像一种要求死者完美的词。仿佛只有从没摘过安全帽、从没抄过近路的人,才配得到正确的救援。
她只把他没有做过的事,从他的名字下面删掉。