import cdsapi

dataset = "reanalysis-era5-single-levels"
request = {
    "product_type": ["reanalysis"],
    "variable": [
        "mean_sea_level_pressure",
        "sea_surface_temperature"
    ],
    "year": ["2021"],
    "month": ["04"],
    "day": [
        "18", "19", "20",
        "21", "22", "23",
        "24", "25"
    ],
    "time": [
        "00:00", "06:00", "12:00",
        "18:00"
    ],
    "data_format": "netcdf",
    "download_format": "unarchived",
    "area": [20, -85, -60, -10]
}

client = cdsapi.Client()
client.retrieve(dataset, request).download('ERA5_Surface.nc')

import cdsapi

dataset = "reanalysis-era5-pressure-levels"
request = {
    "product_type": ["reanalysis"],
    "variable": [
        "geopotential",
        "u_component_of_wind",
        "v_component_of_wind"
    ],
    "year": ["2021"],
    "month": ["04"],
    "day": [
        "18", "19", "20",
        "21", "22", "23",
        "24", "25"
    ],
    "time": [
        "00:00", "06:00", "12:00",
        "18:00"
    ],
    "pressure_level": [
        "100", "125", "150",
        "175", "200", "225",
        "250", "300", "350",
        "400", "450", "500",
        "550", "600", "650",
        "700", "750", "775",
        "800", "825", "850",
        "875", "900", "925",
        "950", "975", "1000"
    ],
    "data_format": "netcdf",
    "download_format": "unarchived",
    "area": [20, -85, -60, -10]
}

client = cdsapi.Client()
client.retrieve(dataset, request).download('ERA5_presLevs.nc')
