Data at ECMWF
ECMWF's Meteorological Archival and Retrieval System (MARS) enables you to explore and retrieve meteorological data in GRIB or NetCDF format. GRIB (General Regularly distributed Information in Binary form) is the WMO's format for binary gridded data and is designed for storing and distributing weather data. GRIB files are widely used in meteorological applications. NetCDF (Network Common Data Form) is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.
Meteorological Archival and Retrieval System (MARS)
How to make a MARS request?
What ECMWF says: here
- using ECMWF's servers
- using MARS web api in Python
- using ECMWF mars web interface using the archive catalogue.
General Regularly distributed Information in Binary form (GRIB)
GRIB is a binary format, and the data is packed to increase storage efficiency. GRIB messages are often concatenated together to form a GRIB file. GRIB files usually have the extension .grib, .grb or .gb.
Currently there are two different coding standards: GRIB edition 1 (commonly referred to as GRIB1) and GRIB edition 2 (GRIB2). The major differences are in the structure of the messages; in GRIB2, several variables are defined with more precision (e.g. in GRIB1, latitudes and longitudes are in milli-degrees while in GRIB2, they are in micro-degrees). Also in GRIB2, longitude values must lie between 0 and 360 degrees), the encoding of the parameter is very different, and in GRIB2 the description of the data is template/table based. Note that a GRIB file can contain a mix of GRIB1 and GRIB2 messages.
How to read GRIB files?
ECMWF provides and supports ecCodes. This software package has an Application Program Interface which makes ECMWF GRIB1 and GRIB2 files accessible from C, FORTRAN and Python programmes. ecCodes also provides a useful set of command line tools to give quick access to GRIB messages within the files.
Commonly used programs that can handle grib files:
We have some examples of reading grib files:
it is also possible to convert grib files into netcdf files:
Convert GRIB to NetCDF | |
---|---|
1 2 3 4 |
|
grib_to_netcdf
only works correctly when a single level coordinate is present in the GRIB file. Often the model output files have fields on multiple level types (ie. hybrid model levels and pressure levels).
Split Model level types | |
---|---|
1 2 3 4 |
|
more information can be found at ECMWF
Example of an efficient MARS request
It is not easy to write good MARS requests, because there are so many parameters.
A few things are important: 1. NetCDF does not handle well different times and steps. 2. Retrieving should loop by experiment, date, time and retrieve as much as possible 3. Check the catalogue first and do a "estimate download size" check. Look for the number of tapes. If it is one tape, then you are fine.
MARS retrieval of HRES operational forecast | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
|
Created: February 1, 2024