lzwei196/kiss-knowledge-infrastructure-for-scientific-simulation/pysteps
Claude Code and agent skill by lzwei196/kiss-knowledge-infrastructure-for-scientific-simulation
- community
- ext:[{"type":"config","description":"Configuration overrides"}]
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install lzwei196/kiss-knowledge-infrastructure-for-scientific-simulation/pystepsSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
MANDATORY EXECUTION POLICY — READ BEFORE PROCEEDINGYou MUST run the actual model binary or package described in this document.If the model fails to import, compile, or execute, you MUST:1. Checkdiagnostics/triplets.yamlfor a matching error pattern2. Try the fix suggested in the triplet'sremedysection3. If still failing, report the error to the user with full detailsYou MUST NOT substitute a simplified Python formula, regression equation,or hand-coded approximation in place of the real model. Doing so producesscientifically invalid results and defeats the purpose of the KI.Before starting, run:python preflight_check.py(in this KI directory)to verify that the model binary/package and required data are available.DEBUGGING PROTOCOL — When something goes wrong (model crashes, wrong output,unexpected values), follow this order. Do NOT skip steps or write debug scripts:1. Check triplets —diagnostics/triplets.yamlmay already cover this error2. Read official docs — Check the model's own documentation (PDF manual, README,official examples) for expected input formats, variable names, and units3. Find working examples — Look inoutputs/for previous successful runs ofthis model, or check if the model ships with test/example data4. Fix the tool — Now that you know what "correct" looks like, make targeted fixesResist the urge to write diagnostic/debug Python scripts. The answers are almostalways in the official docs and working examples, not in reverse-engineering the binary.
<!-- KI-MAP:BEGIN (projected by generate_skill_map.py — edit the KI, not this table) -->
KI map — what to read, and when
| when you need | read | why | |
|---|---|---|---|
| FIRST, always | preflight_check.py | run it (python preflight_check.py): proves env/binary/data are usable and emits a machine-readable PREFLIGHT_REPORT= line. Do not debug a run that never had a healthy environment. | |
| to run the pipeline stages | tools/ (5 tools) | the executable pipeline. Read each tool's argparse (--help) before composing a command; SKILL.md's stage table says which tool serves which stage. | |
| before running a stage | docs/s*_*.md (5 stage docs) | per-stage procedure, verification and traps — the how-to that SKILL.md's overview compresses. | |
| on ANY error, before debugging | diagnostics/triplets.yaml (20 entries) | symptom → diagnosis → remedy for this model's known failure modes. Check here FIRST; the answer usually exists. Never renumber or rewrite entries. | |
| to know what an output IS | dag.yaml | the model's identity: every output's medium, units, validation_rank (1 = the headline variable) and observability. Scoring and obs-binding read THIS — when asked 'what does this model predict', the dag is the answer, not a guess. | |
| when building inputs / parsing outputs | docs/format_spec.yaml | exact I/O shapes + known_issues, projected from dag + triplets. Regenerate with ki_tools_common/generate_format_spec.py after changing either — never hand-edit. | |
| to judge a run's skill | docs/validation_convention.yaml | how this model's field judges it validated: per-dag_variable metrics, directions and CITED pass-bands. A run is graded against these, not against intuition. | |
| for claims and thresholds | docs/gathered_papers.json (16 papers) + docs/papers_index.md | the literature this KI is judged by; each entry's text_path is fetched full text in the central paper cache. role: benchmark marks the model's own skill paper. | |
| for a machine-readable summary | knowledge_infrastructure.yaml | the manifest (package, pipeline, validation tier, counts) — projected by ki_tools_common/generate_ki_manifest.py; regenerate after structural changes, never hand-edit. |
Projected 2026-08-17 from the KI's actual contents — 9 components present. Refresh: `python3 ki_tools_common/generate_skill_map.py --ki_dir <this KI>`. <!-- KI-MAP:END -->
<!-- KI-TOOL-INDEX:BEGIN (projected by generate_skill_map.py — the discoverability contract: every public tool, exact path; PURPOSE stays human-authored elsewhere) -->
Executable tool index (projected — complete by construction)
Every public tool in this KI, by exact path. What each is FOR lives in the human-written Tool Inventory above; --help on any of these prints its arguments.
| tool (exact path) | invocation | |
|---|---|---|
tools/s1_data_import/import_radar_data.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/s1_data_import/import_radar_data.py --help | |
tools/s2_motion_estimation/estimate_motion.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/s2_motion_estimation/estimate_motion.py --help | |
tools/s3_nowcast/run_nowcast.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/s3_nowcast/run_nowcast.py --help | |
tools/s4_verification/verify_nowcast.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/s4_verification/verify_nowcast.py --help | |
tools/s5_postprocess/export_nowcast.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/s5_postprocess/export_nowcast.py --help |
5 public tools; `_`-prefixed helpers and packaging files excluded. <!-- KI-TOOL-INDEX:END -->
model: pySTEPS version: 1.20.0 domain: precipitation_nowcasting not_a_hydrological_model: true
pySTEPS -- Knowledge Infrastructure
Version: 1.20.0Domain: precipitation_nowcastingLast updated: 2026-08-18Validation status: binary_only
1. Model Identity
| Property | Value | |
|---|---|---|
| Full name | pySTEPS | |
| Version | 1.20.0 | |
| Language | Python | |
| License | See the installed pySTEPS package metadata | |
| Repository | See the installed pySTEPS package metadata | |
| Citation | See docs/gathered_papers.json and docs/papers_index.md | |
| Primary domain | precipitation_nowcasting | |
| Spatial mode | Distributed gridded radar precipitation fields | |
| Install path | KISSPATH_HOME/.local/lib/python3.12/site-packages/pysteps/ | |
| Config file | pystepsrc in the install directory |
pySTEPS is a Python library, not a standalone binary. The package version is 1.20.0 via importlib.metadata; the module itself has no __version__ attribute.
It is NOT a hydrological model and cannot be validated directly against hydrocraft.db station discharge or water-quality observations.
2. What This Model Does
pySTEPS performs deterministic and probabilistic precipitation nowcasting from radar QPE sequences. It estimates atmospheric precipitation advection with optical-flow methods and advects observed precipitation intensity fields forward on the same radar grid.
This KI treats pySTEPS as a physics/signal-processing library. The validated path exercises the real pySTEPS code paths for Proesmans motion estimation, extrapolation nowcast, and det_cat_fct/fss verification.
3. Input Requirements
Exact shapes live in docs/format_spec.yaml, projected from dag.yaml and diagnostics/triplets.yaml. Regenerate that file after changing either source; do not hand-edit it.
3.1 Radar Precipitation Sequence
| Variable | Unit model expects | Source dataset | Source unit | Conversion | |
|---|---|---|---|---|---|
| Precipitation intensity | mm/h | Radar QPE sequence | mm/h or radar-native unit | Keep mm/h when already converted; convert radar reflectivity before nowcasting | |
| Radar reflectivity | dBZ | Radar product | dBZ | Convert to mm/h with the Marshall-Palmer relation before nowcasting | |
| Log rainfall rate | dBR | Derived from precipitation intensity | mm/h | Apply pySTEPS log transform when a method requires log-domain rainfall |
Input is a sequence of 2-D precipitation intensity fields on a uniform radar grid, typically 3-4 past frames at 5-15 min cadence. Supported importers include BoM RF3, DWD HDF5, FMI PGM, KNMI HDF5, MCH GIF, OPERA HDF5, and SAF NetCDF.
3.2 Static Inputs
| Input | Source | Tool that prepares it | |
|---|---|---|---|
| Radar grid metadata | Radar importer metadata | tools/ import and postprocess stages | |
| Domain mask / NaN handling | Radar product metadata and stage docs | docs/s1_data_import.md |
3.3 Configuration Files
| File | Format | Notes | |
|---|---|---|---|
pystepsrc | pySTEPS configuration file | Lives in the pySTEPS install directory | |
docs/format_spec.yaml | YAML | Exact I/O contract projected from the KI |
4. Build Instructions
pySTEPS is used as the installed Python package in this environment. Before any run, verify the package, data expectations, and KI structure:
Known build issues must be handled through diagnostics/triplets.yaml first, then the official pySTEPS docs and working examples.
5. Execution
The synthetic runner writes diagnostics/last_run.json with per-lead CSI/POD/FAR/FSS scores plus timing. A tester_result.json is also written to the KI root for the orchestrator.
Expected runtime is the local runtime of the synthetic analytical test on a 200x200 grid with 4 past frames and 5 lead times.
6. Output Description
This section restates dag.yaml. If this section and dag.yaml disagree, dag.yaml wins.
Headline output (the dag's validation_rank: 1 variable -- the one this model is judged by):
motion_field-- Estimated 2-D atmospheric radar precipitation advection velocity field (2, ny, nx) from the optical-flow stage on the radar precipitation frame sequence; an intermediate product also returnable on its own. (pixels/timestep)
Output variable (dag var) | Rank | Unit | Description | |
|---|---|---|---|---|
motion_field | 1 | pixels/timestep | Estimated 2-D atmospheric radar precipitation advection velocity field (2, ny, nx) from the optical-flow stage on the radar precipitation frame sequence; an intermediate product also returnable on its own. | |
precipitation_intensity | dag output | See dag.yaml | Listed by the dag as an output variable. | |
exceedance_probability | dag output | See dag.yaml | Listed by the dag as an output variable. |
7. Tool Inventory
| Tool | Purpose | Inputs | Outputs | |
|---|---|---|---|---|
preflight_check.py | Verify environment, package, and required KI data | KI directory | Machine-readable PREFLIGHT_REPORT= line | |
diagnostics/run_synthetic_advection.py | Run the synthetic analytical validation path | Synthetic advected precipitation sequence | diagnostics/last_run.json, tester_result.json, stdout JSON | |
tools/ | Executable pipeline stages | Radar frames, metadata, stage arguments | Model-ready inputs, motion fields, nowcasts, verification outputs |
Stage Docs
docs/s1_data_import.md- import radar frames, metadata, units, and NaN handling.docs/s2_motion_estimation.md- estimate pySTEPS optical-flow motion fields.docs/s3_nowcast.md- run extrapolation, STEPS, or ANVIL nowcasts.docs/s4_verification.md- score forecasts against held-out radar frames.docs/s5_postprocess.md- export nowcasts to NetCDF, GeoTIFF, or CSV.
Before composing a command, read each tool's argparse help and the corresponding stage doc.
8. Unit Conversion Table
pySTEPS operates on 2-D precipitation fields. This table documents the units and conversions encountered in this KI pipeline.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingmodels/pySTEPS/SKILL.md
Popularity
- Repository stars
- 138
- Repository forks
- 1
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Extension points
configConfiguration overrides
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/lzwei196/kiss-knowledge-infrastructure-for-scientific-simulation/pysteps)