3.2 The Pythonic Future of Postprocessing at ECMWF

Monday, 8 January 2018: 10:45 AM
Room 8 ABC (ACC) (Austin, Texas)
Stephan Siemen, ECMWF, Reading, U.K.; and I. Russell and B. Raoult

For more than 30 years ECMWF has provided libraries and tools to easily access and process forecast data, allowing users to easily build their products. Users could choose from lower-level Fortran interfaces or higher level interfaces, such as the MARS archive request language and the Metview Macro language. Python is becoming increasingly popular with analysts and scientists. For some years now ECMWF has provided lower level Python 2 interfaces to each package, but the aim is to offer a single higher level Python 3 interface based on the Metview Macro language.

Metview is ECMWF’s workstation software for interactive and batch processing and plotting of meteorological data from various sources. In addition to its graphical user interface, Metview has a powerful bespoke Macro language for the scripting of tasks and batch processing of data. The language is already very similar to Python and the aim is to keep the interface the same as possible to ease the migration of existing users.

As Metview was started, back in 1990, many of its core concepts had to be implemented from scratch. The move to Python will provide the benefits of the Python ecosystem, which offers many packages that can be built on top of. Of particular interest are certain well-established packages such as NumPy, Pandas and xarray. These choices will also hopefully enable ECMWF's software to work/interact with other Python frameworks from the meteorological and climatological communities. One project to work closely together with is the Copernicus Climate Data Store, which is developing a Python based toolbox. Both these developments will share code and will ensure full compatibility.

This talk will introduce the project to design and implement a Python framework where Metview can be part of a larger toolchain, combining its strengths with those of other scientific packages available in Python.

- Indicates paper has been withdrawn from meeting
- Indicates an Award Winner