Landmark培训操作手册详解:OpenWorks工区、SeisWorks解释与TDQ数据管理实战
2026/9/19 17:43:06 网站建设 项目流程

简介:这份资源是Landmark软件培训操作手册的详解版文档,面向石油地质勘探领域的初学者与在职技术人员,帮助其系统掌握Landmark软件的数据加载、解释与合成记录制作流程。压缩包内仅含1个doc文件,大小约7.88MB,内容按数据加载(GeoDataLoading)、常规解释流程(SeisWorks、TDQ、ZmapPlus)和合成记录制作(Syntool)三大模块编排,目录层级清晰,便于按需检索。文档详细拆解了建立投影系统与OpenWorks数据库、加载钻井平面位置与地质分层、时深转换、速度模型构建、子波提取及应用Checkshot等关键操作,并配有格式文件定义与基准面调整等实务要点。目前已有98人学习,适合需要对照手册逐步上手、查漏补缺的地质解释人员参考。

1. 从一份“操作手册”说起:Landmark 培训到底在训什么

很多人第一次拿到“landmark培训操作手册详解版.doc”这类文档,会下意识把它当成一份软件说明书,翻两页就丢到一边。但真正在勘探开发一线待过的人知道,Landmark 这套系统从来不是“装好就能用”的工具,它是一整套地震解释与地质建模的工作流。手册里那些看似琐碎的步骤——建工区、加载数据、层位标定、断层组合——每一步都对应着后面解释结果的可靠性。换句话说,培训训的不是点哪个按钮,而是让你理解数据在 OpenWorks、SeisWorks、ZmapPlus 之间怎么流转,以及 TDQ 这类工区数据库在背后怎么组织。

这份手册的价值在于,它把散落在各个模块里的操作串成了一条线。新手照着走能跑通一个完整工区,熟手则能从中看到参数设置的边界条件。本文不逐页翻译手册,而是把手册里最常被问到的几个环节拆开:工区建立与数据加载、SeisWorks 里的层位解释、TDQ 查询与数据管理、ZmapPlus 成图与输出。每一块都给出可复现的命令或操作路径,并说明参数为什么这么设。

2. OpenWorks 工区建立与数据加载的完整路径

2.1 工区目录结构与 TDQ 的关系

OpenWorks 的工区不是随便建个文件夹就能用的。一个标准工区目录下通常包含owdbdatatmp几个子目录,其中owdb存放的是 TDQ(Technical Data Query)能识别的元数据。TDQ 本质上是一套查询接口,它不直接读 SEG-Y 文件,而是读 OpenWorks 数据库里登记过的数据索引。这意味着如果你只把 SEG-Y 拷进data目录而不做登记,SeisWorks 里根本看不到这条测线。

常见做法是先用 OpenWorks 的owdir命令确认工区根目录,再检查owdb是否已经初始化。下面这段 bash 用来快速核对工区状态:

# 设置 OpenWorks 环境变量,指向工区根目录 export OWROOT=/data/owproj/Block_A # 列出工区数据库中的数据集摘要 owdir -list $OWROOT/owdb # 查看 TDQ 服务是否可达 tdq_stat -project Block_A -user $USER

逻辑说明:OWROOT是 OpenWorks 所有命令的基准路径,不设这个变量,后续owdirtdq_stat都会报“project not found”。owdir -list输出的是数据库里已登记的数据集名称和类型,如果这里为空,说明工区虽然建了但还没加载任何数据。tdq_stat用来确认 TDQ 后台进程是否在运行,很多“SeisWorks 打不开工区”的问题其实是 TDQ 服务没起来。

参数上,-project后面跟的是工区名,不是目录名,两者可以不同但建议保持一致,省得后期混乱。

2.2 用 SeisWorks 加载 SEG-Y 的关键参数

SeisWorks 加载 SEG-Y 时,手册里通常会给一张参数表。真正容易出错的是道头字映射和采样率。下面是一个典型的加载命令示例(不同版本命令名可能略有差异,但参数逻辑一致):

# 将 SEG-Y 加载到 OpenWorks 工区并登记到 TDQ seisload -project Block_A \ -file /data/segy/line_001.sgy \ -format SEGY \ -header_bytes 3600 \ -sample_rate 2 \ -coord_scalar 1 \ -tdq_register yes

逻辑说明:-header_bytes 3600表示跳过 SEG-Y 文件头,直接读道头;这个值设错会导致所有道头解析偏移。-sample_rate 2单位是毫秒,对应 2ms 采样,如果实际数据是 4ms 而这里写 2,后面层位标定会对不上。-coord_scalar 1处理坐标缩放因子,很多老数据坐标是英尺而工区是米,这里不调就会导致测线位置漂移。-tdq_register yes是让加载完的数据自动登记到 TDQ,省去手动tdq_add的步骤。

注意:加载完成后不要急着在 SeisWorks 里解释,先用tdq_query查一下数据范围,确认 CDP 号和线号没有反转。

2.3 数据加载后的完整性检查

加载完一条测线后,用 TDQ 查询做一次快速校验:

-- 查询工区内所有地震数据的线号和 CDP 范围 SELECT line_name, MIN(cdp) AS min_cdp, MAX(cdp) AS max_cdp, COUNT(*) AS trace_count FROM tdq_seismic_index WHERE project_name = 'Block_A' GROUP BY line_name ORDER BY line_name;

这个查询返回每条线的 CDP 起止和道数。如果某条线的trace_count明显偏少,说明加载时丢道了,常见原因是 SEG-Y 里混有坏道而加载命令没加-skip_bad_traces。另外min_cdpmax_cdp如果和采集报告对不上,优先检查道头字映射里的 CDP 字段偏移。

3. SeisWorks 层位解释与断层组合的操作细节

3.1 层位标定:从合成记录到时深关系

层位解释不是上来就追层,先要做标定。SeisWorks 里标定的核心是合成记录与井旁地震道的匹配。手册里一般会写“加载 checkshot 和声波曲线”,但具体操作路径是:在 OpenWorks 里把井的checkshotsonic曲线登记到 TDQ,然后在 SeisWorks 的Well Tie模块里选井、选地震线、生成合成道。

关键参数是子波频率和相位。常见做法是先用 Ricker 子波,主频取地震数据优势频带的中值,比如数据频带 10-60Hz,主频就取 30Hz 左右。相位先试零相位,如果相关系数低于 0.6,再试 90 度相位。相关系数在Well Tie面板里直接显示,不用自己算。

3.2 层位追踪的三种模式与适用场景

SeisWorks 提供手动、半自动、自动三种追踪模式。手册里通常只写“点击追踪”,但实际选哪种模式取决于资料品质:

模式适用条件关键参数风险
手动断层发育、信噪比低效率低,但最可靠
半自动同相轴连续、断层少追踪步长、波形相似度阈值过断层时容易串层
自动大范围稳定沉积种子点密度、最大跳跃道数遇到振幅突变会跑飞

我一般会先用自动模式跑一遍看整体趋势,然后在断层附近切回手动。半自动的“波形相似度阈值”默认 0.8,资料差的时候调到 0.6 能追下去,但事后必须人工检查。

3.3 断层组合与 TDQ 中的断层数据管理

断层解释完不是画几条线就完了,要在 TDQ 里把断层作为独立对象管理。SeisWorks 里创建的断层会自动写入 OpenWorks 的fault表,但断层之间的交切关系需要手动指定。下面这个 TDQ 查询用来检查断层是否闭合:

-- 查询断层名称、段数和端点坐标,判断是否闭合 SELECT fault_name, COUNT(*) AS segment_count, MIN(start_x) AS min_x, MAX(end_x) AS max_x FROM tdq_fault_segments WHERE project_name = 'Block_A' GROUP BY fault_name HAVING COUNT(*) > 1;

如果segment_count大于 1 但端点坐标没有重叠,说明断层段之间没接上,在 ZmapPlus 成图时会出现断层线断开。处理办法是在 SeisWorks 的Fault Editor里用Join命令把相邻段合并,合并后再重新登记到 TDQ。

4. ZmapPlus 成图与 TDQ 查询的联动

4.1 从 TDQ 提取层位数据到 ZmapPlus

ZmapPlus 不直接读 SeisWorks 的层位文件,它通过 TDQ 查询拿数据。标准流程是先在 TDQ 里把层位解释点导出成 ZmapPlus 能识别的格式,再在 ZmapPlus 里做网格化。下面是一个导出命令:

# 从 TDQ 导出层位解释点到 ZmapPlus 格式 tdq_export -project Block_A \ -query "SELECT x, y, time FROM tdq_horizon_picks WHERE horizon_name='H1'" \ -format zmap \ -output /data/zmap/H1_picks.dat

逻辑说明:-query里直接写 SQL,字段顺序必须是 x、y、z(这里 z 是时间域)。-format zmap输出的是 ZmapPlus 的 ASCII 格式,每行一个点。如果层位点特别多(超过 50 万),建议加-batch 10000分批导出,避免内存溢出。

4.2 网格化参数:收敛半径与平滑迭代

ZmapPlus 网格化的核心参数是收敛半径和迭代次数。收敛半径一般取数据点平均间距的 1.5 到 2 倍。如果半径太小,网格会出现“牛眼”;太大则过度平滑,丢掉小断层。平滑迭代次数默认 3 次,资料差的时候可以加到 5 次,但超过 5 次会明显压制构造幅度。

下面是一个 ZmapPlus 网格化脚本片段(ZmapPlus 支持命令行批处理):

# ZmapPlus 批处理网格化 zmap -batch << EOF grid_method = convergent convergence_radius = 500 smoothing_iterations = 3 input_file = /data/zmap/H1_picks.dat output_grid = /data/zmap/H1_grid.dat EOF

参数convergence_radius = 500单位与工区坐标一致,如果工区是米,500 米大约对应 2 倍点距。smoothing_iterations = 3是经验值,断层附近建议降到 1 或 2,保留断崖。

4.3 成图输出与 TDQ 回写

网格化完成后,ZmapPlus 生成的等值线图可以导出为 CGM 或 PDF。但更重要的是把网格数据回写到 TDQ,这样其他模块(比如属性提取)才能用。回写命令:

# 将 ZmapPlus 网格回写到 TDQ tdq_import -project Block_A \ -table tdq_horizon_grid \ -file /data/zmap/H1_grid.dat \ -format zmap_grid \ -horizon H1

回写后,用tdq_query确认网格范围与原始解释点范围一致。如果网格边界比解释点范围小了一圈,说明网格化时收敛半径设大了,边缘点被忽略。

5. 培训手册里不会写的几个排错技巧

5.1 TDQ 查询超时的处理顺序

TDQ 查询超时是培训后最常遇到的问题。手册里不会写,但实际工作中几乎每周都会碰到。处理顺序是:先看tdq_stat确认服务进程是否正常,再查owdb目录的磁盘空间,最后检查查询语句是否命中了未建索引的字段。如果tdq_stat显示进程在但查询依然超时,大概率是tdq_seismic_index表太大而没分区。临时办法是在查询里加WHERE line_name = 'xxx'缩小范围,长期办法是让管理员按线号做分区。

5.2 SeisWorks 显示异常与显卡驱动的关系

SeisWorks 在某些 Linux 工作站上会出现层位线显示不全或颜色错乱,很多人以为是数据问题,其实是 OpenGL 驱动版本不匹配。快速验证方法是换一台机器打开同一个工区,如果显示正常,就是本机驱动问题。常见做法是回退到显卡厂商提供的长期支持版驱动,而不是用系统自带的通用驱动。

5.3 用 TDQ 做批量数据质量检查

培训时一般只教单条测线的检查,但实际工区有几十条线。下面这个查询可以一次性列出所有线中道数异常的比例:

-- 找出道数低于平均道数 80% 的测线 SELECT line_name, trace_count, ROUND(trace_count * 100.0 / AVG(trace_count) OVER (), 1) AS pct_of_avg FROM ( SELECT line_name, COUNT(*) AS trace_count FROM tdq_seismic_index WHERE project_name = 'Block_A' GROUP BY line_name ) t WHERE trace_count < 0.8 * (SELECT AVG(trace_count) FROM ( SELECT COUNT(*) AS trace_count FROM tdq_seismic_index WHERE project_name = 'Block_A' GROUP BY line_name ) x);

这个查询用窗口函数算出每条线的道数占平均值的百分比,筛出低于 80% 的线。这些线要么加载时丢道,要么采集本身有问题,需要优先复查。把这条查询保存成 TDQ 的常用脚本,每次加载新数据后跑一遍,比人工翻手册快得多。

本文还有配套的精品资源,点击获取

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

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

立即咨询