phase2-screening

Rank calibration ensembles against validation targets and route results into Phase 3 diagnosis.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? After running a large parameter ensemble in Phase 1 sensitivity analysis, you need to know which cases best match observations, how many validation targets are satisfied, and what error patterns exist — before deciding what to diagnose next. This Skill performs the offline, human-in-the-loop version of A2MC Phase 2 (SCREENING), replacing the orchestrator's automated _run_screening() / analyze_screening_results() reasoning. ## Core Features & Use Cases - Ensemble Ranking: Computes per-target relative error and composite RMSRE via screen_ensemble.py, counts targets within tolerance (default ±20%), and identifies best, lowest-cost, and most-targets cases. - Whole-Ensemble Visualization: Produces the standard biomass-vs-targets time-series figure (purple cloud, red best, blue most-targets, obs bands) using plot_ensemble_cases.py or the adapter equivalent for non-FATES models like EcoSIM and PFLOTRAN. - Pattern Reading & Routing: Interprets per-target bias, edge parameters, PFT trade-offs, and equifinality, then logs via calibration-log and routes priority targets to phase3-diagnosis. - Use Case: After a Morris screening ensemble finishes on HPC, ask the agent to screen the round — it ranks all cases, guards against experiment-case contamination with --max-case-num, generates the ensemble figure, and hands Phase 3 a prioritized diagnosis list. ## Quick Start Ask the agent to run Phase 2 screening on the current calibration round and rank the ensemble against the validation targets.

Frequently Asked Questions about phase2-screening

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

FAQPage Schema
How do I rank a calibration ensemble against validation targets?▼

Run screen_ensemble.py with --data-dir pointing at the extracted case outputs. It computes per-target relative error, composite RMSRE, and counts targets within ±20% tolerance, outputting ranked indices, best case, and per-target errors.

How do I plot all ensemble cases against observation targets?▼

Use tools/plot_ensemble_cases.py with --combined for the full spin-up-to-transient trajectory or default for the calibration window. For non-FATES adapter models, use scripts/extract_and_plot_adapter_ensemble.py instead.

Why does my screening ranking include experiment cases that should not be there?▼

When experiment cases share the extraction directory with the Morris ensemble, they contaminate the top-N. Pass --max-case-num (e.g. 4890) so screening ranks only the ensemble cases.

Does Phase 2 screening work for non-FATES models like PFLOTRAN?▼

The ranking step dispatches through the model backend for any registered adapter. The standard figure script is vegetation-specific, so for PFLOTRAN you build an equivalent outflow-concentration ensemble overlay from the case template.

What is the difference between screening indices and case numbers?▼

Screening Set_ID values can be position+1 rather than real case numbers. Always confirm the best case using the JSON best_case_num field and the _results.txt Sim_ columns before quoting it.