← ClaudeAtlas

swmm-climatelisted

Deterministic rainfall/climate formatting for SWMM. Use when converting timestamped rainfall CSV files into SWMM-ready [TIMESERIES] lines and [RAINGAGES] helper snippets for swmm-builder.
Zhonghao1995/agentic-swmm-workflow · ★ 8 · AI & Automation · score 71
Install: claude install-skill Zhonghao1995/agentic-swmm-workflow
# SWMM Climate (MVP rainfall layer) ## What this skill provides - Deterministic conversion from simple rainfall CSV to: - SWMM `[TIMESERIES]` text lines - structured JSON manifest for audit/provenance - Deterministic helper generation for SWMM `[RAINGAGES]` section. - MCP wrapper for agentic use. ## Input CSV contract `format_rainfall.py` expects a header row and at minimum: - `timestamp`: date-time string, default format `%Y-%m-%d %H:%M` - `rainfall_mm_per_hr`: rainfall intensity in mm/hr Optional extensions: - `station_id` (or another column via `--station-column`) to carry multiple stations in one file. - Batch mode by repeating `--input` and/or using `--input-glob`. - Event window slicing via `--window-start` and `--window-end` (inclusive). Accepted rainfall units (`--value-units`): - `mm_per_hr` (aliases: `mm/hr`, `mm/h`) - `in_per_hr` (aliases: `in/hr`, `in/h`) Unit policy (`--unit-policy`): - `strict`: only `mm_per_hr` accepted. - `convert_to_mm_per_hr`: supported units are converted to `mm_per_hr`. ## SWMM `.dat` input contract For SWMM-native rainfall `.dat` files (e.g. `<series> YYYY M D HH MM value`), use `--input-dat <path>` and declare row units via `--dat-value-units`: - `mm_per_hr`, `in_per_hr` (intensities) - `mm_per_day`, `in_per_day` (24h volumes; divided by 24 to mm/hr) In `.dat` mode the `--window-start` / `--window-end` filters expect `%Y-%m-%d`. Use `--default-station-id` to override the series token taken from the .dat row. `--input-dat` may