agentleFS
NumericalEarthNumericalEarth/Breeze.jl/.claude/skills/new-simulation/SKILL.md

new-simulation

Skill90 starsChanged 3 months agoApache-2.0View on GitHub

Set up, run, and visualize a new Breeze atmospheric simulation

2 other projects use a version of this, 1 of them edited.

Adopted by

Most recently taken up by

  • Other versions2 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 1

    1. CliMA/Oceananigans.jl★ 1.4k32% same

    Wrote their own version · 1

    1. physicshub/physicshub.github.io★ 68same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository6 other files it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

18 rules. About 0 are common, 15 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈15

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read the paper carefully and extract ALL parameters: domain size, resolution, physical constants, boundary conditions, initial conditions, …

    line 13
  2. Distinctive:

    Check parameter tables, figure captions, and coordinate conventions

    line 15
  3. Distinctive:

    Ask the user for the science goal or phenomenon to simulate

    line 20
  4. Distinctive:

    Create the grid and verify domain extents

    line 26
  5. Distinctive:

    If reproducing a paper, compare geometry to paper figures

    line 27
  6. Very specific:

    Use set! ideally once (it calls update_state!

    line 34
  7. Distinctive:

    Run a few timesteps on CPU at low resolution

    line 38
  8. Very specific:

    Check for NaNs: maximum(abs, u), maximum(abs, w), etc.

    line 39
  9. Distinctive:

    Verify flow is developing (velocities changing from initial state)

    line 40
  10. Distinctive:

    Run a short simulation (~1 hour sim time) and visualize results

    line 44
  11. Distinctive:

    If reproducing a paper, compare to early-time figures

    line 45
  12. Distinctive:

    Run at full resolution / full duration

    line 49
  13. Distinctive:

    Create diagnostic visualizations matching the science goal

    line 50
  14. Distinctive:

    If reproducing a paper, match figure format, colormaps, axis ranges, time snapshots

    line 51
  15. Distinctive:

    Always add axis labels and colorbars

    line 74
  16. Distinctive:

    Wrong flow direction: check coordinate conventions

    line 82
  17. Very specific:

    Place example scripts in examples/

    line 87
  18. Distinctive:

    Follow existing conventions and Literate.jl style

    line 88

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

New Simulation

Set up, run, and visualize a new atmospheric simulation with Breeze.

Step 1: Understand the Case

If reproducing a paper:

  • Read the paper carefully and extract ALL parameters: domain size, resolution, physical constants, boundary conditions, initial conditions, forcing, closure parameters
  • Check parameter tables, figure captions, and coordinate conventions
  • Identify the paper's prognostic variables and how forcing is applied
  • Identify Breeze's prognostics (ρθ or ρs) and derive any transformations needed

If designing a new case:

  • Ask the user for the science goal or phenomenon to simulate
  • Clarify: domain geometry, resolution, physics (buoyancy, Coriolis, microphysics, radiation), run duration
  • Study working examples first: BOMEX, RICO, prescribed_SST, thermal_bubble

Step 2: Set Up Geometry

  • Create the grid and verify domain extents
  • If reproducing a paper, compare geometry to paper figures

Step 3: Set Initial Conditions

  • Apply initial conditions, then verify:
    • minimum(field) and maximum(field) make physical sense
    • Stratification, moisture profiles are correct
  • Use set! ideally once (it calls update_state! internally)

Step 4: Short Test Run

  • Run a few timesteps on CPU at low resolution
  • Check for NaNs: maximum(abs, u), maximum(abs, w), etc.
  • Verify flow is developing (velocities changing from initial state)

Step 5: Progressive Validation

  • Run a short simulation (~1 hour sim time) and visualize results
  • If reproducing a paper, compare to early-time figures

Step 6: Production Run and Comparison

  • Run at full resolution / full duration
  • Create diagnostic visualizations matching the science goal
  • If reproducing a paper, match figure format, colormaps, axis ranges, time snapshots

Visualization Guide

CRITICAL: Plot Field objects directly — avoid interior(). Use view(field, i, j, k) to slice.

using CairoMakie
using Oceananigans, Breeze

# 2D field — just pass the field
heatmap!(ax, field)

# Slice 3D field
b_section = view(b, :, grid.Ny÷2, :)
heatmap!(ax, b_section)

# Animations with Observables
n = Observable(1)
field_n = @lift field_ts[$n]
heatmap!(ax, field_n)
  • Always add axis labels and colorbars
  • Color palette: :dodgerblue (vapor), :lime (cloud), :orangered (rain), :magenta (temperature)
  • Do not convert units except spatial coordinates to km for axis labels

Common Issues

  • NaN blowups: timestep too large, unstable ICs, if/else on GPU (use ifelse)
  • Nothing happening: wrong buoyancy sign, ICs not applied, forcing inactive
  • Wrong flow direction: check coordinate conventions
  • Thermodynamic variable mismatch: paper uses T but Breeze uses θ — don't forget Exner function!

Output

  • Place example scripts in examples/
  • Follow existing conventions and Literate.jl style

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.