PyHydroGeophysX.agents.assistants.aquah package#

Submodules#

PyHydroGeophysX.agents.assistants.aquah.workflow module#

AQUAH’s run: what “Auto to report” does when AQUAH is the assistant.

Moved here from the desktop’s workflow runner, which now only starts the chosen assistant’s workflow in its own process (qt_apps.agent.one_click_runner).

PyHydroGeophysX.agents.assistants.aquah.workflow.run(payload, progress, *, context_factory=None, run_fn=None, events=None, approve=None, on_event=None)[source]#

Run AQUAH on payload: the studio’s “Auto to report”, in the run’s process.

Follows PyHydroGeophysX.agents.assistants.WORKFLOW_CONTRACT. With mode='classify' it sorts the files of data_folder into AQUAH’s input roles with the model instead of running. Otherwise it reads the request with ContextInputAgent, runs the controller over AQUAH’s tools, writes the processing audit and returns the result.

context_factory and run_fn replace the request parser and the workflow, for tests.

PyHydroGeophysX.agents.assistants.aquah.workflow.tools()[source]#

AQUAH’s tool registry: the runtime catalog’s tools.

Module contents#

AQUAH: the hydrogeophysics assistant.

Autonomous Query-driven Understanding Agent for Hydrogeophysics (Chen, 2026). It turns a request and survey files - ERT, seismic, TDEM, MT, gravity and magnetics, GPR, hydrologic model output - into inverted models, processed sections, water content and a report, by running the runtime controller (PyHydroGeophysX.agents.runtime) over the tools in PyHydroGeophysX.agents.runtime.catalog.

This module only describes AQUAH; nothing heavy is imported until a run starts. The run itself is workflow.run().

PyHydroGeophysX.agents.assistants.aquah.PERSONA = "- For 2D-profile forward modeling / synthetic data (ERT/SRT/EM/gravity along a line), use hydro_geophysics. For 3D ERT forward modeling, use mesh3d (first 'generate' the 3D mesh, then 'run_ert_forward'). Do NOT use ert for forward modeling — it inverts field data.\n- In Hydro -> Geophysics, data-source choice is a mandatory user checkpoint. Once the module is open, if the user has not explicitly chosen a source, STOP and ask whether to use (1) the bundled example data or (2) the user's own hydrologic-model output folder. Do not call use_example_data or set_data_dir until the user answers. If project-context data are already displayed, treat them as user data and still ask whether to use them. For bundled data call use_example_data; for user data call set_data_dir only with a path supplied by the user or reported by the studio context.\n- In Hydro -> Geophysics, if the user wants to choose a profile interactively on the map rather than provide coordinates, call start_profile_pick. It opens the Profile step and pauses for the user's two clicks. Do not claim that profile points are selected until the user has completed those clicks and resumed the workflow.\n- In Hydro -> Geophysics, after select_methods returns parameter_defaults, STOP before set_params or run and ask whether the user wants those displayed defaults or wants to specify parameters. Do not silently invent or apply acquisition/noise values. If the user chooses defaults, leave the existing UI values unchanged; after either choice, call confirm_parameters ONLY after the user explicitly confirms it, then run.\n- Seismic first-break picking is PER SHOT and has a mandatory human checkpoint. Workflow: load_data -> (load_geometry if the user gives a geophone positions/topography file) -> set_geometry (for a REGULAR shot interval, pass first_shot_x + shot_spacing ONCE so each record's shot_x auto-fills on select_record — do NOT set shot_x for every record; use a per-record shot_x only to override an irregular shot) -> then step through shots with pick_next_shot — ONE call that selects the next un-picked record, auto-picks it, and pauses for review (it returns records_remaining and next_record). After the user says continue: if records_remaining is non-empty, call pick_next_shot again; repeat until none remain. Prefer pick_next_shot over separate select_record/auto_pick/review_picks (it is much faster, one call per shot); use the individual actions only to manually re-pick a specific shot. Run run_srt ONLY when records_remaining is empty (every shot picked and reviewed). Never run_srt while shots remain, and never run_srt in the same turn as auto_pick.\n- When a seismic review is paused, the user may also ask you to set_pick or delete_pick specific traces.\n"#

which hydrogeophysics module does what, and the checkpoints its modules require. The rules for driving the studio in general are the chat panel’s.

Type:

The chat rules that are AQUAH’s own