← 返回 Skills 市场
zhonghao1995

Swmm Plot

作者 Zhonghao Zhang · GitHub ↗ · v0.7.3 · MIT-0
cross-platform ✓ 安全检测通过
38
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install swmm-plot
功能描述
Publication-grade plotting for SWMM rainfall–runoff time-series figures. Use when an agent needs to produce a paired rainfall (top, inverted) + node flow (bo...
使用说明 (SKILL.md)

SWMM Plot (publication spec)

Part of Agentic SWMM — install the project first for the executable toolchain (aiswmm CLI, SWMM solver, MCP servers).

Before calling plot — ask the user

When the user asks to plot, always ask these questions first before calling any plot tool:

  1. Which entity? A specific node (junction / outfall) — by name — or a specific link (conduit) — by name?
    • List 3–5 high-peak-flow candidates from the run's RPT Link Flow Summary so the user can pick.
  2. Which attribute? Node options: Total_inflow, Depth_above_invert, Volume_stored_ponded, Flow_lost_flooding. Link options: Flow_rate, Velocity, Depth.
  3. Time window? Default is the full simulation (24h). Offer to limit to a focus day or HH:MM-HH:MM window if peaks occur in a short period.

Do NOT silently pick defaults. The user needs control — different plots answer different questions (peak inspection vs continuity vs flooding).

What this skill provides

  • A plotting script that reads:
    • rainfall TIMESERIES from a SWMM .inp (one named series at a time);
    • flow series from a SWMM .out binary (via swmmtoolbox).
  • Renders a paired rainfall + node-flow figure with a fixed publication style:
    • SI units (rain in mm per timestep or mm/h depending on rainKind);
    • rainfall on the top axis, inverted (depth grows downward);
    • flow on the bottom axis;
    • inward ticks, Arial, no auto title;
    • optional focusDay to crop to a single day; optional windowStart/windowEnd (HH:MM, only together with focusDay) for a sub-day window.

When to use this skill

Use after swmm-runner.swmm_run has produced both .inp and .out, and you want a single rainfall-vs-flow figure for one node (typically the model's outfall or the assigned upstream junction of a subcatchment of interest).

Do not use this skill for multi-node ensemble plots, exceedance curves, or sensitivity scans — those would belong to swmm-uncertainty / swmm-calibration (no plot tools there yet).

MCP tools

This skill backs three LLM-facing tools. plot_rain_runoff_si is routed through the MCP server; inspect_plot_options and map_run are direct Python handlers in the tool registry (agentic_swmm/agent/tool_handlers/swmm_plot.py and swmm_map.py).

  1. inspect_plot_options — inspect a run directory (or an explicit .inp / .out path) and return the available rainfall series names, node IDs, and node output attributes. Call this before plot_run so you can pass real names instead of placeholders. Required args: run_dir (or inp_path + out_file). Read-only; auto-approved under the QUICK permission profile.

  2. map_run — render the spatial network layout (subcatchments + conduits + outfalls) as a PNG. Reads the INP from the run directory automatically; pass inp to override. Required arg: run_dir. Optional: out_png, dpi, no_subcatchments, no_vertices.

  3. plot_run (proxies to plot_rain_runoff_si on the MCP server) — create a paired rainfall + node-flow figure from a run directory. Required arg: run_dir. Supply either node or link (mutually exclusive) to select the lower panel. Optional: rain_ts, rain_kind, node_attr, out_png. Day-window cropping: pass focus_day (YYYY-MM-DD) to crop the axis to one calendar day; pass window_start and window_end (both HH:MM) to further narrow to a sub-day window — both require focus_day (the server rejects window_start/window_end without focus_day).

mcp/swmm-plot/server.js exposes one underlying tool:

  1. plot_rain_runoff_si — low-level render call used by plot_run. Prefer plot_run (which accepts run_dir) over calling this directly.
    • Args:
      • inp (required): path to the SWMM .inp (the rainfall TIMESERIES is read from here).
      • out (required): path to the SWMM .out binary.
      • outPng (required): where to write the PNG.
      • rainTs (no usable default — the schema ships the self-documenting placeholder \x3Crainfall-series-name>, which fails at render time if not replaced; always supply the actual series name from the .inp [TIMESERIES] section via inspect_plot_options): name of the rainfall TIMESERIES inside the .inp.
      • rainKind (default "depth_mm_per_dt"): one of intensity_mm_per_hr, depth_mm_per_dt, cumulative_depth_mm.
      • dtMin (default 5): timestep of the rainfall series in minutes.
      • node (no usable default — the schema ships the self-documenting placeholder \x3Coutfall-or-junction>, which fails at render time if not replaced; always supply a real outfall or junction name via inspect_plot_options): node ID to plot from the .out.
      • nodeAttr (default "Total_inflow"): which swmmtoolbox attribute (e.g. Total_inflow, Lateral_inflow, Flow_lost_flooding).
      • dpi (default 300).
      • focusDay (optional, YYYY-MM-DD): crop axis to a single day plus padding.
      • windowStart / windowEnd (optional, HH:MM; only valid together with focusDay): sub-day time window within the focus day. Rejected with a clear error if used without focusDay.
      • padHours (default 2).

Recommended orchestration

inspect_plot_options  →  list available series + node names
swmm-runner.run_swmm_inp  →  model.inp + model.out
plot_run              →  outfall_flow.png  (or junction_flow.png)

Call inspect_plot_options first to get the real rainfall series name and outfall node name, then pass those to plot_run. If multiple nodes need to be plotted, call plot_run once per node with a different out_png path.

Conventions

  • Strict publication style: do not write a title in the plot; titles belong to the surrounding document.
  • SI units only.
  • Rainfall axis is always inverted; depth grows downward so it doesn't overlap the flow series visually.

Known limitations

  • Only one rainfall series is plotted at a time (rainTs is a single name); multi-gauge inputs need separate figures.
安全使用建议
Before installing, note that this skill is useful only with the Agentic SWMM/SWMM plotting toolchain and will read local model/run files you point it at. Review output paths when invoking it, since the scripts create parent directories and write PNG files at the requested location.
能力标签
crypto
能力评估
Purpose & Capability
The artifacts match the stated purpose: plotting rainfall-runoff time series and SWMM network layouts from .inp, .out, and optional geoparquet run artifacts.
Instruction Scope
Runtime instructions emphasize user selection of entities, attributes, and time windows before plotting, and the scripts fail clearly on placeholder defaults instead of silently choosing targets.
Install Mechanism
The skill points users to install the broader Agentic SWMM project for the executable toolchain, but the included artifact itself contains only the skill documentation and two plotting scripts.
Credentials
File reads are limited to user-supplied SWMM model/output/geoparquet files, and writes are limited to user-specified PNG output paths and parent directory creation for those outputs.
Persistence & Privilege
No credential use, background execution, privilege escalation, autorun persistence, destructive file operations, or network activity was found in the artifacts.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install swmm-plot
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /swmm-plot 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.7.3
Add project link back to the Agentic SWMM repository (install the project for the executable toolchain).
v0.7.2
Initial ClawHub release, aligned with agentic-swmm-workflow v0.7.2.
元数据
Slug swmm-plot
版本 0.7.3
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Swmm Plot 是什么?

Publication-grade plotting for SWMM rainfall–runoff time-series figures. Use when an agent needs to produce a paired rainfall (top, inverted) + node flow (bo... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 38 次。

如何安装 Swmm Plot?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install swmm-plot」即可一键安装,无需额外配置。

Swmm Plot 是免费的吗?

是的,Swmm Plot 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Swmm Plot 支持哪些平台?

Swmm Plot 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Swmm Plot?

由 Zhonghao Zhang(@zhonghao1995)开发并维护,当前版本 v0.7.3。

💬 留言讨论