From 8a7a7468ac2cd9aac66f73709153e2ff1615688d Mon Sep 17 00:00:00 2001 From: Sam Clarke-Green Date: Tue, 27 Jan 2026 13:02:28 +0000 Subject: [PATCH 1/3] Add support for the test suite on monsoon 3 Update the rose-stem configuration files to simplify the process of running the test suite on the monsoon 3 partition of EXD. --- .../site/meto/common/suite_config_ex1a.cylc | 27 ++++++++++++++++--- .../site/meto/groups/group_lbc_demo.cylc | 4 +-- rose-stem/site/meto/macros/macros_ex1a.cylc | 8 ++++++ rose-stem/site/meto/variables.cylc | 23 +++++++++++++--- .../runtime/generate_runtime_control.cylc | 2 +- 5 files changed, 55 insertions(+), 9 deletions(-) diff --git a/rose-stem/site/meto/common/suite_config_ex1a.cylc b/rose-stem/site/meto/common/suite_config_ex1a.cylc index a3263719e..e7856b664 100644 --- a/rose-stem/site/meto/common/suite_config_ex1a.cylc +++ b/rose-stem/site/meto/common/suite_config_ex1a.cylc @@ -5,7 +5,12 @@ {# ########################################################################### #} {% do LOG.debug("Entered site/meto/common/suite_config_ex1a.cylc") %} + +{% if site_vars.ex_trustzone == "collab" %} +{% set ex1a_base = 'module use /projects/metoff/spackadmin.mon/releases/2025.12.18/ngms' %} +{% else %} {% set ex1a_base = 'module use /common/internal/spack/releases/2025.10.1/ngms' %} +{% endif %} {% set ex1a_compiler_gnu = 'module switch cpe/22.11 cpe/23.05 ; ' ~ 'module load PrgEnv-gnu ; '~ @@ -39,18 +44,27 @@ HYPERTHREADS = 1 CORES_PER_NODE = 128 NUMA_REGIONS_PER_NODE = 2 + [[[directives]]] +{% if site_vars.ex_trustzone == "collab" %} + -q=collabshared +{% else %} + -q=shared +{% endif %} + [[EX1A_BUILD]] [[[environment]]] - USE_TIMING_WRAPPER=true - USE_VERNIER=true + USE_VERNIER=yes + USE_TIMING_WRAPPER=yes [[[directives]]] -l tmpsize=12GB [[EX1A_RUN]] [[[environment]]] {# BIG_DATA_DIR holds files for io tests #} -{% if site_vars["host_ex"] == "exz" %} +{% if site_vars["ex_trustzone"] == "collab" %} + BIG_DATA_DIR = '/data/users/lfricadmin.mon/data' +{% elif site_vars["host_ex"] == "exz" %} BIG_DATA_DIR = '/common/internal/lfricdir/data' {% else %} BIG_DATA_DIR = '/data/users/lfricadmin/data' @@ -131,6 +145,9 @@ {{ generate_script("pre-script", [ex1a_scitools, ex1a_tech]) }} + [[EX1A_SCRIPTS]] + inherit=EX1A_TECH + [[EX1A_PLOT]] inherit=EX1A_TECH_BASE {{ generate_script("pre-script", [ex1a_scitools]) }} @@ -141,8 +158,12 @@ [[EX1A_EXPORT-SOURCE]] inherit=METO_ORIG [[[environment]]] +{% if site_vars["ex_trustzone"] == "collab" %} + PLATFORM_SYNC = false +{% else %} hostname = $(rose host-select {{site_vars.host_ex}}) PLATFORM_SYNC = true +{% endif %} [[EX1A_HOUSEKEEPING]] inherit=EX1A_TECH_BASE diff --git a/rose-stem/site/meto/groups/group_lbc_demo.cylc b/rose-stem/site/meto/groups/group_lbc_demo.cylc index b9ef8faf5..66f75772e 100644 --- a/rose-stem/site/meto/groups/group_lbc_demo.cylc +++ b/rose-stem/site/meto/groups/group_lbc_demo.cylc @@ -75,7 +75,7 @@ }) %} {# Platform Generic Groups #} -{% if site_vars.launch_platform == "azspice" %} +{# {% if site_vars.launch_platform == "azspice" %} #} {% do site_groups.update({ "lbc_demo_developer": [ "scripts", @@ -98,7 +98,7 @@ "lbc_demo_ex1a_canned", ], }) %} -{% endif %} +{# {% endif %} #} {# Platform Generic Extends #} {% do site_groups.developer.extend(site_groups.lbc_demo_developer) %} diff --git a/rose-stem/site/meto/macros/macros_ex1a.cylc b/rose-stem/site/meto/macros/macros_ex1a.cylc index 631427689..71c6df8d8 100644 --- a/rose-stem/site/meto/macros/macros_ex1a.cylc +++ b/rose-stem/site/meto/macros/macros_ex1a.cylc @@ -59,7 +59,11 @@ {% set lfric_nodes = possible_nodes %} {% endif %} + {% if site_vars["ex_trustzone"] == "collab" %} + -q=collabnormal + {% else %} -q=normal + {% endif %} -l select={{ lfric_nodes + ocean_nodes|int + river_nodes|int + @@ -68,7 +72,11 @@ {% macro shared_queue(cores) %} + {% if site_vars["ex_trustzone"] == "collab" %} + -q=collabshared + {% else %} -q=shared + {% endif %} -l ncpus={{ cores }} {% endmacro %} diff --git a/rose-stem/site/meto/variables.cylc b/rose-stem/site/meto/variables.cylc index 540674dbd..0c9e2df2a 100644 --- a/rose-stem/site/meto/variables.cylc +++ b/rose-stem/site/meto/variables.cylc @@ -21,8 +21,23 @@ {% do site_vars.update({"site_platforms": ["ex1a", "azspice"]}) %} -{% do site_vars.update({"launch_platform": "azspice"}) %} -{% do site_vars.update({"scripts_platform": "azspice"}) %} +{# Settings for EX Collab Zone #} +{% from "socket" import getfqdn %} +{% set hostname = getfqdn() %} +{% if "collab.sc" in hostname %} + {% do site_vars.update({"ex_trustzone": "collab"}) %} + {% do site_vars.update({"USE_TOKENS": true}) %} +{% else %} + {% do site_vars.update({"ex_trustzone": "research"}) %} +{% endif %} + +{% if site_vars["ex_trustzone"] == "collab" %} + {% do site_vars.update({"launch_platform": "ex1a"}) %} + {% do site_vars.update({"scripts_platform": "ex1a"}) %} +{% else %} + {% do site_vars.update({"launch_platform": "azspice"}) %} + {% do site_vars.update({"scripts_platform": "azspice"}) %} +{% endif %} {% do site_vars.update({"git_mirror_loc": "/data/users/gitassist/git_mirrors"}) %} @@ -31,7 +46,9 @@ "azspice": "gnu_fast-debug-64bit"} }) %} {# Choose EX Host - default to random ab or cd #} -{% if USE_EXZ is defined and USE_EXZ %} +{% if site_vars["ex_trustzone"] == "collab" %} + {% do site_vars.update({"host_ex" : "ex"}) %} +{% elif USE_EXZ is defined and USE_EXZ %} {% do site_vars.update({"host_ex" : "exz"}) %} {% elif USE_EXAB is defined and USE_EXAB %} {% do site_vars.update({"host_ex": "exab"}) %} diff --git a/rose-stem/templates/runtime/generate_runtime_control.cylc b/rose-stem/templates/runtime/generate_runtime_control.cylc index 02193d9c4..689d58ef1 100644 --- a/rose-stem/templates/runtime/generate_runtime_control.cylc +++ b/rose-stem/templates/runtime/generate_runtime_control.cylc @@ -31,7 +31,7 @@ ROSE_TASK_APP = extract_source DEPENDENCIES = {{dependencies}} USE_MIRRORS = {{USE_MIRRORS}} - USE_TOKENS = {{USE_TOKENS}} + USE_TOKENS = {{site_vars.get("USE_TOKENS", "false")}} {% if USE_MIRRORS %} {% if "git_mirror_loc" in site_vars %} GIT_MIRROR_LOC = {{site_vars.git_mirror_loc}} From ba657c637854e8db31ab92b1f09fe19eae708f49 Mon Sep 17 00:00:00 2001 From: Sam Clarke-Green Date: Tue, 27 Jan 2026 14:24:05 +0000 Subject: [PATCH 2/3] Sign the CLA --- CONTRIBUTORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index a500a942b..f536a3e57 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -13,3 +13,4 @@ | harry-shepherd | Harry Shepherd | Met Office | 2026-01-08 | | EdHone | Ed Hone | Met Office | 2026-01-09 | | tom-j-h | Tom Hill | Met Office | 2026-01-19 | +| t00sa | Sam Clarke-Green | Met Office | 2026-01-27 | From a0aa5a0e0a718156bda1f853fbad7b185c36a521 Mon Sep 17 00:00:00 2001 From: Sam Clarke-Green Date: Tue, 3 Feb 2026 07:56:47 +0000 Subject: [PATCH 3/3] Remove unnecessary leftovers from testing --- rose-stem/site/meto/common/suite_config_ex1a.cylc | 7 ------- rose-stem/site/meto/groups/group_lbc_demo.cylc | 2 -- 2 files changed, 9 deletions(-) diff --git a/rose-stem/site/meto/common/suite_config_ex1a.cylc b/rose-stem/site/meto/common/suite_config_ex1a.cylc index e7856b664..1c7dfd7fe 100644 --- a/rose-stem/site/meto/common/suite_config_ex1a.cylc +++ b/rose-stem/site/meto/common/suite_config_ex1a.cylc @@ -44,13 +44,6 @@ HYPERTHREADS = 1 CORES_PER_NODE = 128 NUMA_REGIONS_PER_NODE = 2 - [[[directives]]] -{% if site_vars.ex_trustzone == "collab" %} - -q=collabshared -{% else %} - -q=shared -{% endif %} - [[EX1A_BUILD]] [[[environment]]] diff --git a/rose-stem/site/meto/groups/group_lbc_demo.cylc b/rose-stem/site/meto/groups/group_lbc_demo.cylc index 66f75772e..7e6a0dd45 100644 --- a/rose-stem/site/meto/groups/group_lbc_demo.cylc +++ b/rose-stem/site/meto/groups/group_lbc_demo.cylc @@ -75,7 +75,6 @@ }) %} {# Platform Generic Groups #} -{# {% if site_vars.launch_platform == "azspice" %} #} {% do site_groups.update({ "lbc_demo_developer": [ "scripts", @@ -98,7 +97,6 @@ "lbc_demo_ex1a_canned", ], }) %} -{# {% endif %} #} {# Platform Generic Extends #} {% do site_groups.developer.extend(site_groups.lbc_demo_developer) %}