2. 温盐剖面数据获取与质量控制
温盐剖面分析的第一步不是画图,而是把“可信的数据”拿到手。海洋温盐数据来源众多,格式各异,质量参差不齐。如果跳过获取与质控环节直接计算层结、热含量或水团指标,后续所有结论都会建立在不可靠的输入之上。本节围绕三类最常用的数据来源——WOD、Argo 和 CTD——讲清楚它们各自的特点、下载与格式转换方式,以及如何读懂质量控制标志、识别并剔除异常值。
三类数据来源的定位与差异
WOD(World Ocean Database)是由美国国家海洋数据中心整合的全球历史海洋剖面数据库,收录了 CTD、XBT、MBT、瓶采水样、浮标等多种观测手段的温盐深数据,时间跨度可追溯到一个多世纪以前。它的优势是覆盖广、历史长,适合做气候尺度分析和长期趋势研究;代价是数据来源庞杂,不同年代的观测精度和质控水平差异很大,使用时必须逐层筛选。
Argo是全球自动剖面浮标阵列,约每 10 天完成一次 2000 米以浅的剖面观测,数据准实时公开。Argo 数据经过延迟模式质控后质量较高,且带有完整的 QC 标志,是研究上层海洋温盐结构的主力数据源。其局限在于空间采样是随机的、深层数据缺失,且早期部分浮标存在盐度漂移问题。
CTD是船载温盐深仪现场观测,垂向分辨率最高、精度最好,常作为校准其他数据源的“真值”参考。但 CTD 数据通常由航次自行采集,格式不统一,且原始数据需要经过传感器滞后校正、热惯性校正、降噪等处理才能使用。
下载与格式转换的实际操作
WOD 的获取通常通过其官方检索界面按海域范围、时间窗、观测类型筛选后下载,得到的是 netCDF 文件,变量名如 temp、salt、depth,并配套 temp_WODflag、salt_WODflag 等质控变量。Argo 数据可从全球数据中心的 GDAC 按浮标编号或区域下载,每个剖面包含 PRES、TEMP、PSAL 及其对应的 _ADJUSTED 和 _QC 变量。CTD 的 CNV 文件则是文本格式,头部为元数据,主体为逐行数值列。
格式转换的核心是字段对齐与单位统一。以 Python 为例,读取 Argo 剖面并提取调整后温盐的典型写法如下:
import xarray as xr
ds = xr.open_dataset("R1901234_045.nc")
pres = ds["PRES_ADJUSTED"].values
temp = ds["TEMP_ADJUSTED"].values
psal = ds["PSAL_ADJUSTED"].values
tqc = ds["TEMP_ADJUSTED_QC"].values
sqc = ds["PSAL_ADJUSTED_QC"].values
# 仅保留 QC 为 '1' 的层
import numpy as np
mask = (tqc == b'1') & (sqc == b'1')
clean = np.column_stack([pres[mask], temp[mask], psal[mask]])
需要注意,Argo 的 QC 变量是字符型(如 '1'、'4'),比较时要按字符处理;WOD 的 flag 则是整型。CTD 的 CNV 转换常用 seabird 官方工具或 ctd 处理包,转换后务必检查盐度单位是否为 PSS-78、温度是否为 ITS-90,避免把旧温标数据直接混入。
质量控制标志的解读
国际通用的温盐 QC 标志采用 0–9 编码,其中最关键的是:1 表示通过所有检验、可信;2 表示可疑但未确认错误,通常建议保留但标注;3 表示明显错误、应剔除;4 表示坏值;9 表示缺失。实际处理中,保守做法是只保留 QC=1,宽松做法是保留 1 和 2 并在后续分析中做敏感性检验。
标志只是第一道筛子,还要结合物理判据。常见异常包括:温度随深度出现不合理逆温(在非特殊层结区)、盐度出现孤立尖峰、密度剖面出现反转、相邻层梯度远超仪器分辨率。对 Argo 数据,还应关注延迟模式与实时模式的差异——实时文件中的 _ADJUSTED 可能尚未更新,做长期分析应优先使用延迟模式数据。
异常值剔除的实用策略
剔除不是简单删点,而是要有依据、可追溯。推荐流程是:先按 QC 标志做硬剔除(QC≥3 或 9),再用物理一致性检验做软剔除(如盐度尖峰检测、密度反转检测),最后对剩余点做垂向插值补齐,并记录每一步的剔除数量。对于 CTD 原始数据,还需先完成传感器滞后校正和热惯性校正,否则“异常”可能只是仪器响应问题而非真实信号。
完成上述步骤后,得到的才是一份可用于层结计算、水团划分和热含量估算的可信温盐剖面数据集。质控记录应随数据一并保存,保证分析结果可复现、可追溯。