# !pip install SimPEG
# !pip install empymod
from em_examples.MarineCSEM1D import show_canonical_model, FieldsApp, DataApp
from IPython.display import HTML
from empymod import utils
This notebook is designed to understand fundamentals of marine controlled-source electromagnetics (CSEM). Backend engine is built upon https://github.com/prisae/empymod, and corresponding article can be found in the leading edge:
Werthmüller, D., 2017, Getting started with controlled-source electromagnetic 1D modeling: The Leading Edge, 36, 352-355; doi: 10.1190/tle36040352.1.
Marine controlled-source electromagnetic (CSEM) method is designed to seek for a resistive hydrocarbon embedded in a conductive sea sediment. Usually, marine CSEM survey uses horizontal electric dipole (HED) source, which is towed by a ship, and multiple recievers are depolyed on the ocean bottom. Latest receivers can measure three component of electric and magnetic fields. Most of commercial marine CSEM equipments are frequency domain system (~1Hz), so here we focus on the frequency domain.
Final goal of this Jupyter notebook will be understanding frequency domain marine CSEM response, which is affected by resistivity value and its anisotropic nature of various geologic units (air, seawater, sediment, reservoir) and survey geometry (frequency, source-receiver offset).
We consider a canonical resistivity model, which includes a thin resistive layer (correspond to a reservoir containing signicant amount of hydrocarbon). Five layers having different resistivity values are considered:
Conductive sea sediment can have anisotropy, and often vertical resistivity ($\rho_v$) is greater than horizontal resistivity ($\rho_h$); e.g. $\rho_v/\rho_h \simeq 2$. However, the hydrocarbon reservoir is often assumed to be isotropic.
show_canonical_model()
HTML('<iframe width="560" height="315" src="https://www.youtube.com/embed/p2fjg5pcEQM" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>')
HTML('<iframe width="600" height="400" src="https://www.youtube.com/embed/Nj8pqakoe8g" frameborder="0" allowfullscreen></iframe>')
FieldsApp()
Failed to display Jupyter Widget of type interactive
.
If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean that the widgets JavaScript is still loading. If this message persists, it likely means that the widgets JavaScript library is either not installed or not enabled. See the Jupyter Widgets Documentation for setup instructions.
If you're reading this message in another frontend (for example, a static rendering on GitHub or NBViewer), it may mean that your frontend doesn't currently support widgets.
DataApp()