P27 - Integrating the ICON4Py Python-Based Dynamical Core into ICON
Description
The integration of Python-based high-performance computing into legacy Fortran climate models offers new opportunities for flexibility and efficiency. This poster presents the integration, in the Fortran ICON implementation of the dynamical core implemented in Python, as part of ICON4py, a still in-progress Python-based implementation of the ICON climate model. ICON4Py leverages GT4Py for optimizing the numerical computations. For improved interoperability, the Fortran application invokes the Python interpreter, which in turns executes the ICON4py dynamical core. The performance of ICON4py is enhanced through the Data Centric (DaCe) backend of GT4Py, developed by SPCL at ETH Zurich. DaCe applies dataflow transformations to optimize memory locality and parallel execution, improving efficiency across CPU and GPU architectures. This approach provides computational performance while maintaining the code maintainable. As we plan to use this implementation in a production-setting, the poster will address the verification and testing process. Performance evaluations demonstrate competitive or improved runtime efficiency compared to the legacy system. By integrating Python’s expressiveness with GT4Py and DaCe’s performance optimizations, this poster showcases a viable pathway for modernizing climate models. Our approach exemplifies how scientific software can evolve to leverage emerging computing paradigms while maintaining accuracy and performance.
Presenter(s)

Presenter
After completing a master's degree in computational science I briefly worked on the Open Earth Compiler, a stencil compiler for weather and climate codes, supervised by Tobias Gysi and Tobias Grosser. I now work at Meteoswiss in the context of the GLORI and EXCLAIM projects with the goal to develop the next generation weather and climate models in a higher level language - in our case Python - to be able to abstract hardware details away, leaving portability and performance to automatic code generation.