ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

油气水综合判断:测井曲线交叉验证与Python实现

油气水综合判断:测井曲线交叉验证与Python实现 简介《油气水的综合判断》是一份面向油田地质研究、录井解释与测井评价人员的专业参考文档聚焦如何从地质剖面中准确识别油、气、水层这一关键问题。文档系统介绍了利用钻时曲线、岩屑与岩心显示、气测异常、泥浆性能变化等录井资料进行定性判断的方法同时阐述了含油饱和度、束缚水与可动水等测井解释核心概念并针对低渗透与高渗透砂岩油气层容易出现的解释偏差给出了辨析思路。内容还涉及油、气、水层判断标准、综合录井仪参数变化特征及相渗透率对产液性质的影响有助于现场人员避免漏掉油气层或误射水层提升勘探开发决策的准确性。资源为docx格式共1个文件压缩包仅20KB篇幅精炼、结构清晰便于快速查阅与学习。这份资源已有51人浏览学习适合地质录井、测井评价及油田开发相关岗位的初学者和一线技术人员作为入门与实操参考。1. 油气水综合判断给测井曲线找“合谋证据”而不是听单条曲线发言单条电阻率曲线不能定油气水这几乎是测井解释最贵的一课。高电阻率段既可能是油层、气层也可能是高矿化度水层或致密干层低电阻率段里又往往藏着泥质束缚水造成的低阻油层。油气水综合判断的真正含义是把电阻率、声波时差、中子、密度和自然伽马放在同一口井、同一段储层里交叉验证——先定性分相再定量算含油饱和度最后用试油或地层测试数据一票否决。这套流程做顺了是勘探井解释的基本功做不顺就是钻井队返工和储量计算误差的来源。下面从测井物理讲到能直接落地的脚本和参数把这套判断逻辑完整拆开。2. 油气水综合判断从测井物理开始流体在曲线上的“指纹”怎么读2.1 电阻率分相能区分油水却分不开油和气电阻率测井是所有油气水判断的出发点。地层水的矿化度决定了它的导电性一般纯水层的电阻率在 0.02~3 Ω·m 之间矿化度越高数值越低原油和天然气都不导电所以油层和气层的电阻率普遍比水层高出一个数量级或更多。但这里有个天然缺陷电阻率只能回答“孔隙里导电的液体多不多”回答不了“不导电的到底是什么”。油和气的电阻率下限和上限区间几乎重叠单看电阻率根本无法区分气层和油层。还有两个常见干扰其一是高矿化度水层自由水电阻率低到零点零几欧姆米但如果储层致密、孔隙度不到 5%同样长度内导电水体积占比小RT 照样可能抬到几十欧姆米长得很像油气层其二是泥质附加导电泥质含量高的储层即使含油电阻率也会往下压误判为水层的概率非常大。所以电阻率必须和孔隙度类曲线配对使用它提供的是第一层“水不水”的证据不是最终结论。2.2 中子—密度—声波的组合才是气层的独有指纹天然气在井筒里的物理效应非常独特孔隙度测井中的反应几乎是“一对一”的。中子测井测得的是含氢指数气层孔隙里的氢密度只有水的六成到七成导致中子孔隙度读数明显偏低密度测井测得的是体积密度气的密度远低于油和水同样体积内质量变轻密度曲线数值下降换算出的密度孔隙度变大声波时差在气层中因为声速变慢而增大严重时还会出现周波跳跃——这是现场最直观的气层信号。把这三种响应组合起来看习惯上定义一个气效应指标中子孔隙度与密度孔隙度的差值即 φn − φd。油层和含油水层里中子与密度孔隙度基本接近或只有零点零几的正向差异气层则因为“中子低、密度孔隙度大”出现明显的负向差异经验判别线一般取 −0.04 v/v越负说明气饱和度和含气丰度越高。需要说明的是这个数值在不同岩性和压实程度下要微调碎屑岩和碳酸盐岩的骨架参数不同指示值也会有偏移。2.3 自然伽马和声波时差排除泥岩和致密层在正式判断油气水之前储层与非储层的边界必须先用自然伽马和声波时差圈定。泥岩在自然伽马上普遍高值在声波时差上表现为高时差段在电阻率上则是低阻段这三条组合可以快速删除泥岩段。致密灰岩或钙质砂岩则往往同时表现为低中子、低密度孔隙度、低伽马电阻率也会异常升高这是典型的干层“高阻陷阱”。实际操作中我一般先用自然伽马做泥质含量曲线再按研究区的储层下限常用泥质含量小于 30%、孔隙度大于某个研究区下限切出有效储层段最后再在储层段内进行油气水判别。这样能保证交会图和饱和度计算不被泥岩点污染。曲线类型油层气层水层泥岩深电阻率 RT高数倍于水层高通常更高低低声波时差 AC正常明显增大可能有周波跳跃正常高中子孔隙度 CNL正常明显偏低正常偏高密度 DEN正常或略低明显偏低正常偏高φn − φd 指示接近 0显著负值接近 0 或略正正值这组响应对应的是砂岩储层如果是碳酸盐岩骨架密度和声波时差基线要重新标定但判断逻辑不变先找气效应再对比电阻率最后核泥质含量。3. 用 Python 把交会图和阿尔奇公式做成可复现的油气水判别脚本3.1 读取 LAS 文件并建立计算工作台现场测井数据最常见的载体是 LAS 格式。用 lasio 库可以一次性读取曲线头、深度表和所有测井曲线比手工从文本里抠数据稳妥得多。先把泥岩和无效段滤掉再计算孔隙度和饱和度这样后续交会图上的点才具备地质意义。import lasio import pandas as pd import numpy as np las lasio.read(well_well.las) df las.df() # 只保留研究层段且自然伽马较低的储层段删除坏点 df df[(df.index 1500) (df.index 1700)] df df.replace(-999.25, np.nan) df df.dropna(subset[RT, AC, CNL, DEN, GR])参数说明LAS 文件里无效值一般记作 -999.25 或 -9999读取后必须替换为 NaNreplace(-999.25, np.nan)前后的比对在商业数据里非常常见。自然伽马的单位是 API深度是米这些在曲线头里有元数据标注。这里我用RT表示深探测电阻率AC是声波时差CNL是中子孔隙度DEN是密度字段名以实际 LAS 为准命名混乱时先统一映射。3.2 计算密度孔隙度和气效应指标中子孔隙度曲线在不同测井公司单位不同有的是小数有的是百分比密度孔隙度则需要指定骨架密度和流体密度。砂岩地层一般取骨架密度 2.65 g/cm³流体密度 1.0 g/cm³压实程度偏低时可以把骨架密度降到 2.62~2.68 之间。# 密度孔隙度基于体积密度的标准换算 df[phi_d] (2.68 - df[DEN]) / (2.68 - 1.02) # 中子孔隙度统一折算为小数 df[phi_n] np.where(df[CNL] 1, df[CNL] / 100.0, df[CNL]) # 气效应指示负得越大气层可能性越高 df[gas_index] df[phi_n] - df[phi_d]参数说明密度孔隙度公式里的分母是“骨架密度 − 流体密度”分子是“骨架密度 − 实测体积密度”物理含义是把体积密度变化折算成孔隙体积占比。流体密度取 1.02 而不是 1.0是因为地层水中溶解了盐密度略大于纯水这个细节直接影响孔隙度的绝对值。np.where用来做单位归一防止现场因测井序列的单位设置不一致导致计算结果整体漂移。3.3 阿尔奇公式算含油饱和度并初步分类阿尔奇公式是砂泥岩储层最常用的饱和度模型形式为[ S_w \left( \frac{a \cdot R_w}{\phi^m \cdot R_t} \right)^{1/n} ]式中 a 是岩性系数m 是胶结指数n 是饱和度指数Rw 是地层水电阻率。这些参数通常来自区域岩电实验在没有实测数据时砂岩常取 a1.0、m2.0、n2.0Rw 用试水资料或 SP 曲线反演。a, m, n 1.0, 2.0, 2.0 rw 0.30 # 地层水电阻率单位 Ω·m来自区域试水资料 df[sw] ((a * rw) / (df[phi_d] ** m * df[RT])) ** (1 / n) # 综合分类先看气效应再看饱和度 def classify(row): if row[sw] 0.6: return 水层 if row[sw] 0.6 and row[gas_index] -0.04: return 气层 if row[sw] 0.6 and row[gas_index] -0.04: return 油层 return 需要复核 df[fluid_class] df.apply(classify, axis1)分类逻辑说明含油饱和度门槛取 0.6即 Sw 低于 60% 认为孔隙中烃类占优势气效应指标取 −0.04低于该值优先判为气层。这两个阈值只是典型工区起步值实际应用一定要结合试油标定调整。这里的fluid_class列的每一条记录都会生成一个可追溯的标签方便后续和试油结论做多口井横向对比。3.4 画交会图把判断结果可视化交会图可以快速发现分类逻辑的边界是否正确。常用的是 RT 与密度孔隙度的半对数交会图颜色映射gas_index值点位上能直接看到气层、油层、水层在坐标系里的分离程度。import matplotlib.pyplot as plt fig, ax plt.subplots(figsize(8, 7)) sc ax.scatter( df[RT], df[phi_d], cdf[gas_index], cmapcoolwarm, s10 ) ax.set_xscale(log) ax.set_xlabel(深电阻率 RT / Ω·m) ax.set_ylabel(密度孔隙度 / v/v) ax.set_title(RT-密度孔隙度交会图颜色为气效应指标) plt.colorbar(sc, labelφn - φd) plt.show()坐标轴说明水平方向用对数刻度是因为电阻率跨了好几个数量级线性刻度会把低阻点全挤在左边颜色越偏蓝色说明气效应越强。如果图上气层点蓝色和水层点红色没有明显分片就要回头检查泥质校正和 Rw 取值是否正确。4. 油气水综合判断的完整工作流从参数准备到试油验证4.1 开工前先把同类参数表列全别把 Rw 的错带进结果油气水综合判断的每个定量环节都依赖参数其中最敏感的是地层水电阻率 Rw、胶结指数 m 和饱和度指数 n。Rw 可以从邻近井的试水化验数据换算也可以在 SP 曲线上利用静自然电位公式反演m 和 n 在未做岩电实验时用经验值但要记录在报告里方便后续评审时调整。第一手资料要包括目的层段深度、自然伽马测井值、深中浅电阻率、声波时差、中子孔隙度、密度、井径判断垮塌井段、泥浆和滤液参数。井径异常段要把对应深度上的曲线打上标记因为扩径会直接拉低密度和中子读数造成假气效应。4.2 四步走的综合判断顺序第一步是单曲线扫描。在有效储层段内把电阻率、声波时差、中子和密度按深度拉成四道先凭肉眼找“气层显示段”和“油层显示段”的异常响应。第二步做交会图分区把 AC─RT、DEN─CNL 和 φn─φd 分析放在一起三种流体的点群分布基本定型。第三步用阿尔奇公式计算含水饱和度把定性分区升级为定量分类同一深度上分类结果要能相互解释。第四步把解释结论与区域地质图、附近井的试油结果对齐如果井上的油气界面位置与构造图存在大矛盾优先怀疑测井解释出的电阻率受侵入影响。4.3 用试油数据回标定分类阈值试油是最后的裁判。把每口井的试油层段和测井解释结果做一张对照表统计解释准确率重点看误判的类型和深度分布。以下代码演示了如何用试油标签重新计算分类阈值# 试油结论oil / gas / water / dry result_map {油层: oil, 气层: gas, 水层: water, 干层: dry} df[test_result] df[fluid_class].map(result_map) # 统计每个试油层的平均 Sw 和 gas_index作为重新定界的依据 summary df[df[test_result].notna()].groupby(test_result)[[sw, gas_index]].mean() print(summary)回标定的作用是发现阈值偏差如果水层的平均 Sw 到了 0.45说明 0.6 的判别线偏宽应当下调如果气层的 gas_index 均值为 −0.02说明当前阈值太保守可能是高泥质含量做了正补偿。这种定量回代比凭经验改阈值可靠得多。4.4 常见误判场景与校验手段井壁垮塌造成密度和中子读数异常降低最容易在交会图上形成“伪气层”。规避方法是始终带着井径曲线做判断凡是井径显著大于钻头直径的井段不计入交会图只在文中说明。气体侵入泥浆造成的次生气显示也可能抬高电阻率这类假象需要在现场记录里查天然气录井数据如果有连续气测异常而测井解释定水层要反向验证录井数据的真实性。高凝油或稠油层内的气效应也不同于自由气层。稠油的黏度高受压实作用影响中子—密度组合分离不显著单靠阈值容易分到油层里实际可能是气顶与稠油过渡带。遇上这类情况要加看 MDT 或 RFT 的压力梯度和流体取样记录压力梯度是判断气油水量最直接的证据链。5. 油气水综合判断容易翻车的三个场景和一套防御做法5.1 低阻油层泥质附加导电让油气“隐形”低阻油层是高含水率误判的重灾区。泥质含量高时黏土矿物表面阳离子交换产生的导电性会让电阻率比油层应有值低 50% 甚至更多油层的 RT 长得和水层一模一样。防御做法是引入泥质校正的饱和度公式最常用的是印度尼西亚公式或双水模型如果只有阿尔奇公式可用就必须在储层段内把 φn − φd 与 RT 放在一张图上优先找“低阻但气效应偏负”的点群这些点往往是隐蔽气层。5.2 气顶和油水过渡带分类边界不能一刀切气顶段内的油气水界面通常不是平的重力分异会让气顶之上是纯气气顶之下是指数递减的油水过渡带。单纯按 Sw≤0.6 判油层、Sw 0.6~0.8 判含油水层在过渡带里必然要和实际矛盾。好在过渡带的电阻率、密度和中子变化是渐变的解释时直接用连续分类把 Sw 分档0.3 纯油/气层0.3~0.6 油水同层0.6~0.9 含油水层每档给出对应解释建议不做三值硬判。5.3 数据版本管理判断结论必须能回放测井解释结果常因参数调整而改变不同版本的解释文件混在同事机器里最后报告里的油气水结论只能追溯难度非常大的旧图层。配合脚本做版本回放能省掉大量复查时间df.to_csv(finterpretation_v1_sw.csv, indexFalse)记录内容包括处理时间、参数表、井名、曲线来源和解释分类列。当试油结果回来需要微调分类阈值时直接加载历史版本输出做对比哪里变了、为什么变一目了然。最后一层防御是所有判断结论都写死一个复核条件测井解释结论、试油结论和构造位置三者必须形成闭环。构造低部位解释成油层试油出水就要反思是不是高矿化度水层的电阻率陷阱构造高部位解释成水层就要怀疑是不是泥质校正过度。这套“三角互验”做下来油气水综合判断的准确率通常能稳定在 80% 以上。本文还有配套的精品资源点击获取
返回列表