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

📄 sconstruct

📁 国外免费地震资料处理软件包
💻
字号:
from rsfproj import *def read_chevron(target=None,source=None,env=None):    inp = open(str(source[0]),'r')    file = str(target[0])    out = open(file,'w')    n2=0    for line in inp.readlines():        n2=n2+1        out.write(string.join(line.split()[2:],' ')+'\n')    out.write("n1=3 n2=%d esize=0 in=%s data_format=ascii_float\n" %              (n2,file))    out.close()    inp.close()Chevron = Builder(action=Action(read_chevron),src_suffix='.5',suffix='.T')env = Environment(BUILDERS={'Chevron':Chevron})sets = ['seismic','well']baseplate = -2782def grey(title,clip='allpos=y clip=2000'):    return '''    grey %s crowd=0.88 transp=n yreverse=n    title="%s" label1="X axis" label2="Y axis"    ''' % (clip,title)for data in sets:    file = data[0]+'2000'    Fetch(file+'.5','chevron')    env.Chevron(file+'.T',file+'.5')    Flow(file,file+'.T','dd form=native')    Flow(data,file,         '''         window n1=1 f1=2 | math output="input-(%g)" |         bin interp=1 nx=40 ny=40 xkey=0 ykey=1 head=$SOURCE         xmin=2000 xmax=28000 ymin=-25000 ymax=12000         ''' % baseplate)    Plot(data,grey('Binned %s data' % data))        Flow(data+'1',[data,file],         'frame xyz=${SOURCES[1]} base=%g' % baseplate)    Plot(data+'1',grey('Binned and framed %s data' % data))Result('wellseis',sets,'SideBySideIso')Flow('sx','seismic1','lapfill niter=500')Plot('sx',grey('Extended seismic'))Result('misseis',['seismic1','sx'],'SideBySideIso')Flow('mask','well1','add mode=d $SOURCE')Flow('vv',['well1','sx','mask'],     '''     add scale=1,-1 ${SOURCES[1]} |     add mode=p ${SOURCES[2]}     ''')Plot('vv',grey('Wells - Seismic',clip='pclip=100')) for case in [1,2]:    diff = 'd%d' % case    modl = 'm%d' % case    cont = 'c%d' % case    case = 2-case    label = ['Laplacian','Gradient'][case]    Flow(diff,'vv','lapfill niter=500 grad=%d' % case)    Plot(diff,grey('%s Map - Seismic' % label,clip='pclip=100'))    Flow(modl,[diff,'sx'],'add ${SOURCES[1]}')    Plot(modl,grey('Map based on %s' % label))    Plot(cont,modl,         '''         contour nc=50 c0=0 transp=n yreverse=n crowd=.88         title="Map based on %s"         ''' % label)Result('diffdiff',['vv','d1','d2'],'SideBySideAniso')Result('finalmap',['m2','c2'],'SideBySideAniso')###########################################################################End()

⌨️ 快捷键说明

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