lzwei196/kiss---knowledge-infrastructure-for-scientific-simulation/issm
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/issmSKILL.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/ (4 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 (21 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 (24 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_forcing_to_issm.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/convert_forcing_to_issm.py --help | |
tools/convert_geometry_to_issm.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/convert_geometry_to_issm.py --help | |
tools/parse_issm_output.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/parse_issm_output.py --help | |
tools/run_issm.py | KISSPATH_PYTHON_ENV/bin/python {KI}/tools/run_issm.py --help |
4 public tools; `_`-prefixed helpers and packaging files excluded. <!-- KI-TOOL-INDEX:END -->
ISSM (Ice-sheet and Sea-level System Model) — Knowledge Infrastructure
Package: hydrocraft-issm-cryosphere v1.0.0 Model: ISSM v2026.1 (Ice-sheet and Sea-level System Model) Created by: Jianyun Zhang Research Group, Hohai University Last updated: 2026-04-30 Stats: current tool, stage-doc and triplet counts: the KI map at the top of this file Validation status: synthetic_only (SquareIceShelf/SquareSheet NightlyRun benchmarks; domain Square.exp is a 5-point square, not a real glacier). Real-site validation: NOT DONE. Before claiming a real-site result, fetch BedMachine geometry + MEaSUREs surface velocity for a chosen target (e.g. Pine Island Glacier, Thwaites, Jakobshavn) and use tools/convert_geometry_to_issm.py to build a real md from them.
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 atmospheric forcing documentation. See data_ki/SNOTEL/SKILL.md ONLY for context. NOTE: point seasonal-snow SWE (e.g. SNOTEL) is NOT a valid ISSM validation target — ISSM has no snowpack SWE output (see NON-PRODUCIBLE VARIABLES below). See data_ki/BedMachine/SKILL.md for ice topography. See data_ki/MEaSUREs/SKILL.md for ice velocity.
Overview
This knowledge infrastructure enables autonomous ice sheet and sea-level simulations using ISSM (Ice-sheet and Sea-level System Model), a large-scale thermo-mechanical 2D/3D parallelized multi-purpose finite-element software developed at NASA JPL and UC Irvine.
What ISSM does: Finite-element model for ice sheet dynamics. Simulates:
- Ice flow velocity (SSA, SIA, HO, Full Stokes, L1L2, MOLHO formulations)
NON-PRODUCIBLE VARIABLES / VALID DOMAIN (dag gate guard)ISSM is an unstructured-mesh finite-element ICE-SHEET DYNAMICS model. Its dag.yamloutputs are: Vel/Vx/Vy/Vz (m/yr), Thickness/Surface/Base (m), Temperature (K),grounding-line position, IceVolume/GroundedArea/TotalSmb, and relative sea level.It produces NO point snowpack SWE (md.smb.mass_balance is a PRESCRIBED forcingin m/yr ice-equivalent, not a computed seasonal snow water equivalent).Valid real-site targets: glacier/ice-sheet surface velocity (MEaSUREs), icethickness / surface / base elevation (BedMachine), grounding-line position, andice volume / TotalSmb, over a polar or alpine GLACIATED domain in projected (meter)coordinates. Any target whose observed variable is SWE/snowpack, or whose site hasno glacier/ice sheet (e.g. a mid-latitude SNOTEL site), is STRUCTURALLY INVALID andMUST be rejected by the dag gate with no retry.
- Thermal evolution (cold-ice temperature or enthalpy formulation)
- Mass transport (thickness evolution via continuity equation)
- Transient dynamics (coupled time-stepping of velocity + thickness + temperature)
- Grounding line migration (floating vs grounded ice transitions)
- Calving and ice front evolution (von Mises, level-set, crevasse depth)
- Subglacial hydrology (GlaDS, Shakti, Shreve, PISM, DC models)
- Damage evolution (crevasse formation and propagation)
- Glacial isostatic adjustment (solid earth deformation, Love numbers)
- Sea-level change (gravitationally self-consistent, GRACE, Farrell)
- Surface mass balance (PDD, MUNGSM, d18O, components, GEMB)
- Basal melting (linear, quadratic, PICO, Beckmann-Goosse, ISMIP6)
- Inverse methods (control method, AD-based inversion for friction/rheology)
- Uncertainty quantification (Dakota integration, sampling)
Key difference from hydrological models: ISSM operates on unstructured triangular/prismatic finite-element meshes over ice sheet domains (Antarctica, Greenland, individual glaciers). It is not a gridded basin model. The primary workflow is MATLAB/Python scripted, and the C++ core handles the numerical solve via PETSc.
Installation
Source
Dependencies (external packages)
Required:
- C/C++ compiler (gcc/g++ or clang)
- Fortran compiler (gfortran)
- Autotools (autoconf, automake, libtool)
- PETSc (with bundled BLAS/LAPACK, MPICH, METIS, ParMETIS, MUMPS, ScaLAPACK)
- Triangle (mesh generation)
- M1QN3 (optimization, Fortran)
Optional:
- MATLAB (for MATLAB interface)
- Python 3 + NumPy (for Python interface)
- Dakota (uncertainty quantification)
- ADOLC/CoDiPack (automatic differentiation)
- GDAL/PROJ (geospatial data)
- GMT/GMSH (mesh generation, mapping)
- Boost (C++ utilities)
- NetCDF/HDF5 (data I/O)
Build Process
Produced Binaries
| Binary | Purpose | |
|---|---|---|
issm | Main ice sheet simulator | |
issm_slc | Sea-level change model | |
issm_ocean | Ocean coupling model | |
kriging | Spatial interpolation tool | |
issm_dakota | Dakota-ISSM integration |
Python Dependencies
Test Example
Pipeline (9 stages)
| # | Stage | Tool(s) | Description | |
|---|---|---|---|---|
| 0 | Configuration | (manual) | Domain selection, period, physics modules, flow equation | |
| 1 | Mesh Generation | triangle(), bamg() | Create 2D mesh from .exp domain outline | |
| 2 | Mask Definition | setmask() | Define grounded ice vs floating ice vs ocean | |
| 3 | Parameterization | parameterize() | Load geometry, materials, friction, BCs from .par file | |
| 4 | Mesh Extrusion | extrude() (optional) | Convert 2D mesh to 3D prisms for HO/FS | |
| 5 | Flow Equation | setflowequation() | Assign physics per element (SSA, SIA, HO, FS, etc.) | |
| 6 | Solver Config | (manual) | Configure cluster, toolkits, timestepping | |
| 7 | Execution | solve() | Run C++ FEM solver via MATLAB/Python wrapper | |
| 8 | Post-processing | (analysis) | Extract results, plot, validate, export NetCDF |
Stage Dependencies
All stages are sequential. Stage 4 (extrusion) is only needed for 3D simulations (HO, FS).
Tools Reference
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingmodels/ISSM/SKILL.md
Popularity
- Repository stars
- 1
- 7-day trend score
- 3
Stars and forks are for the whole GitHub repository, not this skill alone. 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/issm)