Agent Catalogue#
The pyCSAMT agent catalogue is the navigation map for the AI-assisted
workflow layer. It lists the public classes exported by pycsamt.agents,
groups them by the role they play in a survey workflow, and points to the
detail page where each agent is documented.
Use this page when you need to answer one of these questions:
Which agent should I start with?
Which agents can operate before inversion?
Which agents write files for Occam2D, ModEM, or MARE2DEM?
Which agents belong to the AI/model-zoo layer?
Which agents produce reports, maps, scripts, or EDI exports?
The catalogue intentionally separates agent classes from support
interfaces. Modules such as web.py, __main__.py, and _pricing.py
support agent usage, but they are not listed as workflow agents because they
do not define an executable BaseAgent subclass.
How to read the catalogue#
Most users should think in terms of a workflow lifecycle:
request or config
-> load survey
-> QC and correction
-> tensor / tipper / strike diagnostics
-> denoise / decimate / rotate if needed
-> forward model or inversion preparation
-> evaluate, interpret, export, report
The agent groups follow that lifecycle. Each group page contains deeper examples and agent-specific input/output notes.
Catalogue groups#
Group |
Use it for |
Detail page |
|---|---|---|
Foundation and survey intake |
The execution contract, LLM-aware base class, result object, natural language request parsing, data loading, and explicit workflow chaining. |
|
Processing and diagnostics |
Data QC, static-shift correction, tensor diagnostics, strike analysis, tipper products, tensor rotation, frequency decimation, and denoising. |
|
Forward and inversion workflows |
Synthetic forward modelling, inversion preparation, Occam2D, ModEM, MARE2DEM, backend execution, result evaluation, and model comparison. |
|
AI and model-zoo agents |
Neural 1-D, 2-D, and 3-D inversion, ensemble uncertainty, joint inversion, anomaly detection, and checkpoint discovery. |
|
Orchestration, pipeline, and outputs |
Natural-language workflow routing, pyCSAMT pipeline execution, batch processing, interpretation, maps, sensitivity, EDI export, reports, and reproducible scripts. |
Choosing the right entry point#
Need |
Start with |
Continue with |
|---|---|---|
A user writes a natural-language request. |
||
You already know the data path. |
||
You want a reproducible fixed chain. |
Any ordered set of processing, inversion, and output agents |
|
You want the request to choose the workflow. |
The orchestrator builds and runs the matching chain |
|
You want pyCSAMT pipeline presets. |
||
You need inversion-ready files. |
||
You need AI inversion. |
||
You need deliverables. |
Foundation and survey intake#
These components are the first layer of the agent system. They define how agents are built, how results are returned, and how a survey enters the workflow.
Component |
Main responsibility |
Typical input |
Detail |
|---|---|---|---|
Shared execution base for LLM access, provider/model resolution, cost tracking, JSON extraction, plotting helpers, and validation helpers. |
Subclass code |
||
Standard return object with |
Agent output |
||
Convert natural-language requests into structured workflow configuration. Falls back to deterministic parsing when no LLM is configured. |
|
||
Load EDI, AVG, J, path lists, existing |
|
||
Chain explicit agent steps with input mapping, dry-run previews, checkpoints, and cost aggregation. |
Step graph |
Processing and diagnostics#
Processing agents operate after loading and before inversion, interpretation, or reporting. They are useful in notebooks, desktop/web tools, batch pipelines, and orchestrated workflows.
Agent |
Main responsibility |
Typical output |
Detail |
|---|---|---|---|
Assess station coverage, dead bands, outliers, frequency gaps, and survey quality indicators. |
QC table, figures |
||
Detect and correct near-surface static-shift effects using supported correction strategies. |
Corrected sites |
||
Produce phase-tensor, skew, strike, dimensionality, Mohr, and Argand diagnostics. |
Diagnostic figures |
||
Rotate impedance tensors to a target angle or strike reference while preserving survey metadata. |
Rotated sites |
||
Analyze tipper amplitude, phase, real/imaginary induction arrows, and spatial induction-vector products. |
Tipper summaries |
||
Select stable, inversion-ready periods from dense, irregular, or noisy frequency sampling. |
Selected periods |
||
Apply robust and AI-assisted denoising before diagnostics, inversion, or AI training. |
Denoised sites |
Forward and inversion workflows#
These agents connect processed survey data to modelling and inversion workflows. Use the general agent when you want backend-agnostic behavior, and the specialized agents when you already know the inversion code.
Agent |
Main responsibility |
Typical output |
Detail |
|---|---|---|---|
Run 1-D, 2-D, or 3-D forward modelling from resistivity models for synthetic checks and sensitivity experiments. |
Forward response |
||
Prepare inversion-ready files through a backend-agnostic interface. |
Input directory |
||
Write Occam2D data, mesh, model, startup, and run-control files. |
Occam2D project |
||
Prepare ModEM 3-D impedance data files and related model inputs. |
ModEM project |
||
Prepare, run, or inspect MARE2DEM 2.5-D EM inversion projects, including data, resistivity, settings, and optional MPI execution. |
MARE2DEM project |
||
Drive pyCSAMT inversion backends from an agent workflow rather than only writing external-code input files. |
Backend result |
||
Load inversion outputs and compute RMS, residuals, misfit sections, and quality summaries. |
Evaluation report |
||
Compare inversion sections, parameter sweeps, before/after corrections, or outputs from different backends. |
Comparison figures |
AI and model-zoo agents#
AI agents are useful when a trained model or model-zoo checkpoint is available, when rapid approximate inversion is acceptable, or when anomaly/uncertainty screening should complement deterministic processing.
Agent |
Main responsibility |
Typical output |
Detail |
|---|---|---|---|
Run end-to-end 1-D neural inversion from observed survey data. |
1-D models |
||
Run 2-D profile inversion with U-Net style models and lateral continuity. |
2-D section |
||
Run 3-D spatial inversion using graph-based neural models and inter-station message passing. |
3-D volume |
||
Estimate uncertainty by combining multiple model predictions or ensemble members. |
Uncertainty bands |
||
Run multi-modal inversion across MT, TEM, CSAMT, gravity, or paired datasets when available. |
Joint model |
||
Flag anomalous station-frequency samples, unusual profiles, or survey regions needing manual review. |
Anomaly table |
||
List, download, inspect, and use pre-trained EM inversion checkpoints. |
Checkpoint path |
Orchestration, pipeline, and outputs#
These agents sit above individual processing steps. They route workflows, execute batches, bridge the pyCSAMT pipeline system, and create deliverables.
Agent |
Main responsibility |
Typical output |
Detail |
|---|---|---|---|
Classify a natural-language request, choose a workflow type, assemble a chain, and run or preview it. |
Workflow result |
||
Recommend or run pyCSAMT pipeline presets and step lists from an agent workflow. |
Pipeline result |
||
Apply the same workflow to multiple lines, folders, or profiles with a consistent output structure. |
Batch manifest |
||
Convert resistivity, inversion, and diagnostic products into geological or hydrogeological interpretation. |
Interpretation text |
||
Generate horizontal depth-slice maps from inversion or resistivity products. |
Map figures |
||
Estimate depth of investigation, vertical resolution, and constrained model regions. |
Sensitivity section |
||
Export corrected, rotated, filtered, or recomputed survey objects back to standard EDI files. |
EDI files |
||
Assemble figures, tables, warnings, and interpretation into Markdown, HTML, or PDF reports. |
Report files |
||
Generate a standalone Python script from workflow configuration and outputs so interactive work can be reproduced. |
Python script |
Typical chains#
Quality-control chain#
MTLoaderAgent
-> DataQCAgent
-> PhaseAnalysisAgent
-> ReportAgent
Correction and inversion-preparation chain#
MTLoaderAgent
-> DataQCAgent
-> StaticShiftAgent
-> TensorRotationAgent
-> FrequencyDecimationAgent
-> Occam2DAgent or ModEmAgent or Mare2DEMAgent
AI inversion chain#
MTLoaderAgent
-> DataQCAgent
-> DenoisingAgent
-> AIInversionAgent or Inv2DAgent or Inv3DAgent
-> EnsembleAgent
-> InterpretationAgent
-> ReportAgent
Batch workflow chain#
ContextInputAgent
-> WorkflowOrchestratorAgent
-> BatchSurveyAgent
-> ReportAgent
-> CodeGenerationAgent
Minimal examples#
Load and QC a survey:
1from pycsamt.agents import MTLoaderAgent, DataQCAgent
2
3loaded = MTLoaderAgent().execute({"path": "data/edis"})
4qc = DataQCAgent().execute({"sites": loaded["sites"]})
5
6print(qc.status)
7print(qc.summary)
Prepare an Occam2D project from processed sites:
1from pycsamt.agents import Occam2DAgent
2
3occam = Occam2DAgent().execute({
4 "sites": processed_sites,
5 "output_dir": "outputs/occam2d",
6 "run_external": False,
7})
8
9print(occam["output_dir"])
Run a dry-run orchestrated workflow:
1from pycsamt.agents import WorkflowOrchestratorAgent
2
3plan = WorkflowOrchestratorAgent().execute({
4 "request": "Load data/edis, run QC, correct static shift, and report",
5 "dry_run": True,
6})
7
8print(plan["workflow_type"])
9print(plan["steps"])
Support interfaces#
The following modules support the agent system but are not workflow agents:
pycsamt.agents._pricingCost estimation helpers used by
pycsamt.agents.AGENT_CONFIGandBaseAgent.pycsamt.agents.webOptional Gradio interface for interactive agent usage.
pycsamt.agents.__main__Command-line entry point for lightweight agent demonstrations and utility commands.
pycsamt.api.agentsThe global provider, key, model, pricing, and budget configuration layer. See Agent And LLM Configuration.