Blog from January, 2014

Building and installing software, especially across different platforms has always been a time consuming and laborious task. We have been looking into improving this for ECMWF software packages.

Some users might remember a previous effort to migrate some packages to autotools, which brought some improvements from the previous scripted or handwritten Makefiles. But even the autotools as proved complex and are hard to maintain.

Moreover, we were looking for a uniform way to build all software packages, so that users only have to learn one process to build any package ECMWF provides.

After a review of possible alternatives, we decided build a common build environment based on CMake.
This tool is well established in the Open Source community (see KDE, LLVM+Clang, Trilinos, etc) and offers full cross platform support and system introspection.

This common build environment is called ecBuild, and is basically a collection of function extensions to CMake.
From the user perspective it is relatively invisible, but it provides many interesting features:

  • unifies how ECMWF software finds its dependencies
  • guarantees that all packages will find the same dependent library (e.g. same NetCDF library for Grib_api and Magics++)
  • supports for out-of-source builds
  • supports for MacOSX (and even Windows)
  • supports for cross-compilation onn hybrid HPC super-computers
  • builds faster (and in parallel)
  • packaging and generation of RPMs and DEBs
  • automated testing

We hope to see all packages (including Emoslib!) over the coming year using ecBuild.
By having all packages under the same installation set-up we hope to make the user experience consistent between packages and reduce overall maintenance effort.

Each package will continue to have their own package specific installation guide but all of these will refer to the general guidelines for CMake based installations at

https://confluence.ecmwf.int/display/DS/Software+installations

The current Metview desktop interface is based on the Motif GUI toolkit and was developed more than a decade ago. It has now been rewritten using Qt and an alpha version is already available for testing for dedicated users at ECMWF. This development was necessary to modernise the user interface and add new features which are commonly available in today's file manager applications. The usage of Qt, since it is a cross-platform application framework, could help us to migrate Metview to non-UNIX platforms in the future.

One our design goals was to keep as much functionality as possible from the old desktop to make the migration for existing Metview users smooth and straightforward. Naturally the new desktop comes with plenty of new features such as: various icon views, folder bookmarks, improved folder navigation using breadcrumbs and a new set of icon editors. We plan to make the new desktop available for external users in an export release later this year.

Metview's 20th Anniversary

On Friday 6th December 2013, the Metview developers (past and present) celebrated Metview's 20th anniversary. We attracted many users from within ECMWF to help us celebrate (the cake and drink may have helped!) and we took the opportunity to display some Metview posters, including a sneak preview of the new desktop user interface.

That same week also saw the change of default Metview version installed at ECMWF change from 3 to 4, marking an important milestone in the migration to Metview 4 - another reason for the celebration