4.1. Overview#

4.1.1. When To Use The Web App#

The pyCSAMT web application is the browser surface for the same scientific core used by the Python API and the desktop GUI. It is most useful when the work needs to stay interactive but should not depend on every reviewer having a local Python session open. Use it when you need to:

  • run the full CSAMT/AMT/MT workflow from a browser, without a local Python environment on every workstation;

  • share a running instance on an internal server so several people can review the same survey;

  • demonstrate loading, quality control, correction, modelling, and interpretation to a team or class;

  • combine interactive Plotly maps and sections with Matplotlib figure outputs on one screen;

  • drive the pyCSAMT agents, including LLM provider-backed assistants, processing agents, and inversion agents, from a chat or a runnable agent list.

The web app is not a second implementation of the geophysics. Its Dash callbacks call the same controllers and pyCSAMT objects used by the desktop application, so the numerical meaning of a station, a response curve, a correction, or an export is unchanged. What changes is the working surface: the browser keeps the active survey in one shared application state while each page reads from that state and writes explicit derived products.

pyCSAMT web application home dashboard with command bar, navigation rail, station list, and survey summaries

A loaded survey on the Home dashboard. The command bar controls survey-wide actions, the navigation rail moves between workflow pages, and the body summarises station coverage before deeper QC, correction, modelling, or interpretation.#

For scripted or batch work, use the Python API, where every option can be kept in source-controlled code or configuration. For local, single-user interactive review with native windows, use the desktop GUI. For a dedicated conversational surface, use Agent Master.

4.1.2. Run The Web App#

pycsamt-web

The launcher starts a local Dash server and opens the app in your default browser. It prefers http://127.0.0.1:8050 and automatically chooses another free port if that one is busy. Keeping the printed URL with the terminal log is enough to reproduce how the session was launched: it records the host, the port actually selected, and whether the server was started in development mode.

From a source checkout, the module entry point launches the same app:

python -m pycsamt.app.web

Common launch options:

pycsamt-web --no-browser        # start the server without opening a browser
pycsamt-web --port 8060         # prefer a specific port
pycsamt-web --port 0            # always ask the OS for a free port
pycsamt-web --host 0.0.0.0      # allow access from other machines on the LAN
pycsamt-web --debug             # enable Dash dev tools and callback debugging

See Installation And Launch for the full option list and Deployment Notes for host, port, and network guidance. Use --host 127.0.0.1 for a private local review, --host 0.0.0.0 only when the machine is intentionally serving other users on a trusted network, and --debug only while developing callbacks because Dash debug mode exposes development diagnostics.

4.1.4. Main Concepts#

The web app works as one survey state with several views over it. If \(\mathcal{S}\) is the loaded station set and \(L_{active}\) is the selected line set, most pages operate on the masked survey \(\mathcal{S}_{active}\). That is why changing line activation once can immediately affect the map, profile, QC, correction, and export pages. The same idea applies to corrections: each accepted operation is appended to the correction chain, and the app previews derived responses while preserving the original survey as the reproducible input.

Concept

Meaning In The Web App

Active survey

The loaded survey shared by every page: station list, maps, QC, corrections, modelling, and agents all read the same data.

Survey lines

Named subgroups of stations, usually one folder per line. Lines can be toggled Active so a page acts only on the lines you select.

Command bar

The persistent top bar: page indicator, Tools, Settings, Help, and the survey actions Load Data, +Lines, Recompute, Lines, Session, and Theme.

Navigation rail

The collapsible left sidebar that routes between pages; it can be collapsed to icons to widen the plotting area.

Correction chain

A non-destructive stack of correction steps, previewed before Apply, with per-step Undo and full Reset All.

Browser session

Auto-saved state kept in the browser, such as theme, API key, and last view, plus a downloadable session JSON for sharing across machines.

Exported product

A figure, corrected EDI, inversion product, or session file meant to be reused outside the current browser state.

Read the exported files with that state model in mind. A map image is not only a picture; it is a rendering of a selected survey state. A corrected EDI folder is not raw data; it is the result of applying a documented correction chain to an active set of stations. This is why the application keeps line selection, session JSON, figure exports, and result folders close to the same workflow: together they make the interactive review auditable after the browser tab is gone.

4.1.5. Screenshots#

Screenshots are embedded inside the pages where they explain a real action or decision, not collected in a separate gallery. Launch and welcome screens are in Installation And Launch; the command bar, rail, and drawers are in Navigation And Layout; loading and line management are in Loading Data And Sessions; maps and profiles are in Maps And Profiles; and the processing, modelling, results, and agent surfaces are in Processing Pages.