from fatiando.seismic import profile from fatiando.inversion import linear from fatiando import vis, utils, ui import cPickle as pickle params = __import__('exercicio2_entrada') with open(params.dados) as f: zp, tts, thickness, velocity = pickle.load(f) mu = params.norma_minima area = (0, 10000, 0, 600) vmin, vmax, zmin, zmax = area thick = float(sum(thickness))/float(params.camadas) model = params.camadas*[thick] solver = linear.overdet(len(model)) p, residuals = profile.invert_vertical(tts, zp, model, solver, damping=mu) pyplot.figure(figsize=(12,5)) pyplot.subplot(1, 2, 1) pyplot.grid() pyplot.title("Perfilagem sismica vertical") pyplot.plot(tts, zp, 'ok', label='Observado') pyplot.plot(tts - residuals, zp, '-r', label='Predito') leg = pyplot.legend(loc='lower left', numpoints=1) leg.get_frame().set_alpha(0.5) pyplot.xlabel("Tempo de chegada (s)") pyplot.ylabel("Profundidade (m)") pyplot.ylim(sum(thickness), 0) pyplot.subplot(1, 2, 2) pyplot.grid() pyplot.title("Perfil de velocidades")
from fatiando.seismic import profile from fatiando.inversion import linear from fatiando import vis, utils, ui import cPickle as pickle params = __import__('exercicio3_entrada') with open(params.dados) as f: zp, tts, thickness, velocity = pickle.load(f) mu = params.suavidade area = (0, 10000, 0, 600) vmin, vmax, zmin, zmax = area thick = float(sum(thickness)) / float(params.camadas) model = params.camadas * [thick] solver = linear.overdet(len(model)) p, residuals = profile.invert_vertical(tts, zp, model, solver, smooth=mu) pyplot.figure(figsize=(12, 5)) pyplot.subplot(1, 2, 1) pyplot.grid() pyplot.title("Perfilagem sismica vertical") pyplot.plot(tts, zp, 'ok', label='Observado') pyplot.plot(tts - residuals, zp, '-r', label='Predito') leg = pyplot.legend(loc='lower left', numpoints=1) leg.get_frame().set_alpha(0.5) pyplot.xlabel("Tempo de chegada (s)") pyplot.ylabel("Profundidade (m)") pyplot.ylim(sum(thickness), 0) pyplot.subplot(1, 2, 2) pyplot.grid() pyplot.title("Perfil de velocidades")
from fatiando.seismic import profile from fatiando.inversion import linear from fatiando import vis, utils, ui import cPickle as pickle params = __import__('exercicio3_entrada') with open(params.dados) as f: zp, tts, thickness, velocity = pickle.load(f) mu = params.suavidade area = (0, 10000, 0, 600) vmin, vmax, zmin, zmax = area thick = float(sum(thickness))/float(params.camadas) model = params.camadas*[thick] solver = linear.overdet(len(model)) p, residuals = profile.invert_vertical(tts, zp, model, solver, smooth=mu) pyplot.figure(figsize=(12,5)) pyplot.subplot(1, 2, 1) pyplot.grid() pyplot.title("Perfilagem sismica vertical") pyplot.plot(tts, zp, 'ok', label='Observado') pyplot.plot(tts - residuals, zp, '-r', label='Predito') leg = pyplot.legend(loc='lower left', numpoints=1) leg.get_frame().set_alpha(0.5) pyplot.xlabel("Tempo de chegada (s)") pyplot.ylabel("Profundidade (m)") pyplot.ylim(sum(thickness), 0) pyplot.subplot(1, 2, 2) pyplot.grid() pyplot.title("Perfil de velocidades")
import cPickle as pickle params = __import__('exercicio4_entrada') with open(params.dados) as f: zp, tts, thickness, velocity = pickle.load(f) mu = params.variacao_total beta = params.beta area = (0, 10000, 0, 600) vmin, vmax, zmin, zmax = area thick = float(sum(thickness)) / float(params.camadas) model = params.camadas * [thick] solver = gradient.levmarq(initial=0.000001 * numpy.ones(len(model))) p, residuals = profile.invert_vertical(tts, zp, model, solver, sharp=mu, beta=beta) pyplot.figure(figsize=(12, 5)) pyplot.subplot(1, 2, 1) pyplot.grid() pyplot.title("Perfilagem sismica vertical") pyplot.plot(tts, zp, 'ok', label='Observado') pyplot.plot(tts - residuals, zp, '-r', label='Predito') leg = pyplot.legend(loc='lower left', numpoints=1) leg.get_frame().set_alpha(0.5) pyplot.xlabel("Tempo de chegada (s)") pyplot.ylabel("Profundidade (m)") pyplot.ylim(sum(thickness), 0) pyplot.subplot(1, 2, 2)
from fatiando.inversion import gradient from fatiando import vis, utils, ui import cPickle as pickle params = __import__('exercicio4_entrada') with open(params.dados) as f: zp, tts, thickness, velocity = pickle.load(f) mu = params.variacao_total beta = params.beta area = (0, 10000, 0, 600) vmin, vmax, zmin, zmax = area thick = float(sum(thickness))/float(params.camadas) model = params.camadas*[thick] solver = gradient.levmarq(initial=0.000001*numpy.ones(len(model))) p, residuals = profile.invert_vertical(tts, zp, model, solver, sharp=mu, beta=beta) pyplot.figure(figsize=(12,5)) pyplot.subplot(1, 2, 1) pyplot.grid() pyplot.title("Perfilagem sismica vertical") pyplot.plot(tts, zp, 'ok', label='Observado') pyplot.plot(tts - residuals, zp, '-r', label='Predito') leg = pyplot.legend(loc='lower left', numpoints=1) leg.get_frame().set_alpha(0.5) pyplot.xlabel("Tempo de chegada (s)") pyplot.ylabel("Profundidade (m)") pyplot.ylim(sum(thickness), 0) pyplot.subplot(1, 2, 2) pyplot.grid() pyplot.title("Perfil de velocidades")
thickness, velocity = ui.picker.draw_layers(area, figure.gca()) zp = numpy.arange(zmin + 1, zmax, 1) tts, error = utils.contaminate(profile.vertical(thickness, velocity, zp), params.ruido, percent=True, return_stddev=True) pyplot.figure(figsize=(6, 5)) pyplot.title("Dados observados") pyplot.plot(tts, zp, '.k') pyplot.xlabel("Tempo de chegada (s)") pyplot.ylabel("Profundidade (m)") pyplot.ylim(sum(thickness), 0) pyplot.show() solver = linear.overdet(len(thickness)) p, residuals = profile.invert_vertical(tts, zp, thickness, solver) pyplot.figure(figsize=(12,5)) pyplot.subplot(1, 2, 1) pyplot.grid() pyplot.title("Perfilagem sismica vertical") pyplot.plot(tts, zp, 'ok', label='Observado') pyplot.plot(tts - residuals, zp, '-r', label='Predito') leg = pyplot.legend(loc='lower left', numpoints=1) leg.get_frame().set_alpha(0.5) pyplot.xlabel("Tempo de chegada (s)") pyplot.ylabel("Profundidade (m)") pyplot.ylim(sum(thickness), 0) pyplot.subplot(1, 2, 2) pyplot.grid() pyplot.title("Perfil de velocidades")
zp = numpy.arange(zmin + 1, zmax, 1) tts, error = utils.contaminate(profile.vertical(thickness, velocity, zp), params.ruido, percent=True, return_stddev=True) pyplot.figure(figsize=(6, 5)) pyplot.title("Dados observados") pyplot.plot(tts, zp, '.k') pyplot.xlabel("Tempo de chegada (s)") pyplot.ylabel("Profundidade (m)") pyplot.ylim(sum(thickness), 0) pyplot.show() solver = linear.overdet(len(thickness)) p, residuals = profile.invert_vertical(tts, zp, thickness, solver) pyplot.figure(figsize=(12, 5)) pyplot.subplot(1, 2, 1) pyplot.grid() pyplot.title("Perfilagem sismica vertical") pyplot.plot(tts, zp, 'ok', label='Observado') pyplot.plot(tts - residuals, zp, '-r', label='Predito') leg = pyplot.legend(loc='lower left', numpoints=1) leg.get_frame().set_alpha(0.5) pyplot.xlabel("Tempo de chegada (s)") pyplot.ylabel("Profundidade (m)") pyplot.ylim(sum(thickness), 0) pyplot.subplot(1, 2, 2) pyplot.grid() pyplot.title("Perfil de velocidades")