Launch a jcm model run through the built-in Hydra configs — config groups, the validated stable T63L47 overrides, Hydra override traps, and watching for startup failures.

Apache-2.0Auto-check passed

Install Jcm Run

skills CLI
$ npx skills add climate-analytics-lab/jax-gcm --skill jcm-run -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install climate-analytics-lab/jax-gcm jcm-run --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/climate-analytics-lab/jax-gcm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/jcm-run .claude/skills/jcm-run && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
jcm-run
GitHub stars
108
Token cost
~2.1k tokens
SKILL.md length
913 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
Apache-2.0

At a glance

Launch a jcm model run through the built-in Hydra configs — config groups, the validated stable T63L47 overrides, Hydra override traps, and watching for startup failures.

  • SKILL.md covers Config groups, The validated T63L47 ECHAM…, Pre-flight: where to run and Stability: why the overrides…, plus 3 more sections
  • Calls python and git

What it does

Jcm Run is an agent skill from climate-analytics-lab/jax-gcm. Launch a jcm model run through the built-in Hydra configs — config groups, the validated stable T63L47 overrides, Hydra override traps, and watching for startup failures. Site-agnostic; pair with devbox-jcm-runs (shared workstation) or derecho-jcm-runs (NCAR PBS) for machine specifics.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: GCM Physics written in JAX. The licence is Apache-2.0.

Example prompts

  • “/jcm-run”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 20ca89d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Jcm Run loads about 2.1k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 913 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~74
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from climate-analytics-lab/jax-gcm at commit 20ca89d, republished under its Apache-2.0 licence (© climate-analytics-lab). 913 words, ~2,063 tokens.

Download SKILL.mdSave it as .claude/skills/jcm-run/SKILL.md (or your agent's skills folder).
name
jcm-run
description
Launch a jcm model run through the built-in Hydra configs — config groups, the validated stable T63L47 overrides, Hydra override traps, and watching for startup failures. Site-agnostic; pair with devbox-jcm-runs (shared workstation) or derecho-jcm-runs (NCAR PBS) for machine specifics.

Running jcm

Layering. This skill is the site-agnostic model layer. For where to run, see the machine skill: devbox-jcm-runs (shared UCSD workstation, no scheduler, you pick the GPU) or derecho-jcm-runs (NCAR Derecho, PBS allocates GPUs). For throughput measurement see jcm-benchmark.

Every runnable configuration goes through python -m jcm.main with Hydra groups and overrides. Never write a bespoke driver script — see the "No bespoke run scripts" rule in CLAUDE.md. If a configuration is worth repeating, it becomes a config file under jcm/config/<group>/.

Config groups

groupoptions
physicsspeedy, held_suarez, echam, echam-rrtmgp, echam-rrtmgp-2m, echam-rrtmgp-2m-cosp, echam-strong-conv, echam-jam, echam-jam-aerocom, echam-jam-aerocom-optics, echam-jam-aci
gridspeedy_t31_l8, held_suarez_t31_l8, echam_t42_l8_sigma, echam_t63_l47_hybrid, echam_t85_l47_hybrid, echam_t63_l95_hybrid, echam_t106_l95_hybrid, echam_t119_l95_hybrid
initisothermal, balanced_isothermal, jw
terrainaquaplanet, from_file
forcingdefault, from_file
rundefault, smoke, longrun, pyses_year
dycoredinosaur, pyses_ne30l47
diffusiondefault, strong

Discover current options rather than trusting this table if it looks stale: ls jcm/config/<group>/.

The validated T63L47 ECHAM launch

This is the known-stable production baseline. Use it as the starting point for any T63L47 run — the pieces below are not optional decoration, they are what keeps the run from going NaN (see "Stability" below).

bash
PY=/home/dwatsonparris/micromamba/envs/jcm/bin/python
REPO=/data/dwatsonparris/jax-gcm
TS=$(date +%y%m%d_%H%M%S)

COMMON="physics=echam \
        grid=echam_t63_l47_hybrid \
        init=jw init.rh=0.0 \
        terrain=from_file terrain.file=hf://bundles/t63/terrain.nc \
        forcing=from_file forcing.file=hf://bundles/t63/forcing_pd.nc \
        run=longrun"

PREFIX=myrun_$TS
nohup env CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_PREALLOCATE=false \
    $PY -m jcm.main $COMMON \
        run.output_prefix=$PREFIX \
        +run.checkpoint_path=${PREFIX}.ckpt \
    > $REPO/run_logs/${PREFIX}.log 2>&1 &
echo "$PREFIX PID=$!"

Write outputs to /scr/dwatsonparris/... for anything large — /data is near-full. Logs conventionally go in run_logs/ at the repo root.

Pre-flight: where to run

GPU selection is machine-specific and lives in the site skills:

  • devbox-jcm-runs — shared workstation. You self-allocate, so you must verify a card is genuinely free (python tools/gpu_util.py) and avoid stomping on colleagues. Utilisation and memory each individually look idle for a parked job; both must be checked.
  • derecho-jcm-runs — PBS allocates exclusive GPUs; pre-flight the Hydra composition before spending a queue slot instead.
  • kubernetes-jcm-runs — a pod gets exclusive GPUs, so timings are trustworthy and a sweep runs in parallel; in exchange the run must survive eviction and the code has to be pinned by SHA.

JAX_PLATFORMS=cpu is for unit tests only. Anything beyond ~5 simulated days belongs on a GPU.

Stability: why the overrides matter

A T63L47 ECHAM run started from an isothermal cold start with no sponge will go NaN within a few days. The stable recipe needs:

  • init=jw init.rh=0.0 — Jablonowski-Williamson balanced initial state. init=isothermal on a real-orography grid is not a viable start.
  • terrain=from_file + forcing=from_file — real orography/land-sea mask and SSTs.
  • run=longrun — one calendar year (run.total_time: 12 months from run.start_time) written as calendar-month means (<prefix>_monthly_YYYY-MM.nc, run.monthly_means, #901) from daily means in 5-day chunks; no per-chunk _dayN.nc unless run.save_chunks=true. forcing_pd.nc + the auto emission/ozone/oxidant bundles are the present-day (2005–2014) climatological AMIP forcing.
  • run=longrun — this already carries ECHAM's upper sponge (uspnge: the zonal anomalies of u, v and T at the top level damped on 3 h, the zonal mean untouched; rationale in run/longrun.yaml). Do not re-specify it on the command line. There is no absolute temperature target any more: run.sponge.target_T_K is not a key and an override of it fails.
Show full SKILL.md (452 more words)Show less

Hydra gotchas

  • run.time_step is in MINUTES, not seconds.
  • save_interval must be ≤ chunk_days. Otherwise a chunk contains zero output times and the chunk write dies with a confusing IndexError: index 0 is out of bounds for axis 0 with size 0 from predictions.to_xarray(). This is easy to hit when shortening a run for a quick test and forgetting to shorten save_interval with it.
  • run/longrun.yaml has no checkpoint_path key, so adding one needs Hydra's add syntax: +run.checkpoint_path=.... Plain run.checkpoint_path=... fails with Key 'checkpoint_path' is not in struct. run/default.yaml does define it.
  • Ozone: forcing.ozone_file: auto is the shipped default and resolves a packaged climatology matching the grid (jcm/data/bc/t63/ozone.nc — already on L47 levels, already S→N). Leave it alone. Confirm in the log: forcing.ozone_file=auto resolved to .../t63/ozone.nc. On a hybrid grid auto now raises rather than degrading if it resolves nothing: the analytic profile carries ~7.6× the tropospheric ozone column, a large clear-sky OLR bias and not a valid basis for any radiation comparison. The error distinguishes a missing product from a cold cache and names the remedy. For any other grid auto also consults the HF mirror's level-resolved bundles; set one explicitly with forcing.ozone_file=hf://bundles/<grid>_l<levels>/ozone_pd.nc (prefetch on a node with internet), or regenerate a packaged file with jcm.data.bc.interpolate_ozone for offline work. forcing.ozone_file=analytic takes the analytic profile deliberately; a sigma grid, for which no ozone product exists, still warns and falls back.

Watching a run

One tail -F with an alternation that covers both progress and every failure signature — a filter that only matches success is silent through a crash, which reads identically to "still running":

bash
tail -F -n 0 run_logs/PREFIX.log 2>/dev/null | grep -E --line-buffered \
  "Saved .*_day[0-9]+\.nc|Wall: |NaN vars|unhealthy|Traceback|Error|FAILED|Killed|OOM|CUDA_ERROR|HydraException"

NaN vars: N/239 is the health-check line. Parse the count — do not grep for the bare string nan, which matches unrelated output.

specific_humidity in the saved netCDF and the health report is genuinely in g/kg, and the units: 'g/kg' label is correct — state_bridge calls dimensionalize(q, gram/kilogram) on the way out. Healthy tropical surface values are ~20-30 g/kg. (An earlier version of check_health assumed kg/kg and applied a *1000, which double-counted and tripped the q_max > 100 threshold on every chunked run; that conversion was removed. Do not reintroduce the assumption in either direction.)

Failure modes worth recognising

  • Chunk write crashes after "Run completed" — a diagnostic emitted a shape data_to_xarray has no dims for. The write order is to_xarray → check_health → to_netcdf → save_checkpoint, so a crash here loses the whole chunk with no checkpoint. Fix by adding the dotted key to ComposablePhysics._EXCLUDED_OUTPUT_KEYS or registering a band coord.
  • Editable installs: jcm, jax-rrtmgp and mam4-jax are installed editable, so the working tree is the running code. Check git -C <repo> rev-parse --abbrev-ref HEAD before trusting any result. The site skills cover how to A/B a library version safely (worktree + PYTHONPATH, never git checkout in a shared clone).

© climate-analytics-lab, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/jcm-run of climate-analytics-lab/jax-gcm.

Open the folder on GitHubat commit 20ca89d

Compare with similar skills

Jcm Run next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Jcm Run compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Jcm Run this skillclimate-analytics-lab/jax-gcm108—~2.1kAutomated safety check: PassApache-2.0
Shipping and Launch Checklistaddyosmani/agent-skills103k1 repos~2.8kAutomated safety check: PassMIT
Launch Strategyalirezarezvani/claude-skills28k—~1.4kAutomated safety check: PassMIT
HTML Ppt Product Launchnexu-io/open-design100k—~1.3kAutomated safety check: PassApache-2.0
Product Launch Videoheygen-com/hyperframes59k3 repos~8.5kAutomated safety check: NotesApache-2.0
Launch Registryaaron-he-zhu/aaron-marketing-skills2.9k1 repos~1.4kAutomated safety check: PassApache-2.0

Similar skills

  • Shipping and Launch Checklist

    addyosmani/agent-skills

    Prepares a production launch with a pre-launch checklist, monitoring, a staged rollout and a rollback plan so every release is reversible and observable.

    103k GitHub starsUsed in 1 repo~2.8k tokens
    DevOps & CloudAuto-check passed
  • Launch Strategy

    alirezarezvani/claude-skills

    When the user wants to plan a product launch, feature announcement, or release strategy.

    28k GitHub stars~1.4k tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed
  • HTML Ppt Product Launch

    nexu-io/open-design

    OpenDesign Teams: a launch-and-adoption proposal for a mid-market design team weighing a switch from closed cloud tools.

    100k GitHub stars~1.3k tokensUpdated today
    Marketing & SEOAuto-check passed
  • Product Launch Video

    heygen-com/hyperframes

    Turns a product URL, script or brief into a launch or promo video built frame by frame in HyperFrames, from brand capture and story design to rendering.

    59k GitHub starsUsed in 3 repos~8.5k tokens
    Media & CreativeAuto-check: notes
  • Launch Registry

    aaron-he-zhu/aaron-marketing-skills

    A skill your agent uses when the user asks to "log this launch", query a launch date/embargo, record a stage transition, or update submissions/outcomes; curates launch facts through the append-only…

    2.9k GitHub starsUsed in 1 repo~1.4k tokens
    Marketing & SEOAuto-check passed
  • Launch Readiness Checklist

    Donchitos/Claude-Code-Game-Studios

    Generates a launch-readiness checklist across code, content, store, marketing, community, infrastructure and legal, scoped to the project and ending in go/no-go sign-offs.

    26k GitHub stars~4.3k tokensUpdated 9 days ago
    Product & Project ManagementAuto-check passed

More from climate-analytics-lab/jax-gcm

  • Derecho Jcm Runs

    climate-analytics-lab/jax-gcm

    Submit, monitor and benchmark jax-gcm (jcm) simulations on NCAR Derecho's PBS queues.

    108 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Kubernetes Jcm Runs

    climate-analytics-lab/jax-gcm

    Run jcm on a Kubernetes GPU cluster — generate benchmark and production Job manifests, pick a comparable GPU, survive eviction, collect results.

    108 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Devbox Jcm Runs

    climate-analytics-lab/jax-gcm

    Run jcm on the shared UCSD dev workstation (8x A100-80GB, no scheduler) — find a genuinely free GPU, avoid stomping on colleagues' jobs, environment and scratch paths, and the etiquette/traps…

    108 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Jcm Benchmark

    climate-analytics-lab/jax-gcm

    Measure jcm throughput reproducibly — short (1 month) or long (12 month) runs on a validated stable config, with GPU memory/utilisation logging and an explicit convergence criterion.

    108 GitHub stars~3.7k tokensUpdated today
    Auto-check passed
  • Jcm Dev Workflow

    climate-analytics-lab/jax-gcm

    End-to-end development workflow for jcm — atomic commits, the local test/lint gate, opening a PR linked to its issue, monitoring CI and the automatic Codex review, addressing feedback, and handing…

    108 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Jcm Local CI

    climate-analytics-lab/jax-gcm

    Run the jax-gcm CI gates locally on Derecho when GitHub Actions minutes are exhausted or a pre-push check is wanted — lint, fast tests (90% coverage), slow tests (80% PR coverage) and a local Claude…

    108 GitHub stars~3k tokensUpdated today
    Auto-check passed

Questions about Jcm Run

What does Jcm Run do?

Launch a jcm model run through the built-in Hydra configs — config groups, the validated stable T63L47 overrides, Hydra override traps, and watching for startup failures. Jcm Run is an agent skill from climate-analytics-lab/jax-gcm. Launch a jcm model run through the built-in Hydra configs — config groups, the validated stable T63L47 overrides, Hydra override traps, and watching for startup failures.

How do I install Jcm Run in Claude Code?

Run `npx skills add climate-analytics-lab/jax-gcm --skill jcm-run -a claude-code`. Or copy the skill folder (.claude/skills/jcm-run in climate-analytics-lab/jax-gcm) into .claude/skills/jcm-run in your project. Claude Code loads it when a task matches its description.

How do I install Jcm Run in Codex?

Run `npx skills add climate-analytics-lab/jax-gcm --skill jcm-run -a codex`. Or copy the skill folder (.claude/skills/jcm-run in climate-analytics-lab/jax-gcm) into .agents/skills/jcm-run in your project. Codex loads it when a task matches its description.

Can I use Jcm Run in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add climate-analytics-lab/jax-gcm --skill jcm-run -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jcm-run, .gemini/skills/jcm-run, .github/skills/jcm-run and .opencode/skills/jcm-run in your project.

What does Jcm Run need to run?

Going by SKILL.md and its folder, Jcm Run needs the command-line tools its instructions call (python and git). Our summary lists: Python 3.

Does Jcm Run access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Jcm Run safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Jcm Run use?

Jcm Run is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Jcm Run use?

About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Jcm Run?

Skills that share tags, products or a category with Jcm Run: Shipping and Launch Checklist (addyosmani/agent-skills, 103k stars), Launch Strategy (alirezarezvani/claude-skills, 28k stars), HTML Ppt Product Launch (nexu-io/open-design, 100k stars) and Product Launch Video (heygen-com/hyperframes, 59k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Jcm Run?

climate-analytics-lab (a GitHub organization) maintains it in climate-analytics-lab/jax-gcm, which has 108 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.

Source: climate-analytics-lab/jax-gcm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.