mizuRoute

Route gridded runoff through vector river networks to compute reach-scale streamflow with mizuRoute.

155|6|Updated Mar 31, 2026
One-click install
npx skills add https://github.com/lzwei196/KISS-Knowledge-Infrastructure-for-Scientific-Simulation --skill mizuroute-lzwei196
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mizuRoute
Source: https://github.com/lzwei196/KISS-Knowledge-Infrastructure-for-Scientific-Simulation/tree/main/models/mizuRoute
Command: npx skills add https://github.com/lzwei196/KISS-Knowledge-Infrastructure-for-Scientific-Simulation --skill mizuroute-lzwei196

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires netCDF4, numpy, geopandas, shapely, rasterio, scipy, whitebox, and includes scripts (resource) and references (resource) components.

What problem does it solve? Running the mizuRoute river routing model correctly requires operational expertise scattered across Fortran source code, documentation, and specialist practice: building vector network topology from DEMs, converting VIC or WRF-Hydro runoff from mm/timestep to mm/s, generating control files with exact variable-name mappings, and diagnosing silent failures that produce plausible-looking but wrong discharge. This Skill packages that expertise so an agent can run, check, and extend reach-based routing workflows reliably. ## Core Features & Use Cases - Seven-stage validated pipeline: Build river network topology from DEM via WhiteboxTools, create grid-to-HRU remap weights, convert VIC runoff to mizuRoute NetCDF, generate control files, execute the model with preflight checks, and extract discharge with NSE/KGE/RMSE metrics. - Five routing methods plus lakes: Select among IRF, KWT, KWE, Muskingum-Cunge, and diffusive wave routing, with optional lake/reservoir schemes (level-pool, Hanasaki, HYPE), and compare all methods on the same basin. - Diagnostic recovery: 18+ diagnostic triplets map symptoms to root causes and remedies, covering the top silent errors such as mm/timestep vs mm/s unit mismatches, CRS misalignment in remap weights, and Fortran path truncation. - Use Case: Route VIC runoff for the Bengbu basin (2000-2005) through a 224-segment network with IRF routing, achieving mass-conserving discharge (1795 m3/s) correlated at r=0.87 against Lohmann routing results. ## Quick Start Ask the agent to run the mizuRoute pipeline for your basin by providing a basin shapefile, DEM, and VIC runoff output directory, starting with the preflight check and then building the network topology.

Frequently Asked Questions about mizuRoute

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I route VIC runoff through a river network with mizuRoute?

Build network topology from a DEM with build_network_topology.py, create grid-to-HRU remap weights, convert VIC flux output to mm/s NetCDF with convert_vic_runoff.py, generate a control file, then run run_mizuroute.py and extract discharge with metrics.

mizuRoute vs Lohmann vs CaMa-Flood: which routing model should I use?

Use Lohmann for simple default grid routing, CaMa-Flood for floodplain inundation mapping, and mizuRoute for vector reach networks needing five selectable routing methods, lake/reservoir routing, or method intercomparison on the same basin.

Why is my mizuRoute discharge 8x or 86400x too high or too low?

VIC reports runoff in mm per timestep while mizuRoute expects a rate in mm/s. Divide daily output by 86400 or 3-hourly output by 10800. Check that max(RUNOFF) in the runoff NetCDF is below 0.01 mm/s for most basins.

Can mizuRoute run without MPI for serial execution?

Yes, a serial build uses stub modules for MPI, PIO, and GPTL via the provided build_serial.sh script. The stubs required bug fixes for double-precision buffer copies and pio_setframe frame indexing, both documented in the diagnostic triplets.

What are the limitations of mizuRoute routing?

mizuRoute does not generate runoff, resolve full Saint-Venant momentum, or model floodplain inundation. KWE and DW methods are conditionally stable and impractical on steep basins without very small timesteps; use IRF or KWT there.

Why does my mizuRoute run produce near-zero discharge despite valid runoff?

A CRS mismatch between the runoff grid and HRU polygons yields zero overlap in remap weights, so no runoff reaches the HRUs. Verify coordinate reference systems align before computing area-weighted intersections.