{"slug": "era5", "name": "ERA5 Hourly Reanalysis", "tagline": "Hourly global atmospheric reanalysis since 1940", "source": "ECMWF / Copernicus", "category": {"slug": "climate", "name": "Climate", "icon": "cloud", "tone": "blue"}, "meta": ["0.25°", "1940–present", "Global"], "thumb": "/static/catalog/thumbs/era5.553979b2f3bd.jpg", "bbox": [-180.0, -90.0, 180.0, 90.0], "global": true, "access": "api", "url": "/datasets/era5/", "subtitle": "ECMWF Reanalysis v5 on single levels", "summary": "Precipitation, 2 m temperature, dew point, wind, radiation, evaporation, runoff and hundreds of other variables, hourly, from ECMWF's data assimilation system. The most common forcing for hydrological models where station data are sparse.", "categories": [{"slug": "climate", "name": "Climate", "icon": "cloud", "tone": "blue"}], "sources": [{"slug": "copernicus", "name": "Copernicus Programme (European Union)", "label": "Copernicus", "url": "https://www.copernicus.eu/", "page": "/sources/copernicus/"}, {"slug": "ecmwf", "name": "European Centre for Medium-Range Weather Forecasts", "label": "ECMWF", "url": "https://www.ecmwf.int/", "page": "/sources/ecmwf/"}], "facts": [["Source", "ECMWF / Copernicus"], ["Resolution", "0.25° (about 31 km)"], ["Time span", "1940–present"], ["Temporal", "Hourly"], ["Access type", "API (external)"], ["Formats", "GRIB, NetCDF"], ["Coverage", "Global"]], "access_note": "Free Climate Data Store account and API key", "coverage": "Global", "license": {"name": "Copernicus licence (free, attribution required)", "url": "https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels"}, "citation": "Hersbach, H., et al. (2020). The ERA5 global reanalysis. Quarterly Journal of the Royal Meteorological Society, 146, 1999–2049. https://doi.org/10.1002/qj.3803", "doi": "10.24381/cds.adbb2d47", "landing_url": "https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels", "provider_url": "https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels", "methods": [{"type": "link", "label": "reanalysis-era5-single-levels in the Climate Data Store"}], "preview": null, "thumb_credit": "IMERG precipitation (NASA GIBS), shown for the pattern", "selection": [-75.0, -20.0, -50.0, 5.0], "selection_text": "-75,-20,-50,5", "snippets": {"curl": "curl \"https://hydrological.org/api/v1/datasets/era5/links?bbox=-75,-20,-50,5\" \\\n  -H \"Accept: application/json\"", "python": "import cdsapi  # pip install cdsapi, key in ~/.cdsapirc\nc = cdsapi.Client()\nc.retrieve(\"reanalysis-era5-single-levels\", {\n    \"product_type\": [\"reanalysis\"],\n    \"variable\": [\"total_precipitation\", \"2m_temperature\"],\n    \"year\": [\"2020\"],\n    \"month\": [\"01\"],\n    \"day\": [f\"{d:02d}\" for d in range(1, 32)],\n    \"time\": [f\"{h:02d}:00\" for h in range(24)],\n    \"data_format\": \"netcdf\",\n    \"area\": [5, -75, -20, -50],\n}, \"era5_2020_01.nc\")", "javascript": "const res = await fetch(\"https://hydrological.org/api/v1/datasets/era5/links?bbox=-75,-20,-50,5\");\nconst { groups } = await res.json();\nfor (const g of groups) g.links.forEach(l => console.log(l.url));"}, "api": {"links": "/api/v1/datasets/era5/links?bbox=-75,-20,-50,5", "manifest": "/api/v1/datasets/era5/manifest?bbox=-75,-20,-50,5"}}