PRMS

Runs PRMS v5.1.0 watershed simulations through a validated five-tool Python pipeline.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires numpy, pandas, xarray, matplotlib, pyyaml, and includes scripts (resource) and references (resource) components.

What problem does it solve? Running the USGS PRMS hydrologic model requires manual preparation of control, parameter, and data files in US customary units, and silent unit or format errors corrupt results without warning. This Skill replaces that manual workflow with validated tools, staged protocols, and diagnostic recovery so an agent can execute real PRMS runs on any basin. ## Core Features & Use Cases - Automated input preparation: Converts CMFD/ERA5/MSWX forcing and HWSD/SOILGRIDS soil data into PRMS data, CBH, and parameter files with all metric-to-US-customary unit conversions handled. - End-to-end pipeline: Five tools cover forcing conversion, parameter generation, control file assembly, binary execution with preflight validation, and output parsing with NSE/KGE/PBIAS metrics. - Failure recovery: 18 diagnostic triplets map known symptoms (unit traps, file format errors, runtime failures) to validated remedies. - Use Case: Ask the agent to simulate daily streamflow for a snowmelt-dominated basin from 1980-2010 using CMFD forcing; it prepares inputs, runs the actual PRMS binary, and reports calibrated NSE against cited validation bands. ## Quick Start Run the PRMS pipeline to simulate daily streamflow for my basin using CMFD forcing from 1980 to 2010 and report the NSE against observed discharge.

Frequently Asked Questions about PRMS

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

FAQPage Schema
How do I run the PRMS hydrologic model on a new basin?

Run preflight_check.py first to verify the binary and environment, then follow the staged pipeline: convert forcing, generate parameters, build the control file, execute run_prms, and parse outputs. Each stage has a dedicated document under docs/ with procedures and traps.

How to convert CMFD or ERA5 forcing data for PRMS input?

Use tools/convert_forcing_to_prms.py with --input_format cmfd, era5, or mswx. It converts Celsius to Fahrenheit, mm to inches, and W/m2 to Langleys, writing either a station data file or per-HRU CBH files for the climate_hru module.

What units does PRMS expect for temperature and precipitation?

PRMS internally uses US customary units: Fahrenheit for temperature, inches/day for precipitation, acres for HRU area, and cfs for streamflow. Feeding metric values directly causes silent failures such as 25.4x excess precipitation or broken rain/snow partitioning.

Why does PRMS fail silently with wrong results?

Common causes are unconverted metric inputs, a space after the -C control-file flag, data file columns not matching header order, or dimensions missing from the parameter file. Check diagnostics/triplets.yaml, which maps 18 known symptoms to validated remedies.

Can PRMS simulate groundwater flow in three dimensions?

No. PRMS uses a conceptual linear-reservoir groundwater store, not physically-based 3-D saturated flow. For that capability, PRMS must be coupled with MODFLOW under GSFLOW, which is outside this Skill's scope.