You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rose configuration files can generate "artefacts" i.e. envvars, namelists and files.
Some projects (obvs talking about LFric) might want to generate more specific artefacts than Rose provides support for, e.g. domain-specific config files, or augment Rose metadata with more information to assist loaders. Currently the approach is to load in the Rose configuration (using metomi.rose.config or an equivalent implementation), then manipulate it within their own code. Ideally we would make it easier for such projects to inject their logic into the Rose application rather than having to hack it around the fringes.
Such extensions may require:
New metadata configurations (e.g. they might need to add a domain-specific metadata field).
New output formats (e.g. they may want to write out something other than a fortran namelist).
Main sticking points to the status-quo:
Adding new metadata is tricky (Rose objects in some way) so they have to use trigger-ignored metadata variables to achieve this.
Have to define a custom runtime to action this code.
Rose applications are fundamentally extendable so this should be perfectly possible, however, we would require a method for external plugins to access these capabilities i.e. some sort of plugin framework.
Note, the Rose GPL license would have implications on any imported extensions which may or may not be a roadblock.
Suggest a longer talk with the LFric folks before breaking ground.
The text was updated successfully, but these errors were encountered:
Rose configuration files can generate "artefacts" i.e. envvars, namelists and files.
Some projects (obvs talking about LFric) might want to generate more specific artefacts than Rose provides support for, e.g. domain-specific config files, or augment Rose metadata with more information to assist loaders. Currently the approach is to load in the Rose configuration (using
metomi.rose.config
or an equivalent implementation), then manipulate it within their own code. Ideally we would make it easier for such projects to inject their logic into the Rose application rather than having to hack it around the fringes.Such extensions may require:
Main sticking points to the status-quo:
Rose applications are fundamentally extendable so this should be perfectly possible, however, we would require a method for external plugins to access these capabilities i.e. some sort of plugin framework.
Note, the Rose GPL license would have implications on any imported extensions which may or may not be a roadblock.
Suggest a longer talk with the LFric folks before breaking ground.
The text was updated successfully, but these errors were encountered: