SuperAPI AI 工具集

petropy

数据与分析

查看项目

更新于 10-16 02:17

技能介绍

用途

PetroPy 用于从归一化 LAS 测井曲线配置流体性质与多矿物地层评价。PetroPy 0.1.6 使用 Log.fluid_properties(),随后调用 Log.multimineral_model()。该版本不提供此前展示过的 shale_volume、formation_porosity、water_saturation、permeability 或 to_las 方法。导出 Log 使用 write(...)。

环境与输入契约

使用隔离的 Python 3.11 环境及元数据依赖。已验证的组合为 PetroPy 0.1.6、lasio 0.30、NumPy 1.26.4;lasio 0.32 移除了 add_curve,而 PetroPy 仍会调用它。旧的 lasio 0.23/0.29 与现代 NumPy 在头部解析时也会失败。cchardet 预发布版提供 Python 3.11 wheel;本技能中的依赖声明不会安装软件包。

创建 Log 前,需准备并检查实测曲线 GR_N、NPHI_N、RHOB_N、RESDEEP_N,其单位分别为 API、v/v 分数、g/cm³、ohm·m。输入深度必须是井面以下 TVD、非负英尺、严格递增,并注明基准,以适配这些温度/压力相关式。合成样例为直井,其 MD 等于 TVD。斜井 MD 不能直接传入;应单独建立 TVD/PVT 处理,且不要静默重采样测井曲线。中子孔隙度若为百分比需显式换算。不要依赖 PetroPy 的旧密度-孔隙度回退:在预处理前需有经验证实测的密度曲线。缺失测量保持为 NaN 并保留其掩码。

运行已配置模型

以下函数期望输入满足该契约且配置已经过审查。声明 depth_basis="tvd_below_surface" 与 depth_datum;该辅助工具会拒绝 MD 基准。example_config.json 是合成的洁净石英/方解石标定,并非某口实际井的默认标定。在现场使用前,应依据实际井/实验室信息调整其区间、流体参数、矿物端点与权重。

import json
import petropy as pp

def run_configured(las_path, config_path):
    with open(config_path, encoding='utf-8') as stream:
        config = json.load(stream)
    top, bottom = config['interval_ft']
    log = pp.Log(str(las_path))
    log.fluid_properties(top=top, bottom=bottom, **config['fluid'])
    log.multimineral_model(top=top, bottom=bottom, **config['multimineral'])
    return log

PetroPy 0.1.6 要求 top 与 bottom 等于既有的采样深度,但在 [top, bottom) 上计算:底部样本不会被评价。不要传入任意的区间端点,也不要声称所有样本都被评价。库会跳过缺少必需测量的行;不要把这些行变为零孔隙度、零饱和度或非产层。

已验证的辅助工具与结果检查

地层评价辅助工具会验证归一化曲线名称/单位、递增的英尺深度、精确的区间端点、显式的流体/矿物标定,以及正的密度/电阻率。它运行实际库,检查体积与孔隙体积闭合,并写出 LAS 以及包含解析参数、区间、样本数、源校验和的 JSON 记录。它会拒绝此前已计算的模型曲线,以防陈旧数值在缺失或被排除的样本上残留。

python scripts/formation_evaluation.py normalized.las \
  --config reviewed_config.json --output evaluated.las

相对于已安装的技能目录解析该脚本。对已评价行确认:基质矿物体积 + BVCLAY + BVOM + BVPYR + PHIE 之和为 1,BVW + BVH 等于 PHIE,SW/PHIE 保持为物理分数。这些是必要的一致性检查,不能证明地层模型正确。

读取计算结果和产层区间时,注意体积分数与基质分数之间的差异,以及所述厚度约定。修改 PVT 输入或解释流体输出前,先阅读流体性质单位。独立的渗透率、聚类、绘图以及含气/泥质/富有机质标定需要单独验证。

验证范围

已执行真实 LAS 读写、配置的流体计算,以及使用项目生成观测值的双矿物 NNLS 评价。解析合成混合物的组成为 65% 石英、15% 方解石、20% 充水孔隙。测试检查恢复的分数、守恒、以英尺为单位的温度/压力、NaN 掩码、区间边界与 CLI 失败情况。这是 API 与物理一致性基线,不是现场标定,也不是对旧版 PetroPy 的全面验证。

官方 PetroPy 实现,在 2026-09-14 对照 0.1.6 检查。