← Back to Skills Marketplace
zhonghao1995

Swmm Params

by Zhonghao Zhang · GitHub ↗ · v0.7.3 · MIT-0
cross-platform ✓ Security Clean
38
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install swmm-params
Description
Deterministic mapping from land use and soil texture to SWMM runoff/subarea and Green-Ampt infiltration parameters. Use when generating first-pass subcatchme...
README (SKILL.md)

SWMM Params (MVP mapping layer)

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

What this skill provides

  • Transparent CSV-to-JSON mapping for:
    • land use class -> SWMM [SUBCATCHMENTS] + [SUBAREAS] defaults
    • soil texture/type -> SWMM [INFILTRATION] (Green-Ampt) defaults
  • Deterministic, auditable outputs with explicit fallback usage and unmatched-key reporting.
  • Optional merge step that emits one builder-ready JSON artifact.

Scripts

  • scripts/landuse_to_swmm_params.py
    • maps subcatchment_id + landuse_class to runoff/subarea parameters
  • scripts/soil_to_greenampt.py
    • maps subcatchment_id + soil_texture to Green-Ampt infiltration parameters
  • scripts/merge_swmm_params.py
    • merges outputs from the two mapping scripts into one JSON package for future swmm-builder

Default lookup tables

By default, scripts read bundled lookup CSVs:

  • skills/swmm-params/references/landuse_class_to_subcatch_params.csv
  • skills/swmm-params/references/soil_texture_to_greenampt.csv

You can override lookup paths with CLI flags.

Minimal input format

Land use input CSV:

  • required columns: subcatchment_id, landuse_class

Soil input CSV:

  • required columns: subcatchment_id, soil_texture

Example files are provided under examples/.

Outputs

Each mapper writes explicit JSON containing:

  • records (row-level audit trail)
  • sections (SWMM-oriented lists keyed by subcatchment)
  • unmatched_* lists (rows that used fallback)
  • counts summary

The merge script writes:

  • sections (subcatchments, subareas, infiltration)
  • by_subcatchment (combined record per subcatchment ID)
  • incomplete_ids (IDs missing one or more sections)

CLI flags

All three scripts share these optional flags:

  • --strict — fail instead of using the DEFAULT fallback row when an input key is missing from the lookup table. Useful for auditable production runs where silent fallback would mask a data gap.

landuse_to_swmm_params.py also accepts:

  • --subcatchment-column \x3Ccol> — override the CSV column used as the subcatchment ID (default: subcatchment_id).
  • --landuse-column \x3Ccol> — override the CSV column used as the land use class (default: landuse_class).

soil_to_greenampt.py also accepts:

  • --subcatchment-column \x3Ccol> — override the CSV column used as the subcatchment ID (default: subcatchment_id).
  • --soil-column \x3Ccol> — override the CSV column used as the soil texture/type (default: soil_texture).

MCP

MCP wrapper location:

  • mcp/swmm-params/server.js

Exposed tools:

  • map_landuse (inputCsvPath, optional lookupCsvPath, outputPath)
  • map_soil (inputCsvPath, optional lookupCsvPath, outputPath)
  • merge_params (landuseJsonPath, soilJsonPath, outputPath)

Quick start:

npm --prefix mcp/swmm-params install
npm --prefix mcp/swmm-params run start

MVP limitations

  • Lookup mapping is key-based only (no spatial interpolation or fuzzy matching).
  • A fallback row is expected in lookup tables (DEFAULT for land use, - or DEFAULT for soil).
  • No unit conversion or calibration logic is included here.
  • This skill only maps parameters; it does not write a full SWMM .inp.

Example commands

python3 skills/swmm-params/scripts/landuse_to_swmm_params.py \
  --input skills/swmm-params/examples/landuse_input.csv \
  --output runs/swmm-params/example_landuse.json
python3 skills/swmm-params/scripts/soil_to_greenampt.py \
  --input skills/swmm-params/examples/soil_input.csv \
  --output runs/swmm-params/example_soil.json
python3 skills/swmm-params/scripts/merge_swmm_params.py \
  --landuse-json runs/swmm-params/example_landuse.json \
  --soil-json runs/swmm-params/example_soil.json \
  --output runs/swmm-params/example_builder_params.json
Usage Guidance
Before installing, note that the scripts can write to output paths you provide and will process local modeling CSVs. Review generated SWMM parameters before using them for engineering decisions, especially because the skill documents fallback defaults and no calibration logic.
Capability Assessment
Purpose & Capability
The stated purpose is deterministic mapping from land-use and soil-texture CSV data into SWMM runoff/subarea and Green-Ampt infiltration parameters, and the included Python scripts and lookup tables directly support that purpose.
Instruction Scope
Instructions are scoped to local CSV processing, optional strict validation, and explicit example commands. I did not find prompt-injection text, hidden role changes, credential requests, or unrelated agent behavior.
Install Mechanism
The artifact includes executable Python scripts and user-directed example commands. It also references an external Agentic SWMM project and MCP quick-start commands, but there is no automatic installer or hidden package execution in this artifact.
Credentials
The scripts use standard-library CSV/JSON/path handling, read user-specified input and lookup files, and write output JSON paths chosen by the user. No network access, credential use, or broad local indexing was found.
Persistence & Privilege
No persistence, background service, privilege escalation, destructive file operations, or credential/session handling was found. File writes are limited to explicit output files requested by the user.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install swmm-params
  3. After installation, invoke the skill by name or use /swmm-params
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
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.
Metadata
Slug swmm-params
Version 0.7.3
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Swmm Params?

Deterministic mapping from land use and soil texture to SWMM runoff/subarea and Green-Ampt infiltration parameters. Use when generating first-pass subcatchme... It is an AI Agent Skill for Claude Code / OpenClaw, with 38 downloads so far.

How do I install Swmm Params?

Run "/install swmm-params" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Swmm Params free?

Yes, Swmm Params is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Swmm Params support?

Swmm Params is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Swmm Params?

It is built and maintained by Zhonghao Zhang (@zhonghao1995); the current version is v0.7.3.

💬 Comments