Skip to end of metadata
Go to start of metadata

Introduction

Main steps

Main steps:

  • We strongly recommend users to read our ECMWF Service Status and the WebAPI FAQ before reporting the problem
  • If the problem you are experiencing is included in the troubleshooting list below, please follow the corresponding instructions.
  • If you are still experiencing problems, or if the problem is NOT included in the troubleshooting list below, please feel free to report the problem

(lightbulb) Before you report any problem please note that usually on Wednesdays, we carry out service maintenance sessions, which may affect the availability of the Web-API service.

  • For real time information please visit the ECMWF Service Status area.     
  • Please note that Web API availability, depends on the availability of other services like MARS, INTERNET and WEB-SERVICES.


How to report a problem

How to report a problem:

Who to contact: servicedesk@ecmwf.int

What information you will need to pass:

  • Your login
  • Your job id 
  • The problem you are experiencing

Where to find this information:

  • All this information can be found on your job list (see next paragraph) or
  • In the service response (in case of a Web-API  script, look the log messages returned by the server)
  • A lot of useful information can be also found on the MARS activity page

Your job list

Your job list

(lightbulb) Your job list is important for tracing back and debugging your requests. It includes plenty of useful information, like the following:

  • job id,
  • user login,
  • status of your request,
  • duration of your request,
  • details of your request (ie what you have requested),
  • log messages of your request (ie the feedback from our servers).  
  • an option to cancel a request (sad)

 

killing or cancelling a request?

(warning) If you kill a Web-API request on your local environment (e.g. by CTRL+C), the corresponding job, on the web-API service level, is NOT cancelled but still running. In that case please keep in mind the following:

  • Your request will continue to be visible in your job list
  • If you wish to cancel it please use the corresponding option on your job list
  • Once you have cancelled it, the request status will become aborted.
  • Due to the "max active requests per user" limitation, killing or cancelling requests may affect the performance of your other submitted requests.


General issues

Browse our online WebAPI FAQ for help with common user questions.

long running request

  • Check the status of your request in your job list
  • If your request is not in your job list please report the problem
  • If your request is in your job list and the status has been "queued", for a long time, we recommend you the following:
    • Check the Nr of your "active" and "queued" requests. Please keep in mind that a limitation of  3  "active" requests/per user has been set to improve the service
    • Have a look on our  MARS activity to check the current status of our service.(ie if the service is busy you will see plenty of "queued"  requests)
  • If your long running request is in your job list and the  status  is "active"it means that your request is currently handled by MARS but for some reasons it is slow.
    In this case we recommend you the following:

 

(lightbulb) Please keep in mind the following:

  • Many requests submitted by other users may be running in parallel consuming the services resources (MARS slots, Web-API slots, Tapes etc)
  • A limitation of  3 "active" requests/per user has been set to improve the service
  • Read carefully our retrieval efficiency pages and check if you can split your big requests
  • Read the efficiency tips below:

Efficiency tips

  • Smaller Nr of tapes (a request accesses) means better request efficiency.
  • Ideally requests should not access more than 1 tape.
  • Requests for data which is online in general go faster
  • All this information above, can be found in MARS activity

aborted request

  • If your request is "aborted" please check the log messages, find the "error"  and follow the troubleshooting instructions below.
  • If the problem is not included  in the troubleshooting list below, please contact us.

restricted access to valid data

example
'mars - ERROR  - 20160712.064620 - Request validation failed:',
'mars - ERROR  - 20160712.064620 - restricted access to valid data.',
'mars - ERROR  - 20160712.064620 - For more information, look at ',
'mars - ERROR  - 20160712.064620 - https://software.ecmwf.int/wiki/display/UDOC/MARS+access+restrictions#valid.',
'mars - ERROR  - 20160712.064620 - For any queries, please, contact User Support',
'mars - ERROR  - 20160712.064620 - Some errors reported',
  • Your request will be  "aborted" if you are trying to access restricted data.
  • For more information please have a look at MARS access restrictions

Cannot retrieve more than XXX.XXX fields in one request via the WebAPI. Please, split your request

example
mars - ERROR  - 20160712.133205 - UserError: Cannot retrieve more 
than XXX.XXX fields in one request via the WebAPI. Please, split your 
request [marsode]
mars - ERROR  - 20160712.133205 - Error code is -2
mars - ERROR  - 20160712.133205 - Request failed
mars - INFO   - 20160712.133205 - Request time:  wall: 1 sec
mars - ERROR  - 20160712.133205 - Some errors reported
  • On Web-API some limitations have been set to improve the service.  Check the current limits here: News feed 
  • In this case, your job has reached the limit of XXX.XXX fields per request. Please split your request into smaller sub requests.

ecmwfapi.api.APIException: u'ecmwf.API error 1: TaskError: Maximum retrieve size XX.XX GB reached. Please split your request.'

  • On Web-API some limitations have been set to improve the service.  Check the current limits here: News feed 
  • In this case your job has reached the limit of XXGB per request. Please split your request into smaller sub requests.

HTTP status issues

HTTP Error 404: NOT FOUND

Resource not found: datasets/None'

if you are using the Access ECMWF Public Datasets service and you get this error it means that the mandatory keyword "dataset" is not set. Review the request and add this keyword.

Resource not found: datasets/interim_daily or Resource not found: datasets/interim_full

The datasets interim_daily and interim_full do not exists any more. Please change your request to ask for the dataset interim instead. Please note that interim is now equivalent to the interim_full, the full resolution dataset. To get the equivalent to the interim_daily dataset, you will need to set "grid" to "1.5/1.5" in your request.

HTTP Error 403: FORBIDDEN

ecmwfapi.api.APIException: u"ecmwf.API error 1: User '...' has no access to services/mars"

HTTP Error 503

Please check the ECMWF Service Status before reporting the problem

If the WEB-SERVICES status is green, it might be an Internal ECMWF server issue. Please report the problem

Web-API issues

Invalid or missing key or token

 

Make sure you get a new key from https://api.ecmwf.int/v1/key/. The key that was provided with the old data servers does not work any more. The file in $HOME/.ecmwfapirc should contain something like:

{
    "url"   : "https://api.ecmwf.int/v1",
    "key"   : "XXXXXXXXXXXXXXXXXXXXXX",
    "email" : "john.smith@example.com"
}

Including the curly brackets.

Python issues

ECMWF API at None

ValueError: unknown url type: None/who-am-i?offset=0&limit=500

 

WARNING: httplib2.URLError received None <urlopen error unknown url type: https>

Access to ECMWF servers is done over HTTPS. Your Python version does not support SSL (Secure Socket Layer) used by HTTPS.

To verify if SSL is enabled in your python , try the following:

>>> import socket
>>> socket.ssl
<function ssl at 0x4038b0>


If the output is different, then you should rebuild or reinstall python with ssl enabled.

 

WARNING: httplib2.URLError received None <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

The problem may be that the SSL library used in this Python version doesn't look in the correct certificate path.

  • Try from another environment.
  • Check which version of Python you are using and how it was installed and linked to openssl.

 

Python socket module was not compiled with SSL support. Aborting...

Access to ECMWF servers is done over HTTPS. Your Python version does not support HTTPS. See above on how to check the ssl support in Python.

assert total == size AssertionError

This means that the Web API client script failed to transfer the data from the ECMWF servers to your local machine. The reasons can be:
  • Connectivity network issues.
  • Local disk space or file systems issues

(lightbulb) Check if the results are still available in your job list

(smile) If not, you may wish to rerun the request

(warning) Check if you have installed the latest api client from our Downloads

 

Perl issues

Can't connect to ... (certificate verify failed) or LWP::Protocol::https::Socket: SSL connect attempt failed with unknown error

Try to set the environment variable PERL_LWP_SSL_VERIFY_HOSTNAME to 0:

export PERL_LWP_SSL_VERIFY_HOSTNAME=0

or directly in your Perl script:

BEGIN { $ENV{"PERL_LWP_SSL_VERIFY_HOSTNAME"} = 0; }

MARS issues

General MARS Trouble-shooting

MARS messages

(lightbulb) It is very important users to be aware of the MARS messages:

INFOrequest being processed and a report on the execution at the end
DEBUGadditional information if debugging is switched on
WARNINGany unusual aspect of the execution
ERRORsystem or data errors which do not stop MARS execution
FATALterminates the execution of MARS

mars - WARN   - 20130522.082222 - connect : marsxyz 9000 (Connection refused)

mars - FATAL - 20160712.162606 - Signal 15 received


 

  • No labels