压裂微震数据的快速读取及可视化
2010-01-12桂志先谢宋雷王朝锋张建萍
王 鹏,桂志先,谢宋雷,王朝锋,张建萍
(1.油气资源与勘探技术教育部重点实验室(长江大学) 长江大学 地球物理与石油资源学院,湖北荆州 434023;2.中原油田地球物理测井公司,河南濮阳 457001)
0 前言
压裂自从上个世纪七十年代在美国堪萨斯州西部Hugoton气田首次使用以来,已成为一种常见的提高油气采收率的油藏工程方法[1]。压裂作业会诱生微震,可对微震信号进行采集,处理和解释,还可对压裂作业进行监测,并对压裂效果进行评价。压裂作业的时间可长达几个小时,甚至几十个小时。由于微震事件能量弱,信号频率高,易被地层吸收,所以这些特点决定了微震数据采集时间较长,采样频率高,最终将导致得到的微震数据相当庞大。
利用井下多个三分量检波器接收微震信号,并在信号中拾取出微震事件的初至时间。对微震事件做极化分析,就可以确定微震事件的传播方向。利用测井和地震资料,可建立速度模型。结合以上数据,利用多种反演方法(例如:纵、横波时差震源定位法)计算出微震震源的空间位置,从而可以画出裂缝的空间图像。从裂缝的空间图像可以直观地看出裂缝的发育方向和范围,再与压裂后试井结果相比对,就能对压裂效果进行评价,进而改进压裂作业。
在压裂作业的各个阶段,微震事件的发生率有明显的差异。相对于采集得到的数据,实际反演需要的数据只占很少的一部份。这样,就需要用快捷的方法来读取和显示采集的数据,并从中找到微震事件。作者在本文中,以VC6.0作为编程工具,并利用LOD和内存映射来实现快速读取和显示微震数据。
1 微震数据分析
经采集得到的微震数据解编后,使用地震勘探中广泛采用的SEGY数据格式来存储。SEGY数据格式由卷头和道信息二部份组成,其中道信息又分为道头和道数据二部份(见图1)。
图1 SEGY文件格式Fig.1 The structure of SEGY
卷头包括3 200字节的字符信息和400字节的二进制信息。400字节的二进制信息内容,将会影响到整个SEGY文件,这些信息对文件的数据处理至关重要,特别是采样间隔,道长度和编码格式[2]。240字节的道头,包含了单道的基本信息和道间的差异信息,道数据包含单道的所有采样点数据信息。对于多数SEGY数据文件,其道数据采用I
BM浮点数格式。但这种浮点数格式不能直接在微机上使用,需要转换为在微机上通用的IEEE浮点数格式。
在采集微震数据时,常采用三分量检波器。每一个检波器分量采集的数据对应一个地震道,即一个检波器对应三个地震道。因为微震事件能量低频率高,其采样间隔比常规地震勘探更小,通常为0.25 ms。
2 LOD的应用
细节层次(Level of Detail,LOD)技术根据观察点位置的变化而选择不同的精度模型进行成像。该算法首先由Clark于1976年提出,最初是用来简化采样密集的多面体网状物体数据结构。其基本思想是:在不影响视觉效果的前提下,对场景中每一原始物体建立不同逼近精度的几何模型,在绘制时,根据一定的标准,选择适当的层次模型来表示物体,从而简化场景的描述[3]。
LOD模型的实现方式:
(1)静态LOD。在预处理过程中,产生一个物体的几个离散的不同细节层级模型,在绘制时根据特定的标准,选择合适的细节层次模型来表示物体。
(2)动态LOD。在动态LOD算法中生成一个数据结构。在绘制时,可以从这个数据结构中抽取所需要的细节层次模型,从而得到大量不同的分辨率,并且是可以连续变化的[4]。
微震波型有体波(P波和S波二种)和导波二类。在三分量检波器记录上,每个分量上P波和S波成对出现,并且三个分量上的P波和S波的波至时间分别相同[5]。在每个分量上,P波后面紧跟一个S波,S波比P波的波幅更大(见图2)。在噪音干扰不强的情况下,微震事件在地震记录中是比较明显的。同时根据大量的文献分析,单个微震的持续时间从十几毫秒到三百毫秒不等,这与其能量强弱直接相关,也与检波器到震源距离有关。
图2 微震波形Fig.2 The wavefor m ofmicroseisms
以持续时间为50 ms的微震事件为例,微震事件对应的采样点个数为200。这是因为微震事件的S波的振幅比P波振幅大,所以在地震记录中比较明显。同时,微震事件对应的采样点多,所以利用LOD技术来显示微震数据是可行的。依据静态LOD模型,将可分为三个显示等级:①每隔十个样点进行显示。这时能够显示能量较强,延续时间较长的微震事件。这些微震事件由于能量较强,所以能较为准确地提取出其初至时间;②每隔五个样点进行显示,能进一步发现其它能量较弱的微震事件。③显示所有的样点。
由于压裂作业时间较长,采集到的微震数据往往会被依次保存到多个文件中。使用LOD就可减少读取的数据量,加快读取数据的速度,并且快速找到有效的微震事件。
3 内存映射
处理大数据量SEGY文件时,往往会出现内存不足的问题。作者本文中,利用文件内存映射的方法来解决这个问题。
内存映射是W indows的一种内存管理方法,与虚拟内存类似[6]。建立文件内存映射的过程大致可分为:①利用CreateFile()函数创建或打开一个文件内核对象;②利用CreateFileMapping()函数创建一个文件映射内核对象;③利用MapViewOfFile()函数,将文件映射对象的全部或部分映射到进程的地址空间中;④利用UnmapViewOfFile()函数,撤销文件数据的映射,并调用CloseHandle()函数关闭前面创建的文件映射对象和文件对象。部份代码如下:
//创建文件内存映射内核对象
//建立映射
同时,当窗口由于任何原因需要重绘时,总是先用背景色将显示区清除,然后才调用相应的绘图函数,而背景色往往与绘图内容反差很大,在短时间内,背景色与显示图形交替出现,形成屏闪现象。为了解决这一问题,应采用双缓冲的方法。具体实现方法是:先在内存中将图像绘制完成,再将绘制好的图像一次性拷贝到屏幕中。
4 实例分析
实例数据来源于油田压裂监测数据。监测方式采用单井连续监测,井下共有七个三分量检波器。在压裂作业开始前10 min,进行压裂监测,以记录背景噪音。压裂监测持续约2 h。利用LOD技术来显示微震数据,在图像中可以清晰识别出微震事件(见图3)。
图3 微震事件的识别Fig.3 The recognition ofmicroseis ms event
图3是对同一个微震事件,使用三种不同的显示方式。图3(a)采用常规的显示方式,图3(b)和图3(c)采用了LOD技术来显示。在图3(a)中,虽然微震事件在图像中很清晰,但绘制所需的数据较多,绘制的时间比较长。在绘制图3(b)和图3(c)时,对监测数据进行了适当的抽取和简化,在绘制图3(b)时抽取了1/5的数据量,而绘制图3(c)时抽取了1/10的数据量。在图3(b)和图3(c)中,都能识别出微震事件。
为了准确拾取微震事件的初至时间,可对地震道波形进行局部放大显示,以方便拾取初至时间(见图4)。
在图4中,可以准确地找到微震事件的初至时间(S波的初至时间)。在图4中标示的初至时间为1 295.00 ms。由于图4中的S波的能量较强,同时由于程序处理的原因,所以P波的波形在图4中不明显。
图4 拾取初至时间Fig.4 Picking up the first arrival
5 结论
微震事件的初至拾取是进行压裂监测的基础之一。同时在接收到的微震信号中,存在众多的微震事件。这些微震事件的能量大小,持续时间都存在明显的差异。这样就需要对监测数据进行快速读取,识别出其中能量较强的微震事件,并对这些微震事件的初至时间进行准确的拾取。通过以上分析和实例验证,在微震数据的读取和显示中,利用LOD技术和内存映射方法,可以加快读取速度和改进显示效果。同时,由于微震事件的自身特点也会限制LOD技术的使用,如微震事件的持续时间存在明显差异等。当采集的微震数据信噪比不高时,利用LOD技术的作用就不明显,这时需要对采集的数据进行必要的处理。
[1] L I YINGPING,C H CHENG,TOKSOZ M N.seismic monitoring of the growth of a hydraulic fracture zone at Fenton Hill[J],New Mexico.Geophysics,1998,63(1):120.
[2] MICHAEL W.Norris,Alank.Faichaney(Eds)SEG YrevI data Exchange for mat[Z].Tulsa,Oklahoma Society of Exploration Geophysicists,2002.
[3] 邵艳红.LOD技术及其算法[J].软件导刊,2008,7(10):48.
[4] 曾维,韩占校,朱学芳.LOD算法在3D地表模拟中的应用研究[J].系统仿真学报,2009,21(1):292.
[5] 梁兵,朱广生.油气田勘探开发中的微震监测方法[M].北京:石油工业出版社,2004.
[6] 李晓军.采用内存映射文件设计超大文件数据编辑器[J].电脑编程技巧与维护,2008,(9):12.
[7] 雷兵,马在田.三维地震数据体绘制[J].物探化探计算技术,2004,26(3):206.