RHESSys

Run and validate RHESSys watershed hydro-ecological simulations with unit-safe forcing conversion and diagnostics.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Running the RHESSys hydro-ecological model requires deep operational knowledge: strict unit conventions (m/day precipitation, not mm/day), whitespace-sensitive worldfiles, multi-century carbon spin-up, and dozens of silent failure modes. This Skill packages that expertise so an agent can build inputs, execute the real rhessys7.4 binary, parse outputs, and recover from known failures without substituting approximations. ## Core Features & Use Cases - End-to-end pipeline tools: Seven Python tools cover forcing conversion, soil parameter generation, rain-duration and Kdown splitting, carbon pool initialization, model execution, and output parsing to CSV. - Diagnostic recovery: 24 symptom-diagnosis-remedy triplets in diagnostics/triplets.yaml map known failure modes (unit traps, segfaults, zero-transpiration bugs) to validated fixes. - Machine-readable model identity: dag.yaml and knowledge_infrastructure.yaml declare inputs, outputs with units and validation ranks, sensitivity edges, and cited validation bars (NSE, PBIAS). - Use Case: Simulate daily streamflow, evapotranspiration, and carbon cycling for a small watershed by converting CMFD forcing to RHESSys ASCII, generating soil .def files from HWSD data, running the compiled binary with routing and BGC flags, and validating streamflow against observed gauge discharge. ## Quick Start Run python preflight_check.py in this directory, then ask the agent to convert your forcing CSV, build soil definitions, and execute a RHESSys run for your watershed and date range.

Frequently Asked Questions about RHESSys

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

FAQPage Schema
How do I run a RHESSys watershed simulation from raw climate data?

Convert daily forcing to RHESSys ASCII files with tools/convert_forcing.py, generate soil definitions with convert_soil_params.py, then execute the binary via tools/run_rhessys.py with a worldfile, header, TEC file, and flow table. Parse results to CSV with tools/parse_output.py.

What units does RHESSys require for precipitation and streamflow?

Precipitation input must be in m/day, not mm/day; mm input inflates all water fluxes 1000x. Streamflow output is m/day depth per unit basin area, converted to m^3/s by multiplying by basin area and dividing by 86400.

Why is my RHESSys streamflow 1000 times too high?

This is diagnostic triplet dt_001: precipitation was supplied in mm/day instead of the required m/day. Divide precipitation values by 1000 before writing the .rain forcing file.

Why does RHESSys produce zero transpiration on rainy or cloudy days?

Three known causes: missing daytime_rain_duration file defaults rain duration to all day (dt_022), a source typo in canopy_stratum_daily_F.c line 1160 (dt_021), or supplying Kdown_direct without Kdown_diffuse (dt_019). Fixes are documented in diagnostics/triplets.yaml.

Does RHESSys need a spin-up period for carbon cycling?

Yes. Carbon and nitrogen pools require 200-500 years of spin-up to reach steady state when running with the -g flag. Use the -vegspinup flag and initialize pools with tools/init_carbon_pools.py to avoid LAI=0 or runaway growth.

Can RHESSys read NetCDF climate forcing directly?

Only if the model is compiled with the -DLIU_NETCDF_READER flag. Without it, RHESSys supports ASCII forcing files only, one file per variable with a date header line.