Skip to content
Back to skills

Mike Rain

ASecurity

Turn a timestamped rainfall CSV (design storm, gauge record, climate-scenario series) into a MIKE+ rainfall .dfs0 via the mike-plus MCP server, verified by read-back, ready to drive a model's rainfall boundary or to sit on top of a hydrograph figure. Use when the user brings rain as CSV or asks to run a model with a different storm. No license required (writing the file); wiring it into the model needs one.

  • 7 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 6, 2026
ai-agentssql

Works with

  • cli
  • mcp

Security analysis

A100/100

Scanned September 6, 2026

npx -y skills add Zhonghao1995/Agentic-MIKE-Plus --skill mike-rain --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Mike Rain?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Mike Rain
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/zhonghao1995-mike-rain/badge)](https://www.skillsdirectory.com/skills/zhonghao1995-mike-rain)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: mike-rain
version: 0.1.0
description: Turn a timestamped rainfall CSV (design storm, gauge record, climate-scenario series) into a MIKE+ rainfall .dfs0 via the mike-plus MCP server, verified by read-back, ready to drive a model's rainfall boundary or to sit on top of a hydrograph figure. Use when the user brings rain as CSV or asks to run a model with a different storm. No license required (writing the file); wiring it into the model needs one.
---

# MIKE+ Rain

MIKE+ rainfall boundaries read a `.dfs0` of **Rainfall Intensity, mm/h,
mean-step-backward**: exactly the shape of DHI's own example rain files
(`Sirius_IDF_1year_rainfall.dfs0`). This skill produces that file from a CSV.

## Tool

- **`mike_rain_to_dfs0`** — `{csv, out_dfs0, time_col?, value_col?, unit?, item_name?}`
  - `unit`: `'mm/h'` (intensity, default) or `'mm'` (depth per step, converted with each step's own duration; the conversion is reported).
  - Returns `{dfs0, item, n_steps, start, end, timestep_s, uniform_step, total_depth_mm, peak_intensity_mm_h, peak_time, conversion}` after reading the file back.

## Conventions

- Time column first, value column second by default; name them if the CSV differs.
- Rejects negative values, non-numeric cells, unsorted duplicates, fewer than two steps: fix the CSV, do not silently clean it.
- Report `total_depth_mm` and `peak_intensity_mm_h`; if `uniform_step` is false say so (MIKE 1D accepts irregular steps, but the user should know).
- The tool never touches the model. To make a MIKE 1D model use the new rain, edit its rainfall boundary with `mike-params` on a COPY. The boundary lives in table **`msm_BBoundary`** (the rainfall row has `TypeNo = 1`; in Sirius_RTC its MUID is `Rainfall`) with columns
  - `TSConnection` = dfs0 path **relative to the model folder** (DHI's example: `Sirius_IDF_1year_rainfall.dfs0`), so write the new file into the model copy folder,
  - `TimeseriesName` = the dfs0 **item name** (must match: pass `item_name` to `mike_rain_to_dfs0`, or set this column to `Rainfall`),
  - `DataTypeName` = `Rainfall Intensity`.
  `mike_get_values {table: msm_BBoundary, columns: [TypeNo, TSConnection, TimeseriesName, DataTypeName]}` first, then `mike_set_values` on that MUID, then run and check `mike_results_summary`.
- The same `.dfs0` is what `mike_plot_rain_flow` / `mike_plot_compare` take as `rain_dfs0`, so use it for the figure of the run it drove.

## Orchestration

```
mike_rain_to_dfs0 {csv, out_dfs0: runs/<case>/00_model/storm.dfs0, item_name: <existing TimeseriesName or 'Rainfall'>}
mike_get_values  {sqlite: <copy>, table: msm_BBoundary, columns: [TypeNo, TSConnection, TimeseriesName]}
mike_set_values  {sqlite: <copy>, table: msm_BBoundary, muids: [<rain row>], values: {TSConnection: storm.dfs0, TimeseriesName: ...}}
mike_run -> mike_results_summary (skip_hours) -> mike_plot_rain_flow {rain_dfs0: storm.dfs0}
mike_manifest_write {inputs: [csv, storm.dfs0], ...}
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.