The ICON model and its relationship to the ICOMEX project
The ICON (ICOsahedral Nonhydrostatic) model is formulated on an unstructured icosahedral-triangular C-grid and applies several levels of optimization for efficient use on future computer architectures. The time-stepping scheme of the dynamical core is a horizontally fully explicit predictor-corrector scheme with implicit treatment of vertically propagating sound waves only. This way, only nearest-neighbour communication is required at runtime if the optional global diagnostics are turned off. The decision for a fully explicit dynamical core in favour of a split-explicit one is based on the fact that a global model extending into the mesosphere needs to be numerically stable up to wind speeds well in excess of 200 m/s because such high extrema can be reached in breaking gravity waves in the mesosphere. The ratio between maximum wind speed and sound speed is thus too small to benefit from a split-explicit approach. Time splitting is applied instead between the dynamical core and tracer transport and the physics parameterizations, the time step ratio being usually 4 or 5. Further optimizations include a dedicated radiation grid for which at most 60% of the grid points belonging to a given processor are sunlit at once, and an option to turn off moist physics and the transport of cloud an precipitation variables from the lower stratosphere upwards. Lower-level optimizations include a variable inner loop length for cache blocking or, alternatively, efficient use of vector architectures, a directive-based option to optimize the loop order for indirectly addressed operations, placement the halo grid points at the index vector with an ordering according to their halo level. Substantial improvements are still needed in the field of memory scaling, particularly regarding the setup phase of the domain decomposition, and for I/O, which so far is asynchronous but not yet parallelized.
ICON is one of the models participating in the ICOMEX (ICOsahedral-grid Models for EXascale earth-system simulations) project, which is dedicated at optimizing several key components of our modelling systems for future computer architectures. The sub-projects include a domain-specific language approach to optimize the memory order of the array variables for a variety of platforms, parallel internal postprocessing, parallelization concepts for I/O and optimized data formats, usage of GPUs and optimization of Helmholtz equation solvers needed for implicit time-stepping schemes. In addition, a continuous model intercomparison effort is made in order to systematically analyze the strengths and weaknesses of the participating models with respect to computational efficiency and scientific aspects (accuracy, conservation properties etc.), with the goals to learn from each other and to iteratively improve the identified weaknesses in each participating model.