Introduction

ECMWF is organising a 5-day Atlas code sprint event with a strictly limited number of developers from the NWP and Climate community are invited to participate in order to maximise productivity.

The goal is to first introduce Atlas to the participants and understand how Atlas could be used to develop or enhance the participant’s software.
Atlas aims to be a common library, used within many Earth system model components across the community, and a critical requirement for Atlas is to support the necessary grids, efficient parallel data structures, and remapping routines to couple the various Earth system model components.
Although Atlas supports any unstructured grid, certain grids like the Cubed Sphere, Icosahedral grid, and the ORCA (tripolar) grids could be better supported by taking their structure into consideration; in particular stencil-based operators could benefit.
This code sprint will therefore focus on implementing and/or supporting participant’s grids and data structures, including staggering with help from Atlas’ primary developers.

Participation is by invitation only and to be confirmed by 17th of February to willem.deconinck@ecmwf.int

Note

  • Travel / Accommodation is not included in this invitation.
  • Participants require Atlas to be pre-installed on their preferred system (see below)
  • Bringing your own laptop is essential to login to your preferred system.
  • Please consult this web page or contact Willem Deconinck (willem.deconinck@ecmwf.int) for any help or information.


Slides:

AtlasCodeSprint_March2019.pptx

Installing Atlas

It is required for Atlas to be installed on your preferred system. The latest version of Atlas (version 0.20) can be accessed via ECMWF's public github page:
https://github.com/ecmwf/atlas

Required system capabilities:

  • GNU compilers ( version >= 6.3 ) recommended, although other compilers are also supported : Intel (18, 19), Clang, PGI

Build system is based on CMake ( version >= 3.15 ). Prebuilt binaries are the easiest way to get CMake, and a suitable Linux version may very well work for you:

Further required software is publicly available via the ECMWF github page

  • ecbuild ( version >= 3.2 ) : CMake convenience library
  • eckit ( version >= 1.4 ) : C++ utility library
  • fckit ( version >= 0.6.5 ): Fortran utility library, based on eckit ;  optional: required for Atlas Fortran library only

Optional software: that enables more features in Atlas

  • FFTW ( version >= 3.3 )  → Spectral transforms
  • CGAL → Unstructured mesh generation
    • Requires Boost ( version >= 1.58 )
  • GridTools ( master branch ) → Enables GPU capabilities

Quick instructions

Atlas has a convenience script `install.sh` that may work for you, or may be an inspiration on how to adapt installation to your needs.

Assuming CMake is available, and the environment is properly set: (CC,CXX,FC for compilers)

mkdir sources
git clone https://github.com/ecmwf/atlas sources/atlas
sources/atlas/tools/install.sh --with-deps

This installs atlas and its dependencies in a subdirectory `install`.
The install prefix, and other build options can be modified with extra arguments to the `install.sh` script. Please check options, e.g. by calling

sources/atlas/tools/install.sh --help

In particular FFTW, CGAL and GridTools can be installed directly with arguments `--with-deps --enable-fftw --enable-cgal --enable-gridtools`.


Where and When?

Start: 2 March 2020 at 09:30
End:   6 March 2020 at 17:00

Address:  ECMWF, Shinfield Park, Reading, RG2 9AX