3. 漏斗黏度异常跳变识别

为什么漏斗黏度跳变要按“日变化率”看

漏斗黏度(FV)单点数值受测量手法、温度、气泡和读数误差影响,直接设上下限容易误报。更稳健的做法是看相邻两天的变化率:把每天 FV 与前一日 FV 比较,得到日变化率 r=(FV今−FV昨)/FV昨×100%,再与阈值比较。阈值应结合钻井液体系和井段设定,本例采用教学示例阈值:|r| ≥ 15% 记为跳变点,其中 r≥+15% 为“突增”,r≤−15% 为“突降”。

需要注意两个工程约束:一是首日无前值,不参与变化率计算;二是缺测日(FV 为空或 0)不能当作 0 参与计算,应跳过并让“昨值”回溯到最近一个有效值,同时在结果中标注间隔天数,避免把多日累积变化误判为单日跳变。

漏斗黏度日变化率与跳变标记(示例数据) FV s 日期 42 44 43 58 57 45 46 47 D1 D2 D3 D4 D5 D6 D7 D8 D4 突增 +34.9% D6 突降 −21.1% 日变化率 r D2 +4.8% D3 −2.3% D4 +34.9% ▲ D5 −1.7% D6 −21.1% ▼ D7 +2.2% 判定阈值(示例) |r| ≥ 15% → 跳变 r > 0 突增 / r < 0 突降 首日与缺测日不计算

计算与标记的实现

下面用一段可直接运行的 Python 完成:读取连续日报的 FV 序列 → 跳过缺测并回溯最近有效值 → 计算日变化率 → 标记跳变点 → 输出疑似原因提示。示例数据即上图中的 8 天记录,其中 D4 为 58 s、D6 为 45 s。

records = [
    {"date": "D1", "fv": 42},
    {"date": "D2", "fv": 44},
    {"date": "D3", "fv": 43},
    {"date": "D4", "fv": 58},
    {"date": "D5", "fv": 57},
    {"date": "D6", "fv": 45},
    {"date": "D7", "fv": 46},
    {"date": "D8", "fv": 47},
]

THRESHOLD = 0.15  # 教学示例阈值:|r| >= 15%

def is_valid(v):
    return v is not None and v > 0

prev_fv, prev_date, gap = None, None, 0
results = []

for rec in records:
    fv = rec["fv"]
    if not is_valid(fv):
        gap += 1          # 缺测:不计算,累积间隔
        continue

    if prev_fv is None:   # 首个有效值,无前值
        results.append((rec["date"], fv, None, None, gap))
    else:
        r = (fv - prev_fv) / prev_fv
        flag = "突增" if r >= THRESHOLD else ("突降" if r <= -THRESHOLD else "正常")
        results.append((rec["date"], fv, r, flag, gap))

    prev_fv, prev_date, gap = fv, rec["date"], 0

for date, fv, r, flag, gap in results:
    if r is None:
        print(f"{date}  FV={fv}s  首日,不计算变化率")
    else:
        note = f"(间隔{gap}天)" if gap else ""
        print(f"{date}  FV={fv}s  r={r:+.1%}  {flag}{note}")

运行后输出与图中一致:D4 的 r=+34.9% 判为突增,D6 的 r=−21.1% 判为突降,其余均在阈值内。若某天 FV 缺失,该天不产生变化率记录,下一条有效记录会带上“间隔 n 天”的提示,此时应把该变化率理解为跨多日的累积变化,判读时更谨慎。

跳变点的疑似原因提示

标记出跳变点后,需要给出可核查的方向性提示,而不是直接下结论。按“突增/突降”分别对应常见成因,形成如下排查对照:

跳变方向常见疑似原因优先核查项
突增(r ≥ +15%)固相含量上升、黏土水化分散、处理剂加量、井温降低密度与含砂量是否同步上升;是否新加增黏剂;测量温度与气泡
突降(r ≤ −15%)加水稀释、降黏剂加入、固相清除、测量读数偏短是否补水或稀释;是否加降黏剂;漏斗与量杯是否清洁、读数是否准确
判读顺序建议:先排除测量因素(气泡、温度、读数手法、漏斗清洗),再结合密度、失水、含砂量等同日报其它字段交叉验证,最后才归因于处理剂或地层因素。单看 FV 跳变不足以定性。
阈值 15% 仅为教学示例。实际应用应按钻井液体系、井段和现场波动水平标定;阈值过小会频繁误报,过大则漏掉真实恶化趋势。缺测日不可用 0 或前值直接填充后参与计算,否则会制造虚假跳变。