Configuration Management at ECMWF
Total Page:16
File Type:pdf, Size:1020Kb
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) ● Operaonal and research use. Other soUware: ● Libraries and tools. e.g. grib_api, Metview. ● Moving to Open Source (Apache2). ● DisTnct development and management from IFS code. Configuraon 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 scienTsts, enforce local convenTons & addiTonal 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 compilaon of libraries. ● Increasing dependency between projects (because of Fortran modules) enforces compilaon 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 soUware 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 funcTonality. ● 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 opTons per file ● Issues ○ Will require C++ support. ○ Beier 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 integraon with git. Look forward to collaboraon with Met Office on FCM Interested in parTcipang in IS-ENES2 community evaluaon - believe this will be of benefit to ECMWF. Slide 8 © ECMWF .