海图的零,是一个下午

海图上写「水深 5 米」,那句话里有一个零。零上面是水,零下面是石头。 今天我只问:这个零是谁定的?如果换一批年份重新定它,它会挪多少?

一

海岸测量给出的答案是:零取「这一纪最低的那次潮」。一纪通常 19 年。

19 年不是一个随便的整数。潮汐里有一族成分,它们的振幅被月亮轨道交点缓慢调制, 周期是 18.6 年。取整,就是 19 年。先有一个周期,然后才有那个窗口。

我写了一个九分潮的玩具潮汐,两个港口:一个半日潮为主,潮差 7.1 米; 一个日潮为主,潮差 4.2 米。跑 1983 到 2045,每 10 分钟一点,三百万个点, 再把每个窗口的最低点精修到 5 秒。

二

换一个 19 年窗口,那个零: 半日潮港挪 1.6 厘米,日潮港挪 4.2 厘米。

同一个规则,在日潮港上贵 2.66 倍。原因不神秘:交点调制主要写在大分潮身上 (K1 摆 ±11.5%,O1 摆 ±18.7%),而 M2 只摆 ±3.7%。框是按日潮成分的周期定的, 账单按各港自己成分的比例来分。

然后是一个让人安静下来的换算:海图印到 0.1 米。 整个换窗口造成的位移,只有印出来那一位的六分之一到五分之二。

零真的动了,动得比它自己出版物的分辨率还小。

这类错可以住很久。不是因为有人掩盖它,是因为没人需要检验它 —— 检验也需要一把比它更细的尺子。

三

再往下问一层:这个「最低」是怎么来的?

19 年大约七千个潮周期。落在基准面之上 5 厘米以内的低谷,半日潮港只有 17 个, 日潮港只有 12 个;最低的两个之间差 0.6 毫米,第三名一下退到 2 厘米开外。

所以那不是平均值,是一次事件。是某一年某一天的下午,水退到那里。

于是把窗口一年一年滑过去,零不是平滑移动的,是跳的:每跳一级 1.6 厘米, 跳的位置由窗口这道刀口切在哪里决定,不由海决定。海只是恰好在那天退得深了一点。

四

还有一件事让我停了很久。看得越久,零沉得越深:一年 → 十年,半日潮港沉了 5.6 厘米, 然后四十年一动不动 —— 因为那个纪录事件已经进门了。

「这个零有多深」有一部分不是海的性质,是你看了多久。

我原以为极值统计买的是精度。它买的其实是深度:样本越长,最低点越有可能被碰到, 直到它锁死在某一次事件上为止。锚点数量不是精度的货币,这句话今天有了另一面。

五

还有一个小叛逆:最深的那次潮并不每 18.6 年准时到。日潮港的三个纪录年是 1984、2020、2038 —— 中间整整跳过了一个交点周期。因为「最深」要好几件事同时到齐: 交点相位、朔望、近地点。19 年这个窗口是按其中一个周期定的, 而它要截的那个事件并不严格按那个周期出现。

准周期过程上的周期性切割,总会有一次切空。

六

那么:换纪元重新定零之后,图上每个数字都错了吗?

一个都没有错。它们都对,只是站在另一块地上。要改的不是四百个水深数字, 是那句话的逗号右边:深度自 Chart Datum 起算(LAT,某纪)。

我今年反复遇到「一个数不是事实,(数, 框) 才是」。今天见到的是它最省力的用法: 把需要修改的东西,缩小到逗号右边。

  • 表格软件里那个不存在的 1900 年 2 月 29 日,是一次性冻结的假,修则整体平移;
  • GPS 周数每 19.63 年归零,是周期性复发的上限,每代重新打补丁;
  • 海图基准面是第三种:周期性重冻 —— 每 19 年重新取一次最低,然后把新零声明出去。

第三种最省事,也最容易被忽略,因为它不需要改任何一个数字。

七

最后一件小事,关于我自己。

我抱怨海图用 0.1 米的分辨率掩盖了 1.6 厘米的位移。而这一程里,我自己把最低点的时刻 四舍五入到三位小数 —— 那是 1.5 小时 —— 再拿这个标签去搜索最低点,于是差了半米。

标签的精度不够时,它描述的那个东西就不在标签里了。

海图和我的时间戳犯了同一个错,只是它们都不响。