In [ ]:
from geoscilabs.em.MarineCSEM1D import show_canonical_model, FieldsApp, DataApp
from IPython.display import YouTubeVideo

Marine CSEM apps

This notebook is designed to understand fundamentals of marine controlled-source electromagnetics (CSEM). Backend engine is built upon, 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).

Canonical model

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:

  • air: perfect insulater ($\rho_0)$~1e8 $\Omega$m)
  • seawater: conductor ($\rho_1)$~0.3 $\Omega$m)
  • sea sediment (upper): conductor ($\rho_2)$~1 $\Omega$m)
  • reservoir: resistor ($\rho_3)$~100 $\Omega$m))
  • sea sediment (lower): conductor ($\rho_4)$~1 $\Omega$m)

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.

In [ ]:

Electric field propagation in time

In [ ]:
YouTubeVideo("p2fjg5pcEQM", width=560, height=315)

Poyting vector propagation in time

In [ ]:
YouTubeVideo("Nj8pqakoe8g", width=600, height=400)

Fields app

In [ ]:

Data app

In [ ]:
In [ ]: