The European Weather Cloud is in the pilot phase, access to its resources may be limited. Please see the Terms and Conditions

To learn more about MARS and how to use it, please visit the MARS user documentation.

One of the big features of the European Weather Cloud is the fast access to data resources. If you want to access MARS from the European Weather Cloud, here is what you need to do.

Interim MARS setting due to ECMWF Archive relocation

Due to the recent move of ECMWF Data Centre to Bologna, Italy, access to MARS from the current European Weather Cloud Pilot infrastructure at ECMWF Reading needs an additional interim setting before running your request:

export MARS_ENVIRON_ORIGIN=webmars

Setting up your instance

For fast MARS access, you will need to provision your instance on the ECMWF cloud.

Both Ubuntu and CentOS support MARS.

  • When provisioning a new instance, make sure you select the "*-data" layout.
  • Make sure you add the data network in addition to the public/private one. 

    When having more than one network, please configure data as the last one

Configuring MARS

The command-line client will be pre-installed if you chose the "*-data" layout, but you will need an extra step so MARS knows who you are when you issue your requests. 

  1. In your web browser...
    1. Go to
    2. Log in with your ECMWF user and password if you are not logged int already
    3. Copy your API key
  2.  In a terminal (ssh or console) session on your new VM, run the following command to install your credentials on your account in this VM:

    mars --token <yourkey> --email <youremail>

    Example: if your API key is da7y37f1d5c7494662e36df034bn6323 and your email is :

    mars --token da7y37f1d5c7494662e36df034bn6323 --email

Test your setup

You may only access data you have been granted access to. In some cases you may not be able to retrieve valid forecast data.

You may test your connection by any valid MARS request. You have a number of examples in MARS example requests

If you have access to real time data, a quick one-liner to test everything works is:

echo "retrieve, target=test.grib" | mars

The command should end with 0 exit code, a message stating "No errors reported" and a new file called test.grib containing 6 GRIB fields. You may decode them using ecCodes.