Hi Michael.
I have never edited the file meta/rose-meta.conf which contains all the logic required to add/delete fields from the rose edit GUI.
However, I have added logic to add extra STASH to an older rAM3 flagship suite.
If you look at the Flagship suite here: https://code.metoffice.gov.uk/trac/roses-u/browser/d/q/1/2/6/trunk/rose-suite.conf
You’ll see an extra entry in the rose-suite.conf here:
USE_NCI_CLOUD_STASH=false
This is a switch which allows the user to add extra STASH fields related to clouds (which I built to support @qinggangg’s research).
If you set that to ‘true’, a macro in suite-macros.rc (https://code.metoffice.gov.uk/trac/roses-u/browser/d/q/1/2/6/trunk/suite-macros.rc) will do the following:
116 {# Turn on stashpack. Do this before picking up science config so that GA science configs
117 do not try to use reflectivities diagnostics (because they comment out these diags . #}
118 {%- for n in range(1,NSTASH+1) -%}
119 {%- if mod["stashpack"][n-1] -%}
120 {% do opts.append("stashpack"+n|string) %}
121 {%- endif -%}
122 {%- endfor -%}
123 {# Add extra STASH for NCI cloud diagnostics #}
124 {%- if USE_NCI_CLOUD_STASH -%}
125 {% do opts.append("nci-clouds") %}
126 {%- endif -%}
This will add the flag nci-clouds to the options argument when rose executes the UM forecast task. The rose convention is that any ‘option’ name corresponds to the file name filter of an app/opt file. In this case, it is an extra STASH pack located in app/um/opt/rose-app-nci-clouds.conf to the UM run.
The extra STASH is here : https://code.metoffice.gov.uk/trac/roses-u/browser/d/q/1/2/6/trunk/app/um/opt/rose-app-nci-clouds.conf
From the rose manual : Rose Environment Variables — Rose Documentation 2.7.0 documentation
Each KEY in this space delimited list switches on an optional configuration in an application. The (KEY) syntax can be used to denote an optional configuration that can be missing. The configurations are applied in first-to-last order.
i.e. everything in ROSE_APP_OPT_CONF_KEYS is a /app/um/opts/rose-app-OPTIONNAME.conf file.
So when I executed the cylc task to launch the UM forecast, the values of ROSE_APP_OPT_CONF_KEYS were:
ROSE_APP_OPT_CONF_KEYS="ns rcf_orog stashpack1 stashpack6 nci-clouds GAL9 fixed 3D_ancils lbc custom"
So that’s the framework to add bespoke STASH without editing the GUI.
- Add an entry
<OPTION_NAME> to your rose-suite.conf file to provide a switch.
- Add an entry to your
suite-macros.rc file (ideally in the same section which loads STASH packs) to add <OPTION_NAME> to your suite macro which controls runtime options.
- Create extra STASH contents in your
app/um/opt/rose-app-<OPTION_NAME>.conf file