Summer School on Effective HPC for Climate and Weather

June COVID-19 Update The Summer School on Effective HPC for Climate and Weather is now an online event. Everyone interested in joining us for five days of learning and debating HPC systems and Climate and Weather applications is welcome! We required that all participants that want to attend the main event from 24 to 28 August 2020 make a formal registration if you have not yet done so. Check Section Registration. After the event, part of the material will be available for download. Check the agenda for slight changes in the main event, specifically the ones concerning the Group Projects. To create a community for the summer school and to ease communication, we will register everyone to our Mailing List.

May COVID-19 Update We have now decided to cancel the face-to-face meeting in the summer school as it is unlikely that the majority of the participants can attend and return safely to their country. We will be adapting our agenda to make the most out of the virtual event. On the positive side, we will open the summer school as much as possible to participants free of charge and generate videos of the training. Lab sessions will still be offered to participants (prioritised to officially accepted participants). The registration will still be required, but the process will be straightforward, the form will be updated once we confirm the agenda.

April COVID-19 Update The current situation is guided by the restrictions implied by COVID-19: We must keep in mind the health and safety of all participants. Given the nature of the summer school – where we would have mostly international participants of different countries – this is not clear. We would only organise the meeting as planned, in case that nearly all participants could attend as it is meaningless if 50% of attendees could not attend due to travel limitations. As the situation is yet uncertain, we cannot yet confirm that the summer school will take place as planned in Reading in August. Therefore, if you intend to apply, please do so. Of course, we hope everything will take place as planned but we cannot promise. If the summer school cannot take place, we will organise a virtual summer school instead such that everyone can participate. We will make a definitive decision at the end of May.

The Summer School on Effective HPC for Climate and Weather will bring together young researchers and software engineers interested in the current technological developments in the field of climate modelling. Together, they will explore hot topics in high-performance computing and climate and weather applications.

Making effective use of HPC environments becomes increasingly challenging for PhD students and young researchers. As their primary intent is to generate insight, they often struggle with the technical nature of the tools and environments that enable their computer-aided research: computation, integration, and analysis of relevant data. The scope of this event is the training of young researchers and software engineers in methods, tools, and theoretical knowledge to make effective use of HPC environments and generate insights for the field and their research.

Due to COVID-19 restrictions, the Summer School 2020 will be an online-only event. We hope next year to welcome you in Reading - UK, as it was initially planned. You can check some preliminary information about the 2021 event in Summer School on Effective HPC for Climate and Weather.

Date 24-28 August 2020
Venue Online Event (free to attend)
Contact Julian Kunkel (University of Reading, UK)
Communication Mailing List

While the school aims to prepare the attendees for large scale simulation runs and data processing, it does also cover a representative selection of modern concepts such as machine learning, domain-specific languages, containerisation, and analysis of climate/weather data using Python 1).

We will also provide an outlook of challenges and strategies for HPC for climate and weather. Additionally, we aim to foster networking among scientists bringing together users of specific models and tools and enabling them to exchange their knowledge.

A certificate of attendance will be provided to all participants that attend the event regularly.

The summer school will also support the mission of the European Network for Earth System modelling (ENES).

The ESiWACE project funds this summer school.

  • 24 January 2020 – Applications for attending the summer school open (with optional subsidy)
  • 28 February 2020 – Applications for the summer school close for applications requesting subsidy
  • 06 March 2020 – Extended deadline Applications for the summer school close for applications requesting subsidy
  • 13 March 2020 – Applicants receive notification of the decision on subsidy and acceptance
  • 12 May 2020 – General applications for attending the summer school close
  • 26 May 2020 – All applicants receive information of the decision on acceptance
  • 22 June 2020 – Applications for attending the summer school reopen ⇒ Event is now online and free!
  • 24-28 August 2020 – Summer School on Effective HPC for Climate and Weather
  • Mid-September – Certificates have been sent to all participants that attend the event regularly.

The ESiWACE Summer School is structured along with topical sessions in the morning/afternoon.

A topical session typically consists of an academic lecture and it may contain hands-on/lab practicals. Experts in the respective field will organise each of these sessions.

The hands-on tutorials/lab practicals work as follows:

  • A video tutorial is pre-recorded and will provide an introduction/walk-through to the topic.
    • The tutorials will be scheduled for each session, however, the usage is up to your decision.
  • We provide a tutorial to set up the Virtual Machine. The VM comes with Ubuntu and all the software for the training pre-installed. Attendees may install the VM on their PC to perform most of the training. Some training may be on a dedicated cluster. You should set up the VM before the summer school if you like to participate in the tutorial sessions.
  • A lab practical may list additional exercises and suggestions for further learning.
  • At the end of the day, a time slot for a Virtual Lab Session is given to allow independent/self-paced learning, and participants can decide what and when they want to engage.
  • On Friday, a dedicated Q&A slot per lab practical is scheduled. The session will offer the participants the opportunity to contact the organiser of each hands-on session and ask questions regarding the topic and particularly regarding the tutorial and exercises.
  • Additional support will be provided by the Mailing List, in which participants may post questions and cooperate with other students and the organisers.

Detailed information will be announced to registered attendees at the end of July.

The topics covered in the summer school are as follows:

Extreme-Scale Computation

This session will introduce the concept of extreme-scale computing with an explanation of the trends in the computer architectures that provide the underlying computing power. In particular, the increasing use of parallelism and heterogeneity in these architectures will be discussed.

A high-level overview will then be given of the performance, portability and productivity (3P's) requirements that Weather and Climate models have in order to run successfully on these computer architectures. It will be shown how current approaches can struggle to meet all three of these requirements.

Lastly, a relatively new, Domain-Specific Language (DSL), approach to programming Weather and Climate models will be introduced with examples from two existing DSLs - DAWN and PSyclone. It will be shown that the DSL approach offers the possibility of supporting all three of the above requirements, by separating the implementation of the science code from its parallelisation and optimisation on the underlying computer architecture.

Learning Objectives

  • Illustrate the complexity and diversity of extreme-scale computing on examples in climate and weather
  • State the Performance, Portability and Productivity requirements of Weather and Climate models (3P’s)
  • Describe how Domain-Specific Languages (DSLs) can provide a solution to the problem of providing the 3P's
  • Use PSyclone and Gridtools DSLs for small applications

Session: Monday, 24 August 2020, 09:00h

Parallel Programming in Practice

In this session, we will provide a global overview of how the main concepts of parallel programming are implemented in weather and climate codes. We will detail the different parallel programming models for distributed and shared memory systems and describe the resulting scalability of commonly-used algorithms implementing those models. Particular attention will be devoted to specific features that may inhibit scaling and performance of weather and climate codes. This analysis will be done at the level of the code routine itself but also in the more general context of code coupling, the latter being a specific implementation of coarse grain parallelism.

Learning Objectives

  • Describe the scaling characteristics of commonly used algorithms in weather and climate models
  • Discuss issues which may inhibit scaling and performance
  • Classify programming models for distributed and shared memory systems
  • Identify performance features and potential issues for computer processor architectures
  • Describe the concepts of coupling software
  • Classify coupling software implementations given their main characteristics
  • Evaluate qualitatively the impact of different coupling configurations (sequential vs concurrent, multi vs mono-executable, …) on coupled model performance
  • Describe the most used coupling software in climate and weather applications

Session: Monday, 24 August 2020, 13:30h

Modern Storage

Learning Objectives

  • Describe the architecture and architectural implications of modern storage architectures and object stores suitable for extreme-scale computing
  • Discuss the storage stack with its semantics and potential performance implications on different levels: in particular POSIX vs MPI-IO vs NetCDF and high-level I/O middleware
  • Execute the Darshan tool to identify I/O patterns and assess the performance
  • Apply benchmarking tools to assess the performance

Session: Tuesday, 25 August 2020, 09:00h

Input/Output and Middleware

Climate and weather research is typically data-intensive and applications must utilise input/output efficiently. Often, a user struggles to assess observed performance leading to superflux attempts to tune the application and optimise performance in a wrong layer of the stack. The content of this session is twofold. Firstly, we discuss storage layers focusing on the NetCDF middleware and provide a performance model that aids users to identify inefficient I/O. Secondly, we introduce the NetCDF Climate and Forecast (CF) conventions that are often used as a standard to exchange data.

Learning Objectives

  • Discuss challenges for data-driven research
  • Describe the role of middleware and file formats
  • Identify typical I/O performance issues and their causes
  • Apply performance models to assess and optimise I/O performance
  • Design a data model for NetCDF/CF
  • Analyse, manipulate and visualise NetCDF data
  • Execute programs in C and Python that read and write NetCDF files in a metadata-aware manner
  • Implement an application that utilises parallel I/O to store and analyse data
  • Describe ongoing research activities in high-performance storage

Session: Tuesday, 25 August 2020, 13:30h

Machine Learning

(1) Predicting weather and climate require modelling the Earth System – a huge system that consists of many individual components that show chaotic behaviour and for which conventional tools often struggle to provide satisfying results. (2) A huge amount of data of the Earth System is available from both observations and modelling. (3) Machine learning methods allow learning complex non-linear behaviour from data if enough data is available and to apply the learned tools efficiently on modern supercomputers. If you combine (1), (2) and (3), it is easy to see that there are a large number of potential application areas for machine learning in weather and climate science that are currently explored. However, whether these approaches will succeed is still unclear as there are also a number of challenges for the application of machine learning tools in weather predictions. This talk will provide an introduction to machine learning, outline how to apply machine learning in Earth System modelling, show examples for the application of machine learning throughout the weather and climate modelling workflow, and discuss the challenges that will need to be tackled.

Learning Objectives

  • Describe the relevance of Machine Learning and its application to judge why there is such a hype around the topic at the moment
  • Explore how machine learning can be used in weather and climate modelling
  • List a number of specific examples for the use of machine learning at ECMWF
  • Discuss challenges for machine learning in weather and climate science

Session: Wednesday, 26 August 2020, 09:30h

ECMWF - Virtual Visit

  • Introduction: Wednesday, 26 August 2020, 11:00h
  • Computer Hall Tour

Learn about the performance and specifications of the ECMWF High-Performance Computing Facilities, and the way this supercomputer is used for operations, storage and research by ECMWF and its 34 Member & Co-operating States. The presentation will include a video tour of the computing facilities currently located in our HQ in Reading and a preview of what the new data centre will look like when it opens in Bologna (Italy) next year.

Session: Wednesday, 26 August 2020, 11:30h

  • Weather Room Tour

Learn about ECMWF Forecasting products and activities. A member of the ECMWF Forecasting team will introduce you to the maps, charts and plots that are produced daily in the “Weather Room” for weather prediction and analysis.

Session: Wednesday, 26 August 2020, 12:00h

High-Performance Data Analytics and Visualisation

Analysis and visualisation of scientific data, such as those in the field of climate and weather, requires solution capable of effectively and efficiently handling massive data. In this session, we will discuss some of the main challenges concerning scientific data management and in particular those related to data analytics and visualisation. Software solutions for high-performance data analytics and visualisation, as well as examples of applications of these systems for real use cases in the climate and weather domain, will be presented. The lab tutorial will provide a more practical introduction about some tools and modules for data analysis and how to apply these on climate data, as well as a walk-through of the VMI for the virtual lab.

Learning Objectives

  • Discuss the main challenges of joining big data and HPC for scientific data management, in particular for data analytics and visualisation
  • Put into action practical hints about some HPDA tools and their application to scientific data at scale
  • Apply techniques and knowledge acquired during the course to real case studies in the weather and climate domain

Session: Wednesday, 26 August 2020, 13:30h

Performance Analysis

Learning Objectives

  • Define performance analysis fundamentals (objectives, methods, metrics, hardware counters, etc.)
  • Describe the BSC performance analysis tools suite (Extrae, Paraver, Dimemas)
  • Interpret uses cases from Earth System Models (IFS, NEMO, etc.) that illustrate how to identify and solve performance issues
  • Apply profiling techniques to identify performance bottlenecks in your code
  • Summarise typical performance problems
  • Discuss specific knowledge about performance analysis applied to earth system modelling

Session: Thursday, 27 August 2020, 09:00h

Containers

This session will present an introduction to an end-to-end scientific computing workflow utilising Docker containers. Attendees will learn about the fundamentals of containerisation and the advantages it brings to scientific software. Participants will then familiarise with Docker technologies and tools, discovering how to manage and run containers on personal computers, and how to build applications of increasing complexity into portable container images. Particular emphasis will be given to software resources which enable highly-efficient scientific applications, like MPI libraries and the CUDA Toolkit. The second part of the lecture will focus on deploying Docker images on high-end computing systems, using a container engine capable of leveraging the performance and scalability of such machines, while maintaining a consistent user experience with Docker.

Learning Objectives

  • Describe the difference between a container and a virtual machine
  • Explain the relationship between a container and a container image
  • Outline the basic workflow for the distribution of an image
  • List advantages of using containers for scientific applications
  • Write a Dockerfile
  • Build a container image using Docker
  • Run containers on personal computers using Docker
  • Perform basic management of Docker containers and images
  • Explain the motivations which drove the creation of HPC-focused container solutions
  • Highlight differences and similarities between Docker and Sarus

Session: Thursday, 27 August 2020, 13:30h

Times are given in BST (GMT+1).

The videos are available in playlist for lectures and playlist for labs.

Monday - Computing

  • 08:50 Welcome – Julian Kunkel (University of Reading) – SlidesVideo
  • 09:00 Extreme-Scale Computation – Chair: Rupert Ford (STFC, UK), Carlos Osuna (MeteoSwiss, Switzerland)
    • 09:00 Extreme Computing Session - Overview – Rupert Ford – SlidesVideo
    • 09:05 Supercomputer Trends – Simon McIntosh-Smith (University of Bristol, UK) – SlidesVideo
    • 09:30 Performance, Portability and Productivity – Rupert Ford – SlidesVideo
    • 10:00 Introduction to DSLs – Ben Weber and Rupert Ford – SlidesVideo
    • 10:30 Virtual Refreshment Break
    • 10:45 An Introduction to PSyclone – Andrew Porter (STFC, UK) – SlidesVideo
    • 11:15 Dusk & Dawn - Introduction and Overview – Giacomo Serafini (MeteoSwiss, Switzerland) – SlidesVideo
    • 11:45 Tutorial Introduction – Carlos Osuna
    • 12:15 Lab Tutorial: Extreme-Scale ComputationMaterialShort Introduction - Video
  • 12:45 Virtual Lunch Break
  • 13:30 Parallel Programming in Practice – Chair: Sophie Valcke (Cerfacs, France), Christopher Maynard (University of Reading, UK)
    • 13:30 Scaling Algorithms – Christopher Maynard – SlidesVideo
    • 15:00 Virtual Refreshment Break
    • 15:15 Code Coupling – Sophie Valcke – SlidesVideo
  • 16:45 Virtual Lab Session

Tuesday - Storage

  • 09:00 Modern Storage – Chair: Sai Narasimhamurthy (Seagate, UK), Jean-Thomas Acquaviva (DDN, France)
    • 09:00 Modern Storage – Sai Narasimhamurthy and Konstantinos Chasapis – SlidesVideo
    • 10:30 Virtual Refreshment Break
    • 10:45 Lab Tutorial: Modern Storage
      • 10:45 Darshan Demonstration - Hands-on Session – Konstantinos Chasapis – MaterialSlidesVideo
      • 11:15 Installing Darshan for I/O Performance Analysis – Konstantinos Chasapis – Video
      • 11:20 Introduction to Using Darshan for I/O Performance Analysis – Konstantinos Chasapis – Video
  • 12:45 Virtual Lunch Break
  • 13:30 Input/Output and Middleware – Chair: Julian Kunkel, Luciana Pedro, Sadie Bartholomew (University of Reading, UK)
    • 13:30 Input/Output and Middleware – Luciana Pedro – SlidesVideo
    • 15:00 Virtual Refreshment Break
    • 15:15 Python Data Tools for CF-netCDF – Sadie Bartholomew – SlidesVideo
    • 16:45 Lab Tutorial: Input/Output and Middleware
      • 16:45 An Introduction to NetCDF Using C Language – Luciana Pedro – SlidesVideo
      • 17:15 CF-NetCDF with cfdm, cf-python and cf-plot – Sadie Bartholomew – MaterialVideo
  • 17:45 Virtual Lab Session

Wednesday - Data Analytics

  • 09:30 Machine Learning – Chair: Peter Dueben (ECMWF, UK)
    • 09:30 Machine Learning for Weather and Climate Predictions – Peter Dueben – SlidesSlides PPTXVideo
    • 10:30 Virtual Refreshment Break
  • 11:00 ECMWF – Virtual Visit
  • 12:30 Virtual Lunch Break
  • 13:30 High-Performance Data Analytics and Visualisation – Chair: Donatello Elia (CMCC, Italy), Niklas Röber (DKRZ, Germany)
    • 13:30 Data Visualization Using ParaView – Niklas Röber – SlidesMaterialVideo
    • 14:00 Hands-on: Data Visualization Using ParaViewVideo
    • 15:00 Virtual Refreshment Break
    • 15:15 High-Performance Data Analytics and Visualisation – Donatello Elia and Sandro Fiore (CMCC, Italy)– SlidesVideo
    • 16:45 Lab Tutorial: High-Performance Data Analytics and Visualisation
      • 16:45 High-Performance Data Analytics and Visualisation – Donatello Elia – SlidesVideo
  • 17:15 Virtual Lab Session

Thursday - Supporting Tools

  • 09:00 Performance Analysis – Chair: Mario C. Acosta, Xavier Yepes (BSC, Spain)
    • 09:00 Computational Profiling Analysis for Climate and Weather – Xavier Yepes and Mario C. Acosta – SlidesVideo
    • 10:30 Virtual Refreshment Break
    • 10:45 Lab Tutorial: Performance Analysis
      • 10:45 Performance Analysis: Paraver Hands-on Using the HARMONIE Model – Mario C. Acosta and Xavier Yepes – SlidesVideo
  • 12:45 Virtual Lunch Break
  • 13:30 Containers – Chair: Alberto Madonna (ETH Zürich, Switzerland), Simon Wilson (NCAS, UK)
    • 13:30 Introduction to Containers and Docker – Alberto Madonna – SlidesVideo
    • 15:00 Virtual Refreshment Break
    • 15:15 Introduction to Containers on HPC with the Sarus Container Engine – Alberto Madonna – SlidesVideo
    • 16:45 Lab Tutorial: Containers
  • 17:15 Virtual Lab Session

Friday - Q/A Session

  • 09:00 Monday Lab: Extreme-Scale Computation
  • 09:30 Tuesday Lab: Modern Storage
  • 10:00 Tuesday Lab: Input/Output and Middleware
  • 10:30 Wednesday Lab: High-Performance Data Analytics and Visualisation
  • 11:00 Thursday Lab: Performance Analysis
  • 11:30 Thursday Lab: Containers
  • 12:00 Virtual Lunch Break
  • 13:00 Keynote Talk: Global Storm and Ocean Eddy Resolving Coupled Climate Simulations – Daniel Klocke (DWD, Germany) – SlidesVideo
  • 14:00 General Discussion and Feedback Session
  • 14:30 Closing Remarks and FarewellSlidesVideo
  • 14:40 End of the Summer School Programme

The Online Registration is free and covers:

  • Attendance to all virtual sessions

Everyone interested in joining us for five days of learning and debating HPC systems for Climate and Weather applications is welcome! We required that all participants that want to attend the main event from 24 to 28 August 2020 make a formal registration. Check Section Registration.

The target audience for the summer school is Earth system scientists, including PhD students and young researchers, and software engineers in the domain. While each of our topics will be introduced, the attendees should have a basic understanding of:

  • Python
  • Linux
  • The general computational aspects of a climate/weather model

For attendees without prior experience, the following links provide some references to cover significant aspects of the contents mentioned above.

  • Julian Kunkel (University of Reading)
  • Sophie Valcke (Cerfacs)
  • Luciana Pedro (University of Reading)

The Centre of Excellence in Simulation of Weather and Climate in Europe (ESiWACE) addresses world challenges pushing the limits of science. It benefits the broader community by providing services and training opportunities.

As part of the ESiWACE2 project, we are organising this summer school to bridge the gap between scientists and computational science and increase the effectiveness of young scientists. The main goal of this event is the training of representative scientists from different institutions with state-of-the-art concepts tailored to the domain, but that also stretches beyond climate and weather, allowing them to act as a multiplier and increase productivity overall.

ESiWACE is funded by the European Union's Horizon 2020 research and innovation programme under grant agreement No. 823988.


1)
A detailed list of topics can be found in the programme.
  • Impressum
  • Privacy
  • events/2020/esiwace-school.txt
  • Last modified: 2023-08-28 10:40
  • by 127.0.0.1