Today, coupled numerical climate models need to be optimized for massively parallel supercomputers. Especially in areas where the development of the model code requires computer science expertise rather than a climate science background, DKRZ supports the scientific model developers by co-operative code development as well as by the development of software libraries that can take over distinct functions within the models. By separating technical and scientific aspects of the model code in this way, its complexity can be reduced and scientific model development made easier (“separation of concerns”).

Software Libraries

  • YAC Coupler Library

Development in cooperation with MPI-M

YAC is currently used within the ICON model [1]; furthermore it is employed for the model HIRHAM-NAOSIM 2.0 [2].




Tutorial (YAC Version 1.55)

Tutorial (YAC version 2.00)

Tutorial (YAC version 2.42)

GUI Manual (YAC version 1.55)

GUI Manual (YAC version 2.10)


Mailing list:


Moritz Hanke, René Redler, Teresa Holfeld und Maxim Yastremsky, 2016: YAC 1.2.0: new aspects for coupling software in Earth system modelling. Geoscientific Model Development, 9, 2755-2769. DOI:10.5194/gmd-9-2755-201

Moritz Hanke und René Redler, 2019: New features with YAC 1.5.0. Reports on ICON, No 3. DOI: 10.5676/DWD_pub/nwv/icon_003

Johann Jungclaus et al., 2022: The ICON Earth System Model Version 1.0. J. Adv. Model. Earth Sy., 14 (4). DOI: 10.1029/2021MS002813

  • YAXT Communication Library

YAXT (Yet Another Exchange Tool) is a communication library that facilitates easy redistribution of data between processes using MPI. It is, e.g., used to do halo exchanges or data transpositions within climate models.



  • CDI_PIO I/O-Server Library

Development in cooperation with MPI-M

CDI-PIO is currently used for parallelized GRIB1/GRIB2 and NetCDF output in ECHAM and ICON models.

  •  libaec lossless data compression via Golomb-Rice encoding

Several libraries for the creation and modification of GRIB files as well as NetCDF/HDF5 use this data compression library.

Documentation and Download: