phase0-design

Designs, samples, and submits calibration ensembles for process-based environmental models.

Updated Aug 28, 2026
One-click install
npx skills add https://github.com/jingtao-lbl/A2MC --skill phase0-design-jingtao-lbl
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: phase0-design
Source: https://github.com/jingtao-lbl/A2MC/tree/main/.claude/skills/phase0-design
Command: npx skills add https://github.com/jingtao-lbl/A2MC --skill phase0-design-jingtao-lbl

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Setting up a new calibration round for models like EcoSIM, PFLOTRAN, ATS, or FATES requires sampling a parameter space, materializing one parameter file per case, validating the ensemble, and submitting hundreds to thousands of HPC jobs — a process where a wrong bound, a clobbered matrix, or a broken submit script silently invalidates the entire round. ## Core Features & Use Cases - Parameter-space sampling: Generates Morris, Sobol, LHS, or scrambled Sobol-sequence design matrices from a parameter-list CSV with documented bounds and provenance. - Ensemble materialization and validation: Writes one parameter file per case via the model backend, then runs a pre-submission gate that re-derives every case's edits and dry-runs the submit dispatch. - Queue-aware submission: Submits ensembles as SLURM job arrays, batched waves against queue limits, or packed node-exclusive allocations, with idempotent resume after interruption. - Use Case: After a Phase 6 redesign decision, open calibration round 3 for an EcoSIM site: read the prior round's open questions and knowledge base, design a new 40-parameter list with sourced bounds, sample a Morris design, and submit 4,096 cases to the cluster. ## Quick Start Ask the agent to design and submit a new Morris calibration round for your configured site, for example: "Start a new calibration round — sample the parameters and submit the ensemble."

Frequently Asked Questions about phase0-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a new calibration round for EcoSIM or PFLOTRAN?▼

Create a per-round config wrapper sourcing the base site config, design a new parameter-list CSV with documented bounds, then sample with create_adapter_parameter_sample.py, materialize cases with materialize_adapter_ensemble.py, validate, and submit. The skill walks through each step including the required parameter-set design review.

What sampling methods are available for parameter sensitivity analysis?▼

Four methods are supported: Morris (trajectory-based screening), Saltelli Sobol (variance decomposition), LHS, and sobol_seq (a scrambled low-discrepancy sequence for surrogate training). The FATES path offers the first three; the adapter path adds sobol_seq, which has no SALib analyzer.

How do I submit thousands of ensemble cases without hitting SLURM queue limits?▼

Use submit_adapter_ensemble_batched.py, which submits in queue-aware waves against the QOSMaxSubmitJobPerUserLimit with idempotent resume via job_id.txt. Alternatives include a SLURM job array template or a packed node-exclusive script when the shared partition is the bottleneck.

Does this workflow support models other than FATES?▼

Yes, adapter models like EcoSIM, PFLOTRAN, and ATS use parallel scripts that dispatch through a ModelBackend instead of the FATES-specific tools. PFLOTRAN has its own validation script because its parameter ids and text input deck differ from NetCDF-based models.

Why did my dropped calibration parameter take an unexpected value?▼

A dropped parameter does not fall back to the CSV default column; its value flows from the base parameter file into every case. Always read the value directly from the base file for each dropped parameter and record it in the round log.

When should I use sobol_seq instead of the Saltelli Sobol design?▼

Use sobol_seq when training a surrogate model, since its exactly-N space-filling points avoid the optimistic cross-validation bias of Saltelli's cross-sampled design. Use Saltelli Sobol when estimating variance-based sensitivity indices.