CDS API ERA5 Land DataSet End Dates

Hi,

An odd one - I’m requesting 19th Jan for ERA5 Land Soil Moisture,

c.retrieve(
‘reanalysis-era5-land’,
{
‘variable’: [‘volumetric_soil_water_layer_1’],
‘year’: [‘2025’],
‘month’: [‘1’],
‘day’: [‘19’],
‘time’: [‘13:00’, ‘14:00’, ‘15:00’, ‘16:00’, ‘17:00’, ‘18:00’, ‘19:00’, ‘20:00’, ‘21:00’, ‘22:00’, ‘23:00’],

‘data_format’: ‘netcdf’,
‘download_format’: ‘unarchived’,
‘area’: [14.00, -96.3, -63.50, -26.7],
‘grid’: [‘0.1/0.1’],
‘nocache’: ‘638734896389300505’,
},

… clearly 19th Jan

But API errors with

The job has failed.
None of the data you have requested is available yet, please revise the period requested. The latest date available for this dataset is: 2025-01-21 12:00

So it’s telling me 19th is not available yet because the latest is the 21st???

Any ideas?

M

1 Like

Same issue, started a 3 days ago for me. Bumping this.

Same issue also, only on ERA5Land dataset.
Via the the website I can get the data, it’s only through the API request that I get the issue…

Hi,
could you please use for the month ‘01’?

Thanks
Michela

Thank you, Michela

Yes, that fixed it,

Hi,

I’m also getting the same error and I’m not passing the month but the date:

The job failed with: MultiAdaptorNoDataError (payload={‘variable’: [‘skin_temperature’], ‘date’: ‘2025-01-06/2025-01-12’, ‘time’: [‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘10’, ‘11’, ‘12’, ‘13’, ‘14’, ‘15’, ‘16’, ‘17’, ‘18’, ‘19’, ‘20’, ‘21’, ‘22’, ‘23’], ‘area’: [90, -180, -90, 180], ‘format’: ‘grib’})

This is the full error message:

ERROR: Could not fetch data from CDS API: 400 Client Error: Bad Request for url: https://cds.climate.copernicus.eu/api/retrieve/v1/jobs/c3596851-b367-43f3-b77e-9a5f87be3124/results

None of the data you have requested is available yet, please revise the period requested. The latest date available for this dataset is: 2025-01-22 12:00

I’m requesting data from the 6th to the 12th of January, so it makes no sense to me that the error states that it’s not available yet, being that the last available date is the 22nd of January.

I’d have a guess that you’ll need to specify ‘00’, ‘01’ etc hours

Just a guess

Thanks for the reply. So, until now I’ve always fetched data like this and it worked until this Saturday… unless there has been a change in the request format?

Same for everybody, I think - working until recently.

I also used to use ‘1’, ‘2’ for the Month and the Day without issue - but it seems ERA5-Land now wants otherwise.

(I’ve always used ‘00’, ‘01’ for hour)

I don’t think ERA5 (i.e., not Land) has the issue - maybe we have that to come

I see, my issue is actually that I use “date” attribute instead of day, month and year, because it’s more flexible to get the exact time period I need, without having to make 2 requests if a week covers two months for example.

I changed the time attribute from 0 to 00:00 and it didn’t work. So, I’d like confirmation that the date attribute is then deprecated… and if it is, as an user I really think this is a setback in usability.

Out of interest, I just tried this

‘reanalysis-era5-land’,
{
‘variable’: [‘volumetric_soil_water_layer_1’],
‘date’: ‘2025-01-06/2025-01-12’,
‘time’: [‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘10’, ‘11’, ‘12’, ‘13’, ‘14’, ‘15’, ‘16’, ‘17’, ‘18’, ‘19’, ‘20’, ‘21’, ‘22’, ‘23’],

And it was successful - with single digit hours.

Did something change again at the API?

Looks like it’s working again but when I try:

payload = {‘area’: [90, -180, -90, 180], ‘date’: ‘2025-01-14/2025-01-20’, ‘format’: ‘grib’, ‘time’: [‘0’], ‘variable’: [‘total_precipitation’]}

c = cdsapi.Client(…)
c.retrieve(‘reanalysis-era5-land’, payload, target=tmp.name)
pygrib.open(tmp.name) gives me an empty object:

This used to work before, but now I suspect the downloaded object format has changed?