From 802f73cedf816cb6696524ac3e2e782b315ca756 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Thu, 11 Jun 2026 11:13:36 +0100 Subject: [PATCH 01/27] add planar and cubedsphere meshes --- .../gungho/rose-meta/lfric-gungho/versions.py | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index 01798ad2b5..4fe942c5ab 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -31,3 +31,71 @@ def upgrade(self, config, meta_config=None): # Add settings return config, self.reports """ + +class vnXX_txxx(MacroUpgrade): + # Upgrade macro for by + + BEFORE_TAG = "vn3.1" + AFTER_TAG = "vn3.1_t11" + + def upgrade(self, config, meta_config=None): + # Add settings + partitioner = self.get_setting_value(config, ["namelist:partitioning","partitioner"]) + multigrid_chain_nitems = self.get_setting_value(config, ["namelist:multigrid","multigrid_chain_nitems"]) + if partitioner == "'planar'": + self.add_setting( + config, + ["namelist:base_mesh","prime_mesh_name"], + "'planar_l0'", + forced=True + ) + if multigrid_chain_nitems == "4": + self.add_setting( + config, + ["namelist:multigrid","chain_mesh_tags"], + "'planar_l0','planar_l1','planar_l2','planar_l3'", + forced=True + ) + elif multigrid_chain_nitems == "3": + self.add_setting( + config, + ["namelist:multigrid","chain_mesh_tags"], + "'planar_l0','planar_l1','planar_l2'", + forced=True + ) + elif multigrid_chain_nitems == "2": + self.add_setting( + config, + ["namelist:multigrid","chain_mesh_tags"], + "'planar_l0','planar_l1'", + forced=True + ) + else: + self.add_setting( + config, + ["namelist:base_mesh","prime_mesh_name"], + "'cubedsphere_l0'", + forced=True + ) + if multigrid_chain_nitems == "4": + self.add_setting( + config, + ["namelist:multigrid","chain_mesh_tags"], + "'cubedsphere_l0','cubedsphere_l1','cubedsphere_l2','cubedsphere_l3'", + forced=True + ) + elif multigrid_chain_nitems == "3": + self.add_setting( + config, + ["namelist:multigrid","chain_mesh_tags"], + "'cubedsphere_l0','cubedsphere_l1','cubedsphere_l2'", + forced=True + ) + elif multigrid_chain_nitems == "2": + self.add_setting( + config, + ["namelist:multigrid","chain_mesh_tags"], + "'cubedsphere_l0','cubedsphere_l1'", + forced=True + ) + return config, self.reports From 5e8bc30bcbb74d2c439182c2590e21167cc1eecc Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Thu, 11 Jun 2026 11:46:39 +0100 Subject: [PATCH 02/27] settings for lfric2lfric --- .../gungho/rose-meta/lfric-gungho/versions.py | 66 ++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index 4fe942c5ab..3ce973df6e 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -32,7 +32,7 @@ def upgrade(self, config, meta_config=None): return config, self.reports """ -class vnXX_txxx(MacroUpgrade): +class vn31_t11(MacroUpgrade): # Upgrade macro for by BEFORE_TAG = "vn3.1" @@ -98,4 +98,68 @@ def upgrade(self, config, meta_config=None): "'cubedsphere_l0','cubedsphere_l1'", forced=True ) + partitioner_dest = self.get_setting_value(config, ["namelist:partitioning(destination)","partitioner"]) + destination_mesh_name = self.get_setting_value(config, ["namelist:lfric2lfric","destination_mesh_name"]) + if partitioner_dest == "'planar'": + if destination_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric","destination_mesh_name"], + "'planar_l0", + forced=True + ) + elif destination_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric","destination_mesh_name"], + "'planar_l1", + forced=True + ) + elif partitioner_dest == "'cubedsphere'": + if destination_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric","destination_mesh_name"], + "'cubedsphere_l0", + forced=True + ) + elif destination_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric","destination_mesh_name"], + "'cubedsphere_l1", + forced=True + ) + partitioner_source = self.get_setting_value(config, ["namelist:partitioning(source)","partitioner"]) + source_mesh_name = self.get_setting_value(config, ["namelist:lfric2lfric","source_mesh_name"]) + if partitioner_source == "'planar'": + if source_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric","source_mesh_name"], + "'planar_l0", + forced=True + ) + elif source_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric","source_mesh_name"], + "'planar_l1", + forced=True + ) + elif partitioner_source == "'cubedsphere'": + if source_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric","source_mesh_name"], + "'cubedsphere_l0", + forced=True + ) + elif source_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric","source_mesh_name"], + "'cubedsphere_l1", + forced=True + ) return config, self.reports From 8a4769c0b3ad83c437516554a73a4b5dedf11233 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Thu, 11 Jun 2026 12:12:35 +0100 Subject: [PATCH 03/27] correct --- .../gungho/rose-meta/lfric-gungho/versions.py | 215 ++++++++++-------- 1 file changed, 114 insertions(+), 101 deletions(-) diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index 3ce973df6e..c0df38fd04 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -20,146 +20,159 @@ def __repr__(self): """ Copy this template and complete to add your macro - class vnXX_txxx(MacroUpgrade): # Upgrade macro for by - BEFORE_TAG = "vnX.X" AFTER_TAG = "vnX.X_txxx" - def upgrade(self, config, meta_config=None): # Add settings return config, self.reports """ + class vn31_t11(MacroUpgrade): - # Upgrade macro for by + """Upgrade macro for ticket TTTT by Unknown.""" BEFORE_TAG = "vn3.1" AFTER_TAG = "vn3.1_t11" def upgrade(self, config, meta_config=None): - # Add settings - partitioner = self.get_setting_value(config, ["namelist:partitioning","partitioner"]) - multigrid_chain_nitems = self.get_setting_value(config, ["namelist:multigrid","multigrid_chain_nitems"]) + # Commands From: rose-meta/lfric-gungho + partitioner = self.get_setting_value( + config, ["namelist:partitioning", "partitioner"] + ) + multigrid_chain_nitems = self.get_setting_value( + config, ["namelist:multigrid", "multigrid_chain_nitems"] + ) if partitioner == "'planar'": self.add_setting( config, - ["namelist:base_mesh","prime_mesh_name"], + ["namelist:base_mesh", "prime_mesh_name"], "'planar_l0'", - forced=True - ) - if multigrid_chain_nitems == "4": + forced=True, + ) + if multigrid_chain_nitems == "4": self.add_setting( config, - ["namelist:multigrid","chain_mesh_tags"], + ["namelist:multigrid", "chain_mesh_tags"], "'planar_l0','planar_l1','planar_l2','planar_l3'", - forced=True - ) - elif multigrid_chain_nitems == "3": + forced=True, + ) + elif multigrid_chain_nitems == "3": self.add_setting( config, - ["namelist:multigrid","chain_mesh_tags"], + ["namelist:multigrid", "chain_mesh_tags"], "'planar_l0','planar_l1','planar_l2'", - forced=True - ) - elif multigrid_chain_nitems == "2": + forced=True, + ) + elif multigrid_chain_nitems == "2": self.add_setting( config, - ["namelist:multigrid","chain_mesh_tags"], + ["namelist:multigrid", "chain_mesh_tags"], "'planar_l0','planar_l1'", - forced=True - ) + forced=True, + ) else: self.add_setting( config, - ["namelist:base_mesh","prime_mesh_name"], + ["namelist:base_mesh", "prime_mesh_name"], "'cubedsphere_l0'", - forced=True - ) - if multigrid_chain_nitems == "4": + forced=True, + ) + if multigrid_chain_nitems == "4": self.add_setting( config, - ["namelist:multigrid","chain_mesh_tags"], + ["namelist:multigrid", "chain_mesh_tags"], "'cubedsphere_l0','cubedsphere_l1','cubedsphere_l2','cubedsphere_l3'", - forced=True - ) - elif multigrid_chain_nitems == "3": + forced=True, + ) + elif multigrid_chain_nitems == "3": self.add_setting( config, - ["namelist:multigrid","chain_mesh_tags"], + ["namelist:multigrid", "chain_mesh_tags"], "'cubedsphere_l0','cubedsphere_l1','cubedsphere_l2'", - forced=True - ) - elif multigrid_chain_nitems == "2": + forced=True, + ) + elif multigrid_chain_nitems == "2": self.add_setting( config, - ["namelist:multigrid","chain_mesh_tags"], + ["namelist:multigrid", "chain_mesh_tags"], "'cubedsphere_l0','cubedsphere_l1'", - forced=True - ) - partitioner_dest = self.get_setting_value(config, ["namelist:partitioning(destination)","partitioner"]) - destination_mesh_name = self.get_setting_value(config, ["namelist:lfric2lfric","destination_mesh_name"]) - if partitioner_dest == "'planar'": - if destination_mesh_name == "'dynamics'": - self.add_setting( - config, - ["namelist:lfric2lfric","destination_mesh_name"], - "'planar_l0", - forced=True - ) - elif destination_mesh_name == "'multigrid_l1'": - self.add_setting( - config, - ["namelist:lfric2lfric","destination_mesh_name"], - "'planar_l1", - forced=True - ) - elif partitioner_dest == "'cubedsphere'": - if destination_mesh_name == "'dynamics'": - self.add_setting( - config, - ["namelist:lfric2lfric","destination_mesh_name"], - "'cubedsphere_l0", - forced=True - ) - elif destination_mesh_name == "'multigrid_l1'": - self.add_setting( - config, - ["namelist:lfric2lfric","destination_mesh_name"], - "'cubedsphere_l1", - forced=True - ) - partitioner_source = self.get_setting_value(config, ["namelist:partitioning(source)","partitioner"]) - source_mesh_name = self.get_setting_value(config, ["namelist:lfric2lfric","source_mesh_name"]) - if partitioner_source == "'planar'": - if source_mesh_name == "'dynamics'": - self.add_setting( - config, - ["namelist:lfric2lfric","source_mesh_name"], - "'planar_l0", - forced=True - ) - elif source_mesh_name == "'multigrid_l1'": - self.add_setting( - config, - ["namelist:lfric2lfric","source_mesh_name"], - "'planar_l1", - forced=True - ) - elif partitioner_source == "'cubedsphere'": - if source_mesh_name == "'dynamics'": - self.add_setting( - config, - ["namelist:lfric2lfric","source_mesh_name"], - "'cubedsphere_l0", - forced=True - ) - elif source_mesh_name == "'multigrid_l1'": - self.add_setting( - config, - ["namelist:lfric2lfric","source_mesh_name"], - "'cubedsphere_l1", - forced=True - ) + forced=True, + ) + if config.get_value(["namelist:partitioning(destination)"]) is not None: + partitioner_dest = self.get_setting_value( + config, ["namelist:partitioning(destination)", "partitioner"] + ) + destination_mesh_name = self.get_setting_value( + config, ["namelist:lfric2lfric", "destination_mesh_name"] + ) + if partitioner_dest == "'planar'": + if destination_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric", "destination_mesh_name"], + "'planar_l0", + forced=True, + ) + elif destination_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric", "destination_mesh_name"], + "'planar_l1", + forced=True, + ) + elif partitioner_dest == "'cubedsphere'": + if destination_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric", "destination_mesh_name"], + "'cubedsphere_l0", + forced=True, + ) + elif destination_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric", "destination_mesh_name"], + "'cubedsphere_l1", + forced=True, + ) + if config.get_value(["namelist:partitioning(source)"]) is not None: + partitioner_source = self.get_setting_value( + config, ["namelist:partitioning(source)", "partitioner"] + ) + source_mesh_name = self.get_setting_value( + config, ["namelist:lfric2lfric", "source_mesh_name"] + ) + if partitioner_source == "'planar'": + if source_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric", "source_mesh_name"], + "'planar_l0", + forced=True, + ) + elif source_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric", "source_mesh_name"], + "'planar_l1", + forced=True, + ) + elif partitioner_source == "'cubedsphere'": + if source_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric", "source_mesh_name"], + "'cubedsphere_l0", + forced=True, + ) + elif source_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric", "source_mesh_name"], + "'cubedsphere_l1", + forced=True, + ) + return config, self.reports From da5621a092be7cc56bb9e22448c8fe92d8eaceb3 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Thu, 11 Jun 2026 12:27:23 +0100 Subject: [PATCH 04/27] split --- .../gungho/rose-meta/lfric-gungho/versions.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index c0df38fd04..0593379c78 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -30,11 +30,11 @@ def upgrade(self, config, meta_config=None): """ -class vn31_t11(MacroUpgrade): +class vn31_t11a(MacroUpgrade): """Upgrade macro for ticket TTTT by Unknown.""" BEFORE_TAG = "vn3.1" - AFTER_TAG = "vn3.1_t11" + AFTER_TAG = "vn3.1_t11a" def upgrade(self, config, meta_config=None): # Commands From: rose-meta/lfric-gungho @@ -100,6 +100,17 @@ def upgrade(self, config, meta_config=None): "'cubedsphere_l0','cubedsphere_l1'", forced=True, ) + + return config, self.reports + +class vn31_t11b(MacroUpgrade): + """Upgrade macro for ticket TTTT by Unknown.""" + + BEFORE_TAG = "vn3.1" + AFTER_TAG = "vn3.1_t11b" + + def upgrade(self, config, meta_config=None): + if config.get_value(["namelist:partitioning(destination)"]) is not None: partitioner_dest = self.get_setting_value( config, ["namelist:partitioning(destination)", "partitioner"] @@ -137,6 +148,7 @@ def upgrade(self, config, meta_config=None): "'cubedsphere_l1", forced=True, ) + if config.get_value(["namelist:partitioning(source)"]) is not None: partitioner_source = self.get_setting_value( config, ["namelist:partitioning(source)", "partitioner"] From 958f2182cb50234490fb3efd8149d7a3e220cf30 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Thu, 11 Jun 2026 14:12:05 +0100 Subject: [PATCH 05/27] correcting C12_C16_lam --- .../gungho/rose-meta/lfric-gungho/versions.py | 156 +++++++++--------- 1 file changed, 74 insertions(+), 82 deletions(-) diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index 0593379c78..cef3ca60e5 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -30,11 +30,11 @@ def upgrade(self, config, meta_config=None): """ -class vn31_t11a(MacroUpgrade): +class vn31_t11(MacroUpgrade): """Upgrade macro for ticket TTTT by Unknown.""" BEFORE_TAG = "vn3.1" - AFTER_TAG = "vn3.1_t11a" + AFTER_TAG = "vn3.1_t11" def upgrade(self, config, meta_config=None): # Commands From: rose-meta/lfric-gungho @@ -100,91 +100,83 @@ def upgrade(self, config, meta_config=None): "'cubedsphere_l0','cubedsphere_l1'", forced=True, ) - - return config, self.reports - -class vn31_t11b(MacroUpgrade): - """Upgrade macro for ticket TTTT by Unknown.""" - - BEFORE_TAG = "vn3.1" - AFTER_TAG = "vn3.1_t11b" - - def upgrade(self, config, meta_config=None): - - if config.get_value(["namelist:partitioning(destination)"]) is not None: - partitioner_dest = self.get_setting_value( - config, ["namelist:partitioning(destination)", "partitioner"] - ) - destination_mesh_name = self.get_setting_value( - config, ["namelist:lfric2lfric", "destination_mesh_name"] - ) - if partitioner_dest == "'planar'": - if destination_mesh_name == "'dynamics'": - self.add_setting( - config, - ["namelist:lfric2lfric", "destination_mesh_name"], - "'planar_l0", - forced=True, - ) - elif destination_mesh_name == "'multigrid_l1'": - self.add_setting( - config, - ["namelist:lfric2lfric", "destination_mesh_name"], - "'planar_l1", - forced=True, - ) - elif partitioner_dest == "'cubedsphere'": - if destination_mesh_name == "'dynamics'": - self.add_setting( - config, - ["namelist:lfric2lfric", "destination_mesh_name"], - "'cubedsphere_l0", - forced=True, - ) - elif destination_mesh_name == "'multigrid_l1'": - self.add_setting( - config, - ["namelist:lfric2lfric", "destination_mesh_name"], - "'cubedsphere_l1", - forced=True, - ) - - if config.get_value(["namelist:partitioning(source)"]) is not None: - partitioner_source = self.get_setting_value( - config, ["namelist:partitioning(source)", "partitioner"] - ) - source_mesh_name = self.get_setting_value( - config, ["namelist:lfric2lfric", "source_mesh_name"] - ) - if partitioner_source == "'planar'": - if source_mesh_name == "'dynamics'": - self.add_setting( - config, - ["namelist:lfric2lfric", "source_mesh_name"], - "'planar_l0", - forced=True, - ) - elif source_mesh_name == "'multigrid_l1'": - self.add_setting( - config, - ["namelist:lfric2lfric", "source_mesh_name"], - "'planar_l1", - forced=True, - ) - elif partitioner_source == "'cubedsphere'": - if source_mesh_name == "'dynamics'": + + partitioner_dest = self.get_setting_value( + config, ["namelist:partitioning(destination)", "partitioner"] + ) + destination_mesh_name = self.get_setting_value( + config, ["namelist:lfric2lfric", "destination_mesh_name"] + ) + if partitioner_dest == "'planar'": + if destination_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric", "destination_mesh_name"], + "'planar_l0", + forced=True, + ) + elif destination_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric", "destination_mesh_name"], + "'planar_l1", + forced=True, + ) + elif partitioner_dest == "'cubedsphere'": + if destination_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric", "destination_mesh_name"], + "'cubedsphere_l0", + forced=True, + ) + elif destination_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric", "destination_mesh_name"], + "'cubedsphere_l1", + forced=True, + ) + + partitioner_source = self.get_setting_value( + config, ["namelist:partitioning(source)", "partitioner"] + ) + source_mesh_name = self.get_setting_value( + config, ["namelist:lfric2lfric", "source_mesh_name"] + ) + if partitioner_source == "'planar'": + if source_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric", "source_mesh_name"], + "'planar_l0", + forced=True, + ) + elif source_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric", "source_mesh_name"], + "'planar_l1", + forced=True, + ) + elif partitioner_source == "'cubedsphere'": + if source_mesh_name == "'dynamics'": + destination_mesh_prefix = self.get_setting_value( + config, ["namelist:lfric2lfric", "destination_mesh_prefix"] + ) + if destination_mesh_prefix \= '${MESH_DIR}/seuk_MG/mesh_seuk_MG': self.add_setting( config, ["namelist:lfric2lfric", "source_mesh_name"], "'cubedsphere_l0", forced=True, ) - elif source_mesh_name == "'multigrid_l1'": - self.add_setting( - config, - ["namelist:lfric2lfric", "source_mesh_name"], - "'cubedsphere_l1", - forced=True, - ) + elif source_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric", "source_mesh_name"], + "'cubedsphere_l1", + forced=True, + ) return config, self.reports From ca5d328335bbb0086a704919cc0c8b9f066c75d6 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Thu, 11 Jun 2026 14:20:31 +0100 Subject: [PATCH 06/27] correction --- .../gungho/rose-meta/lfric-gungho/versions.py | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index cef3ca60e5..643ea95946 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -124,12 +124,16 @@ def upgrade(self, config, meta_config=None): ) elif partitioner_dest == "'cubedsphere'": if destination_mesh_name == "'dynamics'": - self.add_setting( - config, - ["namelist:lfric2lfric", "destination_mesh_name"], - "'cubedsphere_l0", - forced=True, - ) + destination_mesh_prefix = self.get_setting_value( + config, ["namelist:lfric2lfric", "destination_mesh_prefix"] + ) + if destination_mesh_prefix != '${MESH_DIR}/seuk_MG/mesh_seuk_MG': + self.add_setting( + config, + ["namelist:lfric2lfric", "destination_mesh_name"], + "'cubedsphere_l0", + forced=True, + ) elif destination_mesh_name == "'multigrid_l1'": self.add_setting( config, @@ -161,16 +165,12 @@ def upgrade(self, config, meta_config=None): ) elif partitioner_source == "'cubedsphere'": if source_mesh_name == "'dynamics'": - destination_mesh_prefix = self.get_setting_value( - config, ["namelist:lfric2lfric", "destination_mesh_prefix"] - ) - if destination_mesh_prefix \= '${MESH_DIR}/seuk_MG/mesh_seuk_MG': - self.add_setting( - config, - ["namelist:lfric2lfric", "source_mesh_name"], - "'cubedsphere_l0", - forced=True, - ) + self.add_setting( + config, + ["namelist:lfric2lfric", "source_mesh_name"], + "'cubedsphere_l0", + forced=True, + ) elif source_mesh_name == "'multigrid_l1'": self.add_setting( config, From 6c3c7baa49525f3b3a5b32cdecdbbbeb62f10711 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Thu, 11 Jun 2026 14:39:21 +0100 Subject: [PATCH 07/27] correction --- .../gungho/rose-meta/lfric-gungho/versions.py | 37 ++++++------------- 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index 643ea95946..d750ab4540 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -100,13 +100,12 @@ def upgrade(self, config, meta_config=None): "'cubedsphere_l0','cubedsphere_l1'", forced=True, ) - partitioner_dest = self.get_setting_value( config, ["namelist:partitioning(destination)", "partitioner"] - ) + ) destination_mesh_name = self.get_setting_value( config, ["namelist:lfric2lfric", "destination_mesh_name"] - ) + ) if partitioner_dest == "'planar'": if destination_mesh_name == "'dynamics'": self.add_setting( @@ -114,40 +113,28 @@ def upgrade(self, config, meta_config=None): ["namelist:lfric2lfric", "destination_mesh_name"], "'planar_l0", forced=True, - ) + ) elif destination_mesh_name == "'multigrid_l1'": self.add_setting( config, ["namelist:lfric2lfric", "destination_mesh_name"], "'planar_l1", forced=True, - ) + ) elif partitioner_dest == "'cubedsphere'": - if destination_mesh_name == "'dynamics'": - destination_mesh_prefix = self.get_setting_value( - config, ["namelist:lfric2lfric", "destination_mesh_prefix"] - ) - if destination_mesh_prefix != '${MESH_DIR}/seuk_MG/mesh_seuk_MG': - self.add_setting( - config, - ["namelist:lfric2lfric", "destination_mesh_name"], - "'cubedsphere_l0", - forced=True, - ) - elif destination_mesh_name == "'multigrid_l1'": + if destination_mesh_name == "'multigrid_l1'": self.add_setting( config, ["namelist:lfric2lfric", "destination_mesh_name"], "'cubedsphere_l1", forced=True, - ) - + ) partitioner_source = self.get_setting_value( config, ["namelist:partitioning(source)", "partitioner"] - ) + ) source_mesh_name = self.get_setting_value( config, ["namelist:lfric2lfric", "source_mesh_name"] - ) + ) if partitioner_source == "'planar'": if source_mesh_name == "'dynamics'": self.add_setting( @@ -155,14 +142,14 @@ def upgrade(self, config, meta_config=None): ["namelist:lfric2lfric", "source_mesh_name"], "'planar_l0", forced=True, - ) + ) elif source_mesh_name == "'multigrid_l1'": self.add_setting( config, ["namelist:lfric2lfric", "source_mesh_name"], "'planar_l1", forced=True, - ) + ) elif partitioner_source == "'cubedsphere'": if source_mesh_name == "'dynamics'": self.add_setting( @@ -170,13 +157,13 @@ def upgrade(self, config, meta_config=None): ["namelist:lfric2lfric", "source_mesh_name"], "'cubedsphere_l0", forced=True, - ) + ) elif source_mesh_name == "'multigrid_l1'": self.add_setting( config, ["namelist:lfric2lfric", "source_mesh_name"], "'cubedsphere_l1", forced=True, - ) + ) return config, self.reports From a621fee3e8842fb181db69dba582847653738f9b Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Thu, 11 Jun 2026 15:02:37 +0100 Subject: [PATCH 08/27] correction --- science/gungho/rose-meta/lfric-gungho/versions.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index d750ab4540..82f43d6262 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -122,7 +122,14 @@ def upgrade(self, config, meta_config=None): forced=True, ) elif partitioner_dest == "'cubedsphere'": - if destination_mesh_name == "'multigrid_l1'": + if destination_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric", "destination_mesh_name"], + "'planar_l0", + forced=True, + ) + elif destination_mesh_name == "'multigrid_l1'": self.add_setting( config, ["namelist:lfric2lfric", "destination_mesh_name"], From 4aa352d643bc5f3192941795731b153bd2ae8636 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Fri, 19 Jun 2026 15:11:40 +0100 Subject: [PATCH 09/27] Add upgrade macro for solver --- .../solver/rose-meta/lfric-solver/versions.py | 149 +++++++++++++++++- 1 file changed, 146 insertions(+), 3 deletions(-) diff --git a/applications/solver/rose-meta/lfric-solver/versions.py b/applications/solver/rose-meta/lfric-solver/versions.py index 01798ad2b5..82f43d6262 100644 --- a/applications/solver/rose-meta/lfric-solver/versions.py +++ b/applications/solver/rose-meta/lfric-solver/versions.py @@ -20,14 +20,157 @@ def __repr__(self): """ Copy this template and complete to add your macro - class vnXX_txxx(MacroUpgrade): # Upgrade macro for by - BEFORE_TAG = "vnX.X" AFTER_TAG = "vnX.X_txxx" - def upgrade(self, config, meta_config=None): # Add settings return config, self.reports """ + + +class vn31_t11(MacroUpgrade): + """Upgrade macro for ticket TTTT by Unknown.""" + + BEFORE_TAG = "vn3.1" + AFTER_TAG = "vn3.1_t11" + + def upgrade(self, config, meta_config=None): + # Commands From: rose-meta/lfric-gungho + partitioner = self.get_setting_value( + config, ["namelist:partitioning", "partitioner"] + ) + multigrid_chain_nitems = self.get_setting_value( + config, ["namelist:multigrid", "multigrid_chain_nitems"] + ) + if partitioner == "'planar'": + self.add_setting( + config, + ["namelist:base_mesh", "prime_mesh_name"], + "'planar_l0'", + forced=True, + ) + if multigrid_chain_nitems == "4": + self.add_setting( + config, + ["namelist:multigrid", "chain_mesh_tags"], + "'planar_l0','planar_l1','planar_l2','planar_l3'", + forced=True, + ) + elif multigrid_chain_nitems == "3": + self.add_setting( + config, + ["namelist:multigrid", "chain_mesh_tags"], + "'planar_l0','planar_l1','planar_l2'", + forced=True, + ) + elif multigrid_chain_nitems == "2": + self.add_setting( + config, + ["namelist:multigrid", "chain_mesh_tags"], + "'planar_l0','planar_l1'", + forced=True, + ) + else: + self.add_setting( + config, + ["namelist:base_mesh", "prime_mesh_name"], + "'cubedsphere_l0'", + forced=True, + ) + if multigrid_chain_nitems == "4": + self.add_setting( + config, + ["namelist:multigrid", "chain_mesh_tags"], + "'cubedsphere_l0','cubedsphere_l1','cubedsphere_l2','cubedsphere_l3'", + forced=True, + ) + elif multigrid_chain_nitems == "3": + self.add_setting( + config, + ["namelist:multigrid", "chain_mesh_tags"], + "'cubedsphere_l0','cubedsphere_l1','cubedsphere_l2'", + forced=True, + ) + elif multigrid_chain_nitems == "2": + self.add_setting( + config, + ["namelist:multigrid", "chain_mesh_tags"], + "'cubedsphere_l0','cubedsphere_l1'", + forced=True, + ) + partitioner_dest = self.get_setting_value( + config, ["namelist:partitioning(destination)", "partitioner"] + ) + destination_mesh_name = self.get_setting_value( + config, ["namelist:lfric2lfric", "destination_mesh_name"] + ) + if partitioner_dest == "'planar'": + if destination_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric", "destination_mesh_name"], + "'planar_l0", + forced=True, + ) + elif destination_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric", "destination_mesh_name"], + "'planar_l1", + forced=True, + ) + elif partitioner_dest == "'cubedsphere'": + if destination_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric", "destination_mesh_name"], + "'planar_l0", + forced=True, + ) + elif destination_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric", "destination_mesh_name"], + "'cubedsphere_l1", + forced=True, + ) + partitioner_source = self.get_setting_value( + config, ["namelist:partitioning(source)", "partitioner"] + ) + source_mesh_name = self.get_setting_value( + config, ["namelist:lfric2lfric", "source_mesh_name"] + ) + if partitioner_source == "'planar'": + if source_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric", "source_mesh_name"], + "'planar_l0", + forced=True, + ) + elif source_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric", "source_mesh_name"], + "'planar_l1", + forced=True, + ) + elif partitioner_source == "'cubedsphere'": + if source_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:lfric2lfric", "source_mesh_name"], + "'cubedsphere_l0", + forced=True, + ) + elif source_mesh_name == "'multigrid_l1'": + self.add_setting( + config, + ["namelist:lfric2lfric", "source_mesh_name"], + "'cubedsphere_l1", + forced=True, + ) + + return config, self.reports From cecd7d3befec0f3438544fc81cf43f8b7f54a029 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Fri, 19 Jun 2026 15:13:39 +0100 Subject: [PATCH 10/27] change ticket number --- applications/solver/rose-meta/lfric-solver/versions.py | 4 ++-- science/gungho/rose-meta/lfric-gungho/versions.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/applications/solver/rose-meta/lfric-solver/versions.py b/applications/solver/rose-meta/lfric-solver/versions.py index 82f43d6262..fcade48c88 100644 --- a/applications/solver/rose-meta/lfric-solver/versions.py +++ b/applications/solver/rose-meta/lfric-solver/versions.py @@ -30,11 +30,11 @@ def upgrade(self, config, meta_config=None): """ -class vn31_t11(MacroUpgrade): +class vn31_t16(MacroUpgrade): """Upgrade macro for ticket TTTT by Unknown.""" BEFORE_TAG = "vn3.1" - AFTER_TAG = "vn3.1_t11" + AFTER_TAG = "vn3.1_t16" def upgrade(self, config, meta_config=None): # Commands From: rose-meta/lfric-gungho diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index 82f43d6262..fcade48c88 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -30,11 +30,11 @@ def upgrade(self, config, meta_config=None): """ -class vn31_t11(MacroUpgrade): +class vn31_t16(MacroUpgrade): """Upgrade macro for ticket TTTT by Unknown.""" BEFORE_TAG = "vn3.1" - AFTER_TAG = "vn3.1_t11" + AFTER_TAG = "vn3.1_t16" def upgrade(self, config, meta_config=None): # Commands From: rose-meta/lfric-gungho From 0405a275b4ed92af9e70bbf195e031d92a661742 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Fri, 19 Jun 2026 16:13:56 +0100 Subject: [PATCH 11/27] multires --- .../common/lfric2lfric/tasks_lfric2lfric.cylc | 16 ++++---- .../gungho/rose-meta/lfric-gungho/versions.py | 41 +++++++++++++++++++ 2 files changed, 49 insertions(+), 8 deletions(-) diff --git a/rose-stem/site/common/lfric2lfric/tasks_lfric2lfric.cylc b/rose-stem/site/common/lfric2lfric/tasks_lfric2lfric.cylc index b68dc1efcd..06023f9e43 100644 --- a/rose-stem/site/common/lfric2lfric/tasks_lfric2lfric.cylc +++ b/rose-stem/site/common/lfric2lfric/tasks_lfric2lfric.cylc @@ -24,10 +24,10 @@ "opt_confs": ["ral_seuk","oasis"], "resolution": "seuk_MG", "dst_mesh": "seuk_MG", - "dst_name": "multigrid_l1", + "dst_name": "planar_l1", "dst_type": "regional", "src_mesh": "seuk_MG", - "src_name": "dynamics", + "src_name": "planar_l0", "src_type": "regional", }) %} @@ -89,10 +89,10 @@ "opt_confs": ["clim_gal9","oasis"], "resolution": "C24_C12", "dst_mesh": "C24_C12", - "dst_name": "C24", + "dst_name": "cubedsphere_l0", "dst_type": "global", "src_mesh": "C24_C12", - "src_name": "C12", + "src_name": "cubedsphere_l1", "src_type": "global", }) %} @@ -102,10 +102,10 @@ "opt_confs": ["clim_gal9_ral_seuk","oasis"], "resolution": "C12_C16_lam", "dst_mesh": "seuk_MG", - "dst_name": "dynamics", + "dst_name": "planar_l0", "dst_type": "regional", "src_mesh": "C24_C12", - "src_name": "C12", + "src_name": "cubedsphere_l1", "src_type": "global", }) %} @@ -116,10 +116,10 @@ "opt_confs": ["clim_gal9_ral_seuk","oasis","lbc"], "resolution": "C12_C16_lam", "dst_mesh": "seuk_MG", - "dst_name": "dynamics-lbc", + "dst_name": "planar_l0-lbc", "dst_type": "regional", "src_mesh": "C24_C12", - "src_name": "C12", + "src_name": "cubedsphere_l1", "src_type": "global", }) %} diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index fcade48c88..226fa15495 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -173,4 +173,45 @@ def upgrade(self, config, meta_config=None): forced=True, ) + aerosol_mesh_name = self.get_setting_value( + config, ["namelist:multires_coupling", "aerosol_mesh_name"] + if aerosol_mesh_name == "'multigrid_l2'": + self.add_setting( + config, + ["namelist:multires_coupling", "aerosol_mesh_name"], + "'cubedsphere_l2", + forced=True, + ) + multires_coupling_mesh_tags = self.get_setting_value( + config, ["namelist:multires_coupling", "multires_coupling_mesh_tags"] + if multires_coupling_mesh_tags == "'dynamics','multigrid_l2'": + self.add_setting( + config, + ["namelist:multires_coupling", "multires_coupling_mesh_tags"], + "'cubedsphere_l0','cubedsphere_l2'": + forced=True, + ) + orography_mesh_name = self.get_setting_value( + config, ["namelist:multires_coupling", "orography_mesh_name"] + if orography_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:multires_coupling", "orography_mesh_name"], + "'cubedsphere_l0", + forced=True, + ) + + physics_mesh_name = self.get_setting_value( + config, ["namelist:multires_coupling", "physics_mesh_name"] + + if physics_mesh_name == "'dynamics'": + self.add_setting( + config, + ["namelist:multires_coupling", "physics_mesh_name"], + "'cubedsphere_l0", + forced=True, + ) + + + return config, self.reports From 40e67f2790c3827653f411d108c2a2a0f58d6178 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Fri, 19 Jun 2026 16:34:38 +0100 Subject: [PATCH 12/27] ticket number --- science/gungho/rose-meta/lfric-gungho/versions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index d94d19b1be..ba3e886379 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -813,7 +813,7 @@ def upgrade(self, config, meta_config=None): class vn31_t16(MacroUpgrade): """Upgrade macro for ticket TTTT by Unknown.""" - BEFORE_TAG = "vn3.1" + BEFORE_TAG = "vn3.1_t394" AFTER_TAG = "vn3.1_t16" def upgrade(self, config, meta_config=None): From fe34014c6d47aa16a7baaaf6a8be6b9cc13b5008 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Fri, 19 Jun 2026 16:36:05 +0100 Subject: [PATCH 13/27] indentation --- science/gungho/rose-meta/lfric-gungho/versions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index ba3e886379..01ed41ce8d 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -810,7 +810,7 @@ def upgrade(self, config, meta_config=None): return config, self.reports - class vn31_t16(MacroUpgrade): +class vn31_t16(MacroUpgrade): """Upgrade macro for ticket TTTT by Unknown.""" BEFORE_TAG = "vn3.1_t394" From 3b960009ed83e718d90534532c86770a11a5b347 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Fri, 19 Jun 2026 17:30:40 +0100 Subject: [PATCH 14/27] typo --- science/gungho/rose-meta/lfric-gungho/versions.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index 01ed41ce8d..a1fee64d8e 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -954,7 +954,7 @@ def upgrade(self, config, meta_config=None): ) aerosol_mesh_name = self.get_setting_value( - config, ["namelist:multires_coupling", "aerosol_mesh_name"] + config, ["namelist:multires_coupling", "aerosol_mesh_name"]) if aerosol_mesh_name == "'multigrid_l2'": self.add_setting( config, @@ -963,7 +963,7 @@ def upgrade(self, config, meta_config=None): forced=True, ) multires_coupling_mesh_tags = self.get_setting_value( - config, ["namelist:multires_coupling", "multires_coupling_mesh_tags"] + config, ["namelist:multires_coupling", "multires_coupling_mesh_tags"]) if multires_coupling_mesh_tags == "'dynamics','multigrid_l2'": self.add_setting( config, @@ -972,7 +972,7 @@ def upgrade(self, config, meta_config=None): forced=True, ) orography_mesh_name = self.get_setting_value( - config, ["namelist:multires_coupling", "orography_mesh_name"] + config, ["namelist:multires_coupling", "orography_mesh_name"]) if orography_mesh_name == "'dynamics'": self.add_setting( config, @@ -982,7 +982,7 @@ def upgrade(self, config, meta_config=None): ) physics_mesh_name = self.get_setting_value( - config, ["namelist:multires_coupling", "physics_mesh_name"] + config, ["namelist:multires_coupling", "physics_mesh_name"]) if physics_mesh_name == "'dynamics'": self.add_setting( From 25288fd2f7d686fea4d9efcd90cc1f4306b2df41 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Fri, 19 Jun 2026 17:32:17 +0100 Subject: [PATCH 15/27] typo --- science/gungho/rose-meta/lfric-gungho/versions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index a1fee64d8e..3d31a73d3f 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -968,7 +968,7 @@ def upgrade(self, config, meta_config=None): self.add_setting( config, ["namelist:multires_coupling", "multires_coupling_mesh_tags"], - "'cubedsphere_l0','cubedsphere_l2'": + "'cubedsphere_l0','cubedsphere_l2'", forced=True, ) orography_mesh_name = self.get_setting_value( From a8e34e47c9bbe126a5c277854ea96da53fdda610 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Mon, 22 Jun 2026 08:48:08 +0100 Subject: [PATCH 16/27] update not add for base_mesh --- science/gungho/rose-meta/lfric-gungho/versions.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index 3d31a73d3f..a4d8a180cf 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -825,11 +825,10 @@ def upgrade(self, config, meta_config=None): config, ["namelist:multigrid", "multigrid_chain_nitems"] ) if partitioner == "'planar'": - self.add_setting( + self.change_setting_value( config, ["namelist:base_mesh", "prime_mesh_name"], "'planar_l0'", - forced=True, ) if multigrid_chain_nitems == "4": self.add_setting( @@ -853,11 +852,10 @@ def upgrade(self, config, meta_config=None): forced=True, ) else: - self.add_setting( + self.change_setting_value( config, ["namelist:base_mesh", "prime_mesh_name"], "'cubedsphere_l0'", - forced=True, ) if multigrid_chain_nitems == "4": self.add_setting( From 0d05b5379cfc2d74004f1e96053e8450c5c76183 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Mon, 22 Jun 2026 08:54:25 +0100 Subject: [PATCH 17/27] lfric2lfric meshes --- .../common/lfric2lfric/tasks_lfric2lfric.cylc | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/rose-stem/site/common/lfric2lfric/tasks_lfric2lfric.cylc b/rose-stem/site/common/lfric2lfric/tasks_lfric2lfric.cylc index c3d9914085..3d11165587 100644 --- a/rose-stem/site/common/lfric2lfric/tasks_lfric2lfric.cylc +++ b/rose-stem/site/common/lfric2lfric/tasks_lfric2lfric.cylc @@ -51,10 +51,10 @@ "opt_confs": ["ral_seuk","oasis"], "resolution": "seuk_MG", "dst_mesh": "seuk_MG", - "dst_name": "multigrid_l1", + "dst_name": "planar_l1", "dst_type": "regional", "src_mesh": "seuk_MG", - "src_name": "dynamics", + "src_name": "planar_l0", "src_type": "regional", "mpi_parts": 4, }) %} @@ -143,10 +143,10 @@ "opt_confs": ["clim_gal9","oasis"], "resolution": "C24_C12", "dst_mesh": "C24_C12", - "dst_name": "C24", + "dst_name": "cubedsphere_l0", "dst_type": "global", "src_mesh": "C24_C12", - "src_name": "C12", + "src_name": "cubedsphere_l1", "src_type": "global", "mpi_parts": 6, }) %} @@ -170,10 +170,10 @@ "opt_confs": ["clim_gal9_ral_seuk","oasis", "multi-cpu"], "resolution": "C12_C16_lam", "dst_mesh": "seuk_MG", - "dst_name": "dynamics", + "dst_name": "planar_l0", "dst_type": "regional", "src_mesh": "C24_C12", - "src_name": "C12", + "src_name": "cubedsphere_l1", "src_type": "global", "mpi_parts": 4, }) %} @@ -197,10 +197,10 @@ "opt_confs": ["clim_gal9_ral_seuk","oasis","lbc", "multi-cpu"], "resolution": "C12_C16_lam", "dst_mesh": "seuk_MG", - "dst_name": "dynamics-lbc", + "dst_name": "planar_l0-lbc", "dst_type": "regional", "src_mesh": "C24_C12", - "src_name": "C12", + "src_name": "cubedsphere_l1", "src_type": "global", "mpi_parts": 4, }) %} From 0ef6fadf279fb5a6d45e950545743083ea81847c Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Mon, 22 Jun 2026 09:14:38 +0100 Subject: [PATCH 18/27] lfricinputs --- rose-stem/site/common/lfricinputs/tasks_scintelapi.cylc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rose-stem/site/common/lfricinputs/tasks_scintelapi.cylc b/rose-stem/site/common/lfricinputs/tasks_scintelapi.cylc index aa959d75b6..d16c612c1b 100644 --- a/rose-stem/site/common/lfricinputs/tasks_scintelapi.cylc +++ b/rose-stem/site/common/lfricinputs/tasks_scintelapi.cylc @@ -10,7 +10,7 @@ {% do task_dict.update({ "opt_confs": ["basic"], "resolution": "C48", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "C48", "source_grid_levs": "38", "source_grid_type": "global", @@ -25,7 +25,7 @@ {% do task_dict.update({ "opt_confs": ["mixingratio"], "resolution": "C12", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "C12", "source_grid_levs": "70", "source_grid_type": "global", From 6e1f7ce0ffdaff2776afd7fe2cbd21155dd59b30 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Mon, 22 Jun 2026 09:29:37 +0100 Subject: [PATCH 19/27] lfricinputs --- .../common/lfricinputs/tasks_lfric2um.cylc | 6 ++-- .../common/lfricinputs/tasks_um2lfric.cylc | 32 +++++++++---------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/rose-stem/site/common/lfricinputs/tasks_lfric2um.cylc b/rose-stem/site/common/lfricinputs/tasks_lfric2um.cylc index f8269da615..8738a4929c 100644 --- a/rose-stem/site/common/lfricinputs/tasks_lfric2um.cylc +++ b/rose-stem/site/common/lfricinputs/tasks_lfric2um.cylc @@ -10,7 +10,7 @@ {% do task_dict.update({ "opt_confs": [], "resolution": "C48", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "C48", "source_grid_levs": "38", "source_grid_type": "global", @@ -26,7 +26,7 @@ {% do task_dict.update({ "opt_confs": ["performance"], "resolution": "C224", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "C224", "source_grid_levs": "70", "source_grid_type": "global", @@ -43,7 +43,7 @@ {% do task_dict.update({ "opt_confs": ["um_lam"], "resolution": "C48", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "C48", "source_grid_levs": "70", "source_grid_type": "global", diff --git a/rose-stem/site/common/lfricinputs/tasks_um2lfric.cylc b/rose-stem/site/common/lfricinputs/tasks_um2lfric.cylc index 530d5061b1..322af09a0f 100644 --- a/rose-stem/site/common/lfricinputs/tasks_um2lfric.cylc +++ b/rose-stem/site/common/lfricinputs/tasks_um2lfric.cylc @@ -10,7 +10,7 @@ {% do task_dict.update({ "opt_confs": ["aquaplanet"], "resolution": "C48", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "N48", "source_grid_levs": "38", "source_grid_type": "global", @@ -27,7 +27,7 @@ {% do task_dict.update({ "opt_confs": ["aquaplanet"], "resolution": "C96", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "N48", "source_grid_levs": "38", "source_grid_type": "global", @@ -44,7 +44,7 @@ {% do task_dict.update({ "opt_confs": ["aquaplanet"], "resolution": "C12", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "N48", "source_grid_levs": "38", "source_grid_type": "global", @@ -61,7 +61,7 @@ {% do task_dict.update({ "opt_confs": ["basicgal"], "resolution": "C12", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "N96", "source_grid_levs": "70", "source_grid_type": "global", @@ -78,7 +78,7 @@ {% do task_dict.update({ "opt_confs": ["basicgal"], "resolution": "C96", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "N96", "source_grid_levs": "70", "source_grid_type": "global", @@ -95,7 +95,7 @@ {% do task_dict.update({ "opt_confs": ["nwp_gal9"], "resolution": "C12", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "N320", "source_grid_levs": "70", "source_grid_type": "global", @@ -112,7 +112,7 @@ {% do task_dict.update({ "opt_confs": ["nwp_gal9"], "resolution": "C48", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "N320", "source_grid_levs": "70", "source_grid_type": "global", @@ -129,7 +129,7 @@ {% do task_dict.update({ "opt_confs": ["nwp_gal9"], "resolution": "C224", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "N320", "source_grid_levs": "70", "source_grid_type": "global", @@ -148,7 +148,7 @@ {% do task_dict.update({ "opt_confs": ["protogal"], "resolution": "C48", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "N320", "source_grid_levs": "70", "source_grid_type": "global", @@ -165,7 +165,7 @@ {% do task_dict.update({ "opt_confs": ["protogal"], "resolution": "C12", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "N320", "source_grid_levs": "70", "source_grid_type": "global", @@ -182,7 +182,7 @@ {% do task_dict.update({ "opt_confs": ["protogal_chem"], "resolution": "C48", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "N48", "source_grid_levs": "70", "source_grid_type": "global", @@ -199,7 +199,7 @@ {% do task_dict.update({ "opt_confs": ["protogal_chem"], "resolution": "C12", - "mesh_name": "dynamics", + "mesh_name": "cubedsphere_l0", "source_grid_res": "N48", "source_grid_levs": "70", "source_grid_type": "global", @@ -219,7 +219,7 @@ {% do task_dict.update({ "opt_confs": ["aquaplanet_lam"], "resolution": "aquaplanet_lam", - "mesh_name": "dynamics", + "mesh_name": "planar_l0", "source_grid_res": "", "source_grid_levs": "70", "source_grid_type": "regional", @@ -236,7 +236,7 @@ {% do task_dict.update({ "opt_confs": ["aquaplanet_lbc"], "resolution": "aquaplanet_lam", - "mesh_name": "dynamics", + "mesh_name": "planar_l0", "source_grid_res": "", "source_grid_levs": "70", "source_grid_type": "regional", @@ -254,7 +254,7 @@ {% do task_dict.update({ "opt_confs": ["falklands_lam"], "resolution": "falklands", - "mesh_name": "gungho", + "mesh_name": "planar_l0", "panel_decomp": "custom", "source_grid_res": "", "source_grid_levs": "70", @@ -273,7 +273,7 @@ {% do task_dict.update({ "opt_confs": ["var_seuk_lam"], "resolution": "var_seuk", - "mesh_name": "dynamics", + "mesh_name": "planar_l0", "source_grid_res": "", "source_grid_levs": "70", "source_grid_type": "regional", From 5482ca704cdd264be14415803551e3d259492ee6 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Mon, 22 Jun 2026 16:17:01 +0100 Subject: [PATCH 20/27] planar_l0 to l0_planar --- .../common/lfric2lfric/tasks_lfric2lfric.cylc | 32 ++++++------ .../common/lfricinputs/tasks_um2lfric.cylc | 32 ++++++------ .../gungho/rose-meta/lfric-gungho/versions.py | 52 ++++++++++++------- 3 files changed, 64 insertions(+), 52 deletions(-) diff --git a/rose-stem/site/common/lfric2lfric/tasks_lfric2lfric.cylc b/rose-stem/site/common/lfric2lfric/tasks_lfric2lfric.cylc index 3d11165587..53f549de84 100644 --- a/rose-stem/site/common/lfric2lfric/tasks_lfric2lfric.cylc +++ b/rose-stem/site/common/lfric2lfric/tasks_lfric2lfric.cylc @@ -38,10 +38,10 @@ "opt_confs": ["ral_seuk","oasis"], "resolution": "seuk_MG", "dst_mesh": "seuk_MG", - "dst_name": "planar_l1", + "dst_name": "l1_planar", "dst_type": "regional", "src_mesh": "seuk_MG", - "src_name": "planar_l0", + "src_name": "l0_planar", "src_type": "regional", }) %} @@ -51,10 +51,10 @@ "opt_confs": ["ral_seuk","oasis"], "resolution": "seuk_MG", "dst_mesh": "seuk_MG", - "dst_name": "planar_l1", + "dst_name": "l1_planar", "dst_type": "regional", "src_mesh": "seuk_MG", - "src_name": "planar_l0", + "src_name": "l0_planar", "src_type": "regional", "mpi_parts": 4, }) %} @@ -130,10 +130,10 @@ "opt_confs": ["clim_gal9","oasis"], "resolution": "C24_C12", "dst_mesh": "C24_C12", - "dst_name": "cubedsphere_l0", + "dst_name": "l0_cubedsphere", "dst_type": "global", "src_mesh": "C24_C12", - "src_name": "cubedsphere_l1", + "src_name": "l1_cubedsphere", "src_type": "global", }) %} @@ -143,10 +143,10 @@ "opt_confs": ["clim_gal9","oasis"], "resolution": "C24_C12", "dst_mesh": "C24_C12", - "dst_name": "cubedsphere_l0", + "dst_name": "l0_cubedsphere", "dst_type": "global", "src_mesh": "C24_C12", - "src_name": "cubedsphere_l1", + "src_name": "l1_cubedsphere", "src_type": "global", "mpi_parts": 6, }) %} @@ -157,10 +157,10 @@ "opt_confs": ["clim_gal9_ral_seuk","oasis"], "resolution": "C12_C16_lam", "dst_mesh": "seuk_MG", - "dst_name": "planar_l0", + "dst_name": "l0_planar", "dst_type": "regional", "src_mesh": "C24_C12", - "src_name": "cubedsphere_l1", + "src_name": "l1_cubedsphere", "src_type": "global", }) %} @@ -170,10 +170,10 @@ "opt_confs": ["clim_gal9_ral_seuk","oasis", "multi-cpu"], "resolution": "C12_C16_lam", "dst_mesh": "seuk_MG", - "dst_name": "planar_l0", + "dst_name": "l0_planar", "dst_type": "regional", "src_mesh": "C24_C12", - "src_name": "cubedsphere_l1", + "src_name": "l1_cubedsphere", "src_type": "global", "mpi_parts": 4, }) %} @@ -184,10 +184,10 @@ "opt_confs": ["clim_gal9_ral_seuk","oasis","lbc"], "resolution": "C12_C16_lam", "dst_mesh": "seuk_MG", - "dst_name": "planar_l0-lbc", + "dst_name": "l0_planar-lbc", "dst_type": "regional", "src_mesh": "C24_C12", - "src_name": "cubedsphere_l1", + "src_name": "l1_cubedsphere", "src_type": "global", }) %} @@ -197,10 +197,10 @@ "opt_confs": ["clim_gal9_ral_seuk","oasis","lbc", "multi-cpu"], "resolution": "C12_C16_lam", "dst_mesh": "seuk_MG", - "dst_name": "planar_l0-lbc", + "dst_name": "l0_planar-lbc", "dst_type": "regional", "src_mesh": "C24_C12", - "src_name": "cubedsphere_l1", + "src_name": "l1_cubedsphere", "src_type": "global", "mpi_parts": 4, }) %} diff --git a/rose-stem/site/common/lfricinputs/tasks_um2lfric.cylc b/rose-stem/site/common/lfricinputs/tasks_um2lfric.cylc index 322af09a0f..e731fc03b7 100644 --- a/rose-stem/site/common/lfricinputs/tasks_um2lfric.cylc +++ b/rose-stem/site/common/lfricinputs/tasks_um2lfric.cylc @@ -10,7 +10,7 @@ {% do task_dict.update({ "opt_confs": ["aquaplanet"], "resolution": "C48", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "N48", "source_grid_levs": "38", "source_grid_type": "global", @@ -27,7 +27,7 @@ {% do task_dict.update({ "opt_confs": ["aquaplanet"], "resolution": "C96", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "N48", "source_grid_levs": "38", "source_grid_type": "global", @@ -44,7 +44,7 @@ {% do task_dict.update({ "opt_confs": ["aquaplanet"], "resolution": "C12", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "N48", "source_grid_levs": "38", "source_grid_type": "global", @@ -61,7 +61,7 @@ {% do task_dict.update({ "opt_confs": ["basicgal"], "resolution": "C12", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "N96", "source_grid_levs": "70", "source_grid_type": "global", @@ -78,7 +78,7 @@ {% do task_dict.update({ "opt_confs": ["basicgal"], "resolution": "C96", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "N96", "source_grid_levs": "70", "source_grid_type": "global", @@ -95,7 +95,7 @@ {% do task_dict.update({ "opt_confs": ["nwp_gal9"], "resolution": "C12", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "N320", "source_grid_levs": "70", "source_grid_type": "global", @@ -112,7 +112,7 @@ {% do task_dict.update({ "opt_confs": ["nwp_gal9"], "resolution": "C48", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "N320", "source_grid_levs": "70", "source_grid_type": "global", @@ -129,7 +129,7 @@ {% do task_dict.update({ "opt_confs": ["nwp_gal9"], "resolution": "C224", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "N320", "source_grid_levs": "70", "source_grid_type": "global", @@ -148,7 +148,7 @@ {% do task_dict.update({ "opt_confs": ["protogal"], "resolution": "C48", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "N320", "source_grid_levs": "70", "source_grid_type": "global", @@ -165,7 +165,7 @@ {% do task_dict.update({ "opt_confs": ["protogal"], "resolution": "C12", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "N320", "source_grid_levs": "70", "source_grid_type": "global", @@ -182,7 +182,7 @@ {% do task_dict.update({ "opt_confs": ["protogal_chem"], "resolution": "C48", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "N48", "source_grid_levs": "70", "source_grid_type": "global", @@ -199,7 +199,7 @@ {% do task_dict.update({ "opt_confs": ["protogal_chem"], "resolution": "C12", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "N48", "source_grid_levs": "70", "source_grid_type": "global", @@ -219,7 +219,7 @@ {% do task_dict.update({ "opt_confs": ["aquaplanet_lam"], "resolution": "aquaplanet_lam", - "mesh_name": "planar_l0", + "mesh_name": "l0_planar", "source_grid_res": "", "source_grid_levs": "70", "source_grid_type": "regional", @@ -236,7 +236,7 @@ {% do task_dict.update({ "opt_confs": ["aquaplanet_lbc"], "resolution": "aquaplanet_lam", - "mesh_name": "planar_l0", + "mesh_name": "l0_planar", "source_grid_res": "", "source_grid_levs": "70", "source_grid_type": "regional", @@ -254,7 +254,7 @@ {% do task_dict.update({ "opt_confs": ["falklands_lam"], "resolution": "falklands", - "mesh_name": "planar_l0", + "mesh_name": "l0_planar", "panel_decomp": "custom", "source_grid_res": "", "source_grid_levs": "70", @@ -273,7 +273,7 @@ {% do task_dict.update({ "opt_confs": ["var_seuk_lam"], "resolution": "var_seuk", - "mesh_name": "planar_l0", + "mesh_name": "l0_planar", "source_grid_res": "", "source_grid_levs": "70", "source_grid_type": "regional", diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index a4d8a180cf..59ec80e24b 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -828,54 +828,54 @@ def upgrade(self, config, meta_config=None): self.change_setting_value( config, ["namelist:base_mesh", "prime_mesh_name"], - "'planar_l0'", + "'l0_planar'", ) if multigrid_chain_nitems == "4": self.add_setting( config, ["namelist:multigrid", "chain_mesh_tags"], - "'planar_l0','planar_l1','planar_l2','planar_l3'", + "'l0_planar','l1_planar','l2_planar','l3_planar'", forced=True, ) elif multigrid_chain_nitems == "3": self.add_setting( config, ["namelist:multigrid", "chain_mesh_tags"], - "'planar_l0','planar_l1','planar_l2'", + "'l0_planar','l1_planar','l2_planar'", forced=True, ) elif multigrid_chain_nitems == "2": self.add_setting( config, ["namelist:multigrid", "chain_mesh_tags"], - "'planar_l0','planar_l1'", + "'l0_planar','l1_planar'", forced=True, ) else: self.change_setting_value( config, ["namelist:base_mesh", "prime_mesh_name"], - "'cubedsphere_l0'", + "'l0_cubedsphere'", ) if multigrid_chain_nitems == "4": self.add_setting( config, ["namelist:multigrid", "chain_mesh_tags"], - "'cubedsphere_l0','cubedsphere_l1','cubedsphere_l2','cubedsphere_l3'", + "'l0_cubedsphere','l1_cubedsphere','l2_cubedsphere','l3_cubedsphere'", forced=True, ) elif multigrid_chain_nitems == "3": self.add_setting( config, ["namelist:multigrid", "chain_mesh_tags"], - "'cubedsphere_l0','cubedsphere_l1','cubedsphere_l2'", + "'l0_cubedsphere','l1_cubedsphere','l2_cubedsphere'", forced=True, ) elif multigrid_chain_nitems == "2": self.add_setting( config, ["namelist:multigrid", "chain_mesh_tags"], - "'cubedsphere_l0','cubedsphere_l1'", + "'l0_cubedsphere','l1_cubedsphere'", forced=True, ) partitioner_dest = self.get_setting_value( @@ -889,14 +889,14 @@ def upgrade(self, config, meta_config=None): self.add_setting( config, ["namelist:lfric2lfric", "destination_mesh_name"], - "'planar_l0", + "'l0_planar", forced=True, ) elif destination_mesh_name == "'multigrid_l1'": self.add_setting( config, ["namelist:lfric2lfric", "destination_mesh_name"], - "'planar_l1", + "'l1_planar", forced=True, ) elif partitioner_dest == "'cubedsphere'": @@ -904,14 +904,14 @@ def upgrade(self, config, meta_config=None): self.add_setting( config, ["namelist:lfric2lfric", "destination_mesh_name"], - "'planar_l0", + "'l0_planar", forced=True, ) elif destination_mesh_name == "'multigrid_l1'": self.add_setting( config, ["namelist:lfric2lfric", "destination_mesh_name"], - "'cubedsphere_l1", + "'l1_cubedsphere", forced=True, ) partitioner_source = self.get_setting_value( @@ -925,14 +925,14 @@ def upgrade(self, config, meta_config=None): self.add_setting( config, ["namelist:lfric2lfric", "source_mesh_name"], - "'planar_l0", + "'l0_planar", forced=True, ) elif source_mesh_name == "'multigrid_l1'": self.add_setting( config, ["namelist:lfric2lfric", "source_mesh_name"], - "'planar_l1", + "'l1_planar", forced=True, ) elif partitioner_source == "'cubedsphere'": @@ -940,14 +940,14 @@ def upgrade(self, config, meta_config=None): self.add_setting( config, ["namelist:lfric2lfric", "source_mesh_name"], - "'cubedsphere_l0", + "'l0_cubedsphere", forced=True, ) elif source_mesh_name == "'multigrid_l1'": self.add_setting( config, ["namelist:lfric2lfric", "source_mesh_name"], - "'cubedsphere_l1", + "'l1_cubedsphere", forced=True, ) @@ -957,7 +957,7 @@ def upgrade(self, config, meta_config=None): self.add_setting( config, ["namelist:multires_coupling", "aerosol_mesh_name"], - "'cubedsphere_l2", + "'l2_cubedsphere", forced=True, ) multires_coupling_mesh_tags = self.get_setting_value( @@ -966,7 +966,7 @@ def upgrade(self, config, meta_config=None): self.add_setting( config, ["namelist:multires_coupling", "multires_coupling_mesh_tags"], - "'cubedsphere_l0','cubedsphere_l2'", + "'l0_cubedsphere','l2_cubedsphere'", forced=True, ) orography_mesh_name = self.get_setting_value( @@ -975,7 +975,7 @@ def upgrade(self, config, meta_config=None): self.add_setting( config, ["namelist:multires_coupling", "orography_mesh_name"], - "'cubedsphere_l0", + "'l0_cubedsphere", forced=True, ) @@ -986,7 +986,19 @@ def upgrade(self, config, meta_config=None): self.add_setting( config, ["namelist:multires_coupling", "physics_mesh_name"], - "'cubedsphere_l0", + "'l0_cubedsphere", forced=True, ) + + blpert_mesh_name = self.get_setting_value( + config, ["namelist:stochastic_physics", "blpert_mesh_name"]) + + if blpert_mesh_name == "'multigrid_l3'": + self.add_setting( + config, + ["namelist:stochastic_physics", "blpert_mesh_name"], + "'l3_planar", + forced=True, + ) + return config, self.reports From 39779afe8d4c3c4044bb16ba32b67665a1074111 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Mon, 22 Jun 2026 16:18:54 +0100 Subject: [PATCH 21/27] C24-C12 --- rose-stem/app/lfric2lfric/opt/rose-app-C24_C12.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rose-stem/app/lfric2lfric/opt/rose-app-C24_C12.conf b/rose-stem/app/lfric2lfric/opt/rose-app-C24_C12.conf index 1da248c8cf..ad4daa1250 100644 --- a/rose-stem/app/lfric2lfric/opt/rose-app-C24_C12.conf +++ b/rose-stem/app/lfric2lfric/opt/rose-app-C24_C12.conf @@ -1,5 +1,5 @@ [namelist:lfric2lfric] -destination_mesh_name='C24' +destination_mesh_name='l0_cubedsphere' destination_meshfile_prefix='${MESH_DIR}/C24_C12/mesh_C24_C12' -source_mesh_name='C12' +source_mesh_name='l1_cubedsphere' source_meshfile_prefix='${MESH_DIR}/C24_C12/mesh_C24_C12' From ff3196e0a134b347e497ff6ae8274ba23d765c86 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Mon, 22 Jun 2026 17:53:26 +0100 Subject: [PATCH 22/27] more planar_l0 to l0_planar --- .../solver/rose-meta/lfric-solver/versions.py | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/applications/solver/rose-meta/lfric-solver/versions.py b/applications/solver/rose-meta/lfric-solver/versions.py index fcade48c88..cace7d12f9 100644 --- a/applications/solver/rose-meta/lfric-solver/versions.py +++ b/applications/solver/rose-meta/lfric-solver/versions.py @@ -1,3 +1,4 @@ +import re import sys from metomi.rose.upgrade import MacroUpgrade # noqa: F401 @@ -48,56 +49,56 @@ def upgrade(self, config, meta_config=None): self.add_setting( config, ["namelist:base_mesh", "prime_mesh_name"], - "'planar_l0'", + "'l0_planar'", forced=True, ) if multigrid_chain_nitems == "4": self.add_setting( config, ["namelist:multigrid", "chain_mesh_tags"], - "'planar_l0','planar_l1','planar_l2','planar_l3'", + "'l0_planar','l1_planar','l2_planar','l3_planar'", forced=True, ) elif multigrid_chain_nitems == "3": self.add_setting( config, ["namelist:multigrid", "chain_mesh_tags"], - "'planar_l0','planar_l1','planar_l2'", + "'l0_planar','l1_planar','l2_planar'", forced=True, ) elif multigrid_chain_nitems == "2": self.add_setting( config, ["namelist:multigrid", "chain_mesh_tags"], - "'planar_l0','planar_l1'", + "'l0_planar','l1_planar'", forced=True, ) else: self.add_setting( config, ["namelist:base_mesh", "prime_mesh_name"], - "'cubedsphere_l0'", + "'l0_cubedsphere'", forced=True, ) if multigrid_chain_nitems == "4": self.add_setting( config, ["namelist:multigrid", "chain_mesh_tags"], - "'cubedsphere_l0','cubedsphere_l1','cubedsphere_l2','cubedsphere_l3'", + "'l0_cubedsphere','l1_cubedsphere','l2_cubedsphere','l3_cubedsphere'", forced=True, ) elif multigrid_chain_nitems == "3": self.add_setting( config, ["namelist:multigrid", "chain_mesh_tags"], - "'cubedsphere_l0','cubedsphere_l1','cubedsphere_l2'", + "'l0_cubedsphere','l1_cubedsphere','l2_cubedsphere'", forced=True, ) elif multigrid_chain_nitems == "2": self.add_setting( config, ["namelist:multigrid", "chain_mesh_tags"], - "'cubedsphere_l0','cubedsphere_l1'", + "'l0_cubedsphere','l1_cubedsphere'", forced=True, ) partitioner_dest = self.get_setting_value( @@ -111,14 +112,14 @@ def upgrade(self, config, meta_config=None): self.add_setting( config, ["namelist:lfric2lfric", "destination_mesh_name"], - "'planar_l0", + "'l0_planar", forced=True, ) elif destination_mesh_name == "'multigrid_l1'": self.add_setting( config, ["namelist:lfric2lfric", "destination_mesh_name"], - "'planar_l1", + "'l1_planar", forced=True, ) elif partitioner_dest == "'cubedsphere'": @@ -126,14 +127,14 @@ def upgrade(self, config, meta_config=None): self.add_setting( config, ["namelist:lfric2lfric", "destination_mesh_name"], - "'planar_l0", + "'l0_planar", forced=True, ) elif destination_mesh_name == "'multigrid_l1'": self.add_setting( config, ["namelist:lfric2lfric", "destination_mesh_name"], - "'cubedsphere_l1", + "'l1_cubedsphere", forced=True, ) partitioner_source = self.get_setting_value( @@ -147,14 +148,14 @@ def upgrade(self, config, meta_config=None): self.add_setting( config, ["namelist:lfric2lfric", "source_mesh_name"], - "'planar_l0", + "'l0_planar", forced=True, ) elif source_mesh_name == "'multigrid_l1'": self.add_setting( config, ["namelist:lfric2lfric", "source_mesh_name"], - "'planar_l1", + "'l1_planar", forced=True, ) elif partitioner_source == "'cubedsphere'": @@ -162,14 +163,14 @@ def upgrade(self, config, meta_config=None): self.add_setting( config, ["namelist:lfric2lfric", "source_mesh_name"], - "'cubedsphere_l0", + "'l0_cubedsphere", forced=True, ) elif source_mesh_name == "'multigrid_l1'": self.add_setting( config, ["namelist:lfric2lfric", "source_mesh_name"], - "'cubedsphere_l1", + "'l1_cubedsphere", forced=True, ) From c288b35ae257e6b75ba8785517781e911a346876 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Tue, 23 Jun 2026 08:59:16 +0100 Subject: [PATCH 23/27] corrections --- rose-stem/site/common/lfricinputs/tasks_lfric2um.cylc | 6 +++--- rose-stem/site/common/lfricinputs/tasks_scintelapi.cylc | 4 ++-- science/gungho/rose-meta/lfric-gungho/versions.py | 7 +++++++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/rose-stem/site/common/lfricinputs/tasks_lfric2um.cylc b/rose-stem/site/common/lfricinputs/tasks_lfric2um.cylc index 8738a4929c..764d7e1a42 100644 --- a/rose-stem/site/common/lfricinputs/tasks_lfric2um.cylc +++ b/rose-stem/site/common/lfricinputs/tasks_lfric2um.cylc @@ -10,7 +10,7 @@ {% do task_dict.update({ "opt_confs": [], "resolution": "C48", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "C48", "source_grid_levs": "38", "source_grid_type": "global", @@ -26,7 +26,7 @@ {% do task_dict.update({ "opt_confs": ["performance"], "resolution": "C224", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "C224", "source_grid_levs": "70", "source_grid_type": "global", @@ -43,7 +43,7 @@ {% do task_dict.update({ "opt_confs": ["um_lam"], "resolution": "C48", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "C48", "source_grid_levs": "70", "source_grid_type": "global", diff --git a/rose-stem/site/common/lfricinputs/tasks_scintelapi.cylc b/rose-stem/site/common/lfricinputs/tasks_scintelapi.cylc index d16c612c1b..ca7faf3285 100644 --- a/rose-stem/site/common/lfricinputs/tasks_scintelapi.cylc +++ b/rose-stem/site/common/lfricinputs/tasks_scintelapi.cylc @@ -10,7 +10,7 @@ {% do task_dict.update({ "opt_confs": ["basic"], "resolution": "C48", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "C48", "source_grid_levs": "38", "source_grid_type": "global", @@ -25,7 +25,7 @@ {% do task_dict.update({ "opt_confs": ["mixingratio"], "resolution": "C12", - "mesh_name": "cubedsphere_l0", + "mesh_name": "l0_cubedsphere", "source_grid_res": "C12", "source_grid_levs": "70", "source_grid_type": "global", diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index 59ec80e24b..0829a79823 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -950,6 +950,13 @@ def upgrade(self, config, meta_config=None): "'l1_cubedsphere", forced=True, ) + if source_mesh_name == "'C12'": + self.add_setting( + config, + ["namelist:lfric2lfric", "source_mesh_name"], + "'l1_cubedsphere", + forced=True, + ) aerosol_mesh_name = self.get_setting_value( config, ["namelist:multires_coupling", "aerosol_mesh_name"]) From fcefb316ea8b58acc195269d142f39fdc386c995 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Tue, 23 Jun 2026 09:48:15 +0100 Subject: [PATCH 24/27] lfric2lfric correction --- rose-stem/app/lfric2lfric/opt/rose-app-clim_gal9_ral_seuk.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/rose-stem/app/lfric2lfric/opt/rose-app-clim_gal9_ral_seuk.conf b/rose-stem/app/lfric2lfric/opt/rose-app-clim_gal9_ral_seuk.conf index c9a2536321..31306e3532 100644 --- a/rose-stem/app/lfric2lfric/opt/rose-app-clim_gal9_ral_seuk.conf +++ b/rose-stem/app/lfric2lfric/opt/rose-app-clim_gal9_ral_seuk.conf @@ -13,6 +13,7 @@ checkpoint_stem_name='restart_lfric2lfric_ral_seuk_MG' start_dump_filename='lfric2lfric_clim_gal9_C12_MG' [namelist:lfric2lfric] +destination_mesh_name='l0_planar' destination_topology='non_periodic' target_domain='LAM' From 6a105bfb0c72d63ebe0d5fb05ec7187093a060f5 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Fri, 17 Jul 2026 09:05:32 +0100 Subject: [PATCH 25/27] tidy --- .../solver/rose-meta/lfric-solver/versions.py | 13 +++++++------ science/gungho/rose-meta/lfric-gungho/versions.py | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/applications/solver/rose-meta/lfric-solver/versions.py b/applications/solver/rose-meta/lfric-solver/versions.py index 388161f7ca..539346aba5 100644 --- a/applications/solver/rose-meta/lfric-solver/versions.py +++ b/applications/solver/rose-meta/lfric-solver/versions.py @@ -1,4 +1,3 @@ -import re import sys from metomi.rose.upgrade import MacroUpgrade # noqa: F401 @@ -21,21 +20,23 @@ def __repr__(self): """ Copy this template and complete to add your macro + class vnXX_txxx(MacroUpgrade): # Upgrade macro for by + BEFORE_TAG = "vnX.X" AFTER_TAG = "vnX.X_txxx" + def upgrade(self, config, meta_config=None): # Add settings return config, self.reports """ +class vn32_t551(MacroUpgrade): + """Upgrade macro for ticket #551 by Christine Johnson.""" -class vn31_t16(MacroUpgrade): - """Upgrade macro for ticket TTTT by Unknown.""" - - BEFORE_TAG = "vn3.1" - AFTER_TAG = "vn3.1_t16" + BEFORE_TAG = "vn3.2" + AFTER_TAG = "vn3.2_t551" def upgrade(self, config, meta_config=None): # Commands From: rose-meta/lfric-gungho diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index b3ecc87854..7d83b522a4 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -33,7 +33,7 @@ def upgrade(self, config, meta_config=None): """ class vn32_t551(MacroUpgrade): - """Upgrade macro for ticket TTTT by Unknown.""" + """Upgrade macro for ticket #551 by Christine Johnson.""" BEFORE_TAG = "vn3.2" AFTER_TAG = "vn3.2_t551" From 83f2a55680c0c9a720559f3f7cf9802d77afec43 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Fri, 17 Jul 2026 13:37:26 +0100 Subject: [PATCH 26/27] update ticket --- science/gungho/rose-meta/lfric-gungho/versions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index 7d83b522a4..e78223402e 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -35,7 +35,7 @@ def upgrade(self, config, meta_config=None): class vn32_t551(MacroUpgrade): """Upgrade macro for ticket #551 by Christine Johnson.""" - BEFORE_TAG = "vn3.2" + BEFORE_TAG = "vn3.2_t386" AFTER_TAG = "vn3.2_t551" def upgrade(self, config, meta_config=None): From fc0a21bec920c2876703f8b15c14ee1881a90ad5 Mon Sep 17 00:00:00 2001 From: Christine Johnson <74597224+cjohnson-pi@users.noreply.github.com> Date: Fri, 17 Jul 2026 14:14:29 +0100 Subject: [PATCH 27/27] remove prime_mesh_name --- science/gungho/rose-meta/lfric-gungho/versions.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py index e78223402e..234fc1d6d3 100644 --- a/science/gungho/rose-meta/lfric-gungho/versions.py +++ b/science/gungho/rose-meta/lfric-gungho/versions.py @@ -47,11 +47,6 @@ def upgrade(self, config, meta_config=None): config, ["namelist:multigrid", "multigrid_chain_nitems"] ) if partitioner == "'planar'": - self.change_setting_value( - config, - ["namelist:base_mesh", "prime_mesh_name"], - "'l0_planar'", - ) if multigrid_chain_nitems == "4": self.add_setting( config, @@ -74,11 +69,6 @@ def upgrade(self, config, meta_config=None): forced=True, ) else: - self.change_setting_value( - config, - ["namelist:base_mesh", "prime_mesh_name"], - "'l0_cubedsphere'", - ) if multigrid_chain_nitems == "4": self.add_setting( config,