You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在PETREL中批量计算17口井周边10米范围的地震属性?

我太懂你手动处理17口井的崩溃了——重复裁剪、计算、导出不仅耗时间,还容易因为操作不一致出问题。针对你的需求,这里有几个Petrel内置的、更系统的批量处理方案,帮你一次性搞定:

高效批量计算单井周边10米范围地震属性的方案

方案1:用Well Seismic Attribute工具(最直接的可视化方案)

这个工具就是Petrel专门为井-地震属性关联设计的,完全不用手动裁剪子体:

  • 操作步骤:
    1. 切换到Seismic Interpretation标签页,找到Well Seismic Attribute工具
    2. 选择你的3D地震体作为输入数据
    3. Wells面板里按住Ctrl/Shift一次性选中所有17口井
    4. 在参数设置里把Radius设为10米,同时勾选你需要计算的属性(比如均方根振幅、主频、瞬时相位等)
    5. 输出选项里可以直接选择导出为SEGY,也可以先保存为Petrel内部属性集,之后再批量导出
  • 优势:零脚本、可视化操作,自动关联井位和属性范围,结果直接和井绑定,后续分析也方便

方案2:用Petrel Workflow搭建自动化流程(灵活可复用)

如果需要后续调整参数(比如给不同井设置不同半径)或者加额外处理步骤,Workflow是最佳选择:

  • 操作步骤:
    1. 打开Workflow Editor,拖拽以下核心模块到画布:
      • Input Wells:导入所有目标井
      • Seismic Cube Input:导入你的3D地震体
      • Extract Subcube Around Well:设置10米半径,自动为每口井生成对应子体
      • Calculate Seismic Attribute:选择目标属性
      • Export SEGY:设置导出路径,用{WellName}变量自动命名(比如{WellName}_10m_attr.sgy
      • Loop模块:把单井处理的模块包裹起来,实现批量遍历
    2. 连接各模块、设置好参数后,运行整个工作流即可
  • 优势:可重复使用,后续井数增加或参数调整时,只需要修改工作流即可,还能加入数据校验、日志输出等步骤

方案3:Petrel Python脚本批量处理(适合高级定制)

如果你熟悉Python,可以用Petrel的Python API实现更个性化的处理:

  • 简化版核心代码示例:
import petrel
from petrel import objects

# 获取项目中的3D地震体
seismic_cube = objects.find("你的地震体名称")
# 批量获取所有目标井(也可以通过井列表批量导入)
well_list = objects.find_many(objects.Well, name_pattern="Well*")

for well in well_list:
    # 获取井位坐标
    well_x, well_y = well.location.x, well.location.y
    # 定义10米范围的子体边界(深度范围可按需调整)
    subcube_bounds = (
        well_x - 10, well_x + 10,
        well_y - 10, well_y + 10,
        well.z_top, well.z_bottom
    )
    # 提取子体并计算属性
    subcube = seismic_cube.extract_subcube(subcube_bounds)
    rms_attr = subcube.calculate_attribute("RMS Amplitude")
    # 导出SEGY
    rms_attr.export_segy(f"./output/{well.name}_10m_rms.sgy")
  • 注意:需要在Petrel内置的Python环境中运行,确保项目已加载目标数据

关键避坑提示

  • 先确认井和地震体的坐标系统一致!这是最容易踩的坑,坐标不匹配的话,计算出的范围会完全错误,可以在Settings里检查Coordinate Reference System
  • 如果是计算目的层段的属性,记得设置对应的深度时窗,不要用整个井段
  • 导出SEGY时用井名自动命名,方便后续识别对应关系

内容的提问来源于stack exchange,提问作者Faraz Gerrard Jamal

火山引擎 最新活动