# Load UBC-topo file topo = np.genfromtxt(home_dir + dsep + topofile, skip_header=1) # load obs file 3D dobs = DC.readUBC_DC3Dobs(home_dir + dsep + obs_file) DCsurvey = dobs['DCsurvey'] # Assign line ID to the survey lineID = DC.xy_2_lineID(DCsurvey) uniqueID = np.unique(lineID) # Convert 3D locations to 2D survey dobs2D = DC.convertObs_DC3D_to_2D(DCsurvey, lineID, 'Xloc') srcMat = DC.getSrc_locs(dobs2D) #DCdata[src0, src0.rxList[0]] # Find 2D data correspondance dataID = np.zeros(dobs2D.nD) count = 0 for ii in range(dobs2D.nSrc): nD = dobs2D.srcList[ii].rxList[0].nD dataID[count:count + nD] = ii count += nD #============================================================================== #%% Create dcin2d inversion files and run dx = 20. dl_len = np.max(srcMat[lineID == 0, 0, 0]) - np.min(srcMat[lineID == 0, 0, 0])
vmin, vmax = 0, 75 z = np.linspace(zmin, zmax, 4) #%% load obs file 3D dobs = DC.readUBC_DC3Dobs(home_dir + dsep + obs_file, rtype='IP') DCsurvey = dobs['DCsurvey'] # Assign line ID to the survey lineID = DC.xy_2_lineID(DCsurvey) uniqueID = np.unique(lineID) # Convert 3D locations to 2D survey dobs2D = DC.convertObs_DC3D_to_2D(DCsurvey, lineID,'Xloc') srcMat = DC.getSrc_locs(DCsurvey) #DCdata[src0, src0.rxList[0]] # Find 2D data correspondance dataID = np.zeros(dobs2D.nD) count = 0 for ii in range(dobs2D.nSrc): nD = dobs2D.srcList[ii].rxList[0].nD dataID[count:count+nD] = ii count += nD #============================================================================== fig = plt.figure(figsize=(6,5)) ax1 = plt.subplot(2,1,1) ax2 = plt.subplot(2,1,2) def animate(ii):
rx_x = IPsurvey.srcList[ii].rxList[0].locs[1][:, 0] rx_y = IPsurvey.srcList[ii].rxList[0].locs[1][:, 1] IPsurvey.srcList[ii].rxList[0].locs[1][:, 2] = Ftopo(rx_x, rx_y) # Assign line ID to the survey lineID = DC.xy_2_lineID(DCsurvey) uniqueID = np.unique(lineID) IPlineID = DC.xy_2_lineID(IPsurvey) # Convert 3D locations to 2D survey DCdobs2D = DC.convertObs_DC3D_to_2D(DCsurvey, lineID, 'Xloc') IPdobs2D = DC.convertObs_DC3D_to_2D(IPsurvey, IPlineID, 'Xloc') srcMat = DC.getSrc_locs(IPsurvey) #DCdata[src0, src0.rxList[0]] # Find 2D data correspondance dataID = np.zeros(DCdobs2D.nD) count = 0 for ii in range(DCdobs2D.nSrc): nD = DCdobs2D.srcList[ii].rxList[0].nD dataID[count:count + nD] = ii count += nD # Find 2D data correspondance IPdataID = np.zeros(IPdobs2D.nD) count = 0 for ii in range(IPdobs2D.nSrc): nD = IPdobs2D.srcList[ii].rxList[0].nD