Preprints
https://doi.org/10.5194/gmd-2024-92
https://doi.org/10.5194/gmd-2024-92
Submitted as: development and technical paper
 | 
03 Jun 2024
Submitted as: development and technical paper |  | 03 Jun 2024
Status: this preprint is currently under review for the journal GMD.

Exploring a high-level programming model for the NWP domain using ECMWF microphysics schemes

Stefano Ubbiali, Christian Kühnlein, Christoph Schär, Linda Schlemmer, Thomas C. Schulthess, Michael Staneker, and Heini Wernli

Abstract. We explore the domain-specific Python library GT4Py (GridTools for Python) for implementing a representative physical parametrization scheme and the related tangent-linear and adjoint algorithms from the Integrated Forecasting System (IFS) of ECMWF. GT4Py encodes stencil operators in an abstract and hardware-agnostic fashion, thus enabling more concise, readable and maintainable scientific applications. The library achieves high performance by translating the application into targeted low-level coding implementations. Here, the main goal is to study the correctness and performance-portability of the Python rewrites with GT4Py against the reference Fortran code and a number of automatically and manually ported variants created by ECMWF. The present work is part of a larger cross-institutional effort to port weather and climate models to Python with GT4Py. The focus of the current work is the IFS prognostic cloud microphysics scheme, a core physical parametrization represented by a comprehensive code that takes a significant share of the total forecast model execution time. In order to verify GT4Py for Numerical Weather Prediction (NWP) systems, we put additional emphasis on the implementation and validation of the tangent-linear and adjoint model versions which are employed in data assimilation. We benchmark all prototype codes on three European supercomputers characterized by diverse GPU and CPU hardware, node designs, software stacks and compiler suites. Once the application is ported to Python with GT4Py, we find excellent portability, competitive performance, and robust execution in all tested scenarios including with reduced precision.

Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this preprint. The responsibility to include appropriate place names lies with the authors.
Stefano Ubbiali, Christian Kühnlein, Christoph Schär, Linda Schlemmer, Thomas C. Schulthess, Michael Staneker, and Heini Wernli

Status: open (until 29 Jul 2024)

Comment types: AC – author | RC – referee | CC – community | EC – editor | CEC – chief editor | : Report abuse
Stefano Ubbiali, Christian Kühnlein, Christoph Schär, Linda Schlemmer, Thomas C. Schulthess, Michael Staneker, and Heini Wernli
Stefano Ubbiali, Christian Kühnlein, Christoph Schär, Linda Schlemmer, Thomas C. Schulthess, Michael Staneker, and Heini Wernli

Viewed

Total article views: 196 (including HTML, PDF, and XML)
HTML PDF XML Total BibTeX EndNote
149 40 7 196 3 1
  • HTML: 149
  • PDF: 40
  • XML: 7
  • Total: 196
  • BibTeX: 3
  • EndNote: 1
Views and downloads (calculated since 03 Jun 2024)
Cumulative views and downloads (calculated since 03 Jun 2024)

Viewed (geographical distribution)

Total article views: 195 (including HTML, PDF, and XML) Thereof 195 with geography defined and 0 with unknown origin.
Country # Views %
  • 1
1
 
 
 
 
Latest update: 12 Jun 2024
Download
Short summary
We explore a high-level programming model for GPU porting of NWP model codes, based on the Python domain-specific library GT4Py. We present a Python rewrite with GT4Py of the ECMWF cloud microphysics scheme and the associated tangent-linear and adjoint algorithms. We find excellent portability, competitive performance and robust execution on diverse CPU and GPU architectures. The additional advantages in terms of maintainability, productivity and readability are also highlighted.