{"id":"229405eb-4eb5-4d1b-b2f4-6676e7778530","slug":"earth2studio-install","kind":"skill","name":"earth2studio-install","summary":"Guide installing Earth2Studio via uv or pip, selecting model extras, and configuring the environment. Do NOT use for writing inference code, choosing models, or PhysicsNeMo questions.","owner":"NVIDIA","repoUrl":"https://github.com/NVIDIA/skills/tree/HEAD/skills/earth2studio-install","license":"Apache-2.0","licenseTier":"permissive","trust":"official","stars":3586,"match":null,"fewStars":false,"format":"skill","createdAt":null,"addedAt":"2026-10-14T05:44:38.608Z","logoUrl":"https://avatars.githubusercontent.com/u/1728152?v=4","linkOnly":false,"collection":{"name":"skills","repo":"nvidia/skills"},"skillPath":"skills/earth2studio-install","categories":["developer-tools","writing"],"tags":["agentic-ai","ai-agents","claude-code","codex","coding-agents","cuda","developer-tools","llm"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-14T05:44:38.607Z","sample":false,"url":"https://conduits.dev/tools/earth2studio-install","language":"Python","transports":[],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# Earth2Studio Installation Skill\n\n## Never install packages automatically\n\nYou **MUST NOT** install, upgrade, or modify packages on the user's\nbehalf. Provide the exact command; the user runs it. No exceptions.\n\n**Forbidden:** running `pip install`, `uv pip install`, `uv add`,\n`uv sync`, `conda install`, `apt install`, or any package manager.\n\n**Instead:** give the exact command and ask the user to run it.\nExplain why the package is needed.\n\nWhen a package is needed:\n\n1. Identify it\n2. Provide the exact command\n3. Explain why it is needed\n4. **Wait for the user to confirm they ran it**\n\nEven if the user says \"just install it\", give the command and require\nthem to execute it themselves.\n\n## Purpose\n\nHelp users install Earth2Studio and its optional model dependencies correctly for\ntheir use case. This skill handles package installation, optional-extra selection,\nenvironment variable configuration, and install verification.\n\n## Prerequisites\n\n- Python 3.10+ (3.13 recommended)\n- CUDA-capable GPU with compatible drivers for GPU extras\n- uv (recommended) or pip package manager\n- Internet access (packages installed from PyPI and GitHub)\n\nYou are helping a user install Earth2Studio and its optional model\ndependencies. Your only job is to get the package installed correctly\nfor their use case — do not write inference code, do not compose\nworkflows.\n\n## Core principle: docs are the source of truth\n\nEarth2Studio installation commands, version tags, and extra names change\nbetween releases. **Before executing or recommending any install command,\nfetch the live installation docs:**\n\n```text\nhttps://nvidia.github.io/earth2studio/userguide/about/install.html\n```\n\nParse the page for the current version tag, available extras, and any\nspecial build notes. The workflow below is structural guidance — the\nspecific commands come from the live page.\n\n## Instructions\n\n### Step 1. Fetch live docs\n\nUse WebFetch on the install URL above. Extract:\n\n- Current release version tag (e.g. `@0.14.0`)\n- Available optional extras by category\n- Known build quirks (e.g. `--no-build-isolation` for pip,\n  manual pre-installs)\n\nKeep this data in working memory for all subsequent steps.\n\n### Step 2. Understand the user's environment\n\nAsk (cap at 3 questions, skip what the user already answered):\n\n1. **Package manager** — uv (recommended) or pip? If unsure, recommend\n   uv and link <https://docs.astral.sh/uv/getting-started/installation/>\n2. **Project context** — new project or adding to existing?\n3. **Python version** — recommend the version from the docs\n   (currently 3.13)\n\n### Step 3. Base install\n\nProvide commands from the live docs based on their answers:\n\n- **uv** uses a git source (not PyPI) to handle URL-based transitive dependencies\n- **pip** installs from PyPI but some extras require manual pre-install steps\n\nAfter the user runs the install, verify:\n\n```python\nimport earth2studio\nearth2studio.__version__\n```\n\n### Step 4. Select models and extras\n\nPresent the available extras organized by use case. Ask what the user\nplans to do — don't dump all options unprompted. Categories from the\ndocs:\n\n| Category | Example extras |\n|----------|---------------|\n| Prognostic (forecasting) | aifs, aurora, graphcast, pangu, sfno, stormcast, ... |\n| Diagnostic (post-processing) | corrdiff, climatenet, precip-afno, ... |\n| Data assimilation (beta) | da-healda, da-interp, da-stormcast |\n| Submodules | data, perturbation, statistics |\n\nThe exact list comes from the live docs — cite those, not this table.\n\nAsk:\n\n1. Which models do you plan to use?\n2. Do you need submodule extras (data sources, perturbation methods,\n   statistics)?\n3. Or install everything? (uv only: `--extra all`)\n\n### Step 5. Install selected extras\n\nProvide the exact commands from the live docs for their selections.\nKey warnings to surface:\n\n- **Slow builds**: flash-attention (AIFS variants), natten\n  (Atlas, StormScope), torch-harmonics CUDA extensions (FCN3, SFNO)\n  — can take 10-30+ minutes\n- **pip-specific manual steps**: some models require\n  `--no-build-isolation` or pre-installing packages like earth2grid,\n  torch-harmonics, or makani\n- **Data assimilation models**: require CuPy + cuDF (CUDA 12)\n\n### Step 6. Configuration (offer, don't force)\n\nMention environment variables the user might want to set — only if\nrelevant (e.g. limited disk, shared filesystem, CI environment):\n\n| Variable | Purpose |\n|----------|---------|\n| `EARTH2STUDIO_CACHE` | General cache directory |\n| `EARTH2STUDIO_DATA_CACHE` | Data source cache (overrides general) |\n| `EARTH2STUDIO_MODEL_CACHE` | Model checkpoint cache (overrides general) |\n| `EARTH2STUDIO_PACKAGE_TIMEOUT` | Max seconds for model downloads |\n\n## Troubleshooting\n\nIf installation fails, point the user to:\n\n- <https://nvidia.github.io/earth2studio/userguide/support/troubleshooting.html>\n- <https://nvidia.github.io/earth2studio/userguide/support/faq.html>\n\nCommon issues:\n\n- **PyTorch/CUDA mismatch**: verify `torch.cuda.is_available()` first\n- **flash-attention build failure**: CUDA toolkit version must match\n  PyTorch CUDA\n- **ONNX Runtime GPU**: may need version-specific install for their CUDA\n- **ecCodes missing**: required for GRIB data handling; install via\n  `sudo apt-get install libeccodes-dev` (Debian/Ubuntu) or\n  `conda install -c conda-forge eccodes`\n- **Python.h: No such file or directory**: missing Python development\n  headers; install via `sudo apt-get install python3-dev`\n\n## Limitations\n\n- Cannot help with runtime errors unrelated to missing dependencies\n- Does not cover model checkpoint downloads (those happen at first inference)\n- Data source setup beyond the `data` extra is out of scope\n- Cannot write inference or training code, or compose Earth2Studio workflows\n\n## Ownership and out-of-scope\n\n**Owns:** package installation, optional-extra selection, environment\nvariable configuration, install verification.\n\n**Does not own:** writing inference or training code, composing\nEarth2Studio workflows, data source setup beyond the `data` extra,\nmodel checkpoint downloads (those happen at runtime), troubleshooting\nruntime errors unrelated to missing dependencies."}