Borrowing it
Nothing to install: this file belongs to AMDResearch/ai4science-studio. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/AMDResearch/ai4science-studio/main/.cursor/skills/ai4science-earth-science/SKILL.mdgit clone --depth 1 https://github.com/AMDResearch/ai4science-studioWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/amdresearch/ai4science-studio/ai4science-earth-science)<a href="https://agentmods.dev/skills/amdresearch/ai4science-studio/ai4science-earth-science"><img src="https://agentmods.dev/badge/skills/amdresearch/ai4science-studio/ai4science-earth-science/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/amdresearch/ai4science-studio/ai4science-earth-science"><img src="https://agentmods.dev/badge/skills/amdresearch/ai4science-studio/ai4science-earth-science.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00050 | $0.05403 |
| Opus 5 | $0.00025 | $0.02701 |
| Sonnet 5 | $0.00010 | $0.01081 |
| Haiku 4.5 | $0.00005 | $0.00540 |
Grade C, and why
ai4science-earth-science scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
- **ZarrBackend pitfall:** `run_inference.py` raises an error if the output zarr already exists. Always `rm -rf <output>.zarr` before each run in the sbatch script. How it starts
The opening of the file, as written. The whole thing — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Earth science domain
Scope
The earth_science/ domain covers climate, weather, and broader Earth-system machine learning: gridded fields, forecasting, downscaling, remote sensing, geospatial tensors, reanalysis-style inputs, etc. Do not create separate top-level climate or weather trees.
Layout
- Models:
earth_science/models/<model-slug>/ - Template:
_template/(repo root) - Conventions:
earth_science/models/README.md
Agent guidance
- Place new Earth-related HF models under
earth_science/models/unless the model clearly fits another domain better (e.g. pure protein LM →protein_folding/). - Recipes should state spatial/temporal resolution, coordinate conventions if relevant, and data sources (ERA5, satellite products, etc.) without bundling large raw archives in git.
- When suggesting AMD-specific notes, keep them optional and tied to tested stack versions (e.g. PyTorch + ROCm).
- Institutional AMD clusters and data staging (Globus, Constellation DOI pages, Hugging Face Hub CLI) onto shared filesystems are in-scope for recipe text; align guidance with gridded / reanalysis-style datasets and citation requirements.
- For models whose authoritative code lives on GitHub (e.g. ORBIT-2 under
earth_science/models/ORBIT-2/), the Studio may addexamples/with thin Python or SLURM scripts that delegate to upstream entry points (samecwd/PYTHONPATH/ scheduler layout upstream expects). Do not copy large upstream training or distributed inference files into Studio—wrappers plus recipe links stay maintainable. - Distributed inference on cluster jobs must match upstream assumptions (e.g. SLURM task count vs YAML parallelism product). Site-specific partition and account names (e.g. HPCFund-style queues) belong in comments or placeholders, not hard-coded secrets.
Validated AMD HPC patterns for earth science models
StormCast (earth2studio)
- No local data needed: earth2studio DataSource classes fetch HRRR/GFS live from NOAA HTTPS archives. Compute nodes need outbound HTTPS to NOAA — no pre-staging required.
- Overlay size: 4 GB ext3; ~1.7 GB content (earth2studio[stormcast] + cartopy, stripped of torch)
- ZarrBackend pitfall:
run_inference.pyraises an error if the output zarr already exists. Alwaysrm -rf <output>.zarrbefore each run in the sbatch script. - No CUDA packages: install earth2studio with
--no-depsthen add deps manually; physicsnemo and timm also need--no-deps(they declare torch, which would pull CUDA torch).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 112 lines · 50 tokens per session scan C 817291c3a4aa
ai4science-earth-science is a skill published in the GitHub repository AMDResearch/ai4science-studio (4 stars, last pushed 1mo ago), licensed MIT. It adds 50 tokens to every session and 5,403 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
batch-processing-clinical-text
Run large-scale batch NER, PII extraction, or de-identification over many clinical notes on-device with OpenMed, with sharding, checkpointing, resumability, and append-only JSONL output. Use when the user needs to process a corpus or folder of notes, de-identify a dataset, run NER over thousands of documents, build a…
exporting-to-fhir
Convert OpenMed NER output (entities from openmed.analyzetext) into FHIR R4 resources — Condition, MedicationStatement, Observation — using OpenMed's built-in FHIR R4 export helpers in openmed.clinical.exporters. Covers the verified CodeableConcept builder (coding, codeableconcept, systemuri), deterministic fullUrl…
choosing-openmed-models
Discover and pick the right OpenMed model for a clinical or biomedical task, domain, or language. Use when the user asks which OpenMed model to use, wants to list model categories, find a Disease vs Oncology vs Privacy/PII model, get a PII model for a specific language, search models by size or task, or inspect a…
extracting-clinical-entities
Run clinical and biomedical named-entity recognition on medical text with OpenMed's analyzetext. Use when the user wants to extract diseases, drugs, anatomy, genes, or other biomedical entities from notes; needs NER output as dict/json/html/csv; wants to filter by confidence, group entities, toggle sentence detection…
loading-openmed-models
Load OpenMed clinical/biomedical NER models from the Hugging Face Hub or a local path and reuse them efficiently across calls. Use when the user wants to load an OpenMed model, control the model cache, run fully offline after a one-time download, reuse a ModelLoader to avoid reloading, set a cachedir or device, or…
normalizing-rxnorm
Normalizes drug mentions extracted by OpenMed to RxNorm RxCUIs using the free public RxNav/RxNorm REST API. Use when the user wants to code, standardize, or de-duplicate medication names, resolve a brand/generic/ingredient to a stable RxCUI, link strength+dose-form to an SCD/SBD, attach NDCs, or build a US Core…