Some more metadata questions!
Is there a sensible way to record metadata for an optional config?
I’m wanting to create an app, and have an optional configurations which implement test modes.
In test mode, the optional configuration may specify arguments not present in the default configuration.
Or the argument values may be something I want to explain - e.g. in default config ARG1=normal_value
, while in an optional config ARG1=crazy_value
, and I want to give a reason for why crazy_value
- ideally in a help metadata entry.
Note am testing at this rose/cylc level (rather than within the app itself) as in some cases the test mode may specify a value intended to test app integration/suite handling for edge-cases.
I guess I could try workarounds like:
- don’t try to use metadata to record why an optional config has given values, instead keep this information in relevant commit messages (and hope later reader thinks to use blame & friends)
- ensure the standard
app/meta/rose-meta.conf
documents all args (ie. across all configs, default and optional) - for a given arg present in multiple configs, use comments in the optional config to explain the variant used there, and rely on the app comments behaviour
- for a given arg present in multiple configs, have the [help] text exhaustively documents all reasoning, e.g.
[env=ARG1]
title=arg1 file
description=The input file to use for arg1
help=Files used depend on the the configuration:
= Default: provided by suite
=opt-config-1: test the app handles small values
=opt-config-2: test the app can handle datagaps
...
=opt-config-N: test the app restarts if encounters NaNs
I’m currently leaning towards 2. and 3. However, I’m just wanting to check that there isn’t a rose-meta.conf-per-optional-config option I’m missing, which might let me avoid the above workarounds!
Apologies if this is covered somewhere - I can’t see it (or have missed it!) in the places I’ve looked:
- metadata docs or tutorial
- optional config docs
- I might not be understanding the final bullet re metadata configurations - is there an example of this being used somewhere?
- fully-fledged tutorial suites which implement both optional configs and metadata e.g. the weather one
- my goto suites for cribbing (GloSea, UM - neither always ideal for a given nooby question - are there better ones for this?)