下一章 上一章 目录 设置
3、数据深处的异常 陆舒醒 ...
-
陆舒醒把分析报告发给周砚行的时候,是第三天的下午四点。
微波辐射计的选址模拟结果很明确:F点虽然在近地层有轻微热源干扰,但可以通过校准算法消除,误差量级在可控范围内。相比之下,E点的建筑反射干扰在多个频率通道上都有显著响应,尤其是在五十一至五十九 GHz的水汽吸收带附近,旁瓣接收到的反射信号会污染亮温数据,导致反演的水汽廓线出现系统性偏差。对于一个精度要求达到百分之九十七以上的微气候模型来说,这种偏差不可接受。
她的报告写了七页,包括辐射传输模拟的输入参数、两个候选点位的亮温误差对比、以及最终的选址建议。报告末尾还附了一段关于风廓线雷达安装位置的补充说明——建议与微波辐射计保持至少十五米的水平距离,以避免两部设备之间的电磁干扰。
发完报告,她靠在椅背上,揉了揉眉心。
这两天她几乎没怎么休息。数据清洗的工作量比她预估的更大,光是统一 NetCDF 版本就花了她整整一个上午。行舟科技之前的观测数据质量参差不齐,有些文件打开之后元数据一片空白,连观测时间的标注都有问题。她不得不在清洗脚本里加了一整套自动纠错逻辑,遇到异常值就回溯原始日志,逐条核对。
但这些都是常规工作。真正让她分心的不是数据。
是她已经连续三天没有出现幻雪了。
从八岁那年在F省第一次看到幻雪算起,二十年里没有例外。每年初雪,那些不该存在的画面都会准时出现,像一份从不迟到的病历档案。今年初雪那天,她做好了所有准备,但什么都没发生。之后几天B市又飘过两次零星的小雪,她专门走到窗边去等,还是没有。
她不是不高兴。她是困惑。
医学上有一个概念叫“自发性缓解”,指某些症状在没有治疗的情况下自行消退。理论上,幻视确实可能在某一天突然消失,就像它突然出现一样。但这种概率太低,低到她在文献里只找到过三例类似的个案报告,每一例的病因都不同,没有统一的病理机制可以参考。
她需要更多的观测数据。不是气象数据——是关于自己的数据。
什么时候、什么地点、什么条件下幻雪出现或消失。她需要像设计实验一样设计一套自观测方案,把变量逐一控制,逐一排除。这是她唯一熟悉的处理问题的方式——把一切异常当作数据来处理。
有人敲了两下门。
陆舒醒从屏幕前抬头:“请进。”
门推开,是项目部的一个年轻工程师,姓方,戴一副黑框眼镜,手里拿着一个文件夹。他是前两天会议室里坐在角落的那个——陆舒醒记得他的脸,但没记住名字。
“陆博士,打扰了。周总让我把这个给您送过来。”
他把文件夹放在桌上。陆舒醒翻开,里面是一份打印好的设备采购清单,微波辐射计和风廓线雷达的型号、参数、报价、预计到货时间都列得清清楚楚。采购申请单上已经有周砚行的签字,日期是今天。
她扫了一眼型号——RPG-HATPRO 微波辐射计,德国莱比锡大学和 RPG 公司合作研发的地基多通道微波辐射计,十四通道,七个水汽通道分布在二十二至三十二 GHz 的 K 波段,七个氧气通道分布在五十一至五十九 GHz 的 V 波段,能反演从地面到十公里高度的温度和湿度廓线。这是目前国际上业务化应用最成熟的型号之一,她之前在 NCAR 做博士后的时候用过一代,精度和稳定性都不错。
“这么快?”她合上文件夹。
“周总说陆博士的方案批了,采购就走加急。”方工程师推了推眼镜,“这两台设备国内有现货,大概一周能到。安装调试还需要几天,到时候需要您现场指导。”
“没问题。”
方工程师点了点头,转身走到门口,又想起什么似的回过头:“对了陆博士,周总还让我问您,数据清洗进度怎么样?”
“跟他说进度正常,预计下周可以出第一版质量控制报告。”
“好的,我转达。”
门关上之后,陆舒醒重新把目光落回采购单上。周砚行的签名在右下角,字迹很干净,一笔一划,不带任何多余的弧度。她看了一会儿,把文件夹合上,继续写数据清洗脚本。
但她的效率明显比刚才低了。同一行代码敲错了三次。
与此同时,三十七楼。
周砚行坐在办公桌前,对面是苏敬则。
苏敬则比他大五岁,是行舟科技的联合创始人兼首席技术官。两个人是大学同学——同一个系,同一间实验室,同一个导师。苏敬则学的是计算机体系结构,周砚行学的是人工智能与认知计算。毕业那年他们一起创业,从一间四十平的民宅做到现在三百人的公司,用了七年。
苏敬则有一张看不出年龄的脸。三十五岁的人,看起来还像二十八九,头发留得比一般程序员长,在脑后扎了一个不太讲究的小马尾。他懒散地靠在周砚行对面的沙发上,翘着二郎腿,手里端着一杯已经凉透的美式。
“我听说你把微波辐射计和风廓线雷达都批了。”苏敬则说,语气像是在聊今天的天气,“两台加起来差不多三百多万吧。”
“三百四。”周砚行没抬头,在看一份技术方案。
“行。设备的事我不操心,反正你批的项目没有亏过。”苏敬则喝了一口凉咖啡,皱了皱眉,“我操心的是你。”
周砚行抬起眼。
“前天初雪。”苏敬则把咖啡杯放在茶几上,身体往前倾了倾,“你上天台了?”
“去了。”
“站了多久?”
“一下午。”
苏敬则沉默了几秒。他知道周砚行每年的习惯——初雪日上天台,站一整天,不许任何人上去。前几年有一次下暴雪,他在天台上站了六个小时,下来的时候眉毛都结了冰。苏敬则问他为什么,他说不为什么。苏敬则又问你不冷吗,他想了想,说:“不冷。那是唯一不冷的时候。”
从那以后苏敬则再也不问了。
“砚行,”苏敬则换了一个称呼,语气也认真了几分,“你那个情感钝化的症状,最近有没有变化?”
周砚行放下了手中的文件。
苏敬则是唯一知道他全部秘密的人。不是情感钝化症——那个病在病历上写着,公司的高层都知道,只是大家默契地不提。苏敬则知道的,是更深的那部分。那些病历上没有、也无法被任何医学手段检测的东西。十年前那个冬天,周砚行找到他,说需要他帮忙写一个程序——一个基于神经网络架构的意识碎片重组算法。苏敬则花了三年写完。他知道那个程序指向什么,也知道代价是什么。
“有一点。”周砚行说。
苏敬则的眼睛亮了一下:“什么变化?”
“前天开会的时候,”周砚行想了想,用了一个很谨慎的词,“我觉得‘好奇’。”
苏敬则眨了眨眼,好像在等下文。没有下文。
“就这个?”
“就这个。”
“不是,什么叫‘觉得好奇’?”苏敬则坐直了身体,“是对某件事好奇,还是对某个人?”
周砚行没有回答。
苏敬则盯着他看了好一会儿。两个人认识了十几年,他对周砚行的了解超过对任何人的了解。这个人从不回避问题,从不撒谎,从不转移话题。当他选择沉默的时候,那就是他给出的答案。
“是那个气象学博士。”苏敬则说。不是疑问句。
周砚行还是没有回答,但也没有否认。苏敬则太了解他了——不否认就是承认。
“陆舒醒。”苏敬则把名字念了一遍,像是在确认什么,“我查过她的简历。二十八岁,F省人,NCAR 博士后,微气候模拟方向。业内评价很高,学术成果扎实,没有任何负面记录。”他顿了顿,“没有任何负面记录,砚行。她干净得像个刚出厂的白板。”
周砚行当然听得懂他在暗示什么。
苏敬则从不相信巧合。一个困扰了周砚行三十年的病,突然在新来的气象学专家出现的那天有了变化,这不是巧合。一个干净到简历上连一丝褶皱都没有的人,偏偏在最恰当的时间出现在最恰当的位置——这更不是巧合。
“敬则,”周砚行开口了,声音一如既往地平,“是我请她来的。”
“我知道是你请的。”
“那就够了。”
苏敬则张嘴想说什么,又闭上了。他把咖啡喝完,站起来走到门口,手已经放在门把上了,还是没忍住回过头。
“砚行。你当年让我写那个程序的时候,我问过你一句话。你记不记得?”
周砚行看着他。
“我问你,这个程序重组出来的,到底是什么?”苏敬则的声音很轻,但每一个字都砸在安静的办公室里,“你没有回答。十年了,你到现在都没有回答。”
沉默。
“我不问了。”苏敬则拉开门,“但你记住——如果有人要来讨债,让她来找我。程序是我写的。”
门在他身后合上。
周砚行坐在办公桌前,面前的技术方案还是刚才那一页,一个字都没有看进去。他转过头,看向窗外。天已经快黑了。B市的冬天黑得早,四点半开始暗淡,五点已经全暗。窗外是万家灯火,远处的写字楼亮着密密麻麻的灯,像无数个方形的发光体堆叠在一起。
他想起前天在天台上,她问的那句话。
“你相信雪是有身份的吗?”
他回答了。但他没有告诉她,那不是他第一次听到这个问题。
或者说,那不是他第一次在意识深处,觉得这个问题曾经被某个人问过。
陆舒醒是在第四天晚上发现那串异常数据的。
她正在做数据清洗的最后一个环节——质量控制。行舟科技前三年的气象观测资料经过插补和格式统一之后,已经整理成了一套完整的时序数据集。她现在要做的是逐条检查数据的合理性,标记异常值,分析异常来源。
气象数据的质量控制有一套成熟的方法。常规的做法是对每个变量设定一个合理范围——比如B市冬季夜间最低温的极端值大约是零下十五度,如果出现零下三十度的记录,就是明显的仪器故障或传输错误。更精细的做法是时间一致性检验和空间一致性检验,把相邻时次、相邻站点的数据放在一起比较,超出合理偏差范围的就算异常。
她编好了质量控制脚本,设定了所有检验参数,然后开始逐变量跑程序。近地面的温度和湿度数据质量还行,异常率大约在百分之二左右,大部分是传感器结露导致的湿度偏高,去除之后不影响整体趋势。风速风向数据稍差一些,异常率百分之五,主要是超声波风速仪偶尔会受到电磁干扰,出现瞬时风速突变的情况。
真正让她停下来的,是气压数据。
气压的异常率并不高。三年的气压记录里,异常值不到百分之一,远低于其他变量。但当她把这些异常值的发生时间逐一列出来的时候,发现了一个规律——
每一次气压异常,都发生在同一种天气条件下:降雪。
她重新跑了一遍检验程序,把气压数据单独提取出来,叠加在天气记录上做交叉比对。结果非常清晰:所有气压异常值都出现在降雪日,而且只出现在某一个特定站点的数据里——行舟科技大厦楼顶的自动气象站。
这不太可能是仪器故障。如果是传感器的问题,气压异常应该随机分布在各种天气条件下,不会只在下雪天出现。如果是环境因素——比如气压传感器对低温敏感——那低温天气应该同样出现异常,但数据显示,没有雪的低温天气里,气压记录完全正常。
只有下雪的时候,气压数据会偏离正常值。
偏差很小。大约在零点三到零点五百帕之间,普通人根本注意不到。大多数气象应用场景里,这种级别的偏差也不会被当作异常来处理。她之所以捕捉到,是因为她在设置检验参数的时候用了学术界最严格的标准——这是她的个人习惯,任何项目的数据清洗都按最高标准来做。
偏差本身的方向也很有意思。不是偏高,是偏低。每次下雪的时候,楼顶气压会比周边站点偏低零点三到零点五百帕。
气象学上有一个概念叫“气压涌升”——当强对流系统过境时,冷空气下沉,地面气压会短暂升高。但气压偏低的情况比较少见,通常与局地上升气流或地形效应有关。行舟科技大厦周围没有明显的地形起伏,不太可能出现局地低压。而且偏差只在下雪天出现,这就更奇怪了。
她盯着屏幕,想了很久,然后做了一个决定。
她把那串异常气压数据的时间戳逐一提取出来,打算和周边气象站的同期数据进行更精细的对比。如果周边站点也出现了类似偏差,那就是天气系统本身的原因。如果只有这一个站点有偏差——那她就要重新考虑所有可能的解释,包括那些她作为科学家不应该轻易考虑的解释。
电脑屏幕右下角的微信图标亮了。
她点开。
周砚行:“分析报告收到了。建议采纳,设备已经下单。”
简洁到没有任何多余的标点符号。陆舒醒盯着那两行字看了片刻,打了一行回复:“收到。设备到货后我去天台确认安装位置。”
“好的。”
对话到这里就该结束了。工作消息,一问一答,没有续接的必要。但她没有关掉对话框。她的手放在键盘上,指尖悬在空格键上方,好像有什么话想打出来,又不知道那是什么。
几秒后,屏幕上又跳出了一行字。
“陆博士,数据清洗还顺利吗?”
她自己也没有意识到地松了一口气。
“顺利。不过发现了一点有意思的东西。”
“什么?”
她犹豫了一瞬间。气压异常这件事说起来太细碎,也太专业。换作其他人,她不会提——没有一个甲方会关心零点三毫巴的气压波动。但在这个对话框里,在这个纯黑色的头像面前,她忽然想多说几句。
“行舟科技楼顶的气压数据,在下雪天会出现系统性偏低。偏差很小,只有零点三到零点五百帕。但目前看起来不是仪器故障,也不是环境因素。”她停顿了一下,继续打字,“暂时查不到原因。”
消息发出去之后,对话框沉默了片刻。
然后他的回复跳了出来,只有一行字:“零点三百帕,大概相当于什么量级?”
“相当于三楼到四楼之间的气压差。很小。”
“对你来说不算小吧。”
陆舒醒看着那行字。这不是一个问句,是一个判断。她说“很小”,但他知道对她来说这不算小——因为他在会议室里见过她对着数据报表较真的样子,知道她不是在做一个普通的项目,而是在精耕细作地搭建一座数据宫殿。零点三百帕对别人来说是误差范围,对她来说是需要标注、分析、写进报告里的异常。
“是不算小。”她打了四个字,又删掉,重新打:“我需要更多数据来确认异常来源。”
“需要什么数据?”
“周边站点的同期气压数据。至少三个站点,覆盖不同方向。还有楼顶气象站的仪器维护记录——如果下雪天传感器进气口被雪堵住,也可能导致气压读数偏低。”
“我让项目部明天把数据给你。”
“谢谢。”
对话到这里应该结束了。该确认的都确认了,该安排的都安排了。她盯着屏幕,看着光标在对话框里一闪一闪。她想说点什么,但所有可以用来道别的话都太正式、太生硬。她不想用“再见”来结束这段对话,也不想用“晚安”——那太私人了,不是工作关系应该用的词。
然后她看到对话框上方,那行小字从“对方正在输入...”变成“周砚行”的备注名,又变回“对方正在输入...”,反复了两三遍。
他在犹豫。这个在谈判桌上批三百万设备都不眨眼的人,在对话框里删了又打、打了又删。
陆舒醒忽然觉得自己的心跳快了半拍。
最后,屏幕上跳出了六个字。
“明天还会下雪。”
陆舒醒看着那六个字,手指悬在键盘上方,却打不出一个字。这不是工作消息。这不是关于设备采购、数据清洗、异常分析的讨论。这是一个男人告诉她——明天还会下雪。他想了很久,删了很多遍,最后只发了这六个字。
她忽然想起初雪那天在天台上,他说“每一片雪都有它的来处”时,目光落在远处残雪上的样子。那一瞬间他不是那个杀伐果断的周总,是一个站了三十年、终于有人从他肩头看到了一场雪的人。
她打字:“你喜欢雪?”
这次,她等了很久。
不是“正在输入...”的那种久——是对话框里什么动静都没有的那种久。她有足够的时间在脑海里回放这几天的所有片段:会议室里他停在她脸上的一秒;散会后加微信时他说的“叫名字就可以”;天台上他回答“相信”时的那种语气。
消息来了。
“不是喜欢。”
然后第二条:
“是等。”
陆舒醒盯着那个字,觉得胸腔里有什么东西被轻轻撞了一下。不是喜欢,是等。等雪。等每年第一场雪落在肩头的那一刻。等一个他说不清是什么、却一等就是三十年的事情。
她没有回这条消息。不是不想回,是不知道怎么回。她是一个把所有异常都当作数据来处理的人,但这一刻的感受——胸腔里的心跳、指尖的温度、盯着屏幕却什么都做不了的茫然——没有办法被量化,没有办法被建模,没有办法被写成数据分析报告。
她关掉了对话框,但没有关掉电脑。她把那串异常气压数据重新调出来,盯着屏幕上的数字,一行一行地看。
然后她看到了一组坐标。
气压异常值的时间戳旁边,每一行都附带着当时的气象条件参数:温度、湿度、风速、风向、降水量。她扫了一眼,没有发现明显的规律。然后她又看了一遍,还是没有。第三遍的时候,她忽然注意到一个细节——
有一行的备注栏里,有一小段文本。
是风速仪的日志备注。她之前整理数据的时候一扫而过,以为是仪器自动生成的维护记录。但这一次她仔细读了。备注里写的是行舟科技大厦楼顶气象站周边环境的定期检查记录,每季度一次。其中有一条记录,是去年十二月某一天,检查员在备注里写了一句:“楼顶东侧有人员长时间站立,未影响仪器运行。”
她查了那一天的日期。
是去年的初雪日。
她又查了前一年同一天的记录。同样一句:“楼顶东侧有人员长时间站立,未影响仪器运行。”
前一年。再前一年。行舟科技的气象数据只保存了三年,三年的初雪日,楼顶气象站的检查备注里都有同一句话。
楼顶东侧。长时间站立。
周砚行。
她向后靠在椅背上,盯着屏幕上的那几行备注,一动不动地坐了很长时间。
他说,不是喜欢,是等。
他说,每一片雪都有它的来处。
他说,明天还会下雪。
陆舒醒合上笔记本电脑,起身走到窗边。B市的夜晚已经黑透了,远处写字楼的灯光倒映在玻璃上。她看着玻璃上自己模糊的轮廓,忽然想起八岁那年第一次看到幻雪时,那个出现在雪片中的模糊背影。
那个背影,和天台上的周砚行——
她不让自己想下去。她是科学家,不做没有证据的推论。但她知道,从此刻开始,她要找的答案不再只是气压异常的原因了。她要找的,是他站在天台上的那个背影,和她二十年幻雪里看到的那个人影,是不是同一个。
窗外,月亮从云层里露出来,把清冷的光铺在城市的积雪上。
她想起他最后发来的那六个字:明天还会下雪。
她没有回复,但她在心里对自己说了一句话。
明天如果下雪,她会上天台。
不是去测数据。
是去看他。
(第三章完)