Hi all, I was wondering if it is possible to integrate externally-build variables via comin into ICON’s meteogram output. Currently, the hardcoded variables appear fine, but COMIN-registered variables don’t show up.
Therefore my question: Is there a recommended way to register COMIN variables with ICON’s meteogram output? And is that even possible?
This would not work that easy, I’m afraid. The meteogram functionality is implemented in mo_meteogram_config and mo_meteogram_output (src/io/atmo/mo_mtgrm_output.f90), where variable names correspond to a variable list handled internally by the meteogram module. The whole functionality was initially meant for debugging, and although it is now commonly used in production, the implementation has not been refactored. One exception is that two years ago, the meteogram functionality was extended for ICON-ART, allowing variables belonging to the METEOGRAM group to be dynamically added to the list of available fields. However, variables added to ICON via the ComIn plugin mechanism cannot currently control their groups.
Just a heads-up: That will be possible in the next comin release. We’ve added a “groups” metadata key so plugins can add plugin-defined variables to arbitrary ICON groups. Just add your variable to the METEOGRAM group and it should appear in the output.
ComIn uses the same add_var mechanism to add variables that ICON does. I haven’t worked with output_coupling, but if it is able to extract arbitrary ICON variables it can be used for plugin variables.
The next release is 1.0 and we intend to release it with icon 2026.10. Features like this, in particular, require support from the ICON side so you cannot just use the newer comin with the old ICON version. And while backporting the changes to an older ICON version is possible and relatively straight-forward (probably…), it is not something that we have planned.
If you have access to icon/icon you can take a look at the comin-1.0 branch there. This is the “bleeding edge”, so things might not always work, and there are some incompatible Plugin API changes compared to comin 0.5 because we are making the 1.0 API more long-term stable.