# Copernicus Climate

Access Copernicus Climate Data Store (CDS) for ERA5 reanalysis, climate projections...

- Repository: https://github.com/beita6969/ScienceClaw (1024 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-31
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add beita6969/ScienceClaw --skill copernicus-climate -g -a claude-code -y`
Codex: `npx skills add beita6969/ScienceClaw --skill copernicus-climate -g -a codex -y`
Cursor: `npx skills add beita6969/ScienceClaw --skill copernicus-climate -g -a cursor -y`
Gemini CLI: `npx skills add beita6969/ScienceClaw --skill copernicus-climate -g -a gemini-cli -y`

## Description

Access Copernicus Climate Data Store (CDS) for ERA5 reanalysis, climate projections, and satellite observations. Use when: (1) retrieving historical weather/climate data, (2) downloading ERA5 reanalysis fields, (3) querying climate projections (CMIP), (4) getting satellite-derived climate variables. NOT for: real-time weather forecasts (use weather APIs), ocean biology (use Copernicus Marine), air quality (use CAMS).

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Copernicus Climate Data Store (CDS)

Access ERA5 reanalysis, climate projections, and satellite climate records through
the Copernicus CDS API. Covers global gridded climate data from 1940 to present.

## Prerequisites

Install the CDS API client and configure credentials:

```bash
pip install cdsapi
```

Create `~/.cdsapirc` with your CDS credentials:

```
url: https://cds.climate.copernicus.eu/api
key: <your-uid>:<your-api-key>
```

Register at https://cds.climate.copernicus.eu to obtain credentials.

## API Base URL

```
https://cds.climate.copernicus.eu/api
```

## Basic Python Retrieval Pattern

```python
import cdsapi

c = cdsapi.Client()

c.retrieve(
    "reanalysis-era5-single-levels",
    {
        "product_type": "reanalysis",
        "variable": "2m_temperature",
        "year": "2023",
        "month": "07",
        "day": "15",
        "time": "12:00",
        "area": [60, -10, 35, 30],  # N, W, S, E bounding box
        "format": "netcdf",
    },
    "era5_temperature.nc",
)
```

## ERA5 Pressure-Level Variables

Retrieve upper-air data on pressure levels:

```python
c.retrieve(
    "reanalysis-era5-pressure-levels",
    {
        "product_type": "reanalysis",
        "variable": ["temperature", "geopotential", "relative_humidity"],
        "pressure_level": ["500", "700", "850", "925"],
        "year": "2023",
        "month": "01",
        "day": "15",
        "time": "12:00",
        "format": "netcdf",
    },
    "era5_pressure_levels.nc",
)
```

## Key Dataset Identifiers

The rest: https://github.com/beita6969/ScienceClaw/blob/HEAD/skills/copernicus-climate/SKILL.md
