汕头网站设计哪家好怎样做网站海报
2026/1/9 12:03:30 网站建设 项目流程
汕头网站设计哪家好,怎样做网站海报,重庆网络安全公司,兰州网站备案谁家做petrel地震、RE、气藏教程带数据最近项目上遇到一个头疼的气藏反演问题#xff0c;折腾了三天Petrel地震解释模块。今天正好把处理流程整理成带数据的实战教程#xff0c;顺手分享几个储层工程师常用的Python脚本#xff0c;特别是遇到RE#xff08;Reservoir Engineering折腾了三天Petrel地震解释模块。今天正好把处理流程整理成带数据的实战教程顺手分享几个储层工程师常用的Python脚本特别是遇到REReservoir 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, cutoff0.12): 参数说明: porosity -- 孔隙度矩阵 (numpy array) perm -- 渗透率矩阵 (numpy array, mD) cutoff -- 物性下限值 mask (porosity cutoff) (perm 1.0) net_thickness np.sum(mask, axis0) * 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参数计算卡壳时多注意单位制转换——这是新手最容易翻车的地方。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询