I hit quota/rate limits when I try to download too many variables at once.
Also the downloaded files have a random name, but I want to organise them by area, and by the months covered.
Update the script to iterate through all the variables, and rename every freshly downloaded file. If there’s a way, provide a name before the download.
import cdsapi
from enum import Enum, auto
class Variables(Enum):
TEMPERATURE_2M = “2m_temperature”
SNOW_DEPTH = “snow_depth”
SNOW_DENSITY = “snow_density”
TOTAL_PRECIPITATION = “total_precipitation”
SURFACE_SOLAR_RADIATION_DOWNWARDS = “surface_solar_radiation_downwards”
SURFACE_NET_SOLAR_RADIATION = “surface_net_solar_radiation”,
SKIN_RESERVOIR_CONTENT = “skin_reservoir_content”,
VOLUMETRIC_SOIL_WATER_LAYER_1 = “volumetric_soil_water_layer_1”
VOLUMETRIC_SOIL_WATER_LAYER_2 = “volumetric_soil_water_layer_2”
VOLUMETRIC_SOIL_WATER_LAYER_3 = “volumetric_soil_water_layer_3”
VOLUMETRIC_SOIL_WATER_LAYER_4 = “volumetric_soil_water_layer_4”
EVAPORATION_FROM_TOP_OF_CANOPY = “evaporation_from_the_top_of_canopy”
EVAPORATION_FROM_VEGETATION_TRANSPIRATION = “evaporation_from_vegetation_transpiration”
SNOW_EVAPORATION = “snow_evaporation”
WIND_10M_U_COMPONENT = “10m_u_component_of_wind”
WIND_10M_V_COMPONENT = “10m_v_component_of_wind”
TOTAL_CLOUD_COVER = “total_cloud_cover”
class Area(Enum):
CZECHIA = [51.06, 12.09, 48.55, 18.87]
KOREA_LOCAL = [38.2727, 127.9688, 37.7186, 128.6719]
KOREA_GANGWON_PROVINCE = [38.624335028000075, 126.96606463557441, 36.61174490020693,129.47388756600003]
BRAZIL = []
dataset = “reanalysis-era5-land”
request = {
“variable”: [
# Variables.TEMPERATURE_2M.value,
# Variables.TOTAL_PRECIPITATION.value,
Variables.SNOW_DEPTH.value,
Variables.SNOW_DENSITY.value,
# Variables.SURFACE_NET_SOLAR_RADIATION.value,
# Variables.SKIN_RESERVOIR_CONTENT.value,
# Variables.VOLUMETRIC_SOIL_WATER_LAYER_1.value,
# Variables.VOLUMETRIC_SOIL_WATER_LAYER_2.value,
# Variables.VOLUMETRIC_SOIL_WATER_LAYER_3.value,
# Variables.VOLUMETRIC_SOIL_WATER_LAYER_4.value,
# Variables.EVAPORATION_FROM_TOP_OF_CANOPY.value,
# Variables.EVAPORATION_FROM_VEGETATION_TRANSPIRATION.value,
# Variables.SNOW_EVAPORATION.value,
# Variables.WIND_10M_U_COMPONENT.value,
# Variables.WIND_10M_V_COMPONENT.value,
# Variables.TOTAL_CLOUD_COVER.value,
],
“year”: “2024”,
“month”: [“01”,“02”,“03”,“04”,“05”,“06”],
“day”: [
“01”, “02”, “03”, “04”, “05”, “06”, “07”, “08”, “09”, “10”,
“11”, “12”, “13”, “14”, “15”, “16”, “17”, “18”, “19”, “20”,
“21”, “22”, “23”, “24”, “25”, “26”, “27”, “28”, “29”, “30”, “31”
],
“time”: [
“00:00”, “01:00”, “02:00”, “03:00”, “04:00”, “05:00”,
“06:00”, “07:00”, “08:00”, “09:00”, “10:00”, “11:00”,
“12:00”, “13:00”, “14:00”, “15:00”, “16:00”, “17:00”,
“18:00”, “19:00”, “20:00”, “21:00”, “22:00”, “23:00”
],
“data_format”: “grib”,
“download_format”: “unarchived”,
“area”: Area.KOREA_LOCAL.value
}
if name == ‘main’:
client = cdsapi.Client()
client.retrieve(dataset, request).download()