К основному содержанию
скилл CX Codex

earth2studio-data-fetch — скилл для Claude Code: погодные данные

Помогает скачать погодные и климатические данные из источников Earth2Studio: сверяет переменные с лексиконом и собирает рабочий скрипт на Python.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add NVIDIA/skills --skill earth2studio-data-fetch -a claude-code
Открыть на GitHub

Что делает earth2studio-data-fetch

Скилл ведёт агента по шагам: выясняет переменные, время, тип данных (анализ или прогноз), регион и формат вывода. Потом открывает живую документацию Earth2Studio и лексикон конкретного источника вроде gfs.py или cds.py, чтобы посмотреть, есть ли нужная переменная в словаре VOCAB. Нет в словаре — значит, источник её не отдаст.

На выходе получается скрипт на Python: для analysis-источника вызов ds(time, variable), для forecast — ds(time, lead_time, variable), результат в xarray DataArray. Аргументы конструктора у источников различаются, поэтому страницу с API скилл запрашивает до того, как писать код.

Заранее нужны установленный Earth2Studio (uv pip install earth2studio), Python 3.10+ и сетевой доступ к хранилищам вроде GCS или S3. Для источников на CDS без ключа в ~/.cdsapirc выборка не пойдёт. Первый запрос кешируется локально через EARTH2STUDIO_CACHE, повторный читает из кеша.

Какие задачи решает

  • подобрать источник под нужную переменную и дату
  • проверить, отдаёт ли GFS переменную z850
  • собрать скрипт выборки без угадывания аргументов конструктора
  • различить analysis-источник и forecast-источник по сигнатуре вызова
  • сохранить выборку в NetCDF

Примеры запросов агенту

  • Скачай t2m и u500 из GFS на ближайший доступный срок, нужен xarray DataArray.
  • Какие источники Earth2Studio отдают tp и msl и какие из них покрывают Северную Америку?
  • Напиши скрипт для GFS_FX с шагом прогноза в несколько часов и выгрузкой в NetCDF.

Как установить earth2studio-data-fetch

1Через Skills CLI (Vercel)

npx skills add NVIDIA/skills --skill earth2studio-data-fetch -a claude-code

2Вручную: положить файлы

~/.claude/skills/earth2studio-data-fetch/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/earth2studio-data-fetch/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о earth2studio-data-fetch

Как установить earth2studio-data-fetch в Claude Code?

Выполните npx skills add NVIDIA/skills --skill earth2studio-data-fetch -a claude-code. Файл скилла появится в ~/.claude/skills/earth2studio-data-fetch/SKILL.md.

Что делает earth2studio-data-fetch?

Подбирает источник Earth2Studio под запрошенные переменные и время, проверяет поддержку по лексикону и пишет скрипт на Python, который возвращает xarray DataArray.

Что нужно, чтобы скилл заработал?

Установленный Earth2Studio, Python 3.10+ и доступ к удалённым хранилищам. Для CDS-источников понадобится ключ API в ~/.cdsapirc.

Исходный текст

SKILL.md · Apache-2.0
---
name: earth2studio-data-fetch
version: 0.16.0
license: Apache-2.0
metadata:
  author: NVIDIA Earth-2 Team
  tags:
    - earth2studio
    - earth2
    - python
    - data-fetch
    - weather-data
    - xarray
description: >
  Fetch weather/climate data via Earth2Studio data sources for specific variables
  and times. Do NOT use for inference pipelines, model discovery, or installation.
---

# Earth2Studio Data Fetch Skill

## Purpose

Guide a user through downloading weather/climate data via Earth2Studio data source
APIs. Identifies compatible sources by checking the lexicon, verifies variable
support, and produces a working fetch script outputting an xarray DataArray.

## Prerequisites

- Earth2Studio installed (`uv pip install earth2studio` or equivalent)
- Network access to remote data stores (GCS, S3, CDS API, etc.)
- For CDS-based sources: valid CDS API key configured (`~/.cdsapirc`)
- Python 3.10+

## Instructions

You are helping a user download specific weather/climate data using
Earth2Studio's data source APIs. Your job is to identify which data source(s)
can provide the requested variables, verify compatibility via the lexicon
system, and produce a working fetch script.

### Core principle: live docs and lexicon are the source of truth

Data source APIs, available variables, and the lexicon evolve between releases.
Before recommending a data source or writing a fetch script:

1. **Fetch the relevant data source doc page** to confirm the API signature
   and constructor arguments.
2. **Check the lexicon** to verify the requested variable is supported by
   that data source.

Live doc references (fetch only what the user's request requires):

- **Analysis data sources:**
  <https://nvidia.github.io/earth2studio/modules/datasources_analysis.html>
- **Forecast data sources:**
  <https://nvidia.github.io/earth2studio/modules/datasources_forecast.html>
- **DataFrame data sources:**
  <https://nvidia.github.io/earth2studio/modules/datasources_dataframe.html>
- **Lexicon base:**
  <https://github.com/NVIDIA/earth2studio/blob/main/earth2studio/lexicon/base.py>
- **Lexicon per-source:**
  <https://github.com/NVIDIA/earth2studio/tree/main/earth2studio/lexicon>

### Interaction protocol

#### Step 1. Understand the user's request

Extract from what the user has said (ask follow-ups if needed, cap at 3
questions):

- **Variables** — what do they want? Use Earth2Studio variable names
  (e.g. `t2m`, `u500`, `z850`, `tp`, `msl`). If the user uses plain language
  ("500 hPa geopotential height"), map it to the E2Studio name by checking
  the live `base.py` E2STUDIO_VOCAB.
- **Time** — what date/time range? A single timestamp, a range, or multiple
  discrete times?
- **Data type** — analysis/reanalysis (historical state) or forecast (lead-time based)?
- **Lead time** (forecast only) — how far ahead? Which initialization time?
- **Region** — global or regional (e.g. North America for HRRR)?
- **Output format** — xarray DataArray (default), save to file (NetCDF/Zarr)?

#### Step 2. Identify candidate data sources

Based on the request type, narrow candidates:

**Analysis/reanalysis** (historical state at a specific time):

- Use analysis data source page to identify options
- Common choices: GFS (operational, recent), HRRR (NA, hourly),
  IFS/IFS_ENS (ECMWF), ARCO/CDS/WB2ERA5/NCAR_ERA5 (ERA5 reanalysis),
  GOES/MRMS/JPSS (observational)

**Forecast** (predictions from an initialization time with lead times):

- Use forecast data source page to identify options
- Common choices: GFS_FX, GEFS_FX, HRRR_FX, IFS_FX, IFS_ENS_FX,
  AIFS_FX, CFS_FX

Key differentiators to surface:

- **Temporal coverage** — operational sources (GFS, HRRR) have limited
  history; reanalysis (ERA5 via ARCO/CDS/WB2) goes back decades
- **Spatial resolution** — HRRR is 3km NA-only; GFS is 0.25° global;
  WB2ERA5_32x64 is 5.625° global
- **Update frequency** — some are real-time, some have multi-day lag

#### Step 3. Verify variable support via lexicon

This is critical. Each data source has a lexicon file that defines which
E2Studio variables it can provide.

To verify:

1. Fetch the source's lexicon file from
   `https://github.com/NVIDIA/earth2studio/blob/main/earth2studio/lexicon/<source>.py`
   (e.g. `gfs.py`, `hrrr.py`, `cds.py`, `arco.py`, `wb2.py`)
2. Check that the user's requested variable(s) appear as keys in the
   source's `VOCAB` dict
3. If a variable is NOT in a source's lexicon, that source cannot provide
   it — try another

The lexicon VOCAB maps Earth2Studio variable names → source-specific
identifiers. If a variable key exists in the VOCAB, the source supports it.

Present the results clearly: *"GFS supports `t2m`, `u500`, `z850`. HRRR also
supports these but is limited to North America. ARCO (ERA5) supports all
three and has data back to 1959."*

#### Step 4. Confirm data source selection with user

Present the viable options with tradeoffs:

| Source | Variables | Coverage | Resolution | Time Range |
|--------|-----------|----------|------------|------------|
| ... | ... | ... | ... | ... |

Let the user pick. If there's one obvious choice, recommend it and ask for
confirmation.

#### Step 5. Generate fetch script

Write a Python script that uses the selected data source to fetch the
requested data. The script structure depends on whether it's an analysis or
forecast source.

**Analysis source pattern:**

```python
import datetime
from earth2studio.data import <SourceClass>

# Initialize data source
ds = <SourceClass>()

# Fetch data
# Analysis sources use: ds(time, variable) -> xr.DataArray
time = [datetime.datetime(YYYY, M, D, H)]  # or array of times
variable = ["var1", "var2"]  # E2Studio variable names

data = ds(time, variable)
```

**Forecast source pattern:**

```python
import datetime
from earth2studio.data import <SourceClass>

# Initialize data source
ds = <SourceClass>()

# Forecast sources use: ds(time, lead_time, variable) -> xr.DataArray
time = [datetime.datetime(YYYY, M, D, H)]  # initialization time
lead_time = [datetime.timedelta(hours=H)]   # or array of lead times
variable = ["var1", "var2"]

data = ds(time, lead_time, variable)
```

Always fetch the specific data source's API doc page to confirm the exact
constructor arguments and call signature before writing the script — they can
vary (some need auth tokens, cache paths, specific parameters).

Include in the script:

- Appropriate imports
- Clear comments explaining each step
- How to inspect the result (`print(data)`, `data.shape`, `data.coords`)
- Optional: saving to file if the user requested it

#### Step 6. Offer next steps

After delivering the script, mention:

- How to change variables/times without rewriting the whole thing
- If they might want to feed this into a model, point them to the
  discover skill
- Cache behavior (data is cached locally after first fetch via
  `EARTH2STUDIO_CACHE`)

### Ownership and out-of-scope

**Owns:** identifying data sources for a user's variable/time request,
verifying variable support via lexicon, generating data fetch scripts,
explaining analysis vs. forecast source differences.

**Does not own:** installation (earth2studio-install), model selection
(earth2studio-discover), inference pipelines, custom data source creation
(point to extend examples), data source authentication setup beyond what
the docs describe.

## Examples

Typical invocation:

> "I need 500 hPa geopotential height and 2m temperature from ERA5
> for January 1, 2020 at 00Z."

The skill would:

1. Map plain language → `z500`, `t2m`
2. Check ARCO/CDS/WB2ERA5 lexicons for support
3. Recommend ARCO (free, no API key) or CDS (official, needs key)
4. Generate a fetch script using the selected source

## Limitations

- **Network required** — all data sources fetch from remote stores
  (GCS, S3, CDS API)
- **No local file loading** — for local NetCDF/Zarr, use
  `DataArrayFile`/`DataSetFile` directly
- **One source type per script** — cannot mix analysis and forecast
  sources in a single call
- **Variable availability varies** — not all sources provide all
  variables; always verify via lexicon
- **Rate limits** — CDS API has queue-based throttling; GCS/S3 sources
  are generally faster

## Troubleshooting

| Error | Cause | Solution |
|-------|-------|----------|
| `KeyError: '<var>'` | Not in lexicon | Check lexicon; try another source |
| `FileNotFoundError` / 404 | Time not available | Verify temporal coverage |
| `CDS API timeout` | Queue congestion | Retry or use ARCO for ERA5 |
| `ModuleNotFoundError` | Not installed | `uv pip install earth2studio` |
| Empty DataArray | Time/var mismatch | Check datetime and variable name |

© NVIDIA Earth-2 Team · Apache-2.0 · NVIDIA/skills

Похожие скиллы

Все скиллы по теме «Данные и базы» →
xlsx официальный anthropics Работает с табличными файлами: создаёт, читает, правит и преобразует книги. Подходит, когда итогом должен стать файл Excel или другой табличный формат. 187 223установок google-agents-cli-observability официальный Google Помогает настроить трассировку и сбор данных о работе ИИ-агентов, включая агентов на ADK. Пригодится, когда нужно разбирать выполнение запросов или наблюдать за агентом после развёртывания. CX Codex +1 511 300установок caveman-evidence-review JuliusBrussee Скилл читает данные Caveman Cloud о расходах LLM, трассах и маршрутизации. Подходит для проверки того, куда уходит бюджет проекта. CX Codex +1 104 500установок migration JuliusBrussee Скилл задаёт правила безопасных миграций схем, данных и API с обязательным откатом. Пригодится при изменениях, где нельзя терять данные или ломать совместимость. CX Codex +1 103 900установок performance-optimization addyosmani Скилл для агентов ИИ-кодинга: сначала замеряет, потом чинит узкое место — от Core Web Vitals до N+1 запросов и индексов в базе. CX Codex +1 65 200установок supabase официальный supabase Скилл помогает настраивать базу данных, аутентификацию и RLS в Supabase без скрытых дыр в безопасности. CX Codex GP ChatGPT 8установок

Из того же набора178

nemo-automodel-launcher-config Настраивает запуск NeMo AutoModel в интерактивном режиме, через Slurm и SkyPilot. Нужен для кластерных и облачных запусков. CX Codex +1 1 900установок nemo-automodel-model-onboarding Ведёт по шагам добавления новой архитектуры модели в NeMo AutoModel: от разбора config.json до регистрации класса и тестов. CX Codex +1 1 900установок nemo-automodel-recipe-development Скилл помогает создавать и настраивать рецепты обучения NeMo AutoModel. Он объясняет синтаксис YAML-конфигов, порядок компонентов и вызовы билдеров. CX Codex +1 1 900установок earth2studio-deterministic-forecast Скилл помогает собрать скрипт детерминированного прогноза погоды на Earth2Studio: подбирает модель, источник данных и бэкенд записи. CX Codex +1 1 900установок earth2studio-discover Скилл находит модели, источники данных и примеры в Earth2Studio под конкретную задачу прогнозирования погоды или климата. Для генерации пайплайна или скачивания данных он не предназначен. CX Codex +1 1 900установок earth2studio-install Помогает поставить Earth2Studio и выбрать нужные extras с моделями. Пригодится, когда нужно развернуть окружение под прогноз погоды, а не писать код. CX Codex +1 1 900установок digital-health-clinical-asr-finetune Скилл для дообучения модели Parakeet TDT v2 через NeMo SFT и проверки Keyword Error Rate. Применяется на четвёртом этапе пайплайна, когда KER приоритетных категорий превышает 0.3. CX Codex +1 1 900установок digital-health-clinical-asr-eval Скилл оценивает NeMo-манифест клинической ASR-модели, считает WER, CER, KER и SER и строит лидерборд из пяти секций. Нужен, когда пора решать: дообучать модель или чинить произношение. CX Codex +1 1 900установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой