⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sconstruct

📁 国外免费地震资料处理软件包
💻
字号:
from rsfproj import *nz = 257dz = 0.004nx = 256dx = 0.008# Dome model############z0 = (nz/3.0 + 1.0) * 0.25z1 = nz/3.0 + 0.5 + 3.*z0x0 = dx*(nx/2.0 + 1.0) * 0.5Flow('bot',None,     'spike n1=115 d1=%g o1=-0.456 mag=%g' % (dx,dz*z1))Flow('top','bot',     'math output="%g - %g*sqrt(1-x1*x1*%g)" ' % \     (dz*z1,dz*2.*z0,4./(3.*x0*x0)))Flow('two','top bot',     'cat axis=2 ${SOURCES[1]} | unif2 d1=%g n1=%d v00=1,2,3' % (dz,nz))Flow('dome','two',     '''     igrad |     bandpass flo=10 fhi=50 |     pad beg2=71 end2=71 |     put n3=1      ''')# Lines model#############nl = 5lines = []for n in range(1,nl+1):    line = 'line%d' % n    Flow(line,None,         'math n1=257 d1=%g output="%g + x1*%g" ' % (dx,0.05*n,0.2*n))    lines.append(line)Flow('mod',lines,     '''     cat axis=2 ${SOURCES[1:%d]} |     unif2 d1=0.004 n1=257 v00=%s     ''' % (nl,string.join(map(str,range(1,nl+2)),',')))Flow('lines','mod','igrad | bandpass flo=10 fhi=50 | put n3=1')# General rules###############def plots(one,two,name,axis,f3,forw):    Plot(one,         'grey label1=Time label2=Space unit1=s unit2=km title=%s' % name)    Plot(two+'0',two,         '''         window n3=1 f3=0 |         grey label1=Time label2=Midpoint unit1=s unit2=km         title="Zero %s"         ''' % axis)    Plot(two+'1',two,         '''         window n3=1 f3=%d |         grey label1=Time label2=Midpoint unit1=s unit2=km         title="Far %s"         ''' % (f3,axis))    if forw:        show = [one,two+'0',two+'1']    else:        show = [two+'0',two+'1',one]    Result(two,show,'SideBySideIso')        def agmig(name,modl,vel):    # Modeling    data = 'data-'+name    Flow(data,modl,         '''         halfint inv=1 |         preconstkirch zero=y inv=y h0=0 dh=%g nh=48 vel=%g |         window         ''' % (dx,vel))    plots(modl,data,'Model','Offset',47,1)    # Common-offset migration    offset = 'offset-'+name    Flow(offset,data,         '''         transp plane=43 | preconstkirch vel=1.5 |         halfint inv=y adj=y | put n3=48 n4=1         ''')    gather = 'gather-'+name    Plot(gather,offset,         '''         window f2=125 n2=1 n3=25 |         grey label1=Time unit1=s label2=Half-Offset unit2=km         title="Offset Gather"         ''')    stack = 'stack-'+name    Flow(stack,offset,'stack axis=3')    plots(stack,offset,'Stack','Offset',47,0)    # Angle-gather migration    angle = 'angle-'+name    Flow(angle,data,         '''         agmig g0=0 ng=48 dg=1 vel=1.5 amax=70 |         halfint inv=y adj=y         ''')    astack = 'astack-'+name    Flow(astack,angle,'stack axis=3')    plots(astack,angle,'Stack','Angle',25,0)    for n3 in (25,48):        Plot(angle+str(n3),angle,             '''             window f2=125 n2=1 n3=%d |             grey label1=Time unit1=s label2=Angle unit2=degree             title="Reflection Angle Gather"             ''' % n3)    agather = 'agather-'+name    Result(agather,[gather,angle+'25',angle+'48'],'SideBySideIso')agmig('dome','dome',1.5)agmig('lines','lines',1.5)agmig('dome-fast','dome',3)End()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -