4. 声速剖面建模方法概述
海洋声速剖面(Sound Speed Profile, SSP)是水声传播计算的核心输入。实测手段——温盐深仪(CTD)、声速剖面仪(SVP)、抛弃式温深仪(XBT)——只能给出离散深度点上的声速值,且采样间隔、深度覆盖、测量误差各不相同。而射线追踪、抛物方程、简正波等传播模型通常需要任意深度上的连续声速值。因此,声速剖面建模的本质,是把有限、含噪、非均匀的实测样本,转换为物理合理、可微、可积的连续函数 c(z)。本节按“插值—拟合—正交基函数—机器学习”四条技术路线展开,重点说明各自的输入假设、实现方式与适用边界。
一、插值:忠实穿过每一个实测点
插值要求构造的函数严格通过所有样本点,适合样本密度较高、测量可信的场合。最基础的是线性插值:在相邻深度 zi、zi+1 之间按比例连接,实现简单、无过冲,但一阶导数不连续,在跃层处会人为制造“折角”,射线追踪时可能产生虚假焦散。分段三次 Hermite 插值(PCHIP)在保持单调性的同时获得连续一阶导,是工程上较稳妥的默认选择。若样本稀疏且剖面光滑,三次样条(自然样条或夹持样条)能给出二阶连续的结果,但需警惕跃层附近的过冲振荡。
一个实用的实现细节是:先对深度做归一化再插值。例如把 0~5000 m 映射到 [0,1],可显著改善高阶插值矩阵的条件数。下面给出用 PCHIP 构建剖面的示例(示例数据为合理假设,非实测):
import numpy as np
from scipy.interpolate import PchipInterpolator
# 示例:稀疏实测样本(深度 m,声速 m/s)
z = np.array([0, 50, 120, 300, 800, 1500, 3000])
c = np.array([1531.0, 1528.5, 1522.0, 1512.5, 1500.8, 1495.2, 1502.6])
f = PchipInterpolator(z, c)
zq = np.linspace(0, 3000, 601)
c_cont = f(zq) # 连续剖面
dc_dz = f.derivative()(zq) # 声速梯度,供射线方程使用
判断插值是否合理,不能只看曲线是否“好看”,应检查两个量:一是声速梯度 dc/dz 是否出现物理上不合理的极值(深海典型值在 ±0.02 s⁻¹ 量级,跃层可更大);二是插值结果在样本点之间的极值是否超出相邻样本的取值范围(过冲检测)。
二、拟合:用低阶模型压制噪声
当实测点含随机误差、或需要外推到未采样深度时,应放弃“穿过每点”的约束,改用最小二乘拟合。常用模型包括分段线性拟合、多项式拟合和以物理分层为依据的分段函数。例如把剖面分为混合层、主跃层、深海等温层三段,每段用低阶多项式或指数型函数描述,段间施加函数值与一阶导连续约束。拟合的代价是引入模型偏差,因此必须用残差分析检验:若残差呈现系统性弯曲而非随机散布,说明模型阶次或分段位置不当。
三、正交基函数:把剖面压缩成少量系数
正交基展开把 c(z) 表示为若干基函数的线性组合,系数即剖面的“特征向量”。经验正交函数(EOF)是最常用的方法:对一批历史剖面做距平处理,构造协方差矩阵并特征分解,前几个模态通常能解释 90% 以上的方差——第一模态近似平均剖面,第二、三模态刻画跃层强弱与位置变化。建模时只需估计少数几个系数,即可重建连续剖面,特别适合需要大量剖面样本的蒙特卡洛传播计算。
实现流程为:① 将各剖面重采样到统一深度网格;② 减去集合平均得到距平矩阵;③ 对距平矩阵做 SVD 得到模态;④ 对新观测投影求系数 ak = ⟨c′, φk⟩;⑤ 用前 K 个模态重建。需注意,EOF 模态依赖训练集,跨海区直接套用会引入系统偏差,应重新训练或至少做区域校正。
四、机器学习方法:学习非线性映射
机器学习把剖面建模视为回归问题:输入可以是卫星海表温度、海面高度、经纬度、季节等易获取参数,输出是整条剖面或若干标准层声速。常用模型有随机森林、梯度提升树、BP 神经网络和近年的一维卷积网络、U-Net 类结构。其优势在于能捕捉温盐关系中的非线性,适合历史剖面库较丰富、但现场实测稀缺的区域。
工程上必须守住三条底线:一是按时间或空间分块划分训练/验证集,不能随机打乱,否则会因剖面自相关而高估精度;二是输出层要加物理约束,例如限制梯度范围、保证深海段单调趋势;三是保留一个独立测试航次的剖面做最终评估,报告 RMSE 与最大偏差,而非仅报平均误差。
五、方法选择与组合使用
四条路线并非互斥。工程上常见的组合是:先用 EOF 对历史剖面做降维,得到统计意义上的“先验剖面”;再用当前航次的少量实测点通过最优插值或卡尔曼滤波更新系数,得到兼顾统计规律与现场观测的剖面;最后用 PCHIP 把重建结果插到传播模型所需的细网格上。这种“统计先验 + 现场约束 + 保形插值”的链条,既避免了纯插值对稀疏样本的过度信任,也避免了纯机器学习对训练集的过度依赖。
| 方法 | 是否过样本点 | 样本需求 | 典型适用场景 | 主要检查项 |
|---|---|---|---|---|
| 线性 / PCHIP 插值 | 是 | 密集、可信 | 单站高分辨率 CTD 剖面 | 梯度极值、折角 |
| 分段多项式拟合 | 否 | 中等、含噪 | XBT 稀疏剖面平滑与外推 | 残差随机性 |
| EOF 正交基 | 近似 | 历史集合 | 批量样本生成、数据同化 | 模态解释方差、区域适配 |
| 机器学习回归 | 否 | 大样本 + 辅助参数 | 遥感反演、缺测区域补全 | 分块验证、最大偏差 |
无论采用哪种方法,交付前都应做同一组基本校验:在若干未参与建模的深度点上计算重建误差;检查 dc/dz 是否落在该海区的合理范围;确认剖面在混合层、跃层、深海段的形态与已知水文特征一致。只有通过这三项检查的连续剖面,才适合送入后续的声传播计算。