3. 海洋声学环境建模数据准备

水声传播建模的精度,很大程度上不取决于传播模型本身有多复杂,而取决于输入的环境数据是否真实、完整、时空匹配。一个再精细的抛物方程或射线追踪求解器,如果拿到的是错误的海深或粗糙的声速剖面,输出的传播损失曲线同样不可信。本节围绕四类基础环境数据——地形(水深)、底质、声速剖面、海面统计——说明它们的来源、常见格式,并演示如何把它们组织成一个可查询、可校验的小型海域环境数据库。

四类环境数据的来源与格式

地形数据描述海底高程,是确定海深、海底坡度与反射几何的基础。常用来源包括全球性的 GEBCO 网格(约 15 弧秒分辨率)、SRTM15+,以及区域性的多波束测深成果。格式上,GEBCO 以 NetCDF 或 Esri ASCII Grid 分发,后者是纯文本,头部含 ncols、nrows、xllcorner、yllcorner、cellsize、NODATA_value 六个关键字,随后按行存储高程值,非常适合教学与小区域处理。建模时通常需要把经纬度网格重采样到模型的计算网格上,并注意高程正负号约定:GEBCO 中海洋为负值,而多数声学模型要求“水深”为正值,转换时必须显式取反。

底质数据提供海底沉积物类型及其声学参数。来源可以是区域沉积物类型图、公开的沉积物数据库,或由取样与浅地层剖面反演得到的参数。声学建模真正需要的是密度、声速、衰减系数,有时还包括层厚与分层结构。常见做法是建立“沉积物类型—声学参数”映射表,例如把“细砂”映射为密度约 1.9 g/cm³、声速约 1700 m/s、衰减约 0.5 dB/λ 的示例取值(此处为教学假设值,实际应引用实测或文献数据)。格式上多为矢量多边形(Shapefile/GeoJSON)或栅格分类图,需要与地形网格做空间叠加。

声速剖面数据是传播建模中最敏感的参数。来源包括 CTD 实测、XBT 抛弃式温深仪、Argo 浮标,以及 WOA、HYCOM 等气候态或再分析产品。格式常见为文本列式(深度、温度、盐度、声速)或 NetCDF。声速可由温度、盐度、深度经经验公式(如 Mackenzie 九项式)计算得到。建模时需要把离散剖面插值到模型层深,并注意剖面具有明显的季节与区域差异,不能用一个剖面代表全年全海域。

海面统计数据主要包括风速、有效波高与海况等级,用于估计海面粗糙度对反射与散射的影响。来源为气象再分析(如 ERA5)、浮标观测或船舶报。格式多为时间序列或时空网格。建模中常把风速换算为海面均方根波高,作为海面边界条件输入。

海域环境数据库构建与质量控制流程 地形数据 GEBCO / ASCII Grid 底质数据 类型图 / 参数表 声速剖面 CTD / Argo / WOA 海面统计 ERA5 / 浮标 统一化处理 坐标/单位/正负号 重采样到计算网格 时空匹配与插值 质量控制 范围/缺测/跳变检查 声速单调性校验 交叉一致性比对 环境 数据库 可查询 可追溯 示例海域(教学假设): 范围 118°E–122°E, 20°N–24°N | 网格 0.01° | 水深 20–3000 m | 底质:细砂/粉砂 | 剖面:夏季 3 层 | 风速 5–12 m/s

构建一个简单海域环境数据库

下面以一个教学假设的小海域为例:范围 118°E–122°E、20°N–24°N,计算网格 0.01°,水深 20–3000 m。数据库不必一开始就上大型 GIS 系统,用 SQLite 加若干表即可满足查询与追溯需求。核心表设计如下:

-- 地形表:每个网格点一行
CREATE TABLE bathy (
  lon REAL, lat REAL,
  depth_m REAL,          -- 已转为正值水深
  src TEXT,              -- 数据来源标识
  PRIMARY KEY (lon, lat)
);

-- 底质参数表:类型到声学参数的映射
CREATE TABLE sediment (
  sed_type TEXT PRIMARY KEY,
  rho_gcm3 REAL, c_mps REAL, atten_dblambda REAL
);

-- 声速剖面表:按站位与季节存储
CREATE TABLE ssp (
  station_id TEXT, season TEXT,
  depth_m REAL, c_mps REAL
);

-- 海面统计表
CREATE TABLE seastate (
  lon REAL, lat REAL, month INTEGER,
  wind_ms REAL, hs_m REAL
);

数据入库前先做统一化:把 GEBCO 的负高程取反为正值水深,把底质多边形按网格中心点做空间叠加赋类型,把声速剖面按站位插值到标准层深(如 0、10、20、50、100、200 m……),把海面统计按月聚合。这样四类数据都落在同一套经纬度网格与同一套深度基准上,后续模型读取时只需按坐标查询。

数据质量控制的关键检查

质量控制不是入库后的可选项,而是入库流程的一部分。对地形,检查是否存在异常尖峰(相邻网格水深差超过阈值,如 500 m 即需复核)、是否存在 NODATA 空洞,以及陆地与海洋边界是否合理。对声速剖面,重点检查声速随深度的变化是否出现非物理跳变,以及浅层是否满足预期的温度层结;若某站位声速在 10 m 内跳变超过 20 m/s,应回查原始 CTD 记录。对底质,检查类型映射是否覆盖全部网格,避免出现“未分类”区域导致模型取默认值。对海面统计,检查风速是否超出合理范围、时间序列是否有长时间缺测。

一个实用的交叉校验:用同一区域两个来源的水深(如 GEBCO 与区域测深)逐点比对,统计差值分布。若均方根差在数十米量级且无系统性偏移,说明两者基本一致;若出现区域性系统偏差,往往提示基准面或单位换算出了问题。

完成上述步骤后,建议为每条记录保留来源字段与入库时间,形成可追溯链条。当模型输出出现异常时,能够快速定位是哪一个环节的数据引入了偏差。环境数据库的价值不仅在于“有数据”,更在于数据之间坐标一致、单位一致、时空匹配,并且每一处修改都有据可查。