cdsapi: regular download bugs with cdsapi

Hi, I use csdapisince years to download ERA5-Land data daily. I did not notice any major problem previously but since a while I have regular problems which results in retrieving only part of the time available for a given variable.

For example, the following code gives me the wanted variable for june 1st to june 4 only:

dataset = "reanalysis-era5-land"
request = {
    "variable": ["snow_depth_water_equivalent"],
    "year": "2025",
    "month": "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"],
    "data_format": "grib",
    "download_format": "unarchived",
    "area": [56.4, -82.4, 42.7, -61.1],
    # [70, -90, 40, -50],
}


target = "test.grib"
client = cdsapi.Client()
client.retrieve(dataset, request, target)

while the following command (just using a limited day array) gives me a file that goes from june 1st to june 14.

dataset = "reanalysis-era5-land"
request = {
    "variable": ["snow_depth_water_equivalent"],
    "year": "2025",
    "month": "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"],
    "data_format": "grib",
    "download_format": "unarchived",
    "area": [56.4, -82.4, 42.7, -61.1],
    # [70, -90, 40, -50],
}
target = "test2.grib"
client = cdsapi.Client()
client.retrieve(dataset, request, target)

This is just an example of a request that worked previously and that suddenly does not. In the recent months I had other similar stories, for example I had to go from "month": "6" to "month": "06" or else I had incomplete dataset.

I can live with the fact that a “bad” request does give a “bad” result, but the unstability of the results of cdsapi requests (i.e. it worked but does not anymore) is a problem for me and did take me quite some time to deal with.

I wonder if other users had similar experience and if I am missing something with my way of using cdsapi

FYI : I am using python 3.9 and cdsapi 0.7.6

Hi Sebastien, I suspect this is the CDS cache, whereby if you run the same request in a short period of time, you will get the same data (regardless of if new data has become available in the meantime) - see How to avoid the CDS cache issue
Thanks,
Kevin