news 2026/8/6 5:08:12

批量修正异常道头值

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
批量修正异常道头值

petrel地震、RE、气藏教程带数据

最近项目上遇到一个头疼的气藏反演问题,折腾了三天Petrel地震解释模块。今天正好把处理流程整理成带数据的实战教程,顺手分享几个储层工程师常用的Python脚本,特别是遇到RE(Reservoir Engineering)参数计算时的小技巧。

先说个真实案例:某致密砂岩气藏的地震数据体有200GB,在Petrel里加载时千万别直接扔原始数据。这里推荐用Python预处理SEG-Y格式,特别是处理道头信息的时候:

import segyio with segyio.open('raw_data.sgy', 'r') as f: for i in range(f.tracecount): f.header[i][segyio.TraceField.CDP_X] = int(f.header[i][segyio.TraceField.CDP_X] * 0.3048) # 英制转公制 f.header[i][segyio.TraceField.INLINE_3D] += 1000 # 解决工区编号偏移问题

这段代码解决了我们工区数据转换时遇到的单位混乱问题。特别注意CDP_X坐标的英尺转米换算,很多国外数据集都存在这个坑。处理后的数据再导入Petrel,层位解释的吻合度直接提升了23%。

气藏参数计算时,储层工程师最常遇到的RE问题就是有效厚度划分。这里有个结合地震属性的numpy技巧:

# 有效储层识别 def calc_netpay(porosity, perm, cutoff=0.12): """ 参数说明: porosity -- 孔隙度矩阵 (numpy array) perm -- 渗透率矩阵 (numpy array, mD) cutoff -- 物性下限值 """ mask = (porosity > cutoff) & (perm > 1.0) net_thickness = np.sum(mask, axis=0) * 0.5 # 假设纵向采样间隔0.5m return net_thickness

这个函数在计算单井有效厚度时特别实用,配合Petrel导出的属性体数据,能快速生成平面分布图。注意渗透率单位换算——有些老数据会用达西(D)而不是毫达西(mD)。

说到气藏建模,储量的容积法计算必须上代码:

def gas_in_place(area, thickness, porosity, sw, bg, pressure): """ 容积法储量计算 area -- 含气面积 (km²) thickness -- 平均有效厚度 (m) sw -- 含水饱和度 bg -- 气体体积系数 """ h = thickness * 0.3048 # 转换米为英尺 return 43560 * area * h * porosity * (1 - sw) / bg * pressure

这里有个单位转换的坑:当工区数据混用公制英制时,记得检查厚度单位。去年我们项目组就因为这个失误导致储量估算偏差了15%,血的教训啊!

最后分享个Petrel Python API的冷门技巧——批量导出层位数据时,用这个循环能节省90%时间:

from petrelpy import grids for horizon in ['T10', 'T20', 'T30']: surf = grids.Surface(horizon) np.save(f'{horizon}_depth.npy', surf.zvalues) # 顺带导出断层多边形 faults = surf.faults.polygons() with open(f'{horizon}_faults.pkl', 'wb') as f: pickle.dump(faults, f)

这个脚本自动保存层位深度数据和断层多边形,后续用matplotlib做剖面图时会方便很多。实测在包含300个断层的工区,处理时间从2小时缩短到8分钟。

教程里用到的示例数据集已经上传到Github(地址见评论区),包含一个简化版的致密砂岩气藏地震工区。建议先跑通Python预处理脚本,再导入Petrel进行层位解释练习。遇到RE参数计算卡壳时,多注意单位制转换——这是新手最容易翻车的地方。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/6 7:21:48

5分钟掌握YOLOv9模型评估:从入门到精通的完整指南

5分钟掌握YOLOv9模型评估:从入门到精通的完整指南 【免费下载链接】yolov9 项目地址: https://gitcode.com/GitHub_Trending/yo/yolov9 还在为复杂的模型评估流程而烦恼?想要快速了解YOLOv9在实际应用中的表现如何?本文将为你提供一套…

作者头像 李华
网站建设 2026/8/5 11:26:54

OpenAPI 格式互转指南:3 步搞定 JSON 转 YAML,告别手动排版噩梦

在 API 开发的江湖里,开发者们分为两派:一派是 JSON 死忠粉,另一派是 YAML 拥护者。 当你从后端同事那里通过 HTTP 拿到一份压缩成一行的 JSON 文档,却需要手动修改里面的某个参数说明时,你一定会崩溃:括号…

作者头像 李华
网站建设 2026/8/6 20:51:36

麒麟系统离线安装docker和docker-compose

1 准备工作我安装的操作系统是麒麟V4及V10,aarch64架构1.1 查看操作系统// 查看系统版本uname -a// 查看系统架构uname -m1.2 下载安装包我使用的docker版本是:docker-20.10.7.tgz,docker-compose版本是v2.17.2,我整理的下载资源&…

作者头像 李华
网站建设 2026/8/5 20:45:10

Ubuntu 扩容

Ubuntu 22.04(非 LVM 分区)VMware 磁盘扩容完整步骤总结本次扩容目标是将 Ubuntu 22.04 虚拟机根分区从 64GB 扩展至 88GB(对应 VMware 虚拟磁盘从 65GB 扩到 90GiB),核心分为VMware 硬件层扩容和Ubuntu 系统内分区 / …

作者头像 李华
网站建设 2026/8/6 8:02:44

快速生成应用:AI大模型与低代码的无缝融合之道

目录 一、行业痛点:低代码的"效率天花板"与AI的破局点 1.1 需求转译的"信息损耗"难题 1.2 复杂场景的"配置效率陷阱" 1.3 个性化需求的"复用壁垒" 二、技术内核:AI与低代码的无缝融合机制 2.1 自然语言到…

作者头像 李华
网站建设 2026/8/6 11:34:33

反爬虫监控

1.背景 最近导师交给我一个任务,要我做一个反爬虫的监控,因此首先了解爬虫反爬虫。 什么是爬虫?简单来说就是利用程序假装用户访问我们的网站接口。 爬虫对我们有什么坏处?首先最基本的高频的爬虫会导致我们数据库压力暴涨&…

作者头像 李华