vista 5.5地震勘探数据处理流程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

应用Vista5.5处理地震数据流程
一、二层水平介质模型
模型基本参数:单边放炮,每炮24道接收,共12炮,道间距25m,炮间距50m(2个道间距),偏移距250m(10个道间距)。

采样率2000微秒,每道采样点1000个。

反射界面深度800m,上层介质速度2500m/s,下层介质速度3000m/s。

1.1数据的输入
首先选择File/New Project新建一个Project,如下图:
按住不放,出现按钮组合,选择新建一个二维数据集,然后按住不放,在出现的按钮组合中选择,在弹出的OpenDialog中选择该数据文件M.sgy,单击OK即可将该数据加入到数据集中,如图所示:
界面上部显示了该数据集的基本信息。

可以单击查看该数据集,如下图:
界面上部显示了该地震图,下部是各道的炮间距,状态栏显示的是鼠标处的道号和振幅信息。

该模型是由射线追踪模拟出的理想二层水平介质模型,不需要做什么预处理,可以直接进行下面的实质性处理。

在做实质性处理之前,必须给数据建立观测系统,并将观测系统相关信息写入道头,以便进行实质性处理。

1.2建立观测系统
在Data List窗口的数据集M中点击,或者选择Interactive/Geometry Window
Display,在弹出的对话框中选择M数据集,即可出现观测系统界面,默认出现的是设置炮检关系及炮点坐标界面,在第一行中填入相应得增量,如下图:
主要参数增量为炮点增量2个站点(桩号),首尾检波器桩号也相应增2,炮点坐标增量为2个桩的长度50m.
按住不放,在出现的组合按钮中选择增加单行按钮增加一行,并设置相应值作为初始值,如下图:
设第一个炮点位于第1个站点,坐标为0m,因此第一炮的第一个检波器位于第11个站点,最后一个检波器站点位于第34个站点。

然后按住不放,在出现的组合按钮中选择增加多行按钮,在弹出的增加炮点对话框中填入剩下的炮数,如下所示:
单击OK即可填充,填充完后如下图:
设置完炮检关系及炮点坐标后,点击设置检波器坐标,其基本方法与上面是一致的,
检波器站点增量为1,坐标增量为25m,初始设置为:第1个检波器,即第1炮的第1个位于11号桩,坐标为250m,然后填充剩下的检波器个数(即填充到最后一炮的最后一个检波器,位于56号桩)即可。

填充后如下图:
然后点击并点击计算CMP及检波器叠加次数和炮检距离,以便写入道头相应的位置,
完成后续的处理。

可以点击查看CMP及检波器叠加次数,并可以此判断建立的观测系统是否正确。

如下图:
可以看出,CMP最大覆盖次数为6次,根据已知的模型参数信息,由公式可以算出理论上最大的覆盖次数
N=24*1/(2*2)=6
因此上图所示说明建立的观测系统是正确的。

可以按住保存按钮不放,在出现的按钮组合中选择将相关的信息写入道头,并还可以选择将炮检关系
及他们的坐标写入文本文件,以便以后查看。

加入观测系统后(主要是将相关的信息写入道头),便可以对数据的输入按所要的处理模块选择不同的排列方式,这对于后面的实质性处理是非常重要的。

1.3速度分析
可以选取若干个CMP道集进行速度分析(可以选择速度谱法和常速度叠加法(CVS)),以便获得最佳的叠加速度,为随后的动校正提供速度。

速度分析首先要得到速度谱,常速度叠加图和一个最佳炮检距道集,其工作流如下所示:
首先要选择做速度分析的道集,输入数据选择M,#Bins From Center Bin填5,即抽取以选择的CMP为中心,左右各5道共11个CMP道集。

右键→Data Input Control→Data/header Selection,出现
表示目前没有定义可选的数据集,单击建立可选的CMP道集,如下图:
点击增加一行,定义要选择的CMP道集号,如下图所示:
即选择了CMP道集号为30的CMP道集,因此通过VelZone的道集为CMP号为25,26,27,28,29,30,31,32,33,34,35共11个CMP道集。

设置常速度叠加法的速度扫描范围为100,5000,100,速度谱法的速度扫描范围为100,5000,100,如下图所示:
设置完毕,点击执行上面的工作流,执行完后得到三个输出的数据集,分别是速度谱,
一个最佳炮检距道集和常速度叠加图。

选择Interactive/Velocity Tools/Interactive V elocity Analysis进行速度分析,在弹出的对话框中选择速度谱,一个最佳炮检距道集和常速度叠加数据集,如下图:
单击OK后即可进行速度分析,拾取最佳叠加速度,见下图:
可以单击拾取速度,拾取速度可以根据三个图谱拾取最佳叠加速度,见下图:
拾取到速度后,点击保存按钮保存为速度文件,为动校正准备。

1.4动校正
动校正是将CMP道集中不同炮检距的各道校正为共中心点的自激自收道。

其工作流命令如下:
数据输入选择数据集M,数据排列方式为CMP_NO,如下图:
双击动校正命令图标,设置动校正速度文件(即速度分析中得到的速度文件),如下图:
设置完毕点击执行工作流,即可得到动校正后的结果。

见下图:
1.5水平叠加
水平叠加将动校正后同一个CMP道集的各道叠加为一道。

其工作流命令如下:
双击Input命令图标,数据输入选择动校正后的数据,数据排列方式选择CMP_NO,如下图:
双击CmpStr命令图标,选择叠加方式,如下图:
OK确定,单击执行工作流即可得到水平叠加剖面图。

水平叠加剖面图如下:
局部放大,见下图:
可以看出反射界面大致位于双程时640ms处,可以由模型参数算出理论反射界面的双程时时间:t=2*800/2500=0.64s=640ms,可以看出得到的水平叠加剖面基本是准确的。

二、Marmousi模型
模型基本信息:单边放炮,96道接收,共240炮,道间距25m,炮间距25m,偏移距200m (8个道间距)。

注:该模型炮点位于检波器排列之后。

采样率4000微秒,每道采样750个点。

基本的处理方法与上面处理模型的方法是差不多的。

2.1数据的输入
数据的输入与上面处理模型时是一样的,就不再重复了,下图是加入Marmousi模型数据:
不知该模型数据已作过滤波处理还是模拟时的原因,数据反射波能量很强,深部的反射也很强,反射信息很丰富,信噪比较高,不需作其他的处理就可以做动校正和水平叠加了。

之前仍需给数据加观测系统。

2.2建立观测系统
建立观测系统的方法与前面也是一样的,也不再重复了,仅就个别参数作些说明。

下图是炮检关系和炮点坐标:
炮点是位于检波器排列之后的,即
第1个检波器......第96个检波器←炮点
因此和上面二层水平介质模型的炮检关系有一点小的差别,只要正确认请炮检的位置关系和准确确定炮检坐标,其实是一样的。

下图是检波器坐标:
同样点击和计算CMP和检波器的覆盖次数,点击显示,见下图:
CMP最大覆盖次数:N=96*1/(2*1)=48次,因此上面所建的观测系统是正确的。

按住保存按钮不放,在出现的按钮组合中中选择将相关的信息写入道头,并还可以选择将炮检关系及他们的坐标写入文本文件,以便以后查看。

2.3速度分析
选取几个CMP道集进行速度分析,可以选取CMP200,300,400,500,600这6个CMP道集进行分析,获得这几个CMP道集的速度谱,常速度叠加图和一个最佳炮检距道集,以便拾取这几个CMP的速度。

工作流如下:
双击VelZone图标,填入参数,如下图:
右键点击VelZone图标→Data Input Control→Data/header Selection并选择CMP道集,如下图所示:
并设置常速叠加和速度谱扫描范围,设为100,5000,100,设置完毕后,点击执行工作流。

执行完毕即可得到这几个CMP道集的速度谱,常速度叠加图和一个最佳炮检距道集。

选择Interactive/Velocity Tools/Interactive V elocity Analysis进行速度分析,在弹出的对话框中选择速度谱,一个最佳炮检距道集和常速度叠加数据集,如下图:
点击OK后即可对各CMP道集进行速度分析,拾取各CMP速度,见下图:
可以通过左右移动来选择不同的CMP道集,
拾取不同的CMP的速度。

拾取完后,点击保存按钮保存为速度文件,为后面的动校正提供速度信息。

因模型中部结构比较复杂,反射信息比较复杂,很难准确拾取到反射层的速度,造成速度不准确或不充分,对后面的处理有一定的影响。

2.4动校正
得到速度信息后,可以对按CMP排列的地震数据进行动校正。

工作流如下:
动校正后浅层且大炮检距的地震道会发生动校正拉伸现象,导致浅层的同相轴遭到严重损害,为处理方便,根据动校正拉伸后频率下降,对动校正后的数据设置一个带通滤波器,滤掉因拉伸而导致的畸变。

双击Input图标,设置输入数据及其排列方式,如下所示:
双击Nmo命令图标,设置动校正速度文件选择为速度分析中得到的速度文件,可以点击按钮查看速度信息,见下图:
点击查看各CMP的速度信息,见下图:
带通滤波器设置如下:
设置完毕后点击执行工作流,执行完毕后得到动校正后的结果。

见下图:
2.5水平叠加
水平叠加将动校正后同一个CMP的各道叠加为一道,以加强有效信号,消除干扰,提
高信噪比。

水平叠加工作流见下图:
双击各命令图标并设置完参数后,执行工作流即可得到水平叠加剖面,见下图:
利用已给的Marmousi模型速度(已知的是z­层速度,应将其转化为t­Rms)文件,对Marmousi 模型做动校正并水平叠加后也得到一个水平叠加剖面,但是由于CMP号对应不上,效果也没有改善多少,也有可能是方法本身的问题。

水平叠加剖面见下图:
对数据做反褶积压缩地震子波后再做动校正和水平叠加,叠加剖面的局部有所改善,见下图:
因为Marmousi模型结构比较复杂,反射信息很复杂,仅仅通过动校正和水平叠加得到各CMP自激自收的信号,这是很难得到地下反射界面的信息的,成像效果也不可能很好,这是模型本身的结构和方法本身所决定的。

三、结束语
通过此次课程设计,不仅学会了Vista5.5的基本使用方法,对于Vista的基本功能也有了一定的认识,为下一步的毕业设计奠定了基础。

并用Vista对二层水平介质简单模型和比较复杂的Marmousi模型进行处理,得到了他们的水平叠加剖面,同时在使用过程中加深了对各个处理过程的理解,对地震数据处理的流程有了整体上的把握,对于每个处理过程的目的也有了更进一步的认识。

但更重要的是,在处理过程中,特别是在处理复杂模型的过程中,认识到目前自己专业知识的欠缺,对于Vista的很多功能都不会使用,只能使用一些基本的处理功能,这对于处理复杂构造和干扰较多的地震数据是远远不够的。

在以后的学习中应不断提高自己的专业技能,才能充分发挥Vista的功能,才能在以后的学习和工作中解决实际的问题。

附:深度­层速度转化为时间­均方根速度程序源代码
program main
implicit none
real VELOCITY(1:574,1:750)!层速度
real TIME(1:574,1:750)!单程旅行时
real RMS(1:574,1:750)!均方根速度
real temp
real tempRms(1:574,1:750)
real temp1
real tempTime(1:574,1:750)
real temp2
character*80FloatToStr
integer location
integer traceBorder1,traceBorder2
integer i,j
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
write(*,'(a)')'reading data'
write(*,'(a)')'please waiting...........................'
open(12,file='marmousi.vel',form='unformatted',access='direct',recl=4)
!­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
!//读入速度文件Marmousi.vel
do i=1,574
!write(12,*)'CMP:',i
if(i<=101)then
do j=1,750
read(12,rec=j)temp
VELOCITY(i,j)=temp
end do
else
traceBorder1=(i­101)*750+1
traceBorder2=traceBorder1+750­1
do j=traceBorder1,traceBorder2
location=mod(j,750)
if(location==0)then
location=750
end if
read(12,rec=j)VELOCITY(i,location)
end do
end if
end do
close(12)
!//读入完毕
!­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
write(*,'(a,/)')'finish reading'
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
write(*,'(a)')'Write to vel.txt'
write(*,'(a)')'Waiting...............'
open(22,file='vel.txt')
do j=1,750
write(22,'(574f)')(VELOCITY(i,j),i=1,574,1)
end do
write(*,'(a,/)')'vel.txt has been written!'
close(22)
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ !­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
!//时深转换
do i=1,574
TIME(i,1)=4.0/VELOCITY(i,1)
do j=2,750
temp=4.0/VELOCITY(i,j)
TIME(i,j)=TIME(i,j­1)+temp
end do
end do
TIME=TIME*1000
!//时深转换完毕
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
write(*,'(a)')'Write to TIME.txt'
write(*,'(a)')'Waiting...............'
open(32,file='TIME.txt')
do j=1,750
write(32,'(574f)')(TIME(i,j),i=1,574,1)
end do
close(32)
write(*,'(a,/)')'TIME.txt has been written!'
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ !//层速度转均方根速度
do i=1,574
tempRms(i,1)=VELOCITY(i,1)*VELOCITY(i,1)*TIME(i,1)
tempTime(i,1)=TIME(i,1)
RMS(i,1)=tempRms(i,1)/tempTime(i,1)
do j=2,750
temp1=VELOCITY(i,j)*VELOCITY(i,j)*TIME(i,j)
tempRms(i,j)=tempRms(i,j­1)+temp1
temp2=TIME(i,j)
tempTime(i,j)=tempTime(i,j­1)+temp2
RMS(i,j)=tempRms(i,j)/tempTime(i,j)
end do
end do
RMS=sqrt(RMS)
!//转换完毕
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ write(*,'(a)')'Write to RMS.vel'
write(*,'(a)')'Waiting...............'
open(52,file='RMS.vel')
write(52,'(a)')'3­D:NO'
do i=1,574
write(52,'(a,i4)')'CDP:',i+103
do j=5,750,5
write(FloatToStr,*)TIME(i,j)*2,RMS(i,j)
write(52,'(a)')adjustl(trim(FloatToStr))
end do
end do
write(*,'(a,/)')'RMS.vel has been written!'
close(52)
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ end program main。

相关文档
最新文档