Ejemplo n.º 1
0
def make1Dseismic(v,d,sz,dt,fpeak):
	wtu = WTutils()
	nz = len(v)
	toz = wtu.tzVlog(v,sz)
	r = zerofloat(nz)
	s = zerofloat(nz)
	imp0 = v[0]*d[0]
	for iz in range(1,nz):
		imp1 = v[iz]*d[iz]	
		r[iz] = (imp1-imp0)/(imp1+imp0)
		imp0 = imp1
	st = Sampling(int(max(toz)/dt),dt,0.0)
	s = wtu.syntheticSeismogram(fpeak,r,toz,st,sz,"ricker")
	st = Sampling(len(s),dt,0.0)
	#s = addRickerWavelet(fpeak,r)
 	#s = mul(1.0/max(abs(s)),s)
	return s,st
Ejemplo n.º 2
0
def make2Dseismic(st,sz,toz,r,fpeak):
	wtu = WTutils()
	nx = len(r)
	s = zerofloat(st.count,nx)
	ml = 0
	for ix in range(nx):
		s[ix] = wtu.syntheticSeismogram(fpeak,r[ix],toz[ix],st,sz,"ricker")
		if (len(s[ix])>ml): 
			ml = len(s[ix])
	nt = ml
	s2 = zerofloat(nt,nx)
	for ix in range(nx):
		for it in range(len(s[ix])):
			s2[ix][it] = s[ix][it]
	st = Sampling(nt,st.delta,st.first)
	#dz = sz.delta
	#nx = len(r)
	#nz = len(r[0])
	#t = zerofloat(nz)
	#s = zerofloat(nz,nx)
	#for ix in range(nx):
	#	s[ix] = addRickerWavelet(fpeak,r[ix])
  #	s[ix] = mul(1.0/max(abs(r[ix])),r[ix])
	return s2,st