P27 - A GT4Py-Based Multi-Node Standalone Python Implementation of the ICON Dynamical Core
Description
We introduce a prototype atmospheric model, based on Icosahedral Non-hydrostatic (ICON), which illustrates that indeed entire models can be ported to Python while still attaining performance portability. We reuse many of the stencils – written with a Python-based domain-specific language GT4Py – from the ICON-EXCLAIM dynamical core in order to achieve an implementation capable of real scientific use cases. In order to run the prototype with multiple nodes, we had to create new infrastructure. The connectivity of the distributed mesh can be read in from a Grid Manager (GridMan) library. The connectivity is then given to the Generic Exascale-ready halo-exchange (GHEX) library for halo-exchange operations. These tools enable the objective of a standalone dynamical core mini-app which can be tested in complete absence of the ICON infrastructure. We will present first results from the steady state and baroclinic wave dynamical core experiments proposed by Jablonowski and Williamson [2006] running on multiple nodes. We validate the results through identical runs with the original ICON, and do performance comparisons with the original Fortran (OpenMP/OpenACC) code, as well as the above-mentioned ICON-EXCLAIM implementation using ICON infrastructure and drivers.