How not to write a convection parameterisation code?
- 👤 Speaker: Mike Whitall - UK Meteorological Office
- 📅 Date & Time: Thursday 23 November 2023, 13:00 - 14:00
- 📍 Venue: JJ Thomson Seminar Room, Maxwell Centre
Abstract
Convection parameterisations are a crucial element of global atmospheric models. They simulate the vertical transport of heat, moisture and momentum by convective clouds, and associated rainfall. The majority of Tropical rainfall is associated with these clouds, which are too small-scale to explicitly resolve on the model’s grid and so need to be parameterised.
Most global atmosphere models use a so-called “mass-flux” form of convection parameterisation, which consists of a diagnostic vertical integral to compute the properties of the clouds and the amount of heat / moisture entrained / detrained at each height. The calculations in a given vertical column of model grid-points are completely independent of those in other neighbouring columns, so it would be simplest to write the code so that it only considers a single column at a time. However, since we are performing a vertical integral the calculations at a given height within each column depend on the results from those calculations at the level below, so the scheme must be structured in a vertically sequential manner considering a single height-level at a time.
Considering only a single column and a single height-level at a time amounts to computing only a single grid-point at a time. On CPU architectures, this is extremely inefficient; far greater computation speeds are obtained by doing many identical calculations simultaneously, via vectorisation. Another challenge / opportunity is the sparsity of the required calculations, since convective clouds only occupy a small fraction of the atmosphere’s volume.
In this talk I discuss routes to exploiting both vectorisation and shared memory parallelisation, and how to make efficient use of memory given the sparsity, in the comorph convection parameterisation fortran code currently under development at the Met Office.
However, current and future changes in software and HPC architectures (such as GPUs) may radically change the optimal code structure. Is there any way to adapt our convection code to these changes without completely rewriting it, or write it in a “future proof” way?
Hybrid Zoom details will be emailed to the RSE mailing list; if you are not on the list, please contact the organisers.
Series This talk is part of the RSE Seminars series.
Included in Lists
- bld31
- Cambridge Centre for Data-Driven Discovery (C2D3)
- Cambridge talks
- Chris Davis' list
- Interested Talks
- JJ Thomson Seminar Room, Maxwell Centre
- ndk22's list
- ob366-ai4er
- rp587
- RSE Seminars
- se393's list
- Trust & Technology Initiative - interesting events
- yk449
Note: Ex-directory lists are not shown.
![[Talks.cam]](/static/images/talkslogosmall.gif)

Mike Whitall - UK Meteorological Office
Thursday 23 November 2023, 13:00-14:00