In [1]:
from SimPEG import Utils, Maps, Mesh
%pylab inline
In [2]:
# temp = np.loadtxt("../data/pohang/dem.dat")
# inds = np.logical_and(temp[:,0]>230000, temp[:,0]<233000) & np.logical_and(temp[:,1]>286500, temp[:,1]<289500)
# topo = temp[inds,:]
# np.save("../data/pohang/topo", topo)
In [3]:
topo = np.load("../data/pohang/topo.npy")
In [4]:
# temp = np.loadtxt("../data/pohang/SP_cor_allf.dat")
fid = open("../data/pohang/SP_cor_allf.dat")
lines = fid.readlines()
temp = []
for line in lines:
if len(line.split()) == 4:
temp.append(map(float, line.split()[1:]))
else:
print "skip data"
print line
data = np.vstack(temp)
In [5]:
plt.plot(topo[:,2]-topo[:,2].min())
Out[5]:
In [6]:
actinds = (data[:,0] > 230281) & (data[:,1] > 286500)
Utils.plot2Ddata(topo[:,:2], topo[:,2], ncontour=100, contourOpts={"cmap":"viridis"})
plt.plot(data[actinds,0], data[actinds,1], '.')
Out[6]:
In [7]:
Utils.plot2Ddata(data[actinds,:2], data[actinds,2], ncontour=100, contourOpts={"cmap":"jet"}, dataloc=True)
Out[7]:
In [8]:
topoInv = np.c_[topo[:,0]-np.median(data[actinds,0]), topo[:,1]-np.median(data[actinds,1]), topo[:,2]-topo[:,2].max()]
dataInv = np.c_[data[actinds,0]-np.median(data[actinds,0]), data[actinds,1]-np.median(data[actinds,1]), data[actinds,2]]
In [9]:
fig = plt.figure(figsize = (5,5))
ax = plt.subplot(111)
Utils.plot2Ddata(topoInv[:,:2], topoInv[:,2], ncontour=50, ax=ax, contourOpts={"cmap":"binary_r", "alpha":0.2})
# Utils.plot2Ddata(dataInv[:,:2], dataInv[:,2], ncontour=100, contourOpts={"cmap":"jet", "alpha":0.6}, dataloc=True, ax=ax)
Out[9]:
In [10]:
dx = 40.
dz = 20.
npad = 3
hxind = [(dx, npad, -1.3), (dx, 50), (dx, npad, 1.3)]
hyind = [(dx, npad, -1.3), (dx, 50), (dx, npad, 1.3)]
hzind = [(dx, npad, -1.3), (dz, 10), (dz/2., 20)]
mesh = Mesh.TensorMesh([hxind, hyind, hzind], "CCN")
sigma = np.ones(mesh.nC)*1./100.
actind = Utils.surface2ind_topo(mesh, topoInv)
actMap = Maps.InjectActiveCells(mesh, actind, 0.)
In [11]:
print mesh
In [12]:
actind = Utils.surface2ind_topo(mesh, topoInv, gridLoc="N")
In [13]:
actind.sum()
Out[13]:
In [14]:
mesh.plotSlice(actind, normal="Z", ind=27, grid=True)
plt.plot(dataInv[:,0], dataInv[:,1], 'k.')
mesh.plotSlice(actind, normal="Y", grid=True)
Out[14]:
In [15]:
mesh.writeVTK("pohang", models={"sigam":actind*1.})
In [ ]:
In [ ]: