lzwei196/kiss-knowledge-infrastructure-for-scientific-simulation/pysteps

Claude Code and agent skill by lzwei196/kiss-knowledge-infrastructure-for-scientific-simulation

Trust tier 2
  • community
  • ext:[{"type":"config","description":"Configuration overrides"}]
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Install

npx vskill@latest install lzwei196/kiss-knowledge-infrastructure-for-scientific-simulation/pysteps

Semi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard

SKILL.md

MANDATORY EXECUTION POLICY — READ BEFORE PROCEEDING
You MUST run the actual model binary or package described in this document.
If the model fails to import, compile, or execute, you MUST:
1. Check diagnostics/triplets.yaml for a matching error pattern
2. Try the fix suggested in the triplet's remedy section
3. If still failing, report the error to the user with full details
You MUST NOT substitute a simplified Python formula, regression equation,
or hand-coded approximation in place of the real model. Doing so produces
scientifically 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.yaml may already cover this error
2. Read official docs — Check the model's own documentation (PDF manual, README,
official examples) for expected input formats, variable names, and units
3. Find working examples — Look in outputs/ for previous successful runs of
this model, or check if the model ships with test/example data
4. Fix the tool — Now that you know what "correct" looks like, make targeted fixes
Resist the urge to write diagnostic/debug Python scripts. The answers are almost
always 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 needreadwhy
FIRST, alwayspreflight_check.pyrun 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 stagestools/ (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 stagedocs/s*_*.md (5 stage docs)per-stage procedure, verification and traps — the how-to that SKILL.md's overview compresses.
on ANY error, before debuggingdiagnostics/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 ISdag.yamlthe 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 outputsdocs/format_spec.yamlexact 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 skilldocs/validation_convention.yamlhow 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 thresholdsdocs/gathered_papers.json (16 papers) + docs/papers_index.mdthe 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 summaryknowledge_infrastructure.yamlthe 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.pyKISSPATH_PYTHON_ENV/bin/python {KI}/tools/s1_data_import/import_radar_data.py --help
tools/s2_motion_estimation/estimate_motion.pyKISSPATH_PYTHON_ENV/bin/python {KI}/tools/s2_motion_estimation/estimate_motion.py --help
tools/s3_nowcast/run_nowcast.pyKISSPATH_PYTHON_ENV/bin/python {KI}/tools/s3_nowcast/run_nowcast.py --help
tools/s4_verification/verify_nowcast.pyKISSPATH_PYTHON_ENV/bin/python {KI}/tools/s4_verification/verify_nowcast.py --help
tools/s5_postprocess/export_nowcast.pyKISSPATH_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.0
Domain: precipitation_nowcasting
Last updated: 2026-08-18
Validation status: binary_only

1. Model Identity

PropertyValue
Full namepySTEPS
Version1.20.0
LanguagePython
LicenseSee the installed pySTEPS package metadata
RepositorySee the installed pySTEPS package metadata
CitationSee docs/gathered_papers.json and docs/papers_index.md
Primary domainprecipitation_nowcasting
Spatial modeDistributed gridded radar precipitation fields
Install pathKISSPATH_HOME/.local/lib/python3.12/site-packages/pysteps/
Config filepystepsrc 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
VariableUnit model expectsSource datasetSource unitConversion
Precipitation intensitymm/hRadar QPE sequencemm/h or radar-native unitKeep mm/h when already converted; convert radar reflectivity before nowcasting
Radar reflectivitydBZRadar productdBZConvert to mm/h with the Marshall-Palmer relation before nowcasting
Log rainfall ratedBRDerived from precipitation intensitymm/hApply 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
InputSourceTool that prepares it
Radar grid metadataRadar importer metadatatools/ import and postprocess stages
Domain mask / NaN handlingRadar product metadata and stage docsdocs/s1_data_import.md
3.3 Configuration Files
FileFormatNotes
pystepsrcpySTEPS configuration fileLives in the pySTEPS install directory
docs/format_spec.yamlYAMLExact 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:

bash
cd KISSPATH_KI_ROOT/pySTEPS/knowledge_infrastructure
python3 preflight_check.py

Known build issues must be handled through diagnostics/triplets.yaml first, then the official pySTEPS docs and working examples.


5. Execution

bash
cd KISSPATH_KI_ROOT/pySTEPS/knowledge_infrastructure
python3 preflight_check.py
python3 diagnostics/run_synthetic_advection.py

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)RankUnitDescription
motion_field1pixels/timestepEstimated 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_intensitydag outputSee dag.yamlListed by the dag as an output variable.
exceedance_probabilitydag outputSee dag.yamlListed by the dag as an output variable.

7. Tool Inventory

ToolPurposeInputsOutputs
preflight_check.pyVerify environment, package, and required KI dataKI directoryMachine-readable PREFLIGHT_REPORT= line
diagnostics/run_synthetic_advection.pyRun the synthetic analytical validation pathSynthetic advected precipitation sequencediagnostics/last_run.json, tester_result.json, stdout JSON
tools/Executable pipeline stagesRadar frames, metadata, stage argumentsModel-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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/lzwei196/kiss-knowledge-infrastructure-for-scientific-simulation/pysteps/badge)](https://verified-skill.com/skills/lzwei196/kiss-knowledge-infrastructure-for-scientific-simulation/pysteps)

Something wrong with this skill or its page? Tell us.