让 NASA 丢掉火星气候探测者号的,是一个数:4.45。一磅力等于 4.45 牛顿。
探测器 1998 年 12 月 11 日升空。造它、管它日常运行的,是丹佛的洛克希德·马丁航天公司;给它导航的,是帕萨迪纳的 NASA 喷气推进实验室。去火星的路上,小推进器隔三差五要点一次火,免得飞轮越转越快,每点一次,航向就被轻轻推偏一点。地面上有个程序,把每次点火的冲量写进文件交给导航员。接口规范写明单位是牛顿秒,程序写的却是磅力秒。每一次点火的作用,进了导航模型都小了 4.45 倍。
一个小错,反复出现。出现的次数还比导航员预想的多 10 到 14 倍:原本有个每天做一次、能减少点火的动作,后来被取消了,这个决定始终没传到他们那里。
这个错跟着探测器飞了九个月,也有人看出了苗头。
1999 年 4 月,导航员终于拿到能用的文件,不到一周,数据就显示点火的冲量被低估了。整个春天和夏天,基层一直有人对这些差异放心不下。调查委员会后来发现,这些问题「只是非正式地报告过」。数据对不上时,团队互相发邮件,没走项目正式的异常报告流程,有些人根本不清楚这个流程是干什么用的。
委员会认为,导航员没能把对轨道的担心有效地传达给航天器团队和项目管理层,航天器团队也没听懂他们在担心什么。导航团队是发射前不久才接手的,既没参加地面软件的测试,也没参加设计评审,和航天器团队有些隔绝,连和自己所属的部门都隔着一层。临近到达时,这艘探测器的导航只有两个人在管:组长和唯一一名导航员。而他们所在的运行项目,同时在飞三个火星任务。偏偏每次点火时,推力的主要方向和地球方向的视线垂直,它的效果多普勒跟踪几乎测不出来。
其实数据里就有现成的对照。探测器自己也会算每次点火的冲量,单位是对的,还会发回地面。导航员以为它和之前的火星全球勘测者号差不多,直到发射后很久才知道有这份数据。委员会写道,要是早点拿来比一比,单位的问题可能就露出来了。
最后一周,预测的最近距离一路往下掉,从计划的 226 公里,掉到到达前一小时算出的最低 110 公里。一次紧急修正点火口头讨论过,始终没有执行,团队事先也没为它做好准备。
1999 年 9 月 23 日,主发动机点火。四分钟后,探测器绕到火星背后,比预计早了 49 秒。信号再也没回来。事后换上正确的单位重算,它离火星最近只有 57 公里。而它要活下来,至少得在 80 公里以上。
NASA 主管空间科学的副局长韦勒(Edward Weiler)说:「人有时会犯错。这次的问题不在那个错误本身,在于 NASA 的系统工程失灵了,在于我们流程里本该发现这个错误的检查和制衡失灵了。」据《洛杉矶时报》,这艘探测器造价 1.25 亿美元。
11 月 10 日,调查委员会发布第一份报告,着眼的是 12 月 3 日就要着陆的火星极地着陆者号。给着陆器团队的建议里有这么一条:每天早上开一个 15 分钟的站会,让所有人都听得到正在发生什么。