{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 4 - Sísmica de refração\n", "\n", "Na aula anterior ([3. Refração crítica](3-refracao-critica.ipynb)), vimos o que acontece quando uma onda P incide sobre uma interface no ângulo crítico. A onda que refrata a 90° possui algumas características diferentes das ondas refletida e direta. A sísmica de refração é um método que utiliza essa características para estimar a profundidade da interface e as velocidades dos meios.\n", "\n", "Utilizaremos as simulações de ondas da biblioteca [Fatiando a Terra](http://www.fatiando.org). Essas simulações utilizam o [método de diferenças finitas](http://en.wikipedia.org/wiki/Finite_difference_method) para calcular soluções da equação da onda." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Objetivos\n", "\n", "* Visualizar como seria um dado sísmico de refração (simulado).\n", "* Observar os diversos caminhos que a onda faz para chegar nos receptores e como essas chegadas aparecem nos dados.\n", "* Aprender como usar as medições de primeira chegada para calcular a profundidade da interface e as velocidades." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Questão para entregar\n", "\n", "
\n", "Explique como funciona a sísmica de refração.\n", "

\n", "Sua resposta deve conter no mínimo:\n", "

\n", "\n", "
\n", "\n", "### Regras para a resposta\n", "\n", "* Coloque **nome, data e o número da prática** em sua resposta. \n", "* A resposta pode ter no **máximo 1 página** (não uma folha).\n", "* **Execute o notebook** antes de responder. As simulações abaixo foram feitas para te ajudar.\n", "* **Pense e organize** sua resposta andtes de começar a escrever." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Instruções\n", "\n", "Esse documento é um [Jupyter notebook](http://jupyter.org/), um documento interativo que mistura texto (como esse), código (como abaixo), e o resultado de executar o código (números, texto, figuras, videos, etc).\n", "\n", "O notebook te fornecerá exemplos interativos que trabalham os temas abordados no questionário. Utilize esses exemplos para responder as perguntas.\n", "\n", "As células com números ao lado, como `In [1]:`, são código [Python](http://python.org/). Algumas dessas células não produzem resultado e servem de preparação para os exemplos interativos. Outras, produzem gráficos interativos. **Você deve executar todas as células, uma de cada vez**, mesmo as que não produzem gráficos.\n", "\n", "**Para executar uma célula**, clique em cima dela e aperte `Shift + Enter`. O foco (contorno verde ou cinza em torno da célula) deverá passar para a célula abaixo. Para rodá-la, aperte `Shift + Enter` novamente e assim por diante. Você pode executar células de texto que não acontecerá nada." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup\n", "\n", "Rode as células abaixo para carregar os módulos necessários para essa prática." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/leo/miniconda3/envs/geofisica2/lib/python2.7/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n", " from ._conv import register_converters as _register_converters\n" ] } ], "source": [ "%matplotlib inline\n", "from __future__ import division, print_function\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from matplotlib.animation import FuncAnimation\n", "import ipywidgets as ipw\n", "from fatiando.seismic import RickerWavelet, FDAcoustic2D\n", "from fatiando.vis import anim_to_html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Geração de dados sintéticos\n", "\n", "Vamos utilizar as simulações de onda P para gerar dados sintéticos. Dessa vez também vamos ignorar as ondas S para não complicar a vida mais do que o necessário. \n", "\n", "O nosso modelo será uma interface plana separando a crosta do manto (a **Moho**)." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "shape = (300, 1000)\n", "spacing = 400\n", "extent = [0, shape[1]*spacing, shape[0]*spacing, 0]\n", "density = np.zeros(shape, dtype='float32') + 2700\n", "velocity = np.zeros(shape, dtype='float32') + 6000\n", "interface = 100\n", "density[interface:,:] = 3200\n", "velocity[interface:,:] = 8000" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A fonte será uma explosão na superfície com as seguintes coordenadas:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Coordenadas da fonte:\n", " x = 40000 m\n", " z = 0 m\n" ] } ], "source": [ "fonte = (0, 100)\n", "print('Coordenadas da fonte:')\n", "print(' x = {} m'.format(fonte[1]*spacing))\n", "print(' z = {} m'.format(fonte[0]*spacing))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Agora vamos criar o nosso simulador de ondas P com uma fonte explosiva na superfície do nosso modelo." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "simul = FDAcoustic2D(velocity, density, spacing=spacing, taper=0.003, padding=80)\n", "simul.add_point_source(fonte, RickerWavelet(1, 4))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[##################################################] | 100% Completed | 1min 56.5s\n" ] } ], "source": [ "simul.run(3000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Rode a célula abaixo para gerar a animação." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " " ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "simul.animate(every=30, embed=True, dpi=60, cutoff=500, fps=6, cmap='Greys')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Agora vamos fazer a aquisição dos dados usando receptores nas posições mostradas abaixo. Cada receptor irá medir a movimentação do chão ao longo do tempo.\n", "\n", "* Os triângulo azuis são os receptores.\n", "* A estrela amarela é a fonte." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "receptores = np.arange(fonte[1] + 50, shape[1], 10, dtype='int')" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(12, 4))\n", "ax = plt.subplot(111)\n", "ax.axison = False\n", "ax.imshow(simul[1000], extent=extent, cmap='Greys', vmin=-500, vmax=500)\n", "ax.plot(fonte[1]*spacing, 0, '*y', markersize=15)\n", "ax.plot(receptores*spacing, np.zeros_like(receptores), 'vb', markersize=10)\n", "ax.hlines(interface*spacing, 0, shape[1]*spacing)\n", "ax.set_xlim(0, shape[1]*spacing)\n", "ax.set_ylim(shape[0]*spacing, -10*spacing)\n", "ax.set_ylabel('Profundidade (m)')\n", "ax.set_xlabel(u'Distância (m)')\n", "plt.tight_layout(pad=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cada receptor irá medir a movimentação do solo. Podemos plotar essa movimentação como função do tempo para cada receptor. Se colocarmos o gráfico de cada receptor um ao lado do outro, formamos uma imagem. A cor branca significa movimentação para baixo e a cor preta movimentação para cima." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A figura interativa abaixo permite que você controle os coeficientes linear e angular de uma reta." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "6a4de03fbc2d4981a61089e3606ceb9b", "version_major": 2, "version_minor": 0 }, "text/html": [ "

Failed to display Jupyter Widget of type interactive.

\n", "

\n", " If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n", " that the widgets JavaScript is still loading. If this message persists, it\n", " likely means that the widgets JavaScript library is either not installed or\n", " not enabled. See the Jupyter\n", " Widgets Documentation for setup instructions.\n", "

\n", "

\n", " If you're reading this message in another frontend (for example, a static\n", " rendering on GitHub or NBViewer),\n", " it may mean that your frontend doesn't currently support widgets.\n", "

\n" ], "text/plain": [ "interactive(children=(FloatSlider(value=5.0, description=u'coef. linear (s)', max=54.5945945945946, step=0.5), FloatSlider(value=0.0001, description=u'coef. angular (s/m)', max=0.0005, min=-0.0005, readout_format=u'.6f', step=1e-05), Output()), _dom_classes=('widget-interact',))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dados = simul[:, 0, receptores]\n", "times = np.linspace(0, simul.dt*simul.simsize, simul.simsize)\n", "\n", "def reta(linear, angular):\n", " x = receptores*spacing\n", " y_reta = linear + angular*x\n", " plt.figure(figsize=(12, 8))\n", " ax = plt.subplot(111)\n", " ax.pcolormesh(x, times, dados, cmap='Greys', vmin=-50, vmax=50)\n", " ax.plot(x, y_reta, '-b', linewidth=2)\n", " ax.set_xlim(x.min(), x.max())\n", " ax.set_ylim(0, times.max())\n", " ax.set_ylabel('tempo (s)')\n", " ax.set_xlabel(u'Distância (m)')\n", "\n", "ipw.interactive(reta, \n", " linear=ipw.FloatSlider(min=0, max=times.max(), step=0.5, value=5, description='coef. linear (s)'),\n", " angular=ipw.FloatSlider(min=-0.0005, max=0.0005, step=0.00001, value=0.0001,\n", " readout_format='.6f', description='coef. angular (s/m)'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Para pensar\n", "\n", "* Como aparecem nos dados as ondas direta e refratada no ângulo crítico?\n", "* Tente encontrar o ponto onde a refrata ultrapassa a direta.\n", "* Você pode usar a reta azul para achar os coeficientes angular (em s/m) e linear (em s) de eventos no dado.\n", "* Tente usar os valores obtidos com a reta azul para calcular V1 (de cima), V2 (de baixo) e a profundidade da interface (Moho)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## License and information\n", "\n", "**Course website**: https://github.com/leouieda/geofisica2\n", "\n", "**Note**: This notebook is part of the course \"Geofísica 2\" of Geology program of the \n", "[Universidade do Estado do Rio de Janeiro](http://www.uerj.br/). \n", "All content can be freely used and adapted under the terms of the \n", "[Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/).\n", "\n", "![Creative Commons License](https://i.creativecommons.org/l/by/4.0/88x31.png)" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.14" }, "widgets": { "state": { "07bb18f03c5a41dc9ed6a81d8c71cf5d": { "views": [ { "cell_index": 20 } ] } }, "version": "1.2.0" } }, "nbformat": 4, "nbformat_minor": 1 }