What are the aims of ComIn?
-
Providing a standardized public interface for third party codes (‘plugins’) coupled to ICON
-
Significantly reduced maintenance for ICON as well as for third party code developers
-
Plugins easier to migrate to new ICON releases
-
Establishing ICON as the core model for applications ranging from NWP to ESM
-
Enables multi-language support (Fortran, C/C++, Python)
How does ComIn work in a nutshell?
-
ComIn organizes the data exchange and simulation events between the ICON model and multiple plugins.
-
ComIn Callback Register: Subroutines of the plugins are called at pre-defined events during the ICON simulation.
-
The ComIn Adapter Library is included by ICON and the plugins. It contains descriptive data structures and regulates the access and the creation of model variables.
Large range of applications
-
Attaching community components and models (e.g. land, chemistry, hydrology, …)
-
Execution of Python scripts (e.g. output, in-situ data processing and ML applications)
-
Horizontal or vertical interpolation of data
Documentation
More information and instructions regarding the community interface is provided in the ICON GitLab repository.