Skip to main content

A Python open-source toolkit for Controlled Source Audio-frequency Magnetotelluric

Project description

pyCSAMT: A Python open-source toolkit for Controlled Source Audio-frequency Magnetotellurics (CSAMT)

Documentation Status Build Status Requirements Status GitHub GitHub release (latest by date) DOI

For CSAMT standard data processing, modeling and groundwater exploration (GWE) enhancement techniques.

Overview

CSAMT is an enhanced frequency domain of EM program using synchronous stacking and averaging, and Fourier integral methods to improve the signal to noise ratio. Later, CSAMT is well appreciated in geophysical commumity and was used as a suitable exploration method well-established in deep geological structure detection. Today the method is broadly applied in diverse of exploration problems such as mineral, hydrocarbon, groundwater resources, as well as mapping the fault-zones etc.

pycsamt contains basic steps and filters for CSAMT standard data processing and deals with OCCAM2D modeling software. The package also includes a database geological structures and electrical properties of rocks, based on representative chart of Palacky (1988) and the rock and mineral property classification of Slichter and Telkes (1942) to generate a pseudo-stratigraphy log for drilling operations.

The software works in far field and provided several for other external modeling softwares like MTpy, OasisMontaj and GoldenSoftware.

Installation

Use pip for quick installation: $ pip install pycsamt| $ pip install user pycsamt. One can follow the following installation guide.

Quickstart

Apply Adaptative moving-average (AMA) of Torres-Verdin to correct SEG Electrical Data Interchange(EDI) (e.g., Path to EDI-files is data/edi/*.edi) polluted by the static shift effect by ruunning:

$ staticshift data/edi -ft ama --nskin 3 

Build your OCCAM2D input files from EDI using the command lines (CLI) below:

$ occambuildinputs data/edi -mode=6 -niter 112 -cw=7 --nlayers=32 -z=1000 -zb=5000  --ifreq

Use your forward modeling (*.resp) and data (*.data) files to plot misfit2D map with a few step of command:

$ misfit2d data/inversionFiles/K1.dat data/inversionFiles/K1.resp  

The most interesting part is the use of the collection of borehole/wells and geology data combined with the forward modeling to build the stratigraphic model of the exploration to right locate the drilling after survey. This will minimize the rate of uncessufull drilling and better depict the fracture zone known as the target during the GWE. Before, we prepare a modelconfig.json to gather all the informations collected in the exploration area like:

# modelconfig.json
{
  "input_layers": [
    "river water",
    "fracture zone",
    "MWG",
    "LWG",
    "granite",
    "igneous rocks",
    "basement rocks"
  ],
  "input_resistivities": [
    10,
    66,
    70,
    100,
    1000,
    3000
  ],
  "data_fn": "data/occam2D\\OccamDataFile.dat",
  "iter_fn": "data/occam2D\\ITER17.iter",
  "mesh_fn": "data/occam2D\\Occam2DMesh",
  "model_fn": "data/occam2D\\Occam2DModel",
  "ptol": 0.1,
  "beta": 5,
  "n_epochs": 100,
  "build": true
}

Thus, with modelconfig.json we can now build our stratigraphic model via a few step of command below:

$ nm -c modelconfig.json --show

To see the error between the stratigraphic model (model predicted) and the forward modeling (occam2d model), we merly need to add --misfit as an argument to the previous command. Finally to fetch from each station the predicted log (for instance the station S10), we just need to run the command:

$ pseudostratigraphic --station=S10 --zoom=25%

where the zoom parameter indicates the most interesting part of the log. For instance zoom=25% shows the first 1/4 of investigation depth (DOI) i.e. if DOI=1000m, only the 250 m should be displayed.

For a deep implementation, please refer to our wiki page.

Contributing

Anyone who want to enhance the project is welcome and he/she will find more informations on issue template file located in git repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycsamt-1.1.2.tar.gz (3.3 MB view hashes)

Uploaded Source

Built Distribution

pycsamt-1.1.2-py3-none-any.whl (684.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page