ERA5 requests fail intermittently

Hi,

I have been using my download script for ERA5 reanalysis before the recent weekend but am having some trouble now.

I am downloading a couple of surface variables: 
    '10m_u_component_of_wind', '10m_v_component_of_wind',    '2m_dewpoint_temperature', '2m_temperature',    'mean_sea_level_pressure',     'surface_latent_heat_flux', 'surface_sensible_heat_flux',    'surface_net_solar_radiation','surface_net_thermal_radiation' . 

The messages show the request failed but if I rerun the request it will succeed after one or two tries until it breaks down again after downloading 2-5 files. Now, I have to monitor the data request all the time to get a month of data. My understanding is that I should submit smaller rather than large request so I am requesting one file per day. Is there a requirement on the time between consecutive requests? I tried to add 30s sleep between request which does not seem to work. Are there recent changes to server rules? Any suggestions are appreciated.


Thanks,

Zheng

The error messages are given below. 


2022-04-18 21:47:09,452 INFO Welcome to the CDS
2022-04-18 21:47:09,452 INFO Sending request to https://cds.climate.copernicus.eu/api/v2/resources/reanalysis-era5-single-levels
2022-04-18 21:47:09,647 INFO Request is queued
2022-04-18 21:47:10,825 INFO Request is failed
2022-04-18 21:47:10,826 ERROR Message: the request you have submitted is not valid
2022-04-18 21:47:10,826 ERROR Reason:  
2022-04-18 21:47:10,826 ERROR   Traceback (most recent call last):
2022-04-18 21:47:10,826 ERROR     File "/opt/cdstoolbox/cdscompute/cdscompute/cdshandlers/services/handler.py", line 59, in handle_request
2022-04-18 21:47:10,826 ERROR       result = cached(context.method, proc, context, context.args, context.kwargs)
2022-04-18 21:47:10,826 ERROR     File "/opt/cdstoolbox/cdscompute/cdscompute/caching.py", line 108, in cached
2022-04-18 21:47:10,826 ERROR       result = proc(context, *context.args, **context.kwargs)
2022-04-18 21:47:10,826 ERROR     File "/opt/cdstoolbox/cdscompute/cdscompute/services.py", line 124, in __call__
2022-04-18 21:47:10,826 ERROR       return p(*args, **kwargs)
2022-04-18 21:47:10,826 ERROR     File "/opt/cdstoolbox/cdscompute/cdscompute/services.py", line 60, in __call__
2022-04-18 21:47:10,827 ERROR       return self.proc(context, *args, **kwargs)
2022-04-18 21:47:10,827 ERROR     File "/home/cds/cdsservices/services/mars/mars.py", line 47, in internal
2022-04-18 21:47:10,827 ERROR       return mars(context, request, **kwargs)
2022-04-18 21:47:10,827 ERROR     File "/home/cds/cdsservices/services/mars/mars.py", line 19, in mars
2022-04-18 21:47:10,827 ERROR       execute_mars(context, requests)
2022-04-18 21:47:10,827 ERROR     File "/home/cds/cdsservices/services/mars/execute_mars.py", line 18, in execute_mars
2022-04-18 21:47:10,827 ERROR       context.run_command("/usr/local/bin/mars", tmp, exception=MarsException)
2022-04-18 21:47:10,827 ERROR     File "/opt/cdstoolbox/cdscompute/cdscompute/context.py", line 209, in run_command
2022-04-18 21:47:10,827 ERROR       raise exception(call, proc.returncode, output)
2022-04-18 21:47:10,827 ERROR   home.cds.cdsservices.services.mars.__init__.py.exceptions.MarsException

---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
~/Codes/analysis/python/ERA5/era5down.py in <module>
     71                     '21:00','22:00','23:00' ],
     72                 'format'        : 'netcdf' }
---> 73             c.retrieve('reanalysis-era5-single-levels',reqdict , outfn )

~/anaconda3/envs/polar/lib/python3.8/site-packages/cdsapi/api.py in retrieve(self, name, request, target)
    346 
    347     def retrieve(self, name, request, target=None):
--> 348         result = self._api("%s/resources/%s" % (self.url, name), request, "POST")
    349         if target is not None:
    350             result.download(target)

~/anaconda3/envs/polar/lib/python3.8/site-packages/cdsapi/api.py in _api(self, url, request, method)
    504                         break
    505                     self.error("  %s", n)
--> 506                 raise Exception(
    507                     "%s. %s."
    508                     % (reply["error"].get("message"), reply["error"].get("reason"))

Exception: the request you have submitted is not valid. .


Hi,

I am very interested to hear more on how to solve this - or if there is an issue with the service. I have a script that has been downloading 2m-RH from CARRA (from https://cds.climate.copernicus.eu/api/v2/resources/reanalysis-carra-single-levels) for a couple of weeks with no issues. But now, since about noon on April 15, I have occasionally been getting the exact same error message as reported by Zheng Liu above. Sometimes it works fine, sometimes it doesn't. It fails about half of the time, with no apparent pattern in when.

Cheers,

Peter

Hi all,

Same here - I've been getting these errors randomly for the last few days.


Is there any fix yet?

Thx

Mark

Same here. At least since Friday.

Hi All,

The CDS team have now made some changes which should mean that these errors should be less likely to occur, so your requests should run normally.

Hope that helps,

Kevin

It works fine now. Thanks.

Zheng

Yes, now seems ok. Many thanks.

Yes, also for me. Thanks!