CRHM

Configures, runs, and validates CRHM cold-regions hydrological simulations from HRU setup to discharge scoring.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Running the CRHM cold-regions hydrological model correctly requires deep operational knowledge: HRU delineation, .obs/.prj file formats, module-chain selection, unit conversions, and silent failure modes that produce plausible-looking but wrong results. This Skill packages that expertise so an AI agent can build, execute, validate, and calibrate real CRHM simulations without substituting approximations. ## Core Features & Use Cases - Six-stage pipeline: HRU basin setup from DEM/land cover, forcing conversion to .obs format, landscape-aware module-chain selection, .prj generation with physically derived parameters, execution with output parsing/plotting, and VIC coupling. - Silent-error defense: 34 diagnostic triplets map symptoms to remedies for known traps such as specific-humidity-vs-RH misinterpretation, silent parameter clamping, and Shared-vs-module parameter scoping. - Calibration contract: A pinned, fail-closed calibration runner (calib_run.py) scores basinflow_s against HYDAT observations with NSE/KGE/PBIAS over a 26-parameter literature-cited pool. - Use Case: Simulate discharge for a mountain basin by converting NASA POWER forcing to .obs, auto-detecting the mountain module chain, deriving parameters from HWSD soil data, running the CRHM binary, and validating NSE against a HYDAT gauge. ## Quick Start Ask the agent to run the preflight check and then execute the CRHM quick-start pipeline for your basin, from HRU creation through validation and plotting.

Frequently Asked Questions about CRHM

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

FAQPage Schema
How do I run a CRHM hydrological simulation for my basin?▼

Follow the six-stage pipeline: create HRUs from a DEM and land cover, convert forcing to .obs format, select a module chain by landscape type, generate and validate the .prj file, then run the CRHM binary and parse outputs. Always run preflight_check.py first to verify the binary and data.

How do I convert VIC forcing data to CRHM .obs format?▼

Use tools/s2_observation_data/convert_vic_to_obs.py, which handles the critical specific-humidity-to-relative-humidity conversion via the Tetens formula plus precipitation rate scaling. Then validate the result with validate_obs_file.py before running the model.

Why does my CRHM run complete but produce wrong snow or discharge results?▼

CRHM has silent failure modes: humidity passed as kg/kg instead of percent zeroes sublimation, and parameters outside declared ranges are clamped without warning. Check diagnostics/triplets.yaml for the matching symptom and verify max(RH) exceeds 1.0 in your .obs file.

Which CRHM module chain should I use for a mountain basin?▼

Use the mountain chain including Slope_Qsi for slope radiation correction, walmsley_wind for topographic wind amplification, pbsm, ebsm, crack, evap, Soil, and Netroute. The select_modules.py tool auto-detects basin type from the HRU config when relief exceeds 500 m.

Can CRHM output be coupled with VIC model results?▼

Yes, stage s6 merges CRHM and VIC outputs using merge_crhm_vic.py, but you must define a process ownership table first. Both models compute snowmelt, ET, and soil moisture, so double-counting processes produces water balance errors over 100%.

What are the limitations of CRHM for hydrological modelling?▼

CRHM is HRU-based rather than grid-distributed, does not perform flood inundation modelling, and has no built-in automatic calibration. Decadal runs also carry a roughly 4-5% un-closable water-balance residual from Netroute lag-storage states that lack output variables.