Esempio n. 1
0
# seismic = pd.read_table(r'C:\Users\eroots\Downloads\Malartic Seismic Receivers location (1)\MAL_LN131_R1_KMIG_SUGETHW_UTM.txt', header=0, names=('trace', 'x', 'y'), sep='\s+')
#########################################################
# A-G / ROUYN
# main_transect = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/rouyn/j2/main_transect_more.lst')
# data = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/Regions/abi-gren/j2/center_fewer3.lst')
# backup_data = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/Regions/abi-gren/j2/center_fewer3.lst')
# mod = WSDS.Model('C:/Users/eroots/phd/ownCloud/data/Regions/abi-gren/centerMore_ModEM/NLCG_NLCG_120.rho')
# seismic = pd.read_table('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/rouyn/rou_seismic_traces.txt',
#                         header=0, names=('trace', 'x', 'y'), sep='\s+')
#########################################################
# MATHESON
# main_transect = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/matheson/j2/mat_westLine.lst')
# data = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/matheson/j2/mat_bb_cull1.lst')
# backup_data = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/matheson/j2/mat_bb_cull1.lst')
# mod = WSDS.Model('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/matheson/mat3/mat3_lastIter.rho')
main_transect = WSDS.RawData(local_path + '/phd/ownCloud/data/Regions/MetalEarth/matheson/j2/MATBB.lst')
data = WSDS.RawData(local_path + '/phd/ownCloud/data/Regions/MetalEarth/matheson/j2/MATall.lst')
backup_data = WSDS.RawData(local_path + '/phd/ownCloud/data/Regions/MetalEarth/matheson/j2/MATall.lst')
mod = WSDS.Model(local_path + '/phd/ownCloud/data/Regions/MetalEarth/matheson/Hex2Mod/HexMat_all.model')
#########################################################
# AFTON
# main_transect = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/Regions/afton/j2/l0.lst')
# data = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/Regions/afton/j2/afton_cull1.lst')
# backup_data = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/Regions/afton/j2/afton_cull1.lst')
# mod = WSDS.Model('C:/Users/eroots/phd/ownCloud/data/Regions/afton/afton1/afton2_lastIter.rho')
# mod = WSDS.Model('C:/Users/eroots/phd/ownCloud/data/Regions/afton/afton_rot/aftonrot_NLCG_069.rho')
#########################################################
# GERALDTON
# main_transect = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/geraldton/j2/main_transect.lst')
# data = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/geraldton/j2/ger_cull4.lst')
# backup_data = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/geraldton/j2/ger_cull4.lst')
Esempio n. 2
0
import naturalneighbor as nn
import matplotlib.pyplot as plt
import numpy as np
import e_colours.colourmaps as cm
from mpl_toolkits.axes_grid1 import make_axes_locatable


cmap = cm.jet_plus(64)
# listfile = r'C:\Users\eric\Documents\MATLAB\MATLAB\Inversion\Regions\dbr15\j2\allsites.lst'
# listfile = r'C:\Users\eric\Documents\MATLAB\MATLAB\Inversion\Regions\MetalEarth\j2\allbb.lst')
# datafile = r'C:\Users\eric\Documents\MATLAB\MATLAB\Inversion\Regions\MetalEarth\j2\allbb.data')
# datafile = 'C:/Users/eric/Documents/MATLAB/MATLAB/Inversion/Regions/MetalEarth/swayze/swz_cull1/swz_cull1f_Z.dat'
datafile = 'C:/Users/eric/phd/ownCloud/data/Regions/MetalEarth/j2/cull_allSuperior.data'
listfile = 'C:/Users/eric/phd/ownCloud/data/Regions/MetalEarth/j2/culled_allSuperior.lst'
data = WSDS.Data(datafile=datafile, listfile=listfile)
raw = WSDS.RawData(listfile=listfile)
raw.locations = raw.get_locs(mode='latlong')
for ii in range(len(raw.locations)):
    lon, lat = utils.project((raw.locations[ii, 1], raw.locations[ii, 0]), zone=16, letter='U')[2:]
    raw.locations[ii, 1], raw.locations[ii, 0] = lon, lat
data.locations = raw.locations
save_path = 'C:/Users/eric/phd/ownCloud/Documents/Seminars/Seminar 3/Figures/Pseudosections/culled/'
# rmsites = [site for site in data.site_names if site[0] == 'e' or site[0] == 'd']
# data.remove_sites(rmsites)
# data.sort_sites(order='west-east')
rho = {site.name: utils.compute_rho(site)[0] for site in data.sites.values()}
pha = {site.name: utils.compute_phase(site)[0] for site in data.sites.values()}
rho_lim = [0, 5]
n_interp = 250
period = 14
padding = 50000
Esempio n. 3
0
import pyMT.data_structures as WSDS
import pandas as pd
import numpy as np

# Define your data and list locations
data_file = 'C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/swayze/swz_cull1/finish/swz_cull1i_Z.dat'
list_file = 'C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/swayze/j2/swz_cull1.lst'
# Read data and list
data = WSDS.Data(data_file)
raw = WSDS.RawData(list_file)
# Define what info you want in the CSV (headers)
columns = ('site', 'X', 'Y', 'period', 'beta', 'alpha', 'det_phi', 'skew_phi',
           'phi_1', 'phi_2', 'phi_3', 'phi_max', 'phi_min', 'Lambda',
           'azimuth', 'delta')

c = 0
site_list = []
# Initialize numpy array with zeros
arr = np.zeros((len(data.site_names) * len(data.periods), len(columns)))
for site in data.site_names:
    for ii, period in enumerate(data.periods):
        phase_tensor = data.sites[site].phase_tensors[ii]
        for jj, column in enumerate(columns):
            # Can't pass string to np array, so ignore for now
            if column == 'site':
                # arr[ii, jj] = site
                pass
            # If looking for lat/longs, grab these from the RawData object
            elif column == 'X':
                arr[c, jj] = raw.sites[site].locations['Long']
            elif column == 'Y':
Esempio n. 4
0
import pyMT.data_structures as WSDS
import matplotlib.pyplot as plt
import shapefile
from pyproj import Proj
import numpy as np
import matplotlib.ticker as plticker


loc = plticker.MultipleLocator(base=75.0)  # this locator puts ticks at regular intervals

abi = WSDS.RawData(r'C:\Users\eric\Documents\MATLAB\MATLAB\Inversion\Regions' +
                   r'\abi-gren\New\j2\allsites.lst')
# wst = WSDS.RawData(r'C:\Users\eric\Documents\MATLAB\MATLAB\Inversion\Regions' +
#                    r'\wst\New\j2\all.lst')
wst = WSDS.RawData(r'C:\Users\eric\Documents\MATLAB\MATLAB\Inversion\Regions' +
                   r'\wst\New\j2\southeastern.lst')
abi.locations = abi.get_locs(mode='latlong')
wst.locations = wst.get_locs(mode='latlong')
MT_stations = ([ix for ix in abi.locations[:, 0]] + [ix for ix in wst.locations[:, 0]],
               [iy for iy in abi.locations[:, 1]] + [iy for iy in wst.locations[:, 1]])
p = Proj(proj='utm', zone=17, ellps='WGS84')
sl = shapefile.Reader('D:/PhD/Seismic Lines/Export_Output_11')
MT_stations = p(MT_stations[1], MT_stations[0])
MT_stations = np.transpose(np.array(MT_stations)) / 1000
sx, sy = ([], [])
for shape in sl.shapeRecords():
    sx += [ix[0] / 1000 for ix in shape.shape.points[:]]
    sy += [iy[1] / 1000 for iy in shape.shape.points[:]]
transect = np.transpose(np.array((sx, sy)))
fig = plt.figure()
ax = fig.add_subplot(111)
Esempio n. 5
0
# main_list = 'C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/dryden/j2/main_transect.lst'
# listfile = 'C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/dryden/j2/main_transect.lst'
###########################################
# DRYDEN
listfile = local_path + 'phd/ownCloud/data/Regions/MetalEarth/dryden/j2/dry5_3.lst'
main_list = local_path + 'phd/ownCloud/data/Regions/MetalEarth/dryden/j2/main_transect_pt.lst'
###########################################
# MALARTIC
# listfile = local_path + 'phd/ownCloud/data/Regions/MetalEarth/malartic/j2/mal_amt.lst'
# main_list = local_path + 'phd/ownCloud/data/Regions/MetalEarth/malartic/j2/mal_amt.lst'
###########################################
# LARDER
# listfile = local_path + 'phd/ownCloud/data/Regions/MetalEarth/larder/j2/main_transect_bb.lst'
# main_list = local_path + 'phd/ownCloud/data/Regions/MetalEarth/larder/j2/main_transect_bb.lst'

data = WSDS.RawData(listfile)
main_transect = WSDS.RawData(main_list)

# data = WSDS.RawData(listfile=listfile)
normalize = 1
fill_param = 'phi_2'
# fill_param = 'beta'
# fill_param = 'Lambda'
use_periods = sorted(list(data.narrow_periods.keys()))
# use_periods = data.sites[data.site_names[0]].periods
x_scale, y_scale = 1, 120
save_fig = 1
freq_skip = 2
radius = 20
label_offset = -4.5
file_path = local_path + '/phd/ownCloud/Documents/ME_Transects/Dryden_paper/RoughFigures/'
Esempio n. 6
0
# mod = WSDS.Model('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/malartic/mal1/mal3_lastIter.rho')
# data = WSDS.Data('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/malartic/mal1/mal3_lastIter.dat')
# mod = WSDS.Model(local_path + 'phd/ownCloud/data/Regions/MetalEarth/malartic/Hex2Mod/HexMal_Z.model')
# data = WSDS.RawData(local_path + 'phd/ownCloud/data/Regions/MetalEarth/malartic/j2/mal_hex.lst')
#####################################################################
# DRYDEN
# mod = WSDS.Model('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/dryden/dry5/norot/dry5norot_lastIter.rho')
# data = WSDS.Data('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/dryden/dry5/norot/dry5norot_lastIter.dat')
#####################################################################
# AFTON
# mod = WSDS.Model('C:/Users/eroots/phd/ownCloud/data/regions/afton/afton1/afton2_lastIter.rho')
# data = WSDS.Data('C:/Users/eroots/phd/ownCloud/data/regions/afton/afton1/afton2_lastIter.dat')
# data = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/regions/afton/j2/afton_cull1.lst')
#####################################################################
# LARDER
data = WSDS.RawData(local_path +
                    'phd/ownCloud/data/Regions/MetalEarth/larder/j2/test.lst')
# mod = WSDS.Model(local_path + 'phd/ownCloud/data/Regions/MetalEarth/larder/Hex2Mod/Hex2Mod_all.model')
mod = WSDS.Model(
    local_path +
    'phd/ownCloud/data/Regions/MetalEarth/larder/Hex2Mod/Hex2Mod_Z_static.model'
)
# reso = []
# mod = WSDS.Model('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/dryden/dry5/dry53.rho')
# kimberlines = [5.341140e+006, 5.348097e+006,
#                5.330197e+006, 5.348247e+006,
#                5.369642e+006]
kimberlines = []
mod.origin = data.origin
# data.locations = np.array([[0 for ii in range(17)],
#                            [0.000000000E+00, 0.501143799E+04, 0.104698379E+05,
#                             0.136017852E+05, 0.178389980E+05, 0.208527168E+05,
Esempio n. 7
0
# data = WSDS.Data(r'C:\Users\eric\phd\ownCloud\data\Regions\MetalEarth\swayze\swz_cull1\finish\swz_cull1i_Z.dat')
# reso = WSDS.Model(r'C:\Users\eric\phd\ownCloud\data\Regions\MetalEarth\swayze\swz_cull1\finish\Resolution.model')
# mod = WSDS.Model(r'C:\Users\eroots\phd\ownCloud\data\Regions\MetalEarth\swayze\swz_cull1\finish\Resolution.model')
# mod = WSDS.Model(r'C:\Users\eric\Documents\MATLAB\MATLAB\Inversion\Regions\MetalEarth\swayze\R1South_2\bb\R1South_2e_smooth.model')
# data = WSDS.Data(r'C:\Users\eric\Documents\MATLAB\MATLAB\Inversion\Regions\MetalEarth\swayze\R1South_2\bb\R1South_2f_bb_Z.dat')
# data = WSDS.Data(datafile='C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/dryden/dry5/dry53.data',
#                  listfile='C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/dryden/j2/dry5_3.lst')
#####################################################################
# MALARTIC
# mod = WSDS.Model('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/malartic/mal1/mal3_lastIter.rho')
# data = WSDS.Data('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/malartic/mal1/mal3_lastIter.dat')
mod = WSDS.Model(
    local_path +
    'phd/ownCloud/data/Regions/MetalEarth/malartic/Hex2Mod/HexMal_Z.model')
data = WSDS.RawData(
    local_path +
    'phd/ownCloud/data/Regions/MetalEarth/malartic/j2/mal_hex.lst')
#####################################################################
# DRYDEN
# mod = WSDS.Model('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/dryden/dry5/norot/dry5norot_lastIter.rho')
# data = WSDS.Data('C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/dryden/dry5/norot/dry5norot_lastIter.dat')
#####################################################################
# AFTON
# mod = WSDS.Model('C:/Users/eroots/phd/ownCloud/data/regions/afton/afton1/afton2_lastIter.rho')
# data = WSDS.Data('C:/Users/eroots/phd/ownCloud/data/regions/afton/afton1/afton2_lastIter.dat')
# data = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/regions/afton/j2/afton_cull1.lst')
#####################################################################
# LARDER
# data = WSDS.RawData(local_path + 'phd/ownCloud/data/Regions/MetalEarth/larder/j2/test.lst')
# mod = WSDS.Model(local_path + 'phd/ownCloud/data/Regions/MetalEarth/larder/Hex2Mod/Hex2Mod_all.model')
# reso = []
Esempio n. 8
0
import pyMT.data_structures as WSDS
import pyMT.utils as utils
from scipy.interpolate import griddata
import matplotlib.pyplot as plt
import numpy as np
import e_colours.colourmaps as cm
import naturalneighbor as nn

# listfile = r'C:\Users\eric\Documents\MATLAB\MATLAB\Inversion\Regions\dbr15\j2\allsites.lst'
# datafile = r'C:\Users\eric\Documents\MATLAB\MATLAB\Inversion\Test_Models\dimensionality\synthLayer.data'
listfile = 'C:/Users/eroots/phd/ownCloud/data/Regions/MetalEarth/swayze/j2/main_transect.lst'
# data = WSDS.Data(datafile=datafile)
data = WSDS.RawData(listfile)
cmap = cm.jet()
n_interp = 300
# rmsites = [site for site in data.site_names if site[0] == 'e' or site[0] == 'd']
# data.remove_sites(rmsites)
# data.sort_sites(order='west-east')
data.locations = data.locations[
    data.locations[:, 0].argsort()]  # Make sure they go north-south
# A little kludge to make sure the last few sites are in the right order (west-east)
# data.locations[0:8, :] = data.locations[np.flip(data.locations[0:8, 1].argsort(), 0)]
rho = {site.name: utils.compute_rho(site)[0] for site in data.sites.values()}
pha = {site.name: utils.compute_phase(site)[0] for site in data.sites.values()}
bost = {
    site.name: utils.compute_bost1D(site)[0]
    for site in data.sites.values()
}
depths = {
    site.name: utils.compute_bost1D(site)[1]
    for site in data.sites.values()
Esempio n. 9
0
def do_the_bosticks(listfile=None,
                    datafile=None,
                    comp=None,
                    N_interp=None,
                    z_bounds=None,
                    filter_width=1,
                    sites_slice=None):
    # if listfile is None:
    #     print('Listfile is None')
    #     listfile = r'C:\Users\eric\Documents\MATLAB\MATLAB\Inversion\Regions\abi-gren\New\j2\allsites.lst'
    if datafile is None:
        print('datafile is None')
        datafile = r'C:\Users\eric\Documents\MATLAB\MATLAB\Inversion\Regions\abi-gren\New\j2\allsites_1.data'
    if listfile:
        raw = WSDS.RawData(listfile=listfile)
    else:
        raw = WSDS.Data(datafile=datafile)
    if not sites_slice:
        sites_slice = ('p91011', 'p91009', 'e90005', 'e90001', 'g90003',
                       'p91003', 'p91006', 'p91006', 'p91008', 'p91012',
                       'e89001', 'e90002', 'g90004', 'g90002', 'g90006',
                       'p91013', 'p91014', 'p91015', 'p91016', 'p91017',
                       'p91019')
    data = WSDS.Data(listfile=listfile, datafile=datafile)
    NS = len(raw.site_names)
    if not N_interp:
        NZ_interp = 200
        NXY_interp = 200
    elif len(N_interp) == 1:
        NZ_interp = N_interp
        NXY_interp = N_interp
    else:
        NZ_interp = N_interp[0]
        NXY_interp = N_interp[1]
    locs = np.zeros((NS, 2))
    all_depths = []
    all_bosticks = []
    for ii, site_name in enumerate(raw.site_names):
        site = raw.sites[site_name]
        locs[ii, 1] = data.sites[site.name].locations['X'] / 1000
        locs[ii, 0] = data.sites[site.name].locations['Y'] / 1000
        # locs[ii, 1] = raw.sites[site.name].locations['Long']
        # locs[ii, 0] = raw.sites[site.name].locations['Lat']
        bostick, depth = utils.compute_bost1D(site,
                                              comp=comp,
                                              filter_width=filter_width)[:2]
        if any(np.isnan(depth)):
            print(site_name)
            sys.exit()
        all_depths.append(depth)
        all_bosticks.append(bostick)
    all_depths_flat = np.array(utils.flatten_list(all_bosticks))
    data_points = np.zeros((len(all_depths_flat), 3))
    c = 0
    for ii, ds in enumerate(all_depths):
        for d in ds:
            data_points[c, 0] = locs[ii, 0]
            data_points[c, 1] = locs[ii, 1]
            data_points[c, 2] = d
            c += 1
    try:
        y = [data.sites[site].locations['X'] / 1000
             for site in sites_slice]  # if site in data.site_names]
        x = [data.sites[site].locations['Y'] / 1000
             for site in sites_slice]  # if site in data.site_names]
        # y = [raw.sites[site].locations['Long'] for site in sites_slice]  # if site in data.site_names]
        # x = [raw.sites[site].locations['Lat'] for site in sites_slice]  # if site in data.site_names]
    except KeyError as e:
        if (type(sites_slice[0]) == str):
            print('Site {} not found. Check your site list.'.format(e))
            print(e)
            sys.exit()
        else:
            x = sites_slice[:int(len(sites_slice) / 2)]
            y = sites_slice[int(len(sites_slice) / 2):]
    # This sorting is south-north. Might not make sense for west-east profiles.
    x, y = ([y2 for (x2, y2) in sorted(zip(y, x))],
            [x2 for (x2, y2) in sorted(zip(y, x))])
    print(x, y)
    print(raw.site_names)
    print(data.periods)
    print('Data file is {}'.format(datafile))
    print('List file is {}'.format(listfile))
    V = np.array(utils.flatten_list(all_bosticks))

    if not z_bounds:
        z_bounds = (0.1, 300)
    zi = np.logspace(np.log10(z_bounds[0]), np.log10(z_bounds[1]), NZ_interp)
    yi = np.linspace(min(y), max(y), NXY_interp)
    xi = np.interp(yi, y, x)
    X = np.ndarray.flatten(np.tile(xi, (NZ_interp, 1)), order='F')
    Y = np.ndarray.flatten(np.tile(yi, (NZ_interp, 1)), order='F')
    Z = np.ndarray.flatten(np.tile(zi, (1, NXY_interp)), order='F')
    query_points = np.transpose(np.array((X, Y, Z)))
    return data_points, query_points, V
Esempio n. 10
0
# data = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/Regions/afton/j2/afton_cull1.lst')
# backup_data = WSDS.RawData('C:/Users/eroots/phd/ownCloud/data/Regions/afton/j2/afton_cull1.lst')
# mod = WSDS.Model('C:/Users/eroots/phd/ownCloud/data/Regions/afton/afton1/afton2_lastIter.rho')
#########################################################
# GERALDTON
# main_transect = WSDS.RawData(local_path + 'phd/ownCloud/data/Regions/MetalEarth/geraldton/j2/main_transect.lst')
# data = WSDS.RawData(local_path + 'phd/ownCloud/data/Regions/MetalEarth/geraldton/j2/ger_cull4.lst')
# backup_data = WSDS.RawData(local_path + 'phd/ownCloud/data/Regions/MetalEarth/geraldton/j2/ger_cull4.lst')
# mod = WSDS.Model(local_path + 'phd/ownCloud/data/Regions/MetalEarth/geraldton/ger_cull4/finish/gerFinish_lastIter.rho')
# seismic = pd.read_table(r'C:/Users/eroots/phd/ownCloud/Metal Earth/Data/Seismic/ME_Seismic_PostStack_Migrated_sections/' +
#                         r'GERALDTON_LN301_R1_KMIG/GERALDTON_LN301_R1_KMIG_SUGETHW_UTM.txt',
#                         header=0, names=('trace', 'x', 'y'), sep='\s+')
#########################################################
# LARDER
main_transect = WSDS.RawData(
    local_path +
    'phd/ownCloud/data/Regions/MetalEarth/larder/j2/main_transect.lst')
data = WSDS.RawData(local_path +
                    'phd/ownCloud/data/Regions/MetalEarth/larder/j2/test.lst')
backup_data = WSDS.RawData(
    local_path + 'phd/ownCloud/data/Regions/MetalEarth/larder/j2/test.lst')
mod = WSDS.Model(
    local_path +
    'phd/ownCloud/data/Regions/MetalEarth/larder/Hex2Mod/Hex2Mod_all.model')
seismic = pd.read_table(
    local_path +
    '/phd/ownCloud/Metal Earth/Data/Seismic/ME_Seismic_PostStack_Migrated_sections/'
    + r'LARD_LN321_R1_KMIG/LARD_LN321_R1_KMIG_SUGETHW_UTM.txt',
    header=0,
    names=('trace', 'x', 'y'),
    sep='\s+')
Esempio n. 11
0
    # listfile = 'C:/Users/eric/phd/ownCloud/data/Regions/MetalEarth/j2/culled_allSuperior.lst'
    filename = 'C:/Users/eric/phd/ownCloud/secondary/simpeg_tests/eastSuperior_1D_Z.dat'
    listfile = 'C:/Users/eric/phd/ownCloud/data/Regions/MetalEarth/j2/1D_sites.lst'
    shp_file_base = 'C:/Users/eric/phd/ownCloud/data/ArcMap/test2.shp'
    # out_path = 'C:/Users/eric/phd/ownCloud/Documents/Seminars/Seminar 3/Figures/PTs/all/'
    # out_file = 'allSuperior_PT_'
    out_path = 'C:/Users/eric/phd/ownCloud/secondary/simpeg_tests/Figures/PTs/'
    out_file = '1D_PT_'
    ext = '.png'
    dpi = 600
    save_fig = 1
    cutoff_distance = 500

    #################################################################################
    all_data = WSDS.Data(filename, listfile=listfile)
    all_raw = WSDS.RawData(listfile)
    ME_data = deepcopy(all_data)
    ME_raw = deepcopy(all_raw)
    ME_data.remove_sites(
        sites=[site for site in ME_data.site_names if site.startswith('9')])
    ME_raw.remove_sites(
        sites=[site for site in ME_raw.site_names if site.startswith('9')])
    all_sites_ME = deepcopy(ME_data.site_names)
    # Remove redunantly close points
    for ii, site1 in enumerate(ME_data.site_names):
        for jj, site2 in enumerate(ME_data.site_names):
            dist = euclidean(
                (ME_data.locations[ii, 1], ME_data.locations[ii, 0]),
                (ME_data.locations[jj, 1], ME_data.locations[jj, 0]))
            if dist < cutoff_distance and site1 in all_sites_ME and (site1 !=
                                                                     site2):
Esempio n. 12
0
def get_inputs():
    raw_origin = '0, 0'

    args = {}
    # print('Output model, sites, or both? (m/d/b) {Default = b}')
    to_output = verify_input(message='Output model, sites, or both? (m/d/b)',
                             expected='mbd',
                             default='b')
    if not to_output:
        to_output = 'b'
    if to_output == 'm' or to_output == 'b':
        # Get model name
        modelfile = verify_input('Input model name', expected='read')
        args.update({'modelfile': modelfile})
        include_resolution = verify_input('Include model resolution?',
                                          expected='yn',
                                          default='n')
        if include_resolution == 'y':
            resolution_file = verify_input(
                'Resolution file name:',
                expected='read',
                default='Resolution0_inverted.model')
            args.update({'resolutionfile': resolution_file})
    if to_output == 'd' or to_output == 'b':
        # Get data or list file
        datafile = verify_input('Input data or list file name',
                                expected='read')
        # If listfile, make sure the conversion to raw data works
        if '.lst' in datafile:
            path = os.path.abspath(datafile)
            datpath = input('Path to .dat files \n' +
                            '[Default: {}] > '.format(path))
            try:
                raw_data = WSDS.RawData(listfile=datafile, datpath=datpath)
                raw_origin = str(raw_data.origin).replace('(',
                                                          '').replace(')', '')
                args.update({'datpath': datpath})
                args.update({'listfile': datafile})
                # args.update({'origin': origin})

            except WSFileError as err:
                print(err.message)
                # Otherwise just get the data file
        elif '.dat' in datafile:
            args.update({'datafile': datafile})
    origin = verify_input('Input model origin as Easting, Northing',
                          expected='numtuple',
                          default=raw_origin)
    args.update({'origin': origin})
    args.update(
        {'UTM': verify_input('UTM Zone', expected=str, default='dummy')})
    if args['UTM'] != 'dummy':
        args.update({
            'transform_coords':
            verify_input(
                'Do you want to transform the coordinates to this UTM zone?',
                expected='yn',
                default='y')
        })
    else:
        args.update({'transform_coords': 'n'})
    sea_level = verify_input(
        'Sea level adjustment (Positive for above sea level)',
        expected=float,
        default=0)
    args.update({'sea_level': sea_level})
    outfile = verify_input('Base output file name', expected='write')
    args.update({'outfile': outfile})

    return args
Esempio n. 13
0
        'beta': np.rad2deg(beta),
        'lambda': Lambda,
        'azimuth': np.rad2deg(azimuth)
    }
    return parameters


def calculate_phase_tensor(site):
    X, Y = form_tensors(site)
    # phi = [np.matmul(np.linalg.inv(x), y) for x, y in zip(X, Y)]
    phi = np.matmul(np.linalg.inv(X), Y)
    return phi, X, Y


if __name__ == '__main__':
    filename = 'F:/GJH/TNG&MTR-EDI/all.lst'
    data = WSDS.RawData(filename)
    site = data.sites[data.site_names[0]]
    all_phi, X, Y = calculate_phase_tensor(site)
    phi_parameters = {}
    for ii, phi in enumerate(all_phi):
        parameters = calculate_phase_parameters(phi)
        if ii == 0:
            phi_parameters = {
                key: np.zeros((len(site.periods)))
                for key in parameters.keys()
            }
            phi_parameters['phi_2'] = np.zeros((len(site.periods)), 'complex')
        for key, value in parameters.items():
            phi_parameters[key][ii] = value
Esempio n. 14
0
def interpolate_slice(x, y, Z, NP):
    mod_interp = RBS(x, y, Z)
    interp_vals = mod_interp(np.linspace(x[0], x[-1], NP),
                             np.linspace(y[0], y[-1], NP))
    return interp_vals


mod = WSDS.Model(r'C:\Users\eric\Documents' +
                 r'\MATLAB\MATLAB\Inversion\Regions' +
                 r'\abi-gren\New\abi0_sens\outSens_model.00')
reso = WSDS.Model(r'C:\Users\eric\Documents' +
                  r'\MATLAB\MATLAB\Inversion\Regions' +
                  r'\abi-gren\New\abi0_sens\Resolution0_inverted.model')
data = WSDS.RawData(
    r'C:\Users\eric\Documents' + r'\MATLAB\MATLAB\Inversion\Regions' +
    r'\abi-gren\New\abi0_sens\bigabi_2.lst',
    datpath=r'C:\Users\eric\Documents' + r'\MATLAB\MATLAB\Inversion\Regions' +
    r'\abi-gren\New\j2')
mod.origin = data.origin
mod.to_UTM()
cax = [1, 5]
modes = {1: 'pcolor', 2: 'imshow', 3: 'pcolorimage'}
mode = 3
use_alpha = 0
saturation = 0.8
lightness = 0.45
# cmap_name = 'gist_rainbow'
# cmap_name = 'viridis_r'
# cmap_name = 'magma_r'
# cmap_name = 'cet_isolum_r'
cmap_name = 'cet_bgy_r'