DSurfTomo/scripts/GenerateTrueMOD.py
Hongjian Fang 2b73597aea nothing important
change the script for generating true model and add script for ploting
paths
2018-02-03 11:38:11 -05:00

44 lines
1.0 KiB
Python

#!/usr/bin/env python
# the checkerboard should use the initial model as background model, then add
# some pertubations
# remember to move MOD.true to the directory where you want to run DSurfTomo
import numpy as np
import matplotlib.pyplot as plt
#parameters you need to change
#start
nx=18
ny=18
nz=9
minvel=0.9
velgrad=0.6
dep1=[0,0.2,0.4,0.6,0.8,1.1,1.4,1.8,2.5]
anosize=0.5
amplitude=0.4
#end
nmax = np.max([nx,ny])
x=range(1,nmax+1)
y=range(1,nmax+1)
z=range(1,nz+1)
z=np.ones(nz)
bg=np.zeros((nz,nx,ny))
cross=np.zeros((nz,ny))
vs1=np.zeros(nz)
xy=np.kron(np.sin(anosize*np.array(y)),np.sin(anosize*np.array(x)))
xyz=np.kron(z,xy)
pxy=xyz.reshape(nz,nmax,nmax)
for k in range(nz):
for j in range(ny):
for i in range(nx):
bg[k,i,j]= minvel+dep1[k]*velgrad
mod=np.zeros((nz*ny,nx))
for k in range(nz):
for j in range(ny):
for i in range(nx):
mod[(k)*ny+j,i]=bg[k,i,j]+pxy[k,i,j]*amplitude
k=5
plt.imshow(mod[k*ny:(k+1)*ny,:],cmap='jet_r')
np.savetxt('MOD.true',mod,fmt='%4.4f')
plt.colorbar()
plt.show()