swmm-paramslisted
Install: claude install-skill Zhonghao1995/agentic-swmm-workflow
# SWMM Params (MVP mapping layer)
## 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` (`subcatc