Configuration management at ECMWF
Glenn Carver Paul Burton
[email protected], [email protected]
IS-ENES2 Configuration Management Workshop 2013, Met Office, Exeter, UK 23-24 September 2013
Slide 1 © ECMWF Who are we and what do we do?
European Centre We are an independent international organisation funded by 34 States Medium-Range Up to fifteen days ahead. Today our products also include monthly and seasonal forecasts and we collect and store meteorological data. Weather Forecasts We produce global weather forecasts
What do we have to achieve this? People About 260 staff, specialists and contractors Equipment State-of-the-art supercomputers and data handling systems Budget £50 million per year Experience 37 years
Slide 2 © ECMWF Software at ECMWF
IFS : Integrated Forecast System ● Approx 3 million lines of code. ● Includes forecast model, 4D-Var, tangent linear & adjoint models, land- surface and wave models, NEMO ocean model and single column model. ● Mostly Fortran90 with some C. ● New components in development use C++ (e.g. new I/O layer, new control layer) ● Opera onal and research use. Other so ware: ● Libraries and tools. e.g. grib_api, Metview. ● Moving to Open Source (Apache2). ● Dis nct development and management from IFS code.
Configura on management is different for IFS &’other’.
Slide 3 © ECMWF Configuration management
IFS: ● Perforce for last 10yrs, previously Clearcase. ● Perl wrappers are used to make commands easier for scien sts, enforce local conven ons & addi onal sanity checks. Based on previous VCS clearcase workflow. ● Code is separated into directory ‘projects’ which currently are compiled into separate libxx.a before the final link step. ● Parallel build restricted to parallel compila on of libraries. ● Increasing dependency between projects (because of Fortran modules) enforces compila on order of libraries. ● Current build system uses a separate dependency analysis step, and recursive makefiles. Old, inflexible, difficult to debug and slow.
FCM provides opportunity to update & improve current IFS build system
Slide 4 © ECMWF Configuration management (2)
Other so ware packages:
● Managed by Forecast Products department. ● Separate Perforce repository. ● Libraries and tools e.g. grib_api, magics++, Metview, etc. ● Mix of languages: C, C++ and increasingly python. ● Moving from Perforce to ‘git’. Part of general desire to move away from Perforce. ● Moving from ‘autotools’ to ‘CMake’.
Slide 5 © ECMWF OpenIFS
Academic version of IFS. ● Much smaller codebase; forecast mode only. ● Needed to be easier to build for users. ● Useful testbed for technical changes suitable for IFS. ● Early users find ‘fcm make’ easy to use. ● No ‘wrappers’ around fcm as yet (e.g. WRF-style) but might be needed in future.
FCM ● Only use ‘fcm make’ facility but other users (e.g. UK NCAS) will use more fcm func onality. ● Thanks to Dave & Ma for assistance. ● FCM well received at ECMWF.
Slide 6 © ECMWF Benefits & Issues
● Benefits ○ Integrated & reliable dependency analysis ○ Fast & parallel ○ Removes inter-project dependency issues ○ Easy to change compile op ons per file
● Issues ○ Will require C++ support. ○ Be er access to log file - hidden nature not ideal. ○ Can’t see compiler warnings using -v and -vv is too verbose. ○ Temporary nature of final libXX.a for linking causes problems for tools like CrayPAT which inspect the link step.
Slide 7 © ECMWF Summary
FCM works very well with OpenIFS.
Will be used for IFS and other ECMWF codes.
Interested in integra on with git.
Look forward to collabora on with Met Office on FCM
Interested in par cipa ng in IS-ENES2 community evalua on - believe this will be of benefit to ECMWF.
Slide 8 © ECMWF