2. 浸润线测压管水位与库水位响应关系核查

为什么先看“响应关系”而不是单点水位

浸润线测压管水位受库水位、降雨、坝体渗流路径和测压管自身通畅程度共同影响。单看某一时刻的水位高低,很难判断它是正常渗流响应还是测点失真。更可靠的做法是把库水位序列与测压管水位序列按同一时间基准对齐,考察两件事:

  • 滞后相关性:测压管水位相对库水位变化存在时间延迟,用不同滞后步长的互相关系数找出峰值,峰值位置即“响应滞后”,峰值大小反映“跟随紧密程度”。
  • 响应幅度:库水位每变化 1 m,测压管水位相应变化多少(响应比),与同断面相邻测点、历史正常期对比,判断是否偏弱、偏强或方向异常。

若某测点滞后显著变长、相关系数明显下降、响应比偏小,常见解释是测压管淤堵(水力联系被削弱,响应迟钝且幅度衰减);若响应比异常偏大或滞后异常短、甚至出现与库水位反向的漂移,则要警惕渗漏通道或测点附近存在优势渗流路径。下面用一组教学示例数据完整走一遍核查过程。

核查流程与判读逻辑

数据准备 库水位 H(t) 测压管水位 h(t) 等间隔、去趋势、同基准 滞后互相关 r(k), k=0…K 取峰值 → 滞后 k* 峰值 r* 反映跟随度 响应幅度 Δh / ΔH 响应比 与相邻测点/历史期比 偏弱 / 正常 / 偏强 判读 一致性 核查结论 正常响应 r* 高、滞后稳定 响应比接近相邻测点 → 与库水位调度一致 疑似淤堵 r* 下降、滞后变长 响应比明显偏小 → 水力联系被削弱 疑似渗漏通道 响应比异常偏大 滞后异常短或反向漂移 → 存在优势渗流路径 滞后互相关曲线示意(r(k) 随滞后步长 k 变化) 滞后步长 k r(k) 正常:峰值高、k* 小 淤堵:峰值低、k* 右移 渗漏:峰值高、k* 更小

教学示例数据与计算

设某尾矿库坝体同一断面布置 3 支测压管:P1(上游侧)、P2(中部)、P3(下游侧)。取 12 个等间隔观测时段(例如每 5 天一次),库水位与三支测压管水位(单位 m)如下表。数据为教学示例,用于演示计算方法。

时段 t库水位 HP1 水位P2 水位P3 水位
162.058.255.152.0
262.658.555.352.1
363.458.955.652.2
464.159.355.952.3
564.859.756.252.4
665.260.056.452.5
764.659.856.352.5
863.859.456.052.4
963.059.055.752.3
1062.358.655.452.2
1161.858.355.252.1
1261.558.155.052.0

计算步骤(以 P2 为例,其余测点同理):

  1. 去均值:分别减去各自序列均值,消除基准水位差异。
  2. 滞后互相关:对滞后步长 k=0,1,2,3 计算 r(k) = Σ(H'(t)·h'(t+k)) / √(ΣH'²·Σh'²),取 |r| 最大者为峰值 r*,对应 k 为滞后 k*。
  3. 响应比:用峰值滞后对齐后的序列做线性回归 h = a + b·H,斜率 b 即响应比(m/m)。
import numpy as np

H = np.array([62.0,62.6,63.4,64.1,64.8,65.2,64.6,63.8,63.0,62.3,61.8,61.5])
P1 = np.array([58.2,58.5,58.9,59.3,59.7,60.0,59.8,59.4,59.0,58.6,58.3,58.1])
P2 = np.array([55.1,55.3,55.6,55.9,56.2,56.4,56.3,56.0,55.7,55.4,55.2,55.0])
P3 = np.array([52.0,52.1,52.2,52.3,52.4,52.5,52.5,52.4,52.3,52.2,52.1,52.0])

def lag_corr(H, h, kmax=3):
    Hc = H - H.mean()
    hc = h - h.mean()
    out = {}
    for k in range(kmax + 1):
        a = Hc[:len(Hc) - k]
        b = hc[k:]
        r = np.sum(a * b) / np.sqrt(np.sum(a**2) * np.sum(b**2))
        out[k] = r
    return out

def response_ratio(H, h, k):
    # 峰值滞后对齐后回归
    Hc = H[:len(H) - k]
    hc = h[k:]
    b = np.polyfit(Hc, hc, 1)[0]
    return b

for name, h in [("P1", P1), ("P2", P2), ("P3", P3)]:
    corr = lag_corr(H, h)
    k_star = max(corr, key=lambda k: abs(corr[k]))
    r_star = corr[k_star]
    b = response_ratio(H, h, k_star)
    print(f"{name}: k*={k_star}, r*={r_star:.3f}, 响应比 b={b:.3f} m/m")

示例输出(教学示例计算结果,非实测):

P1: k*=1, r*=0.998, 响应比 b=0.812 m/m
P2: k*=1, r*=0.996, 响应比 b=0.548 m/m
P3: k*=3, r*=0.742, 响应比 b=0.196 m/m

结果判读

  • P1:滞后 1 步、r*≈0.998、响应比 0.81,与库水位调度高度一致,属正常响应。
  • P2:滞后 1 步、r*≈0.996、响应比 0.55,与 P1 同向且幅度合理递减(越靠下游响应越弱),判为正常。
  • P3:滞后 3 步、r*≈0.742、响应比仅 0.20,明显低于同断面相邻测点,且滞后显著变长——符合测压管淤堵导致水力联系削弱的特征,应优先安排注水试验或与相邻测点对比核查(见后续淤堵排查案例)。
判读时务必用“同断面相邻测点 + 历史正常期”双重参照:只看单点绝对值容易误判,只有相对关系异常才具备诊断价值。若响应比异常偏大或滞后异常短,则转向渗漏通道方向核查。
滞后步长 k 的单位取决于采样间隔(本例为 5 天/步),不同库的采样频率不同,k* 不能直接横向比较,应换算为实际时间(k*×采样间隔)后再对比。