18.1. Overview#

18.1.1. Jump To A Task#

If you already know the data-loading API, use the table below to jump to the task you need.

Tutorial

Use It When

Main Outputs

Read an EDI Survey

You need to load one EDI file, a line directory, or a recursive survey tree and inspect what pyCSAMT found.

APISurvey, station inventory, parser diagnostics, a quick phase-tensor fingerprint cross-check.

Inspect and QC a Survey

You want to review station coverage, usable frequencies, skew proxies, signal quality, and stations that need manual attention.

QC tables, confidence tables, review CSV files, diagnostic plots.

Compare Survey Lines for QC

You need to decide whether two line surveys can start from the same first-pass QC and processing configuration.

Line-comparison tables, frequency overlap, confidence distributions, processing decision table.

Correct Static Shift

You have inspected the survey and want a conservative static-shift correction workflow – on AMT, MT, or CSAMT data – before inversion preparation, including recognizing when correction should be rejected or is a no-op.

Static-shift factors, corrected site collection, corrected EDIs, period-labeled static-shift radar plots.

Condition an MT Line With Tipper and Rotation

You have MT data with tipper and full impedance tensors and need a transparent conditioning workflow before inversion.

Raw tensor/tipper plots, bad-frequency screen, filters, static shift, strike rose, phase tensor grid, rotated tensors.

Prepare an Occam2D Inversion

You have cleaned and reviewed a line survey and want to prepare a 2-D Occam2D inversion workspace.

Occam2D data, model, startup, and run-directory files.

Process Zonge AVG Lines K1 and K2

You have Zonge AVG plus station files and need a coordinate-safe path through EDI, CSAMT-specific QC, Occam2D, and AI inversion.

K1/K2 EDIs, midpoint-corrected coordinates, processing decisions, and reproducible classical/AI run recipes.

AI Inversion From Corrected EDIs

You have corrected EDIs and want to use AI inversion instead of, or alongside, classical inversion, and want to know whether to trust the result before you do.

Survey audit (dimensionality, strike, duplicate stations), a site-grounded geological prior, 2-D and 3-D AI inversion with real topography draping, and an out-of-distribution screen.

Building a Defensible 3-D AI Inversion Problem

You want to construct a genuine 3-D geology/topography hypothesis and Maxwell mesh, and determine whether the available backend may invert it.

Reproducible 3-D prior slices, padded terrain-aware Maxwell mesh, and an explicit backend acceptance gate; no unsupported inversion block.

Map Porphyry Mineralization From Noisy AMT

You have a genuinely noisy, infrastructure-affected AMT survey and need the full correction-to-inversion chain, on two lines at once, for a real Cu-Mo porphyry exploration target.

Correction diagnostics and parameter report, rotated/unrotated corrected EDIs, Occam2D and ModEM inputs, 2-D/3-D AI inversion with raw-versus-corrected RMS, topography-draped final sections.

Run a Pipeline From Config

You want a repeatable processing workflow stored in YAML, JSON, or Python config files, method-aware presets for MT/AMT/CSAMT/CSUMT, and runnable from Python or the CLI.

Processed EDIs, plots, pipeline.yaml, summary.txt, report.html, optionally dashboard.html.

18.1.3. Before You Start#

The tutorials assume that pyCSAMT is installed and that you have a folder of EDI files. If you are still setting up the environment or learning the data formats, read these pages first:

Most examples use paths such as data/edis and results/first_qc. Replace them with your local project paths.

18.1.4. Workflow Conventions#

The tutorial pages use the same conventions:

survey

Public survey object returned by pycsamt.api.read_edis().

sites

Lower-level site or EDI collection passed into QC, editing, pipeline, and export helpers. In many examples it is obtained from survey.collection.

result

Returned object from an operation, such as a pipeline run or inversion preparation step.

outdir

Root output directory for generated files.

strict=False

Used during first inspection so the reader can continue past recoverable EDI issues.

strict=True or --on-error raise

Used for production validation when the workflow should fail immediately on malformed input or processing errors.

18.1.5. Choosing Python or the CLI#

Use Python when you need to keep objects in memory, combine tables, make custom plots, or integrate pyCSAMT with notebooks and analysis scripts.

Use the CLI when you need quick inspection, reproducible batch processing, or a shell-friendly workflow:

1pycsamt edi info data/edis
2pycsamt edi validate data/edis
3pycsamt pipe init --preset basic_qc --name first_qc
4pycsamt pipe run --config first_qc.yaml --survey data/edis --out results/first_qc

The tutorials usually show both forms when a CLI command exists.