lzwei196/kiss-knowledge-infrastructure-for-scientific-simulation/landlab
Claude Code and agent skill by lzwei196/kiss-knowledge-infrastructure-for-scientific-simulation
- community
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install lzwei196/kiss-knowledge-infrastructure-for-scientific-simulation/landlabSKILL.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.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, follow this order:1. Check triplets —diagnostics/triplets.yamlmay already cover this error2. Read official docs — The model's own documentation for expected formats/units3. Find working examples — Checkoutputs/or the model's shipped test data4. Fix the tool — With knowledge of what "correct" looks likeDo NOT write custom debug scripts. The answers are in the docs and examples.
<!-- 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/ (8 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 (22 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 (22 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/convert_dem_to_grid.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/convert_dem_to_grid.py --help | |
tools/convert_soil_params.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/convert_soil_params.py --help | |
tools/dissect_atchafalaya_ssc_q_surrogate.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/dissect_atchafalaya_ssc_q_surrogate.py --help | |
tools/dissect_loess_plateau_sediment_yield.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/dissect_loess_plateau_sediment_yield.py --help | |
tools/dissect_loess_plateau_slope_area.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/dissect_loess_plateau_slope_area.py --help | |
tools/dissect_space_ssc_q_rating.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/dissect_space_ssc_q_rating.py --help | |
tools/parse_landlab_output.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/parse_landlab_output.py --help | |
tools/run_landlab.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/run_landlab.py --help |
8 public tools; `_`-prefixed helpers and packaging files excluded. <!-- KI-TOOL-INDEX:END -->
Landlab v2.10 — Earth Surface Dynamics Modeling Toolkit
Package: hydrocraft-landlab v1.0.0 Model: Landlab 2.10.1 (Python library with Cython extensions) Domain: Geomorphology, hydrology, stratigraphy, glaciology Created by: Landlab Development Team (CU Boulder, U Washington, Tulane) Last updated: 2026-04-29 Stats: current tool, stage-doc and triplet counts: the KI map at the top of this file Validation status: production_validated
Data Preparation
Forcing data
Data Sources: Use from ki_tools_common.load_forcing import load_daily_forcing for CMFD/MSWX/NASA POWER.
Data Validation Reference: See data_ki/CMFD/SKILL.md for meteorological forcing documentation. See data_ki/USGS_Sediment/SKILL.md for suspended sediment observations.
Applicability
This KI is for landscape evolution and sediment-yield benchmarks only. It does NOT produce a daily discharge hydrograph and is NOT applicable to gauge-discharge tests (e.g. Bengbu, Wangjiaba). The surface_water__discharge field from FlowAccumulator is steady-state Q = drainage_area * uniform_runoff_rate, not a time series. Validation cases supported: slope-area, concavity, sediment yield, Whipple-Tucker analytical, SPACE Qs-Q. For streamflow benchmarks use a hydrologic KI (PIHM, mHM, VIC, etc.).
Overview
Landlab is an open-source Python package for numerical modeling of Earth surface dynamics. Unlike compiled, monolithic landscape evolution models, Landlab is a component-based framework: users compose simulations by coupling reusable process components (erosion, diffusion, flow routing, weathering, etc.) on a shared model grid. The grid stores spatially distributed fields (elevation, drainage area, soil depth) at nodes, links, patches, cells, corners, and faces.
Landlab supports six grid types: RasterModelGrid (uniform rectangular), HexModelGrid (hexagonal cells), VoronoiDelaunayGrid (irregular Voronoi), FramedVoronoiGrid, RadialModelGrid, NetworkModelGrid, and IcosphereGlobalGrid. All grids implement the same field-storage API, so components are grid-agnostic.
There are 60+ process components covering: flow routing (D8, D-infinity, MFD, priority-flood), stream-power erosion, hillslope diffusion, SPACE bedrock- alluvium erosion, overland flow (kinematic wave, de Almeida), flexural isostasy, tectonic faulting, soil production (exponential weathering), fire, vegetation dynamics, species evolution, tidal flow, marine sediment transport, and more.
Installation
From PyPI (recommended)
From source (development)
Dependencies
- Core: numpy>=1.20, scipy, matplotlib, xarray>=0.16, pandas, pyyaml, netcdf4, bmipy, rich-click
- Build: cython, setuptools, wheel (Cython extensions for performance)
- Optional: pyshp (shapefiles), statsmodels, gflex (flexure)
Verify installation
Pipeline (7 stages)
| Stage | ID | Tool | Description | |
|---|---|---|---|---|
| 1. Grid Setup | s1_grid | — | Create model grid with DEM or synthetic topography | |
| 2. Input Preparation | s2_input | convert_dem_to_grid.py | Load DEM, set boundary conditions, add fields | |
| 3. Soil/Parameter Setup | s3_params | convert_soil_params.py | Map HWSD or other soil data to grid fields | |
| 4. Component Assembly | s4_assembly | — | Instantiate and couple Landlab components | |
| 5. Execution | s5_run | run_landlab.py | Time-stepping loop with run_one_step() | |
| 6. Output Extraction | s6_output | parse_landlab_output.py | Extract fields to CSV/NetCDF, compute metrics | |
| 7. Diagnostics | s7_diag | — | Validate results against analytical solutions |
Parallelism
- Stages 2 and 3 can run in parallel (independent input preparation)
- Stage 4 depends on both 2 and 3
- Stages 5–7 are sequential
Execution Model
Landlab is a Python API, not a CLI binary. Simulations are Python scripts:
BMI Interface
Components can also be driven via the Basic Modeling Interface (BMI):
6. Output Description
Source of truth: dag.yaml. The DAG wins over this body if they ever disagree.
Headline output (validation_rank: 1):
sediment_yield— Annual catchment sediment yield via detachment-limited stream power (E = K_sp A^m S^n converted by bulk density). (t/km^2/yr)
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/Landlab/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
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/landlab)