---
# System prepended metadata

title: '[Blueline] Enable optional components in icon-exclaim'
tags: [cycle 18]

---

- Shaped by: Christoph Müller, Nina Burgdorfer
- Appetite (FTEs, weeks): half cycle
- Developers: <!-- Filled in at the betting table unless someone is specifically required here -->

## Problem
The performance of tracer advection and/or graupel in the blue line might not meet production requirements. Keeping them in a separate branch is a lot of overhead.

## Appetite
<!-- Explain how much time we want to spend and how that constrains the solution -->

## Solution
* Introduce an interface to icon-exclaim to make components optional.
    * Add `--somehow-ignore-component-x-for-dsl` flag to `configure.ac` interface
        * dycore is always active
    * Pass information to cmake at configure step to only compile stencils of activated components
    * Create list of files for Liskov to preprocess in Makefile? at configure time?
        * Get motivated by pgi_inlib
        * Or pass liksov a list of files it is allowed to preprocess (ugly solution)
        
* Clean up tracer advection to restore original OpenACC functionality if tracer advection is deactivated
    * Also debug and merge tracer advection

## Rabbit holes
<!-- Details about the solution worth calling out to avoid problems -->

## No-gos
<!-- Anything specifically excluded from the concept: functionality or use cases we intentionally aren’t covering to fit the ## appetite or make the problem tractable -->
