mirror of
https://github.com/HongjianFang/DSurfTomo.git
synced 2025-12-18 17:01:08 +08:00
Initial commit
change 1e-2 to 'ftol' in CalSurfG.f90, which may cause problem with small study region (~2 km)
This commit is contained in:
42
scripts/GenerateTrueMOD.py
Normal file
42
scripts/GenerateTrueMOD.py
Normal file
@@ -0,0 +1,42 @@
|
||||
#!/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=1.0
|
||||
amplitude=0.4
|
||||
#end
|
||||
x=range(1,nx+1)
|
||||
y=range(1,ny+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,nx,ny)
|
||||
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',interpolation='bicubic')
|
||||
np.savetxt('MOD.true',mod,fmt='%4.4f')
|
||||
plt.colorbar()
|
||||
plt.show()
|
||||
|
||||
Reference in New Issue
Block a user