CLEO: The Fundamental Design for High Computational Performance of a New Superdroplet Model
Abstract. CLEO is a Super-Droplet Model (SDM) designed for performance portability on high performance computer architectures and with the intention of modelling warm-clouds in domains large enough to resolve shallow mesoscale cloud organisation O(100 km). This paper introduces CLEO’s novel C++ implementation of SDM, in particular how we map SDM theory to computations which optimise performance, primarily by conservative memory usage and efficient memory access patterns. To further speed-up simulations and to ensure a portable and maintainable code, we avoid conditional code branching and implement thread parallelism through the Kokkos library. As a result CLEO shows optimal linear scaling with increasing number of superdroplets and can use CPU and GPU thread-parallelisation across a diverse range of computer architectures. But CLEO is not just a model for computational performance, it is also designed for warm-cloud process understanding. CLEO possesses a high degree of flexibility, especially with regard to the configuration of microphysical processes and data output, that makes it well-suited to analysing sensitivity to microphysics. CLEO is therefore a new SDM ready to be used for understanding warm-cloud processes.