Skip to content
Open
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
a6a7fbd
Proposed changes: change type of duplicated namelist, add test with
ukmo-juan-castillo Jan 28, 2026
b4df63e
Issue #192: add empty upgrade macro
ukmo-juan-castillo Jan 29, 2026
cdbeaf2
Issue 192: modifications agreed with the lfric team
ukmo-juan-castillo Jan 29, 2026
d7fe894
Issue #192: fix missing brackets; fix update macro
ukmo-juan-castillo Jan 29, 2026
4acd070
Issue #192: add name to contributor list, correct error message
ukmo-juan-castillo Jan 30, 2026
41df24c
Issue #192: changes suggested by the reviewer
ukmo-juan-castillo Jan 30, 2026
cf37023
Issue 192: update partitioning namelist in lfric2lfric
ukmo-juan-castillo Jan 30, 2026
6ea37ae
Revert previous change, intended for another branch
ukmo-juan-castillo Jan 30, 2026
d2f32d2
Minor, aesthetic changes
ukmo-juan-castillo Feb 19, 2026
eb7c0a1
Merge branch 'main' into lfric2lfric_multi_CPU
ukmo-juan-castillo Feb 19, 2026
f0526d2
Update tests and KGOs
ukmo-juan-castillo Feb 19, 2026
792985c
Remove KGOs no longer used
ukmo-juan-castillo Feb 19, 2026
18026b7
Remove more KGOs no longer used
ukmo-juan-castillo Feb 19, 2026
4ee7122
Issue 192: update partitioning namelist in lfric2lfric
ukmo-juan-castillo Jan 30, 2026
e5ac5f5
Revert previous change, intended for another branch
ukmo-juan-castillo Jan 30, 2026
0d6d952
Following reviewer's instructions, remove new rose stem tests
ukmo-juan-castillo Feb 25, 2026
480729d
Merge branch 'main' into lfric2lfric_multi_CPU
ukmo-juan-castillo Feb 25, 2026
532e842
Remove test in nci site as requested by the reviewer
ukmo-juan-castillo Feb 25, 2026
a98a405
Set site tests as recommended by reviewer
ukmo-juan-castillo Feb 25, 2026
780587d
Issue 192: update partitioning namelist in lfric2lfric
ukmo-juan-castillo Jan 30, 2026
55ebdd2
Revert previous change, intended for another branch
ukmo-juan-castillo Jan 30, 2026
ec2a136
Merge remote-tracking branch 'refs/remotes/origin/main'
ukmo-juan-castillo Mar 13, 2026
66cd626
Merge branch 'main' into lfric2lfric_multi_CPU
ukmo-juan-castillo Mar 13, 2026
7b3b0c8
Add multi-cpu tests
ukmo-juan-castillo Mar 13, 2026
8e45397
Fixes to the new tests
ukmo-juan-castillo Mar 13, 2026
6bfb8d2
Allow running with custom decompositions
ukmo-juan-castillo Mar 13, 2026
fe4d3a3
Revert the changes adding multi cpu tests
ukmo-juan-castillo Mar 13, 2026
2fda9a0
Remove unnecessary file
ukmo-juan-castillo Mar 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions applications/lfric2lfric/example/configuration.nml
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,13 @@ coord_order = 1,
/

&partitioning
mesh_type = 'destination',
mesh_target = 'destination',
partitioner = 'cubedsphere',
panel_decomposition = 'auto',
/

&partitioning
mesh_type = 'source',
mesh_target = 'source',
partitioner = 'cubedsphere',
panel_decomposition = 'auto',
/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -278,15 +278,17 @@ type=character

[namelist:partitioning]
duplicate=true
!instance_key_member=mesh_type
!instance_key_member=mesh_target

[namelist:partitioning=mesh_type]
[namelist:partitioning=mesh_target]
compulsory=true
description=The purpose of the mesh
!enumeration=true
help=The mesh can be used to perform a LFRic forecast (Dynamics),
=or to describe the source and the destination grids in
=the lfric2lfric regridding program.
help=The designation of the mesh to which this
=partitioning profile is to be applied.
=
=Recognised designations are:
= * 'source'
= * 'destination'
ns=namelist/lfric2lfric/configuration
value-titles=Dynamics, Source, Destination
values='dynamics', 'source', 'destination'
!string_length=default
type=character
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,24 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""

class vn31_t192(MacroUpgrade):
"""Upgrade macro for ticket #192 by Juan M. Castillo."""

BEFORE_TAG = "vn3.1"
AFTER_TAG = "vn3.1_t192"

def upgrade(self, config, meta_config=None):
# Commands From: rose-meta/lfric-lfric2lfric
self.rename_setting(
config,
["namelist:partitioning(source)", "mesh_type"],
["namelist:partitioning(source)", "mesh_target"],
)
self.rename_setting(
config,
["namelist:partitioning(destination)", "mesh_type"],
["namelist:partitioning(destination)", "mesh_target"],
)

return config, self.reports
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ contains
field_src, l, k))

! send the layer via OASIS
! Extract the version that was actaully placed in the collection
! Extract the version that was actually placed in the collection
coupling_ptr => get_coupling_from_collection(modeldb%values, "coupling" )
local_index => coupling_ptr%get_local_index()
call coupler_exchange_2d%initialise(src_field, local_index)
Expand All @@ -132,7 +132,7 @@ contains
call coupler_exchange_2d%clear()

! receive the layer via OASIS
! Extract the version that was actaully placed in the collection
! Extract the version that was actually placed in the collection
coupling_ptr => get_coupling_from_collection(modeldb%values, "coupling_dst" )
local_index => coupling_ptr%get_local_index()
call coupler_exchange_2d%initialise(dst_field, local_index)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,17 @@ subroutine init_mesh( config, configuration, &
end if
end do

if (.not. associated(src_partitioning_nml)) then
write( log_scratch_space, '(A)' ) &
'Source mesh partitioning namelist (partitioning:source) not found.'
call log_event(log_scratch_space, log_level_error)
end if
if (.not. associated(dst_partitioning_nml)) then
write( log_scratch_space, '(A)' ) &
'Destination mesh partitioning namelist (partitioning:destination) not found.'
call log_event(log_scratch_space, log_level_error)
end if

generate_inner_halos(src) = src_partitioning_nml%generate_inner_halos()
generate_inner_halos(dst) = dst_partitioning_nml%generate_inner_halos()

Expand Down
4 changes: 4 additions & 0 deletions rose-stem/app/lfric2lfric/opt/rose-app-multi-cpu.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[namelist:partitioning(source)]
panel_decomposition='custom'
panel_xproc=2
panel_yproc=1
5 changes: 0 additions & 5 deletions rose-stem/app/lfric2lfric/opt/rose-app-suite_controlled.conf
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,6 @@ panel_decomposition='${PANEL_DECOMP}'
panel_xproc=${XPROC}
panel_yproc=${YPROC}

[namelist:partitioning(source)]
panel_decomposition='${PANEL_DECOMP}'
panel_xproc=${XPROC}
panel_yproc=${YPROC}

[namelist:time]
timestep_end='${RESTART_STOP}'
timestep_start='${RESTART_START}'
4 changes: 2 additions & 2 deletions rose-stem/app/lfric2lfric/rose-app.conf
Original file line number Diff line number Diff line change
Expand Up @@ -835,15 +835,15 @@ wavelength=0

[namelist:partitioning(destination)]
generate_inner_halos=.false.
mesh_type='destination'
mesh_target='destination'
panel_decomposition='auto'
!!panel_xproc=0
!!panel_yproc=0
partitioner='cubedsphere'

[namelist:partitioning(source)]
generate_inner_halos=.false.
mesh_type='source'
mesh_target='source'
panel_decomposition='auto'
!!panel_xproc=0
!!panel_yproc=0
Expand Down
97 changes: 91 additions & 6 deletions rose-stem/site/common/lfric2lfric/tasks_lfric2lfric.cylc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
{# ########################################################################### #}
{% do LOG.debug("Entered site/common/lfric2lfric/tasks_solver.cylc") %}

{% if task_ns.conf_name == "ral_seuk-C32_lam_MG" %}
{% if task_ns.conf_name == "ral_seuk-C32_lam_MG_1cpu" %}

{% do task_dict.update({
"opt_confs": ["ral_seuk"],
Expand All @@ -18,7 +18,34 @@
"src_type": "",
}) %}

{% elif task_ns.conf_name == "oasis_ral_seuk-C32_lam_MG" %}
{% elif task_ns.conf_name == "ral_seuk-C32_lam_MG_4cpu" %}

{% do task_dict.update({
"opt_confs": ["ral_seuk"],
"resolution": "seuk_MG",
"dst_mesh": "",
"dst_name": "",
"dst_type": "",
"src_mesh": "",
"src_name": "",
"src_type": "",
"mpi_parts": 4,
}) %}

{% elif task_ns.conf_name == "oasis_ral_seuk-C32_lam_MG_1cpu" %}

{% do task_dict.update({
"opt_confs": ["ral_seuk","oasis"],
"resolution": "seuk_MG",
"dst_mesh": "seuk_MG",
"dst_name": "multigrid_l1",
"dst_type": "regional",
"src_mesh": "seuk_MG",
"src_name": "dynamics",
"src_type": "regional",
}) %}

{% elif task_ns.conf_name == "oasis_ral_seuk-C32_lam_MG_4cpu" %}

{% do task_dict.update({
"opt_confs": ["ral_seuk","oasis"],
Expand All @@ -29,6 +56,7 @@
"src_mesh": "seuk_MG",
"src_name": "dynamics",
"src_type": "regional",
"mpi_parts": 4,
}) %}

{% elif task_ns.conf_name == "ral3-seuk" %}
Expand Down Expand Up @@ -70,7 +98,20 @@
"src_type": "",
}) %}

{% elif task_ns.conf_name == "clim_gal9-C24_C12" %}
{% elif task_ns.conf_name == "clim_gal9-C24_C12_1cpu" %}

{% do task_dict.update({
"opt_confs": ["clim_gal9"],
"resolution": "C24_C12",
"dst_mesh": "",
"dst_name": "",
"dst_type": "",
"src_mesh": "",
"src_name": "",
"src_type": "",
}) %}

{% elif task_ns.conf_name == "clim_gal9-C24_C12_6cpu" %}

{% do task_dict.update({
"opt_confs": ["clim_gal9"],
Expand All @@ -81,9 +122,10 @@
"src_mesh": "",
"src_name": "",
"src_type": "",
"mpi_parts": 6,
}) %}

{% elif task_ns.conf_name == "oasis_clim_gal9-C24_C12" %}
{% elif task_ns.conf_name == "oasis_clim_gal9-C24_C12_1cpu" %}

{% do task_dict.update({
"opt_confs": ["clim_gal9","oasis"],
Expand All @@ -96,7 +138,21 @@
"src_type": "global",
}) %}

{% elif task_ns.conf_name == "oasis_clim_gal9_C12-ral_seuk_C16_lam" %}
{% elif task_ns.conf_name == "oasis_clim_gal9-C24_C12_6cpu" %}

{% do task_dict.update({
"opt_confs": ["clim_gal9","oasis"],
"resolution": "C24_C12",
"dst_mesh": "C24_C12",
"dst_name": "C24",
"dst_type": "global",
"src_mesh": "C24_C12",
"src_name": "C12",
"src_type": "global",
"mpi_parts": 6,
}) %}

{% elif task_ns.conf_name == "oasis_clim_gal9_C12-ral_seuk_C16_lam_1cpu" %}

{% do task_dict.update({
"opt_confs": ["clim_gal9_ral_seuk","oasis"],
Expand All @@ -109,7 +165,21 @@
"src_type": "global",
}) %}

{% elif task_ns.conf_name == "oasis_clim_gal9_C12-ral_seuk_C16_lam-lbc" %}
{% elif task_ns.conf_name == "oasis_clim_gal9_C12-ral_seuk_C16_lam_4cpu" %}

{% do task_dict.update({
"opt_confs": ["clim_gal9_ral_seuk","oasis", "multi-cpu"],
"resolution": "C12_C16_lam",
"dst_mesh": "seuk_MG",
"dst_name": "dynamics",
"dst_type": "regional",
"src_mesh": "C24_C12",
"src_name": "C12",
"src_type": "global",
"mpi_parts": 4,
}) %}

{% elif task_ns.conf_name == "oasis_clim_gal9_C12-ral_seuk_C16_lam-lbc_1cpu" %}

{# dst_name will need to change to "dynamics-lbc" when lbc meshes can be read #}
{% do task_dict.update({
Expand All @@ -123,6 +193,21 @@
"src_type": "global",
}) %}

{% elif task_ns.conf_name == "oasis_clim_gal9_C12-ral_seuk_C16_lam-lbc_4cpu" %}

{# dst_name will need to change to "dynamics-lbc" when lbc meshes can be read #}
{% do task_dict.update({
"opt_confs": ["clim_gal9_ral_seuk","oasis","lbc", "multi-cpu"],
"resolution": "C12_C16_lam",
"dst_mesh": "seuk_MG",
"dst_name": "dynamics-lbc",
"dst_type": "regional",
"src_mesh": "C24_C12",
"src_name": "C12",
"src_type": "global",
"mpi_parts": 4,
}) %}

{% elif task_ns.conf_name == "canned" %}

{% do task_dict.update({
Expand Down
36 changes: 24 additions & 12 deletions rose-stem/site/meto/groups/groups_lfric2lfric.cylc
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,19 @@
{# Azspice Groups #}
{% do site_groups.update({
"lfric2lfric_azspice_developer": [
"lfric2lfric_ral_seuk-C32_lam_MG_azspice_gnu_fast-debug-64bit",
"lfric2lfric_oasis_ral_seuk-C32_lam_MG_azspice_gnu_fast-debug-64bit",
"lfric2lfric_ral_seuk-C32_lam_MG_1cpu_azspice_gnu_fast-debug-64bit",
"lfric2lfric_ral_seuk-C32_lam_MG_4cpu_azspice_gnu_fast-debug-64bit",
"lfric2lfric_oasis_ral_seuk-C32_lam_MG_1cpu_azspice_gnu_fast-debug-64bit",
"lfric2lfric_oasis_ral_seuk-C32_lam_MG_4cpu_azspice_gnu_fast-debug-64bit",
"lfric2lfric_ral3-seuk_azspice_gnu_fast-debug-64bit",
"lfric2lfric_clim_gal9-C24_C12_azspice_gnu_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9-C24_C12_azspice_gnu_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9_C12-ral_seuk_C16_lam_azspice_gnu_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9_C12-ral_seuk_C16_lam-lbc_azspice_gnu_fast-debug-64bit",
"lfric2lfric_clim_gal9-C24_C12_1cpu_azspice_gnu_fast-debug-64bit",
"lfric2lfric_clim_gal9-C24_C12_6cpu_azspice_gnu_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9-C24_C12_1cpu_azspice_gnu_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9-C24_C12_6cpu_azspice_gnu_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9_C12-ral_seuk_C16_lam_1cpu_azspice_gnu_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9_C12-ral_seuk_C16_lam_4cpu_azspice_gnu_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9_C12-ral_seuk_C16_lam-lbc_1cpu_azspice_gnu_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9_C12-ral_seuk_C16_lam-lbc_4cpu_azspice_gnu_fast-debug-64bit",
"lfric2lfric_azspice_canned",
],
"lfric2lfric_azspice_extra": [
Expand All @@ -36,13 +42,19 @@
{# EX1A Groups #}
{% do site_groups.update({
"lfric2lfric_ex1a_developer": [
"lfric2lfric_ral_seuk-C32_lam_MG_ex1a_cce_fast-debug-64bit",
"lfric2lfric_oasis_ral_seuk-C32_lam_MG_ex1a_cce_fast-debug-64bit",
"lfric2lfric_ral_seuk-C32_lam_MG_1cpu_ex1a_cce_fast-debug-64bit",
"lfric2lfric_ral_seuk-C32_lam_MG_4cpu_ex1a_cce_fast-debug-64bit",
"lfric2lfric_oasis_ral_seuk-C32_lam_MG_1cpu_ex1a_cce_fast-debug-64bit",
"lfric2lfric_oasis_ral_seuk-C32_lam_MG_4cpu_ex1a_cce_fast-debug-64bit",
"lfric2lfric_ral3-seuk_ex1a_cce_fast-debug-64bit",
"lfric2lfric_clim_gal9-C24_C12_ex1a_cce_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9-C24_C12_ex1a_cce_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9_C12-ral_seuk_C16_lam_ex1a_cce_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9_C12-ral_seuk_C16_lam-lbc_ex1a_cce_fast-debug-64bit",
"lfric2lfric_clim_gal9-C24_C12_1cpu_ex1a_cce_fast-debug-64bit",
"lfric2lfric_clim_gal9-C24_C12_6cpu_ex1a_cce_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9-C24_C12_1cpu_ex1a_cce_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9-C24_C12_6cpu_ex1a_cce_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9_C12-ral_seuk_C16_lam_1cpu_ex1a_cce_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9_C12-ral_seuk_C16_lam_4cpu_ex1a_cce_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9_C12-ral_seuk_C16_lam-lbc_1cpu_ex1a_cce_fast-debug-64bit",
"lfric2lfric_oasis_clim_gal9_C12-ral_seuk_C16_lam-lbc_4cpu_ex1a_cce_fast-debug-64bit",
"lfric2lfric_ex1a_canned",
],
"lfric2lfric_ex1a_extra": [
Expand Down
Loading