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

<p>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 abs...

Full description

Saved in:
Bibliographic Details
Main Authors: S. Ubbiali, C. Kühnlein, C. Schär, L. Schlemmer, T. C. Schulthess, M. Staneker, H. Wernli
Format: Article
Language:English
Published: Copernicus Publications 2025-01-01
Series:Geoscientific Model Development
Online Access:https://gmd.copernicus.org/articles/18/529/2025/gmd-18-529-2025.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1832582062248296448
author S. Ubbiali
C. Kühnlein
C. Schär
L. Schlemmer
T. C. Schulthess
T. C. Schulthess
M. Staneker
H. Wernli
author_facet S. Ubbiali
C. Kühnlein
C. Schär
L. Schlemmer
T. C. Schulthess
T. C. Schulthess
M. Staneker
H. Wernli
author_sort S. Ubbiali
collection DOAJ
description <p>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 graphics processing unit (GPU) and central processing unit (CPU) hardware, node designs, software stacks, and compiler suites. Once the application is ported to Python with GT4Py, we find excellent portability, competitive GPU performance, and robust execution in all tested scenarios including with single precision.</p>
format Article
id doaj-art-df5d76bb0401458f9218ce067f532ae2
institution Kabale University
issn 1991-959X
1991-9603
language English
publishDate 2025-01-01
publisher Copernicus Publications
record_format Article
series Geoscientific Model Development
spelling doaj-art-df5d76bb0401458f9218ce067f532ae22025-01-30T05:29:35ZengCopernicus PublicationsGeoscientific Model Development1991-959X1991-96032025-01-011852954610.5194/gmd-18-529-2025Exploring a high-level programming model for the NWP domain using ECMWF microphysics schemesS. Ubbiali0C. Kühnlein1C. Schär2L. Schlemmer3T. C. Schulthess4T. C. Schulthess5M. Staneker6H. Wernli7Institute for Atmospheric and Climate Science (IAC), ETH Zurich, Zurich, SwitzerlandEuropean Centre for Medium-Range Weather Forecasts (ECMWF), Bonn, GermanyInstitute for Atmospheric and Climate Science (IAC), ETH Zurich, Zurich, SwitzerlandDeutscher Wetterdienst (DWD), Offenbach, GermanyInstitute for Theoretical Physics (ITP), ETH Zurich, Zurich, SwitzerlandSwiss National Supercomputing Centre (CSCS), Lugano, SwitzerlandEuropean Centre for Medium-Range Weather Forecasts (ECMWF), Bonn, GermanyInstitute for Atmospheric and Climate Science (IAC), ETH Zurich, Zurich, Switzerland<p>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 graphics processing unit (GPU) and central processing unit (CPU) hardware, node designs, software stacks, and compiler suites. Once the application is ported to Python with GT4Py, we find excellent portability, competitive GPU performance, and robust execution in all tested scenarios including with single precision.</p>https://gmd.copernicus.org/articles/18/529/2025/gmd-18-529-2025.pdf
spellingShingle S. Ubbiali
C. Kühnlein
C. Schär
L. Schlemmer
T. C. Schulthess
T. C. Schulthess
M. Staneker
H. Wernli
Exploring a high-level programming model for the NWP domain using ECMWF microphysics schemes
Geoscientific Model Development
title Exploring a high-level programming model for the NWP domain using ECMWF microphysics schemes
title_full Exploring a high-level programming model for the NWP domain using ECMWF microphysics schemes
title_fullStr Exploring a high-level programming model for the NWP domain using ECMWF microphysics schemes
title_full_unstemmed Exploring a high-level programming model for the NWP domain using ECMWF microphysics schemes
title_short Exploring a high-level programming model for the NWP domain using ECMWF microphysics schemes
title_sort exploring a high level programming model for the nwp domain using ecmwf microphysics schemes
url https://gmd.copernicus.org/articles/18/529/2025/gmd-18-529-2025.pdf
work_keys_str_mv AT subbiali exploringahighlevelprogrammingmodelforthenwpdomainusingecmwfmicrophysicsschemes
AT ckuhnlein exploringahighlevelprogrammingmodelforthenwpdomainusingecmwfmicrophysicsschemes
AT cschar exploringahighlevelprogrammingmodelforthenwpdomainusingecmwfmicrophysicsschemes
AT lschlemmer exploringahighlevelprogrammingmodelforthenwpdomainusingecmwfmicrophysicsschemes
AT tcschulthess exploringahighlevelprogrammingmodelforthenwpdomainusingecmwfmicrophysicsschemes
AT tcschulthess exploringahighlevelprogrammingmodelforthenwpdomainusingecmwfmicrophysicsschemes
AT mstaneker exploringahighlevelprogrammingmodelforthenwpdomainusingecmwfmicrophysicsschemes
AT hwernli exploringahighlevelprogrammingmodelforthenwpdomainusingecmwfmicrophysicsschemes