From c7f4f881bc70d182cfe38caf692aa42e3c67b6af Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Tue, 20 Jan 2026 15:04:55 +0000
Subject: [PATCH 01/29] implement changes to output heights at W2H and W0
---
.../lfric_atm/metadata/field_def_diags.xml | 2 +
dependencies.yaml | 4 +-
.../gungho_model/file/file_def_initial.xml | 2 +
.../driver/gungho_diagnostics_driver_mod.F90 | 47 +++++++++++--------
4 files changed, 34 insertions(+), 21 deletions(-)
diff --git a/applications/lfric_atm/metadata/field_def_diags.xml b/applications/lfric_atm/metadata/field_def_diags.xml
index 007ee86df..a17d884f9 100644
--- a/applications/lfric_atm/metadata/field_def_diags.xml
+++ b/applications/lfric_atm/metadata/field_def_diags.xml
@@ -43,6 +43,8 @@
+
+
zoomed__orography
diff --git a/dependencies.yaml b/dependencies.yaml
index caab36487..93062a68c 100644
--- a/dependencies.yaml
+++ b/dependencies.yaml
@@ -30,8 +30,8 @@ lfric_apps:
ref:
lfric_core:
- source: git@github.com:MetOffice/lfric_core.git
- ref: 2025.12.1
+ source: git@github.com:tommbendall/lfric_core.git
+ ref: TBendall/HeightW0
moci:
source: git@github.com:MetOffice/moci.git
diff --git a/rose-stem/app/gungho_model/file/file_def_initial.xml b/rose-stem/app/gungho_model/file/file_def_initial.xml
index 2b1050253..42cf3bfec 100644
--- a/rose-stem/app/gungho_model/file/file_def_initial.xml
+++ b/rose-stem/app/gungho_model/file/file_def_initial.xml
@@ -13,6 +13,8 @@
+
+
diff --git a/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90 b/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90
index 12cc745a4..4837dd762 100644
--- a/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90
+++ b/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90
@@ -35,7 +35,7 @@ module gungho_diagnostics_driver_mod
use formulation_config_mod, only : use_physics, &
moisture_formulation, &
moisture_formulation_dry
- use fs_continuity_mod, only : W3, Wtheta
+ use fs_continuity_mod, only : W3, Wtheta, W2H, W0
use integer_field_mod, only : integer_field_type
use initialization_config_mod, only : ls_option, &
ls_option_analytic, &
@@ -46,7 +46,7 @@ module gungho_diagnostics_driver_mod
use log_mod, only : log_event, &
LOG_LEVEL_DEBUG
use sci_geometric_constants_mod, &
- only : get_panel_id, get_height_fe, &
+ only : get_panel_id, &
get_height_fv, get_da_msl_proj
use io_config_mod, only : subroutine_timers, use_xios_io, write_fluxes
use timer_mod, only : timer
@@ -101,8 +101,7 @@ subroutine gungho_diagnostics_driver( modeldb, &
type( field_type), pointer :: rho => null()
type( field_type), pointer :: exner => null()
type( field_type), pointer :: panel_id => null()
- type( field_type), pointer :: height_w3 => null()
- type( field_type), pointer :: height_wth => null()
+ type( field_type), pointer :: height => null()
type( field_type), pointer :: lbc_u => null()
type( field_type), pointer :: lbc_theta => null()
type( field_type), pointer :: lbc_rho => null()
@@ -131,7 +130,6 @@ subroutine gungho_diagnostics_driver( modeldb, &
character(str_def) :: name
integer :: fs
- integer :: element_order_h, element_order_v
procedure(write_interface), pointer :: tmp_write_ptr => null()
@@ -161,20 +159,6 @@ subroutine gungho_diagnostics_driver( modeldb, &
call prognostic_fields%get_field('rho', rho)
call prognostic_fields%get_field('exner', exner)
- ! Get element orders and get the finite element or finite volume height
- element_order_h = theta%get_element_order_h()
- element_order_v = theta%get_element_order_v()
-
- if (element_order_h > 0 .or. element_order_v > 0) then
- ! Get the finite element height
- height_w3 => get_height_fe(W3, mesh%get_id())
- height_wth => get_height_fe(Wtheta, mesh%get_id())
- else
- ! Get the finite volume height
- height_w3 => get_height_fv(W3, mesh%get_id())
- height_wth => get_height_fv(Wtheta, mesh%get_id())
- end if
-
! Scalar fields
call write_scalar_diagnostic('rho', rho, &
modeldb%clock, mesh, nodal_output_on_w3)
@@ -187,6 +171,31 @@ subroutine gungho_diagnostics_driver( modeldb, &
call write_scalar_diagnostic('height_wth', height_wth, &
modeldb%clock, mesh, nodal_output_on_w3)
+ ! Write out heights of function space DoFs to initial file, if requested
+ if (use_xios_io .and. modeldb%clock%is_initialisation()) then
+ tmp_write_ptr => write_field_generic
+ if (diagnostic_to_be_sampled("init_height_w3")) then
+ height => get_height_fv(W3, mesh%get_id())
+ call height%set_write_behaviour(tmp_write_ptr)
+ call height%write_field("init_height_w3")
+ end if
+ if (diagnostic_to_be_sampled("init_height_wth")) then
+ height => get_height_fv(Wtheta, mesh%get_id())
+ call height%set_write_behaviour(tmp_write_ptr)
+ call height%write_field("init_height_wth")
+ end if
+ if (diagnostic_to_be_sampled("init_height_w2h")) then
+ height => get_height_fv(W2H, mesh%get_id())
+ call height%set_write_behaviour(tmp_write_ptr)
+ call height%write_field("init_height_w2h")
+ end if
+ if (diagnostic_to_be_sampled("init_height_w0")) then
+ height => get_height_fv(W0, mesh%get_id())
+ call height%set_write_behaviour(tmp_write_ptr)
+ call height%write_field("init_height_w0")
+ end if
+ end if
+
if (transport_ageofair) then
call con_tracer_last_outer%get_field('ageofair',ageofair)
call write_scalar_diagnostic('ageofair', ageofair, &
From 03640d9f9fba53fe69c0df4a1250fd6ce80f111b Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Tue, 20 Jan 2026 15:37:39 +0000
Subject: [PATCH 02/29] implement ability to write out initial height fields
---
.../gungho_model/example/file_def_initial.xml | 2 +
.../lfric_atm/metadata/field_def_diags.xml | 2 +
.../metadata/field_def_initial_diags.xml | 2 +
dependencies.yaml | 4 +-
.../gungho_model/file/file_def_initial.xml | 2 +
.../driver/gungho_diagnostics_driver_mod.F90 | 51 ++++++++++---------
6 files changed, 38 insertions(+), 25 deletions(-)
diff --git a/applications/gungho_model/example/file_def_initial.xml b/applications/gungho_model/example/file_def_initial.xml
index 2b1050253..42cf3bfec 100644
--- a/applications/gungho_model/example/file_def_initial.xml
+++ b/applications/gungho_model/example/file_def_initial.xml
@@ -13,6 +13,8 @@
+
+
diff --git a/applications/lfric_atm/metadata/field_def_diags.xml b/applications/lfric_atm/metadata/field_def_diags.xml
index 007ee86df..a17d884f9 100644
--- a/applications/lfric_atm/metadata/field_def_diags.xml
+++ b/applications/lfric_atm/metadata/field_def_diags.xml
@@ -43,6 +43,8 @@
+
+
zoomed__orography
diff --git a/applications/lfric_atm/metadata/field_def_initial_diags.xml b/applications/lfric_atm/metadata/field_def_initial_diags.xml
index 707675af2..b91c8aed1 100644
--- a/applications/lfric_atm/metadata/field_def_initial_diags.xml
+++ b/applications/lfric_atm/metadata/field_def_initial_diags.xml
@@ -21,6 +21,8 @@
+
+
diff --git a/dependencies.yaml b/dependencies.yaml
index caab36487..93062a68c 100644
--- a/dependencies.yaml
+++ b/dependencies.yaml
@@ -30,8 +30,8 @@ lfric_apps:
ref:
lfric_core:
- source: git@github.com:MetOffice/lfric_core.git
- ref: 2025.12.1
+ source: git@github.com:tommbendall/lfric_core.git
+ ref: TBendall/HeightW0
moci:
source: git@github.com:MetOffice/moci.git
diff --git a/rose-stem/app/gungho_model/file/file_def_initial.xml b/rose-stem/app/gungho_model/file/file_def_initial.xml
index 2b1050253..42cf3bfec 100644
--- a/rose-stem/app/gungho_model/file/file_def_initial.xml
+++ b/rose-stem/app/gungho_model/file/file_def_initial.xml
@@ -13,6 +13,8 @@
+
+
diff --git a/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90 b/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90
index 12cc745a4..e67693862 100644
--- a/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90
+++ b/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90
@@ -35,7 +35,7 @@ module gungho_diagnostics_driver_mod
use formulation_config_mod, only : use_physics, &
moisture_formulation, &
moisture_formulation_dry
- use fs_continuity_mod, only : W3, Wtheta
+ use fs_continuity_mod, only : W3, Wtheta, W2H, W0
use integer_field_mod, only : integer_field_type
use initialization_config_mod, only : ls_option, &
ls_option_analytic, &
@@ -46,7 +46,7 @@ module gungho_diagnostics_driver_mod
use log_mod, only : log_event, &
LOG_LEVEL_DEBUG
use sci_geometric_constants_mod, &
- only : get_panel_id, get_height_fe, &
+ only : get_panel_id, &
get_height_fv, get_da_msl_proj
use io_config_mod, only : subroutine_timers, use_xios_io, write_fluxes
use timer_mod, only : timer
@@ -101,8 +101,7 @@ subroutine gungho_diagnostics_driver( modeldb, &
type( field_type), pointer :: rho => null()
type( field_type), pointer :: exner => null()
type( field_type), pointer :: panel_id => null()
- type( field_type), pointer :: height_w3 => null()
- type( field_type), pointer :: height_wth => null()
+ type( field_type), pointer :: height => null()
type( field_type), pointer :: lbc_u => null()
type( field_type), pointer :: lbc_theta => null()
type( field_type), pointer :: lbc_rho => null()
@@ -131,7 +130,6 @@ subroutine gungho_diagnostics_driver( modeldb, &
character(str_def) :: name
integer :: fs
- integer :: element_order_h, element_order_v
procedure(write_interface), pointer :: tmp_write_ptr => null()
@@ -161,20 +159,6 @@ subroutine gungho_diagnostics_driver( modeldb, &
call prognostic_fields%get_field('rho', rho)
call prognostic_fields%get_field('exner', exner)
- ! Get element orders and get the finite element or finite volume height
- element_order_h = theta%get_element_order_h()
- element_order_v = theta%get_element_order_v()
-
- if (element_order_h > 0 .or. element_order_v > 0) then
- ! Get the finite element height
- height_w3 => get_height_fe(W3, mesh%get_id())
- height_wth => get_height_fe(Wtheta, mesh%get_id())
- else
- ! Get the finite volume height
- height_w3 => get_height_fv(W3, mesh%get_id())
- height_wth => get_height_fv(Wtheta, mesh%get_id())
- end if
-
! Scalar fields
call write_scalar_diagnostic('rho', rho, &
modeldb%clock, mesh, nodal_output_on_w3)
@@ -182,10 +166,31 @@ subroutine gungho_diagnostics_driver( modeldb, &
modeldb%clock, mesh, nodal_output_on_w3)
call write_scalar_diagnostic('exner', exner, &
modeldb%clock, mesh, nodal_output_on_w3)
- call write_scalar_diagnostic('height_w3', height_w3, &
- modeldb%clock, mesh, nodal_output_on_w3)
- call write_scalar_diagnostic('height_wth', height_wth, &
- modeldb%clock, mesh, nodal_output_on_w3)
+
+ ! Write out heights of function space DoFs to initial file, if requested
+ if (use_xios_io .and. modeldb%clock%is_initialisation()) then
+ tmp_write_ptr => write_field_generic
+ if (diagnostic_to_be_sampled("init_height_w3")) then
+ height => get_height_fv(W3, mesh%get_id())
+ call height%set_write_behaviour(tmp_write_ptr)
+ call height%write_field("init_height_w3")
+ end if
+ if (diagnostic_to_be_sampled("init_height_wth")) then
+ height => get_height_fv(Wtheta, mesh%get_id())
+ call height%set_write_behaviour(tmp_write_ptr)
+ call height%write_field("init_height_wth")
+ end if
+ if (diagnostic_to_be_sampled("init_height_w2h")) then
+ height => get_height_fv(W2H, mesh%get_id())
+ call height%set_write_behaviour(tmp_write_ptr)
+ call height%write_field("init_height_w2h")
+ end if
+ if (diagnostic_to_be_sampled("init_height_w0")) then
+ height => get_height_fv(W0, mesh%get_id())
+ call height%set_write_behaviour(tmp_write_ptr)
+ call height%write_field("init_height_w0")
+ end if
+ end if
if (transport_ageofair) then
call con_tracer_last_outer%get_field('ageofair',ageofair)
From 2088318f978e81cb9e04ef788ae78141d173a702 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Tue, 20 Jan 2026 16:22:15 +0000
Subject: [PATCH 03/29] pick up changes from heights_more branch
---
applications/gungho_model/example/file_def_initial.xml | 2 ++
applications/lfric_atm/metadata/field_def_initial_diags.xml | 2 ++
.../gungho/source/driver/gungho_diagnostics_driver_mod.F90 | 4 ----
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/applications/gungho_model/example/file_def_initial.xml b/applications/gungho_model/example/file_def_initial.xml
index 2b1050253..42cf3bfec 100644
--- a/applications/gungho_model/example/file_def_initial.xml
+++ b/applications/gungho_model/example/file_def_initial.xml
@@ -13,6 +13,8 @@
+
+
diff --git a/applications/lfric_atm/metadata/field_def_initial_diags.xml b/applications/lfric_atm/metadata/field_def_initial_diags.xml
index 707675af2..b91c8aed1 100644
--- a/applications/lfric_atm/metadata/field_def_initial_diags.xml
+++ b/applications/lfric_atm/metadata/field_def_initial_diags.xml
@@ -21,6 +21,8 @@
+
+
diff --git a/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90 b/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90
index 4837dd762..e67693862 100644
--- a/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90
+++ b/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90
@@ -166,10 +166,6 @@ subroutine gungho_diagnostics_driver( modeldb, &
modeldb%clock, mesh, nodal_output_on_w3)
call write_scalar_diagnostic('exner', exner, &
modeldb%clock, mesh, nodal_output_on_w3)
- call write_scalar_diagnostic('height_w3', height_w3, &
- modeldb%clock, mesh, nodal_output_on_w3)
- call write_scalar_diagnostic('height_wth', height_wth, &
- modeldb%clock, mesh, nodal_output_on_w3)
! Write out heights of function space DoFs to initial file, if requested
if (use_xios_io .and. modeldb%clock%is_initialisation()) then
From 078ccecb151a74e62403d7b567097d03f7f4b850 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Tue, 20 Jan 2026 17:39:35 +0000
Subject: [PATCH 04/29] Fix fringe cases, and use a loop to simplify code
---
CONTRIBUTORS.md | 1 +
.../driver/gungho_diagnostics_driver_mod.F90 | 130 +++++++++---------
2 files changed, 65 insertions(+), 66 deletions(-)
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index da42a74b5..04ff97bc6 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -5,3 +5,4 @@
| james-bruten-mo | James Bruten | Met Office | 2025-12-09 |
| jennyhickson | Jenny Hickson | Met Office | 2025-12-10 |
| mo-marqh | mark Hedley | Met Office | 2025-12-11 |
+| tommbendall | Thomas Bendall | Met Office | 2025-01-20 |
diff --git a/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90 b/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90
index e67693862..497e1b984 100644
--- a/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90
+++ b/science/gungho/source/driver/gungho_diagnostics_driver_mod.F90
@@ -47,7 +47,7 @@ module gungho_diagnostics_driver_mod
LOG_LEVEL_DEBUG
use sci_geometric_constants_mod, &
only : get_panel_id, &
- get_height_fv, get_da_msl_proj
+ get_height_fe, get_da_msl_proj
use io_config_mod, only : subroutine_timers, use_xios_io, write_fluxes
use timer_mod, only : timer
use transport_config_mod, only : transport_ageofair
@@ -86,54 +86,52 @@ subroutine gungho_diagnostics_driver( modeldb, &
type(mesh_type), intent(in), pointer :: twod_mesh
logical, intent(in) :: nodal_output_on_w3
- type( field_collection_type ), pointer :: prognostic_fields => null()
- type( field_collection_type ), pointer :: con_tracer_last_outer
- type( field_collection_type ), pointer :: lbc_fields
- type( field_collection_type ), pointer :: moisture_fields => null()
- type( field_type ), pointer :: mr(:) => null()
- type( field_type ), pointer :: moist_dyn(:) => null()
- type( field_collection_type ), pointer :: derived_fields
-
- type( field_type), pointer :: theta => null()
- type( field_type), pointer :: u => null()
- type( field_type), pointer :: h_u => null()
- type( field_type), pointer :: v_u => null()
- type( field_type), pointer :: rho => null()
- type( field_type), pointer :: exner => null()
- type( field_type), pointer :: panel_id => null()
- type( field_type), pointer :: height => null()
- type( field_type), pointer :: lbc_u => null()
- type( field_type), pointer :: lbc_theta => null()
- type( field_type), pointer :: lbc_rho => null()
- type( field_type), pointer :: lbc_exner => null()
- type( field_type), pointer :: lbc_m_v=> null()
- type( field_type), pointer :: lbc_q=> null()
- type( field_type), pointer :: u_in_w2h => null()
- type( field_type), pointer :: v_in_w2h => null()
- type( field_type), pointer :: w_in_wth => null()
- type( field_type), pointer :: ageofair => null()
- type( field_type), pointer :: exner_in_wth => null()
- type( field_type), pointer :: dA => null()
-
- type(field_array_type), pointer :: mr_array => null()
- type(field_array_type), pointer :: moist_dyn_array => null()
+ type(field_collection_type), pointer :: prognostic_fields
+ type(field_collection_type), pointer :: con_tracer_last_outer
+ type(field_collection_type), pointer :: lbc_fields
+ type(field_collection_type), pointer :: moisture_fields
+ type(field_type), pointer :: mr(:)
+ type(field_type), pointer :: moist_dyn(:)
+ type(field_collection_type), pointer :: derived_fields
+
+ type(field_type), pointer :: theta
+ type(field_type), pointer :: u
+ type(field_type), pointer :: h_u
+ type(field_type), pointer :: v_u
+ type(field_type), pointer :: rho
+ type(field_type), pointer :: exner
+ type(field_type), pointer :: panel_id
+ type(field_type), pointer :: height
+ type(field_type), pointer :: lbc_u
+ type(field_type), pointer :: lbc_theta
+ type(field_type), pointer :: lbc_rho
+ type(field_type), pointer :: lbc_exner
+ type(field_type), pointer :: lbc_m_v
+ type(field_type), pointer :: lbc_q
+ type(field_type), pointer :: u_in_w2h
+ type(field_type), pointer :: v_in_w2h
+ type(field_type), pointer :: w_in_wth
+ type(field_type), pointer :: ageofair
+ type(field_type), pointer :: exner_in_wth
+ type(field_type), pointer :: dA
+
+ type(field_array_type), pointer :: mr_array
+ type(field_array_type), pointer :: moist_dyn_array
! Iterator for field collection
type(field_collection_iterator_type) :: iterator
! A pointer used for retrieving fields from collections
! when iterating over them
- class( field_parent_type ), pointer :: field_ptr => null()
+ class(field_parent_type), pointer :: field_ptr => null()
+ procedure(write_interface), pointer :: tmp_write_ptr
+ type(io_value_type), pointer :: temp_corr_io_value
- type(io_value_type), pointer :: temp_corr_io_value
+ integer(kind=i_def) :: i, fs
+ character(len=str_def) :: name, prefix, field_name
- character(str_def) :: name
-
- integer :: fs
-
- procedure(write_interface), pointer :: tmp_write_ptr => null()
-
- integer :: i
+ integer(kind=i_def), allocatable :: fs_ids(:)
+ character(len=str_def), allocatable :: fs_names(:)
if ( subroutine_timers ) call timer('gungho_diagnostics_driver')
@@ -167,30 +165,30 @@ subroutine gungho_diagnostics_driver( modeldb, &
call write_scalar_diagnostic('exner', exner, &
modeldb%clock, mesh, nodal_output_on_w3)
- ! Write out heights of function space DoFs to initial file, if requested
- if (use_xios_io .and. modeldb%clock%is_initialisation()) then
- tmp_write_ptr => write_field_generic
- if (diagnostic_to_be_sampled("init_height_w3")) then
- height => get_height_fv(W3, mesh%get_id())
- call height%set_write_behaviour(tmp_write_ptr)
- call height%write_field("init_height_w3")
- end if
- if (diagnostic_to_be_sampled("init_height_wth")) then
- height => get_height_fv(Wtheta, mesh%get_id())
- call height%set_write_behaviour(tmp_write_ptr)
- call height%write_field("init_height_wth")
- end if
- if (diagnostic_to_be_sampled("init_height_w2h")) then
- height => get_height_fv(W2H, mesh%get_id())
- call height%set_write_behaviour(tmp_write_ptr)
- call height%write_field("init_height_w2h")
- end if
- if (diagnostic_to_be_sampled("init_height_w0")) then
- height => get_height_fv(W0, mesh%get_id())
- call height%set_write_behaviour(tmp_write_ptr)
- call height%write_field("init_height_w0")
+ ! Write out heights of function space DoFs, if requested
+ allocate(fs_names(4))
+ allocate(fs_ids(4))
+ fs_names = (/ "w0 ", "w2h", "w3 ", "wth" /) ! Spaces to align lengths
+ fs_ids = (/ W0, W2H, W3, Wtheta /)
+ if (use_xios_io) then
+ if (modeldb%clock%is_initialisation()) then
+ prefix = "init_"
+ else
+ prefix = ""
end if
+ tmp_write_ptr => write_field_generic
+ do i = 1, SIZE(fs_names)
+ field_name = trim(prefix)//"height_"//trim(fs_names(i))
+ fs = fs_ids(i)
+ if (diagnostic_to_be_sampled(trim(field_name))) then
+ height => get_height_fe(fs, mesh%get_id())
+ call height%set_write_behaviour(tmp_write_ptr)
+ call height%write_field(trim(field_name))
+ end if
+ end do
end if
+ deallocate(fs_names)
+ deallocate(fs_ids)
if (transport_ageofair) then
call con_tracer_last_outer%get_field('ageofair',ageofair)
@@ -238,7 +236,7 @@ subroutine gungho_diagnostics_driver( modeldb, &
! Moisture fields
if ( moisture_formulation /= moisture_formulation_dry ) then
- do i=1,nummr
+ do i = 1, nummr
call write_scalar_diagnostic( trim(mr_names(i)), mr(i), &
modeldb%clock, mesh, nodal_output_on_w3 )
end do
@@ -281,8 +279,8 @@ subroutine gungho_diagnostics_driver( modeldb, &
modeldb%clock, mesh, nodal_output_on_w3)
call write_vector_diagnostic('readlbc_h_u', h_u, &
modeldb%clock, mesh, nodal_output_on_w3)
- endif
- endif
+ end if
+ end if
! Derived physics fields (only those on W3 or Wtheta)
if (use_physics .and. use_xios_io .and. .not. modeldb%clock%is_initialisation()) then
From 8b4facd168de6917b98cf84469c47de0d8e801ff Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Thu, 22 Jan 2026 08:54:33 +0000
Subject: [PATCH 05/29] Implement change to calculation of required stencil
depth
---
.../mol/adjt_reconstruct_w3_field_alg_mod.x90 | 1 -
.../gravity_wave_infrastructure_mod.f90 | 13 +++--
.../algorithm/algorithm_test.f90 | 2 +-
.../jedi-interface/jedi_geometry_mod.f90 | 1 -
.../initialisation/lfric2lfric_init_mesh.f90 | 36 +++++++++----
.../source/driver/shallow_water_model_mod.F90 | 9 ++--
applications/solver/source/solver.F90 | 2 +-
.../source/driver/transport_driver_mod.f90 | 25 ++++++---
dependencies.yaml | 4 +-
.../integration-test/cma_test/cma_test.f90 | 4 +-
.../common/remap_on_extended_mesh_alg_mod.x90 | 3 +-
.../transport/ffsl/ffsl_hori_alg_mod.x90 | 11 ++--
.../mol/reconstruct_w3_field_alg_mod.x90 | 3 +-
.../mol/wt_advective_update_alg_mod.x90 | 3 +-
.../configuration/check_configuration_mod.F90 | 52 ++++++++++++++-----
.../gungho/source/driver/gungho_model_mod.F90 | 8 +--
16 files changed, 120 insertions(+), 57 deletions(-)
diff --git a/applications/adjoint_tests/source/algorithm/transport/mol/adjt_reconstruct_w3_field_alg_mod.x90 b/applications/adjoint_tests/source/algorithm/transport/mol/adjt_reconstruct_w3_field_alg_mod.x90
index 0ccda5295..777dced82 100644
--- a/applications/adjoint_tests/source/algorithm/transport/mol/adjt_reconstruct_w3_field_alg_mod.x90
+++ b/applications/adjoint_tests/source/algorithm/transport/mol/adjt_reconstruct_w3_field_alg_mod.x90
@@ -22,7 +22,6 @@ module adjt_reconstruct_w3_field_alg_mod
use function_space_collection_mod, only : function_space_collection
use transport_metadata_collection_mod, only : transport_metadata_collection
use transport_metadata_mod, only : transport_metadata_type
- use check_configuration_mod, only : get_required_stencil_depth
implicit none
diff --git a/applications/gravity_wave/source/driver/gravity_wave_infrastructure_mod.f90 b/applications/gravity_wave/source/driver/gravity_wave_infrastructure_mod.f90
index 46b88ddad..f8db4605b 100644
--- a/applications/gravity_wave/source/driver/gravity_wave_infrastructure_mod.f90
+++ b/applications/gravity_wave/source/driver/gravity_wave_infrastructure_mod.f90
@@ -81,7 +81,8 @@ subroutine initialise_infrastructure( program_name, &
logical(l_def) :: prepartitioned
logical :: apply_partition_check
- integer(i_def) :: stencil_depth
+ integer(i_def), allocatable :: stencil_depths
+
integer(i_def) :: geometry
integer(i_def) :: method
integer(i_def) :: number_of_layers
@@ -191,7 +192,9 @@ subroutine initialise_infrastructure( program_name, &
!=======================================================================
! 1.3 Initialise mesh objects and assign InterGrid maps
!=======================================================================
- stencil_depth = get_required_stencil_depth()
+ allocate( stencil_depths(size(base_mesh_names)) )
+ call get_required_stencil_depth(stencil_depths, base_mesh_names)
+
apply_partition_check = .false.
if ( .not. prepartitioned .and. l_multigrid ) then
apply_partition_check = .true.
@@ -201,7 +204,7 @@ subroutine initialise_infrastructure( program_name, &
modeldb%mpi%get_comm_rank(), &
modeldb%mpi%get_comm_size(), &
base_mesh_names, &
- extrusion, stencil_depth, &
+ extrusion, stencil_depths, &
apply_partition_check )
allocate( twod_names, source=base_mesh_names )
@@ -237,6 +240,10 @@ subroutine initialise_infrastructure( program_name, &
nullify(chi_inventory, panel_id_inventory)
deallocate(base_mesh_names)
+ deallocate(twod_names)
+ deallocate(extrusion)
+ deallocate(extrusion_2d)
+ deallocate(stencil_depths)
end subroutine initialise_infrastructure
diff --git a/applications/jedi_lfric_tests/integration-test/algorithm/algorithm_test.f90 b/applications/jedi_lfric_tests/integration-test/algorithm/algorithm_test.f90
index 9748e3f94..a62b68ecb 100644
--- a/applications/jedi_lfric_tests/integration-test/algorithm/algorithm_test.f90
+++ b/applications/jedi_lfric_tests/integration-test/algorithm/algorithm_test.f90
@@ -69,7 +69,7 @@ program algorithm_test
logical(l_def) :: apply_partition_check
integer(i_def) :: geometry
- integer(i_def) :: stencil_depth
+ integer(i_def) :: stencil_depth(1)
integer(i_def) :: method
integer(i_def) :: number_of_layers
real(r_def) :: domain_bottom
diff --git a/applications/jedi_lfric_tests/source/jedi-interface/jedi_geometry_mod.f90 b/applications/jedi_lfric_tests/source/jedi-interface/jedi_geometry_mod.f90
index 4fd1b473b..bebc16e4e 100644
--- a/applications/jedi_lfric_tests/source/jedi-interface/jedi_geometry_mod.f90
+++ b/applications/jedi_lfric_tests/source/jedi-interface/jedi_geometry_mod.f90
@@ -94,7 +94,6 @@ module jedi_geometry_mod
!>
subroutine initialise( self, mpi_comm, configuration )
! Access config directly until modeldb ready
- use driver_mesh_mod, only: init_mesh
use driver_config_mod, only: init_config
use jedi_lfric_mesh_setup_mod, only: initialise_mesh
use jedi_lfric_tests_mod, only: jedi_lfric_tests_required_namelists
diff --git a/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90 b/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90
index f1134fce5..b8073bcf5 100644
--- a/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90
+++ b/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90
@@ -75,7 +75,8 @@ module lfric2lfric_init_mesh_mod
!> @param[in] total_ranks Total number of MPI ranks in this job.
!> @param[in] mesh_names Mesh names to load from the mesh input file(s).
!> @param[in] extrusion Extrusion object to be applied to meshes.
-!> @param[in] stencil_depth Required stencil depth for the application.
+!> @param[in] stencil_depths_in Required stencil depth for the application
+!! for each mesh.
!> @param[in] regrid_method Apply check for even partitions with the
!> configured partition strategy if the
!> regridding method is 'map'.
@@ -85,7 +86,7 @@ subroutine init_mesh( configuration, &
local_rank, total_ranks, &
mesh_names, &
extrusion, &
- stencil_depth, &
+ stencil_depths_in, &
regrid_method )
implicit none
@@ -97,7 +98,7 @@ subroutine init_mesh( configuration, &
integer(kind=i_def), intent(in) :: total_ranks
character(len=*), intent(in) :: mesh_names(2)
class(extrusion_type), intent(in) :: extrusion
- integer(kind=i_def), intent(in) :: stencil_depth
+ integer(kind=i_def), intent(in) :: stencil_depths_in
integer(kind=i_def), intent(in) :: regrid_method
! Parameters
@@ -124,6 +125,7 @@ subroutine init_mesh( configuration, &
! Local variables
character(len=str_max_filename) :: mesh_file(2)
+ integer(kind=i_def) :: stencil_depths(2)
procedure(partitioner_interface), pointer :: partitioner_src => null()
procedure(partitioner_interface), pointer :: partitioner_dst => null()
@@ -173,6 +175,22 @@ subroutine init_mesh( configuration, &
call log_event(log_scratch_space, log_level_error)
end if
+ ! Set up stencil depths
+ if ( size(stencils_depths) == 1 ) then
+ ! Single stencil depth specified, apply to all meshes
+ do i = 1, size(mesh_names)
+ stencil_depths(i) = stencil_depths_in(1)
+ end do
+ else if ( size(stencil_depths) == size(mesh_names) ) then
+ ! Stencil depths specified per mesh
+ stencil_depths = stencil_depths_in
+ else
+ write(log_scratch_space, '(A)') &
+ 'Number of stencil depths specified does not '// &
+ 'match number of requested meshes.'
+ call log_event(log_scratch_space, log_level_error)
+ end if
+
!===========================================================================
! Create local mesh objects:
@@ -231,8 +249,8 @@ subroutine init_mesh( configuration, &
! meshes are suitable for the supplied application
! configuration.
!===========================================================
- call check_local_mesh( configuration, &
- stencil_depth, &
+ call check_local_mesh( configuration, &
+ stencil_depths, &
mesh_names )
! Load and assign mesh maps.
@@ -304,15 +322,15 @@ subroutine init_mesh( configuration, &
call create_local_mesh( mesh_names(dst:dst), &
local_rank, total_ranks, &
decomposition_dst, &
- stencil_depth, &
- generate_inner_halos(dst), &
+ stencil_depths, &
+ generate_inner_halos(dst), &
partitioner_dst )
call create_local_mesh( mesh_names(src:src), &
local_rank, total_ranks, &
decomposition_src, &
- stencil_depth, &
- generate_inner_halos(src), &
+ stencil_depths, &
+ generate_inner_halos(src), &
partitioner_src )
! Read in the global intergrid mesh mappings,
diff --git a/applications/shallow_water/source/driver/shallow_water_model_mod.F90 b/applications/shallow_water/source/driver/shallow_water_model_mod.F90
index f2706ce97..073083639 100644
--- a/applications/shallow_water/source/driver/shallow_water_model_mod.F90
+++ b/applications/shallow_water/source/driver/shallow_water_model_mod.F90
@@ -83,6 +83,7 @@ subroutine initialise_infrastructure( program_name, modeldb)
character(str_def), allocatable :: base_mesh_names(:)
character(str_def), allocatable :: twod_names(:)
+ integer(i_def), allocatable :: stencil_depths(:)
class(extrusion_type), allocatable :: extrusion
type(uniform_extrusion_type), allocatable :: extrusion_2d
@@ -93,7 +94,6 @@ subroutine initialise_infrastructure( program_name, modeldb)
character(str_def) :: prime_mesh_name
- integer(i_def) :: stencil_depth
integer(i_def) :: geometry
integer(i_def) :: method
integer(i_def) :: number_of_layers
@@ -180,12 +180,13 @@ subroutine initialise_infrastructure( program_name, modeldb)
! Initialise prime/2d meshes
! ---------------------------------------------------------
check_partitions = .false.
- stencil_depth = get_required_stencil_depth()
+ allocate(stencil_depths(size(base_mesh_names)))
+ call get_required_stencil_depth(stencil_depths, base_mesh_names)
call init_mesh( modeldb%configuration, &
modeldb%mpi%get_comm_rank(), &
modeldb%mpi%get_comm_size(), &
base_mesh_names, extrusion, &
- stencil_depth, check_partitions )
+ stencil_depths, check_partitions )
allocate( twod_names, source=base_mesh_names )
@@ -222,6 +223,8 @@ subroutine initialise_infrastructure( program_name, modeldb)
call create_runtime_constants()
deallocate(base_mesh_names)
+ deallocate(twod_names)
+ deallocate(stencil_depths)
nullify(chi_inventory, panel_id_inventory)
end subroutine initialise_infrastructure
diff --git a/applications/solver/source/solver.F90 b/applications/solver/source/solver.F90
index 466603082..4779fa8fe 100644
--- a/applications/solver/source/solver.F90
+++ b/applications/solver/source/solver.F90
@@ -86,7 +86,7 @@ program solver
character(str_def) :: prime_mesh_name
- integer(i_def) :: stencil_depth
+ integer(i_def) :: stencil_depth(1)
integer(i_def) :: geometry
integer(i_def) :: method
integer(i_def) :: number_of_layers
diff --git a/applications/transport/source/driver/transport_driver_mod.f90 b/applications/transport/source/driver/transport_driver_mod.f90
index 2f9d4361d..f6c37ecf8 100644
--- a/applications/transport/source/driver/transport_driver_mod.f90
+++ b/applications/transport/source/driver/transport_driver_mod.f90
@@ -125,6 +125,7 @@ subroutine initialise_transport( program_name, modeldb )
character(len=str_def), allocatable :: chain_mesh_tags(:)
character(len=str_def) :: aerosol_mesh_name
character(len=str_def) :: prime_mesh_name
+ integer(kind=i_def), allocatable :: stencil_depths
logical(kind=l_def) :: use_multires_coupling
logical(kind=l_def) :: l_multigrid
@@ -132,7 +133,6 @@ subroutine initialise_transport( program_name, modeldb )
logical(kind=l_def) :: apply_partition_check
integer(kind=i_def) :: geometry
- integer(kind=i_def) :: stencil_depth
real(kind=r_def) :: domain_bottom
real(kind=r_def) :: domain_height
real(kind=r_def) :: scaled_radius
@@ -283,7 +283,9 @@ subroutine initialise_transport( program_name, modeldb )
! 1.3a Initialise prime/2d meshes
! ---------------------------------------------------------
- stencil_depth = get_required_stencil_depth()
+ allocate(stencil_depths(num_base_meshes))
+ call get_required_stencil_depth(stencil_depths, base_mesh_names)
+
apply_partition_check = .false.
if ( .not. prepartitioned .and. &
( l_multigrid .or. use_multires_coupling ) ) then
@@ -294,7 +296,7 @@ subroutine initialise_transport( program_name, modeldb )
modeldb%mpi%get_comm_rank(), &
modeldb%mpi%get_comm_size(), &
base_mesh_names, &
- extrusion, stencil_depth, &
+ extrusion, stencil_depths, &
apply_partition_check )
call create_mesh( base_mesh_names, extrusion_2d, &
@@ -446,11 +448,20 @@ subroutine initialise_transport( program_name, modeldb )
end if
- if (allocated(base_mesh_names)) deallocate(base_mesh_names)
- if (allocated(meshes_to_shift)) deallocate(meshes_to_shift)
- if (allocated(meshes_to_double)) deallocate(meshes_to_double)
-
+ if (allocated(base_mesh_names)) deallocate(base_mesh_names)
+ if (allocated(meshes_to_shift)) deallocate(meshes_to_shift)
+ if (allocated(meshes_to_double)) deallocate(meshes_to_double)
+ if (allocated(twod_names)) deallocate(twod_names)
+ if (allocated(shifted_names)) deallocate(shifted_names)
+ if (allocated(double_names)) deallocate(double_names)
+ if (allocated(extrusion)) deallocate(extrusion)
+ if (allocated(extrusion_2d)) deallocate(extrusion_2d)
+ if (allocated(extrusion_shifted)) deallocate(extrusion_shifted)
+ if (allocated(extrusion_double)) deallocate(extrusion_double)
+ if (allocated(chain_mesh_tags)) deallocate(chain_mesh_tags)
+ if (allocated(stencil_depths)) deallocate(stencil_depths)
if (allocated(extra_io_mesh_names)) deallocate(extra_io_mesh_names)
+
nullify(chi_inventory, panel_id_inventory, mesh, aerosol_mesh)
end subroutine initialise_transport
diff --git a/dependencies.yaml b/dependencies.yaml
index caab36487..28f9d160a 100644
--- a/dependencies.yaml
+++ b/dependencies.yaml
@@ -30,8 +30,8 @@ lfric_apps:
ref:
lfric_core:
- source: git@github.com:MetOffice/lfric_core.git
- ref: 2025.12.1
+ source: git@github.com:tommbendall/lfric_core.git
+ ref: TBendall/MultiStencilDepths
moci:
source: git@github.com:MetOffice/moci.git
diff --git a/science/gungho/integration-test/cma_test/cma_test.f90 b/science/gungho/integration-test/cma_test/cma_test.f90
index 2797865da..15d2e18a6 100644
--- a/science/gungho/integration-test/cma_test/cma_test.f90
+++ b/science/gungho/integration-test/cma_test/cma_test.f90
@@ -130,7 +130,7 @@ program cma_test
type(namelist_type), pointer :: base_mesh_nml
type(namelist_type), pointer :: planet_nml
- integer(i_def) :: stencil_depth
+ integer(i_def) :: stencil_depth(1)
character(str_def) :: file_prefix
character(str_def) :: prime_mesh_name
real(r_def) :: radius
@@ -289,7 +289,7 @@ program cma_test
domain_height, &
scaled_radius ) )
- stencil_depth = get_required_stencil_depth()
+ stencil_depth = get_required_stencil_depth(base_mesh_names)
check_partitions = .false.
call init_mesh( configuration, &
local_rank, total_ranks, &
diff --git a/science/gungho/source/algorithm/transport/common/remap_on_extended_mesh_alg_mod.x90 b/science/gungho/source/algorithm/transport/common/remap_on_extended_mesh_alg_mod.x90
index 87cc7ce82..8b6744efc 100644
--- a/science/gungho/source/algorithm/transport/common/remap_on_extended_mesh_alg_mod.x90
+++ b/science/gungho/source/algorithm/transport/common/remap_on_extended_mesh_alg_mod.x90
@@ -17,7 +17,6 @@ module remap_on_extended_mesh_alg_mod
use io_config_mod, only: subroutine_timers
use timer_mod, only: timer
use function_space_mod, only: function_space_type
- use check_configuration_mod, only: get_required_stencil_depth
use transport_constants_mod, only: get_extended_mesh_weights, &
get_extended_mesh_indices, &
ext_mesh_stencil_depth
@@ -76,7 +75,7 @@ contains
ndata = fs%get_ndata()
! Ensure remapping depth is not larger than the halo depth
- depth = min( depth_in, get_required_stencil_depth() )
+ depth = min( depth_in, mesh%get_halo_depth() )
! Both the field to be remapped and the remapped field need to be
! created with the full size halo. For the field to be remapped
! this is due to the interpolation parallel to a panel boundary
diff --git a/science/gungho/source/algorithm/transport/ffsl/ffsl_hori_alg_mod.x90 b/science/gungho/source/algorithm/transport/ffsl/ffsl_hori_alg_mod.x90
index 7b8f88d2f..c0a2f2d9b 100644
--- a/science/gungho/source/algorithm/transport/ffsl/ffsl_hori_alg_mod.x90
+++ b/science/gungho/source/algorithm/transport/ffsl/ffsl_hori_alg_mod.x90
@@ -72,8 +72,7 @@ module ffsl_hori_alg_mod
transport_boundary_depth, &
transport_overwrite_freq, &
transport_overwrite_freq_all
- use check_configuration_mod, only: check_any_eqn_consistent, &
- get_required_stencil_depth
+ use check_configuration_mod, only: check_any_eqn_consistent
use io_config_mod, only: subroutine_timers
use transport_config_mod, only: &
panel_edge_treatment, &
@@ -429,7 +428,7 @@ contains
remap_depth)
else
call field_big_halo%initialise( field_n%get_function_space(), &
- halo_depth=get_required_stencil_depth() )
+ halo_depth=mesh%get_halo_depth() )
call invoke( setval_x(field_big_halo, field_n) )
end if
! Copy required as PSyclone doesn't allow the same field to be
@@ -722,7 +721,7 @@ contains
remap_depth)
else
call field_big_halo%initialise( field_n%get_function_space(), &
- halo_depth=get_required_stencil_depth() )
+ halo_depth=mesh%get_halo_depth() )
call invoke( setval_x(field_big_halo, field_n) )
end if
@@ -1088,8 +1087,8 @@ contains
transport_metadata%get_min_value(), &
remap_depth)
else
- call field_x_big_halo%initialise(field_fs, halo_depth=get_required_stencil_depth())
- call field_y_big_halo%initialise(field_fs, halo_depth=get_required_stencil_depth())
+ call field_x_big_halo%initialise(field_fs, halo_depth=mesh%get_halo_depth())
+ call field_y_big_halo%initialise(field_fs, halo_depth=mesh%get_halo_depth())
call invoke( setval_x(field_x_big_halo, field_x), &
setval_x(field_y_big_halo, field_y) )
end if
diff --git a/science/gungho/source/algorithm/transport/mol/reconstruct_w3_field_alg_mod.x90 b/science/gungho/source/algorithm/transport/mol/reconstruct_w3_field_alg_mod.x90
index 6bed73bed..e120d7a14 100644
--- a/science/gungho/source/algorithm/transport/mol/reconstruct_w3_field_alg_mod.x90
+++ b/science/gungho/source/algorithm/transport/mol/reconstruct_w3_field_alg_mod.x90
@@ -18,7 +18,6 @@
!! size as an integer argument.
module reconstruct_w3_field_alg_mod
- use check_configuration_mod, only: get_required_stencil_depth
use sci_combine_multidata_field_kernel_mod, &
only: combine_multidata_field_kernel_type
use constants_mod, only: r_def, i_def, l_def, str_def
@@ -196,7 +195,7 @@ contains
! Copy field to a large halo version
call field_old_big_halo%initialise( field_old%get_function_space(), &
- halo_depth = get_required_stencil_depth() )
+ halo_depth=mesh%get_halo_depth() )
call invoke( setval_X( field_old_big_halo, field_old ) )
monotone = (transport_metadata%get_horizontal_monotone() == monotone_koren)
diff --git a/science/gungho/source/algorithm/transport/mol/wt_advective_update_alg_mod.x90 b/science/gungho/source/algorithm/transport/mol/wt_advective_update_alg_mod.x90
index 310165201..e2bdd084e 100644
--- a/science/gungho/source/algorithm/transport/mol/wt_advective_update_alg_mod.x90
+++ b/science/gungho/source/algorithm/transport/mol/wt_advective_update_alg_mod.x90
@@ -18,7 +18,6 @@
!! size as an integer argument.
module wt_advective_update_alg_mod
- use check_configuration_mod, only: get_required_stencil_depth
use constants_mod, only: r_def, i_def, l_def, str_def, &
r_tran
use sci_geometric_constants_mod, only: get_coordinates, &
@@ -132,7 +131,7 @@ contains
! Copy field to a large halo version
call field_big_halo%initialise( field%get_function_space(), &
- halo_depth = get_required_stencil_depth() )
+ halo_depth=mesh%get_halo_depth() )
call invoke( setval_X( field_big_halo, field ) )
! Compute reconstruction on a Wtheta multidata field
diff --git a/science/gungho/source/configuration/check_configuration_mod.F90 b/science/gungho/source/configuration/check_configuration_mod.F90
index 86252a85a..78f6a6944 100644
--- a/science/gungho/source/configuration/check_configuration_mod.F90
+++ b/science/gungho/source/configuration/check_configuration_mod.F90
@@ -6,7 +6,7 @@
module check_configuration_mod
- use constants_mod, only: i_def, l_def
+ use constants_mod, only: i_def, l_def, str_def
use mixing_config_mod, only: viscosity, &
viscosity_mu
use transport_config_mod, only: operators, &
@@ -48,7 +48,7 @@ module check_configuration_mod
substep_transport, &
substep_transport_off, &
adjust_vhv_wind, &
- ffsl_unity_3d, &
+ ffsl_unity_3d, &
wind_mono_top
use transport_enumerated_types_mod, &
only: scheme_mol_3d, &
@@ -612,26 +612,37 @@ subroutine check_configuration(modeldb)
end subroutine check_configuration
- !> @brief Determine required stencil depth for the current configuration.
+ !> @brief Determine required stencil depth for the current configuration,
+ !! for each mesh.
!> @details Depending on the choice of science schemes the required local
!> mesh needs to support the anticipated stencils. This function
!> returns required stencil depth that needs to be supported.
- !> @return stencil_depth
+ !> @param[in,out] stencil_depths Array of stencil depths for each base mesh
+ !> @param[in] base_mesh_names Array of base mesh names
!>
!===========================================================================
- function get_required_stencil_depth() result(stencil_depth)
+ subroutine get_required_stencil_depth(stencil_depths, base_mesh_names)
+
+ use base_mesh_config_mod, only: prime_mesh_name
+ use formulation_config_mod, only: use_multires_coupling
+ use multires_coupling_config_mod, only: aerosol_mesh_name, &
+ coarse_aerosol_transport
implicit none
- integer(kind=i_def) :: stencil_depth
- integer(kind=i_def) :: sl_depth, special_edge_pts
+ integer(kind=i_def), intent(inout) :: stencil_depths(:)
+ character(len=str_def), intent(in) :: base_mesh_names(:)
+
+ integer(kind=i_def) :: i
+ integer(kind=i_def) :: transport_depth, sl_depth
+ integer(kind=i_def) :: special_edge_pts
logical(kind=l_def) :: any_horz_dep_pts
- stencil_depth = 2
+ transport_depth = 2
if (operators == operators_fv) then
! Need larger halos for fv operators
- stencil_depth = max( stencil_depth, fv_horizontal_order/2 )
+ transport_depth = max( transport_depth, fv_horizontal_order/2 )
end if
any_horz_dep_pts = check_horz_dep_pts()
@@ -661,16 +672,33 @@ function get_required_stencil_depth() result(stencil_depth)
if ( panel_edge_treatment == panel_edge_treatment_remapping ) then
if ( panel_edge_high_order ) then
- sl_depth = max( sl_depth, 3 )
+ transport_depth = max( sl_depth, 3 )
else
sl_depth = max( sl_depth, 2 )
end if
end if
- stencil_depth = max( stencil_depth, sl_depth )
+ transport_depth = max( transport_depth, sl_depth )
end if
- end function get_required_stencil_depth
+ ! Loop through meshes to determine whether transport takes place on it
+ do i = 1, size(base_mesh_names)
+ if (trim(base_mesh_names(i)) == trim(prime_mesh_name)) then
+ ! Assume transport always occurs on prime mesh
+ stencil_depths(i) = transport_depth
+
+ else if (use_multires_coupling .and. coarse_aerosol_transport .and. &
+ trim(base_mesh_names(i)) == trim(aerosol_mesh_name)) then
+ ! Coarse mesh transport for aerosols
+ stencil_depths(i) = transport_depth
+
+ else
+ ! No transport on this mesh, so set stencil depth to 2
+ stencil_depths(i) = 2
+ end if
+ end do
+
+ end subroutine get_required_stencil_depth
!> @brief Determine whether any of the transport schemes are MoL
!> @details Loops through the transport schemes specified for different
diff --git a/science/gungho/source/driver/gungho_model_mod.F90 b/science/gungho/source/driver/gungho_model_mod.F90
index e91f0fbd6..789204f39 100644
--- a/science/gungho/source/driver/gungho_model_mod.F90
+++ b/science/gungho/source/driver/gungho_model_mod.F90
@@ -417,6 +417,7 @@ subroutine initialise_infrastructure( io_context_name, modeldb )
logical(l_def) :: mesh_already_exists
integer(i_def) :: i, j, mesh_ctr
+ integer(i_def), allocatable :: stencil_depths(:)
character(str_def), allocatable :: base_mesh_names(:)
character(str_def), allocatable :: meshes_to_shift(:)
character(str_def), allocatable :: meshes_to_double(:)
@@ -445,7 +446,6 @@ subroutine initialise_infrastructure( io_context_name, modeldb )
integer(i_def) :: geometry
integer(i_def) :: extrusion_method
- integer(i_def) :: stencil_depth
real(r_def) :: domain_bottom
real(r_def) :: domain_height
real(r_def) :: scaled_radius
@@ -672,13 +672,15 @@ subroutine initialise_infrastructure( io_context_name, modeldb )
apply_partition_check = .true.
end if
- stencil_depth = get_required_stencil_depth()
+ allocate(stencil_depths(size(base_mesh_names)))
+ call get_required_stencil_depth(stencil_depths, base_mesh_names)
+
call init_mesh( modeldb%configuration, &
modeldb%mpi%get_comm_rank(), &
modeldb%mpi%get_comm_size(), &
base_mesh_names, &
extrusion, &
- get_required_stencil_depth(), &
+ stencil_depths, &
apply_partition_check )
From c02b717bf0b49ac966d13f57c4220d2aa5082a03 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Thu, 22 Jan 2026 13:01:59 +0000
Subject: [PATCH 06/29] hopefully fix issues and copy over KGOs
---
.../gravity_wave_infrastructure_mod.f90 | 10 +--
.../lfric2lfric_infrastructure_mod.X90 | 5 +-
.../initialisation/lfric2lfric_init_mesh.f90 | 2 +-
.../common/lfricinp_lfric_driver_mod.f90 | 2 +-
.../driver/name_transport_driver_mod.f90 | 26 ++++--
.../source/driver/shallow_water_model_mod.F90 | 4 +-
.../source/driver/transport_driver_mod.f90 | 6 +-
.../source/mesh/jedi_lfric_mesh_setup_mod.F90 | 17 +++-
...8-500x500_azspice_gnu_fast-debug-64bit.txt | 6 +-
...00x8-500x500_ex1a_gnu_fast-debug-64bit.txt | 6 +-
.../mol/adj_reconstruct_w3_field_alg_mod.x90 | 3 +-
.../mol/adj_wt_advective_update_alg_mod.x90 | 3 +-
.../mol/atl_wt_advective_update_alg_mod.x90 | 3 +-
.../integration-test/cma_test/cma_test.f90 | 3 +-
.../configuration/check_configuration_mod.F90 | 80 +++++++++++++++----
.../gungho/source/driver/gungho_model_mod.F90 | 5 +-
16 files changed, 127 insertions(+), 54 deletions(-)
diff --git a/applications/gravity_wave/source/driver/gravity_wave_infrastructure_mod.f90 b/applications/gravity_wave/source/driver/gravity_wave_infrastructure_mod.f90
index f8db4605b..ccc95e49f 100644
--- a/applications/gravity_wave/source/driver/gravity_wave_infrastructure_mod.f90
+++ b/applications/gravity_wave/source/driver/gravity_wave_infrastructure_mod.f90
@@ -10,7 +10,6 @@ module gravity_wave_infrastructure_mod
use add_mesh_map_mod, only : assign_mesh_maps
use driver_modeldb_mod, only : modeldb_type
- use check_configuration_mod, only : get_required_stencil_depth
use constants_mod, only : i_def, &
PRECISION_REAL, &
r_def, r_second, &
@@ -81,7 +80,7 @@ subroutine initialise_infrastructure( program_name, &
logical(l_def) :: prepartitioned
logical :: apply_partition_check
- integer(i_def), allocatable :: stencil_depths
+ integer(i_def) :: stencil_depth(1)
integer(i_def) :: geometry
integer(i_def) :: method
@@ -192,9 +191,7 @@ subroutine initialise_infrastructure( program_name, &
!=======================================================================
! 1.3 Initialise mesh objects and assign InterGrid maps
!=======================================================================
- allocate( stencil_depths(size(base_mesh_names)) )
- call get_required_stencil_depth(stencil_depths, base_mesh_names)
-
+ stencil_depth = 1
apply_partition_check = .false.
if ( .not. prepartitioned .and. l_multigrid ) then
apply_partition_check = .true.
@@ -204,7 +201,7 @@ subroutine initialise_infrastructure( program_name, &
modeldb%mpi%get_comm_rank(), &
modeldb%mpi%get_comm_size(), &
base_mesh_names, &
- extrusion, stencil_depths, &
+ extrusion, stencil_depth, &
apply_partition_check )
allocate( twod_names, source=base_mesh_names )
@@ -243,7 +240,6 @@ subroutine initialise_infrastructure( program_name, &
deallocate(twod_names)
deallocate(extrusion)
deallocate(extrusion_2d)
- deallocate(stencil_depths)
end subroutine initialise_infrastructure
diff --git a/applications/lfric2lfric/source/initialisation/lfric2lfric_infrastructure_mod.X90 b/applications/lfric2lfric/source/initialisation/lfric2lfric_infrastructure_mod.X90
index 108104c11..2626fd50b 100644
--- a/applications/lfric2lfric/source/initialisation/lfric2lfric_infrastructure_mod.X90
+++ b/applications/lfric2lfric/source/initialisation/lfric2lfric_infrastructure_mod.X90
@@ -21,7 +21,6 @@ module lfric2lfric_infrastructure_mod
use driver_fem_mod, only: init_fem
use driver_io_mod, only: init_io, &
filelist_populator
- use check_configuration_mod, only: get_required_stencil_depth
use extrusion_mod, only: extrusion_type, &
uniform_extrusion_type, &
prime_extrusion, &
@@ -169,7 +168,7 @@ contains
integer(kind=i_def) :: origin_domain
integer(kind=i_def) :: target_domain
- integer(kind=i_def) :: stencil_depth
+ integer(kind=i_def) :: stencil_depth(1)
integer(kind=i_def) :: source_geometry
integer(i_def) :: regrid_method
real(kind=r_def) :: domain_bottom
@@ -315,7 +314,7 @@ contains
!-----------------------------------------------------------------------
! Create the required meshes
!-----------------------------------------------------------------------
- stencil_depth = get_required_stencil_depth()
+ stencil_depth = 2
call init_mesh( modeldb%configuration, &
modeldb%mpi%get_comm_rank(), &
modeldb%mpi%get_comm_size(), &
diff --git a/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90 b/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90
index b8073bcf5..aee5ae7af 100644
--- a/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90
+++ b/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90
@@ -176,7 +176,7 @@ subroutine init_mesh( configuration, &
end if
! Set up stencil depths
- if ( size(stencils_depths) == 1 ) then
+ if ( size(stencil_depths) == 1 ) then
! Single stencil depth specified, apply to all meshes
do i = 1, size(mesh_names)
stencil_depths(i) = stencil_depths_in(1)
diff --git a/applications/lfricinputs/source/common/lfricinp_lfric_driver_mod.f90 b/applications/lfricinputs/source/common/lfricinp_lfric_driver_mod.f90
index a0630d7bf..cd39b0b27 100644
--- a/applications/lfricinputs/source/common/lfricinp_lfric_driver_mod.f90
+++ b/applications/lfricinputs/source/common/lfricinp_lfric_driver_mod.f90
@@ -132,7 +132,7 @@ subroutine lfricinp_initialise_lfric(program_name_arg, &
character(str_def) :: prime_mesh_name
-integer(i_def) :: stencil_depth
+integer(i_def) :: stencil_depth(1)
integer(i_def) :: geometry
real(r_def) :: domain_bottom
real(r_def) :: scaled_radius
diff --git a/applications/name_transport/source/driver/name_transport_driver_mod.f90 b/applications/name_transport/source/driver/name_transport_driver_mod.f90
index 94e8365c0..1414140b6 100644
--- a/applications/name_transport/source/driver/name_transport_driver_mod.f90
+++ b/applications/name_transport/source/driver/name_transport_driver_mod.f90
@@ -108,12 +108,12 @@ subroutine initialise_name_transport( program_name, modeldb )
character(len=str_def), allocatable :: shifted_names(:)
character(len=str_def), allocatable :: double_names(:)
character(len=str_def) :: prime_mesh_name
+ integer(kind=i_def), allocatable :: stencil_depths(:)
logical(kind=l_def) :: prepartitioned
logical(kind=l_def) :: apply_partition_check
integer(kind=i_def) :: geometry
- integer(kind=i_def) :: stencil_depth
real(kind=r_def) :: domain_bottom
real(kind=r_def) :: domain_height
real(kind=r_def) :: scaled_radius
@@ -236,14 +236,18 @@ subroutine initialise_name_transport( program_name, modeldb )
! 1.3a Initialise prime/2d meshes
! ---------------------------------------------------------
- stencil_depth = get_required_stencil_depth()
+ allocate(stencil_depths(num_base_meshes))
+ call get_required_stencil_depth( &
+ stencil_depths, base_mesh_names, modeldb%configuration &
+ )
+
apply_partition_check = .false.
call init_mesh( modeldb%configuration, &
modeldb%mpi%get_comm_rank(), &
modeldb%mpi%get_comm_size(), &
base_mesh_names, &
- extrusion, stencil_depth, &
+ extrusion, stencil_depths, &
apply_partition_check )
call create_mesh( base_mesh_names, extrusion_2d, &
@@ -350,11 +354,19 @@ subroutine initialise_name_transport( program_name, modeldb )
end if
- if (allocated(base_mesh_names)) deallocate(base_mesh_names)
- if (allocated(meshes_to_shift)) deallocate(meshes_to_shift)
- if (allocated(meshes_to_double)) deallocate(meshes_to_double)
-
+ if (allocated(base_mesh_names)) deallocate(base_mesh_names)
+ if (allocated(meshes_to_shift)) deallocate(meshes_to_shift)
+ if (allocated(meshes_to_double)) deallocate(meshes_to_double)
+ if (allocated(twod_names)) deallocate(twod_names)
+ if (allocated(shifted_names)) deallocate(shifted_names)
+ if (allocated(double_names)) deallocate(double_names)
+ if (allocated(extrusion)) deallocate(extrusion)
+ if (allocated(extrusion_2d)) deallocate(extrusion_2d)
+ if (allocated(extrusion_shifted)) deallocate(extrusion_shifted)
+ if (allocated(extrusion_double)) deallocate(extrusion_double)
+ if (allocated(stencil_depths)) deallocate(stencil_depths)
if (allocated(extra_io_mesh_names)) deallocate(extra_io_mesh_names)
+
nullify(chi_inventory, panel_id_inventory, mesh)
end subroutine initialise_name_transport
diff --git a/applications/shallow_water/source/driver/shallow_water_model_mod.F90 b/applications/shallow_water/source/driver/shallow_water_model_mod.F90
index 073083639..48de3152c 100644
--- a/applications/shallow_water/source/driver/shallow_water_model_mod.F90
+++ b/applications/shallow_water/source/driver/shallow_water_model_mod.F90
@@ -181,7 +181,9 @@ subroutine initialise_infrastructure( program_name, modeldb)
! ---------------------------------------------------------
check_partitions = .false.
allocate(stencil_depths(size(base_mesh_names)))
- call get_required_stencil_depth(stencil_depths, base_mesh_names)
+ call get_required_stencil_depth( &
+ stencil_depths, base_mesh_names, modeldb%configuration &
+ )
call init_mesh( modeldb%configuration, &
modeldb%mpi%get_comm_rank(), &
modeldb%mpi%get_comm_size(), &
diff --git a/applications/transport/source/driver/transport_driver_mod.f90 b/applications/transport/source/driver/transport_driver_mod.f90
index f6c37ecf8..5cc476343 100644
--- a/applications/transport/source/driver/transport_driver_mod.f90
+++ b/applications/transport/source/driver/transport_driver_mod.f90
@@ -125,7 +125,7 @@ subroutine initialise_transport( program_name, modeldb )
character(len=str_def), allocatable :: chain_mesh_tags(:)
character(len=str_def) :: aerosol_mesh_name
character(len=str_def) :: prime_mesh_name
- integer(kind=i_def), allocatable :: stencil_depths
+ integer(kind=i_def), allocatable :: stencil_depths(:)
logical(kind=l_def) :: use_multires_coupling
logical(kind=l_def) :: l_multigrid
@@ -284,7 +284,9 @@ subroutine initialise_transport( program_name, modeldb )
! 1.3a Initialise prime/2d meshes
! ---------------------------------------------------------
allocate(stencil_depths(num_base_meshes))
- call get_required_stencil_depth(stencil_depths, base_mesh_names)
+ call get_required_stencil_depth( &
+ stencil_depths, base_mesh_names, modeldb%configuration &
+ )
apply_partition_check = .false.
if ( .not. prepartitioned .and. &
diff --git a/interfaces/jedi_lfric_interface/source/mesh/jedi_lfric_mesh_setup_mod.F90 b/interfaces/jedi_lfric_interface/source/mesh/jedi_lfric_mesh_setup_mod.F90
index 24665d5b9..a1058e3d4 100644
--- a/interfaces/jedi_lfric_interface/source/mesh/jedi_lfric_mesh_setup_mod.F90
+++ b/interfaces/jedi_lfric_interface/source/mesh/jedi_lfric_mesh_setup_mod.F90
@@ -10,6 +10,7 @@ module jedi_lfric_mesh_setup_mod
use add_mesh_map_mod, only: assign_mesh_maps
use base_mesh_config_mod, only: GEOMETRY_SPHERICAL, &
GEOMETRY_PLANAR
+ use check_configuration_mod, only: get_required_stencil_depth
use constants_mod, only: str_def, i_def, l_def, r_def
use create_mesh_mod, only: create_mesh
use driver_mesh_mod, only: init_mesh
@@ -62,7 +63,7 @@ subroutine initialise_mesh( mesh_name, configuration, mpi_obj, alt_mesh_name )
integer(i_def), parameter :: one_layer = 1_i_def
integer(i_def) :: geometry
integer(i_def) :: extrusion_method
- integer(i_def) :: stencil_depth
+ integer(i_def), allocatable :: stencil_depths(:)
integer(i_def) :: number_of_layers
integer(i_def) :: i
real(r_def) :: domain_bottom
@@ -122,14 +123,19 @@ subroutine initialise_mesh( mesh_name, configuration, mpi_obj, alt_mesh_name )
!-------------------------------------------------------------------------
! 1.2 Create the required meshes
!-------------------------------------------------------------------------
- stencil_depth = 2
+
+ allocate(stencil_depths(size(base_mesh_names)))
+ call get_required_stencil_depth( &
+ stencil_depths, base_mesh_names, configuration &
+ )
+
apply_partition_check = .false.
call init_mesh( configuration, &
mpi_obj%get_comm_rank(), &
mpi_obj%get_comm_size(), &
base_mesh_names, &
extrusion, &
- stencil_depth, &
+ stencil_depths, &
apply_partition_check )
allocate( twod_names, source=base_mesh_names )
@@ -140,6 +146,11 @@ subroutine initialise_mesh( mesh_name, configuration, mpi_obj, alt_mesh_name )
alt_name=twod_names )
call assign_mesh_maps(twod_names)
+ deallocate(twod_names)
+ deallocate(stencil_depths)
+ deallocate(extrusion)
+ if (allocated(extrusion_2d)) deallocate(extrusion_2d)
+
end subroutine initialise_mesh
end module jedi_lfric_mesh_setup_mod
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-BiP200x8-500x500_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-BiP200x8-500x500_azspice_gnu_fast-debug-64bit.txt
index 5697a8812..9ec922232 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-BiP200x8-500x500_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_schar_cart-BiP200x8-500x500_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E1E481066A1517
-Inner product checksum theta = 421139232C3CEFAD
-Inner product checksum u = 4393A3C2C7771420
+Inner product checksum rho = 40E1E481066A16AD
+Inner product checksum theta = 421139232C3CEDFC
+Inner product checksum u = 4393A3C2C7765796
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-BiP200x8-500x500_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-BiP200x8-500x500_ex1a_gnu_fast-debug-64bit.txt
index 5697a8812..9ec922232 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-BiP200x8-500x500_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_schar_cart-BiP200x8-500x500_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E1E481066A1517
-Inner product checksum theta = 421139232C3CEFAD
-Inner product checksum u = 4393A3C2C7771420
+Inner product checksum rho = 40E1E481066A16AD
+Inner product checksum theta = 421139232C3CEDFC
+Inner product checksum u = 4393A3C2C7765796
diff --git a/science/adjoint/source/algorithm/transport/mol/adj_reconstruct_w3_field_alg_mod.x90 b/science/adjoint/source/algorithm/transport/mol/adj_reconstruct_w3_field_alg_mod.x90
index b0bac45cf..60c6202f1 100644
--- a/science/adjoint/source/algorithm/transport/mol/adj_reconstruct_w3_field_alg_mod.x90
+++ b/science/adjoint/source/algorithm/transport/mol/adj_reconstruct_w3_field_alg_mod.x90
@@ -7,7 +7,6 @@
!> @brief Adjoint reconstruction of a W3 field at W2 points for use in the transport scheme.
module adj_reconstruct_w3_field_alg_mod
- use check_configuration_mod, only: get_required_stencil_depth
use constants_mod, only: r_tran, i_def, l_def
use r_tran_field_mod, only: r_tran_field_type
@@ -90,7 +89,7 @@ contains
! Copy field to a large halo version
call field_old_big_halo%initialise( field_old%get_function_space(), &
- halo_depth = get_required_stencil_depth() )
+ halo_depth=mesh%get_halo_depth() )
call invoke( setval_c( field_old_big_halo, 0.0_r_tran ) )
monotone = (transport_metadata%get_horizontal_monotone() == monotone_koren)
diff --git a/science/adjoint/source/algorithm/transport/mol/adj_wt_advective_update_alg_mod.x90 b/science/adjoint/source/algorithm/transport/mol/adj_wt_advective_update_alg_mod.x90
index 83fa0a54f..b694bb4e3 100644
--- a/science/adjoint/source/algorithm/transport/mol/adj_wt_advective_update_alg_mod.x90
+++ b/science/adjoint/source/algorithm/transport/mol/adj_wt_advective_update_alg_mod.x90
@@ -7,7 +7,6 @@
module adj_wt_advective_update_alg_mod
- use check_configuration_mod, only : get_required_stencil_depth
use constants_mod, only : r_tran, i_def, l_def
use r_tran_field_mod, only : r_tran_field_type
use finite_element_config_mod, only : element_order_h, &
@@ -104,7 +103,7 @@ contains
! Copy field to a large halo version
call field_big_halo%initialise( field%get_function_space(), &
- halo_depth = get_required_stencil_depth() )
+ halo_depth=mesh%get_halo_depth() )
! Compute reconstruction on a Wtheta multidata field
! each Wt point contains 4 values assigned to each edge,
diff --git a/science/adjoint/source/algorithm/transport/mol/atl_wt_advective_update_alg_mod.x90 b/science/adjoint/source/algorithm/transport/mol/atl_wt_advective_update_alg_mod.x90
index 09093efb6..7c2ce0f8b 100644
--- a/science/adjoint/source/algorithm/transport/mol/atl_wt_advective_update_alg_mod.x90
+++ b/science/adjoint/source/algorithm/transport/mol/atl_wt_advective_update_alg_mod.x90
@@ -170,7 +170,6 @@ contains
!> @param[in] transport_metadata Contains transport configuration options
subroutine atl_hori_wt_update_alg(u_grad_f, wind, wind_dir, ls_field, transport_metadata)
- use check_configuration_mod, only : get_required_stencil_depth
use poly1d_reconstruction_kernel_mod, only : poly1d_reconstruction_kernel_type
use poly2d_reconstruction_kernel_mod, only : poly2d_reconstruction_kernel_type
use polyh_wtheta_koren_kernel_mod, only : polyh_wtheta_koren_kernel_type
@@ -223,7 +222,7 @@ contains
! Copy field to a large halo version
call ls_field_big_halo%initialise( ls_field%get_function_space(), &
- halo_depth = get_required_stencil_depth() )
+ halo_depth=mesh%get_halo_depth() )
call invoke( setval_X( ls_field_big_halo, ls_field ) )
! Compute reconstruction on a Wtheta multidata field
diff --git a/science/gungho/integration-test/cma_test/cma_test.f90 b/science/gungho/integration-test/cma_test/cma_test.f90
index 15d2e18a6..96e96ce6b 100644
--- a/science/gungho/integration-test/cma_test/cma_test.f90
+++ b/science/gungho/integration-test/cma_test/cma_test.f90
@@ -19,7 +19,6 @@ program cma_test
use, intrinsic :: iso_fortran_env, only : real64
- use check_configuration_mod, only : get_required_stencil_depth
use cma_test_algorithm_mod, only : cma_test_init, &
test_cma_apply_mass_p, &
test_cma_apply_mass_v, &
@@ -289,7 +288,7 @@ program cma_test
domain_height, &
scaled_radius ) )
- stencil_depth = get_required_stencil_depth(base_mesh_names)
+ stencil_depth = 2
check_partitions = .false.
call init_mesh( configuration, &
local_rank, total_ranks, &
diff --git a/science/gungho/source/configuration/check_configuration_mod.F90 b/science/gungho/source/configuration/check_configuration_mod.F90
index 78f6a6944..e2a1e8e6e 100644
--- a/science/gungho/source/configuration/check_configuration_mod.F90
+++ b/science/gungho/source/configuration/check_configuration_mod.F90
@@ -71,6 +71,9 @@ module check_configuration_mod
monotone_qm_pos, &
ffsl_splitting_swift, &
ffsl_splitting_cosmic
+ use namelist_collection_mod, &
+ only : namelist_collection_type
+ use namelist_mod, only : namelist_type
implicit none
@@ -619,25 +622,66 @@ end subroutine check_configuration
!> returns required stencil depth that needs to be supported.
!> @param[in,out] stencil_depths Array of stencil depths for each base mesh
!> @param[in] base_mesh_names Array of base mesh names
- !>
+ !> @param[in] configuration The configuration object
!===========================================================================
- subroutine get_required_stencil_depth(stencil_depths, base_mesh_names)
-
- use base_mesh_config_mod, only: prime_mesh_name
- use formulation_config_mod, only: use_multires_coupling
- use multires_coupling_config_mod, only: aerosol_mesh_name, &
- coarse_aerosol_transport
+ subroutine get_required_stencil_depth(stencil_depths, base_mesh_names, configuration)
implicit none
- integer(kind=i_def), intent(inout) :: stencil_depths(:)
- character(len=str_def), intent(in) :: base_mesh_names(:)
+ integer(kind=i_def), intent(inout) :: stencil_depths(:)
+ character(len=str_def), intent(in) :: base_mesh_names(:)
+ type(namelist_collection_type), intent(in) :: configuration
+
integer(kind=i_def) :: i
integer(kind=i_def) :: transport_depth, sl_depth
integer(kind=i_def) :: special_edge_pts
logical(kind=l_def) :: any_horz_dep_pts
+ ! Configuration variables
+ type(namelist_type), pointer :: base_mesh_nml
+ type(namelist_type), pointer :: formulation_nml
+ type(namelist_type), pointer :: multires_coupling_nml
+ type(namelist_type), pointer :: transport_nml
+ character(len=str_def) :: prime_mesh_name
+ character(len=str_def) :: aerosol_mesh_name
+ logical(kind=l_def) :: use_multires_coupling
+ logical(kind=l_def) :: coarse_aerosol_transport
+ integer(kind=i_def) :: operators
+ integer(kind=i_def) :: fv_horizontal_order
+ integer(kind=i_def) :: panel_edge_treatment
+ logical(kind=l_def) :: panel_edge_high_order
+ integer(kind=i_def) :: dep_pt_stencil_extent
+ integer(kind=i_def) :: ffsl_inner_order
+ integer(kind=i_def) :: ffsl_outer_order
+
+ ! ------------------------------------------------------------------------ !
+ ! Get configuration variables
+ ! ------------------------------------------------------------------------ !
+
+ base_mesh_nml => configuration%get_namelist('base_mesh')
+ formulation_nml => configuration%get_namelist('formulation')
+ transport_nml => configuration%get_namelist('transport')
+
+ call base_mesh_nml%get_value('prime_mesh_name', prime_mesh_name)
+ call formulation_nml%get_value('use_multires_coupling', use_multires_coupling)
+ call transport_nml%get_value('operators', operators)
+ call transport_nml%get_value('fv_horizontal_order', fv_horizontal_order)
+ call transport_nml%get_value('panel_edge_treatment', panel_edge_treatment)
+ call transport_nml%get_value('panel_edge_high_order', panel_edge_high_order)
+ call transport_nml%get_value('dep_pt_stencil_extent', dep_pt_stencil_extent)
+ call transport_nml%get_value('ffsl_inner_order', ffsl_inner_order)
+ call transport_nml%get_value('ffsl_outer_order', ffsl_outer_order)
+ if (use_multires_coupling) then
+ multires_coupling_nml => configuration%get_namelist('multires_coupling')
+ call multires_coupling_nml%get_value('aerosol_mesh_name', aerosol_mesh_name)
+ call multires_coupling_nml%get_value('coarse_aerosol_transport', coarse_aerosol_transport)
+ end if
+
+ ! ------------------------------------------------------------------------ !
+ ! Set default depth
+ ! ------------------------------------------------------------------------ !
+
transport_depth = 2
if (operators == operators_fv) then
@@ -645,9 +689,13 @@ subroutine get_required_stencil_depth(stencil_depths, base_mesh_names)
transport_depth = max( transport_depth, fv_horizontal_order/2 )
end if
+ ! ------------------------------------------------------------------------ !
+ ! Determine depth when using a semi-Lagrangian scheme
+ ! ------------------------------------------------------------------------ !
+
any_horz_dep_pts = check_horz_dep_pts()
- if ( any_horz_dep_pts ) then
+ if (any_horz_dep_pts) then
! When an SL scheme is used, the halo depth should be large enough to
! encompass the largest anticipated Courant number (effectively the
! departure distance in the SL scheme), plus any extra cells required for
@@ -657,8 +705,8 @@ subroutine get_required_stencil_depth(stencil_depths, base_mesh_names)
! - the order of reconstruction
! - whether special edge treatment is used (this shifts the stencil by 1)
- if ( panel_edge_treatment == panel_edge_treatment_special_edges &
- .AND. panel_edge_high_order ) then
+ if (panel_edge_treatment == panel_edge_treatment_special_edges &
+ .AND. panel_edge_high_order) then
special_edge_pts = 1
else
special_edge_pts = 0
@@ -670,8 +718,8 @@ subroutine get_required_stencil_depth(stencil_depths, base_mesh_names)
+ special_edge_pts & ! special edge treatment
)
- if ( panel_edge_treatment == panel_edge_treatment_remapping ) then
- if ( panel_edge_high_order ) then
+ if (panel_edge_treatment == panel_edge_treatment_remapping) then
+ if (panel_edge_high_order) then
transport_depth = max( sl_depth, 3 )
else
sl_depth = max( sl_depth, 2 )
@@ -681,6 +729,10 @@ subroutine get_required_stencil_depth(stencil_depths, base_mesh_names)
transport_depth = max( transport_depth, sl_depth )
end if
+ ! ------------------------------------------------------------------------ !
+ ! Set depth for each mesh
+ ! ------------------------------------------------------------------------ !
+
! Loop through meshes to determine whether transport takes place on it
do i = 1, size(base_mesh_names)
if (trim(base_mesh_names(i)) == trim(prime_mesh_name)) then
diff --git a/science/gungho/source/driver/gungho_model_mod.F90 b/science/gungho/source/driver/gungho_model_mod.F90
index 789204f39..00c9842f7 100644
--- a/science/gungho/source/driver/gungho_model_mod.F90
+++ b/science/gungho/source/driver/gungho_model_mod.F90
@@ -673,7 +673,9 @@ subroutine initialise_infrastructure( io_context_name, modeldb )
end if
allocate(stencil_depths(size(base_mesh_names)))
- call get_required_stencil_depth(stencil_depths, base_mesh_names)
+ call get_required_stencil_depth( &
+ stencil_depths, base_mesh_names, modeldb%configuration &
+ )
call init_mesh( modeldb%configuration, &
modeldb%mpi%get_comm_rank(), &
@@ -924,6 +926,7 @@ subroutine initialise_infrastructure( io_context_name, modeldb )
chi_inventory, panel_id_inventory, files_init_ptr, &
orography_mesh, orography_twod_mesh)
deallocate(base_mesh_names)
+ deallocate(stencil_depths)
if (allocated(meshes_to_shift)) deallocate(meshes_to_shift)
if (allocated(meshes_to_double)) deallocate(meshes_to_double)
From 7746a863071bc5a39f1e2215de433d112dabbbe7 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Thu, 22 Jan 2026 15:02:48 +0000
Subject: [PATCH 07/29] hopefully final fixes
---
CONTRIBUTORS.md | 1 +
.../source/driver/gravity_wave_infrastructure_mod.f90 | 2 +-
.../source/initialisation/lfric2lfric_init_mesh.f90 | 5 +++--
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index da42a74b5..a07ebda4e 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -5,3 +5,4 @@
| james-bruten-mo | James Bruten | Met Office | 2025-12-09 |
| jennyhickson | Jenny Hickson | Met Office | 2025-12-10 |
| mo-marqh | mark Hedley | Met Office | 2025-12-11 |
+| tommbendall | Thomas Bendall | Met Office | 2026-01-22 |
\ No newline at end of file
diff --git a/applications/gravity_wave/source/driver/gravity_wave_infrastructure_mod.f90 b/applications/gravity_wave/source/driver/gravity_wave_infrastructure_mod.f90
index ccc95e49f..0526e935b 100644
--- a/applications/gravity_wave/source/driver/gravity_wave_infrastructure_mod.f90
+++ b/applications/gravity_wave/source/driver/gravity_wave_infrastructure_mod.f90
@@ -191,7 +191,7 @@ subroutine initialise_infrastructure( program_name, &
!=======================================================================
! 1.3 Initialise mesh objects and assign InterGrid maps
!=======================================================================
- stencil_depth = 1
+ stencil_depth = 2
apply_partition_check = .false.
if ( .not. prepartitioned .and. l_multigrid ) then
apply_partition_check = .true.
diff --git a/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90 b/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90
index aee5ae7af..744176645 100644
--- a/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90
+++ b/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90
@@ -98,7 +98,7 @@ subroutine init_mesh( configuration, &
integer(kind=i_def), intent(in) :: total_ranks
character(len=*), intent(in) :: mesh_names(2)
class(extrusion_type), intent(in) :: extrusion
- integer(kind=i_def), intent(in) :: stencil_depths_in
+ integer(kind=i_def), intent(in) :: stencil_depths_in(:)
integer(kind=i_def), intent(in) :: regrid_method
! Parameters
@@ -124,6 +124,7 @@ subroutine init_mesh( configuration, &
integer(kind=i_def) :: mesh_selection(2)
! Local variables
+ integer(kind=i_def) :: i
character(len=str_max_filename) :: mesh_file(2)
integer(kind=i_def) :: stencil_depths(2)
@@ -183,7 +184,7 @@ subroutine init_mesh( configuration, &
end do
else if ( size(stencil_depths) == size(mesh_names) ) then
! Stencil depths specified per mesh
- stencil_depths = stencil_depths_in
+ stencil_depths(:) = stencil_depths_in(:)
else
write(log_scratch_space, '(A)') &
'Number of stencil depths specified does not '// &
From a398b2b0ced9a16b7e2b762cc8cb75697b3d5f1a Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Thu, 22 Jan 2026 17:50:58 +0000
Subject: [PATCH 08/29] update all nml files and unit-tests
---
.../adjoint_tests/example/configuration.nml | 2 +
.../gravity_wave/example/configuration.nml | 2 +
.../compute_q_operator_kernel_mod_test.pf | 4 +-
.../initial_buoyancy_kernel_mod_test.pf | 4 +-
.../gungho_model/example/configuration.nml | 2 +
.../lam_example/baroclinic/config_driver.nml | 2 +
.../lam_example/baroclinic/config_lam.nml | 2 +
.../lam_example/straka/config_driver.nml | 2 +
.../lam_example/straka/config_lam.nml | 2 +
.../example/configuration.nml | 2 +
.../example_forecast/configuration.nml | 2 +
.../example_forecast_pseudo/configuration.nml | 2 +
.../configuration_op.nml | 2 +
.../example_id_tlm_tests/configuration.nml | 2 +
.../example_tlm_forecast_tl/configuration.nml | 2 +
.../configuration_op.nml | 2 +
.../example_tlm_tests/configuration.nml | 2 +
.../example_tlm_tests/configuration_dry.nml | 2 +
.../configuration_dry_relaxed.nml | 2 +
.../algorithm_test_configuration.nml | 2 +
applications/jules/example/configuration.nml | 2 +
.../lfric2lfric/example/configuration.nml | 2 +
.../lfric_atm/example/configuration.nml | 2 +
.../lfric_coupled/example/configuration.nml | 2 +
.../linear_model/example/configuration.nml | 2 +
.../example_file/config_linear.nml | 2 +
.../example_file/config_nonlinear.nml | 2 +
.../name_transport/example/configuration.nml | 2 +
.../kernel/set_name_field_kernel_mod_test.pf | 4 +-
.../ngarch/example/configuration_bl.nml | 2 +
.../ngarch/example/configuration_casim.nml | 2 +
.../shallow_water/example/configuration.nml | 2 +
.../kernel/initial_geopot_kernel_mod_test.pf | 4 +-
.../initial_swe_buoyancy_kernel_mod_test.pf | 4 +-
.../initial_swe_tracer_kernel_mod_test.pf | 4 +-
.../kernel/initial_swe_u_kernel_mod_test.pf | 5 +-
applications/solver/example/configuration.nml | 2 +
.../transport/example/configuration.nml | 2 +
...ial_tracer_field_sample_kernel_mod_test.pf | 4 +-
.../set_tracer_field_kernel_mod_test.pf | 4 +-
dependencies.yaml | 4 +-
.../jedi_lfric_time_test_configuration.nml | 2 +
rose-stem/app/gungho_model/rose-app.conf | 2 +
rose-stem/app/lfric_atm/rose-app.conf | 2 +
.../resources/cma_test_configuration.nml | 2 +
.../orography/assign_orography_field_mod.F90 | 837 ++++++++++--------
...compute_coriolis_matrix_kernel_mod_test.pf | 4 +-
.../compute_dl_matrix_kernel_mod_test.pf | 4 +-
...te_vert_coriolis_matrix_kernel_mod_test.pf | 4 +-
...kinetic_energy_gradient_kernel_mod_test.pf | 4 +-
.../lagged_orog_operator_kernel_mod_test.pf | 4 +-
.../project_eos_pressure_kernel_mod_test.pf | 4 +-
.../project_eos_rho_kernel_mod_test.pf | 4 +-
.../rhs_project_eos_kernel_mod_test.pf | 4 +-
.../vorticity_rhs_kernel_mod_test.pf | 4 +-
.../compute_energetics_kernel_mod_test.pf | 4 +-
.../compute_entropy_kernel_mod_test.pf | 4 +-
.../compute_moist_mass_kernel_mod_test.pf | 4 +-
.../compute_total_aam_kernel_mod_test.pf | 4 +-
.../compute_total_pv_kernel_mod_test.pf | 4 +-
.../diagnostics/reference_profile_mod_test.pf | 4 +-
.../leonard_term_kl_kernel_mod_test.pf | 4 +-
.../leonard_term_th_kernel_mod_test.pf | 4 +-
.../momentum_viscosity_kernel_mod_test.pf | 4 +-
...tracer_smagorinsky_diff_kernel_mod_test.pf | 4 +-
.../tracer_viscosity_kernel_mod_test.pf | 4 +-
.../deep_hot_jupiter_kernel_mod_test.pf | 4 +-
.../earth_like_kernel_mod_test.pf | 4 +-
.../held_suarez_kernel_mod_test.pf | 4 +-
.../shallow_hot_jupiter_kernel_mod_test.pf | 4 +-
.../tidally_locked_earth_kernel_mod_test.pf | 4 +-
.../hydrostatic_exner_kernel_mod_test.pf | 4 +-
.../initial_rho_sample_kernel_mod_test.pf | 4 +-
.../initial_u_kernel_mod_test.pf | 4 +-
.../initialisation/set_rho_kernel_mod_test.pf | 4 +-
.../create_w2bmask_kernel_mod_test.pf | 4 +-
.../create_w2mask_blend_kernel_mod_test.pf | 4 +-
.../create_w2mask_kernel_mod_test.pf | 4 +-
.../create_w2mask_lbc_kernel_mod_test.pf | 4 +-
.../create_w2mask_tang_kernel_mod_test.pf | 4 +-
.../create_w3mask_blend_kernel_mod_test.pf | 4 +-
.../create_w3mask_kernel_mod_test.pf | 4 +-
.../create_w3mask_lbc_kernel_mod_test.pf | 4 +-
...create_wthetamask_blend_kernel_mod_test.pf | 4 +-
.../create_wthetamask_kernel_mod_test.pf | 4 +-
.../create_wthetamask_lbc_kernel_mod_test.pf | 4 +-
.../eliminated_theta_q22_kernel_mod_test.pf | 4 +-
.../project_eos_operators_kernel_mod_test.pf | 4 +-
.../solver/weighted_div_kernel_mod_test.pf | 4 +-
.../solver/weighted_m3_kernel_mod_test.pf | 4 +-
.../calc_upwind_detj_at_w2_kernel_mod_test.pf | 4 +-
.../panel_edge_coords_kernel_mod_test.pf | 4 +-
.../panel_edge_weights_kernel_mod_test.pf | 4 +-
.../vorticity_advection_kernel_mod_test.pf | 5 +-
.../w2_vorticity_advection_kernel_mod_test.pf | 5 +-
...poly1d_advective_coeffs_kernel_mod_test.pf | 5 +-
.../mol/poly1d_flux_coeffs_kernel_mod_test.pf | 5 +-
...poly2d_advective_coeffs_kernel_mod_test.pf | 5 +-
.../mol/poly2d_flux_coeffs_kernel_mod_test.pf | 5 +-
...ytic_orography_field_cartesian_mod_test.pf | 19 +-
...ytic_orography_field_spherical_mod_test.pf | 20 +-
.../ancil_orography_cartesian_mod_test.pf | 19 +-
.../ancil_orography_spherical_mod_test.pf | 19 +-
.../resources/runge_kutta_configuration.nml | 2 +
.../resources/semi_implicit_configuration.nml | 2 +
.../initial_theta_ref_kernel_mod_test.pf | 4 +-
...kinetic_energy_gradient_kernel_mod_test.pf | 4 +-
...tl_project_eos_pressure_kernel_mod_test.pf | 4 +-
.../tl_rhs_project_eos_kernel_mod_test.pf | 4 +-
.../tl_rhs_sample_eos_kernel_mod_test.pf | 4 +-
.../tl_sample_eos_pressure_kernel_mod_test.pf | 4 +-
.../tl_vorticity_advection_kernel_mod_test.pf | 4 +-
112 files changed, 798 insertions(+), 477 deletions(-)
diff --git a/applications/adjoint_tests/example/configuration.nml b/applications/adjoint_tests/example/configuration.nml
index 84ce2a779..19260dfbf 100644
--- a/applications/adjoint_tests/example/configuration.nml
+++ b/applications/adjoint_tests/example/configuration.nml
@@ -54,6 +54,8 @@ start_dump_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/gravity_wave/example/configuration.nml b/applications/gravity_wave/example/configuration.nml
index 615f9d0bc..a0d7e7095 100644
--- a/applications/gravity_wave/example/configuration.nml
+++ b/applications/gravity_wave/example/configuration.nml
@@ -32,6 +32,8 @@ start_dump_filename = ''
&finite_element
cellshape = 'quadrilateral'
coord_order = 1
+coord_order_multigrid = 1,
+coord_space = 'Wchi',
coord_system = 'native'
element_order_h = 0
element_order_v = 0
diff --git a/applications/gravity_wave/unit-test/kernel/compute_q_operator_kernel_mod_test.pf b/applications/gravity_wave/unit-test/kernel/compute_q_operator_kernel_mod_test.pf
index e4337c084..ecde0750a 100644
--- a/applications/gravity_wave/unit-test/kernel/compute_q_operator_kernel_mod_test.pf
+++ b/applications/gravity_wave/unit-test/kernel/compute_q_operator_kernel_mod_test.pf
@@ -31,7 +31,7 @@ contains
subroutine setUp( this )
use finite_element_config_mod, only: cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only: feign_finite_element_config
implicit none
@@ -42,6 +42,8 @@ contains
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
coord_system=coord_system_xyz, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
element_order_h=1_i_def, &
element_order_v=1_i_def, &
rehabilitate=.true., &
diff --git a/applications/gravity_wave/unit-test/kernel/initial_buoyancy_kernel_mod_test.pf b/applications/gravity_wave/unit-test/kernel/initial_buoyancy_kernel_mod_test.pf
index 8a3ca705d..cfb66af04 100644
--- a/applications/gravity_wave/unit-test/kernel/initial_buoyancy_kernel_mod_test.pf
+++ b/applications/gravity_wave/unit-test/kernel/initial_buoyancy_kernel_mod_test.pf
@@ -28,7 +28,7 @@ contains
stretching_method_linear
use sci_chi_transform_mod, only : init_chi_transforms
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_base_mesh_config, &
feign_extrusion_config, &
feign_finite_element_config, &
@@ -60,6 +60,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/applications/gungho_model/example/configuration.nml b/applications/gungho_model/example/configuration.nml
index ea60b8aa1..a9f920a1e 100644
--- a/applications/gungho_model/example/configuration.nml
+++ b/applications/gungho_model/example/configuration.nml
@@ -48,6 +48,8 @@ start_dump_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wtheta',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/gungho_model/lam_example/baroclinic/config_driver.nml b/applications/gungho_model/lam_example/baroclinic/config_driver.nml
index 43d72b197..a8af48cd6 100644
--- a/applications/gungho_model/lam_example/baroclinic/config_driver.nml
+++ b/applications/gungho_model/lam_example/baroclinic/config_driver.nml
@@ -43,6 +43,8 @@ lbc_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wtheta',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/gungho_model/lam_example/baroclinic/config_lam.nml b/applications/gungho_model/lam_example/baroclinic/config_lam.nml
index d63ada536..ca0998f21 100644
--- a/applications/gungho_model/lam_example/baroclinic/config_lam.nml
+++ b/applications/gungho_model/lam_example/baroclinic/config_lam.nml
@@ -59,6 +59,8 @@ lbc_filename='lbc',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wtheta',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/gungho_model/lam_example/straka/config_driver.nml b/applications/gungho_model/lam_example/straka/config_driver.nml
index 82fd2d418..9141d3226 100644
--- a/applications/gungho_model/lam_example/straka/config_driver.nml
+++ b/applications/gungho_model/lam_example/straka/config_driver.nml
@@ -45,6 +45,8 @@ lbc_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wtheta',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/gungho_model/lam_example/straka/config_lam.nml b/applications/gungho_model/lam_example/straka/config_lam.nml
index 636c9e6e0..563c333d2 100644
--- a/applications/gungho_model/lam_example/straka/config_lam.nml
+++ b/applications/gungho_model/lam_example/straka/config_lam.nml
@@ -57,6 +57,8 @@ lbc_filename='lbc',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wtheta',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/jedi_lfric_tests/example/configuration.nml b/applications/jedi_lfric_tests/example/configuration.nml
index b2d3c1ff0..e83ff167b 100644
--- a/applications/jedi_lfric_tests/example/configuration.nml
+++ b/applications/jedi_lfric_tests/example/configuration.nml
@@ -69,6 +69,8 @@ start_dump_filename='final_pert',
cellshape='quadrilateral',
coord_order=1,
coord_system='native',
+coord_order_multigrid=1,
+coord_space='Wchi',
element_order_h=0,
element_order_v=0,
rehabilitate=.true.,
diff --git a/applications/jedi_lfric_tests/example_forecast/configuration.nml b/applications/jedi_lfric_tests/example_forecast/configuration.nml
index 016e61fbc..fdf56e773 100644
--- a/applications/jedi_lfric_tests/example_forecast/configuration.nml
+++ b/applications/jedi_lfric_tests/example_forecast/configuration.nml
@@ -76,6 +76,8 @@ start_dump_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/jedi_lfric_tests/example_forecast_pseudo/configuration.nml b/applications/jedi_lfric_tests/example_forecast_pseudo/configuration.nml
index 9447dfff7..9f1bce5ed 100644
--- a/applications/jedi_lfric_tests/example_forecast_pseudo/configuration.nml
+++ b/applications/jedi_lfric_tests/example_forecast_pseudo/configuration.nml
@@ -47,6 +47,8 @@ stretching_method='smooth',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/jedi_lfric_tests/example_forecast_pseudo/configuration_op.nml b/applications/jedi_lfric_tests/example_forecast_pseudo/configuration_op.nml
index c179e76eb..f15875635 100644
--- a/applications/jedi_lfric_tests/example_forecast_pseudo/configuration_op.nml
+++ b/applications/jedi_lfric_tests/example_forecast_pseudo/configuration_op.nml
@@ -47,6 +47,8 @@ stretching_method='smooth',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/jedi_lfric_tests/example_id_tlm_tests/configuration.nml b/applications/jedi_lfric_tests/example_id_tlm_tests/configuration.nml
index 53acee0fc..4e2e01597 100644
--- a/applications/jedi_lfric_tests/example_id_tlm_tests/configuration.nml
+++ b/applications/jedi_lfric_tests/example_id_tlm_tests/configuration.nml
@@ -106,6 +106,8 @@ start_dump_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration.nml b/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration.nml
index f61e5aab0..5fdfff10e 100644
--- a/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration.nml
+++ b/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration.nml
@@ -106,6 +106,8 @@ start_dump_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration_op.nml b/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration_op.nml
index 7b9d54bf3..49ecc15ed 100644
--- a/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration_op.nml
+++ b/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration_op.nml
@@ -106,6 +106,8 @@ start_dump_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/jedi_lfric_tests/example_tlm_tests/configuration.nml b/applications/jedi_lfric_tests/example_tlm_tests/configuration.nml
index 283c5dafb..fe7d6a8a7 100644
--- a/applications/jedi_lfric_tests/example_tlm_tests/configuration.nml
+++ b/applications/jedi_lfric_tests/example_tlm_tests/configuration.nml
@@ -107,6 +107,8 @@ start_dump_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry.nml b/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry.nml
index c9b945825..f802be2ec 100644
--- a/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry.nml
+++ b/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry.nml
@@ -106,6 +106,8 @@ start_dump_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry_relaxed.nml b/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry_relaxed.nml
index 1296925a7..09f983d90 100644
--- a/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry_relaxed.nml
+++ b/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry_relaxed.nml
@@ -104,6 +104,8 @@ start_dump_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/jedi_lfric_tests/integration-test/algorithm/resources/algorithm_test_configuration.nml b/applications/jedi_lfric_tests/integration-test/algorithm/resources/algorithm_test_configuration.nml
index 8f09d097b..d3c250ef0 100644
--- a/applications/jedi_lfric_tests/integration-test/algorithm/resources/algorithm_test_configuration.nml
+++ b/applications/jedi_lfric_tests/integration-test/algorithm/resources/algorithm_test_configuration.nml
@@ -22,6 +22,8 @@ element_order_h=0,
element_order_v=0,
rehabilitate=.true.,
coord_order=1
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native'
/
diff --git a/applications/jules/example/configuration.nml b/applications/jules/example/configuration.nml
index fd648227e..862cf4c0b 100644
--- a/applications/jules/example/configuration.nml
+++ b/applications/jules/example/configuration.nml
@@ -46,6 +46,8 @@ start_dump_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/lfric2lfric/example/configuration.nml b/applications/lfric2lfric/example/configuration.nml
index b70cd2d22..a1b9e89ef 100644
--- a/applications/lfric2lfric/example/configuration.nml
+++ b/applications/lfric2lfric/example/configuration.nml
@@ -38,6 +38,8 @@ element_order_h = 0,
element_order_v = 0,
rehabilitate = .true.,
coord_order = 1,
+coord_order_multigrid = 1,
+coord_space = 'Wchi',
/
&io
diff --git a/applications/lfric_atm/example/configuration.nml b/applications/lfric_atm/example/configuration.nml
index 5301f68ed..d4ed1438d 100644
--- a/applications/lfric_atm/example/configuration.nml
+++ b/applications/lfric_atm/example/configuration.nml
@@ -147,6 +147,8 @@ start_dump_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/lfric_coupled/example/configuration.nml b/applications/lfric_coupled/example/configuration.nml
index 643f92211..f4843296c 100644
--- a/applications/lfric_coupled/example/configuration.nml
+++ b/applications/lfric_coupled/example/configuration.nml
@@ -78,6 +78,8 @@ start_dump_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wtheta',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/linear_model/example/configuration.nml b/applications/linear_model/example/configuration.nml
index 5ed21fc6c..e20716692 100644
--- a/applications/linear_model/example/configuration.nml
+++ b/applications/linear_model/example/configuration.nml
@@ -48,6 +48,8 @@ ls_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/linear_model/example_file/config_linear.nml b/applications/linear_model/example_file/config_linear.nml
index 18df08580..438da326a 100644
--- a/applications/linear_model/example_file/config_linear.nml
+++ b/applications/linear_model/example_file/config_linear.nml
@@ -45,6 +45,8 @@ ls_filename='ls',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/linear_model/example_file/config_nonlinear.nml b/applications/linear_model/example_file/config_nonlinear.nml
index b32d3f15b..4c7a32ede 100644
--- a/applications/linear_model/example_file/config_nonlinear.nml
+++ b/applications/linear_model/example_file/config_nonlinear.nml
@@ -43,6 +43,8 @@ start_dump_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/name_transport/example/configuration.nml b/applications/name_transport/example/configuration.nml
index 3bcb4b2f4..0e3207739 100644
--- a/applications/name_transport/example/configuration.nml
+++ b/applications/name_transport/example/configuration.nml
@@ -32,6 +32,8 @@ element_order_h=0,
element_order_v=0,
rehabilitate=.true.,
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native'
vorticity_in_w1=.true.,
/
diff --git a/applications/name_transport/unit-test/kernel/set_name_field_kernel_mod_test.pf b/applications/name_transport/unit-test/kernel/set_name_field_kernel_mod_test.pf
index 7ae24e5d4..6c47db606 100644
--- a/applications/name_transport/unit-test/kernel/set_name_field_kernel_mod_test.pf
+++ b/applications/name_transport/unit-test/kernel/set_name_field_kernel_mod_test.pf
@@ -37,7 +37,7 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_base_mesh_config, &
feign_extrusion_config, &
feign_finite_element_config, &
@@ -67,6 +67,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/applications/ngarch/example/configuration_bl.nml b/applications/ngarch/example/configuration_bl.nml
index 87c3e5318..bdc1cea37 100644
--- a/applications/ngarch/example/configuration_bl.nml
+++ b/applications/ngarch/example/configuration_bl.nml
@@ -116,6 +116,8 @@ surface_frac_ancil_path='vegetation/fractions_cci/qrparm.veg.frac.fixed',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/ngarch/example/configuration_casim.nml b/applications/ngarch/example/configuration_casim.nml
index 4db857e52..d41f21910 100644
--- a/applications/ngarch/example/configuration_casim.nml
+++ b/applications/ngarch/example/configuration_casim.nml
@@ -160,6 +160,8 @@ surface_frac_ancil_path='vegetation/fractions_cci/qrparm.veg.frac.fixed',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
element_order_h=0,
element_order_v=0,
diff --git a/applications/shallow_water/example/configuration.nml b/applications/shallow_water/example/configuration.nml
index d4ab292f9..4ac2428db 100644
--- a/applications/shallow_water/example/configuration.nml
+++ b/applications/shallow_water/example/configuration.nml
@@ -275,6 +275,8 @@ start_dump_directory = ''
! These do not need changing
cellshape = 'quadrilateral'
coord_order = 1
+coord_order_multigrid = 1
+coord_space = 'Wchi'
coord_system = 'native'
element_order_h = 0
element_order_v = 0
diff --git a/applications/shallow_water/unit-test/kernel/initial_geopot_kernel_mod_test.pf b/applications/shallow_water/unit-test/kernel/initial_geopot_kernel_mod_test.pf
index fe44262b4..3fe2e4712 100644
--- a/applications/shallow_water/unit-test/kernel/initial_geopot_kernel_mod_test.pf
+++ b/applications/shallow_water/unit-test/kernel/initial_geopot_kernel_mod_test.pf
@@ -51,7 +51,7 @@ contains
feign_planet_config, &
feign_shallow_water_settings_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use sci_chi_transform_mod, only : init_chi_transforms
use shallow_water_settings_config_mod, &
only : momentum_form_momentum, &
@@ -77,6 +77,8 @@ contains
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/applications/shallow_water/unit-test/kernel/initial_swe_buoyancy_kernel_mod_test.pf b/applications/shallow_water/unit-test/kernel/initial_swe_buoyancy_kernel_mod_test.pf
index 3c69d79cb..984d7ce91 100644
--- a/applications/shallow_water/unit-test/kernel/initial_swe_buoyancy_kernel_mod_test.pf
+++ b/applications/shallow_water/unit-test/kernel/initial_swe_buoyancy_kernel_mod_test.pf
@@ -52,7 +52,7 @@ contains
feign_shallow_water_settings_config
use finite_element_config_mod, &
only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use sci_chi_transform_mod, only : init_chi_transforms
use shallow_water_settings_config_mod, &
only : momentum_form_momentum, &
@@ -78,6 +78,8 @@ contains
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/applications/shallow_water/unit-test/kernel/initial_swe_tracer_kernel_mod_test.pf b/applications/shallow_water/unit-test/kernel/initial_swe_tracer_kernel_mod_test.pf
index 29103cf75..19653ad39 100644
--- a/applications/shallow_water/unit-test/kernel/initial_swe_tracer_kernel_mod_test.pf
+++ b/applications/shallow_water/unit-test/kernel/initial_swe_tracer_kernel_mod_test.pf
@@ -51,7 +51,7 @@ contains
feign_planet_config, &
feign_shallow_water_settings_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use sci_chi_transform_mod, only : init_chi_transforms
use shallow_water_settings_config_mod, &
only : momentum_form_momentum, &
@@ -77,6 +77,8 @@ contains
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/applications/shallow_water/unit-test/kernel/initial_swe_u_kernel_mod_test.pf b/applications/shallow_water/unit-test/kernel/initial_swe_u_kernel_mod_test.pf
index 846105876..db33c9827 100644
--- a/applications/shallow_water/unit-test/kernel/initial_swe_u_kernel_mod_test.pf
+++ b/applications/shallow_water/unit-test/kernel/initial_swe_u_kernel_mod_test.pf
@@ -57,7 +57,8 @@ contains
feign_shallow_water_test_coeff_config, &
feign_shallow_water_settings_config
use finite_element_config_mod, only: cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, &
+ coord_space_wchi
use shallow_water_settings_config_mod, only: momentum_form_momentum, &
swe_test_swe_gaussian_hill, &
time_scheme_semi_implicit
@@ -76,6 +77,8 @@ contains
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
coord_system=coord_system_xyz, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
rehabilitate=.true., &
diff --git a/applications/solver/example/configuration.nml b/applications/solver/example/configuration.nml
index 4eaececfd..e7721cddf 100644
--- a/applications/solver/example/configuration.nml
+++ b/applications/solver/example/configuration.nml
@@ -27,6 +27,8 @@ element_order_h=0,
element_order_v=0,
rehabilitate=.true.,
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native',
/
diff --git a/applications/transport/example/configuration.nml b/applications/transport/example/configuration.nml
index e240dc3ad..e99ba84d7 100644
--- a/applications/transport/example/configuration.nml
+++ b/applications/transport/example/configuration.nml
@@ -32,6 +32,8 @@ element_order_h=0,
element_order_v=0,
rehabilitate=.true.,
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native'
vorticity_in_w1=.true.,
/
diff --git a/applications/transport/unit-test/kernel/initial_tracer_field_sample_kernel_mod_test.pf b/applications/transport/unit-test/kernel/initial_tracer_field_sample_kernel_mod_test.pf
index 7fcd8dc18..da3155fa4 100644
--- a/applications/transport/unit-test/kernel/initial_tracer_field_sample_kernel_mod_test.pf
+++ b/applications/transport/unit-test/kernel/initial_tracer_field_sample_kernel_mod_test.pf
@@ -46,7 +46,7 @@ contains
feign_idealised_config, &
feign_initial_tracer_field_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use idealised_config_mod, only : test_slotted_cylinder
implicit none
@@ -65,6 +65,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/applications/transport/unit-test/kernel/set_tracer_field_kernel_mod_test.pf b/applications/transport/unit-test/kernel/set_tracer_field_kernel_mod_test.pf
index 04e00da19..3e7b4c0d4 100644
--- a/applications/transport/unit-test/kernel/set_tracer_field_kernel_mod_test.pf
+++ b/applications/transport/unit-test/kernel/set_tracer_field_kernel_mod_test.pf
@@ -49,7 +49,7 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_base_mesh_config, &
feign_extrusion_config, &
feign_finite_element_config, &
@@ -79,6 +79,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/dependencies.yaml b/dependencies.yaml
index caab36487..791bdf83d 100644
--- a/dependencies.yaml
+++ b/dependencies.yaml
@@ -30,8 +30,8 @@ lfric_apps:
ref:
lfric_core:
- source: git@github.com:MetOffice/lfric_core.git
- ref: 2025.12.1
+ source: git@github.com:tommbendall/lfric_core.git
+ ref: TBendall/CoordSpace
moci:
source: git@github.com:MetOffice/moci.git
diff --git a/interfaces/jedi_lfric_interface/integration-test/time/resources/jedi_lfric_time_test_configuration.nml b/interfaces/jedi_lfric_interface/integration-test/time/resources/jedi_lfric_time_test_configuration.nml
index 08bd34982..9a6529b6c 100644
--- a/interfaces/jedi_lfric_interface/integration-test/time/resources/jedi_lfric_time_test_configuration.nml
+++ b/interfaces/jedi_lfric_interface/integration-test/time/resources/jedi_lfric_time_test_configuration.nml
@@ -22,6 +22,8 @@ element_order_h=0,
element_order_v=0,
rehabilitate=.true.,
coord_order=1
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='native'
/
diff --git a/rose-stem/app/gungho_model/rose-app.conf b/rose-stem/app/gungho_model/rose-app.conf
index d4bc76fa1..6e300935f 100644
--- a/rose-stem/app/gungho_model/rose-app.conf
+++ b/rose-stem/app/gungho_model/rose-app.conf
@@ -390,6 +390,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wtheta'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/lfric_atm/rose-app.conf b/rose-stem/app/lfric_atm/rose-app.conf
index d7f7988a5..723211c48 100644
--- a/rose-stem/app/lfric_atm/rose-app.conf
+++ b/rose-stem/app/lfric_atm/rose-app.conf
@@ -415,6 +415,8 @@ surface_frac_ancil_path='vegetation/fractions_cci/qrparm.veg.frac.fixed'
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wtheta'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/science/gungho/integration-test/cma_test/resources/cma_test_configuration.nml b/science/gungho/integration-test/cma_test/resources/cma_test_configuration.nml
index d0821e849..e9897d51e 100644
--- a/science/gungho/integration-test/cma_test/resources/cma_test_configuration.nml
+++ b/science/gungho/integration-test/cma_test/resources/cma_test_configuration.nml
@@ -25,6 +25,8 @@
element_order_v = 0
rehabilitate = .true.
coord_order = 1
+ coord_order_multigrid = 1
+ coord_space = 'Wchi'
coord_system = 'native'
vorticity_in_w1 = .false.
/
diff --git a/science/gungho/source/orography/assign_orography_field_mod.F90 b/science/gungho/source/orography/assign_orography_field_mod.F90
index 7b08cf38a..0669560cb 100644
--- a/science/gungho/source/orography/assign_orography_field_mod.F90
+++ b/science/gungho/source/orography/assign_orography_field_mod.F90
@@ -1,32 +1,34 @@
-!-----------------------------------------------------------------------------
+!-------------------------------------------------------------------------------
! (C) Crown copyright 2017 Met Office. All rights reserved.
! The file LICENCE, distributed with this code, contains details of the terms
! under which the code may be used.
-!-----------------------------------------------------------------------------
-
-!-----------------------------------------------------------------------
-!> @brief Module to assign the values of the surface height to model
-!> coordinates using either an analytic orography function or from
-!> a surface_altitude field.
-!> Note that unlike other algorithms, this is breaks encapsulation in order to
-!> write to the chi field. This is an exception and only allowed in the set up
-!> phase of the model. Generally, the chi field is read only (and this is
-!> enforced through PSyClone).
+!-------------------------------------------------------------------------------
+
+!-------------------------------------------------------------------------------
+!> @brief Updates the model's coordinates to include orography.
+!> @details Module to assign the values of the surface height to model
+!! coordinates using either an analytic orography function or from a
+!! surface_altitude field.
+!! Note that unlike other algorithms, this is breaks encapsulation in
+!! order to write to the chi field. This is an exception and only
+!! allowed in the set up phase of the model. Generally, the chi field
+!! is read only (and this is enforced through PSyClone).
!-------------------------------------------------------------------------------
module assign_orography_field_mod
use constants_mod, only : r_def, i_def, l_def
- use orography_config_mod, only : orog_init_option, &
- orog_init_option_analytic, &
- orog_init_option_ancil, &
- orog_init_option_none, &
+ use orography_config_mod, only : orog_init_option, &
+ orog_init_option_analytic, &
+ orog_init_option_ancil, &
+ orog_init_option_none, &
orog_init_option_start_dump
- use base_mesh_config_mod, only : geometry, &
- geometry_spherical, &
- topology, &
- topology_fully_periodic
- use finite_element_config_mod, only : coord_system, &
- coord_order, &
+ use base_mesh_config_mod, only : geometry, &
+ geometry_spherical, &
+ topology, &
+ topology_fully_periodic, &
+ prime_mesh_name
+ use finite_element_config_mod, only : coord_system, &
+ coord_order, &
coord_system_xyz
use mesh_collection_mod, only : mesh_collection
use coord_transform_mod, only : xyz2llr, llr2xyz
@@ -43,7 +45,6 @@ module assign_orography_field_mod
LOG_LEVEL_ERROR
use fs_continuity_mod, only : W0, Wchi
use function_space_mod, only : BASIS
- use surface_altitude_alg_mod, only : surface_altitude_alg
implicit none
@@ -60,49 +61,64 @@ module assign_orography_field_mod
interface
- subroutine analytic_orography_interface(nlayers, &
- ndf_chi, undf_chi, map_chi, &
- ndf_pid, undf_pid, map_pid, &
- domain_surface, domain_height, &
+ subroutine analytic_orography_interface(nlayers, &
+ ndf_chi, undf_chi, map_chi, &
+ ndf_pid, undf_pid, map_pid, &
+ domain_surface, domain_height, &
+ chi_1_in, chi_2_in, chi_3_in, &
chi_1, chi_2, chi_3, panel_id)
- import :: r_def, i_def
+
+ import :: i_def, r_def
+
implicit none
- integer(kind=i_def), intent(in) :: nlayers, undf_chi, undf_pid
- integer(kind=i_def), intent(in) :: ndf_chi, ndf_pid
- integer(kind=i_def), intent(in) :: map_chi(ndf_chi), map_pid(ndf_pid)
- real(kind=r_def), intent(in) :: domain_surface, domain_height
- real(kind=r_def), intent(inout) :: chi_1(undf_chi), chi_2(undf_chi), chi_3(undf_chi)
- real(kind=r_def), intent(in) :: panel_id(undf_pid)
+
+ integer(kind=i_def), intent(in) :: nlayers, undf_chi, undf_pid
+ integer(kind=i_def), intent(in) :: ndf_chi, ndf_pid
+ integer(kind=i_def), intent(in) :: map_chi(ndf_chi), map_pid(ndf_pid)
+ real(kind=r_def), intent(in) :: domain_surface, domain_height
+ real(kind=r_def), intent(in) :: chi_1_in(undf_chi)
+ real(kind=r_def), intent(in) :: chi_2_in(undf_chi)
+ real(kind=r_def), intent(in) :: chi_3_in(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_1(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_2(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_3(undf_chi)
+ real(kind=r_def), intent(in) :: panel_id(undf_pid)
+
end subroutine analytic_orography_interface
end interface
interface
- subroutine ancil_orography_interface(nlayers, &
- chi_1, chi_2, chi_3, &
- panel_id, &
- surface_altitude, &
- domain_surface, domain_height, &
- ndf_chi, undf_chi, &
- map_chi, &
- ndf_pid, undf_pid, &
- map_pid, &
- ndf, undf, &
- map, basis &
- )
- import :: r_def, i_def
+ subroutine ancil_orography_interface(nlayers, &
+ chi_1, chi_2, chi_3, &
+ chi_1_in, chi_2_in, chi_3_in, &
+ panel_id, &
+ surface_altitude, &
+ domain_surface, domain_height, &
+ ndf_chi, undf_chi, map_chi, &
+ ndf_pid, undf_pid, map_pid, &
+ ndf, undf, map, basis)
+
+ import :: i_def, r_def
+
implicit none
- integer(kind=i_def), intent(in) :: nlayers, ndf, ndf_chi, ndf_pid
- integer(kind=i_def), intent(in) :: undf, undf_chi, undf_pid
- integer(kind=i_def), dimension(ndf), intent(in) :: map
- integer(kind=i_def), dimension(ndf_chi), intent(in) :: map_chi
- integer(kind=i_def), dimension(ndf_pid), intent(in) :: map_pid
- real(kind=r_def), intent(in), dimension(ndf, ndf_chi) :: basis
- real(kind=r_def), dimension(undf_chi), intent(inout) :: chi_1, chi_2, chi_3
- real(kind=r_def), dimension(undf_pid), intent(in) :: panel_id
- real(kind=r_def), dimension(undf), intent(in) :: surface_altitude
- real(kind=r_def), intent(in) :: domain_surface, domain_height
+
+ integer(kind=i_def), intent(in) :: nlayers, undf_chi, undf_pid, undf
+ integer(kind=i_def), intent(in) :: ndf_chi, ndf_pid, ndf
+ integer(kind=i_def), intent(in) :: map_chi(ndf_chi), map_pid(ndf_pid)
+ integer(kind=i_def), intent(in) :: map(ndf)
+ real(kind=r_def), intent(in) :: basis(ndf,ndf_chi)
+ real(kind=r_def), intent(in) :: domain_surface, domain_height
+ real(kind=r_def), intent(in) :: surface_altitude(undf)
+ real(kind=r_def), intent(in) :: chi_1_in(undf_chi)
+ real(kind=r_def), intent(in) :: chi_2_in(undf_chi)
+ real(kind=r_def), intent(in) :: chi_3_in(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_1(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_2(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_3(undf_chi)
+ real(kind=r_def), intent(in) :: panel_id(undf_pid)
+
end subroutine ancil_orography_interface
end interface
@@ -120,73 +136,65 @@ end subroutine ancil_orography_interface
!> routines calculate analytic orography from horizontal coordinates or else
!> use the surface_altitude field and then update the vertical coordinate.
!>
- !> @param[in,out] chi_inventory Contains all of the model's coordinate
- !! fields, itemised by mesh
- !> @param[in] panel_id_inventory Contains all of the model's panel ID
- !! fields, itemised by mesh
- !> @param[in] mesh Mesh to apply orography to
- !> @param[in] surface_altitude Field containing the surface altitude
+ !> @param[in,out] chi_inventory Contains all of the model's coordinate
+ !! fields, itemised by mesh
+ !> @param[in] panel_id_inventory Contains all of the model's panel ID
+ !! fields, itemised by mesh
+ !> @param[in] mesh Mesh to apply orography to
+ !> @param[in] surface_altitude_w0 Field containing the surface altitude
!=============================================================================
- subroutine assign_orography_field(chi_inventory, panel_id_inventory, &
- mesh, surface_altitude)
+ subroutine assign_orography_field(chi_inventory, panel_id_inventory, &
+ mesh, surface_altitude_w0)
use inventory_by_mesh_mod, only : inventory_by_mesh_type
use field_mod, only : field_type, field_proxy_type
use mesh_mod, only : mesh_type
use domain_mod, only : domain_type
use orography_helper_functions_mod, only : set_horizontal_domain_size
- use function_space_collection_mod, only : function_space_collection
- use orography_config_mod, only : orog_init_option, &
- orog_init_option_ancil, &
+ use orography_config_mod, only : orog_init_option, &
+ orog_init_option_ancil, &
orog_init_option_start_dump
use sci_field_minmax_alg_mod, only : log_field_minmax
implicit none
! Arguments
- type( inventory_by_mesh_type ), intent( inout ) :: chi_inventory
- type( inventory_by_mesh_type ), intent( in ) :: panel_id_inventory
- type( mesh_type ), intent( in ), pointer :: mesh
+ type(inventory_by_mesh_type), intent(inout) :: chi_inventory
+ type(inventory_by_mesh_type), intent(in) :: panel_id_inventory
+ type(mesh_type), pointer, intent(in) :: mesh
! We keep the surface_altitude as an optional argument since it is
! not needed for miniapps that only want analytic orography
- type( field_type ), intent( in ), optional :: surface_altitude
+ type(field_type), optional, intent(in) :: surface_altitude_w0
! Local variables
- type( field_type ), pointer :: chi(:) => null()
- type( field_type ), pointer :: panel_id => null()
- type( field_proxy_type ) :: chi_proxy(3)
- type( field_proxy_type ) :: panel_id_proxy
- type( domain_type ) :: domain
+ type(field_type), pointer :: chi(:)
+ type(field_type), pointer :: panel_id
+ type(field_type) :: chi_in(3)
+ type(field_proxy_type) :: chi_proxy(3)
+ type(field_proxy_type) :: chi_in_proxy(3)
+ type(field_proxy_type) :: panel_id_proxy
+ type(domain_type) :: domain
real(kind=r_def) :: domain_height, domain_surface
integer(kind=i_def) :: cell
integer(kind=i_def) :: undf_chi, ndf_chi, nlayers
integer(kind=i_def) :: undf_pid, ndf_pid
integer(kind=i_def) :: undf_sf, ndf_sf
- integer(kind=i_def), pointer :: map_chi(:,:) => null()
- integer(kind=i_def), pointer :: map_pid(:,:) => null()
- integer(kind=i_def), pointer :: map_sf(:,:) => null()
+ integer(kind=i_def), pointer :: map_chi(:,:)
+ integer(kind=i_def), pointer :: map_pid(:,:)
+ integer(kind=i_def), pointer :: map_sf(:,:)
- integer(kind=i_def) :: surface_order_h, surface_order_v
- type( mesh_type ), pointer :: sf_mesh
- type( field_type ) :: surface_altitude_w0
- type( field_proxy_type ) :: sfc_alt_proxy
+ type(field_proxy_type) :: sfc_alt_proxy
- real(kind=r_def), pointer :: nodes(:,:) => null()
- integer(kind=i_def) :: dim_sf, df, df_sf
+ real(kind=r_def), pointer :: nodes(:,:)
+ integer(kind=i_def) :: dim_sf, df, df_sf, depth
! Procedure pointer
procedure(analytic_orography_interface), pointer :: analytic_orography => null()
- procedure(ancil_orography_interface), pointer :: ancil_orography => null()
+ procedure(ancil_orography_interface), pointer :: ancil_orography => null()
real(kind=r_def), allocatable :: basis_sf_on_chi(:,:,:)
- if (coord_order == 0 .and. orog_init_option/=orog_init_option_none) then
- call log_event( "assign_orography_field: "// &
- "Orography assignment is currently only available with coord_order > 0.", &
- LOG_LEVEL_ERROR )
- end if
-
call chi_inventory%get_field_array(mesh, chi)
call panel_id_inventory%get_field(mesh, panel_id)
@@ -200,19 +208,21 @@ subroutine assign_orography_field(chi_inventory, panel_id_inventory, &
! Get domain top from the mesh object and domain_surface
domain_height = mesh%get_domain_top() + domain_surface
- if (orog_init_option==orog_init_option_none) then
+ select case (orog_init_option)
+ case (orog_init_option_none)
- call log_event( "assign_orography_field: "// &
- "Flat surface requested.", LOG_LEVEL_INFO )
+ call log_event( &
+ "assign_orography_field: Flat surface requested.", LOG_LEVEL_INFO &
+ )
- else if (orog_init_option==orog_init_option_analytic) then
+ case (orog_init_option_analytic)
call log_event( "assign_orography_field: "// &
"Assigning analytic orography.", LOG_LEVEL_INFO )
! Point to appropriate procedure to assign orography
- if ( geometry == geometry_spherical ) then
- if ( coord_system == coord_system_xyz ) then
+ if (geometry == geometry_spherical) then
+ if (coord_system == coord_system_xyz) then
analytic_orography => analytic_orography_spherical_xyz
else
analytic_orography => analytic_orography_spherical_native
@@ -221,12 +231,20 @@ subroutine assign_orography_field(chi_inventory, panel_id_inventory, &
analytic_orography => analytic_orography_cartesian
end if
+ ! Copy chi to chi_in, to allow adjustment of continuous chi fields
+ call chi(1)%copy_field_properties(chi_in(1))
+ call chi(2)%copy_field_properties(chi_in(2))
+ call chi(3)%copy_field_properties(chi_in(3))
+
! Break encapsulation and get the proxy
- chi_proxy(1) = chi(1)%get_proxy()
- chi_proxy(2) = chi(2)%get_proxy()
- chi_proxy(3) = chi(3)%get_proxy()
- undf_chi = chi_proxy(1)%vspace%get_undf()
- ndf_chi = chi_proxy(1)%vspace%get_ndf()
+ chi_proxy(1) = chi(1)%get_proxy()
+ chi_proxy(2) = chi(2)%get_proxy()
+ chi_proxy(3) = chi(3)%get_proxy()
+ chi_in_proxy(1) = chi_in(1)%get_proxy()
+ chi_in_proxy(2) = chi_in(2)%get_proxy()
+ chi_in_proxy(3) = chi_in(3)%get_proxy()
+ undf_chi = chi_proxy(1)%vspace%get_undf()
+ ndf_chi = chi_proxy(1)%vspace%get_ndf()
panel_id_proxy = panel_id%get_proxy()
undf_pid = panel_id_proxy%vspace%get_undf()
ndf_pid = panel_id_proxy%vspace%get_ndf()
@@ -235,34 +253,32 @@ subroutine assign_orography_field(chi_inventory, panel_id_inventory, &
map_chi => chi_proxy(1)%vspace%get_whole_dofmap()
map_pid => panel_id_proxy%vspace%get_whole_dofmap()
+ ! Copy data values into "chi_in" fields
+ chi_in_proxy(1)%data = chi_proxy(1)%data
+ chi_in_proxy(2)%data = chi_proxy(2)%data
+ chi_in_proxy(3)%data = chi_proxy(3)%data
+
! Call column procedure
- do cell = 1,chi_proxy(1)%vspace%get_ncell()
-
- call analytic_orography(nlayers, &
- ndf_chi, &
- undf_chi, &
- map_chi(:,cell), &
- ndf_pid, &
- undf_pid, &
- map_pid(:,cell), &
- domain_surface, &
- domain_height, &
- chi_proxy(1)%data, &
- chi_proxy(2)%data, &
- chi_proxy(3)%data, &
- panel_id_proxy%data )
+ do cell = 1, chi_proxy(1)%vspace%get_ncell()
+ call analytic_orography( &
+ nlayers, ndf_chi, undf_chi, map_chi(:,cell), &
+ ndf_pid, undf_pid, map_pid(:,cell), &
+ domain_surface, domain_height, &
+ chi_in_proxy(1)%data, chi_in_proxy(2)%data, &
+ chi_in_proxy(3)%data, &
+ chi_proxy(1)%data, chi_proxy(2)%data, chi_proxy(3)%data, &
+ panel_id_proxy%data &
+ )
end do
-
- else if (orog_init_option==orog_init_option_ancil .or. &
- orog_init_option==orog_init_option_start_dump) then
+ case (orog_init_option_ancil, orog_init_option_start_dump)
call log_event( "assign_orography_field: "// &
"Assigning orography from surface_altitude field.", LOG_LEVEL_INFO )
! Point to appropriate procedure to assign orography
- if ( geometry == geometry_spherical ) then
- if ( coord_system == coord_system_xyz ) then
+ if (geometry == geometry_spherical) then
+ if (coord_system == coord_system_xyz) then
ancil_orography => ancil_orography_spherical_xyz
else
ancil_orography => ancil_orography_spherical_sph
@@ -271,34 +287,18 @@ subroutine assign_orography_field(chi_inventory, panel_id_inventory, &
ancil_orography => ancil_orography_cartesian
end if
- if ( present(surface_altitude) ) then
-
- ! Set up the surface altitude field on W0 points
- sf_mesh => surface_altitude%get_mesh()
- surface_order_h = surface_altitude%get_element_order_h()
- surface_order_v = surface_altitude%get_element_order_v()
- call surface_altitude_w0%initialise( vector_space = &
- function_space_collection%get_fs(sf_mesh, surface_order_h, &
- surface_order_v, W0), &
- halo_depth = sf_mesh%get_halo_depth() )
-
- if (surface_altitude%which_function_space()==W0) then
- call surface_altitude%copy_field_serial(surface_altitude_w0)
- else
- call surface_altitude_alg( surface_altitude_w0, surface_altitude )
- end if
-
- call log_field_minmax( LOG_LEVEL_INFO, 'srf_alt', surface_altitude )
- call log_field_minmax( LOG_LEVEL_INFO, 'srf_alt_w0', &
- surface_altitude_w0 )
-
- nullify ( sf_mesh )
- end if
+ ! Copy chi to chi_in, to allow adjustment of continuous chi fields
+ call chi(1)%copy_field_properties(chi_in(1))
+ call chi(2)%copy_field_properties(chi_in(2))
+ call chi(3)%copy_field_properties(chi_in(3))
! Break encapsulation and get the proxy
chi_proxy(1) = chi(1)%get_proxy()
chi_proxy(2) = chi(2)%get_proxy()
chi_proxy(3) = chi(3)%get_proxy()
+ chi_in_proxy(1) = chi_in(1)%get_proxy()
+ chi_in_proxy(2) = chi_in(2)%get_proxy()
+ chi_in_proxy(3) = chi_in(3)%get_proxy()
panel_id_proxy = panel_id%get_proxy()
sfc_alt_proxy = surface_altitude_w0%get_proxy()
@@ -314,6 +314,11 @@ subroutine assign_orography_field(chi_inventory, panel_id_inventory, &
map_sf => sfc_alt_proxy%vspace%get_whole_dofmap()
map_pid => panel_id_proxy%vspace%get_whole_dofmap()
+ ! Copy data values into "chi_in" fields
+ chi_in_proxy(1)%data = chi_proxy(1)%data
+ chi_in_proxy(2)%data = chi_proxy(2)%data
+ chi_in_proxy(3)%data = chi_proxy(3)%data
+
dim_sf = sfc_alt_proxy%vspace%get_dim_space()
nodes => chi_proxy(1)%vspace%get_nodes()
allocate(basis_sf_on_chi(dim_sf, ndf_sf, ndf_chi))
@@ -328,33 +333,27 @@ subroutine assign_orography_field(chi_inventory, panel_id_inventory, &
end do
! Ensure halo is clean
- call sfc_alt_proxy%halo_exchange( &
- depth=sfc_alt_proxy%get_field_proxy_halo_depth())
+ depth = sfc_alt_proxy%get_field_proxy_halo_depth()
+ if (sfc_alt_proxy%is_dirty(depth=depth)) then
+ call sfc_alt_proxy%halo_exchange(depth=depth)
+ end if
! Call column procedure
- do cell = 1,chi_proxy(1)%vspace%get_ncell()
-
- call ancil_orography(nlayers, &
- chi_proxy(1)%data, &
- chi_proxy(2)%data, &
- chi_proxy(3)%data, &
- panel_id_proxy%data, &
- sfc_alt_proxy%data, &
- domain_surface, domain_height, &
- ndf_chi, undf_chi, &
- map_chi(:,cell), &
- ndf_pid, undf_pid, &
- map_pid(:,cell), &
- ndf_sf, undf_sf, &
- map_sf(:,cell), &
- basis_sf_on_chi)
+ do cell = 1, chi_proxy(1)%vspace%get_ncell()
+ call ancil_orography( &
+ nlayers, chi_proxy(1)%data, chi_proxy(2)%data, chi_proxy(3)%data, &
+ chi_in_proxy(1)%data, chi_in_proxy(2)%data, chi_in_proxy(3)%data, &
+ panel_id_proxy%data, sfc_alt_proxy%data, &
+ domain_surface, domain_height, &
+ ndf_chi, undf_chi, map_chi(:,cell), &
+ ndf_pid, undf_pid, map_pid(:,cell), &
+ ndf_sf, undf_sf, map_sf(:,cell), basis_sf_on_chi &
+ )
end do
deallocate(basis_sf_on_chi)
- end if
-
- nullify(chi, panel_id)
+ end select
end subroutine assign_orography_field
@@ -371,22 +370,27 @@ end subroutine assign_orography_field
!> (x,y,z) form.
!>
!> @param[in] nlayers Number of vertical layers
- !> @param[in] ndf_chi Array size and loop bound for map_chi
- !> @param[in] undf_chi Column coordinates' array size and loop bound
+ !> @param[in] ndf_chi Num DoFs per cell for map_chi
+ !> @param[in] undf_chi Column coordinates' num DoFs this partition
!> @param[in] map_chi Indirection map for coordinate field
- !> @param[in] ndf_pid Array size and loop bound for map_pid
- !> @param[in] undf_pid Panel ID array size and loop bound
+ !> @param[in] ndf_pid Num DoFs per cell for map_pid
+ !> @param[in] undf_pid Panel ID num DoFs this partition
!> @param[in] map_pid Indirection map for panel_id
!> @param[in] domain_surface Physical height of flat domain surface (m)
- !> @param[in] domain_height Physical height of domain top (m)
- !> @param[in,out] chi_1 1st coordinate field in Wchi
- !> @param[in,out] chi_2 2nd coordinate field in Wchi
- !> @param[in,out] chi_3 3rd coordinate field in Wchi
+ !> @param[in] domain_height Physical height of domain top (m)
+ !> @param[in] chi_1_in 1st coordinate field in Wchi (input)
+ !> @param[in] chi_2_in 2nd coordinate field in Wchi (input)
+ !> @param[in] chi_3_in 3rd coordinate field in Wchi (input)
+ !> @param[in,out] chi_1 1st coordinate field in Wchi (output)
+ !> @param[in,out] chi_2 2nd coordinate field in Wchi (output)
+ !> @param[in,out] chi_3 3rd coordinate field in Wchi (output)
!> @param[in] panel_id Field giving the ID for mesh panels
!=============================================================================
- subroutine analytic_orography_spherical_xyz(nlayers, ndf_chi, undf_chi, map_chi, &
- ndf_pid, undf_pid, map_pid, &
- domain_surface, domain_height, &
+ subroutine analytic_orography_spherical_xyz(nlayers, &
+ ndf_chi, undf_chi, map_chi, &
+ ndf_pid, undf_pid, map_pid, &
+ domain_surface, domain_height, &
+ chi_1_in, chi_2_in, chi_3_in, &
chi_1, chi_2, chi_3, panel_id)
implicit none
@@ -397,7 +401,10 @@ subroutine analytic_orography_spherical_xyz(nlayers, ndf_chi, undf_chi, map_chi,
integer(kind=i_def), intent(in) :: map_chi(ndf_chi)
integer(kind=i_def), intent(in) :: map_pid(ndf_pid)
real(kind=r_def), intent(in) :: domain_surface, domain_height
- real(kind=r_def), intent(inout) :: chi_1(undf_chi), chi_2(undf_chi), chi_3(undf_chi)
+ real(kind=r_def), intent(in) :: chi_1_in(undf_chi), chi_2_in(undf_chi)
+ real(kind=r_def), intent(in) :: chi_3_in(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_1(undf_chi), chi_2(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_3(undf_chi)
real(kind=r_def), intent(in) :: panel_id(undf_pid)
! Internal variables
integer(kind=i_def) :: k, df, dfk
@@ -413,9 +420,12 @@ subroutine analytic_orography_spherical_xyz(nlayers, ndf_chi, undf_chi, map_chi,
do k = 0, nlayers-1
dfk = map_chi(df)+k
- ! Model coordinates for spherical domain are in (x,y,z) form so they need
- ! to be converted to (long,lat,r) first
- call xyz2llr(chi_1(dfk), chi_2(dfk), chi_3(dfk), longitude, latitude, r)
+ ! Model coordinates for spherical domain are in (x,y,z) form so they
+ ! need to be converted to (long,lat,r) first
+ call xyz2llr( &
+ chi_1_in(dfk), chi_2_in(dfk), chi_3_in(dfk), &
+ longitude, latitude, r &
+ )
! Calculate surface height for each DoF using selected analytic orography
surface_height = orography_profile%analytic_orography(longitude, latitude)
@@ -426,16 +436,21 @@ subroutine analytic_orography_spherical_xyz(nlayers, ndf_chi, undf_chi, map_chi,
select case(stretching_method)
case(stretching_method_linear)
- chi_3_r = eta2z_linear(eta, domain_surface + surface_height, domain_height)
+ chi_3_r = eta2z_linear( &
+ eta, domain_surface + surface_height, domain_height &
+ )
case default
- chi_3_r = domain_surface + &
- eta2z_smooth(eta, surface_height, domain_depth, stretching_height)
+ chi_3_r = ( &
+ domain_surface + eta2z_smooth( &
+ eta, surface_height, domain_depth, stretching_height &
+ ) &
+ )
end select
! Convert spherical coordinates back to model (x,y,z) form
- call llr2xyz(longitude, latitude, chi_3_r, &
- chi_1(dfk), chi_2(dfk), chi_3(dfk))
-
+ call llr2xyz( &
+ longitude, latitude, chi_3_r, chi_1(dfk), chi_2(dfk), chi_3(dfk) &
+ )
end do
end do
@@ -450,31 +465,29 @@ end subroutine analytic_orography_spherical_xyz
!> cubed sphere (alpha,beta,r) or (lon,lat,r) coordinates.
!>
!> @param[in] nlayers Number of vertical layers
- !> @param[in] ndf_chi Array size and loop bound for map_chi
- !> @param[in] undf_chi Column coordinates' array size and loop bound
+ !> @param[in] ndf_chi Num DoFs per cell for map_chi
+ !> @param[in] undf_chi Column coordinates' num DoFs this partition
!> @param[in] map_chi Indirection map for coordinate field
- !> @param[in] ndf_pid Array size and loop bound for map_pid
- !> @param[in] undf_pid Panel ID array size and loop bound
- !> @param[in] map_pid Indirection map for panel_id
+ !> @param[in] ndf_pid Num DoFs per cell for map_pid
+ !> @param[in] undf_pid Panel ID num DoFs this partition
+ !> @param[in] map_pid Indirection map for panel_id
!> @param[in] domain_surface Physical height of flat domain surface (m)
- !> @param[in] domain_height Physical height of domain top (m)
- !> @param[in,out] chi_1 1st coordinate field in Wchi
- !> @param[in,out] chi_2 2nd coordinate field in Wchi
- !> @param[in,out] chi_3 3rd coordinate field in Wchi
+ !> @param[in] domain_height Physical height of domain top (m)
+ !> @param[in] chi_1_in 1st coordinate field in Wchi (input)
+ !> @param[in] chi_2_in 2nd coordinate field in Wchi (input)
+ !> @param[in] chi_3_in 3rd coordinate field in Wchi (input)
+ !> @param[in,out] chi_1 1st coordinate field in Wchi (output)
+ !> @param[in,out] chi_2 2nd coordinate field in Wchi (output)
+ !> @param[in,out] chi_3 3rd coordinate field in Wchi (output)
!> @param[in] panel_id Field giving the ID for mesh panels
!=============================================================================
- subroutine analytic_orography_spherical_native(nlayers, &
- ndf_chi, &
- undf_chi, &
- map_chi, &
- ndf_pid, &
- undf_pid, &
- map_pid, &
- domain_surface, &
- domain_height, &
- chi_1, &
- chi_2, &
- chi_3, &
+ subroutine analytic_orography_spherical_native(nlayers, &
+ ndf_chi, undf_chi, map_chi, &
+ ndf_pid, undf_pid, map_pid, &
+ domain_surface, &
+ domain_height, &
+ chi_1_in, chi_2_in, chi_3_in, &
+ chi_1, chi_2, chi_3, &
panel_id)
implicit none
@@ -485,7 +498,10 @@ subroutine analytic_orography_spherical_native(nlayers, &
integer(kind=i_def), intent(in) :: map_chi(ndf_chi)
integer(kind=i_def), intent(in) :: map_pid(ndf_pid)
real(kind=r_def), intent(in) :: domain_surface, domain_height
- real(kind=r_def), intent(inout) :: chi_1(undf_chi), chi_2(undf_chi), chi_3(undf_chi)
+ real(kind=r_def), intent(in) :: chi_1_in(undf_chi), chi_2_in(undf_chi)
+ real(kind=r_def), intent(in) :: chi_3_in(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_1(undf_chi), chi_2(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_3(undf_chi)
real(kind=r_def), intent(in) :: panel_id(undf_pid)
! Internal variables
integer(kind=i_def) :: k, df, dfk, ipanel
@@ -504,22 +520,26 @@ subroutine analytic_orography_spherical_native(nlayers, &
! Model coordinates need to be converted to (long,lat,r) for reading
! analytic orography
- radius = chi_3(dfk) + domain_surface
- call chi2llr(chi_1(dfk), chi_2(dfk), radius, &
- ipanel, longitude, latitude, dummy_radius)
+ radius = chi_3_in(dfk) + domain_surface
+ call chi2llr( &
+ chi_1_in(dfk), chi_2_in(dfk), radius, ipanel, &
+ longitude, latitude, dummy_radius &
+ )
! Calculate surface height for each DoF using selected analytic orography
surface_height = orography_profile%analytic_orography(longitude, latitude)
! Calculate nondimensional coordinate from current height coordinate
! (chi_3) with flat domain_surface
- eta = z2eta_linear(chi_3(dfk), 0.0_r_def, domain_depth)
+ eta = z2eta_linear(chi_3_in(dfk), 0.0_r_def, domain_depth)
select case(stretching_method)
case(stretching_method_linear)
chi_3(dfk) = eta2z_linear(eta, surface_height, domain_depth)
case default
- chi_3(dfk) = eta2z_smooth(eta, surface_height, domain_depth, stretching_height)
+ chi_3(dfk) = eta2z_smooth( &
+ eta, surface_height, domain_depth, stretching_height &
+ )
end select
end do
@@ -537,23 +557,30 @@ end subroutine analytic_orography_spherical_native
!> coordinate.
!>
!> @param[in] nlayers Number of vertical layers
- !> @param[in] ndf_chi Array size and loop bound for map_chi
- !> @param[in] undf_chi Column coordinates' array size and loop bound
+ !> @param[in] ndf_chi Num DoFs per cell for map_chi
+ !> @param[in] undf_chi Column coordinates' num DoFs this partition
!> @param[in] map_chi Indirection map for coordinate field
- !> @param[in] ndf_pid Array size and loop bound for map_pid
- !> @param[in] undf_pid Panel ID array size and loop bound
+ !> @param[in] ndf_pid Num DoFs per cell for map_pid
+ !> @param[in] undf_pid Panel ID num DoFs this partition
!> @param[in] map_pid Indirection map for panel_id
!> @param[in] domain_surface Physical height of flat domain surface (m)
- !> @param[in] domain_height Physical height of domain top (m)
- !> @param[in,out] chi_1 1st coordinate field in Wchi
- !> @param[in,out] chi_2 2nd coordinate field in Wchi
- !> @param[in,out] chi_3 3rd coordinate field in Wchi
+ !> @param[in] domain_height Physical height of domain top (m)
+ !> @param[in] chi_1_in 1st coordinate field in Wchi (input)
+ !> @param[in] chi_2_in 2nd coordinate field in Wchi (input)
+ !> @param[in] chi_3_in 3rd coordinate field in Wchi (input)
+ !> @param[in,out] chi_1 1st coordinate field in Wchi (output)
+ !> @param[in,out] chi_2 2nd coordinate field in Wchi (output)
+ !> @param[in,out] chi_3 3rd coordinate field in Wchi (output)
!> @param[in] panel_id Field giving the ID for mesh panels
!=============================================================================
- subroutine analytic_orography_cartesian(nlayers, ndf_chi, undf_chi, map_chi, &
+ subroutine analytic_orography_cartesian(nlayers, &
+ ndf_chi, undf_chi, map_chi, &
ndf_pid, undf_pid, map_pid, &
- domain_surface, domain_height, &
- chi_1, chi_2, chi_3, panel_id)
+ domain_surface, &
+ domain_height, &
+ chi_1_in, chi_2_in, chi_3_in, &
+ chi_1, chi_2, chi_3, &
+ panel_id)
implicit none
@@ -563,7 +590,10 @@ subroutine analytic_orography_cartesian(nlayers, ndf_chi, undf_chi, map_chi, &
integer(kind=i_def), intent(in) :: map_chi(ndf_chi)
integer(kind=i_def), intent(in) :: map_pid(ndf_pid)
real(kind=r_def), intent(in) :: domain_surface, domain_height
- real(kind=r_def), intent(inout) :: chi_1(undf_chi), chi_2(undf_chi), chi_3(undf_chi)
+ real(kind=r_def), intent(in) :: chi_1_in(undf_chi), chi_2_in(undf_chi)
+ real(kind=r_def), intent(in) :: chi_3_in(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_1(undf_chi), chi_2(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_3(undf_chi)
real(kind=r_def), intent(in) :: panel_id(undf_pid)
! Internal variables
@@ -578,19 +608,24 @@ subroutine analytic_orography_cartesian(nlayers, ndf_chi, undf_chi, map_chi, &
do k = 0, nlayers-1
dfk = map_chi(df)+k
- ! Calculate surface height for each DoF using selected analytic orography
- surface_height = orography_profile%analytic_orography(chi_1(dfk), chi_2(dfk))
+ ! Calculate surf height for each DoF using selected analytic orography
+ surface_height = orography_profile%analytic_orography( &
+ chi_1_in(dfk), chi_2_in(dfk) &
+ )
! Calculate nondimensional coordinate from current height coordinate
! (chi_3) with flat domain_surface
- eta = z2eta_linear(chi_3(dfk), domain_surface, domain_height)
+ eta = z2eta_linear(chi_3_in(dfk), domain_surface, domain_height)
select case(stretching_method)
case(stretching_method_linear)
- chi_3(dfk) = eta2z_linear(eta, domain_surface + surface_height, domain_height)
+ chi_3(dfk) = eta2z_linear( &
+ eta, domain_surface + surface_height, domain_height &
+ )
case default
- chi_3(dfk) = domain_surface + &
- eta2z_smooth(eta, surface_height, domain_depth, stretching_height)
+ chi_3(dfk) = domain_surface + eta2z_smooth( &
+ eta, surface_height, domain_depth, stretching_height &
+ )
end select
end do
end do
@@ -599,61 +634,62 @@ subroutine analytic_orography_cartesian(nlayers, ndf_chi, undf_chi, map_chi, &
end subroutine analytic_orography_cartesian
!=============================================================================
- !> @brief Modify vertical coordinate based on the input surface_altitude field.
- !> For spherical geometries with a Cartesian coordinate system.
- !> Note that this routine assumes the chi coordinates in a column are
- !> associated with a flat domain on input and then modified on output.
- !> Therefore it will not operate correctly with a horizontally continuous chi
- !> field.
- !>
- !> @param[in] nlayers Number of vertical layers
- !> @param[in,out] chi_1 1st coordinate field in Wchi
- !> @param[in,out] chi_2 2nd coordinate field in Wchi
- !> @param[in,out] chi_3 3rd coordinate field in Wchi
- !> @param[in] panel_id Field giving the ID for mesh panels
+ !> @brief Modify vertical coordinate based on input surface_altitude field.
+ !! For spherical geometries with a Cartesian coordinate system.
+ !> @param[in] nlayers Number of vertical layers
+ !> @param[in,out] chi_1 1st coordinate field in Wchi (output)
+ !> @param[in,out] chi_2 2nd coordinate field in Wchi (output)
+ !> @param[in,out] chi_3 3rd coordinate field in Wchi (output)#
+ !> @param[in] chi_1_in 1st coordinate field in Wchi (input)
+ !> @param[in] chi_2_in 2nd coordinate field in Wchi (input)
+ !> @param[in] chi_3_in 3rd coordinate field in Wchi (input)
+ !> @param[in] panel_id Field giving the ID for mesh panels
!> @param[in] surface_altitude Surface altitude field data
- !> @param[in] domain_surface Physical height of flat domain surface (m)
- !> @param[in] domain_height Physical height of domain top (m)
- !> @param[in] ndf_chi Array size and loop bound for map_chi
- !> @param[in] undf_chi Column coordinates' array size and loop bound
- !> @param[in] map_chi Indirection map for coordinate field
- !> @param[in] ndf_pid Array size and loop bound for map_pid
- !> @param[in] undf_pid Panel ID array size and loop bound
- !> @param[in] map_pid Indirection map for pid
- !> @param[in] ndf Array size and loop bound for surface altitude field
- !> @param[in] undf Total number of dofs for surface altitude field
- !> @param[in] map Indirection map for surface altitude field
- !> @param[in] basis Basis functions for surface altitude field
+ !> @param[in] domain_surface Physical height of flat domain surface (m)
+ !> @param[in] domain_height Physical height of domain top (m)
+ !> @param[in] ndf_chi Num DoFs per cell for map_chi
+ !> @param[in] undf_chi Column coords' num DoFs this partition
+ !> @param[in] map_chi Indirection map for coordinate field
+ !> @param[in] ndf_pid Num DoFs per cell for map_pid
+ !> @param[in] undf_pid Panel ID num DoFs this partition
+ !> @param[in] map_pid Indirection map for pid
+ !> @param[in] ndf Num DoFs per cell for surface altitude
+ !> @param[in] undf Num DoFs this partition for surf altitude
+ !> @param[in] map Indirection map for surface altitude
+ !> @param[in] basis Basis functions for surface altitude
!=============================================================================
- subroutine ancil_orography_spherical_xyz(nlayers, &
- chi_1, chi_2, chi_3, &
- panel_id, &
- surface_altitude, &
- domain_surface, domain_height, &
- ndf_chi, undf_chi, &
- map_chi, &
- ndf_pid, undf_pid, &
- map_pid, &
- ndf, undf, &
- map, basis &
+ subroutine ancil_orography_spherical_xyz(nlayers, &
+ chi_1, chi_2, chi_3, &
+ chi_1_in, chi_2_in, chi_3_in, &
+ panel_id, &
+ surface_altitude, &
+ domain_surface, domain_height, &
+ ndf_chi, undf_chi, &
+ map_chi, &
+ ndf_pid, undf_pid, &
+ map_pid, &
+ ndf, undf, &
+ map, basis &
)
implicit none
! Arguments
- integer(kind=i_def), intent(in) :: nlayers, ndf, ndf_chi, ndf_pid
- integer(kind=i_def), intent(in) :: undf, undf_chi, undf_pid
-
- integer(kind=i_def), dimension(ndf), intent(in) :: map
- integer(kind=i_def), dimension(ndf_chi), intent(in) :: map_chi
- integer(kind=i_def), dimension(ndf_pid), intent(in) :: map_pid
-
- real(kind=r_def), intent(in), dimension(ndf, ndf_chi) :: basis
-
- real(kind=r_def), dimension(undf_chi), intent(inout) :: chi_1, chi_2, chi_3
- real(kind=r_def), dimension(undf_pid), intent(in) :: panel_id
- real(kind=r_def), dimension(undf), intent(in) :: surface_altitude
- real(kind=r_def), intent(in) :: domain_surface, domain_height
+ integer(kind=i_def), intent(in) :: nlayers, ndf, ndf_chi, ndf_pid
+ integer(kind=i_def), intent(in) :: undf, undf_chi, undf_pid
+ integer(kind=i_def), intent(in) :: map(ndf)
+ integer(kind=i_def), intent(in) :: map_chi(ndf_chi)
+ integer(kind=i_def), intent(in) :: map_pid(ndf_pid)
+ real(kind=r_def), intent(in) :: basis(ndf, ndf_chi)
+ real(kind=r_def), intent(inout) :: chi_1(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_2(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_3(undf_chi)
+ real(kind=r_def), intent(in) :: chi_1_in(undf_chi)
+ real(kind=r_def), intent(in) :: chi_2_in(undf_chi)
+ real(kind=r_def), intent(in) :: chi_3_in(undf_chi)
+ real(kind=r_def), intent(in) :: panel_id(undf_pid)
+ real(kind=r_def), intent(in) :: surface_altitude(undf)
+ real(kind=r_def), intent(in) :: domain_surface, domain_height
! Internal variables
integer(kind=i_def) :: k, df, dfchi, dfk
@@ -667,7 +703,8 @@ subroutine ancil_orography_spherical_xyz(nlayers, &
surface_height(:) = 0.0_r_def
do dfchi = 1, ndf_chi
do df = 1, ndf
- surface_height(dfchi) = surface_height(dfchi) + surface_altitude(map(df))*basis(df,dfchi)
+ surface_height(dfchi) = surface_height(dfchi) &
+ + surface_altitude(map(df))*basis(df, dfchi)
end do
end do
@@ -678,7 +715,9 @@ subroutine ancil_orography_spherical_xyz(nlayers, &
! Model coordinates for spherical domain are in (x,y,z) form so they need
! to be converted to (long,lat,r) first
- call xyz2llr(chi_1(dfk), chi_2(dfk), chi_3(dfk), longitude, latitude, r)
+ call xyz2llr( &
+ chi_1_in(dfk), chi_2_in(dfk), chi_3_in(dfk), longitude, latitude, r &
+ )
! Calculate nondimensional coordinate from current flat height coordinate
! (chi_3) with flat domain_surface
@@ -688,77 +727,82 @@ subroutine ancil_orography_spherical_xyz(nlayers, &
! nondimensional coordinate eta and surface_height
select case(stretching_method)
case(stretching_method_linear)
- chi_3_r = eta2z_linear(eta, domain_surface+surface_height(df), domain_height)
+ chi_3_r = eta2z_linear( &
+ eta, domain_surface+surface_height(df), domain_height &
+ )
case default
- chi_3_r = domain_surface + &
- eta2z_smooth(eta, surface_height(df), domain_depth, stretching_height)
+ chi_3_r = domain_surface + eta2z_smooth( &
+ eta, surface_height(df), domain_depth, stretching_height &
+ )
end select
! Convert spherical coordinates back to model (x,y,z) form
- call llr2xyz(longitude, latitude, chi_3_r, &
- chi_1(dfk), chi_2(dfk), chi_3(dfk))
+ call llr2xyz( &
+ longitude, latitude, chi_3_r, chi_1(dfk), chi_2(dfk), chi_3(dfk) &
+ )
end do
end do
end subroutine ancil_orography_spherical_xyz
!=============================================================================
- !> @brief Modify vertical coordinate based on the input surface_altitude field.
- !> For spherical geometries with (alpha,beta,r) or (lon,lat,r)
- !> coordinate systems.
- !> Note that this routine assumes the chi coordinates in a column are
- !> associated with a flat domain on input and then modified on output.
- !> Therefore it will not operate correctly with a horizontally continuous chi
- !> field.
- !>
- !> @param[in] nlayers Number of vertical layers
- !> @param[in,out] chi_1 1st coordinate field in Wchi
- !> @param[in,out] chi_2 2nd coordinate field in Wchi
- !> @param[in,out] chi_3 3rd coordinate field in Wchi
- !> @param[in] panel_id Field giving the ID for mesh panels
+ !> @brief Modify vertical coordinate based on input surface_altitude field.
+ !! For spherical geometries with (alpha,beta,r) or (lon,lat,r)
+ !! coordinate systems.
+ !> @param[in] nlayers Number of vertical layers
+ !> @param[in,out] chi_1 1st coordinate field in Wchi (output)
+ !> @param[in,out] chi_2 2nd coordinate field in Wchi (output)
+ !> @param[in,out] chi_3 3rd coordinate field in Wchi (output)#
+ !> @param[in] chi_1_in 1st coordinate field in Wchi (input)
+ !> @param[in] chi_2_in 2nd coordinate field in Wchi (input)
+ !> @param[in] chi_3_in 3rd coordinate field in Wchi (input)
+ !> @param[in] panel_id Field giving the ID for mesh panels
!> @param[in] surface_altitude Surface altitude field data
- !> @param[in] domain_surface Physical height of flat domain surface (m)
- !> @param[in] domain_height Physical height of domain top (m)
- !> @param[in] ndf_chi Array size and loop bound for map_chi
- !> @param[in] undf_chi Column coordinates' array size and loop bound
- !> @param[in] map_chi Indirection map for coordinate field
- !> @param[in] ndf_pid Array size and loop bound for map_pid
- !> @param[in] undf_pid Panel ID array size and loop bound
- !> @param[in] map_pid Indirection map for panel ID
- !> @param[in] ndf Array size and loop bound for surface altitude field
- !> @param[in] undf Total number of dofs for surface altitude field
- !> @param[in] map Indirection map for surface altitude field
- !> @param[in] basis Basis functions for surface altitude field
+ !> @param[in] domain_surface Physical height of flat domain surface (m)
+ !> @param[in] domain_height Physical height of domain top (m)
+ !> @param[in] ndf_chi Num DoFs per cell for map_chi
+ !> @param[in] undf_chi Column coords' num DoFs this partition
+ !> @param[in] map_chi Indirection map for coordinate field
+ !> @param[in] ndf_pid Num DoFs per cell for map_pid
+ !> @param[in] undf_pid Panel ID num DoFs this partition
+ !> @param[in] map_pid Indirection map for pid
+ !> @param[in] ndf Num DoFs per cell for surface altitude
+ !> @param[in] undf Num DoFs this partition for surf altitude
+ !> @param[in] map Indirection map for surface altitude
+ !> @param[in] basis Basis functions for surface altitude
!=============================================================================
- subroutine ancil_orography_spherical_sph(nlayers, &
- chi_1, chi_2, chi_3, &
- panel_id, &
- surface_altitude, &
- domain_surface, domain_height, &
- ndf_chi, undf_chi, &
- map_chi, &
- ndf_pid, undf_pid, &
- map_pid, &
- ndf, undf, &
- map, basis &
+ subroutine ancil_orography_spherical_sph(nlayers, &
+ chi_1, chi_2, chi_3, &
+ chi_1_in, chi_2_in, chi_3_in, &
+ panel_id, &
+ surface_altitude, &
+ domain_surface, domain_height, &
+ ndf_chi, undf_chi, &
+ map_chi, &
+ ndf_pid, undf_pid, &
+ map_pid, &
+ ndf, undf, &
+ map, basis &
)
implicit none
! Arguments
- integer(kind=i_def), intent(in) :: nlayers, ndf, ndf_chi, ndf_pid
- integer(kind=i_def), intent(in) :: undf, undf_chi, undf_pid
-
- integer(kind=i_def), dimension(ndf), intent(in) :: map
- integer(kind=i_def), dimension(ndf_chi), intent(in) :: map_chi
- integer(kind=i_def), dimension(ndf_pid), intent(in) :: map_pid
-
- real(kind=r_def), intent(in), dimension(ndf, ndf_chi) :: basis
-
- real(kind=r_def), dimension(undf_chi), intent(inout) :: chi_1, chi_2, chi_3
- real(kind=r_def), dimension(undf_pid), intent(in) :: panel_id
- real(kind=r_def), dimension(undf), intent(in) :: surface_altitude
- real(kind=r_def), intent(in) :: domain_surface, domain_height
+ integer(kind=i_def), intent(in) :: nlayers, ndf, ndf_chi, ndf_pid
+ integer(kind=i_def), intent(in) :: undf, undf_chi, undf_pid
+ integer(kind=i_def), intent(in) :: map(ndf)
+ integer(kind=i_def), intent(in) :: map_chi(ndf_chi)
+ integer(kind=i_def), intent(in) :: map_pid(ndf_pid)
+ real(kind=r_def), intent(in) :: basis(ndf, ndf_chi)
+ real(kind=r_def), intent(inout) :: chi_1(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_2(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_3(undf_chi)
+ real(kind=r_def), intent(in) :: chi_1_in(undf_chi)
+ real(kind=r_def), intent(in) :: chi_2_in(undf_chi)
+ real(kind=r_def), intent(in) :: chi_3_in(undf_chi)
+ real(kind=r_def), intent(in) :: panel_id(undf_pid)
+ real(kind=r_def), intent(in) :: surface_altitude(undf)
+ real(kind=r_def), intent(in) :: domain_surface, domain_height
! Internal variables
integer(kind=i_def) :: k, df, dfchi, dfk
@@ -771,7 +815,8 @@ subroutine ancil_orography_spherical_sph(nlayers, &
surface_height(:) = 0.0_r_def
do dfchi = 1, ndf_chi
do df = 1, ndf
- surface_height(dfchi) = surface_height(dfchi) + surface_altitude(map(df))*basis(df,dfchi)
+ surface_height(dfchi) = surface_height(dfchi) &
+ + surface_altitude(map(df))*basis(df,dfchi)
end do
end do
@@ -782,7 +827,7 @@ subroutine ancil_orography_spherical_sph(nlayers, &
! Calculate nondimensional coordinate from current flat height coordinate
! (chi_3) with flat domain_surface
- eta = z2eta_linear(chi_3(dfk), 0.0_r_def, domain_depth)
+ eta = z2eta_linear(chi_3_in(dfk), 0.0_r_def, domain_depth)
! Calculate new height coordinate from its nondimensional coordinate
! eta and surface_height
@@ -790,7 +835,9 @@ subroutine ancil_orography_spherical_sph(nlayers, &
case(stretching_method_linear)
chi_3(dfk) = eta2z_linear(eta, surface_height(df), domain_depth)
case default
- chi_3(dfk) = eta2z_smooth(eta, surface_height(df), domain_depth, stretching_height)
+ chi_3(dfk) = eta2z_smooth( &
+ eta, surface_height(df), domain_depth, stretching_height &
+ )
end select
end do
end do
@@ -798,61 +845,62 @@ subroutine ancil_orography_spherical_sph(nlayers, &
end subroutine ancil_orography_spherical_sph
!=============================================================================
- !> @brief Modify vertical coordinate based on the input surface_altitude field.
- !> For Cartesian geometries.
- !> Note that this routine assumes the chi coordinates in a column are
- !> associated with a flat domain on input and then modified on output.
- !> Therefore it will not operate correctly with a horizontally continuous chi
- !> field.
- !>
- !> @param[in] nlayers Number of vertical layers
- !> @param[in,out] chi_1 1st coordinate field in Wchi
- !> @param[in,out] chi_2 2nd coordinate field in Wchi
- !> @param[in,out] chi_3 3rd coordinate field in Wchi
- !> @param[in] panel_id Field giving the ID for mesh panels
+ !> @brief Modify vertical coordinate based on input surface_altitude field.
+ !! For Cartesian geometries.
+ !> @param[in] nlayers Number of vertical layers
+ !> @param[in,out] chi_1 1st coordinate field in Wchi (output)
+ !> @param[in,out] chi_2 2nd coordinate field in Wchi (output)
+ !> @param[in,out] chi_3 3rd coordinate field in Wchi (output)
+ !> @param[in] chi_1_in 1st coordinate field in Wchi (input)
+ !> @param[in] chi_2_in 2nd coordinate field in Wchi (input)
+ !> @param[in] chi_3_in 3rd coordinate field in Wchi (input)
+ !> @param[in] panel_id Field giving the ID for mesh panels
!> @param[in] surface_altitude Surface altitude field data
- !> @param[in] domain_surface Physical height of flat domain surface (m)
- !> @param[in] domain_height Physical height of domain top (m)
- !> @param[in] ndf_chi Array size and loop bound for map_chi
- !> @param[in] undf_chi Column coordinates' array size and loop bound
- !> @param[in] map_chi Indirection map for coordinate field
- !> @param[in] ndf_pid Array size and loop bound for map_pid
- !> @param[in] undf_pid Panel ID array size and loop bound
- !> @param[in] map_pid Indirection map for panel_id
- !> @param[in] ndf Array size and loop bound for surface altitude field
- !> @param[in] undf Total number of dofs for surface altitude field
- !> @param[in] map Indirection map for surface altitude field
- !> @param[in] basis Basis functions for surface altitude field
+ !> @param[in] domain_surface Physical height of flat domain surface (m)
+ !> @param[in] domain_height Physical height of domain top (m)
+ !> @param[in] ndf_chi Num DoFs per cell for map_chi
+ !> @param[in] undf_chi Column coords' num DoFs this partition
+ !> @param[in] map_chi Indirection map for coordinate field
+ !> @param[in] ndf_pid Num DoFs per cell for map_pid
+ !> @param[in] undf_pid Panel ID num DoFs this partition
+ !> @param[in] map_pid Indirection map for pid
+ !> @param[in] ndf Num DoFs per cell for surface altitude
+ !> @param[in] undf Num DoFs this partition for surf altitude
+ !> @param[in] map Indirection map for surface altitude
+ !> @param[in] basis Basis functions for surface altitude
!=============================================================================
- subroutine ancil_orography_cartesian(nlayers, &
- chi_1, chi_2, chi_3, &
- panel_id, &
- surface_altitude, &
- domain_surface, domain_height, &
- ndf_chi, undf_chi, &
- map_chi, &
- ndf_pid, undf_pid, &
- map_pid, &
- ndf, undf, &
- map, basis &
+ subroutine ancil_orography_cartesian(nlayers, &
+ chi_1, chi_2, chi_3, &
+ chi_1_in, chi_2_in, chi_3_in, &
+ panel_id, &
+ surface_altitude, &
+ domain_surface, domain_height, &
+ ndf_chi, undf_chi, &
+ map_chi, &
+ ndf_pid, undf_pid, &
+ map_pid, &
+ ndf, undf, &
+ map, basis &
)
implicit none
! Arguments
- integer(kind=i_def), intent(in) :: nlayers, ndf, ndf_chi, ndf_pid
- integer(kind=i_def), intent(in) :: undf, undf_chi, undf_pid
-
- integer(kind=i_def), dimension(ndf), intent(in) :: map
- integer(kind=i_def), dimension(ndf_chi), intent(in) :: map_chi
- integer(kind=i_def), dimension(ndf_pid), intent(in) :: map_pid
-
- real(kind=r_def), intent(in), dimension(ndf, ndf_chi) :: basis
-
- real(kind=r_def), dimension(undf_chi), intent(inout) :: chi_1, chi_2, chi_3
- real(kind=r_def), dimension(undf_pid), intent(in) :: panel_id
- real(kind=r_def), dimension(undf), intent(in) :: surface_altitude
- real(kind=r_def), intent(in) :: domain_surface, domain_height
+ integer(kind=i_def), intent(in) :: nlayers, ndf, ndf_chi, ndf_pid
+ integer(kind=i_def), intent(in) :: undf, undf_chi, undf_pid
+ integer(kind=i_def), intent(in) :: map(ndf)
+ integer(kind=i_def), intent(in) :: map_chi(ndf_chi)
+ integer(kind=i_def), intent(in) :: map_pid(ndf_pid)
+ real(kind=r_def), intent(in) :: basis(ndf, ndf_chi)
+ real(kind=r_def), intent(inout) :: chi_1(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_2(undf_chi)
+ real(kind=r_def), intent(inout) :: chi_3(undf_chi)
+ real(kind=r_def), intent(in) :: chi_1_in(undf_chi)
+ real(kind=r_def), intent(in) :: chi_2_in(undf_chi)
+ real(kind=r_def), intent(in) :: chi_3_in(undf_chi)
+ real(kind=r_def), intent(in) :: panel_id(undf_pid)
+ real(kind=r_def), intent(in) :: surface_altitude(undf)
+ real(kind=r_def), intent(in) :: domain_surface, domain_height
! Internal variables
integer(kind=i_def) :: k, df, dfchi, dfk
@@ -865,7 +913,8 @@ subroutine ancil_orography_cartesian(nlayers, &
surface_height(:) = 0.0_r_def
do dfchi = 1, ndf_chi
do df = 1, ndf
- surface_height(dfchi) = surface_height(dfchi) + surface_altitude(map(df))*basis(df,dfchi)
+ surface_height(dfchi) = surface_height(dfchi) &
+ + surface_altitude(map(df))*basis(df,dfchi)
end do
end do
@@ -876,16 +925,18 @@ subroutine ancil_orography_cartesian(nlayers, &
! Calculate nondimensional coordinate from current height coordinate
! (chi_3) with flat domain_surface
- eta = z2eta_linear(chi_3(dfk), domain_surface, domain_height)
+ eta = z2eta_linear(chi_3_in(dfk), domain_surface, domain_height)
! Calculate new height coordinate from its nondimensional coordinate
! eta and surface_height
select case(stretching_method)
case(stretching_method_linear)
- chi_3(dfk) = eta2z_linear(eta, domain_surface+surface_height(df), domain_height)
+ chi_3(dfk) = eta2z_linear( &
+ eta, domain_surface+surface_height(df), domain_height &
+ )
case default
- chi_3(dfk) = domain_surface + &
- eta2z_smooth(eta, surface_height(df), domain_depth, stretching_height)
+ chi_3(dfk) = domain_surface + eta2z_smooth( &
+ eta, surface_height(df), domain_depth, stretching_height)
end select
end do
end do
diff --git a/science/gungho/unit-test/kernel/core_dynamics/compute_coriolis_matrix_kernel_mod_test.pf b/science/gungho/unit-test/kernel/core_dynamics/compute_coriolis_matrix_kernel_mod_test.pf
index 658e676fd..1d8a4cea2 100644
--- a/science/gungho/unit-test/kernel/core_dynamics/compute_coriolis_matrix_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/core_dynamics/compute_coriolis_matrix_kernel_mod_test.pf
@@ -43,7 +43,7 @@ contains
use base_mesh_config_mod, only : geometry_planar, &
topology_fully_periodic
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use formulation_config_mod, only : eos_method_sampled, &
moisture_formulation_dry
use feign_config_mod, only : feign_base_mesh_config, &
@@ -70,6 +70,8 @@ contains
element_order_v=0_i_def, &
rehabilitate=.true., &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
vorticity_in_w1=.false. )
diff --git a/science/gungho/unit-test/kernel/core_dynamics/compute_dl_matrix_kernel_mod_test.pf b/science/gungho/unit-test/kernel/core_dynamics/compute_dl_matrix_kernel_mod_test.pf
index 348fb1efa..ad2da74af 100644
--- a/science/gungho/unit-test/kernel/core_dynamics/compute_dl_matrix_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/core_dynamics/compute_dl_matrix_kernel_mod_test.pf
@@ -45,7 +45,7 @@ contains
runge_kutta_method_ssp3
use extrusion_config_mod, only: method_uniform, stretching_method_linear
use finite_element_config_mod, only: cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use sci_chi_transform_mod, only: init_chi_transforms
implicit none
@@ -61,6 +61,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/core_dynamics/compute_vert_coriolis_matrix_kernel_mod_test.pf b/science/gungho/unit-test/kernel/core_dynamics/compute_vert_coriolis_matrix_kernel_mod_test.pf
index dc3e55e0d..802fa0bdd 100644
--- a/science/gungho/unit-test/kernel/core_dynamics/compute_vert_coriolis_matrix_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/core_dynamics/compute_vert_coriolis_matrix_kernel_mod_test.pf
@@ -48,7 +48,7 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_native
+ coord_system_native, coord_space_wchi
use formulation_config_mod, only : eos_method_sampled, &
moisture_formulation_dry
use feign_config_mod, only : feign_base_mesh_config, &
@@ -86,6 +86,8 @@ contains
element_order_v=0_i_def, &
rehabilitate=.true., &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_native, &
vorticity_in_w1=.false. &
)
diff --git a/science/gungho/unit-test/kernel/core_dynamics/kinetic_energy_gradient_kernel_mod_test.pf b/science/gungho/unit-test/kernel/core_dynamics/kinetic_energy_gradient_kernel_mod_test.pf
index aa9b4b51b..722dd7814 100644
--- a/science/gungho/unit-test/kernel/core_dynamics/kinetic_energy_gradient_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/core_dynamics/kinetic_energy_gradient_kernel_mod_test.pf
@@ -50,7 +50,7 @@ contains
subroutine setUp( this )
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use formulation_config_mod, only : eos_method_sampled, &
moisture_formulation_dry
use feign_config_mod, only : feign_finite_element_config, &
@@ -64,6 +64,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/core_dynamics/lagged_orog_operator_kernel_mod_test.pf b/science/gungho/unit-test/kernel/core_dynamics/lagged_orog_operator_kernel_mod_test.pf
index 8e4e36223..ccf6f45c6 100644
--- a/science/gungho/unit-test/kernel/core_dynamics/lagged_orog_operator_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/core_dynamics/lagged_orog_operator_kernel_mod_test.pf
@@ -33,7 +33,7 @@ contains
subroutine setUp( this )
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_finite_element_config
implicit none
@@ -43,6 +43,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=1_i_def, &
element_order_v=1_i_def, &
diff --git a/science/gungho/unit-test/kernel/core_dynamics/project_eos_pressure_kernel_mod_test.pf b/science/gungho/unit-test/kernel/core_dynamics/project_eos_pressure_kernel_mod_test.pf
index 7dbe255e1..60153cc5b 100644
--- a/science/gungho/unit-test/kernel/core_dynamics/project_eos_pressure_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/core_dynamics/project_eos_pressure_kernel_mod_test.pf
@@ -47,7 +47,7 @@ contains
feign_planet_config, &
feign_finite_element_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use initial_temperature_config_mod, &
only : perturb_none
use sci_chi_transform_mod, only : init_chi_transforms
@@ -69,6 +69,8 @@ contains
eta_values=(/0.5_r_def/) )
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
rehabilitate=.true., &
diff --git a/science/gungho/unit-test/kernel/core_dynamics/project_eos_rho_kernel_mod_test.pf b/science/gungho/unit-test/kernel/core_dynamics/project_eos_rho_kernel_mod_test.pf
index f08a05fd7..46eef8ca7 100644
--- a/science/gungho/unit-test/kernel/core_dynamics/project_eos_rho_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/core_dynamics/project_eos_rho_kernel_mod_test.pf
@@ -58,7 +58,7 @@ contains
use base_mesh_config_mod, only : geometry_planar, &
topology_fully_periodic
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_base_mesh_config, &
feign_initial_temperature_config, &
feign_finite_element_config
@@ -78,6 +78,8 @@ contains
fplane=.false., f_lat_deg=0.0_r_def )
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/core_dynamics/rhs_project_eos_kernel_mod_test.pf b/science/gungho/unit-test/kernel/core_dynamics/rhs_project_eos_kernel_mod_test.pf
index 47193101b..66ae3a874 100644
--- a/science/gungho/unit-test/kernel/core_dynamics/rhs_project_eos_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/core_dynamics/rhs_project_eos_kernel_mod_test.pf
@@ -57,7 +57,7 @@ contains
use base_mesh_config_mod, only : geometry_planar, &
topology_fully_periodic
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_base_mesh_config, &
feign_initial_temperature_config, &
feign_planet_config, &
@@ -78,6 +78,8 @@ contains
fplane=.false., f_lat_deg=0.0_r_def )
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
rehabilitate=.true., &
diff --git a/science/gungho/unit-test/kernel/core_dynamics/vorticity_rhs_kernel_mod_test.pf b/science/gungho/unit-test/kernel/core_dynamics/vorticity_rhs_kernel_mod_test.pf
index f5751b76d..0317f811f 100644
--- a/science/gungho/unit-test/kernel/core_dynamics/vorticity_rhs_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/core_dynamics/vorticity_rhs_kernel_mod_test.pf
@@ -31,7 +31,7 @@ contains
subroutine setUp( this )
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_finite_element_config
use sci_chi_transform_mod, only : init_chi_transforms
@@ -42,6 +42,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/diagnostics/compute_energetics_kernel_mod_test.pf b/science/gungho/unit-test/kernel/diagnostics/compute_energetics_kernel_mod_test.pf
index e9e92bf81..29a50f04f 100644
--- a/science/gungho/unit-test/kernel/diagnostics/compute_energetics_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/diagnostics/compute_energetics_kernel_mod_test.pf
@@ -57,7 +57,7 @@ contains
subroutine setUp( this )
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_finite_element_config
use sci_chi_transform_mod, only : init_chi_transforms
@@ -68,6 +68,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/diagnostics/compute_entropy_kernel_mod_test.pf b/science/gungho/unit-test/kernel/diagnostics/compute_entropy_kernel_mod_test.pf
index 6e4dd39b0..e45c95794 100644
--- a/science/gungho/unit-test/kernel/diagnostics/compute_entropy_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/diagnostics/compute_entropy_kernel_mod_test.pf
@@ -46,7 +46,7 @@ contains
subroutine setUp( this )
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_finite_element_config
use sci_chi_transform_mod, only : init_chi_transforms
@@ -57,6 +57,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/diagnostics/compute_moist_mass_kernel_mod_test.pf b/science/gungho/unit-test/kernel/diagnostics/compute_moist_mass_kernel_mod_test.pf
index 63133246b..a1c76a750 100644
--- a/science/gungho/unit-test/kernel/diagnostics/compute_moist_mass_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/diagnostics/compute_moist_mass_kernel_mod_test.pf
@@ -50,7 +50,7 @@ contains
subroutine setUp( this )
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_finite_element_config
use sci_chi_transform_mod, only : init_chi_transforms
@@ -61,6 +61,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/diagnostics/compute_total_aam_kernel_mod_test.pf b/science/gungho/unit-test/kernel/diagnostics/compute_total_aam_kernel_mod_test.pf
index 851d06ebc..38206a930 100644
--- a/science/gungho/unit-test/kernel/diagnostics/compute_total_aam_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/diagnostics/compute_total_aam_kernel_mod_test.pf
@@ -46,7 +46,7 @@ contains
stretching_method_linear
use sci_chi_transform_mod, only : init_chi_transforms
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_extrusion_config, &
feign_finite_element_config, &
feign_base_mesh_config, &
@@ -71,6 +71,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/diagnostics/compute_total_pv_kernel_mod_test.pf b/science/gungho/unit-test/kernel/diagnostics/compute_total_pv_kernel_mod_test.pf
index 4eae5a9be..0002972ed 100644
--- a/science/gungho/unit-test/kernel/diagnostics/compute_total_pv_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/diagnostics/compute_total_pv_kernel_mod_test.pf
@@ -49,7 +49,7 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_extrusion_config, &
feign_finite_element_config, &
feign_planet_config, &
@@ -76,6 +76,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/diagnostics/reference_profile_mod_test.pf b/science/gungho/unit-test/kernel/diagnostics/reference_profile_mod_test.pf
index b31ac6b98..07223a7f0 100644
--- a/science/gungho/unit-test/kernel/diagnostics/reference_profile_mod_test.pf
+++ b/science/gungho/unit-test/kernel/diagnostics/reference_profile_mod_test.pf
@@ -48,7 +48,7 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_base_mesh_config, &
feign_extrusion_config, &
feign_initial_temperature_config, &
@@ -97,6 +97,8 @@ contains
call feign_finite_element_config( &
cellshape = cellshape_quadrilateral, &
coord_order = 0_i_def, &
+ coord_order_multigrid = 1_i_def, &
+ coord_space = coord_space_wchi, &
coord_system = coord_system_xyz, &
element_order_h = 0_i_def, &
element_order_v = 0_i_def, &
diff --git a/science/gungho/unit-test/kernel/diffusion/leonard_term_kl_kernel_mod_test.pf b/science/gungho/unit-test/kernel/diffusion/leonard_term_kl_kernel_mod_test.pf
index b11b8e28a..265b4f69e 100644
--- a/science/gungho/unit-test/kernel/diffusion/leonard_term_kl_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/diffusion/leonard_term_kl_kernel_mod_test.pf
@@ -37,7 +37,7 @@ contains
use feign_config_mod, only : feign_finite_element_config, &
feign_mixing_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use mixing_config_mod, only : method_3d_smag, &
smag_l_calc, smag_l_calc_UseDx
@@ -59,6 +59,8 @@ contains
element_order_h=0_i_def, &
element_order_v=0_i_def, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
rehabilitate=.true., &
vorticity_in_w1=.false. )
diff --git a/science/gungho/unit-test/kernel/diffusion/leonard_term_th_kernel_mod_test.pf b/science/gungho/unit-test/kernel/diffusion/leonard_term_th_kernel_mod_test.pf
index 0d63fc078..6ee076ef7 100644
--- a/science/gungho/unit-test/kernel/diffusion/leonard_term_th_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/diffusion/leonard_term_th_kernel_mod_test.pf
@@ -36,7 +36,7 @@ contains
use feign_config_mod, only : feign_finite_element_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
@@ -47,6 +47,8 @@ contains
element_order_h=0_i_def, &
element_order_v=0_i_def, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
rehabilitate=.true., &
vorticity_in_w1=.false. )
diff --git a/science/gungho/unit-test/kernel/diffusion/momentum_viscosity_kernel_mod_test.pf b/science/gungho/unit-test/kernel/diffusion/momentum_viscosity_kernel_mod_test.pf
index 31f0bb9cf..18ff9ac4a 100644
--- a/science/gungho/unit-test/kernel/diffusion/momentum_viscosity_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/diffusion/momentum_viscosity_kernel_mod_test.pf
@@ -36,7 +36,7 @@ contains
use feign_config_mod, only : feign_finite_element_config
use mixing_config_mod, only : method_3d_smag
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
@@ -46,6 +46,8 @@ contains
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
coord_system=coord_system_xyz, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
rehabilitate=.true., &
diff --git a/science/gungho/unit-test/kernel/diffusion/tracer_smagorinsky_diff_kernel_mod_test.pf b/science/gungho/unit-test/kernel/diffusion/tracer_smagorinsky_diff_kernel_mod_test.pf
index 604ca9319..a1c550dc3 100644
--- a/science/gungho/unit-test/kernel/diffusion/tracer_smagorinsky_diff_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/diffusion/tracer_smagorinsky_diff_kernel_mod_test.pf
@@ -40,7 +40,7 @@ contains
use mixing_config_mod, only : method_3d_smag, smag_l_calc, &
smag_l_calc_UseDx
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
@@ -59,6 +59,8 @@ contains
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
coord_system=coord_system_xyz, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
rehabilitate=.true., &
diff --git a/science/gungho/unit-test/kernel/diffusion/tracer_viscosity_kernel_mod_test.pf b/science/gungho/unit-test/kernel/diffusion/tracer_viscosity_kernel_mod_test.pf
index 495c48dff..a09149e64 100644
--- a/science/gungho/unit-test/kernel/diffusion/tracer_viscosity_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/diffusion/tracer_viscosity_kernel_mod_test.pf
@@ -32,7 +32,7 @@ contains
use feign_config_mod, only : feign_finite_element_config
use mixing_config_mod, only : method_3d_smag
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
@@ -41,6 +41,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/external_forcing/deep_hot_jupiter_kernel_mod_test.pf b/science/gungho/unit-test/kernel/external_forcing/deep_hot_jupiter_kernel_mod_test.pf
index 00640b1af..b2388fe1a 100644
--- a/science/gungho/unit-test/kernel/external_forcing/deep_hot_jupiter_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/external_forcing/deep_hot_jupiter_kernel_mod_test.pf
@@ -35,7 +35,7 @@ contains
feign_planet_config, &
feign_timestepping_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use sci_chi_transform_mod, only : init_chi_transforms
use timestepping_config_mod, only : method_semi_implicit, &
runge_kutta_method_ssp3
@@ -52,6 +52,8 @@ contains
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/external_forcing/earth_like_kernel_mod_test.pf b/science/gungho/unit-test/kernel/external_forcing/earth_like_kernel_mod_test.pf
index 17e485b6b..85984d458 100644
--- a/science/gungho/unit-test/kernel/external_forcing/earth_like_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/external_forcing/earth_like_kernel_mod_test.pf
@@ -39,7 +39,7 @@ contains
feign_planet_config, &
feign_timestepping_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use sci_chi_transform_mod, only : init_chi_transforms
use timestepping_config_mod, only : method_semi_implicit, &
runge_kutta_method_ssp3
@@ -56,6 +56,8 @@ contains
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/external_forcing/held_suarez_kernel_mod_test.pf b/science/gungho/unit-test/kernel/external_forcing/held_suarez_kernel_mod_test.pf
index d1e1f11e9..c468b27e6 100644
--- a/science/gungho/unit-test/kernel/external_forcing/held_suarez_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/external_forcing/held_suarez_kernel_mod_test.pf
@@ -37,7 +37,7 @@ contains
feign_planet_config, &
feign_timestepping_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use sci_chi_transform_mod, only : init_chi_transforms
use timestepping_config_mod, only : method_semi_implicit, &
runge_kutta_method_ssp3
@@ -55,6 +55,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/external_forcing/shallow_hot_jupiter_kernel_mod_test.pf b/science/gungho/unit-test/kernel/external_forcing/shallow_hot_jupiter_kernel_mod_test.pf
index 854255e9c..a588c7bf3 100644
--- a/science/gungho/unit-test/kernel/external_forcing/shallow_hot_jupiter_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/external_forcing/shallow_hot_jupiter_kernel_mod_test.pf
@@ -37,7 +37,7 @@ contains
feign_planet_config, &
feign_timestepping_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use sci_chi_transform_mod, only : init_chi_transforms
use timestepping_config_mod, only : method_semi_implicit, &
runge_kutta_method_ssp3
@@ -54,6 +54,8 @@ contains
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/external_forcing/tidally_locked_earth_kernel_mod_test.pf b/science/gungho/unit-test/kernel/external_forcing/tidally_locked_earth_kernel_mod_test.pf
index 5971150fe..a88b7a57a 100644
--- a/science/gungho/unit-test/kernel/external_forcing/tidally_locked_earth_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/external_forcing/tidally_locked_earth_kernel_mod_test.pf
@@ -36,7 +36,7 @@ contains
feign_planet_config, &
feign_timestepping_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use sci_chi_transform_mod, only : init_chi_transforms
use timestepping_config_mod, only : method_semi_implicit, &
runge_kutta_method_ssp3
@@ -53,6 +53,8 @@ contains
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/initialisation/hydrostatic_exner_kernel_mod_test.pf b/science/gungho/unit-test/kernel/initialisation/hydrostatic_exner_kernel_mod_test.pf
index e91b2770c..6aaa75118 100644
--- a/science/gungho/unit-test/kernel/initialisation/hydrostatic_exner_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/initialisation/hydrostatic_exner_kernel_mod_test.pf
@@ -73,7 +73,7 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_base_mesh_config, &
feign_extrusion_config, &
feign_finite_element_config, &
@@ -118,6 +118,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/initialisation/initial_rho_sample_kernel_mod_test.pf b/science/gungho/unit-test/kernel/initialisation/initial_rho_sample_kernel_mod_test.pf
index 4c2b182e8..363d73f3c 100644
--- a/science/gungho/unit-test/kernel/initialisation/initial_rho_sample_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/initialisation/initial_rho_sample_kernel_mod_test.pf
@@ -43,7 +43,7 @@ contains
feign_idealised_config, &
feign_initial_density_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use idealised_config_mod, only : test_constant_field
use initial_density_config_mod, only : density_background
@@ -66,6 +66,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/initialisation/initial_u_kernel_mod_test.pf b/science/gungho/unit-test/kernel/initialisation/initial_u_kernel_mod_test.pf
index 4ff877458..9731ebd3e 100644
--- a/science/gungho/unit-test/kernel/initialisation/initial_u_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/initialisation/initial_u_kernel_mod_test.pf
@@ -70,7 +70,7 @@ contains
topology_fully_periodic
use sci_chi_transform_mod, only : init_chi_transforms
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_finite_element_config, &
feign_base_mesh_config, &
feign_initial_wind_config
@@ -90,6 +90,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/initialisation/set_rho_kernel_mod_test.pf b/science/gungho/unit-test/kernel/initialisation/set_rho_kernel_mod_test.pf
index dac91d1a6..dddbd21fe 100644
--- a/science/gungho/unit-test/kernel/initialisation/set_rho_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/initialisation/set_rho_kernel_mod_test.pf
@@ -63,7 +63,7 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_base_mesh_config, &
feign_extrusion_config, &
feign_finite_element_config, &
@@ -99,6 +99,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/limited_area/create_w2bmask_kernel_mod_test.pf b/science/gungho/unit-test/kernel/limited_area/create_w2bmask_kernel_mod_test.pf
index 403f908bc..30206c3e6 100644
--- a/science/gungho/unit-test/kernel/limited_area/create_w2bmask_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/limited_area/create_w2bmask_kernel_mod_test.pf
@@ -40,7 +40,7 @@ contains
use feign_config_mod, only : feign_base_mesh_config, &
feign_finite_element_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
@@ -57,6 +57,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/limited_area/create_w2mask_blend_kernel_mod_test.pf b/science/gungho/unit-test/kernel/limited_area/create_w2mask_blend_kernel_mod_test.pf
index 9da369349..2423f12fb 100644
--- a/science/gungho/unit-test/kernel/limited_area/create_w2mask_blend_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/limited_area/create_w2mask_blend_kernel_mod_test.pf
@@ -40,7 +40,7 @@ contains
use feign_config_mod, only : feign_base_mesh_config, &
feign_finite_element_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
@@ -57,6 +57,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/limited_area/create_w2mask_kernel_mod_test.pf b/science/gungho/unit-test/kernel/limited_area/create_w2mask_kernel_mod_test.pf
index 959ddb390..70dbb6903 100644
--- a/science/gungho/unit-test/kernel/limited_area/create_w2mask_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/limited_area/create_w2mask_kernel_mod_test.pf
@@ -40,7 +40,7 @@ contains
use feign_config_mod, only : feign_base_mesh_config, &
feign_finite_element_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
@@ -57,6 +57,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/limited_area/create_w2mask_lbc_kernel_mod_test.pf b/science/gungho/unit-test/kernel/limited_area/create_w2mask_lbc_kernel_mod_test.pf
index b7c4aa269..3dcb3b93e 100644
--- a/science/gungho/unit-test/kernel/limited_area/create_w2mask_lbc_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/limited_area/create_w2mask_lbc_kernel_mod_test.pf
@@ -40,7 +40,7 @@ contains
use feign_config_mod, only : feign_base_mesh_config, &
feign_finite_element_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
@@ -57,6 +57,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/limited_area/create_w2mask_tang_kernel_mod_test.pf b/science/gungho/unit-test/kernel/limited_area/create_w2mask_tang_kernel_mod_test.pf
index 42069242d..d14af6437 100644
--- a/science/gungho/unit-test/kernel/limited_area/create_w2mask_tang_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/limited_area/create_w2mask_tang_kernel_mod_test.pf
@@ -40,7 +40,7 @@ contains
use feign_config_mod, only : feign_base_mesh_config, &
feign_finite_element_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
@@ -57,6 +57,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/limited_area/create_w3mask_blend_kernel_mod_test.pf b/science/gungho/unit-test/kernel/limited_area/create_w3mask_blend_kernel_mod_test.pf
index 63963b6ff..2c49a8208 100644
--- a/science/gungho/unit-test/kernel/limited_area/create_w3mask_blend_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/limited_area/create_w3mask_blend_kernel_mod_test.pf
@@ -40,7 +40,7 @@ contains
use feign_config_mod, only : feign_base_mesh_config, &
feign_finite_element_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
@@ -57,6 +57,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/limited_area/create_w3mask_kernel_mod_test.pf b/science/gungho/unit-test/kernel/limited_area/create_w3mask_kernel_mod_test.pf
index 41ab8a7ec..cdd97b420 100644
--- a/science/gungho/unit-test/kernel/limited_area/create_w3mask_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/limited_area/create_w3mask_kernel_mod_test.pf
@@ -40,7 +40,7 @@ contains
use feign_config_mod, only : feign_base_mesh_config, &
feign_finite_element_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
@@ -57,6 +57,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/limited_area/create_w3mask_lbc_kernel_mod_test.pf b/science/gungho/unit-test/kernel/limited_area/create_w3mask_lbc_kernel_mod_test.pf
index bc1b4a244..62f8ff04b 100644
--- a/science/gungho/unit-test/kernel/limited_area/create_w3mask_lbc_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/limited_area/create_w3mask_lbc_kernel_mod_test.pf
@@ -40,7 +40,7 @@ contains
use feign_config_mod, only : feign_base_mesh_config, &
feign_finite_element_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
@@ -57,6 +57,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/limited_area/create_wthetamask_blend_kernel_mod_test.pf b/science/gungho/unit-test/kernel/limited_area/create_wthetamask_blend_kernel_mod_test.pf
index d30a6ba29..2bff2bf3b 100644
--- a/science/gungho/unit-test/kernel/limited_area/create_wthetamask_blend_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/limited_area/create_wthetamask_blend_kernel_mod_test.pf
@@ -41,7 +41,7 @@ contains
use feign_config_mod, only : feign_base_mesh_config, &
feign_finite_element_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
class(create_wthetamask_blend_test_type), intent(inout) :: this
@@ -57,6 +57,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/limited_area/create_wthetamask_kernel_mod_test.pf b/science/gungho/unit-test/kernel/limited_area/create_wthetamask_kernel_mod_test.pf
index 827948041..7604e9576 100644
--- a/science/gungho/unit-test/kernel/limited_area/create_wthetamask_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/limited_area/create_wthetamask_kernel_mod_test.pf
@@ -40,7 +40,7 @@ contains
use feign_config_mod, only : feign_base_mesh_config, &
feign_finite_element_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
@@ -57,6 +57,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/limited_area/create_wthetamask_lbc_kernel_mod_test.pf b/science/gungho/unit-test/kernel/limited_area/create_wthetamask_lbc_kernel_mod_test.pf
index 76c587d60..888878277 100644
--- a/science/gungho/unit-test/kernel/limited_area/create_wthetamask_lbc_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/limited_area/create_wthetamask_lbc_kernel_mod_test.pf
@@ -40,7 +40,7 @@ contains
use feign_config_mod, only : feign_base_mesh_config, &
feign_finite_element_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
@@ -57,6 +57,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/solver/eliminated_theta_q22_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/eliminated_theta_q22_kernel_mod_test.pf
index 96a0b0d16..caa797d84 100644
--- a/science/gungho/unit-test/kernel/solver/eliminated_theta_q22_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/solver/eliminated_theta_q22_kernel_mod_test.pf
@@ -31,7 +31,7 @@ contains
subroutine setUp( this )
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_finite_element_config
use sci_chi_transform_mod, only : init_chi_transforms
@@ -42,6 +42,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
rehabilitate=.true., &
diff --git a/science/gungho/unit-test/kernel/solver/project_eos_operators_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/project_eos_operators_kernel_mod_test.pf
index 4537740b9..912324654 100644
--- a/science/gungho/unit-test/kernel/solver/project_eos_operators_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/solver/project_eos_operators_kernel_mod_test.pf
@@ -48,7 +48,7 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_base_mesh_config, &
feign_extrusion_config, &
feign_initial_temperature_config, &
@@ -77,6 +77,8 @@ contains
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
rehabilitate=.true., &
diff --git a/science/gungho/unit-test/kernel/solver/weighted_div_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/weighted_div_kernel_mod_test.pf
index f2698dc97..fc28b3268 100644
--- a/science/gungho/unit-test/kernel/solver/weighted_div_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/solver/weighted_div_kernel_mod_test.pf
@@ -42,7 +42,7 @@ contains
use feign_config_mod, only : feign_finite_element_config
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
implicit none
@@ -51,6 +51,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=1_i_def, &
element_order_v=1_i_def, &
diff --git a/science/gungho/unit-test/kernel/solver/weighted_m3_kernel_mod_test.pf b/science/gungho/unit-test/kernel/solver/weighted_m3_kernel_mod_test.pf
index e23ec3575..e009d5858 100644
--- a/science/gungho/unit-test/kernel/solver/weighted_m3_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/solver/weighted_m3_kernel_mod_test.pf
@@ -31,7 +31,7 @@ contains
subroutine setUp( this )
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_finite_element_config
use sci_chi_transform_mod, only : init_chi_transforms
@@ -42,6 +42,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/transport/common/calc_upwind_detj_at_w2_kernel_mod_test.pf b/science/gungho/unit-test/kernel/transport/common/calc_upwind_detj_at_w2_kernel_mod_test.pf
index 4687a3be6..13c2fbe2a 100644
--- a/science/gungho/unit-test/kernel/transport/common/calc_upwind_detj_at_w2_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/transport/common/calc_upwind_detj_at_w2_kernel_mod_test.pf
@@ -35,7 +35,7 @@ contains
subroutine setUp( this )
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use formulation_config_mod, only : eos_method_sampled, &
moisture_formulation_dry
use feign_config_mod, only : feign_finite_element_config, &
@@ -48,6 +48,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/transport/common/panel_edge_coords_kernel_mod_test.pf b/science/gungho/unit-test/kernel/transport/common/panel_edge_coords_kernel_mod_test.pf
index e85a0bc8a..aaf138b33 100644
--- a/science/gungho/unit-test/kernel/transport/common/panel_edge_coords_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/transport/common/panel_edge_coords_kernel_mod_test.pf
@@ -35,7 +35,7 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_native
+ coord_system_native, coord_space_wchi
use feign_config_mod, only : feign_finite_element_config, &
feign_base_mesh_config, &
feign_extrusion_config, &
@@ -73,6 +73,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_native, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/transport/common/panel_edge_weights_kernel_mod_test.pf b/science/gungho/unit-test/kernel/transport/common/panel_edge_weights_kernel_mod_test.pf
index bd34c90e1..a33294632 100644
--- a/science/gungho/unit-test/kernel/transport/common/panel_edge_weights_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/transport/common/panel_edge_weights_kernel_mod_test.pf
@@ -35,7 +35,7 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_native
+ coord_system_native, coord_space_wchi
use feign_config_mod, only : feign_finite_element_config, &
feign_base_mesh_config, &
feign_extrusion_config, &
@@ -73,6 +73,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_native, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/transport/common/vorticity_advection_kernel_mod_test.pf b/science/gungho/unit-test/kernel/transport/common/vorticity_advection_kernel_mod_test.pf
index fd1051185..492e378d4 100644
--- a/science/gungho/unit-test/kernel/transport/common/vorticity_advection_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/transport/common/vorticity_advection_kernel_mod_test.pf
@@ -31,7 +31,8 @@ contains
subroutine setUp( this )
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, &
+ coord_space_wchi
use feign_config_mod, only : feign_finite_element_config
use sci_chi_transform_mod, only : init_chi_transforms
@@ -42,6 +43,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/transport/common/w2_vorticity_advection_kernel_mod_test.pf b/science/gungho/unit-test/kernel/transport/common/w2_vorticity_advection_kernel_mod_test.pf
index 071d03792..17ee1adc4 100644
--- a/science/gungho/unit-test/kernel/transport/common/w2_vorticity_advection_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/transport/common/w2_vorticity_advection_kernel_mod_test.pf
@@ -31,7 +31,8 @@ contains
subroutine setUp( this )
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, &
+ coord_space_wchi
use feign_config_mod, only : feign_finite_element_config
use sci_chi_transform_mod, only : init_chi_transforms
@@ -42,6 +43,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/gungho/unit-test/kernel/transport/mol/poly1d_advective_coeffs_kernel_mod_test.pf b/science/gungho/unit-test/kernel/transport/mol/poly1d_advective_coeffs_kernel_mod_test.pf
index d2e8ae4ee..23f29b2ce 100644
--- a/science/gungho/unit-test/kernel/transport/mol/poly1d_advective_coeffs_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/transport/mol/poly1d_advective_coeffs_kernel_mod_test.pf
@@ -31,7 +31,8 @@ contains
use base_mesh_config_mod, only: geometry_planar, &
topology_fully_periodic
use finite_element_config_mod, only: coord_system_xyz, &
- cellshape_quadrilateral
+ cellshape_quadrilateral, &
+ coord_space_wchi
use sci_chi_transform_mod, only: init_chi_transforms
implicit none
@@ -46,6 +47,8 @@ contains
call feign_finite_element_config( cellshape = cellshape_quadrilateral, &
coord_order = 1, &
+ coord_order_multigrid = 1, &
+ coord_space = coord_space_wchi, &
coord_system = coord_system_xyz, &
element_order_h = 0, &
element_order_v = 0, &
diff --git a/science/gungho/unit-test/kernel/transport/mol/poly1d_flux_coeffs_kernel_mod_test.pf b/science/gungho/unit-test/kernel/transport/mol/poly1d_flux_coeffs_kernel_mod_test.pf
index 26c6a3be1..11672a13f 100644
--- a/science/gungho/unit-test/kernel/transport/mol/poly1d_flux_coeffs_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/transport/mol/poly1d_flux_coeffs_kernel_mod_test.pf
@@ -31,7 +31,8 @@ contains
use base_mesh_config_mod, only: geometry_planar, &
topology_fully_periodic
use finite_element_config_mod, only: coord_system_xyz, &
- cellshape_quadrilateral
+ cellshape_quadrilateral, &
+ coord_space_wchi
use sci_chi_transform_mod, only: init_chi_transforms
implicit none
@@ -46,6 +47,8 @@ contains
call feign_finite_element_config( cellshape = cellshape_quadrilateral, &
coord_order = 1, &
+ coord_order_multigrid = 1, &
+ coord_space = coord_space_wchi, &
coord_system = coord_system_xyz, &
element_order_h = 0, &
element_order_v = 0, &
diff --git a/science/gungho/unit-test/kernel/transport/mol/poly2d_advective_coeffs_kernel_mod_test.pf b/science/gungho/unit-test/kernel/transport/mol/poly2d_advective_coeffs_kernel_mod_test.pf
index eec36089b..6a1dadc15 100644
--- a/science/gungho/unit-test/kernel/transport/mol/poly2d_advective_coeffs_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/transport/mol/poly2d_advective_coeffs_kernel_mod_test.pf
@@ -31,7 +31,8 @@ contains
use base_mesh_config_mod, only: geometry_planar, &
topology_fully_periodic
use finite_element_config_mod, only: coord_system_xyz, &
- cellshape_quadrilateral
+ cellshape_quadrilateral, &
+ coord_space_wchi
use sci_chi_transform_mod, only: init_chi_transforms
implicit none
@@ -46,6 +47,8 @@ contains
call feign_finite_element_config( cellshape = cellshape_quadrilateral, &
coord_order = 1, &
+ coord_order_multigrid = 1, &
+ coord_space = coord_space_wchi, &
coord_system = coord_system_xyz, &
element_order_h = 0, &
element_order_v = 0, &
diff --git a/science/gungho/unit-test/kernel/transport/mol/poly2d_flux_coeffs_kernel_mod_test.pf b/science/gungho/unit-test/kernel/transport/mol/poly2d_flux_coeffs_kernel_mod_test.pf
index bc2105654..217811006 100644
--- a/science/gungho/unit-test/kernel/transport/mol/poly2d_flux_coeffs_kernel_mod_test.pf
+++ b/science/gungho/unit-test/kernel/transport/mol/poly2d_flux_coeffs_kernel_mod_test.pf
@@ -31,7 +31,8 @@ contains
use base_mesh_config_mod, only: geometry_planar, &
topology_fully_periodic
use finite_element_config_mod, only: coord_system_xyz, &
- cellshape_quadrilateral
+ cellshape_quadrilateral, &
+ coord_space_wchi
use sci_chi_transform_mod, only: init_chi_transforms
implicit none
@@ -45,6 +46,8 @@ contains
fplane=.false., f_lat_deg=0.0_r_def )
call feign_finite_element_config( cellshape = cellshape_quadrilateral, &
coord_order = 1, &
+ coord_order_multigrid = 1, &
+ coord_space = coord_space_wchi, &
coord_system = coord_system_xyz, &
element_order_h = 0, &
element_order_v = 0, &
diff --git a/science/gungho/unit-test/orography/analytic_orography_field_cartesian_mod_test.pf b/science/gungho/unit-test/orography/analytic_orography_field_cartesian_mod_test.pf
index 2ea45a953..043518895 100644
--- a/science/gungho/unit-test/orography/analytic_orography_field_cartesian_mod_test.pf
+++ b/science/gungho/unit-test/orography/analytic_orography_field_cartesian_mod_test.pf
@@ -58,7 +58,7 @@ contains
use base_mesh_config_mod, only : geometry_planar, &
topology_fully_periodic
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_finite_element_config, &
feign_base_mesh_config, &
feign_extrusion_config, &
@@ -94,6 +94,8 @@ contains
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
@@ -183,6 +185,7 @@ contains
real(r_def), parameter :: tol = 1.0e-3_r_def
real(r_def) :: height_flat_surface, height_domain_top
real(r_def) :: chi_1(undf), chi_2(undf), chi_3(undf)
+ real(r_def) :: chi_1_in(undf), chi_2_in(undf), chi_3_in(undf)
real(r_def) :: panel_id(undf)
real(r_def) :: eta(0:nlayers)
real(r_def) :: vertex_coords_2d(3,1), chi_surf, chi_test
@@ -235,13 +238,17 @@ contains
do i = 1, undf
chi_3(i) = eta2z_linear(eta(i-1), height_flat_surface, height_domain_top)
end do
+ chi_1_in(:) = chi_1(:)
+ chi_2_in(:) = chi_2(:)
+ chi_3_in(:) = chi_3(:)
panel_id(:) = 1.0_r_def
! Test Cartesian orography assignment
- call analytic_orography_cartesian( nlayers, ndf, undf, map, &
- ndf, undf, map, &
- height_flat_surface, &
- height_domain_top, &
- chi_1, chi_2, chi_3, &
+ call analytic_orography_cartesian( nlayers, ndf, undf, map, &
+ ndf, undf, map, &
+ height_flat_surface, &
+ height_domain_top, &
+ chi_1_in, chi_2_in, chi_3_in, &
+ chi_1, chi_2, chi_3, &
panel_id )
! Test selected chi_3
diff --git a/science/gungho/unit-test/orography/analytic_orography_field_spherical_mod_test.pf b/science/gungho/unit-test/orography/analytic_orography_field_spherical_mod_test.pf
index e45d1fd81..223d51af3 100644
--- a/science/gungho/unit-test/orography/analytic_orography_field_spherical_mod_test.pf
+++ b/science/gungho/unit-test/orography/analytic_orography_field_spherical_mod_test.pf
@@ -59,7 +59,8 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, &
+ coord_space_wchi
use feign_config_mod, only : feign_base_mesh_config, &
feign_extrusion_config, &
feign_finite_element_config, &
@@ -119,6 +120,8 @@ contains
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
@@ -194,6 +197,7 @@ contains
real(r_def) :: use_tol
real(r_def) :: height_flat_surface, height_domain_top
real(r_def) :: chi_1(undf), chi_2(undf), chi_3(undf)
+ real(r_def) :: chi_1_in(undf), chi_2_in(undf), chi_3_in(undf)
real(r_def) :: chi_1_cart(undf), chi_2_cart(undf), chi_3_cart(undf)
real(r_def) :: panel_id(undf)
real(r_def) :: eta(0:nlayers)
@@ -251,11 +255,17 @@ contains
call llr2xyz(chi_1(i), chi_2(i), chi_3(i), &
chi_1_cart(i), chi_2_cart(i), chi_3_cart(i))
end do
+
+ chi_1_in(:) = chi_1_cart(:)
+ chi_2_in(:) = chi_2_cart(:)
+ chi_3_in(:) = chi_3_cart(:)
+
! Test spherical orography assignment
- call analytic_orography_spherical_xyz( nlayers, ndf, undf, map, &
- ndf, undf, map, &
- height_flat_surface, &
- height_domain_top, &
+ call analytic_orography_spherical_xyz( nlayers, ndf, undf, map, &
+ ndf, undf, map, &
+ height_flat_surface, &
+ height_domain_top, &
+ chi_1_in, chi_2_in, chi_3_in, &
chi_1_cart, chi_2_cart, chi_3_cart, &
panel_id )
! Transform coordinate field back to (long, lat, r) for comparison
diff --git a/science/gungho/unit-test/orography/ancil_orography_cartesian_mod_test.pf b/science/gungho/unit-test/orography/ancil_orography_cartesian_mod_test.pf
index bdb77e02b..2562d7e26 100644
--- a/science/gungho/unit-test/orography/ancil_orography_cartesian_mod_test.pf
+++ b/science/gungho/unit-test/orography/ancil_orography_cartesian_mod_test.pf
@@ -33,7 +33,7 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_finite_element_config, &
feign_base_mesh_config, &
feign_extrusion_config
@@ -61,6 +61,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
@@ -108,6 +110,7 @@ contains
real(r_def), allocatable :: srf_alt_w0(:)
real(r_def), allocatable :: multipl_w0_sl(:)
real(r_def), allocatable :: chi1(:), chi2(:), chi3(:), panel_id(:)
+ real(r_def), allocatable :: chi1_in(:), chi2_in(:), chi3_in(:)
real(r_def) :: answer
@@ -155,6 +158,9 @@ contains
allocate( chi1(undf_wchi) )
allocate( chi2(undf_wchi) )
allocate( chi3(undf_wchi) )
+ allocate( chi1_in(undf_wchi) )
+ allocate( chi2_in(undf_wchi) )
+ allocate( chi3_in(undf_wchi) )
allocate( srf_alt_w3(undf_w3_sl) )
allocate( srf_alt_w0(undf_w0_sl) )
allocate( multipl_w0_sl(undf_w0_sl) )
@@ -172,6 +178,11 @@ contains
! This generates the w0 surface_altitude
srf_alt_w3(:)=0.0_r_def
srf_alt_w3(5)=400.0_r_def
+
+ chi1_in(:) = chi1(:)
+ chi2_in(:) = chi2(:)
+ chi3_in(:) = chi3(:)
+
do cell = 1, ncells
call average_w3_to_w0_code(1, &
@@ -195,6 +206,9 @@ contains
chi1, &
chi2, &
chi3, &
+ chi1_in, &
+ chi2_in, &
+ chi3_in, &
panel_id, &
srf_alt_w0, &
domain_surface, &
@@ -237,6 +251,9 @@ contains
deallocate( chi1 )
deallocate( chi2 )
deallocate( chi3 )
+ deallocate( chi1_in )
+ deallocate( chi2_in )
+ deallocate( chi3_in )
deallocate( panel_id )
deallocate( basis_w0_on_wchi )
diff --git a/science/gungho/unit-test/orography/ancil_orography_spherical_mod_test.pf b/science/gungho/unit-test/orography/ancil_orography_spherical_mod_test.pf
index 8ca918b03..261f110e0 100644
--- a/science/gungho/unit-test/orography/ancil_orography_spherical_mod_test.pf
+++ b/science/gungho/unit-test/orography/ancil_orography_spherical_mod_test.pf
@@ -34,7 +34,7 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_finite_element_config, &
feign_base_mesh_config, &
feign_extrusion_config
@@ -61,6 +61,8 @@ contains
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
@@ -111,6 +113,7 @@ contains
real(r_def), allocatable :: srf_alt_w0(:)
real(r_def), allocatable :: multipl_w0_sl(:)
real(r_def), allocatable :: chi1(:), chi2(:), chi3(:), panel_id(:)
+ real(r_def), allocatable :: chi1_in(:), chi2_in(:), chi3_in(:)
real(r_def) :: answer, lat, lon, r
real(r_def) :: use_tol
@@ -159,6 +162,9 @@ contains
allocate( chi1(undf_wchi) )
allocate( chi2(undf_wchi) )
allocate( chi3(undf_wchi) )
+ allocate( chi1_in(undf_wchi) )
+ allocate( chi2_in(undf_wchi) )
+ allocate( chi3_in(undf_wchi) )
allocate( srf_alt_w3(undf_w3_sl) )
allocate( srf_alt_w0(undf_w0_sl) )
allocate( multipl_w0_sl(undf_w0_sl) )
@@ -176,6 +182,11 @@ contains
! This generates the w0 surface_altitude
srf_alt_w3(:)=0.0_r_def
srf_alt_w3(5)=400.0_r_def
+
+ chi1_in(:) = chi1(:)
+ chi2_in(:) = chi2(:)
+ chi3_in(:) = chi3(:)
+
do cell = 1, ncells
call average_w3_to_w0_code(1, &
@@ -199,6 +210,9 @@ contains
chi1, &
chi2, &
chi3, &
+ chi1_in, &
+ chi2_in, &
+ chi3_in, &
panel_id, &
srf_alt_w0, &
domain_surface, &
@@ -266,6 +280,9 @@ contains
deallocate( chi1 )
deallocate( chi2 )
deallocate( chi3 )
+ deallocate( chi1_in )
+ deallocate( chi2_in )
+ deallocate( chi3_in )
deallocate( panel_id )
deallocate( basis_w0_on_wchi )
diff --git a/science/linear/integration-test/runge_kutta/resources/runge_kutta_configuration.nml b/science/linear/integration-test/runge_kutta/resources/runge_kutta_configuration.nml
index 9298f96f7..f3321092c 100644
--- a/science/linear/integration-test/runge_kutta/resources/runge_kutta_configuration.nml
+++ b/science/linear/integration-test/runge_kutta/resources/runge_kutta_configuration.nml
@@ -47,6 +47,8 @@ start_dump_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='xyz',
element_order_h=0,
element_order_v=0,
diff --git a/science/linear/integration-test/semi_implicit/resources/semi_implicit_configuration.nml b/science/linear/integration-test/semi_implicit/resources/semi_implicit_configuration.nml
index 2b208a451..999b6e772 100644
--- a/science/linear/integration-test/semi_implicit/resources/semi_implicit_configuration.nml
+++ b/science/linear/integration-test/semi_implicit/resources/semi_implicit_configuration.nml
@@ -47,6 +47,8 @@ start_dump_filename='',
&finite_element
cellshape='quadrilateral',
coord_order=1,
+coord_order_multigrid=1,
+coord_space='Wchi',
coord_system='xyz',
element_order_h=0,
element_order_v=0,
diff --git a/science/linear/unit-test/kernel/core_dynamics/initial_theta_ref_kernel_mod_test.pf b/science/linear/unit-test/kernel/core_dynamics/initial_theta_ref_kernel_mod_test.pf
index c3b98a7b0..d44aa2138 100644
--- a/science/linear/unit-test/kernel/core_dynamics/initial_theta_ref_kernel_mod_test.pf
+++ b/science/linear/unit-test/kernel/core_dynamics/initial_theta_ref_kernel_mod_test.pf
@@ -52,7 +52,7 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use initial_pressure_config_mod, only : method_balanced
use initial_temperature_config_mod, &
only : perturb_none
@@ -86,6 +86,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/linear/unit-test/kernel/core_dynamics/tl_kinetic_energy_gradient_kernel_mod_test.pf b/science/linear/unit-test/kernel/core_dynamics/tl_kinetic_energy_gradient_kernel_mod_test.pf
index 9a44a87ab..acc390de6 100644
--- a/science/linear/unit-test/kernel/core_dynamics/tl_kinetic_energy_gradient_kernel_mod_test.pf
+++ b/science/linear/unit-test/kernel/core_dynamics/tl_kinetic_energy_gradient_kernel_mod_test.pf
@@ -49,7 +49,7 @@ contains
subroutine setUp( this )
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use formulation_config_mod, only : eos_method_sampled, &
moisture_formulation_dry
use feign_config_mod, only : feign_finite_element_config, &
@@ -63,6 +63,8 @@ contains
call feign_finite_element_config( &
cellshape = cellshape_quadrilateral, &
coord_order = 0_i_def, &
+ coord_order_multigrid = 1_i_def, &
+ coord_space = coord_space_wchi, &
coord_system = coord_system_xyz, &
element_order_h = 0_i_def, &
element_order_v = 0_i_def, &
diff --git a/science/linear/unit-test/kernel/core_dynamics/tl_project_eos_pressure_kernel_mod_test.pf b/science/linear/unit-test/kernel/core_dynamics/tl_project_eos_pressure_kernel_mod_test.pf
index e739d0615..008db1568 100644
--- a/science/linear/unit-test/kernel/core_dynamics/tl_project_eos_pressure_kernel_mod_test.pf
+++ b/science/linear/unit-test/kernel/core_dynamics/tl_project_eos_pressure_kernel_mod_test.pf
@@ -42,7 +42,7 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_base_mesh_config, &
feign_extrusion_config, &
feign_initial_temperature_config, &
@@ -71,6 +71,8 @@ contains
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/linear/unit-test/kernel/core_dynamics/tl_rhs_project_eos_kernel_mod_test.pf b/science/linear/unit-test/kernel/core_dynamics/tl_rhs_project_eos_kernel_mod_test.pf
index c80f072b3..7be6a9fde 100644
--- a/science/linear/unit-test/kernel/core_dynamics/tl_rhs_project_eos_kernel_mod_test.pf
+++ b/science/linear/unit-test/kernel/core_dynamics/tl_rhs_project_eos_kernel_mod_test.pf
@@ -57,7 +57,7 @@ contains
use base_mesh_config_mod, only : geometry_planar, &
topology_fully_periodic
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_base_mesh_config, &
feign_initial_temperature_config, &
feign_finite_element_config
@@ -77,6 +77,8 @@ contains
fplane=.false., f_lat_deg=0.0_r_def )
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/linear/unit-test/kernel/core_dynamics/tl_rhs_sample_eos_kernel_mod_test.pf b/science/linear/unit-test/kernel/core_dynamics/tl_rhs_sample_eos_kernel_mod_test.pf
index e347b4128..3b8cf2c4a 100644
--- a/science/linear/unit-test/kernel/core_dynamics/tl_rhs_sample_eos_kernel_mod_test.pf
+++ b/science/linear/unit-test/kernel/core_dynamics/tl_rhs_sample_eos_kernel_mod_test.pf
@@ -57,7 +57,7 @@ contains
use base_mesh_config_mod, only : geometry_planar, &
topology_fully_periodic
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_base_mesh_config, &
feign_initial_temperature_config, &
feign_finite_element_config
@@ -76,6 +76,8 @@ contains
fplane=.false., f_lat_deg=0.0_r_def )
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/linear/unit-test/kernel/core_dynamics/tl_sample_eos_pressure_kernel_mod_test.pf b/science/linear/unit-test/kernel/core_dynamics/tl_sample_eos_pressure_kernel_mod_test.pf
index e1dc1c860..79d885730 100644
--- a/science/linear/unit-test/kernel/core_dynamics/tl_sample_eos_pressure_kernel_mod_test.pf
+++ b/science/linear/unit-test/kernel/core_dynamics/tl_sample_eos_pressure_kernel_mod_test.pf
@@ -42,7 +42,7 @@ contains
use extrusion_config_mod, only : method_uniform, &
stretching_method_linear
use finite_element_config_mod, only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_base_mesh_config, &
feign_extrusion_config, &
feign_initial_temperature_config, &
@@ -71,6 +71,8 @@ contains
call feign_finite_element_config( cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
diff --git a/science/linear/unit-test/kernel/transport/common/tl_vorticity_advection_kernel_mod_test.pf b/science/linear/unit-test/kernel/transport/common/tl_vorticity_advection_kernel_mod_test.pf
index 9dea4bf34..a6e8624fb 100644
--- a/science/linear/unit-test/kernel/transport/common/tl_vorticity_advection_kernel_mod_test.pf
+++ b/science/linear/unit-test/kernel/transport/common/tl_vorticity_advection_kernel_mod_test.pf
@@ -12,7 +12,7 @@ module tl_vorticity_advection_kernel_mod_test
use finite_element_config_mod, &
only : cellshape_quadrilateral, &
- coord_system_xyz
+ coord_system_xyz, coord_space_wchi
use feign_config_mod, only : feign_finite_element_config
use sci_chi_transform_mod, only : init_chi_transforms, &
final_chi_transforms
@@ -128,6 +128,8 @@ contains
call feign_finite_element_config( &
cellshape=cellshape_quadrilateral, &
coord_order=0_i_def, &
+ coord_order_multigrid=1_i_def, &
+ coord_space=coord_space_wchi, &
coord_system=coord_system_xyz, &
element_order_h=0_i_def, &
element_order_v=0_i_def, &
From 69c5df453350636286ffabbaa3e75900b7ed3e29 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Thu, 22 Jan 2026 18:35:28 +0000
Subject: [PATCH 09/29] deploy upgrade macro
---
.../rose-meta/lfric-adjoint_tests/versions.py | 18 ++++++++++++++++++
.../rose-meta/lfric-gravity_wave/versions.py | 18 ++++++++++++++++++
.../rose-meta/lfric-gungho_model/versions.py | 18 ++++++++++++++++++
.../rose-meta/jedi_common/versions.py | 18 ++++++++++++++++++
.../rose-meta/jedi_forecast/versions.py | 18 ++++++++++++++++++
.../rose-meta/jedi_forecast_pseudo/versions.py | 18 ++++++++++++++++++
.../rose-meta/jedi_id_tlm_tests/versions.py | 18 ++++++++++++++++++
.../rose-meta/jedi_lfric_tests/versions.py | 18 ++++++++++++++++++
.../rose-meta/jedi_tlm_forecast_tl/versions.py | 18 ++++++++++++++++++
.../rose-meta/jedi_tlm_tests/versions.py | 18 ++++++++++++++++++
.../jules/rose-meta/lfric-jules/versions.py | 18 ++++++++++++++++++
.../rose-meta/lfric-lfric2lfric/versions.py | 18 ++++++++++++++++++
.../rose-meta/lfric-lfric_atm/versions.py | 18 ++++++++++++++++++
.../rose-meta/lfric-lfric_coupled/versions.py | 18 ++++++++++++++++++
.../rose-meta/lfric-linear_model/versions.py | 18 ++++++++++++++++++
.../rose-meta/lfric-name_transport/versions.py | 18 ++++++++++++++++++
.../ngarch/rose-meta/lfric-ngarch/versions.py | 18 ++++++++++++++++++
.../rose-meta/lfric-shallow_water/versions.py | 18 ++++++++++++++++++
.../rose-meta/lfric-transport/versions.py | 18 ++++++++++++++++++
.../rose-meta/coupling/versions.py | 18 ++++++++++++++++++
.../rose-meta/jedi_lfric_interface/versions.py | 18 ++++++++++++++++++
rose-stem/app/adjoint_tests/rose-app.conf | 4 +++-
rose-stem/app/gravity_wave/rose-app.conf | 4 +++-
rose-stem/app/gungho_model/rose-app.conf | 2 +-
rose-stem/app/jedi_forecast/rose-app.conf | 4 +++-
.../app/jedi_forecast_pseudo/rose-app.conf | 4 +++-
rose-stem/app/jedi_id_tlm_tests/rose-app.conf | 4 +++-
rose-stem/app/jedi_lfric_tests/rose-app.conf | 4 +++-
.../app/jedi_tlm_forecast_tl/rose-app.conf | 4 +++-
rose-stem/app/jedi_tlm_tests/rose-app.conf | 4 +++-
rose-stem/app/jules/rose-app.conf | 4 +++-
rose-stem/app/lfric2lfric/rose-app.conf | 4 +++-
rose-stem/app/lfric_atm/rose-app.conf | 2 +-
.../app/lfric_coupled_atmosphere/rose-app.conf | 4 +++-
rose-stem/app/linear_model/rose-app.conf | 4 +++-
rose-stem/app/name_transport/rose-app.conf | 4 +++-
rose-stem/app/ngarch/rose-app.conf | 4 +++-
rose-stem/app/shallow_water/rose-app.conf | 4 +++-
rose-stem/app/transport/rose-app.conf | 4 +++-
.../rose-meta/lfric-adjoint/versions.py | 18 ++++++++++++++++++
.../gungho/rose-meta/lfric-gungho/versions.py | 18 ++++++++++++++++++
.../linear/rose-meta/lfric-linear/versions.py | 18 ++++++++++++++++++
42 files changed, 482 insertions(+), 18 deletions(-)
diff --git a/applications/adjoint_tests/rose-meta/lfric-adjoint_tests/versions.py b/applications/adjoint_tests/rose-meta/lfric-adjoint_tests/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/adjoint_tests/rose-meta/lfric-adjoint_tests/versions.py
+++ b/applications/adjoint_tests/rose-meta/lfric-adjoint_tests/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/gravity_wave/rose-meta/lfric-gravity_wave/versions.py b/applications/gravity_wave/rose-meta/lfric-gravity_wave/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/gravity_wave/rose-meta/lfric-gravity_wave/versions.py
+++ b/applications/gravity_wave/rose-meta/lfric-gravity_wave/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/gungho_model/rose-meta/lfric-gungho_model/versions.py b/applications/gungho_model/rose-meta/lfric-gungho_model/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/gungho_model/rose-meta/lfric-gungho_model/versions.py
+++ b/applications/gungho_model/rose-meta/lfric-gungho_model/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_common/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_common/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_common/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_common/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_forecast/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_forecast/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_forecast/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_forecast/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_forecast_pseudo/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_forecast_pseudo/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_forecast_pseudo/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_forecast_pseudo/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_id_tlm_tests/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_id_tlm_tests/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_id_tlm_tests/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_id_tlm_tests/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_lfric_tests/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_lfric_tests/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_lfric_tests/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_lfric_tests/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_tlm_forecast_tl/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_tlm_forecast_tl/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_tlm_forecast_tl/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_tlm_forecast_tl/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_tlm_tests/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_tlm_tests/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_tlm_tests/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_tlm_tests/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/jules/rose-meta/lfric-jules/versions.py b/applications/jules/rose-meta/lfric-jules/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/jules/rose-meta/lfric-jules/versions.py
+++ b/applications/jules/rose-meta/lfric-jules/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/lfric2lfric/rose-meta/lfric-lfric2lfric/versions.py b/applications/lfric2lfric/rose-meta/lfric-lfric2lfric/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/lfric2lfric/rose-meta/lfric-lfric2lfric/versions.py
+++ b/applications/lfric2lfric/rose-meta/lfric-lfric2lfric/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/lfric_atm/rose-meta/lfric-lfric_atm/versions.py b/applications/lfric_atm/rose-meta/lfric-lfric_atm/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/lfric_atm/rose-meta/lfric-lfric_atm/versions.py
+++ b/applications/lfric_atm/rose-meta/lfric-lfric_atm/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/lfric_coupled/rose-meta/lfric-lfric_coupled/versions.py b/applications/lfric_coupled/rose-meta/lfric-lfric_coupled/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/lfric_coupled/rose-meta/lfric-lfric_coupled/versions.py
+++ b/applications/lfric_coupled/rose-meta/lfric-lfric_coupled/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/linear_model/rose-meta/lfric-linear_model/versions.py b/applications/linear_model/rose-meta/lfric-linear_model/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/linear_model/rose-meta/lfric-linear_model/versions.py
+++ b/applications/linear_model/rose-meta/lfric-linear_model/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/name_transport/rose-meta/lfric-name_transport/versions.py b/applications/name_transport/rose-meta/lfric-name_transport/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/name_transport/rose-meta/lfric-name_transport/versions.py
+++ b/applications/name_transport/rose-meta/lfric-name_transport/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/ngarch/rose-meta/lfric-ngarch/versions.py b/applications/ngarch/rose-meta/lfric-ngarch/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/ngarch/rose-meta/lfric-ngarch/versions.py
+++ b/applications/ngarch/rose-meta/lfric-ngarch/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/shallow_water/rose-meta/lfric-shallow_water/versions.py b/applications/shallow_water/rose-meta/lfric-shallow_water/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/shallow_water/rose-meta/lfric-shallow_water/versions.py
+++ b/applications/shallow_water/rose-meta/lfric-shallow_water/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/applications/transport/rose-meta/lfric-transport/versions.py b/applications/transport/rose-meta/lfric-transport/versions.py
index 152c043d0..f6822c2fd 100644
--- a/applications/transport/rose-meta/lfric-transport/versions.py
+++ b/applications/transport/rose-meta/lfric-transport/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/interfaces/coupled_interface/rose-meta/coupling/versions.py b/interfaces/coupled_interface/rose-meta/coupling/versions.py
index 152c043d0..f6822c2fd 100644
--- a/interfaces/coupled_interface/rose-meta/coupling/versions.py
+++ b/interfaces/coupled_interface/rose-meta/coupling/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/interfaces/jedi_lfric_interface/rose-meta/jedi_lfric_interface/versions.py b/interfaces/jedi_lfric_interface/rose-meta/jedi_lfric_interface/versions.py
index 152c043d0..f6822c2fd 100644
--- a/interfaces/jedi_lfric_interface/rose-meta/jedi_lfric_interface/versions.py
+++ b/interfaces/jedi_lfric_interface/rose-meta/jedi_lfric_interface/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/rose-stem/app/adjoint_tests/rose-app.conf b/rose-stem/app/adjoint_tests/rose-app.conf
index 76c5b0144..4130f3df4 100644
--- a/rose-stem/app/adjoint_tests/rose-app.conf
+++ b/rose-stem/app/adjoint_tests/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-adjoint_tests/vn3.0
+meta=lfric-adjoint_tests/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -374,6 +374,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/gravity_wave/rose-app.conf b/rose-stem/app/gravity_wave/rose-app.conf
index 8e7d37bc9..93172730a 100644
--- a/rose-stem/app/gravity_wave/rose-app.conf
+++ b/rose-stem/app/gravity_wave/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-gravity_wave/vn3.0
+meta=lfric-gravity_wave/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -368,6 +368,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=2
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='xyz'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/gungho_model/rose-app.conf b/rose-stem/app/gungho_model/rose-app.conf
index 6e300935f..d304f7f2b 100644
--- a/rose-stem/app/gungho_model/rose-app.conf
+++ b/rose-stem/app/gungho_model/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-gungho_model/vn3.0
+meta=lfric-gungho_model/vn3.0_t238
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef ; \
diff --git a/rose-stem/app/jedi_forecast/rose-app.conf b/rose-stem/app/jedi_forecast/rose-app.conf
index 3848d4ba0..5137eb2fd 100644
--- a/rose-stem/app/jedi_forecast/rose-app.conf
+++ b/rose-stem/app/jedi_forecast/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_forecast/vn3.0
+meta=jedi_forecast/vn3.0_t238
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef ; \
@@ -395,6 +395,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/jedi_forecast_pseudo/rose-app.conf b/rose-stem/app/jedi_forecast_pseudo/rose-app.conf
index 8d5864da0..92a1097ea 100644
--- a/rose-stem/app/jedi_forecast_pseudo/rose-app.conf
+++ b/rose-stem/app/jedi_forecast_pseudo/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_forecast_pseudo/vn3.0
+meta=jedi_forecast_pseudo/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -393,6 +393,8 @@ start_dump_filename='final_pert'
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/jedi_id_tlm_tests/rose-app.conf b/rose-stem/app/jedi_id_tlm_tests/rose-app.conf
index 1049af568..6462e8e34 100644
--- a/rose-stem/app/jedi_id_tlm_tests/rose-app.conf
+++ b/rose-stem/app/jedi_id_tlm_tests/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_id_tlm_tests/vn3.0
+meta=jedi_id_tlm_tests/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -396,6 +396,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/jedi_lfric_tests/rose-app.conf b/rose-stem/app/jedi_lfric_tests/rose-app.conf
index a683eda8f..36d9f83ad 100644
--- a/rose-stem/app/jedi_lfric_tests/rose-app.conf
+++ b/rose-stem/app/jedi_lfric_tests/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_lfric_tests/vn3.0
+meta=jedi_lfric_tests/vn3.0_t238
[command]
default=rose env-cat iodef_temp.xml -o iodef.xml; $LAUNCH_SCRIPT/launch-exe
@@ -396,6 +396,8 @@ start_dump_filename='final_pert'
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/jedi_tlm_forecast_tl/rose-app.conf b/rose-stem/app/jedi_tlm_forecast_tl/rose-app.conf
index ba5167caf..1c4de4464 100644
--- a/rose-stem/app/jedi_tlm_forecast_tl/rose-app.conf
+++ b/rose-stem/app/jedi_tlm_forecast_tl/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_tlm_forecast_tl/vn3.0
+meta=jedi_tlm_forecast_tl/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -394,6 +394,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/jedi_tlm_tests/rose-app.conf b/rose-stem/app/jedi_tlm_tests/rose-app.conf
index 8e0df8026..e8c978dd8 100644
--- a/rose-stem/app/jedi_tlm_tests/rose-app.conf
+++ b/rose-stem/app/jedi_tlm_tests/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_tlm_tests/vn3.0
+meta=jedi_tlm_tests/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -396,6 +396,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/jules/rose-app.conf b/rose-stem/app/jules/rose-app.conf
index 87b61ec08..b84b8ee42 100644
--- a/rose-stem/app/jules/rose-app.conf
+++ b/rose-stem/app/jules/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-jules/vn3.0
+meta=lfric-jules/vn3.0_t238
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -415,6 +415,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/lfric2lfric/rose-app.conf b/rose-stem/app/lfric2lfric/rose-app.conf
index 704d66740..def68f334 100644
--- a/rose-stem/app/lfric2lfric/rose-app.conf
+++ b/rose-stem/app/lfric2lfric/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-lfric2lfric/vn3.0
+meta=lfric-lfric2lfric/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -328,6 +328,8 @@ start_dump_filename='lfric2lfric_dump'
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='xyz'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/lfric_atm/rose-app.conf b/rose-stem/app/lfric_atm/rose-app.conf
index 723211c48..7c5820306 100644
--- a/rose-stem/app/lfric_atm/rose-app.conf
+++ b/rose-stem/app/lfric_atm/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-lfric_atm/vn3.0
+meta=lfric-lfric_atm/vn3.0_t238
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
diff --git a/rose-stem/app/lfric_coupled_atmosphere/rose-app.conf b/rose-stem/app/lfric_coupled_atmosphere/rose-app.conf
index ce50c6fa3..6f6488e98 100644
--- a/rose-stem/app/lfric_coupled_atmosphere/rose-app.conf
+++ b/rose-stem/app/lfric_coupled_atmosphere/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-lfric_atm/vn3.0
+meta=lfric-lfric_atm/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -410,6 +410,8 @@ surface_frac_ancil_path='vegetation/fractions_cci/qrparm.veg.frac.fixed'
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/linear_model/rose-app.conf b/rose-stem/app/linear_model/rose-app.conf
index 1c83c6635..02b22f535 100644
--- a/rose-stem/app/linear_model/rose-app.conf
+++ b/rose-stem/app/linear_model/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-linear_model/vn3.0
+meta=lfric-linear_model/vn3.0_t238
[command]
default=rose env-cat iodef_temp.xml -o iodef.xml; $LAUNCH_SCRIPT/launch-exe
@@ -400,6 +400,8 @@ start_dump_filename='final_2021060200-2021060207.pert'
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/name_transport/rose-app.conf b/rose-stem/app/name_transport/rose-app.conf
index 81070757a..8727d261f 100644
--- a/rose-stem/app/name_transport/rose-app.conf
+++ b/rose-stem/app/name_transport/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-name_transport/vn3.0
+meta=lfric-name_transport/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -367,6 +367,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/ngarch/rose-app.conf b/rose-stem/app/ngarch/rose-app.conf
index 0652790e8..b8cc3c6ed 100644
--- a/rose-stem/app/ngarch/rose-app.conf
+++ b/rose-stem/app/ngarch/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-ngarch/vn3.0
+meta=lfric-ngarch/vn3.0_t238
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -398,6 +398,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='xyz'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/shallow_water/rose-app.conf b/rose-stem/app/shallow_water/rose-app.conf
index 4925a58af..25d54332e 100644
--- a/rose-stem/app/shallow_water/rose-app.conf
+++ b/rose-stem/app/shallow_water/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-shallow_water/vn3.0
+meta=lfric-shallow_water/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -364,6 +364,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/transport/rose-app.conf b/rose-stem/app/transport/rose-app.conf
index b5a4cd880..3316dc373 100644
--- a/rose-stem/app/transport/rose-app.conf
+++ b/rose-stem/app/transport/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-transport/vn3.0
+meta=lfric-transport/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -366,6 +366,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/science/adjoint/rose-meta/lfric-adjoint/versions.py b/science/adjoint/rose-meta/lfric-adjoint/versions.py
index 152c043d0..f6822c2fd 100644
--- a/science/adjoint/rose-meta/lfric-adjoint/versions.py
+++ b/science/adjoint/rose-meta/lfric-adjoint/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py
index 152c043d0..f6822c2fd 100644
--- a/science/gungho/rose-meta/lfric-gungho/versions.py
+++ b/science/gungho/rose-meta/lfric-gungho/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
diff --git a/science/linear/rose-meta/lfric-linear/versions.py b/science/linear/rose-meta/lfric-linear/versions.py
index 152c043d0..f6822c2fd 100644
--- a/science/linear/rose-meta/lfric-linear/versions.py
+++ b/science/linear/rose-meta/lfric-linear/versions.py
@@ -31,3 +31,21 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_order_multigrid"], "1"
+ )
+
+ return config, self.reports
From 487faa66f61c27e16928fc39f3245e4b8eca987e Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Thu, 22 Jan 2026 20:49:10 +0000
Subject: [PATCH 10/29] keep Wchi for bubble tests
---
rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-dry.conf | 3 +++
.../app/gungho_model/opt/rose-app-bryan_fritsch-moist.conf | 3 +++
rose-stem/app/gungho_model/opt/rose-app-grabowski-clark.conf | 3 +++
rose-stem/app/gungho_model/opt/rose-app-robert-moist-lam.conf | 3 +++
.../app/gungho_model/opt/rose-app-robert-moist-smag-l300.conf | 3 +++
rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag.conf | 3 +++
rose-stem/app/solver/rose-app.conf | 2 ++
7 files changed, 20 insertions(+)
diff --git a/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-dry.conf b/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-dry.conf
index d1cd6a8b2..1bfcfcb04 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-dry.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-dry.conf
@@ -6,6 +6,9 @@ geometry='planar'
[namelist:extrusion]
number_of_layers=100
+[namelist:finite_element]
+coord_space='Wchi'
+
[namelist:formulation]
rotating=.false.
diff --git a/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-moist.conf b/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-moist.conf
index 93339cdb9..f7ea98e3a 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-moist.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-moist.conf
@@ -6,6 +6,9 @@ geometry='planar'
[namelist:extrusion]
number_of_layers=100
+[namelist:finite_element]
+coord_space='Wchi'
+
[namelist:formulation]
moisture_formulation='traditional'
rotating=.false.
diff --git a/rose-stem/app/gungho_model/opt/rose-app-grabowski-clark.conf b/rose-stem/app/gungho_model/opt/rose-app-grabowski-clark.conf
index 0194ec96f..1b8dab25c 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-grabowski-clark.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-grabowski-clark.conf
@@ -7,6 +7,9 @@ geometry='planar'
domain_height=2400.0
number_of_layers=100
+[namelist:finite_element]
+coord_space='Wchi'
+
[namelist:formulation]
moisture_formulation='traditional'
rotating=.false.
diff --git a/rose-stem/app/gungho_model/opt/rose-app-robert-moist-lam.conf b/rose-stem/app/gungho_model/opt/rose-app-robert-moist-lam.conf
index 436275a25..8a630dc41 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-robert-moist-lam.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-robert-moist-lam.conf
@@ -25,6 +25,9 @@ rim_width_ns=-1
domain_height=1500.0
number_of_layers=150
+[namelist:finite_element]
+coord_space='Wchi'
+
[namelist:formulation]
moisture_formulation='traditional'
rotating=.false.
diff --git a/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag-l300.conf b/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag-l300.conf
index d950a0730..9bc7827fe 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag-l300.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag-l300.conf
@@ -7,6 +7,9 @@ geometry='planar'
domain_height=1500.0
number_of_layers=300
+[namelist:finite_element]
+coord_space='Wchi'
+
[namelist:formulation]
moisture_formulation='traditional'
rotating=.false.
diff --git a/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag.conf b/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag.conf
index 0ea5ca86b..26124c775 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag.conf
@@ -7,6 +7,9 @@ geometry='planar'
domain_height=1500.0
number_of_layers=150
+[namelist:finite_element]
+coord_space='Wchi'
+
[namelist:formulation]
moisture_formulation='traditional'
rotating=.false.
diff --git a/rose-stem/app/solver/rose-app.conf b/rose-stem/app/solver/rose-app.conf
index 51300e343..3cc3be0b6 100644
--- a/rose-stem/app/solver/rose-app.conf
+++ b/rose-stem/app/solver/rose-app.conf
@@ -47,6 +47,8 @@ planet_radius=6371229.0
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=2
+coord_order_multigrid=2
+coord_space='Wchi'
coord_system='xyz'
element_order_h=0
element_order_v=0
From f1d1cc515b94341cf59a1a79f789a97b4e437205 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Thu, 22 Jan 2026 21:24:33 +0000
Subject: [PATCH 11/29] these weren't picked up by upgrade macro
---
.../lfric-solver/HEAD/rose-meta.conf | 27 +++++++++++++++++++
rose-stem/app/lfric2um/rose-app.conf | 2 ++
2 files changed, 29 insertions(+)
diff --git a/applications/solver/rose-meta/lfric-solver/HEAD/rose-meta.conf b/applications/solver/rose-meta/lfric-solver/HEAD/rose-meta.conf
index e068d8a6e..cd53e9a20 100644
--- a/applications/solver/rose-meta/lfric-solver/HEAD/rose-meta.conf
+++ b/applications/solver/rose-meta/lfric-solver/HEAD/rose-meta.conf
@@ -280,6 +280,33 @@ range=0:
sort-key=Panel-A03
type=integer
+[namelist:finite_element=coord_order]
+compulsory=true
+description=Horizontal polynomial order of the coordinate space.
+fail-if=this < 1 ;
+help=Horizontal order of the polynomials used to describe the coordinate space.
+ =The vertical order is determined by the coordinate system. If a native
+ =coordinates system is chosen, the vertical coordinates are linear.
+ =If Cartesian coordinates are chosen, the vertical coordinates have the same
+ =order as the horizontal.
+!kind=default
+range=1:
+sort-key=Panel-A03
+type=integer
+
+[namelist:finite_element=coord_order_multigrid]
+compulsory=true
+description=Horizontal polynomial order of coordinates for multigrid meshes.
+fail-if=this < 1 ;
+help=The order of the coordinate spaces can be set separately for the prime
+ =mesh and the others in a multigrid chain. For instance it may not be
+ =necessary to use higher order coordinates on coarser meshes.
+ =The vertical order is set as for the coord_order option.
+!kind=default
+range=1:
+sort-key=Panel-A03
+type=integer
+
[namelist:finite_element=coord_system]
compulsory=true
description=The coordinate system that will be stored in the chi coordinate
diff --git a/rose-stem/app/lfric2um/rose-app.conf b/rose-stem/app/lfric2um/rose-app.conf
index 6271a1339..bce23d074 100644
--- a/rose-stem/app/lfric2um/rose-app.conf
+++ b/rose-stem/app/lfric2um/rose-app.conf
@@ -79,6 +79,8 @@ planet_radius=6371229.0
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
From 3241a6b836bc3d443fa3d75871c05003891dd46e Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Fri, 23 Jan 2026 09:27:48 +0000
Subject: [PATCH 12/29] fixes to solver and scintelapi
---
.../lfric-solver/HEAD/rose-meta.conf | 30 +++++++++++--------
rose-stem/app/scintelapi/rose-app.conf | 2 ++
2 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/applications/solver/rose-meta/lfric-solver/HEAD/rose-meta.conf b/applications/solver/rose-meta/lfric-solver/HEAD/rose-meta.conf
index cd53e9a20..8f95fc215 100644
--- a/applications/solver/rose-meta/lfric-solver/HEAD/rose-meta.conf
+++ b/applications/solver/rose-meta/lfric-solver/HEAD/rose-meta.conf
@@ -267,19 +267,6 @@ sort-key=Panel-A01
value-titles=Triangluar, Quadrilateral
values='triangle', 'quadrilateral'
-[namelist:finite_element=coord_order]
-compulsory=true
-description=Order of the coordinate space.
-fail-if=this < 0 ;
-help=Order of the coordinate space. If 0 is chosen, this will be the continuous
- =W0 space, with the order set by the element order. This option is only
- =possible for certain geometries and topologies. Otherwise, this will be
- =a discontinuous space.
-!kind=default
-range=0:
-sort-key=Panel-A03
-type=integer
-
[namelist:finite_element=coord_order]
compulsory=true
description=Horizontal polynomial order of the coordinate space.
@@ -307,6 +294,23 @@ range=1:
sort-key=Panel-A03
type=integer
+[namelist:finite_element=coord_space]
+compulsory=true
+description=The finite element space to use to hold the coordinate fields.
+!enumeration=true
+fail-if=
+help=Different spaces have different continuity properties:
+ =Wchi: fully discontinuous.
+ =Wtheta: discontinuous in the horizontal, but continuous in the vertical.
+ = This is only appropriate for native coordinate systems, which
+ = separate the horizontal and vertical coordinates.
+ =W0: fully continuous. This is only appropriate for non-periodic planar
+ = domains, or when using the 'xyz' coordinate system on spherical
+ = domains.
+sort-key=Panel-A04
+value-titles='Wchi', 'Wtheta', 'W0'
+values='Wchi', 'Wtheta', 'W0'
+
[namelist:finite_element=coord_system]
compulsory=true
description=The coordinate system that will be stored in the chi coordinate
diff --git a/rose-stem/app/scintelapi/rose-app.conf b/rose-stem/app/scintelapi/rose-app.conf
index 4133bc9a9..b7e7f9db8 100644
--- a/rose-stem/app/scintelapi/rose-app.conf
+++ b/rose-stem/app/scintelapi/rose-app.conf
@@ -50,6 +50,8 @@ planet_radius=6371229.0
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='xyz'
element_order_h=0
element_order_v=0
From bccbce25857d726aaaa7d8908d22baaf7c75b9bf Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Fri, 23 Jan 2026 16:17:47 +0000
Subject: [PATCH 13/29] remove workaround for vertical slice tests
---
rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-dry.conf | 3 ---
.../app/gungho_model/opt/rose-app-bryan_fritsch-moist.conf | 3 ---
rose-stem/app/gungho_model/opt/rose-app-grabowski-clark.conf | 3 ---
rose-stem/app/gungho_model/opt/rose-app-robert-moist-lam.conf | 3 ---
.../app/gungho_model/opt/rose-app-robert-moist-smag-l300.conf | 3 ---
rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag.conf | 3 ---
6 files changed, 18 deletions(-)
diff --git a/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-dry.conf b/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-dry.conf
index 1bfcfcb04..d1cd6a8b2 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-dry.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-dry.conf
@@ -6,9 +6,6 @@ geometry='planar'
[namelist:extrusion]
number_of_layers=100
-[namelist:finite_element]
-coord_space='Wchi'
-
[namelist:formulation]
rotating=.false.
diff --git a/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-moist.conf b/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-moist.conf
index f7ea98e3a..93339cdb9 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-moist.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-bryan_fritsch-moist.conf
@@ -6,9 +6,6 @@ geometry='planar'
[namelist:extrusion]
number_of_layers=100
-[namelist:finite_element]
-coord_space='Wchi'
-
[namelist:formulation]
moisture_formulation='traditional'
rotating=.false.
diff --git a/rose-stem/app/gungho_model/opt/rose-app-grabowski-clark.conf b/rose-stem/app/gungho_model/opt/rose-app-grabowski-clark.conf
index 1b8dab25c..0194ec96f 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-grabowski-clark.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-grabowski-clark.conf
@@ -7,9 +7,6 @@ geometry='planar'
domain_height=2400.0
number_of_layers=100
-[namelist:finite_element]
-coord_space='Wchi'
-
[namelist:formulation]
moisture_formulation='traditional'
rotating=.false.
diff --git a/rose-stem/app/gungho_model/opt/rose-app-robert-moist-lam.conf b/rose-stem/app/gungho_model/opt/rose-app-robert-moist-lam.conf
index 8a630dc41..436275a25 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-robert-moist-lam.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-robert-moist-lam.conf
@@ -25,9 +25,6 @@ rim_width_ns=-1
domain_height=1500.0
number_of_layers=150
-[namelist:finite_element]
-coord_space='Wchi'
-
[namelist:formulation]
moisture_formulation='traditional'
rotating=.false.
diff --git a/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag-l300.conf b/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag-l300.conf
index 9bc7827fe..d950a0730 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag-l300.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag-l300.conf
@@ -7,9 +7,6 @@ geometry='planar'
domain_height=1500.0
number_of_layers=300
-[namelist:finite_element]
-coord_space='Wchi'
-
[namelist:formulation]
moisture_formulation='traditional'
rotating=.false.
diff --git a/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag.conf b/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag.conf
index 26124c775..0ea5ca86b 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-robert-moist-smag.conf
@@ -7,9 +7,6 @@ geometry='planar'
domain_height=1500.0
number_of_layers=150
-[namelist:finite_element]
-coord_space='Wchi'
-
[namelist:formulation]
moisture_formulation='traditional'
rotating=.false.
From 56ab18d7a27c9aa50080bbfeab0877f8b7660bc7 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Fri, 23 Jan 2026 16:18:47 +0000
Subject: [PATCH 14/29] another contributor signing
---
CONTRIBUTORS.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index da42a74b5..74b8826f0 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -5,3 +5,4 @@
| james-bruten-mo | James Bruten | Met Office | 2025-12-09 |
| jennyhickson | Jenny Hickson | Met Office | 2025-12-10 |
| mo-marqh | mark Hedley | Met Office | 2025-12-11 |
+| tommbendall | Thomas Bendall | Met Office | 2026-01-23 |
\ No newline at end of file
From e860c12d2cb8174748930ca166065d16c6f6e854 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Fri, 23 Jan 2026 16:50:15 +0000
Subject: [PATCH 15/29] copy over files from FCM
---
.../lfric-gungho/HEAD/rose-meta.conf | 73 +++-
.../source/orography/init_altitude_mod.x90 | 4 +-
.../orography/setup_orography_alg_mod.x90 | 332 ++++++++++++------
.../orography/surface_altitude_alg_mod.x90 | 293 ++++++++++++++--
4 files changed, 560 insertions(+), 142 deletions(-)
diff --git a/science/gungho/rose-meta/lfric-gungho/HEAD/rose-meta.conf b/science/gungho/rose-meta/lfric-gungho/HEAD/rose-meta.conf
index 15f3d9684..7b4829138 100644
--- a/science/gungho/rose-meta/lfric-gungho/HEAD/rose-meta.conf
+++ b/science/gungho/rose-meta/lfric-gungho/HEAD/rose-meta.conf
@@ -3200,16 +3200,6 @@ range=0:100
sort-key=02a
type=integer
-[namelist:initialization=n_orog_smooth]
-compulsory=true
-description=Number of passes of a 1-2-1 smoothing filter applied to the orography.
-fail-if=this != "0" and namelist:boundaries=limited_area =="'.false.'" ;
-help=Smoothing is only available to limited area (lat/lon non-periodic mesh) models.
-!kind=default
-range=0:
-sort-key=Panel-A07
-type=integer
-
[namelist:initialization=read_w2h_wind]
compulsory=true
!default=kind
@@ -3259,15 +3249,6 @@ help=The sea-surface temperature can either be read from an ancillary file
sort-key=01b
values='ancillary','start_dump','surf'
-[namelist:initialization=w0_orography_mapping]
-compulsory=true
-description=Whether to map orography between meshes using W0 mapping rather than W3
-help=
-!kind=default
-ns=namelist/Science/Dynamics
-sort-key=Panel-A14
-type=logical
-
[namelist:initialization=zero_w2v_wind]
compulsory=true
description=Zero vertical DoFs of initial wind field
@@ -4061,6 +4042,28 @@ help=Settings for the Schar, Witch-of-Agnesi, Bell-shaped and DCMIP 2.0.0 analyt
ns=namelist/Model/Planet/Orography
sort-key=Panel-A02
+[namelist:orography=n_orog_smooth]
+compulsory=true
+description=Number of passes of a 1-2-1 smoothing filter applied to the orography.
+fail-if=this != "0" and namelist:boundaries=limited_area =="'.false.'" ;
+help=Smoothing is only available to limited area (lat/lon non-periodic mesh) models.
+!kind=default
+range=0:
+sort-key=Panel-A07
+type=integer
+
+[namelist:orography=orography_order]
+compulsory=true
+description=Finite element order for surface altitude field in W0
+fail-if=this < 1 ;
+help=The order of polynomial for the CG space used to describe the surface
+ =altitude field. The lowest allowed value is 1, corresponding to linear
+ =finite elements.
+!kind=default
+range=1:
+sort-key=Panel-A04
+type=integer
+
[namelist:orography=orog_init_option]
compulsory=true
description=Choice for initialization of orography fields
@@ -4102,6 +4105,38 @@ trigger=namelist:orography_agnesi_cartesian: 'agnesi' ;
value-titles=None, Agnesi, Bell-shaped, Schar, DCMIP 2.0.0
values='none', 'agnesi', 'bell', 'schar', 'dcmip200'
+[namelist:orography=w0_method]
+compulsory=true
+description=The method used to compute the representation of orography at
+ =cell corners (W0 points) from cell-centred values.
+!enumeration=true
+help=Choose the method for computing the orography at W0 points from:
+ =average : Values at cell corners are taken from the unweighted
+ average of neighbouring corner values. This will
+ in-effect act as a smoothing operation on the orography.
+ =project : Perform a Galerkin projection from cell-centred values
+ to obtain the values at cell corners. This ensures that
+ the power spectrum of values at cell corners matches the
+ power spectrum of the cell-centred values.
+ =spectral : Combines Galerkin projections for each geometric entity
+ (edges, faces, vertices) to obtain the values at cell
+ corners. This method preserves the spectral properties
+ of the input orography for each of the geometric
+ entities. It is only implemented for orography order 2
+ (corresponding to quadratic coordinate order).
+sort-key=Panel-A03
+trigger=
+value-titles=Average, Project, Spectral
+values='average', 'project', 'spectral'
+
+[namelist:orography=w0_multigrid_mapping]
+compulsory=true
+description=Whether to map orography between meshes using W0 mapping rather than W3
+help=
+!kind=default
+sort-key=Panel-A14
+type=logical
+
#==============================================================================
# OROGRAPHY (AGNESI CARTESIAN)
#==============================================================================
diff --git a/science/gungho/source/orography/init_altitude_mod.x90 b/science/gungho/source/orography/init_altitude_mod.x90
index c35c7027e..2cdff5590 100644
--- a/science/gungho/source/orography/init_altitude_mod.x90
+++ b/science/gungho/source/orography/init_altitude_mod.x90
@@ -15,12 +15,12 @@ module init_altitude_mod
use function_space_collection_mod, only : function_space_collection
use fs_continuity_mod, only : W3
use function_space_mod, only : function_space_type
- use initialization_config_mod, only : n_orog_smooth
use mesh_mod, only : mesh_type
use orography_config_mod, only : orog_init_option, &
orog_init_option_analytic, &
orog_init_option_ancil, &
- orog_init_option_start_dump
+ orog_init_option_start_dump, &
+ n_orog_smooth
use orography_control_mod, only : set_orography_option
use sci_smooth_orog_kernel_mod, only : smooth_orog_kernel_type
use io_config_mod, only : use_xios_io
diff --git a/science/gungho/source/orography/setup_orography_alg_mod.x90 b/science/gungho/source/orography/setup_orography_alg_mod.x90
index 50338b895..71b64dfb8 100644
--- a/science/gungho/source/orography/setup_orography_alg_mod.x90
+++ b/science/gungho/source/orography/setup_orography_alg_mod.x90
@@ -7,16 +7,32 @@
module setup_orography_alg_mod
- use constants_mod, only: i_def, str_def, l_def
+ ! Infrastructure
+ use constants_mod, only: i_def, str_def, l_def, r_def
use extrusion_mod, only: TWOD, SHIFTED, DOUBLE_LEVEL
use field_mod, only: field_type
use function_space_mod, only: function_space_type
use fs_continuity_mod, only: W3, W0
use function_space_collection_mod, only: function_space_collection
+ use inventory_by_local_mesh_mod, only: inventory_by_local_mesh_type
use inventory_by_mesh_mod, only: inventory_by_mesh_type
+ use local_mesh_mod, only: local_mesh_type
+ use log_mod, only: log_event, LOG_LEVEL_ERROR, &
+ log_scratch_space, LOG_LEVEL_INFO
use mesh_collection_mod, only: mesh_collection
use mesh_mod, only: mesh_type
- use log_mod, only: log_event, LOG_LEVEL_ERROR, log_scratch_space
+
+ ! Configs
+ use base_mesh_config_mod, only: prime_mesh_name
+ use orography_config_mod, only: orography_order
+
+ ! Other algorithms
+ use sci_field_minmax_alg_mod, only: log_field_minmax
+ use surface_altitude_alg_mod, only: surface_altitude_alg
+
+ ! Kernels
+ use sample_field_kernel_mod, only: sample_field_kernel_type
+ use sci_multiplicity_kernel_mod, only: multiplicity_kernel_type
implicit none
@@ -31,24 +47,27 @@ contains
!> from a previous mesh. Then the orography field for the
!> meshes is assigned from the respective surface
!> altitude field for each mesh.
- !> @param[in] all_mesh_names An array of the names of all the base meshes.
- !> @param[in] orography_mesh_name Name of mesh where surface altitude is read in.
+ !> @param[in] all_mesh_names An array of the names of all the
+ !! model's base meshes.
+ !> @param[in] orography_mesh_name Name of mesh which defines the
+ !! orography. The surface altitude is
+ !! read into this mesh.
!> @param[in,out] chi_inventory Contains the model's coordinate fields
!! paired with their mesh.
!> @param[in] panel_id_inventory Contains the model's panel ID fields
!! paired with their mesh.
- !> @param[in] surface_altitude Surface altitude on the orography mesh.
- subroutine setup_orography_alg( all_mesh_names, &
- orography_mesh_name, &
- chi_inventory, &
- panel_id_inventory, &
- surface_altitude )
+ !> @param[in] surf_alt_w3 Surface altitude on the orography mesh
+ subroutine setup_orography_alg( all_mesh_names, &
+ orography_mesh_name, &
+ chi_inventory, &
+ panel_id_inventory, &
+ surf_alt_w3 )
use assign_orography_field_mod, only: assign_orography_field
use surface_altitude_alg_mod, only: surface_altitude_alg
use intermesh_mappings_alg_mod, only: map_scalar_intermesh, &
map_w0_intermesh
- use initialization_config_mod, only: w0_orography_mapping
+ use orography_config_mod, only: w0_multigrid_mapping
implicit none
@@ -57,152 +76,264 @@ contains
character(str_def), intent(in) :: orography_mesh_name
type(inventory_by_mesh_type), intent(inout) :: chi_inventory
type(inventory_by_mesh_type), intent(in) :: panel_id_inventory
- type(field_type), intent(in) :: surface_altitude
+ type(field_type), intent(in) :: surf_alt_w3
! local variables
- character(str_def), allocatable :: source_mesh_names(:)
- character(str_def), allocatable :: target_mesh_names(:)
- type(mesh_type), pointer :: source_mesh => null()
- type(mesh_type), pointer :: source_twod_mesh => null()
- type(mesh_type), pointer :: target_mesh => null()
- type(mesh_type), pointer :: target_twod_mesh => null()
- type(mesh_type), pointer :: shifted_mesh => null()
- type(mesh_type), pointer :: double_level_mesh => null()
- integer(kind=i_def) :: i, surface_order_h, surface_order_v
- integer(kind=i_def) :: num_meshes
- type(field_type), allocatable :: surface_altitude_list(:)
- type(field_type), pointer :: source_surface_altitude => null()
- type(inventory_by_mesh_type) :: surface_altitude_inventory
- integer(i_def) :: fs_id
- type(function_space_type), pointer :: fs => null()
+ integer(kind=i_def) :: i, fs_id
+ integer(kind=i_def) :: num_meshes
+ integer(kind=i_def) :: halo_depth
+ integer(kind=i_def) :: w0_order
+ character(len=str_def), allocatable :: source_mesh_names(:)
+ character(len=str_def), allocatable :: target_mesh_names(:)
+ type(mesh_type), pointer :: source_mesh
+ type(mesh_type), pointer :: source_twod_mesh
+ type(mesh_type), pointer :: target_mesh
+ type(mesh_type), pointer :: target_twod_mesh
+ type(mesh_type), pointer :: shifted_mesh
+ type(mesh_type), pointer :: double_level_mesh
+ type(local_mesh_type), pointer :: local_mesh
+ type(field_type) :: ones
+ type(field_type) :: multiplicity_w0
+ type(field_type) :: rmultiplicity_w0
+ type(field_type), pointer :: chi(:)
+ type(field_type), pointer :: panel_id
+ type(field_type), pointer :: surf_alt_w0_ptr
+ type(field_type), target :: surf_alt_w0
+ type(field_type), target :: surf_alt_w0_k0
+ type(field_type), target, allocatable :: surf_alt_list(:)
+ type(field_type), pointer :: source_surf_alt
+ type(inventory_by_local_mesh_type) :: surf_alt_inventory
+ type(function_space_type), pointer :: w0_fs, w3_fs, fs
num_meshes = SIZE(all_mesh_names)
- surface_order_h = surface_altitude%get_element_order_h()
- surface_order_v = surface_altitude%get_element_order_v()
-
- allocate(surface_altitude_list(num_meshes))
+ allocate(surf_alt_list(num_meshes))
! Only create mesh map list if we have more than one mesh
if (num_meshes > 1) then
- call create_map_list(all_mesh_names, orography_mesh_name, source_mesh_names, target_mesh_names)
+ call create_map_list( &
+ all_mesh_names, orography_mesh_name, &
+ source_mesh_names, target_mesh_names &
+ )
end if
! Initialise variables and add surface altitude to inventory.
- ! Check whether field should be mapped in W3 or W0
- call surface_altitude_inventory%initialise(name="surface_altitude", table_len=num_meshes)
+ call surf_alt_inventory%initialise( &
+ name="surface_altitude", table_len=num_meshes &
+ )
source_mesh => mesh_collection%get_mesh(orography_mesh_name)
source_twod_mesh => mesh_collection%get_mesh(source_mesh, TWOD)
+ local_mesh => source_mesh%get_local_mesh()
+ halo_depth = source_twod_mesh%get_halo_depth()
+
+ ! Check method is valid
+ if (w0_multigrid_mapping .and. orography_order > 1 .and. &
+ trim(orography_mesh_name) /= trim(prime_mesh_name)) then
+ call log_event( &
+ 'Orography order greater than 1 and W0 multigrid mapping is ' // &
+ 'only possible when orography is defined on prime mesh', &
+ LOG_LEVEL_ERROR &
+ )
+ end if
+
+ ! ======================================================================== !
+ ! Set orography on "orography_mesh"
+ ! ======================================================================== !
+
+ ! Obtain surface altitude field in W0 on orography mesh
+ w0_order = MAX(orography_order - 1, 0)
+ w0_fs => function_space_collection%get_fs( &
+ source_twod_mesh, w0_order, w0_order, W0 &
+ )
+ call surf_alt_w0%initialise(w0_fs, halo_depth=halo_depth)
+ call chi_inventory%get_field_array(source_mesh, chi)
+ call panel_id_inventory%get_field(source_mesh, panel_id)
+
+ ! Compute surface altitude in W0 space
+ call surface_altitude_alg(surf_alt_w0, surf_alt_w3, chi, panel_id)
- if (w0_orography_mapping) then
+ call log_field_minmax(LOG_LEVEL_INFO, 'srf_alt_w3', surf_alt_w3)
+ call log_field_minmax(LOG_LEVEL_INFO, 'srf_alt_w0', surf_alt_w0)
+
+ ! ------------------------------------------------------------------------ !
+ ! Set the first surface altitude in the inventory
+ ! ------------------------------------------------------------------------ !
+
+ if (w0_multigrid_mapping) then
fs_id = W0
- call surface_altitude_list(1)%initialise( vector_space = &
- function_space_collection%get_fs(source_twod_mesh, surface_order_h, &
- surface_order_v, fs_id), &
- halo_depth = source_twod_mesh%get_halo_depth() )
- call surface_altitude_alg(surface_altitude_list(1), surface_altitude)
+ w0_order = 0 ! Higher-order W0 mapping not implemented
+ call surf_alt_list(1)%initialise(w0_fs, halo_depth=halo_depth)
+ call invoke( setval_X(surf_alt_list(1), surf_alt_w0) )
else
fs_id = W3
- call surface_altitude_list(1)%initialise( vector_space = &
- function_space_collection%get_fs(source_twod_mesh, surface_order_h, &
- surface_order_v, fs_id), &
- halo_depth = source_twod_mesh%get_halo_depth() )
- call invoke( setval_X(surface_altitude_list(1), surface_altitude) )
+ w3_fs => surf_alt_w3%get_function_space()
+ call surf_alt_list(1)%initialise(w3_fs, halo_depth=halo_depth)
+ call invoke( setval_X(surf_alt_list(1), surf_alt_w3) )
end if
- fs => function_space_collection%get_fs(source_twod_mesh, surface_order_h, &
- surface_order_v, fs_id)
+ ! Copy the first field into the inventory
+ call surf_alt_inventory%copy_field(surf_alt_list(1), local_mesh)
- call surface_altitude_inventory%copy_field(surface_altitude_list(1), source_twod_mesh)
+ ! ------------------------------------------------------------------------ !
+ ! Adjust coordinates to account for orography (on orography mesh)
+ ! ------------------------------------------------------------------------ !
! Assignment of orography from surface_altitude on orography mesh
- call assign_orography_field(chi_inventory, panel_id_inventory, &
- source_mesh, surface_altitude)
+ call assign_orography_field( &
+ chi_inventory, panel_id_inventory, source_mesh, surf_alt_w0 &
+ )
! Assign for shifted and double level meshes if they exist
if (mesh_collection%check_for(source_mesh, SHIFTED)) then
shifted_mesh => mesh_collection%get_mesh(source_mesh, SHIFTED)
- call assign_orography_field(chi_inventory, panel_id_inventory, &
- shifted_mesh, surface_altitude)
+ call assign_orography_field( &
+ chi_inventory, panel_id_inventory, shifted_mesh, surf_alt_w0 &
+ )
end if
if (mesh_collection%check_for(source_mesh, DOUBLE_LEVEL)) then
double_level_mesh => mesh_collection%get_mesh(source_mesh, DOUBLE_LEVEL)
- call assign_orography_field(chi_inventory, panel_id_inventory, &
- double_level_mesh, surface_altitude)
+ call assign_orography_field( &
+ chi_inventory, panel_id_inventory, double_level_mesh, surf_alt_w0 &
+ )
end if
+ ! ======================================================================== !
+ ! Calculate orography for other meshes by mapping surface altitude
+ ! ======================================================================== !
+
! Loop through other meshes in list
do i = 1, num_meshes - 1
- source_mesh => mesh_collection%get_mesh(source_mesh_names(i))
+ source_mesh => mesh_collection%get_mesh(source_mesh_names(i))
source_twod_mesh => mesh_collection%get_mesh(source_mesh, TWOD)
-
- target_mesh => mesh_collection%get_mesh(target_mesh_names(i))
+ target_mesh => mesh_collection%get_mesh(target_mesh_names(i))
target_twod_mesh => mesh_collection%get_mesh(target_mesh, TWOD)
+ local_mesh => source_twod_mesh%get_local_mesh()
+ halo_depth = target_twod_mesh%get_halo_depth()
- !------------------------------------------------------------------------!
- ! Create the surface altitude fields on the meshes
- !------------------------------------------------------------------------!
- fs => function_space_collection%get_fs(target_twod_mesh, surface_order_h, &
- surface_order_v, fs_id)
- call surface_altitude_inventory%get_field(source_twod_mesh, source_surface_altitude)
+ fs => function_space_collection%get_fs( &
+ target_twod_mesh, w0_order, w0_order, fs_id &
+ )
+ call surf_alt_inventory%get_field(local_mesh, source_surf_alt)
- call surface_altitude_list(i+1)%initialise(vector_space = fs, &
- halo_depth = target_twod_mesh%get_halo_depth())
+ call surf_alt_list(i+1)%initialise(fs, halo_depth=halo_depth)
! We use a simple mapping from source to target meshes
- if (w0_orography_mapping) then
-
- call map_w0_intermesh(surface_altitude_list(i+1), &
- source_surface_altitude)
- else
+ if (w0_multigrid_mapping) then
+ ! -------------------------------------------------------------------- !
+ ! Restrict/prolong
+ ! -------------------------------------------------------------------- !
+ ! If orography_order > 1 need to first map this to lower-order W0
+ if (orography_order > 1 .and. &
+ source_mesh_names(i) == orography_mesh_name) then
+
+ w0_fs => function_space_collection%get_fs(target_twod_mesh, 0, 0, W0)
+ call surf_alt_w0_k0%initialise(w0_fs)
+ call ones%initialise(w0_fs)
+ call multiplicity_w0%initialise(w0_fs)
+ call rmultiplicity_w0%initialise(w0_fs)
+
+ call invoke( &
+ ! First need to compute rmultiplicity in W0
+ setval_c(ones, 1.0_r_def), &
+ setval_c(multiplicity_w0, 0.0_r_def), &
+ multiplicity_kernel_type(multiplicity_w0), &
+ X_divideby_Y(rmultiplicity_w0, ones, multiplicity_w0), &
+ ! Obtain lowest-order W0 field through sampling
+ setval_c(surf_alt_w0_k0, 0.0_r_def), &
+ sample_field_kernel_type( &
+ surf_alt_w0_k0, rmultiplicity_w0, source_surf_alt &
+ ) &
+ )
+ ! Restrict/prolong W0 field
+ call map_w0_intermesh(surf_alt_list(i+1), surf_alt_w0_k0)
+
+ else
+ ! Restrict/prolong W0 field
+ call map_w0_intermesh(surf_alt_list(i+1), source_surf_alt)
+ end if
- call map_scalar_intermesh(surface_altitude_list(i+1), &
- source_surface_altitude)
+ surf_alt_w0_ptr => surf_alt_list(i+1)
+
+ else ! W3 mapping
+ ! -------------------------------------------------------------------- !
+ ! Restrict/prolong W3 field
+ ! -------------------------------------------------------------------- !
+ call map_scalar_intermesh(surf_alt_list(i+1), source_surf_alt)
+
+ ! -------------------------------------------------------------------- !
+ ! Obtain surface altitude in W0 space
+ ! -------------------------------------------------------------------- !
+ w0_fs => function_space_collection%get_fs( &
+ target_twod_mesh, w0_order, w0_order, W0 &
+ )
+ call surf_alt_w0%initialise(w0_fs, halo_depth=halo_depth)
+ call chi_inventory%get_field_array(target_mesh, chi)
+ call panel_id_inventory%get_field(target_mesh, panel_id)
+
+ ! Compute surface altitude in W0 space
+ call surface_altitude_alg( &
+ surf_alt_w0, surf_alt_list(i+1), chi, panel_id &
+ )
+
+ surf_alt_w0_ptr => surf_alt_w0
end if
- ! Add new surface altitude field to inventory for potential future mapping
- call surface_altitude_inventory%copy_field(surface_altitude_list(i+1), target_twod_mesh)
+ ! Add new surface altitude field to inventory for future mapping
+ local_mesh => target_twod_mesh%get_local_mesh()
+ call surf_alt_inventory%copy_field(surf_alt_list(i+1), local_mesh)
- !------------------------------------------------------------------------!
- ! Use the surface altitude to introduce orography on meshes
- !------------------------------------------------------------------------!
- call assign_orography_field(chi_inventory, panel_id_inventory, target_mesh, &
- surface_altitude_list(i+1))
+ ! ---------------------------------------------------------------------- !
+ ! Adjust coordinates
+ ! ---------------------------------------------------------------------- !
+ call assign_orography_field( &
+ chi_inventory, panel_id_inventory, target_mesh, surf_alt_w0_ptr &
+ )
! Assign for shifted and double level meshes if they exist
if (mesh_collection%check_for(target_mesh, SHIFTED)) then
shifted_mesh => mesh_collection%get_mesh(target_mesh, SHIFTED)
- call assign_orography_field(chi_inventory, panel_id_inventory, &
- shifted_mesh, surface_altitude_list(i+1))
+ call assign_orography_field( &
+ chi_inventory, panel_id_inventory, shifted_mesh, surf_alt_w0_ptr &
+ )
end if
if (mesh_collection%check_for(target_mesh, DOUBLE_LEVEL)) then
double_level_mesh => mesh_collection%get_mesh(target_mesh, DOUBLE_LEVEL)
- call assign_orography_field(chi_inventory, panel_id_inventory, &
- double_level_mesh, surface_altitude_list(i+1))
+ call assign_orography_field( &
+ chi_inventory, panel_id_inventory, double_level_mesh, &
+ surf_alt_w0_ptr &
+ )
end if
end do
! Tidy up
- call surface_altitude_inventory%clear()
- deallocate(surface_altitude_list)
- nullify(source_mesh, source_twod_mesh, target_mesh, target_twod_mesh, &
- source_surface_altitude)
-
+ call surf_alt_inventory%clear()
+ deallocate(surf_alt_list)
end subroutine setup_orography_alg
- !> @brief Iterates through list of bases meshes, and finds mesh mappings such that all meshes
- !> get orography assigned to them.
- !> @details This algorithm implments a tree search like method to create a list of mappings pairs
- !> in order to map orography through all meshes.
- !> @param[in] all_mesh_names An array of the names of all the base meshes.
- !> @param[in] orography_mesh_name Name of mesh where surface altitude is read in.
- !> @param[in,out] source_mesh_names An ordered array of meshes to map orography from.
- !> @param[in,out] target_mesh_names An ordered array of meshes to map orography to.
+ !> @brief Creates ordered lists of base meshes for assigning orography
+ !> @details The orography needs to be defined consistently between different
+ !! meshes. The "orography mesh" is treated as the original source,
+ !! and if a surface altitude ancil is used then it is should be read
+ !! into this mesh.
+ !! The orography on other meshes is defined by a sequence of
+ !! restriction/prolongation operations, starting from the
+ !! "orography_mesh".
+ !! This algorithm implements a tree search method to create the
+ !! list of mappings to ensure that the orography is defined on all
+ !! meshes. It returns ordered lists of source and target meshes for
+ !! mapping the surface altitude field.
+ !> @param[in] all_mesh_names Array of all names of base meshes.
+ !> @param[in] orography_mesh_name Name of mesh on which the original
+ !! surface altitude field is defined.
+ !> @param[in,out] source_mesh_names Ordered array of mesh names to map
+ !! surface altitude from.
+ !> @param[in,out] target_mesh_names Ordered array of mesh names to map
+ !! surface altitude to.
subroutine create_map_list( all_mesh_names, &
orography_mesh_name, &
source_mesh_names, &
@@ -216,8 +347,8 @@ contains
character(str_def), allocatable, intent(inout) :: target_mesh_names(:)
character(str_def), allocatable :: new_mesh_names(:)
- integer(kind=i_def) :: num_meshes, mesh_counter, mesh_index, &
- i, j, k, i_max, next_index
+ integer(kind=i_def) :: num_meshes, mesh_counter, mesh_index
+ integer(kind=i_def) :: i, j, k, i_max, next_index
character(str_def), allocatable :: used_mesh_names(:)
integer(kind=i_def), allocatable :: ip1(:)
type(mesh_type), pointer :: mesh => null()
@@ -320,8 +451,9 @@ contains
end if
end do
if (.not. accounted_for) then
- write( log_scratch_space, '(3A)' ) &
- 'Mesh', new_mesh_names(i), 'will not have orography assigned to it. Check that mesh maps are correct'
+ write( log_scratch_space, '(3A)' ) &
+ 'Mesh', new_mesh_names(i), 'will not have orography ' // &
+ 'assigned to it. Check that mesh maps are correct'
call log_event( log_scratch_space, LOG_LEVEL_ERROR )
end if
end do
diff --git a/science/gungho/source/orography/surface_altitude_alg_mod.x90 b/science/gungho/source/orography/surface_altitude_alg_mod.x90
index 060d9805b..cabee1b77 100644
--- a/science/gungho/source/orography/surface_altitude_alg_mod.x90
+++ b/science/gungho/source/orography/surface_altitude_alg_mod.x90
@@ -9,42 +9,293 @@
module surface_altitude_alg_mod
! Derived Types
- use field_mod, only: field_type
- use field_collection_mod, only: field_collection_type
- use constants_mod, only: r_def
+ use constants_mod, only: r_def, i_def, l_def, EPS
+ use field_mod, only: field_type
+ use field_collection_mod, only: field_collection_type
+ use fs_continuity_mod, only: W0, W1, W2, W3
+ use function_space_collection_mod, only: function_space_collection
+ use function_space_mod, only: function_space_type
+ use integer_field_mod, only: integer_field_type
+ use log_mod, only: log_event, LOG_LEVEL_ERROR, &
+ LOG_LEVEL_WARNING
+ use mesh_mod, only: mesh_type
+ use operator_mod, only: operator_type
+ use orography_config_mod, only: w0_method, &
+ w0_method_average, &
+ w0_method_project, &
+ w0_method_spectral
+ use quadrature_xyoz_mod, only: quadrature_xyoz_type
+ use quadrature_rule_gaussian_mod, only: quadrature_rule_gaussian_type
+ use solver_config_mod, only: monitor_convergence, &
+ fail_on_non_converged, &
+ tolerance, &
+ maximum_iterations, &
+ gcrk
+ use sci_field_vector_mod, only: field_vector_type
+ use sci_iterative_solver_mod, only: abstract_iterative_solver_type, &
+ gmres_type
+ use sci_mass_matrix_operator_alg_mod, only: mass_matrix_operator_type
+ use sci_null_preconditioner_alg_mod, only: null_preconditioner_type
+ use sci_preconditioner_mod, only: abstract_preconditioner_type
+ use transport_constants_mod, only: get_panel_edge_dist
+
implicit none
contains
- !> @brief Construct a w0 surface_altitude field from in put w3 field
+ !> @brief Construct a w0 surface_altitude field from input w3 field
!> @details The surface_altitude_w0 field is constructed using
!> average_w3_to_w0 with weights set to be the w0 multiplicity
!> @param[in,out] surface_altitude_w0 Surface altitude on W0
!> @param[in] surface_altitude_w3 Surface altitude on W3
- subroutine surface_altitude_alg(surface_altitude_w0, surface_altitude_w3)
+ !> @param[in] chi Array of coordinate fields, before they
+ !! have been adjusted to take into account
+ !! the orography
+ !> @param[in] panel_id Field containing the mesh panel ID
+ subroutine surface_altitude_alg(surface_altitude_w0, surface_altitude_w3, &
+ chi, panel_id)
- use sci_average_w3_to_w0_kernel_mod, only : average_w3_to_w0_kernel_type
- use sci_multiplicity_kernel_mod, only : multiplicity_kernel_type
+ use sci_average_w3_to_w0_kernel_mod, only: average_w3_to_w0_kernel_type
+ use sci_multiplicity_kernel_mod, only: multiplicity_kernel_type
+ use sci_compute_mass_matrix_kernel_w_scalar_mod, &
+ only: compute_mass_matrix_kernel_w_scalar_type
+ use sci_mass_matrix_scalarvec_kernel_mod, &
+ only: mass_matrix_scalarvec_kernel_type
+ use sci_gp_rhs_kernel_mod, only: gp_rhs_kernel_type
+ use sci_gp_scalarvec_rhs_kernel_mod, only: gp_scalarvec_rhs_kernel_type
+ use w0_orography_combine_kernel_mod, &
+ only: w0_orography_combine_kernel_type
implicit none
- type( field_type ), intent(inout) :: surface_altitude_w0
- type( field_type ), intent(in) :: surface_altitude_w3
+ type(field_type), intent(inout) :: surface_altitude_w0
+ type(field_type), intent(in) :: surface_altitude_w3
+ type(field_type), intent(in) :: chi(:)
+ type(field_type), intent(in) :: panel_id
! local variables
- type( field_type ) :: multiplicity_w0
-
- ! Create the multiplicity field from surface_altitude_w0 template
- call surface_altitude_w0%copy_field_properties(multiplicity_w0)
-
- !Invoke kernels
- call invoke(setval_c( surface_altitude_w0, 0.0_r_def ), &
- setval_c( multiplicity_w0, 0.0_r_def ), &
- multiplicity_kernel_type( multiplicity_w0 ), &
- average_w3_to_w0_kernel_type( surface_altitude_w0, &
- surface_altitude_w3, &
- multiplicity_w0 ) )
+ class(abstract_preconditioner_type), allocatable :: preconditioner
+ class(abstract_iterative_solver_type), allocatable :: solver
+
+ type(field_vector_type) :: vec_x, vec_y
+ type(field_type) :: multiplicity_w0
+ type(field_type) :: surface_altitude_w0_avg
+ type(field_type) :: surface_altitude_w0_k0
+ type(field_type) :: surface_altitude_w1_k0
+ type(field_type) :: dummy_w2_k0
+ type(field_type) :: projection_rhs
+ type(field_type) :: projection_rhs_w0
+ type(field_type) :: projection_rhs_w1
+ type(operator_type), target :: projection_lhs
+ type(operator_type), target :: projection_lhs_w0
+ type(operator_type), target :: projection_lhs_w1
+ type(mass_matrix_operator_type) :: projection_lhs_operator
+ type(mass_matrix_operator_type) :: projection_lhs_operator_w0
+ type(mass_matrix_operator_type) :: projection_lhs_operator_w1
+ type(mesh_type), pointer :: mesh
+ type(function_space_type), pointer :: w0_fs, w0_k0_fs
+ type(function_space_type), pointer :: w1_k0_fs, w2_k0_fs
+ integer(kind=i_def) :: element_order_h, element_order_v
+ type(quadrature_xyoz_type) :: qr
+ type(quadrature_rule_gaussian_type) :: gaussian_quadrature
+
+ real(kind=r_def), parameter :: solver_a_tol = 10.0_r_def*TINY(1.0_r_def)
+ logical(kind=l_def), parameter :: extended_mesh = .false.
+
+ w0_fs => surface_altitude_w0%get_function_space()
+ call surface_altitude_w0_avg%initialise(w0_fs)
+ call multiplicity_w0%initialise(w0_fs)
+
+ element_order_h = surface_altitude_w0%get_element_order_h()
+ element_order_v = surface_altitude_w0%get_element_order_v()
+
+ ! For all methods, need to average surface altitude from W3 to W0 points
+ ! This requires the multiplicity field at W0, so compute that here
+ call invoke( setval_c(surface_altitude_w0_avg, 0.0_r_def), &
+ setval_c(multiplicity_w0, 0.0_r_def), &
+ multiplicity_kernel_type(multiplicity_w0), &
+ average_w3_to_w0_kernel_type(surface_altitude_w0_avg, &
+ surface_altitude_w3, &
+ multiplicity_w0) )
+
+ if (w0_method == w0_method_average) then
+ ! Simply use the averaged field as the output
+ call invoke( setval_X(surface_altitude_w0, surface_altitude_w0_avg) )
+
+ else if (w0_method == w0_method_project &
+ .or. element_order_h /= 1 .or. element_order_v /= 1) then
+ ! W0 field is obtained from W3 field by solving a matrix-vector problem
+ ! Much of the code for these methods is the same, so handled together here
+ call projection_rhs%initialise(w0_fs)
+ call projection_lhs%initialise(w0_fs, w0_fs)
+
+ mesh => surface_altitude_w0%get_mesh()
+
+ ! Check the input orography order is 2 (quadratic coordinates)
+ if (w0_method == w0_method_spectral) then
+ call log_event( &
+ 'surface_altitude_alg: Spectral projection method only ' // &
+ 'implemented for orography order 2, dropping to project ' // &
+ 'method for mesh: ' // trim(mesh%get_mesh_name()), &
+ LOG_LEVEL_WARNING &
+ )
+ end if
+
+ ! Both projection methods are very similar, and use the same kernels
+ ! Assemble LHS matrix and RHS vector for matrix-vector problem
+ element_order_h = surface_altitude_w0%get_element_order_h()
+ element_order_v = surface_altitude_w0%get_element_order_v()
+ qr = quadrature_xyoz_type( &
+ element_order_h+2, element_order_h+2, element_order_v+2, &
+ gaussian_quadrature &
+ )
+ call invoke( &
+ setval_c(projection_rhs, 0.0_r_def), &
+ gp_rhs_kernel_type( &
+ projection_rhs, surface_altitude_w3, chi, panel_id, qr &
+ ), &
+ compute_mass_matrix_kernel_w_scalar_type( &
+ projection_lhs, chi, panel_id, extended_mesh, qr &
+ ), &
+ setval_c(surface_altitude_w0, 0.0_r_def) &
+ )
+
+ ! Solve matrix-vector problems -------------------------------------------
+ ! Create mass matrix operator for LHS
+ projection_lhs_operator = mass_matrix_operator_type( &
+ projection_lhs, .false. &
+ )
+
+ ! Set up solver for problem
+ allocate(null_preconditioner_type :: preconditioner)
+ allocate(gmres_type :: solver)
+
+ preconditioner = null_preconditioner_type()
+ solver = gmres_type( &
+ projection_lhs_operator, preconditioner, gcrk, tolerance, &
+ solver_a_tol, maximum_iterations, monitor_convergence, &
+ fail_on_non_converged &
+ )
+
+ ! Turn fields into field_vector types
+ vec_x = field_vector_type(1)
+ vec_y = field_vector_type(1)
+ call vec_y%import_field(projection_rhs, 1)
+ call vec_x%import_field(surface_altitude_w0, 1)
+
+ ! Apply solver and export result back to surface_altitude_w0
+ call solver%apply(vec_x, vec_y)
+ call vec_x%export_field(surface_altitude_w0, 1)
+
+ if (allocated(preconditioner)) deallocate(preconditioner)
+ if (allocated(solver)) deallocate(solver)
+
+ else if (w0_method == w0_method_spectral) then
+ ! Project separately into lowest-order W0 and W1
+ mesh => surface_altitude_w0%get_mesh()
+ w0_k0_fs => function_space_collection%get_fs(mesh, 0, 0, W0)
+ w1_k0_fs => function_space_collection%get_fs(mesh, 0, 0, W1)
+ w2_k0_fs => function_space_collection%get_fs(mesh, 0, 0, W2)
+
+ call surface_altitude_w0_k0%initialise(w0_k0_fs)
+ call surface_altitude_w1_k0%initialise(w1_k0_fs)
+ call dummy_w2_k0%initialise(w2_k0_fs)
+ call projection_rhs_w0%initialise(w0_k0_fs)
+ call projection_lhs_w0%initialise(w0_k0_fs, w0_k0_fs)
+ call projection_rhs_w1%initialise(w1_k0_fs)
+ call projection_lhs_w1%initialise(w1_k0_fs, w1_k0_fs)
+
+ ! Both projection methods are very similar, and use the same kernels
+ ! Assemble LHS matrix and RHS vector for matrix-vector problem
+ qr = quadrature_xyoz_type(3, 3, 3, gaussian_quadrature)
+ call invoke( &
+ setval_c(projection_rhs_w0, 0.0_r_def), &
+ setval_c(projection_rhs_w1, 0.0_r_def), &
+ gp_rhs_kernel_type( &
+ projection_rhs_w0, surface_altitude_w3, chi, panel_id, qr &
+ ), &
+ compute_mass_matrix_kernel_w_scalar_type( &
+ projection_lhs_w0, chi, panel_id, extended_mesh, qr &
+ ), &
+ gp_scalarvec_rhs_kernel_type( &
+ projection_rhs_w1, surface_altitude_w3, chi, panel_id, qr &
+ ), &
+ mass_matrix_scalarvec_kernel_type( &
+ projection_lhs_w1, chi, panel_id, qr &
+ ), &
+ setval_c(surface_altitude_w0_k0, 0.0_r_def), &
+ setval_c(surface_altitude_w1_k0, 0.0_r_def) )
+
+ ! Solve matrix-vector problems -------------------------------------------
+ ! Create mass matrix operator for LHS
+ projection_lhs_operator_w0 = mass_matrix_operator_type( &
+ projection_lhs_w0, .false. &
+ )
+ projection_lhs_operator_w1 = mass_matrix_operator_type( &
+ projection_lhs_w1, .false. &
+ )
+
+ ! Set up solver for problem
+ allocate(null_preconditioner_type :: preconditioner)
+ allocate(gmres_type :: solver)
+
+ preconditioner = null_preconditioner_type()
+ solver = gmres_type( &
+ projection_lhs_operator_w0, preconditioner, gcrk, tolerance, &
+ solver_a_tol, maximum_iterations, monitor_convergence, &
+ fail_on_non_converged &
+ )
+
+ ! Turn fields into field_vector types
+ vec_x = field_vector_type(1)
+ vec_y = field_vector_type(1)
+ call vec_y%import_field(projection_rhs_w0, 1)
+ call vec_x%import_field(surface_altitude_w0_k0, 1)
+
+ ! Apply solver and export result back to surface_altitude_w0
+ call solver%apply(vec_x, vec_y)
+ call vec_x%export_field(surface_altitude_w0_k0, 1)
+
+ if (allocated(solver)) deallocate(solver)
+ allocate(gmres_type :: solver)
+
+ preconditioner = null_preconditioner_type()
+ solver = gmres_type( &
+ projection_lhs_operator_w1, preconditioner, gcrk, tolerance, &
+ solver_a_tol, maximum_iterations, monitor_convergence, &
+ fail_on_non_converged &
+ )
+
+ ! Turn fields into field_vector types
+ vec_x = field_vector_type(1)
+ vec_y = field_vector_type(1)
+ call vec_y%import_field(projection_rhs_w1, 1)
+ call vec_x%import_field(surface_altitude_w1_k0, 1)
+
+ ! Apply solver and export result back to surface_altitude_w1
+ call solver%apply(vec_x, vec_y)
+ call vec_x%export_field(surface_altitude_w1_k0, 1)
+
+ if (allocated(preconditioner)) deallocate(preconditioner)
+ if (allocated(solver)) deallocate(solver)
+
+ ! Combine the two projected fields into the final W0 field
+ call invoke( &
+ setval_c(surface_altitude_w0, 0.0_r_def), &
+ w0_orography_combine_kernel_type( &
+ surface_altitude_w0, surface_altitude_w0_k0, &
+ surface_altitude_w1_k0, dummy_w2_k0, surface_altitude_w3, &
+ surface_altitude_w0_avg &
+ ) &
+ )
+
+ else
+ call log_event( &
+ 'surface_altitude_alg: Unknown w0_method option', &
+ LOG_LEVEL_ERROR &
+ )
+ end if
end subroutine surface_altitude_alg
From 25904f010809a16f20812b8fd65ce9502ddc9562 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Sun, 25 Jan 2026 10:53:59 +0000
Subject: [PATCH 16/29] set other apps to use Wtheta, and fix remaining
failures
---
rose-stem/app/jedi_lfric_tests/rose-app.conf | 2 +
rose-stem/app/linear_model/rose-app.conf | 2 +
rose-stem/app/um2lfric/rose-app.conf | 2 +
.../limited_area_masks_alg_mod.x90 | 272 ++++++++++++------
4 files changed, 191 insertions(+), 87 deletions(-)
diff --git a/rose-stem/app/jedi_lfric_tests/rose-app.conf b/rose-stem/app/jedi_lfric_tests/rose-app.conf
index a683eda8f..0ab0f2101 100644
--- a/rose-stem/app/jedi_lfric_tests/rose-app.conf
+++ b/rose-stem/app/jedi_lfric_tests/rose-app.conf
@@ -396,6 +396,8 @@ start_dump_filename='final_pert'
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wtheta'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/linear_model/rose-app.conf b/rose-stem/app/linear_model/rose-app.conf
index 1c83c6635..bf1d8730a 100644
--- a/rose-stem/app/linear_model/rose-app.conf
+++ b/rose-stem/app/linear_model/rose-app.conf
@@ -400,6 +400,8 @@ start_dump_filename='final_2021060200-2021060207.pert'
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wtheta'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/um2lfric/rose-app.conf b/rose-stem/app/um2lfric/rose-app.conf
index 7e5482141..c0e185f5e 100644
--- a/rose-stem/app/um2lfric/rose-app.conf
+++ b/rose-stem/app/um2lfric/rose-app.conf
@@ -69,6 +69,8 @@ planet_radius=6371229.0
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/science/gungho/source/algorithm/limited_area/limited_area_masks_alg_mod.x90 b/science/gungho/source/algorithm/limited_area/limited_area_masks_alg_mod.x90
index 103e24cfe..cf8d20a1e 100644
--- a/science/gungho/source/algorithm/limited_area/limited_area_masks_alg_mod.x90
+++ b/science/gungho/source/algorithm/limited_area/limited_area_masks_alg_mod.x90
@@ -12,6 +12,7 @@
module limited_area_masks_alg_mod
use field_mod, only: field_type
+ use fs_continuity_mod, only: Wchi, W3, Wtheta, W2
use constants_mod, only: i_def, r_def, l_def, PI, &
degrees_to_radians, &
radians_to_degrees
@@ -21,6 +22,7 @@ module limited_area_masks_alg_mod
LOG_LEVEL_ERROR, &
LOG_LEVEL_INFO, &
LOG_LEVEL_WARNING
+ use function_space_collection_mod, only: function_space_collection
use function_space_mod, only: function_space_type
use mesh_mod, only: mesh_type
use create_edge_mask_kernel_mod, only: create_edge_mask_kernel_type
@@ -31,6 +33,7 @@ module limited_area_masks_alg_mod
use create_boundary_mask_kernel_mod, only: create_boundary_mask_kernel_type
use boundaries_config_mod, only: rim_width_ns, lbc_method, &
lbc_method_onion_layer
+ use sci_nodal_coordinates_kernel_mod, only: nodal_coordinates_kernel_type
implicit none
@@ -292,30 +295,32 @@ contains
boundary_e, boundary_w, &
rim_width_ns, rim_width_ew, &
outer_width_ns, outer_width_ew
- use fs_continuity_mod, only: W3, Wtheta, W2
implicit none
- type(field_type), intent(inout) :: mask
- type(field_type), intent(in) :: onion_layers
- type(field_type), intent(in) :: chi(:)
- integer(i_def) :: fs_enum
- integer(i_def) :: rim_s, rim_n, &
- rim_e, rim_w
- integer(i_def) :: outer_s, outer_n, &
- outer_e, outer_w
- real(r_def) :: coord_outer_s, coord_outer_n, &
- coord_outer_e, coord_outer_w, &
- coord_rim_s, coord_rim_n, &
- coord_rim_e, coord_rim_w
- real(r_def) :: threshold
-
- type(function_space_type), pointer :: function_space => null()
- type(mesh_type), pointer :: mesh => null()
-
- type(domain_type) :: domain
-
- if ( lbc_method == lbc_method_onion_layer )then
+ type(field_type), intent(inout) :: mask
+ type(field_type), intent(in) :: onion_layers
+ type(field_type), target, intent(in) :: chi(:)
+ integer(i_def) :: fs_enum, i
+ integer(i_def) :: coord_order_h, coord_order_v
+ integer(i_def) :: rim_s, rim_n, &
+ rim_e, rim_w
+ integer(i_def) :: outer_s, outer_n, &
+ outer_e, outer_w
+ real(r_def) :: coord_outer_s, coord_outer_n, &
+ coord_outer_e, coord_outer_w, &
+ coord_rim_s, coord_rim_n, &
+ coord_rim_e, coord_rim_w
+ real(r_def) :: threshold
+
+ type(function_space_type), pointer :: function_space
+ type(function_space_type), pointer :: wchi_fs
+ type(mesh_type), pointer :: mesh
+ type(field_type), pointer :: chi_to_use(:)
+ type(field_type), target :: chi_wchi(3)
+ type(domain_type) :: domain
+
+ if ( lbc_method == lbc_method_onion_layer ) then
! |<---------blending region---------->|
@@ -351,6 +356,23 @@ contains
mesh => function_space%get_mesh()
domain = mesh%get_domain()
+ ! The kernels require chi to be in Wchi
+ if (chi(1)%which_function_space() == Wtheta) then
+ ! Convert coordinates to Wchi
+ coord_order_h = chi(1)%get_element_order_h()
+ coord_order_v = chi(1)%get_element_order_v()
+ wchi_fs => function_space_collection%get_fs( &
+ mesh, coord_order_h, coord_order_v, Wchi &
+ )
+ do i = 1, 3
+ call chi_wchi(i)%initialise(wchi_fs)
+ end do
+ call invoke( nodal_coordinates_kernel_type(chi_wchi, chi) )
+ chi_to_use => chi_wchi
+ else
+ chi_to_use => chi
+ end if
+
if ( rim_width_ns > 0 ) then
outer_n = boundary_n - outer_width_ns
outer_s = boundary_s - outer_width_ns
@@ -475,34 +497,36 @@ contains
inner_width_ns, inner_width_ew, &
edge_cells_ns, edge_cells_ew, &
blending_weights
- use fs_continuity_mod, only: W3, Wtheta, W2
implicit none
- type(field_type), intent(inout) :: mask
- type(field_type), intent(in) :: onion_layers
- type(field_type), intent(in) :: chi(:)
- integer(i_def) :: fs_enum
- integer(i_def) :: rim_s, rim_n, &
- rim_e, rim_w
- integer(i_def) :: blend_s, blend_n, &
- blend_e, blend_w
- integer(i_def) :: outer_s, outer_n, &
- outer_e, outer_w
- real(r_def) :: coord_outer_s, coord_outer_n, &
- coord_outer_e, coord_outer_w, &
- coord_rim_s, coord_rim_n, &
- coord_rim_e, coord_rim_w, &
- coord_blend_s, coord_blend_n, &
- coord_blend_e, coord_blend_w
+ type(field_type), intent(inout) :: mask
+ type(field_type), intent(in) :: onion_layers
+ type(field_type), target, intent(in) :: chi(:)
+ integer(i_def) :: fs_enum, i
+ integer(i_def) :: coord_order_h, coord_order_v
+ integer(i_def) :: rim_s, rim_n, &
+ rim_e, rim_w
+ integer(i_def) :: blend_s, blend_n, &
+ blend_e, blend_w
+ integer(i_def) :: outer_s, outer_n, &
+ outer_e, outer_w
+ real(r_def) :: coord_outer_s, coord_outer_n, &
+ coord_outer_e, coord_outer_w, &
+ coord_rim_s, coord_rim_n, &
+ coord_rim_e, coord_rim_w, &
+ coord_blend_s, coord_blend_n, &
+ coord_blend_e, coord_blend_w
integer(i_def) :: stencil_depth = 1
- type(function_space_type), pointer :: function_space => null()
- type(mesh_type), pointer :: mesh => null()
-
- type(domain_type) :: domain
+ type(function_space_type), pointer :: function_space
+ type(function_space_type), pointer :: wchi_fs
+ type(mesh_type), pointer :: mesh
+ type(field_type), pointer :: chi_to_use(:)
+ type(field_type), target :: chi_wchi(3)
+ type(domain_type) :: domain
- if ( lbc_method == lbc_method_onion_layer )then
+ if ( lbc_method == lbc_method_onion_layer ) then
fs_enum = mask%which_function_space()
@@ -541,6 +565,23 @@ contains
mesh => function_space%get_mesh()
domain = mesh%get_domain()
+ ! The kernels require chi to be in Wchi
+ if (chi(1)%which_function_space() == Wtheta) then
+ ! Convert coordinates to Wchi
+ coord_order_h = chi(1)%get_element_order_h()
+ coord_order_v = chi(1)%get_element_order_v()
+ wchi_fs => function_space_collection%get_fs( &
+ mesh, coord_order_h, coord_order_v, Wchi &
+ )
+ do i = 1, 3
+ call chi_wchi(i)%initialise(wchi_fs)
+ end do
+ call invoke( nodal_coordinates_kernel_type(chi_wchi, chi) )
+ chi_to_use => chi_wchi
+ else
+ chi_to_use => chi
+ end if
+
if ( rim_width_ns > 0 ) then
outer_n = boundary_n - outer_width_ns
outer_s = boundary_s - outer_width_ns
@@ -684,24 +725,26 @@ contains
use boundaries_config_mod, only: boundary_s, boundary_n, &
boundary_e, boundary_w, &
rim_width_ns, rim_width_ew
- use fs_continuity_mod, only: W3, Wtheta, W2
implicit none
- type(field_type), intent(inout) :: mask
- type(field_type), intent(in) :: chi(:)
- integer(i_def) :: fs_enum
- integer(i_def) :: rim_s, rim_n, &
- rim_e, rim_w
- real(r_def) :: coord_bound_s, coord_bound_n, &
- coord_bound_e, coord_bound_w, &
- coord_rim_s, coord_rim_n, &
- coord_rim_e, coord_rim_w
-
- type(function_space_type), pointer :: function_space => null()
- type(mesh_type), pointer :: mesh => null()
-
- type(domain_type) :: domain
+ type(field_type), intent(inout) :: mask
+ type(field_type), target, intent(in) :: chi(:)
+ integer(i_def) :: fs_enum, i
+ integer(i_def) :: coord_order_h, coord_order_v
+ integer(i_def) :: rim_s, rim_n, &
+ rim_e, rim_w
+ real(r_def) :: coord_bound_s, coord_bound_n, &
+ coord_bound_e, coord_bound_w, &
+ coord_rim_s, coord_rim_n, &
+ coord_rim_e, coord_rim_w
+
+ type(function_space_type), pointer :: function_space
+ type(function_space_type), pointer :: wchi_fs
+ type(mesh_type), pointer :: mesh
+ type(field_type), pointer :: chi_to_use(:)
+ type(field_type), target :: chi_wchi(3)
+ type(domain_type) :: domain
! Calculate coordinates of boundary 1 cell in.
@@ -716,6 +759,23 @@ contains
mesh => function_space%get_mesh()
domain = mesh%get_domain()
+ ! The kernels require chi to be in Wchi
+ if (chi(1)%which_function_space() == Wtheta) then
+ ! Convert coordinates to Wchi
+ coord_order_h = chi(1)%get_element_order_h()
+ coord_order_v = chi(1)%get_element_order_v()
+ wchi_fs => function_space_collection%get_fs( &
+ mesh, coord_order_h, coord_order_v, Wchi &
+ )
+ do i = 1, 3
+ call chi_wchi(i)%initialise(wchi_fs)
+ end do
+ call invoke( nodal_coordinates_kernel_type(chi_wchi, chi) )
+ chi_to_use => chi_wchi
+ else
+ chi_to_use => chi
+ end if
+
call calculate_boundary_coordinates( &
coord_bound_s, &
coord_bound_n, &
@@ -778,24 +838,26 @@ contains
rim_width_ns, rim_width_ew, &
blending_weights, &
solver_boundary_depth
- use fs_continuity_mod, only: W3, Wtheta, W2
implicit none
- type(field_type), intent(inout) :: mask
- type(field_type), intent(in) :: onion_layers
- type(field_type), intent(in) :: chi(:)
- integer(i_def) :: fs_enum
- real(r_def) :: coord_bound_s, coord_bound_n, &
- coord_bound_e, coord_bound_w
- real(r_def) :: threshold
-
- type(function_space_type), pointer :: function_space => null()
- type(mesh_type), pointer :: mesh => null()
+ type(field_type), intent(inout) :: mask
+ type(field_type), intent(in) :: onion_layers
+ type(field_type), target, intent(in) :: chi(:)
+ integer(i_def) :: fs_enum, i
+ integer(i_def) :: coord_order_h, coord_order_v
+ real(r_def) :: coord_bound_s, coord_bound_n, &
+ coord_bound_e, coord_bound_w
+ real(r_def) :: threshold
- type(domain_type) :: domain
+ type(function_space_type), pointer :: function_space
+ type(function_space_type), pointer :: wchi_fs
+ type(mesh_type), pointer :: mesh
+ type(field_type), pointer :: chi_to_use(:)
+ type(field_type), target :: chi_wchi(3)
+ type(domain_type) :: domain
- if ( lbc_method == lbc_method_onion_layer )then
+ if ( lbc_method == lbc_method_onion_layer ) then
threshold = size( blending_weights ) - solver_boundary_depth
! Set the mask OFF in the region between solver boundary and domain edge
@@ -809,6 +871,23 @@ contains
mesh => function_space%get_mesh()
domain = mesh%get_domain()
+ ! The kernels require chi to be in Wchi
+ if (chi(1)%which_function_space() == Wtheta) then
+ ! Convert coordinates to Wchi
+ coord_order_h = chi(1)%get_element_order_h()
+ coord_order_v = chi(1)%get_element_order_v()
+ wchi_fs => function_space_collection%get_fs( &
+ mesh, coord_order_h, coord_order_v, Wchi &
+ )
+ do i = 1, 3
+ call chi_wchi(i)%initialise(wchi_fs)
+ end do
+ call invoke( nodal_coordinates_kernel_type(chi_wchi, chi) )
+ chi_to_use => chi_wchi
+ else
+ chi_to_use => chi
+ end if
+
call calculate_boundary_coordinates( &
coord_bound_s, &
coord_bound_n, &
@@ -872,25 +951,27 @@ contains
boundary_e, boundary_w, &
rim_width_ns, rim_width_ew, &
blending_weights, solver_boundary_depth
- use fs_continuity_mod, only: W2
implicit none
- type(field_type), intent(inout) :: boundary_mask
- type(field_type), intent(in) :: onion_layers
- type(field_type), intent(in) :: chi(:)
- integer(i_def) :: fs_enum
- real(r_def) :: coord_bound_s, coord_bound_n, &
- coord_bound_e, coord_bound_w
- real(r_def) :: inner_boundary_cell
- integer(i_def) :: stencil_depth = 1
-
- type(function_space_type), pointer :: function_space => null()
- type(mesh_type), pointer :: mesh => null()
-
- type(domain_type) :: domain
-
- if ( lbc_method == lbc_method_onion_layer )then
+ type(field_type), intent(inout) :: boundary_mask
+ type(field_type), intent(in) :: onion_layers
+ type(field_type), target, intent(in) :: chi(:)
+ integer(i_def) :: fs_enum, i
+ integer(i_def) :: coord_order_h, coord_order_v
+ real(r_def) :: coord_bound_s, coord_bound_n, &
+ coord_bound_e, coord_bound_w
+ real(r_def) :: inner_boundary_cell
+ integer(i_def) :: stencil_depth = 1
+
+ type(function_space_type), pointer :: function_space
+ type(function_space_type), pointer :: wchi_fs
+ type(mesh_type), pointer :: mesh
+ type(field_type), pointer :: chi_to_use(:)
+ type(field_type), target :: chi_wchi(3)
+ type(domain_type) :: domain
+
+ if ( lbc_method == lbc_method_onion_layer ) then
inner_boundary_cell = real( &
size( blending_weights ) - solver_boundary_depth, r_def )
@@ -906,6 +987,23 @@ contains
mesh => function_space%get_mesh()
domain = mesh%get_domain()
+ ! The kernels require chi to be in Wchi
+ if (chi(1)%which_function_space() == Wtheta) then
+ ! Convert coordinates to Wchi
+ coord_order_h = chi(1)%get_element_order_h()
+ coord_order_v = chi(1)%get_element_order_v()
+ wchi_fs => function_space_collection%get_fs( &
+ mesh, coord_order_h, coord_order_v, Wchi &
+ )
+ do i = 1, 3
+ call chi_wchi(i)%initialise(wchi_fs)
+ end do
+ call invoke( nodal_coordinates_kernel_type(chi_wchi, chi) )
+ chi_to_use => chi_wchi
+ else
+ chi_to_use => chi
+ end if
+
call calculate_boundary_coordinates( &
coord_bound_s, &
coord_bound_n, &
From f8abde96b81e7248c2cf04e4a7d06e0a427833f7 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Mon, 26 Jan 2026 08:38:12 +0000
Subject: [PATCH 17/29] change coordinate settings for planar tests with issues
---
.../opt/rose-app-agnesi_hyd_cart.conf | 3 +
.../opt/rose-app-agnesi_nhyd_cart.conf | 3 +
.../opt/rose-app-robert-moist-lam.conf | 3 +
.../opt/rose-app-schar3d_cart.conf | 3 +
.../gungho_model/opt/rose-app-schar_cart.conf | 3 +
.../opt/rose-app-schar_cart_8s.conf | 3 +
.../limited_area_masks_alg_mod.x90 | 279 +++++++-----------
7 files changed, 129 insertions(+), 168 deletions(-)
diff --git a/rose-stem/app/gungho_model/opt/rose-app-agnesi_hyd_cart.conf b/rose-stem/app/gungho_model/opt/rose-app-agnesi_hyd_cart.conf
index 910eb4fba..fc744b4fe 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-agnesi_hyd_cart.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-agnesi_hyd_cart.conf
@@ -11,6 +11,9 @@ dl_str=0.015
domain_height=50000.0
number_of_layers=200
+[namelist:finite_element]
+coord_space='Wchi'
+
[namelist:formulation]
dlayer_on=.true.
rotating=.false.
diff --git a/rose-stem/app/gungho_model/opt/rose-app-agnesi_nhyd_cart.conf b/rose-stem/app/gungho_model/opt/rose-app-agnesi_nhyd_cart.conf
index e5e155e81..66f3a7d0b 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-agnesi_nhyd_cart.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-agnesi_nhyd_cart.conf
@@ -11,6 +11,9 @@ dl_str=0.015
domain_height=35000.0
number_of_layers=140
+[namelist:finite_element]
+coord_space='Wchi'
+
[namelist:formulation]
dlayer_on=.true.
rotating=.false.
diff --git a/rose-stem/app/gungho_model/opt/rose-app-robert-moist-lam.conf b/rose-stem/app/gungho_model/opt/rose-app-robert-moist-lam.conf
index 436275a25..8a630dc41 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-robert-moist-lam.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-robert-moist-lam.conf
@@ -25,6 +25,9 @@ rim_width_ns=-1
domain_height=1500.0
number_of_layers=150
+[namelist:finite_element]
+coord_space='Wchi'
+
[namelist:formulation]
moisture_formulation='traditional'
rotating=.false.
diff --git a/rose-stem/app/gungho_model/opt/rose-app-schar3d_cart.conf b/rose-stem/app/gungho_model/opt/rose-app-schar3d_cart.conf
index 734b66817..a64ae874f 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-schar3d_cart.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-schar3d_cart.conf
@@ -11,6 +11,9 @@ dl_str=0.15
domain_height=30000.0
number_of_layers=100
+[namelist:finite_element]
+coord_space='Wchi'
+
[namelist:formulation]
dlayer_on=.true.
rotating=.false.
diff --git a/rose-stem/app/gungho_model/opt/rose-app-schar_cart.conf b/rose-stem/app/gungho_model/opt/rose-app-schar_cart.conf
index c5f027b99..f79c2e010 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-schar_cart.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-schar_cart.conf
@@ -11,6 +11,9 @@ dl_str=0.15
domain_height=30000.0
number_of_layers=100
+[namelist:finite_element]
+coord_space='Wchi'
+
[namelist:formulation]
dlayer_on=.true.
rotating=.false.
diff --git a/rose-stem/app/gungho_model/opt/rose-app-schar_cart_8s.conf b/rose-stem/app/gungho_model/opt/rose-app-schar_cart_8s.conf
index bf8322559..476c7bb34 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-schar_cart_8s.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-schar_cart_8s.conf
@@ -11,6 +11,9 @@ dl_str=0.15
domain_height=30000.0
number_of_layers=100
+[namelist:finite_element]
+coord_space='Wchi'
+
[namelist:formulation]
dlayer_on=.true.
rotating=.false.
diff --git a/science/gungho/source/algorithm/limited_area/limited_area_masks_alg_mod.x90 b/science/gungho/source/algorithm/limited_area/limited_area_masks_alg_mod.x90
index cf8d20a1e..c87f577ba 100644
--- a/science/gungho/source/algorithm/limited_area/limited_area_masks_alg_mod.x90
+++ b/science/gungho/source/algorithm/limited_area/limited_area_masks_alg_mod.x90
@@ -12,7 +12,7 @@
module limited_area_masks_alg_mod
use field_mod, only: field_type
- use fs_continuity_mod, only: Wchi, W3, Wtheta, W2
+ use fs_continuity_mod, only: Wchi
use constants_mod, only: i_def, r_def, l_def, PI, &
degrees_to_radians, &
radians_to_degrees
@@ -22,7 +22,6 @@ module limited_area_masks_alg_mod
LOG_LEVEL_ERROR, &
LOG_LEVEL_INFO, &
LOG_LEVEL_WARNING
- use function_space_collection_mod, only: function_space_collection
use function_space_mod, only: function_space_type
use mesh_mod, only: mesh_type
use create_edge_mask_kernel_mod, only: create_edge_mask_kernel_type
@@ -33,7 +32,6 @@ module limited_area_masks_alg_mod
use create_boundary_mask_kernel_mod, only: create_boundary_mask_kernel_type
use boundaries_config_mod, only: rim_width_ns, lbc_method, &
lbc_method_onion_layer
- use sci_nodal_coordinates_kernel_mod, only: nodal_coordinates_kernel_type
implicit none
@@ -295,32 +293,30 @@ contains
boundary_e, boundary_w, &
rim_width_ns, rim_width_ew, &
outer_width_ns, outer_width_ew
+ use fs_continuity_mod, only: W3, Wtheta, W2
implicit none
- type(field_type), intent(inout) :: mask
- type(field_type), intent(in) :: onion_layers
- type(field_type), target, intent(in) :: chi(:)
- integer(i_def) :: fs_enum, i
- integer(i_def) :: coord_order_h, coord_order_v
- integer(i_def) :: rim_s, rim_n, &
- rim_e, rim_w
- integer(i_def) :: outer_s, outer_n, &
- outer_e, outer_w
- real(r_def) :: coord_outer_s, coord_outer_n, &
- coord_outer_e, coord_outer_w, &
- coord_rim_s, coord_rim_n, &
- coord_rim_e, coord_rim_w
- real(r_def) :: threshold
-
- type(function_space_type), pointer :: function_space
- type(function_space_type), pointer :: wchi_fs
- type(mesh_type), pointer :: mesh
- type(field_type), pointer :: chi_to_use(:)
- type(field_type), target :: chi_wchi(3)
- type(domain_type) :: domain
-
- if ( lbc_method == lbc_method_onion_layer ) then
+ type(field_type), intent(inout) :: mask
+ type(field_type), intent(in) :: onion_layers
+ type(field_type), intent(in) :: chi(:)
+ integer(i_def) :: fs_enum
+ integer(i_def) :: rim_s, rim_n, &
+ rim_e, rim_w
+ integer(i_def) :: outer_s, outer_n, &
+ outer_e, outer_w
+ real(r_def) :: coord_outer_s, coord_outer_n, &
+ coord_outer_e, coord_outer_w, &
+ coord_rim_s, coord_rim_n, &
+ coord_rim_e, coord_rim_w
+ real(r_def) :: threshold
+
+ type(function_space_type), pointer :: function_space => null()
+ type(mesh_type), pointer :: mesh => null()
+
+ type(domain_type) :: domain
+
+ if ( lbc_method == lbc_method_onion_layer )then
! |<---------blending region---------->|
@@ -357,20 +353,11 @@ contains
domain = mesh%get_domain()
! The kernels require chi to be in Wchi
- if (chi(1)%which_function_space() == Wtheta) then
- ! Convert coordinates to Wchi
- coord_order_h = chi(1)%get_element_order_h()
- coord_order_v = chi(1)%get_element_order_v()
- wchi_fs => function_space_collection%get_fs( &
- mesh, coord_order_h, coord_order_v, Wchi &
+ if (chi(1)%which_function_space() /= Wchi) then
+ call log_event( &
+ 'Coordinate based LBC method only implemented for coordinates ' // &
+ 'in the Wchi function space', LOG_LEVEL_ERROR &
)
- do i = 1, 3
- call chi_wchi(i)%initialise(wchi_fs)
- end do
- call invoke( nodal_coordinates_kernel_type(chi_wchi, chi) )
- chi_to_use => chi_wchi
- else
- chi_to_use => chi
end if
if ( rim_width_ns > 0 ) then
@@ -497,36 +484,34 @@ contains
inner_width_ns, inner_width_ew, &
edge_cells_ns, edge_cells_ew, &
blending_weights
+ use fs_continuity_mod, only: W3, Wtheta, W2
implicit none
- type(field_type), intent(inout) :: mask
- type(field_type), intent(in) :: onion_layers
- type(field_type), target, intent(in) :: chi(:)
- integer(i_def) :: fs_enum, i
- integer(i_def) :: coord_order_h, coord_order_v
- integer(i_def) :: rim_s, rim_n, &
- rim_e, rim_w
- integer(i_def) :: blend_s, blend_n, &
- blend_e, blend_w
- integer(i_def) :: outer_s, outer_n, &
- outer_e, outer_w
- real(r_def) :: coord_outer_s, coord_outer_n, &
- coord_outer_e, coord_outer_w, &
- coord_rim_s, coord_rim_n, &
- coord_rim_e, coord_rim_w, &
- coord_blend_s, coord_blend_n, &
- coord_blend_e, coord_blend_w
+ type(field_type), intent(inout) :: mask
+ type(field_type), intent(in) :: onion_layers
+ type(field_type), intent(in) :: chi(:)
+ integer(i_def) :: fs_enum
+ integer(i_def) :: rim_s, rim_n, &
+ rim_e, rim_w
+ integer(i_def) :: blend_s, blend_n, &
+ blend_e, blend_w
+ integer(i_def) :: outer_s, outer_n, &
+ outer_e, outer_w
+ real(r_def) :: coord_outer_s, coord_outer_n, &
+ coord_outer_e, coord_outer_w, &
+ coord_rim_s, coord_rim_n, &
+ coord_rim_e, coord_rim_w, &
+ coord_blend_s, coord_blend_n, &
+ coord_blend_e, coord_blend_w
integer(i_def) :: stencil_depth = 1
- type(function_space_type), pointer :: function_space
- type(function_space_type), pointer :: wchi_fs
- type(mesh_type), pointer :: mesh
- type(field_type), pointer :: chi_to_use(:)
- type(field_type), target :: chi_wchi(3)
- type(domain_type) :: domain
+ type(function_space_type), pointer :: function_space => null()
+ type(mesh_type), pointer :: mesh => null()
- if ( lbc_method == lbc_method_onion_layer ) then
+ type(domain_type) :: domain
+
+ if ( lbc_method == lbc_method_onion_layer )then
fs_enum = mask%which_function_space()
@@ -566,20 +551,11 @@ contains
domain = mesh%get_domain()
! The kernels require chi to be in Wchi
- if (chi(1)%which_function_space() == Wtheta) then
- ! Convert coordinates to Wchi
- coord_order_h = chi(1)%get_element_order_h()
- coord_order_v = chi(1)%get_element_order_v()
- wchi_fs => function_space_collection%get_fs( &
- mesh, coord_order_h, coord_order_v, Wchi &
+ if (chi(1)%which_function_space() /= Wchi) then
+ call log_event( &
+ 'Coordinate based LBC method only implemented for coordinates ' // &
+ 'in the Wchi function space', LOG_LEVEL_ERROR &
)
- do i = 1, 3
- call chi_wchi(i)%initialise(wchi_fs)
- end do
- call invoke( nodal_coordinates_kernel_type(chi_wchi, chi) )
- chi_to_use => chi_wchi
- else
- chi_to_use => chi
end if
if ( rim_width_ns > 0 ) then
@@ -725,26 +701,24 @@ contains
use boundaries_config_mod, only: boundary_s, boundary_n, &
boundary_e, boundary_w, &
rim_width_ns, rim_width_ew
+ use fs_continuity_mod, only: W3, Wtheta, W2
implicit none
- type(field_type), intent(inout) :: mask
- type(field_type), target, intent(in) :: chi(:)
- integer(i_def) :: fs_enum, i
- integer(i_def) :: coord_order_h, coord_order_v
- integer(i_def) :: rim_s, rim_n, &
- rim_e, rim_w
- real(r_def) :: coord_bound_s, coord_bound_n, &
- coord_bound_e, coord_bound_w, &
- coord_rim_s, coord_rim_n, &
- coord_rim_e, coord_rim_w
-
- type(function_space_type), pointer :: function_space
- type(function_space_type), pointer :: wchi_fs
- type(mesh_type), pointer :: mesh
- type(field_type), pointer :: chi_to_use(:)
- type(field_type), target :: chi_wchi(3)
- type(domain_type) :: domain
+ type(field_type), intent(inout) :: mask
+ type(field_type), intent(in) :: chi(:)
+ integer(i_def) :: fs_enum
+ integer(i_def) :: rim_s, rim_n, &
+ rim_e, rim_w
+ real(r_def) :: coord_bound_s, coord_bound_n, &
+ coord_bound_e, coord_bound_w, &
+ coord_rim_s, coord_rim_n, &
+ coord_rim_e, coord_rim_w
+
+ type(function_space_type), pointer :: function_space => null()
+ type(mesh_type), pointer :: mesh => null()
+
+ type(domain_type) :: domain
! Calculate coordinates of boundary 1 cell in.
@@ -759,22 +733,13 @@ contains
mesh => function_space%get_mesh()
domain = mesh%get_domain()
- ! The kernels require chi to be in Wchi
- if (chi(1)%which_function_space() == Wtheta) then
- ! Convert coordinates to Wchi
- coord_order_h = chi(1)%get_element_order_h()
- coord_order_v = chi(1)%get_element_order_v()
- wchi_fs => function_space_collection%get_fs( &
- mesh, coord_order_h, coord_order_v, Wchi &
- )
- do i = 1, 3
- call chi_wchi(i)%initialise(wchi_fs)
- end do
- call invoke( nodal_coordinates_kernel_type(chi_wchi, chi) )
- chi_to_use => chi_wchi
- else
- chi_to_use => chi
- end if
+ ! The kernels require chi to be in Wchi
+ if (chi(1)%which_function_space() /= Wchi) then
+ call log_event( &
+ 'Coordinate based LBC method only implemented for coordinates ' // &
+ 'in the Wchi function space', LOG_LEVEL_ERROR &
+ )
+ end if
call calculate_boundary_coordinates( &
coord_bound_s, &
@@ -838,26 +803,24 @@ contains
rim_width_ns, rim_width_ew, &
blending_weights, &
solver_boundary_depth
+ use fs_continuity_mod, only: W3, Wtheta, W2
implicit none
- type(field_type), intent(inout) :: mask
- type(field_type), intent(in) :: onion_layers
- type(field_type), target, intent(in) :: chi(:)
- integer(i_def) :: fs_enum, i
- integer(i_def) :: coord_order_h, coord_order_v
- real(r_def) :: coord_bound_s, coord_bound_n, &
- coord_bound_e, coord_bound_w
- real(r_def) :: threshold
+ type(field_type), intent(inout) :: mask
+ type(field_type), intent(in) :: onion_layers
+ type(field_type), intent(in) :: chi(:)
+ integer(i_def) :: fs_enum
+ real(r_def) :: coord_bound_s, coord_bound_n, &
+ coord_bound_e, coord_bound_w
+ real(r_def) :: threshold
+
+ type(function_space_type), pointer :: function_space => null()
+ type(mesh_type), pointer :: mesh => null()
- type(function_space_type), pointer :: function_space
- type(function_space_type), pointer :: wchi_fs
- type(mesh_type), pointer :: mesh
- type(field_type), pointer :: chi_to_use(:)
- type(field_type), target :: chi_wchi(3)
- type(domain_type) :: domain
+ type(domain_type) :: domain
- if ( lbc_method == lbc_method_onion_layer ) then
+ if ( lbc_method == lbc_method_onion_layer )then
threshold = size( blending_weights ) - solver_boundary_depth
! Set the mask OFF in the region between solver boundary and domain edge
@@ -872,20 +835,11 @@ contains
domain = mesh%get_domain()
! The kernels require chi to be in Wchi
- if (chi(1)%which_function_space() == Wtheta) then
- ! Convert coordinates to Wchi
- coord_order_h = chi(1)%get_element_order_h()
- coord_order_v = chi(1)%get_element_order_v()
- wchi_fs => function_space_collection%get_fs( &
- mesh, coord_order_h, coord_order_v, Wchi &
+ if (chi(1)%which_function_space() /= Wchi) then
+ call log_event( &
+ 'Coordinate based LBC method only implemented for coordinates ' // &
+ 'in the Wchi function space', LOG_LEVEL_ERROR &
)
- do i = 1, 3
- call chi_wchi(i)%initialise(wchi_fs)
- end do
- call invoke( nodal_coordinates_kernel_type(chi_wchi, chi) )
- chi_to_use => chi_wchi
- else
- chi_to_use => chi
end if
call calculate_boundary_coordinates( &
@@ -951,27 +905,25 @@ contains
boundary_e, boundary_w, &
rim_width_ns, rim_width_ew, &
blending_weights, solver_boundary_depth
+ use fs_continuity_mod, only: W2
implicit none
- type(field_type), intent(inout) :: boundary_mask
- type(field_type), intent(in) :: onion_layers
- type(field_type), target, intent(in) :: chi(:)
- integer(i_def) :: fs_enum, i
- integer(i_def) :: coord_order_h, coord_order_v
- real(r_def) :: coord_bound_s, coord_bound_n, &
- coord_bound_e, coord_bound_w
- real(r_def) :: inner_boundary_cell
- integer(i_def) :: stencil_depth = 1
-
- type(function_space_type), pointer :: function_space
- type(function_space_type), pointer :: wchi_fs
- type(mesh_type), pointer :: mesh
- type(field_type), pointer :: chi_to_use(:)
- type(field_type), target :: chi_wchi(3)
- type(domain_type) :: domain
-
- if ( lbc_method == lbc_method_onion_layer ) then
+ type(field_type), intent(inout) :: boundary_mask
+ type(field_type), intent(in) :: onion_layers
+ type(field_type), intent(in) :: chi(:)
+ integer(i_def) :: fs_enum
+ real(r_def) :: coord_bound_s, coord_bound_n, &
+ coord_bound_e, coord_bound_w
+ real(r_def) :: inner_boundary_cell
+ integer(i_def) :: stencil_depth = 1
+
+ type(function_space_type), pointer :: function_space => null()
+ type(mesh_type), pointer :: mesh => null()
+
+ type(domain_type) :: domain
+
+ if ( lbc_method == lbc_method_onion_layer )then
inner_boundary_cell = real( &
size( blending_weights ) - solver_boundary_depth, r_def )
@@ -988,20 +940,11 @@ contains
domain = mesh%get_domain()
! The kernels require chi to be in Wchi
- if (chi(1)%which_function_space() == Wtheta) then
- ! Convert coordinates to Wchi
- coord_order_h = chi(1)%get_element_order_h()
- coord_order_v = chi(1)%get_element_order_v()
- wchi_fs => function_space_collection%get_fs( &
- mesh, coord_order_h, coord_order_v, Wchi &
+ if (chi(1)%which_function_space() /= Wchi) then
+ call log_event( &
+ 'Coordinate based LBC method only implemented for coordinates ' // &
+ 'in the Wchi function space', LOG_LEVEL_ERROR &
)
- do i = 1, 3
- call chi_wchi(i)%initialise(wchi_fs)
- end do
- call invoke( nodal_coordinates_kernel_type(chi_wchi, chi) )
- chi_to_use => chi_wchi
- else
- chi_to_use => chi
end if
call calculate_boundary_coordinates( &
From d922052e6d2b6b2f1cb4ec6911dd12986949c872 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Mon, 26 Jan 2026 08:39:43 +0000
Subject: [PATCH 18/29] Merge in dev branch
---
.../rose-meta/lfric-adjoint_tests/versions.py | 23 +++++++++++++++++++
.../rose-meta/lfric-gravity_wave/versions.py | 23 +++++++++++++++++++
.../rose-meta/lfric-gungho_model/versions.py | 23 +++++++++++++++++++
.../rose-meta/jedi_common/versions.py | 23 +++++++++++++++++++
.../rose-meta/jedi_forecast/versions.py | 23 +++++++++++++++++++
.../jedi_forecast_pseudo/versions.py | 23 +++++++++++++++++++
.../rose-meta/jedi_id_tlm_tests/versions.py | 23 +++++++++++++++++++
.../rose-meta/jedi_lfric_tests/versions.py | 23 +++++++++++++++++++
.../jedi_tlm_forecast_tl/versions.py | 23 +++++++++++++++++++
.../rose-meta/jedi_tlm_tests/versions.py | 23 +++++++++++++++++++
.../jules/rose-meta/lfric-jules/versions.py | 23 +++++++++++++++++++
.../rose-meta/lfric-lfric2lfric/versions.py | 23 +++++++++++++++++++
.../rose-meta/lfric-lfric_atm/versions.py | 23 +++++++++++++++++++
.../rose-meta/lfric-lfric_coupled/versions.py | 23 +++++++++++++++++++
.../rose-meta/lfric-linear_model/versions.py | 23 +++++++++++++++++++
.../lfric-name_transport/versions.py | 23 +++++++++++++++++++
.../ngarch/rose-meta/lfric-ngarch/versions.py | 23 +++++++++++++++++++
.../rose-meta/lfric-shallow_water/versions.py | 23 +++++++++++++++++++
.../rose-meta/lfric-transport/versions.py | 23 +++++++++++++++++++
.../rose-meta/coupling/versions.py | 23 +++++++++++++++++++
.../jedi_lfric_interface/versions.py | 23 +++++++++++++++++++
rose-stem/app/adjoint_tests/rose-app.conf | 4 +++-
.../opt/rose-app-limited_spherical_50x50.conf | 1 +
rose-stem/app/gravity_wave/rose-app.conf | 4 +++-
rose-stem/app/gungho_model/rose-app.conf | 2 +-
rose-stem/app/jedi_forecast/rose-app.conf | 4 +++-
.../app/jedi_forecast_pseudo/rose-app.conf | 4 +++-
rose-stem/app/jedi_id_tlm_tests/rose-app.conf | 4 +++-
.../app/jedi_tlm_forecast_tl/rose-app.conf | 4 +++-
rose-stem/app/jedi_tlm_tests/rose-app.conf | 4 +++-
rose-stem/app/jules/rose-app.conf | 4 +++-
.../app/lfric2lfric/opt/rose-app-ral3.conf | 1 +
.../lfric2lfric/opt/rose-app-ral_seuk.conf | 1 +
rose-stem/app/lfric2lfric/rose-app.conf | 4 +++-
rose-stem/app/lfric_atm/rose-app.conf | 2 +-
.../lfric_coupled_atmosphere/rose-app.conf | 4 +++-
rose-stem/app/name_transport/rose-app.conf | 4 +++-
rose-stem/app/ngarch/rose-app.conf | 4 +++-
rose-stem/app/shallow_water/rose-app.conf | 4 +++-
rose-stem/app/transport/rose-app.conf | 4 +++-
...ic-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...1-C24s_MG_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...C24_MG_op_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...G_azspice_gnu_fast-debug-64bit-rtran32.txt | 6 ++---
...rt-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...0-100x100_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...00-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...og-C48_MG_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...01-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...er-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...ke-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...4-600x400_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...4-600x400_azspice_gnu_fast-debug-64bit.txt | 4 ++--
...ez-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...in-C48_MG_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...4-600x400_azspice_gnu_fast-debug-64bit.txt | 2 +-
...ip301-C24_azspice_gnu_fast-debug-64bit.txt | 4 ++--
...0x8-10x10_azspice_gnu_fast-debug-64bit.txt | 8 +++----
...inear-C12_azspice_gnu_fast-debug-64bit.txt | 4 ++--
...br-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...C24_MG_op_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...G_azspice_gnu_fast-debug-64bit-rtran32.txt | 6 ++---
...96_MG_lam_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...am_rotate_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...inear-C12_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...er-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...1000x2000_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...4000x2000_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...4000x2000_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...4000x2000_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...8-200x200_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...4-200x200_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...200x50_op_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...0_azspice_gnu_fast-debug-64bit-rtran32.txt | 6 ++---
...th-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...4s_rot_MG_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...linic-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...t2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...0x10-100x100_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...ip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...lorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...ip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...piter-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...P4x4-600x400_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...P4x4-600x400_ex1a_gnu_fast-debug-64bit.txt | 4 ++--
...uarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...omain-C48_MG_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt | 2 +-
...P100x8-10x10_ex1a_gnu_fast-debug-64bit.txt | 8 +++----
...r-linear-C12_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...l_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...t2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...4_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt | 6 ++---
...m-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...G_lam_rotate_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...r-linear-C12_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...piter-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...56x8-200x200_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...56x4-200x200_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...16-200x50_op_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...56x8-200x200_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
..._gal9-C12_azspice_gnu_fast-debug-64bit.txt | 14 +++++------
...kutta-C12_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...kutta-C12_azspice_gnu_full-debug-64bit.txt | 6 ++---
...fault-C12_azspice_gnu_fast-debug-64bit.txt | 14 +++++------
...lt-C12_op_azspice_gnu_fast-debug-64bit.txt | 14 +++++------
...nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt | 14 +++++------
...ge-kutta-C12_ex1a_cce_fast-debug-64bit.txt | 6 ++---
..._default-C12_ex1a_cce_fast-debug-64bit.txt | 14 +++++------
...fault-C12_op_ex1a_cce_fast-debug-64bit.txt | 14 +++++------
...lanet-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
...1214b-C12_azspice_gnu_fast-debug-32bit.txt | 6 ++---
..._gal9-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
..._chem-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
...9458b-C24_azspice_gnu_fast-debug-32bit.txt | 6 ++---
...casim-C12_azspice_gnu_fast-debug-32bit.txt | 18 +++++++--------
...coma9-C12_azspice_gnu_fast-debug-32bit.txt | 16 ++++++-------
...h_dev-C12_azspice_gnu_fast-debug-32bit.txt | 16 ++++++-------
..._gal9-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
..._gal9-C12_azspice_gnu_fast-debug-64bit.txt | 14 +++++------
...l9-C48_MG_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
...-pert-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
...ro-C48_MG_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
...l9_da-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
...debug-C12_azspice_gnu_full-debug-32bit.txt | 14 +++++------
...ug-C48_MG_azspice_gnu_full-debug-32bit.txt | 14 +++++------
...9_eda-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
..._jada-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
...9_mol-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
...short-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
...3-seuk_MG_azspice_gnu_fast-debug-32bit.txt | 16 ++++++-------
...s-seuk_MG_azspice_gnu_fast-debug-32bit.txt | 16 ++++++-------
...l-seuk_MG_azspice_gnu_fast-debug-32bit.txt | 16 ++++++-------
...0x1500_MG_azspice_gnu_fast-debug-32bit.txt | 12 +++++-----
...000x50000_azspice_gnu_fast-debug-32bit.txt | 10 ++++----
...000x50000_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
...000x50000_azspice_gnu_fast-debug-32bit.txt | 10 ++++----
...000x50000_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
...000x50000_azspice_gnu_fast-debug-32bit.txt | 10 ++++----
...000x50000_azspice_gnu_fast-debug-32bit.txt | 6 ++---
...000x50000_azspice_gnu_fast-debug-32bit.txt | 12 +++++-----
...000x50000_azspice_gnu_fast-debug-32bit.txt | 12 +++++-----
...000x50000_azspice_gnu_fast-debug-32bit.txt | 8 +++----
...000x50000_azspice_gnu_fast-debug-32bit.txt | 8 +++----
...000x50000_azspice_gnu_fast-debug-32bit.txt | 8 +++----
...000x50000_azspice_gnu_fast-debug-32bit.txt | 12 +++++-----
...000x50000_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
...000x50000_azspice_gnu_fast-debug-32bit.txt | 4 ++--
...000x50000_azspice_gnu_fast-debug-32bit.txt | 6 ++---
...000x50000_azspice_gnu_fast-debug-32bit.txt | 4 ++--
...000x50000_azspice_gnu_fast-debug-32bit.txt | 18 +++++++--------
...000x50000_azspice_gnu_fast-debug-32bit.txt | 8 +++----
...000x50000_azspice_gnu_fast-debug-32bit.txt | 8 +++----
...000x50000_azspice_gnu_fast-debug-32bit.txt | 8 +++----
...000x50000_azspice_gnu_fast-debug-32bit.txt | 14 +++++------
...n1-C48_MG_azspice_gnu_fast-debug-32bit.txt | 6 ++---
...uaplanet-C12_ex1a_cce_fast-debug-32bit.txt | 12 +++++-----
..._gj1214b-C12_ex1a_cce_fast-debug-32bit.txt | 6 ++---
...lim_gal9-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
..._gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...l9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
..._gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...l9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...l9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...al9_chem-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
..._chem_1T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
..._chem_2T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...1500x1500_MG_ex1a_cce_fast-debug-32bit.txt | 12 +++++-----
...d209458b-C24_ex1a_cce_fast-debug-32bit.txt | 6 ++---
...wp_casim-C12_ex1a_cce_fast-debug-32bit.txt | 18 +++++++--------
...wp_coma9-C12_ex1a_cce_fast-debug-32bit.txt | 16 ++++++-------
...orph_dev-C12_ex1a_cce_fast-debug-32bit.txt | 16 ++++++-------
...morph_tb-C12_ex1a_cce_fast-debug-32bit.txt | 16 ++++++-------
...nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt | 14 +++++------
..._gal9-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...al9-pert-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
..._aero-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...eaded-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...eaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt | 14 +++++------
..._gal9_da-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...l9_debug-C12_ex1a_cce_full-debug-32bit.txt | 14 +++++------
...debug-C48_MG_ex1a_cce_full-debug-32bit.txt | 14 +++++------
...gal9_eda-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...eda_jada-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...gal9_mol-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...oukca_1T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...ca_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...oukca_2T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...ca_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...ca_2T-C48_MG_ex1a_cce_full-debug-32bit.txt | 14 +++++------
...ca_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...l9_short-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt | 16 ++++++-------
..._ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt | 16 ++++++-------
...xmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt | 16 ++++++-------
...1500x1500_MG_ex1a_cce_fast-debug-32bit.txt | 12 +++++-----
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 12 +++++-----
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 12 +++++-----
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 10 ++++----
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 4 ++--
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 10 ++++----
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 12 +++++-----
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 8 +++----
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 6 ++---
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 6 ++---
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 8 +++----
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 2 +-
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 6 ++---
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 6 ++---
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 16 ++++++-------
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 6 ++---
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 8 +++----
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 6 ++---
...-50000x50000_ex1a_cce_fast-debug-32bit.txt | 14 +++++------
..._ben1-C48_MG_ex1a_cce_fast-debug-32bit.txt | 6 ++---
...nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt | 14 +++++------
...ip301-C24_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...l9-C12_MG_azspice_gnu_fast-debug-64bit.txt | 14 +++++------
...om-C12_MG_azspice_gnu_fast-debug-64bit.txt | 14 +++++------
...kutta-C12_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...licit-C12_azspice_gnu_fast-debug-64bit.txt | 6 ++---
...dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
..._gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt | 14 +++++------
...andom-C12_MG_ex1a_gnu_fast-debug-64bit.txt | 14 +++++------
...ge-kutta-C12_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
...implicit-C12_ex1a_gnu_fast-debug-64bit.txt | 6 ++---
.../rose-meta/lfric-adjoint/versions.py | 23 +++++++++++++++++++
.../gungho/rose-meta/lfric-gungho/versions.py | 23 +++++++++++++++++++
.../linear/rose-meta/lfric-linear/versions.py | 23 +++++++++++++++++++
243 files changed, 1567 insertions(+), 984 deletions(-)
diff --git a/applications/adjoint_tests/rose-meta/lfric-adjoint_tests/versions.py b/applications/adjoint_tests/rose-meta/lfric-adjoint_tests/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/adjoint_tests/rose-meta/lfric-adjoint_tests/versions.py
+++ b/applications/adjoint_tests/rose-meta/lfric-adjoint_tests/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/gravity_wave/rose-meta/lfric-gravity_wave/versions.py b/applications/gravity_wave/rose-meta/lfric-gravity_wave/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/gravity_wave/rose-meta/lfric-gravity_wave/versions.py
+++ b/applications/gravity_wave/rose-meta/lfric-gravity_wave/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/gungho_model/rose-meta/lfric-gungho_model/versions.py b/applications/gungho_model/rose-meta/lfric-gungho_model/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/gungho_model/rose-meta/lfric-gungho_model/versions.py
+++ b/applications/gungho_model/rose-meta/lfric-gungho_model/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_common/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_common/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_common/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_common/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_forecast/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_forecast/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_forecast/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_forecast/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_forecast_pseudo/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_forecast_pseudo/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_forecast_pseudo/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_forecast_pseudo/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_id_tlm_tests/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_id_tlm_tests/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_id_tlm_tests/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_id_tlm_tests/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_lfric_tests/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_lfric_tests/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_lfric_tests/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_lfric_tests/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_tlm_forecast_tl/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_tlm_forecast_tl/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_tlm_forecast_tl/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_tlm_forecast_tl/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_tlm_tests/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_tlm_tests/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_tlm_tests/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_tlm_tests/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/jules/rose-meta/lfric-jules/versions.py b/applications/jules/rose-meta/lfric-jules/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/jules/rose-meta/lfric-jules/versions.py
+++ b/applications/jules/rose-meta/lfric-jules/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/lfric2lfric/rose-meta/lfric-lfric2lfric/versions.py b/applications/lfric2lfric/rose-meta/lfric-lfric2lfric/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/lfric2lfric/rose-meta/lfric-lfric2lfric/versions.py
+++ b/applications/lfric2lfric/rose-meta/lfric-lfric2lfric/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/lfric_atm/rose-meta/lfric-lfric_atm/versions.py b/applications/lfric_atm/rose-meta/lfric-lfric_atm/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/lfric_atm/rose-meta/lfric-lfric_atm/versions.py
+++ b/applications/lfric_atm/rose-meta/lfric-lfric_atm/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/lfric_coupled/rose-meta/lfric-lfric_coupled/versions.py b/applications/lfric_coupled/rose-meta/lfric-lfric_coupled/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/lfric_coupled/rose-meta/lfric-lfric_coupled/versions.py
+++ b/applications/lfric_coupled/rose-meta/lfric-lfric_coupled/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/linear_model/rose-meta/lfric-linear_model/versions.py b/applications/linear_model/rose-meta/lfric-linear_model/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/linear_model/rose-meta/lfric-linear_model/versions.py
+++ b/applications/linear_model/rose-meta/lfric-linear_model/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/name_transport/rose-meta/lfric-name_transport/versions.py b/applications/name_transport/rose-meta/lfric-name_transport/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/name_transport/rose-meta/lfric-name_transport/versions.py
+++ b/applications/name_transport/rose-meta/lfric-name_transport/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/ngarch/rose-meta/lfric-ngarch/versions.py b/applications/ngarch/rose-meta/lfric-ngarch/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/ngarch/rose-meta/lfric-ngarch/versions.py
+++ b/applications/ngarch/rose-meta/lfric-ngarch/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/shallow_water/rose-meta/lfric-shallow_water/versions.py b/applications/shallow_water/rose-meta/lfric-shallow_water/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/shallow_water/rose-meta/lfric-shallow_water/versions.py
+++ b/applications/shallow_water/rose-meta/lfric-shallow_water/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/applications/transport/rose-meta/lfric-transport/versions.py b/applications/transport/rose-meta/lfric-transport/versions.py
index 152c043d0..39e882cbb 100644
--- a/applications/transport/rose-meta/lfric-transport/versions.py
+++ b/applications/transport/rose-meta/lfric-transport/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/interfaces/coupled_interface/rose-meta/coupling/versions.py b/interfaces/coupled_interface/rose-meta/coupling/versions.py
index 152c043d0..39e882cbb 100644
--- a/interfaces/coupled_interface/rose-meta/coupling/versions.py
+++ b/interfaces/coupled_interface/rose-meta/coupling/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/interfaces/jedi_lfric_interface/rose-meta/jedi_lfric_interface/versions.py b/interfaces/jedi_lfric_interface/rose-meta/jedi_lfric_interface/versions.py
index 152c043d0..39e882cbb 100644
--- a/interfaces/jedi_lfric_interface/rose-meta/jedi_lfric_interface/versions.py
+++ b/interfaces/jedi_lfric_interface/rose-meta/jedi_lfric_interface/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/rose-stem/app/adjoint_tests/rose-app.conf b/rose-stem/app/adjoint_tests/rose-app.conf
index 76c5b0144..4130f3df4 100644
--- a/rose-stem/app/adjoint_tests/rose-app.conf
+++ b/rose-stem/app/adjoint_tests/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-adjoint_tests/vn3.0
+meta=lfric-adjoint_tests/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -374,6 +374,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/gravity_wave/opt/rose-app-limited_spherical_50x50.conf b/rose-stem/app/gravity_wave/opt/rose-app-limited_spherical_50x50.conf
index c3ac5efca..c114c4043 100644
--- a/rose-stem/app/gravity_wave/opt/rose-app-limited_spherical_50x50.conf
+++ b/rose-stem/app/gravity_wave/opt/rose-app-limited_spherical_50x50.conf
@@ -23,6 +23,7 @@ transport_boundary_depth=6
[namelist:finite_element]
coord_order=1
+coord_order_multigrid=1
coord_system='native'
[namelist:formulation]
diff --git a/rose-stem/app/gravity_wave/rose-app.conf b/rose-stem/app/gravity_wave/rose-app.conf
index 8e7d37bc9..4b558f9e9 100644
--- a/rose-stem/app/gravity_wave/rose-app.conf
+++ b/rose-stem/app/gravity_wave/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-gravity_wave/vn3.0
+meta=lfric-gravity_wave/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -368,6 +368,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=2
+coord_order_multigrid=2
+coord_space='Wchi'
coord_system='xyz'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/gungho_model/rose-app.conf b/rose-stem/app/gungho_model/rose-app.conf
index 6e300935f..d304f7f2b 100644
--- a/rose-stem/app/gungho_model/rose-app.conf
+++ b/rose-stem/app/gungho_model/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-gungho_model/vn3.0
+meta=lfric-gungho_model/vn3.0_t238
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef ; \
diff --git a/rose-stem/app/jedi_forecast/rose-app.conf b/rose-stem/app/jedi_forecast/rose-app.conf
index 3848d4ba0..5137eb2fd 100644
--- a/rose-stem/app/jedi_forecast/rose-app.conf
+++ b/rose-stem/app/jedi_forecast/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_forecast/vn3.0
+meta=jedi_forecast/vn3.0_t238
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef ; \
@@ -395,6 +395,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/jedi_forecast_pseudo/rose-app.conf b/rose-stem/app/jedi_forecast_pseudo/rose-app.conf
index 8d5864da0..92a1097ea 100644
--- a/rose-stem/app/jedi_forecast_pseudo/rose-app.conf
+++ b/rose-stem/app/jedi_forecast_pseudo/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_forecast_pseudo/vn3.0
+meta=jedi_forecast_pseudo/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -393,6 +393,8 @@ start_dump_filename='final_pert'
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/jedi_id_tlm_tests/rose-app.conf b/rose-stem/app/jedi_id_tlm_tests/rose-app.conf
index 1049af568..6462e8e34 100644
--- a/rose-stem/app/jedi_id_tlm_tests/rose-app.conf
+++ b/rose-stem/app/jedi_id_tlm_tests/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_id_tlm_tests/vn3.0
+meta=jedi_id_tlm_tests/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -396,6 +396,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/jedi_tlm_forecast_tl/rose-app.conf b/rose-stem/app/jedi_tlm_forecast_tl/rose-app.conf
index ba5167caf..1c4de4464 100644
--- a/rose-stem/app/jedi_tlm_forecast_tl/rose-app.conf
+++ b/rose-stem/app/jedi_tlm_forecast_tl/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_tlm_forecast_tl/vn3.0
+meta=jedi_tlm_forecast_tl/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -394,6 +394,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/jedi_tlm_tests/rose-app.conf b/rose-stem/app/jedi_tlm_tests/rose-app.conf
index 8e0df8026..e8c978dd8 100644
--- a/rose-stem/app/jedi_tlm_tests/rose-app.conf
+++ b/rose-stem/app/jedi_tlm_tests/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_tlm_tests/vn3.0
+meta=jedi_tlm_tests/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -396,6 +396,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/jules/rose-app.conf b/rose-stem/app/jules/rose-app.conf
index 87b61ec08..b84b8ee42 100644
--- a/rose-stem/app/jules/rose-app.conf
+++ b/rose-stem/app/jules/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-jules/vn3.0
+meta=lfric-jules/vn3.0_t238
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -415,6 +415,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/lfric2lfric/opt/rose-app-ral3.conf b/rose-stem/app/lfric2lfric/opt/rose-app-ral3.conf
index 566f047fd..5e977e25f 100644
--- a/rose-stem/app/lfric2lfric/opt/rose-app-ral3.conf
+++ b/rose-stem/app/lfric2lfric/opt/rose-app-ral3.conf
@@ -19,6 +19,7 @@ start_dump_filename='lfric2lfric_ral3_seuk'
[namelist:finite_element]
coord_order=2
+coord_order_multigrid=2
[namelist:lfric2lfric]
destination_mesh_name='dynamics'
diff --git a/rose-stem/app/lfric2lfric/opt/rose-app-ral_seuk.conf b/rose-stem/app/lfric2lfric/opt/rose-app-ral_seuk.conf
index 441c46314..3835b88e1 100644
--- a/rose-stem/app/lfric2lfric/opt/rose-app-ral_seuk.conf
+++ b/rose-stem/app/lfric2lfric/opt/rose-app-ral_seuk.conf
@@ -17,6 +17,7 @@ start_dump_filename='lfric2lfric_ral_seuk_MG'
[namelist:finite_element]
coord_order=2
+coord_order_multigrid=2
[namelist:lfric2lfric]
destination_topology='non_periodic'
diff --git a/rose-stem/app/lfric2lfric/rose-app.conf b/rose-stem/app/lfric2lfric/rose-app.conf
index 704d66740..def68f334 100644
--- a/rose-stem/app/lfric2lfric/rose-app.conf
+++ b/rose-stem/app/lfric2lfric/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-lfric2lfric/vn3.0
+meta=lfric-lfric2lfric/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -328,6 +328,8 @@ start_dump_filename='lfric2lfric_dump'
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='xyz'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/lfric_atm/rose-app.conf b/rose-stem/app/lfric_atm/rose-app.conf
index 723211c48..7c5820306 100644
--- a/rose-stem/app/lfric_atm/rose-app.conf
+++ b/rose-stem/app/lfric_atm/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-lfric_atm/vn3.0
+meta=lfric-lfric_atm/vn3.0_t238
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
diff --git a/rose-stem/app/lfric_coupled_atmosphere/rose-app.conf b/rose-stem/app/lfric_coupled_atmosphere/rose-app.conf
index ce50c6fa3..6f6488e98 100644
--- a/rose-stem/app/lfric_coupled_atmosphere/rose-app.conf
+++ b/rose-stem/app/lfric_coupled_atmosphere/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-lfric_atm/vn3.0
+meta=lfric-lfric_atm/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -410,6 +410,8 @@ surface_frac_ancil_path='vegetation/fractions_cci/qrparm.veg.frac.fixed'
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/name_transport/rose-app.conf b/rose-stem/app/name_transport/rose-app.conf
index 81070757a..8727d261f 100644
--- a/rose-stem/app/name_transport/rose-app.conf
+++ b/rose-stem/app/name_transport/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-name_transport/vn3.0
+meta=lfric-name_transport/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -367,6 +367,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/ngarch/rose-app.conf b/rose-stem/app/ngarch/rose-app.conf
index 0652790e8..b8cc3c6ed 100644
--- a/rose-stem/app/ngarch/rose-app.conf
+++ b/rose-stem/app/ngarch/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-ngarch/vn3.0
+meta=lfric-ngarch/vn3.0_t238
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -398,6 +398,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='xyz'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/shallow_water/rose-app.conf b/rose-stem/app/shallow_water/rose-app.conf
index 4925a58af..25d54332e 100644
--- a/rose-stem/app/shallow_water/rose-app.conf
+++ b/rose-stem/app/shallow_water/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-shallow_water/vn3.0
+meta=lfric-shallow_water/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -364,6 +364,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/app/transport/rose-app.conf b/rose-stem/app/transport/rose-app.conf
index b5a4cd880..3316dc373 100644
--- a/rose-stem/app/transport/rose-app.conf
+++ b/rose-stem/app/transport/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-transport/vn3.0
+meta=lfric-transport/vn3.0_t238
[command]
default=$LAUNCH_SCRIPT/launch-exe
@@ -366,6 +366,8 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
coord_order=1
+coord_order_multigrid=1
+coord_space='Wchi'
coord_system='native'
element_order_h=0
element_order_v=0
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt
index ca1a79dc2..ed15aeac9 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2F2B2244799D0
-Inner product checksum theta = 4210411A3418E006
-Inner product checksum u = 4501AC432146D718
+Inner product checksum rho = 40E2F2B2245068C4
+Inner product checksum theta = 4210411A34184A62
+Inner product checksum u = 4501AC43225AFA5F
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt
index 1839f3574..5261f6d11 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E31B5B7CB337D5
-Inner product checksum theta = 4210461DE3B34870
-Inner product checksum u = 4500F56A544F1F86
+Inner product checksum rho = 40E31B4F4C4C4352
+Inner product checksum theta = 4210461DD9DFBC0E
+Inner product checksum u = 4500F85C6F41CB7C
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt
index 061be97ca..b45739786 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2EB31AEAB0690
-Inner product checksum theta = 42104262EDCF9F78
-Inner product checksum u = 4501DA5CB5DBC24B
+Inner product checksum rho = 40E2EB31AECC1C98
+Inner product checksum theta = 42104262EDCDC3E8
+Inner product checksum u = 4501DA5CB7BD0252
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt
index 58c743fce..e676eebb6 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2F34133893AE6
-Inner product checksum theta = 421041C1BC787C3E
-Inner product checksum u = 4501D87B2966270E
+Inner product checksum rho = 40E2F3400BC14D95
+Inner product checksum theta = 421041C1E7E8D2BD
+Inner product checksum u = 4501D8747E74C7B5
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt
index 6ccaf3715..b5448ea6b 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2E61079810D0E
-Inner product checksum theta = 4210435EB2DDC0F1
-Inner product checksum u = 4501348CFD77EA40
+Inner product checksum rho = 40E2E6107980F344
+Inner product checksum theta = 4210435EB2DDBBDC
+Inner product checksum u = 4501348CFD732549
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt
index 019d1c4bd..095b27e30 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40FE89845A997E06
-Inner product checksum theta = 4210F00A9EEFEDF3
-Inner product checksum u = 42EF4B7C9D6C01D8
+Inner product checksum rho = 40FE89845A998DDE
+Inner product checksum theta = 4210F00A9EEFEDC3
+Inner product checksum u = 42EF4B7C9D68A0AE
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt
index 64287df9b..d6b559593 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E8E802280ABCF8
-Inner product checksum theta = 4204E59A63CB78B4
-Inner product checksum u = 4391E522B368BE24
+Inner product checksum rho = 40E8EB38665833B8
+Inner product checksum theta = 4204E5A790659402
+Inner product checksum u = 43EAD34D5B72CEF2
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt
index 0872d11c8..413da0a5b 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41094B0D90339E0A
-Inner product checksum theta = 4224DF77B2266354
-Inner product checksum u = 438852006BE9E2CD
+Inner product checksum rho = 41094CA3DDB86D6C
+Inner product checksum theta = 4224DF7F71A30AF2
+Inner product checksum u = 43C50351B9B97613
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt
index 81c9f6506..98aa19a86 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D3FF37BCAE739E
-Inner product checksum theta = 41EC4ACBE79A8587
-Inner product checksum u = 44176CD1D18E18FC
+Inner product checksum rho = 40D3FF37BCAE74F6
+Inner product checksum theta = 41EC4ACBE79A839B
+Inner product checksum u = 44176CD1D18E1A32
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt
index 862dd9a4e..39180dde6 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40EEEF2D423E478C
-Inner product checksum theta = 42E4D05A8BCEE836
-Inner product checksum u = 475B46A9C47FB04E
+Inner product checksum rho = 40EEEF2D423E47A7
+Inner product checksum theta = 42E4D05A8BCEE810
+Inner product checksum u = 475B46A9C47FC310
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt
index b151550e6..717f74cc2 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D56C9EE61BBD77
-Inner product checksum theta = 42198C1850B2D34C
-Inner product checksum u = 44E3B95E1E2FF310
+Inner product checksum rho = 40D56C9DA881418D
+Inner product checksum theta = 42198C1651D137C2
+Inner product checksum u = 44E3A671E31AF2AC
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_force_profile-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_force_profile-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
index 67adb4fa7..ec3a66a74 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_force_profile-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_force_profile-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
@@ -1,6 +1,6 @@
-Inner product checksum rho = 4077C537B568F9A7
-Inner product checksum theta = 41C2D5A8F93169AC
-Inner product checksum u = 4411D03665CDC4B8
+Inner product checksum rho = 4077C537B568F9AB
+Inner product checksum theta = 41C2D5A8F93169A4
+Inner product checksum u = 4411D03665CDC4B7
Inner product checksum mr1 = 41E28A1800000000
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_geostrophic-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_geostrophic-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
index e89d26b76..3f3ff54de 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_geostrophic-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_geostrophic-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
@@ -1,6 +1,6 @@
-Inner product checksum rho = 4077C537B568F9A7
+Inner product checksum rho = 4077C537B568F9AB
Inner product checksum theta = 418AC77800000000
-Inner product checksum u = 431497F6D7212EDD
+Inner product checksum u = 431497F6D7212EDE
Inner product checksum mr1 = 0
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt
index 703cb92c7..3eb5cb783 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E34359B7C75475
-Inner product checksum theta = 421168C83D5BA43A
-Inner product checksum u = 45082CCFC2F9E7D0
+Inner product checksum rho = 40E34359BB835D7A
+Inner product checksum theta = 421168C83CD92A99
+Inner product checksum u = 45082CCFF3E3EBD5
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt
index ef2d843f4..757007fec 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 4122BD52DCC8006A
-Inner product checksum theta = 4240B2570BC700C9
-Inner product checksum u = 44F9DB80026D577A
+Inner product checksum rho = 4122BF04CEFB4304
+Inner product checksum theta = 4240B178197A0179
+Inner product checksum u = 44FA80D1359AA714
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_relax_theta-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_relax_theta-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
index 548f13da3..344c4bf25 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_relax_theta-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_relax_theta-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
@@ -1,4 +1,4 @@
-Inner product checksum rho = 4077C537B568F9A7
+Inner product checksum rho = 4077C537B568F9AB
Inner product checksum theta = 418AC8040771B996
Inner product checksum u = 0
Inner product checksum mr1 = 0
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_rk-dcmip301-C24_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_rk-dcmip301-C24_azspice_gnu_fast-debug-64bit.txt
index af3057bb6..f995b4868 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_rk-dcmip301-C24_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_rk-dcmip301-C24_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
Inner product checksum rho = 40D3FEFFC9C4E6DC
-Inner product checksum theta = 41EC4AC917CF5932
-Inner product checksum u = 441770B8CF9AAE3C
+Inner product checksum theta = 41EC4AC917CF5933
+Inner product checksum u = 441770B8CF9AAE40
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt
index 072ad5f3b..2ea7a153f 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 410029843CDCD5BA
-Inner product checksum theta = 4204AB0A9C94010A
-Inner product checksum u = 4218421EDC590CAE
-Inner product checksum mr1 = 4047C516C5BD62B3
+Inner product checksum rho = 4100297F92863D8C
+Inner product checksum theta = 4204AB0A95D75E54
+Inner product checksum u = 42184213CCDA2A8C
+Inner product checksum mr1 = 4047C50EA0772E7C
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_runge-kutta-for-linear-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_runge-kutta-for-linear-C12_azspice_gnu_fast-debug-64bit.txt
index d92198c03..4c63df4ba 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_runge-kutta-for-linear-C12_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_runge-kutta-for-linear-C12_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
Inner product checksum rho = 40A3EC6B5F76F0AD
-Inner product checksum theta = 41BEDEE1B8CBB575
-Inner product checksum u = 43A9CD8E4C045BE9
+Inner product checksum theta = 41BEDEE1B8CBB580
+Inner product checksum u = 43A9CD8E1DCB1D6F
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt
index f1aede880..6c6355238 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41030D58C35909BB
-Inner product checksum theta = 42475B42A25CA186
-Inner product checksum u = 456062CEF51C1324
+Inner product checksum rho = 41030D58C35893DC
+Inner product checksum theta = 42475B42A25B1CD2
+Inner product checksum u = 456062CEF50FA91A
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt
index 231eb15fe..4458fdc2c 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41030D6C13692114
-Inner product checksum theta = 42476BF6F9CB0DCA
-Inner product checksum u = 4560B547977FC8C4
+Inner product checksum rho = 41030D6C136DA814
+Inner product checksum theta = 42476BF6F9CAC5C5
+Inner product checksum u = 4560B547978C9DCB
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt
index b1ccd280c..7f82eb532 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41030F18BC7F8C28
-Inner product checksum theta = 42476C6988C931C5
-Inner product checksum u = 4560A0F426171C4B
+Inner product checksum rho = 41030F18BD37FBFC
+Inner product checksum theta = 42476C697D3CBBC4
+Inner product checksum u = 4560A0F45B9BF484
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt
index ee57adc90..321259f30 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E316DD570F220F
-Inner product checksum theta = 420BC551F61B38E2
-Inner product checksum u = 44FD3CA2A85DEBBE
+Inner product checksum rho = 40E316DD570F7279
+Inner product checksum theta = 420BC551F61B381C
+Inner product checksum u = 44FD3CA2A85C6F55
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt
index e429b368a..4a7cfa685 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E3144534D19E42
-Inner product checksum theta = 420BC6A55E4A9D00
-Inner product checksum u = 44FDCE146C2777B3
+Inner product checksum rho = 40E3144534D0AD8D
+Inner product checksum theta = 420BC6A55E4A8A13
+Inner product checksum u = 44FDCE146C2A6ADC
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt
index c420fe8e4..39b20e700 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40A3EC6A14AC655B
-Inner product checksum theta = 41BEDEE1880FB475
-Inner product checksum u = 4316BFB1C72C3612
+Inner product checksum rho = 40A3EC6A14AC6546
+Inner product checksum theta = 41BEDEE1880FB485
+Inner product checksum u = 4316BFB1BE03CCD0
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt
index a4b7337bc..a343ab70e 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 400CE3D8ABA81BA3
-Inner product checksum theta = 426EFB4062696458
-Inner product checksum u = 46E90B314646D0A4
+Inner product checksum rho = 400CE3D8ABA31E92
+Inner product checksum theta = 426EFB406265ADA6
+Inner product checksum u = 46E90B314794D5E9
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt
index ffe89fd94..54546ad89 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40CBD086E89B5CBC
-Inner product checksum theta = 41E3A4D10A00A1F3
-Inner product checksum u = 4400A7C1E614149E
+Inner product checksum rho = 40CBD086E89B5CC1
+Inner product checksum theta = 41E3A4D10A00A1E6
+Inner product checksum u = 4400A7C1E61414C0
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
index 3265025dd..6f467053f 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40BBCBB6EDF1627A
-Inner product checksum theta = 41D3A4D091EAA7D7
-Inner product checksum u = 427B537FDE7D4B72
+Inner product checksum rho = 40BBCBB6EDF16322
+Inner product checksum theta = 41D3A4D091EAAAA0
+Inner product checksum u = 427B55274B3FC5A4
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
index b9a437d68..47d2ca451 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 409BCBB6ED8BDB00
-Inner product checksum theta = 41B3A4D09228744A
-Inner product checksum u = 425BD288C4FE4540
+Inner product checksum rho = 409BCBB6ED8BDD6B
+Inner product checksum theta = 41B3A4D092287024
+Inner product checksum u = 425BD288C5035923
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
index b51e51cce..5210301ad 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40ABB3332E06A4BB
-Inner product checksum theta = 41C56FE12D3A256E
-Inner product checksum u = 426BDF0AFC1EDB9D
+Inner product checksum rho = 40ABB3332E06A4CE
+Inner product checksum theta = 41C56FE12D3A2596
+Inner product checksum u = 426BDF0B055B937C
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt
index a9509981a..75e14ceec 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40EA1721E2B197EA
-Inner product checksum theta = 41F69B200F92D0F4
-Inner product checksum u = 432D54F6E8799F07
+Inner product checksum rho = 40EA1721E2B15B69
+Inner product checksum theta = 41F69B200F92D18A
+Inner product checksum u = 432D54F6E8244CF6
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt
index bc0ca5515..d10d440ea 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40DA171CE530F4BE
-Inner product checksum theta = 41E69B0DAB767A1C
-Inner product checksum u = 431CEA8125082548
+Inner product checksum rho = 40DA171CE5DFEB72
+Inner product checksum theta = 41E69B0DA69A3DDA
+Inner product checksum u = 431CEA8D79DDA992
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt
index 1b24646b6..7bfac1172 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40FA16E969D70AC8
-Inner product checksum theta = 42069BF1BB714707
-Inner product checksum u = 42FFC30F4E941145
+Inner product checksum rho = 40FA16E968D6ECF6
+Inner product checksum theta = 42069BF1BC3FAC5C
+Inner product checksum u = 42FFC30DC586F095
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt
index 00c69e3b5..8adaedada 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40EA1719B7A85796
-Inner product checksum theta = 41F69B1F274ACBE8
-Inner product checksum u = 432E6914CA3F2AB7
+Inner product checksum rho = 40EA1719BC31103A
+Inner product checksum theta = 41F69B1F262CCD48
+Inner product checksum u = 432E6917C07B6E47
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt
index 34c6e5650..24b14821e 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D4230A146F2CC0
-Inner product checksum theta = 421AE83CAB39A57E
-Inner product checksum u = 44D53ECE9B74C51B
+Inner product checksum rho = 40D4230A140EC54C
+Inner product checksum theta = 421AE83CAB2D6756
+Inner product checksum u = 44D53ED5379A094E
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt
index 8513b3305..a58df61c2 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D3B0E5F5D41340
-Inner product checksum theta = 421AFAE9E4BE5D88
-Inner product checksum u = 44D4479F148C12A2
+Inner product checksum rho = 40D3B0E6698BD4B0
+Inner product checksum theta = 421AFAE9DFAA54F5
+Inner product checksum u = 44D4476F2CF59831
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 1b949d925..472502cf4 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2F2B22483EA3D
-Inner product checksum theta = 4210411A3410C3C7
-Inner product checksum u = 4501AC432284CD82
+Inner product checksum rho = 40E2F2B224850FC1
+Inner product checksum theta = 4210411A34109454
+Inner product checksum u = 4501AC4322FF38BE
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt
index 09869fdd8..e0bfc6d73 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E31B4D10BF0DA0
-Inner product checksum theta = 4210461F9BB0AAAE
-Inner product checksum u = 4500F4E3AE6CD8D8
+Inner product checksum rho = 40E31B58658B64FE
+Inner product checksum theta = 4210461CEC44C09C
+Inner product checksum u = 4500F7F35EF7ABE3
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt
index 6ffb81194..a917d3e3c 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2EB31AEB7AC54
-Inner product checksum theta = 42104262EDCE8094
-Inner product checksum u = 4501DA5CB6E76460
+Inner product checksum rho = 40E2EB31AEDBF9AC
+Inner product checksum theta = 42104262EDCE5F78
+Inner product checksum u = 4501DA5CB407A122
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index dcdf764c4..6debfb645 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2F3443865F0C8
-Inner product checksum theta = 421041C0A40F716F
-Inner product checksum u = 4501D87BC37CB1BA
+Inner product checksum rho = 40E2F34437B07925
+Inner product checksum theta = 421041C0A42883F2
+Inner product checksum u = 4501D87BBCA1E98C
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 4ddcb7e18..008e66166 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2E61079810B7E
-Inner product checksum theta = 4210435EB2DDAEFC
-Inner product checksum u = 4501348CFD711AFA
+Inner product checksum rho = 40E2E6107980DE24
+Inner product checksum theta = 4210435EB2DDB96B
+Inner product checksum u = 4501348CFD74DDA0
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt
index a33fd4a1b..8b90ec314 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40FE89845A997E06
-Inner product checksum theta = 4210F00A9EEFEDF3
-Inner product checksum u = 42EF4B7C9D6C01D9
+Inner product checksum rho = 40FE89845A998DE0
+Inner product checksum theta = 4210F00A9EEFEDC3
+Inner product checksum u = 42EF4B7C9D68A0AE
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index a449fc5d3..0d8e76987 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E8E802280ABCFA
-Inner product checksum theta = 4204E59A63CB78B2
-Inner product checksum u = 4391E522B31489D4
+Inner product checksum rho = 40E8EB38665833B6
+Inner product checksum theta = 4204E5A79065940E
+Inner product checksum u = 43EAD34D5B99ED84
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt
index a4fa9f025..bb6724f9c 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41094B0D90339E14
-Inner product checksum theta = 4224DF77B226634F
-Inner product checksum u = 438852006BFEBBA6
+Inner product checksum rho = 41094CA3DDB86D6E
+Inner product checksum theta = 4224DF7F71A30AF2
+Inner product checksum u = 43C50351B9C1AD7F
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 317fe4b7b..1be1d7c1c 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D3FF37BCAE7576
-Inner product checksum theta = 41EC4ACBE79A8562
-Inner product checksum u = 44176CD1D18E1C00
+Inner product checksum rho = 40D3FF37BCAE7516
+Inner product checksum theta = 41EC4ACBE79A844D
+Inner product checksum u = 44176CD1D18E2208
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index abd067848..1aa8fdb46 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40EEEF2D423E47A9
-Inner product checksum theta = 42E4D05A8BCEE302
-Inner product checksum u = 475B46A9C47FC6D6
+Inner product checksum rho = 40EEEF2D423E47AD
+Inner product checksum theta = 42E4D05A8BCEE030
+Inner product checksum u = 475B46A9C47FD11A
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 4ef335a94..bf983e591 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D56C9EE61BC02A
-Inner product checksum theta = 42198C1850B2D284
-Inner product checksum u = 44E3B95E1E476DC8
+Inner product checksum rho = 40D56C9DA8814CCB
+Inner product checksum theta = 42198C1651D12C63
+Inner product checksum u = 44E3A671E315DA2A
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_force_profile-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_force_profile-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt
index 67adb4fa7..ec3a66a74 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_force_profile-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_force_profile-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt
@@ -1,6 +1,6 @@
-Inner product checksum rho = 4077C537B568F9A7
-Inner product checksum theta = 41C2D5A8F93169AC
-Inner product checksum u = 4411D03665CDC4B8
+Inner product checksum rho = 4077C537B568F9AB
+Inner product checksum theta = 41C2D5A8F93169A4
+Inner product checksum u = 4411D03665CDC4B7
Inner product checksum mr1 = 41E28A1800000000
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_geostrophic-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_geostrophic-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt
index e89d26b76..3f3ff54de 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_geostrophic-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_geostrophic-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt
@@ -1,6 +1,6 @@
-Inner product checksum rho = 4077C537B568F9A7
+Inner product checksum rho = 4077C537B568F9AB
Inner product checksum theta = 418AC77800000000
-Inner product checksum u = 431497F6D7212EDD
+Inner product checksum u = 431497F6D7212EDE
Inner product checksum mr1 = 0
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 75bfdf0cf..d6a0669e8 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E34359B80C5804
-Inner product checksum theta = 421168C83D4A79F3
-Inner product checksum u = 45082CCFCECDD575
+Inner product checksum rho = 40E34359BC9E1FF9
+Inner product checksum theta = 421168C83CB0F9F2
+Inner product checksum u = 45082CD00EE65D3A
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt
index 9a03afb2d..11a82dde4 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 4122BD52DCC6D87A
-Inner product checksum theta = 4240B2570BC5F2DA
-Inner product checksum u = 44F9DB8002644CBC
+Inner product checksum rho = 4122BF04CF00355A
+Inner product checksum theta = 4240B1781976726A
+Inner product checksum u = 44FA80D135EEBD06
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_rk-dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_rk-dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt
index e1abba728..189fddd80 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_rk-dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_rk-dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
Inner product checksum rho = 40D3FEFFC9C4E6DA
Inner product checksum theta = 41EC4AC917CF5932
-Inner product checksum u = 441770B8CF9AAE38
+Inner product checksum u = 441770B8CF9AAE44
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt
index 072ad5f3b..e578524d8 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 410029843CDCD5BA
-Inner product checksum theta = 4204AB0A9C94010A
-Inner product checksum u = 4218421EDC590CAE
-Inner product checksum mr1 = 4047C516C5BD62B3
+Inner product checksum rho = 410029800831452C
+Inner product checksum theta = 4204AB0A9671FAEC
+Inner product checksum u = 421842151C74D2F4
+Inner product checksum mr1 = 4047C50F8798F474
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_runge-kutta-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_runge-kutta-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt
index 6f0e22be6..1e100b9f8 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_runge-kutta-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_runge-kutta-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40A3EC6B5F76F0AE
-Inner product checksum theta = 41BEDEE1B8CBB574
-Inner product checksum u = 43A9CD8E4BFD1915
+Inner product checksum rho = 40A3EC6B5F76F0AB
+Inner product checksum theta = 41BEDEE1B8CBB580
+Inner product checksum u = 43A9CD8E1DC8E49D
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 7e1dfb2bf..aecbecff9 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41030D58C358841C
-Inner product checksum theta = 42475B42A25BD24C
-Inner product checksum u = 456062CEF51ADA01
+Inner product checksum rho = 41030D58C3597A50
+Inner product checksum theta = 42475B42A24AAD45
+Inner product checksum u = 456062CEF5269E09
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt
index 087fd2fad..3d7d80d5f 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41030D6C136C4726
-Inner product checksum theta = 42476BF6F9C9E065
-Inner product checksum u = 4560B547977B120F
+Inner product checksum rho = 41030D6C137161F5
+Inner product checksum theta = 42476BF6F9CA734A
+Inner product checksum u = 4560B547976A06DC
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt
index e42f32057..3ab3e8643 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41030F18B9FB67A0
-Inner product checksum theta = 42476C698DF698DD
-Inner product checksum u = 4560A0F3DA7365AC
+Inner product checksum rho = 41030F18BF111815
+Inner product checksum theta = 42476C697C857758
+Inner product checksum u = 4560A0F50B3A42EB
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt
index 2d5e3b173..224846b62 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E316DD570F67E7
-Inner product checksum theta = 420BC551F61B2ADE
-Inner product checksum u = 44FD3CA2A85A5D90
+Inner product checksum rho = 40E316DD570F1CC0
+Inner product checksum theta = 420BC551F61B3027
+Inner product checksum u = 44FD3CA2A85C094A
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt
index 30022c661..c00924ccb 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E3144534D22EC1
-Inner product checksum theta = 420BC6A55E4A8238
-Inner product checksum u = 44FDCE146C25FF50
+Inner product checksum rho = 40E3144534D15417
+Inner product checksum theta = 420BC6A55E4A8BF5
+Inner product checksum u = 44FDCE146C24FA5F
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt
index 9ca596629..b9ca488ce 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40A3EC6A14AC655D
-Inner product checksum theta = 41BEDEE1880FB475
-Inner product checksum u = 4316BFB1C7362BEB
+Inner product checksum rho = 40A3EC6A14AC6544
+Inner product checksum theta = 41BEDEE1880FB484
+Inner product checksum u = 4316BFB1BDA185A3
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 415129215..3cf9c7fce 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 400CE3D8ABB2DD00
-Inner product checksum theta = 426EFB40626F1444
-Inner product checksum u = 46E90B314334D653
+Inner product checksum rho = 400CE3D8ABA3C409
+Inner product checksum theta = 426EFB406266ED48
+Inner product checksum u = 46E90B314795D634
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt
index ffe89fd94..54546ad89 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40CBD086E89B5CBC
-Inner product checksum theta = 41E3A4D10A00A1F3
-Inner product checksum u = 4400A7C1E614149E
+Inner product checksum rho = 40CBD086E89B5CC1
+Inner product checksum theta = 41E3A4D10A00A1E6
+Inner product checksum u = 4400A7C1E61414C0
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
index 097e86706..c3f123004 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40BBCBB6EDF16259
-Inner product checksum theta = 41D3A4D091EAA7E2
-Inner product checksum u = 427B537FAE94A56C
+Inner product checksum rho = 40BBCBB6EDF1632E
+Inner product checksum theta = 41D3A4D091EAAAB6
+Inner product checksum u = 427B552B8E4E3954
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
index 8d35898d9..d368d4e82 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 409BCBB6ED8BDD5A
-Inner product checksum theta = 41B3A4D09228734C
-Inner product checksum u = 425BD288A2566131
+Inner product checksum rho = 409BCBB6ED8BDC32
+Inner product checksum theta = 41B3A4D0922873DE
+Inner product checksum u = 425BD2894889D688
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
index f4685bc3c..13a0a82ad 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40ABB3332E06A4CF
-Inner product checksum theta = 41C56FE12D3A257C
-Inner product checksum u = 426BDF0B0782D926
+Inner product checksum rho = 40ABB3332E06A4CC
+Inner product checksum theta = 41C56FE12D3A2574
+Inner product checksum u = 426BDF0AE9C22796
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt
index dd7d16fd9..fc3d0583b 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40EA1721E2B197EB
-Inner product checksum theta = 41F69B200F92D0F4
-Inner product checksum u = 432D54F6E8799F07
+Inner product checksum rho = 40EA1721E2B15B6A
+Inner product checksum theta = 41F69B200F92D18A
+Inner product checksum u = 432D54F6E8244CF4
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt
index fa2891bb7..36668774f 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40DA171CE5311E97
-Inner product checksum theta = 41E69B0DAB753A8E
-Inner product checksum u = 431CEA812598E8B0
+Inner product checksum rho = 40DA171CE5E08814
+Inner product checksum theta = 41E69B0DA698F433
+Inner product checksum u = 431CEA8D7C1DFEC6
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt
index 22f2c4445..d05a8bafa 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40FA16E969D797DC
-Inner product checksum theta = 42069BF1BB703F6A
-Inner product checksum u = 42FFC30F4ED2B428
+Inner product checksum rho = 40FA16E968D734CF
+Inner product checksum theta = 42069BF1BC3F861C
+Inner product checksum u = 42FFC30DC544D925
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt
index 075d391fc..cf8d70141 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40EA171A18309116
-Inner product checksum theta = 41F69B1D66F906CB
-Inner product checksum u = 432E68AADCDE17B3
+Inner product checksum rho = 40EA171A183083E2
+Inner product checksum theta = 41F69B1D66F8F148
+Inner product checksum u = 432E68AADCBEB6F2
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 0692e4368..229355c74 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D4230A14F81BCE
-Inner product checksum theta = 421AE83CAB4D6A4B
-Inner product checksum u = 44D53ED7F85D2DAF
+Inner product checksum rho = 40D4230A14B1ED00
+Inner product checksum theta = 421AE83CAB3A0BC2
+Inner product checksum u = 44D53ED52FBA7169
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt
index d7a2154e7..d08be14cf 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D3B0E614A00984
-Inner product checksum theta = 421AFAEA39674732
-Inner product checksum u = 44D455410D2E2D22
+Inner product checksum rho = 40D3B0E78DC80386
+Inner product checksum theta = 421AFAE9374D5021
+Inner product checksum u = 44D4422DCFB3E4B9
diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt
index b17a42b79..476728272 100644
--- a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 3FA7A1197E0CB9A0
-Inner product checksum theta = 4161FFC69BF205C3
-Inner product checksum u = 4569B9484E575B5E
-Inner product checksum mr1 = 3F36C0A882D88E66
-Inner product checksum mr2 = 3EEADFD85794EA13
-Inner product checksum mr3 = 3EDFEC0C984D5704
-Inner product checksum mr4 = 3EED3A950512EB1A
+Inner product checksum rho = 3FAE277094D72967
+Inner product checksum theta = 4162161AEA00D7EF
+Inner product checksum u = 45699FBCF50BA0A5
+Inner product checksum mr1 = 3F3FF1A1583E73F0
+Inner product checksum mr2 = 3EF377FEDB910050
+Inner product checksum mr3 = 3EE2739439F05305
+Inner product checksum mr4 = 3EECD12A77FF627E
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt
index df5359de9..e0a22271e 100644
--- a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3EECEB00E275F684
-Inner product checksum theta = 40130622675CC417
-Inner product checksum u = 42EF956998B205D3
+Inner product checksum rho = 3EED3AC2F17E742B
+Inner product checksum theta = 4012F0191F58F9A4
+Inner product checksum u = 42F0DDAD32EEF590
diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_full-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_full-debug-64bit.txt
index df5359de9..e0a22271e 100644
--- a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_full-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_full-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3EECEB00E275F684
-Inner product checksum theta = 40130622675CC417
-Inner product checksum u = 42EF956998B205D3
+Inner product checksum rho = 3EED3AC2F17E742B
+Inner product checksum theta = 4012F0191F58F9A4
+Inner product checksum u = 42F0DDAD32EEF590
diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_azspice_gnu_fast-debug-64bit.txt
index 36256062e..08b08aef4 100644
--- a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_azspice_gnu_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 3F95A1DDD2EC7839
-Inner product checksum theta = 414000E886CBFB32
-Inner product checksum u = 452CCCFAA0BBF41E
-Inner product checksum mr1 = 3F2D2183BE8E5C80
-Inner product checksum mr2 = 3EDF53A45356ADEA
-Inner product checksum mr3 = 3ED26AEF2D8453B5
-Inner product checksum mr4 = 3EE009842E269AF6
+Inner product checksum rho = 3F983B73A8B756E8
+Inner product checksum theta = 41401E1A618FF22C
+Inner product checksum u = 452D057EDF062157
+Inner product checksum mr1 = 3F2E43881C6977AA
+Inner product checksum mr2 = 3EDE7F5B2AECD2FF
+Inner product checksum mr3 = 3ED8476240EB13DB
+Inner product checksum mr4 = 3EDFE72F5FCBD6CD
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_op_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_op_azspice_gnu_fast-debug-64bit.txt
index 5ae16e5aa..db596c921 100644
--- a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_op_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_op_azspice_gnu_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 3F95A1DF1E431E10
-Inner product checksum theta = 41400115CD2072D9
-Inner product checksum u = 452CCC1C9C56D3B6
-Inner product checksum mr1 = 3F2D21B9057A6428
-Inner product checksum mr2 = 3EDF53C45279F22E
-Inner product checksum mr3 = 3ED26AEE8FE0B97C
-Inner product checksum mr4 = 3EE009839EC7E10F
+Inner product checksum rho = 3F983B5E56B01626
+Inner product checksum theta = 41401E371BE02438
+Inner product checksum u = 452D04AE5BC7EF4B
+Inner product checksum mr1 = 3F2E43C21CF4B163
+Inner product checksum mr2 = 3EDE7F7AD8D9F888
+Inner product checksum mr3 = 3ED847619E3F2B44
+Inner product checksum mr4 = 3EDFE72E3DDF1473
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt
index db90ee0d3..c6fd557d5 100644
--- a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 3FA7A119D15694EA
-Inner product checksum theta = 4161FFC6B41D6C18
-Inner product checksum u = 4569B9484F679FDB
-Inner product checksum mr1 = 3F36C0A85083444F
-Inner product checksum mr2 = 3EEADFD859B930EE
-Inner product checksum mr3 = 3EDFEC0C98392EF7
-Inner product checksum mr4 = 3EED3A95035B479C
+Inner product checksum rho = 3FAE277076906FCE
+Inner product checksum theta = 4162161B011E7CB7
+Inner product checksum u = 45699FBD32B15B1F
+Inner product checksum mr1 = 3F3FF1A1577DD860
+Inner product checksum mr2 = 3EF377FEC546D922
+Inner product checksum mr3 = 3EE2739439843303
+Inner product checksum mr4 = 3EECD12A7563C499
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_runge-kutta-C12_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_runge-kutta-C12_ex1a_cce_fast-debug-64bit.txt
index 444cc9574..9e6a8e431 100644
--- a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_runge-kutta-C12_ex1a_cce_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_runge-kutta-C12_ex1a_cce_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3EECEB00E275EB48
-Inner product checksum theta = 40130622675CC45A
-Inner product checksum u = 42EF956998B2045E
+Inner product checksum rho = 3EED3AC2F17E6C16
+Inner product checksum theta = 4012F0191F58F9A2
+Inner product checksum u = 42F0DDAD32EEFA8E
diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_ex1a_cce_fast-debug-64bit.txt
index 7dfc5de39..2429327fc 100644
--- a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_ex1a_cce_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_ex1a_cce_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 3F95A1C504B6A918
-Inner product checksum theta = 413FF942C2E563C0
-Inner product checksum u = 452CCCF6ABE0865F
-Inner product checksum mr1 = 3F2D21C8E6687010
-Inner product checksum mr2 = 3EDF53AD2309BABA
-Inner product checksum mr3 = 3ED26AEFEBB2B535
-Inner product checksum mr4 = 3EE00982584FBC51
+Inner product checksum rho = 3F983B37D15BDE1C
+Inner product checksum theta = 414019EB42CA849D
+Inner product checksum u = 452D058BB1F73C3A
+Inner product checksum mr1 = 3F2E43BF0E7C5689
+Inner product checksum mr2 = 3EDE7F633C575AAC
+Inner product checksum mr3 = 3ED84762F36CCECF
+Inner product checksum mr4 = 3EDFE72C0A70AB9F
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_op_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_op_ex1a_cce_fast-debug-64bit.txt
index f6ca49a10..434194786 100644
--- a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_op_ex1a_cce_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_tlm_forecast_tl_default-C12_op_ex1a_cce_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 3F95A1E1F17F7A09
-Inner product checksum theta = 413FF80D6A5F4BE8
-Inner product checksum u = 452CCB73BB6342D4
-Inner product checksum mr1 = 3F2D21C0C423794A
-Inner product checksum mr2 = 3EDF53B78E4C3283
-Inner product checksum mr3 = 3ED26AEF7B3222E8
-Inner product checksum mr4 = 3EE00982FE30ACFA
+Inner product checksum rho = 3F983B4F3FA707A2
+Inner product checksum theta = 414019479FB8228B
+Inner product checksum u = 452D040BCF8033FC
+Inner product checksum mr1 = 3F2E43B585EE4341
+Inner product checksum mr2 = 3EDE7F6E0B61076D
+Inner product checksum mr3 = 3ED8476284E8AF37
+Inner product checksum mr4 = 3EDFE72D5727A362
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_aquaplanet-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_aquaplanet-C12_azspice_gnu_fast-debug-32bit.txt
index 9b9895e08..46aa129ab 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_aquaplanet-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_aquaplanet-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 468AD8F2
-Inner product checksum theta = 4FD6898F
-Inner product checksum u = 6A4E3AC8
-Inner product checksum mr1 = 3F07FDF4
-Inner product checksum mr2 = 369B4D1C
-Inner product checksum mr3 = 3413652A
-Inner product checksum mr4 = 368E9398
+Inner product checksum rho = 468AD8A1
+Inner product checksum theta = 4FD6892A
+Inner product checksum u = 6A4E2456
+Inner product checksum mr1 = 3F08090E
+Inner product checksum mr2 = 3685474C
+Inner product checksum mr3 = 342315EB
+Inner product checksum mr4 = 369452F5
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_camembert_case3_gj1214b-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_camembert_case3_gj1214b-C12_azspice_gnu_fast-debug-32bit.txt
index dac455d15..76480a890 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_camembert_case3_gj1214b-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_camembert_case3_gj1214b-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 44D95711
-Inner product checksum theta = 5504FC40
-Inner product checksum u = 74276DEB
+Inner product checksum rho = 44D957C8
+Inner product checksum theta = 5504F9DC
+Inner product checksum u = 742769A8
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt
index ebbf5d1b7..fec1cd36f 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D66411
-Inner product checksum theta = 518E95C2
-Inner product checksum u = 6AF4A509
-Inner product checksum mr1 = 3FD1977C
-Inner product checksum mr2 = 375C8794
-Inner product checksum mr3 = 3534A85C
-Inner product checksum mr4 = 36B9C166
+Inner product checksum rho = 46D68370
+Inner product checksum theta = 518F9409
+Inner product checksum u = 6AF60585
+Inner product checksum mr1 = 3FD2085E
+Inner product checksum mr2 = 3731FF1D
+Inner product checksum mr3 = 3570D63F
+Inner product checksum mr4 = 36D80F28
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_chem-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_chem-C12_azspice_gnu_fast-debug-32bit.txt
index 208bf5b67..1bc83cf87 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_chem-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9_chem-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D66282
-Inner product checksum theta = 518E9697
-Inner product checksum u = 6AF4EDB0
-Inner product checksum mr1 = 3FD1A816
-Inner product checksum mr2 = 372DA48E
-Inner product checksum mr3 = 355FEEE4
-Inner product checksum mr4 = 36BADA78
+Inner product checksum rho = 46D6843A
+Inner product checksum theta = 518F9009
+Inner product checksum u = 6AF6639C
+Inner product checksum mr1 = 3FD1E981
+Inner product checksum mr2 = 3735ACE8
+Inner product checksum mr3 = 3591218E
+Inner product checksum mr4 = 36E3934B
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_hd209458b-C24_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_hd209458b-C24_azspice_gnu_fast-debug-32bit.txt
index 28b77bf56..ebd73d9d7 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_hd209458b-C24_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_hd209458b-C24_azspice_gnu_fast-debug-32bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 4798D8B7
-Inner product checksum theta = 5840648A
-Inner product checksum u = 79BA7DF0
+Inner product checksum rho = 4798D937
+Inner product checksum theta = 58404EEE
+Inner product checksum u = 79BA143C
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_casim-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_casim-C12_azspice_gnu_fast-debug-32bit.txt
index e8298690a..ec2610a8f 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_casim-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_casim-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D853A2
-Inner product checksum theta = 518BD97F
-Inner product checksum u = 6A8B5D0D
-Inner product checksum mr1 = 3FCCB5F5
-Inner product checksum mr2 = 383329FE
-Inner product checksum mr3 = 354A12DC
-Inner product checksum mr4 = 36D48CC3
-Inner product checksum mr5 = 2C0EBB00
-Inner product checksum mr6 = 354FB8FB
+Inner product checksum rho = 46D87621
+Inner product checksum theta = 518CDC6C
+Inner product checksum u = 6A8BB622
+Inner product checksum mr1 = 3FCCD6A5
+Inner product checksum mr2 = 3830399F
+Inner product checksum mr3 = 3540FFB3
+Inner product checksum mr4 = 369C6152
+Inner product checksum mr5 = 2E27E849
+Inner product checksum mr6 = 3559D6AB
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_coma9-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_coma9-C12_azspice_gnu_fast-debug-32bit.txt
index 575d12f26..5b7783020 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_coma9-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_coma9-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D84776
-Inner product checksum theta = 518BD5CA
-Inner product checksum u = 6A876EA4
-Inner product checksum mr1 = 3FCFC573
-Inner product checksum mr2 = 37F982D2
-Inner product checksum mr3 = 378F0686
-Inner product checksum mr4 = 37941390
-Inner product checksum mr5 = 36AD80BB
+Inner product checksum rho = 46D86556
+Inner product checksum theta = 518CD634
+Inner product checksum u = 6A884F5E
+Inner product checksum mr1 = 3FCFE1A9
+Inner product checksum mr2 = 37FB999D
+Inner product checksum mr3 = 37A3825D
+Inner product checksum mr4 = 37AAD30F
+Inner product checksum mr5 = 36CB92A2
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_comorph_dev-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_comorph_dev-C12_azspice_gnu_fast-debug-32bit.txt
index 689a0c93c..d9f8c5feb 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_comorph_dev-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_comorph_dev-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D833DD
-Inner product checksum theta = 518BE345
-Inner product checksum u = 6A861A7A
-Inner product checksum mr1 = 3FD12CFE
-Inner product checksum mr2 = 37EF6FF7
-Inner product checksum mr3 = 377034CF
-Inner product checksum mr4 = 37BA8E17
-Inner product checksum mr5 = 3694BA7A
+Inner product checksum rho = 46D85309
+Inner product checksum theta = 518CEB19
+Inner product checksum u = 6A86BDBD
+Inner product checksum mr1 = 3FD15DE3
+Inner product checksum mr2 = 37E7EB43
+Inner product checksum mr3 = 378A0874
+Inner product checksum mr4 = 37C4C735
+Inner product checksum mr5 = 36A40434
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt
index 066b82f4f..47df08796 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D8395D
-Inner product checksum theta = 518BD538
-Inner product checksum u = 6A896534
-Inner product checksum mr1 = 3FD027A8
-Inner product checksum mr2 = 37C25DEC
-Inner product checksum mr3 = 35A25CC0
-Inner product checksum mr4 = 371736E2
+Inner product checksum rho = 46D85AAE
+Inner product checksum theta = 518CDC24
+Inner product checksum u = 6A88EFDE
+Inner product checksum mr1 = 3FD05228
+Inner product checksum mr2 = 37D33A81
+Inner product checksum mr3 = 359FD674
+Inner product checksum mr4 = 371B5EEA
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt
index b2ad06d13..cc4a4798d 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 40DB07687B63446A
-Inner product checksum theta = 42317A99CF4E0BC0
-Inner product checksum u = 45512AE8772F7D84
-Inner product checksum mr1 = 3FFA019FB76BA7A3
-Inner product checksum mr2 = 3EF9206AB8DD06F5
-Inner product checksum mr3 = 3EB3C8E43B077FC8
-Inner product checksum mr4 = 3EE4C554CE5D456C
+Inner product checksum rho = 40DB0B9C96F4BA66
+Inner product checksum theta = 42319C4BE6D104D9
+Inner product checksum u = 45511BFA5898E796
+Inner product checksum mr1 = 3FFA0CCF3D5EBC11
+Inner product checksum mr2 = 3EF833CD74A96FCC
+Inner product checksum mr3 = 3EB21BF36D086306
+Inner product checksum mr4 = 3EE129541DCB1566
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C48_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C48_MG_azspice_gnu_fast-debug-32bit.txt
index 4c7eed6cc..50a37c287 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C48_MG_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C48_MG_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D7FD32
-Inner product checksum theta = 5392A6D2
-Inner product checksum u = 6A97B8BA
-Inner product checksum mr1 = 41CD0576
-Inner product checksum mr2 = 39CBA1DC
-Inner product checksum mr3 = 37B5C87C
-Inner product checksum mr4 = 39631544
+Inner product checksum rho = 48D802F5
+Inner product checksum theta = 5392FB7E
+Inner product checksum u = 6A97AD94
+Inner product checksum mr1 = 41CD0C45
+Inner product checksum mr2 = 39CFE0B4
+Inner product checksum mr3 = 37A8CD54
+Inner product checksum mr4 = 395FC0A4
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-pert-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-pert-C12_azspice_gnu_fast-debug-32bit.txt
index f8dff9082..235402968 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-pert-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-pert-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D81310
-Inner product checksum theta = 51944596
-Inner product checksum u = 6B4636E2
-Inner product checksum mr1 = 3FC88E16
-Inner product checksum mr2 = 37A99D46
-Inner product checksum mr3 = 35A2C5C6
-Inner product checksum mr4 = 3788B82C
+Inner product checksum rho = 46D83278
+Inner product checksum theta = 51946D4C
+Inner product checksum u = 6B12B532
+Inner product checksum mr1 = 3FC8DE58
+Inner product checksum mr2 = 37A79B85
+Inner product checksum mr3 = 3589AA4D
+Inner product checksum mr4 = 378F6306
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_azspice_gnu_fast-debug-32bit.txt
index 35fdec60e..354c8a315 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D7FDBE
-Inner product checksum theta = 5392A6F9
-Inner product checksum u = 6A97B9FA
-Inner product checksum mr1 = 41CD0CB2
-Inner product checksum mr2 = 39D05B98
-Inner product checksum mr3 = 37AD4C2E
-Inner product checksum mr4 = 395E937D
+Inner product checksum rho = 48D80346
+Inner product checksum theta = 5392FB96
+Inner product checksum u = 6A97B48C
+Inner product checksum mr1 = 41CD0992
+Inner product checksum mr2 = 39CFD2C8
+Inner product checksum mr3 = 37A9D189
+Inner product checksum mr4 = 395D72A2
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_da-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_da-C12_azspice_gnu_fast-debug-32bit.txt
index cd579c1cb..0280c3771 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_da-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_da-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D81241
-Inner product checksum theta = 518BD644
-Inner product checksum u = 6A870A8B
-Inner product checksum mr1 = 3FD3D730
-Inner product checksum mr2 = 37E1345C
-Inner product checksum mr3 = 35A0FF9C
-Inner product checksum mr4 = 36DC35A2
+Inner product checksum rho = 46D81BB6
+Inner product checksum theta = 518A8337
+Inner product checksum u = 6A8D8496
+Inner product checksum mr1 = 3FD3E8F6
+Inner product checksum mr2 = 37E36076
+Inner product checksum mr3 = 359ECD22
+Inner product checksum mr4 = 36EF2E5D
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt
index e07f68014..001cd6c5c 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D80460
-Inner product checksum theta = 519522B0
-Inner product checksum u = 6AE6775E
-Inner product checksum mr1 = 3FC86149
-Inner product checksum mr2 = 37CD2A44
-Inner product checksum mr3 = 351EE925
-Inner product checksum mr4 = 36F072B8
+Inner product checksum rho = 46D8267D
+Inner product checksum theta = 5195288D
+Inner product checksum u = 6AD004AB
+Inner product checksum mr1 = 3FC8A13D
+Inner product checksum mr2 = 37A81D7C
+Inner product checksum mr3 = 351E873A
+Inner product checksum mr4 = 36A03E16
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C48_MG_azspice_gnu_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C48_MG_azspice_gnu_full-debug-32bit.txt
index c1993e0b9..43adea265 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C48_MG_azspice_gnu_full-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C48_MG_azspice_gnu_full-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D81496
-Inner product checksum theta = 53952668
-Inner product checksum u = 6AA4D6EE
-Inner product checksum mr1 = 41C831AC
-Inner product checksum mr2 = 399A2744
-Inner product checksum mr3 = 37789C51
-Inner product checksum mr4 = 39300921
+Inner product checksum rho = 48D81D9C
+Inner product checksum theta = 539527EC
+Inner product checksum u = 6AA47E09
+Inner product checksum mr1 = 41C845F6
+Inner product checksum mr2 = 3999D9EF
+Inner product checksum mr3 = 377473A4
+Inner product checksum mr4 = 392E287A
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda-C12_azspice_gnu_fast-debug-32bit.txt
index 8f87801d6..7627a6637 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D81952
-Inner product checksum theta = 518BAFFF
-Inner product checksum u = 6A8C8B79
-Inner product checksum mr1 = 3FD11C39
-Inner product checksum mr2 = 37E724C0
-Inner product checksum mr3 = 359FEF4C
-Inner product checksum mr4 = 37074045
+Inner product checksum rho = 46D81FC2
+Inner product checksum theta = 518A62F2
+Inner product checksum u = 6A902F68
+Inner product checksum mr1 = 3FD10764
+Inner product checksum mr2 = 37D4379C
+Inner product checksum mr3 = 357CD472
+Inner product checksum mr4 = 36FB3ACE
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda_jada-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda_jada-C12_azspice_gnu_fast-debug-32bit.txt
index a5745eb7b..143af5c1b 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda_jada-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_eda_jada-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D8137D
-Inner product checksum theta = 518BD14C
-Inner product checksum u = 6A8868AB
-Inner product checksum mr1 = 3FD3A9A6
-Inner product checksum mr2 = 37D9892A
-Inner product checksum mr3 = 35B50D72
-Inner product checksum mr4 = 37104F46
+Inner product checksum rho = 46D81BBA
+Inner product checksum theta = 518A839F
+Inner product checksum u = 6A8CA47E
+Inner product checksum mr1 = 3FD39F7E
+Inner product checksum mr2 = 37D6BA63
+Inner product checksum mr3 = 3595C4A4
+Inner product checksum mr4 = 36D4135E
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_mol-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_mol-C12_azspice_gnu_fast-debug-32bit.txt
index 60686d791..d504de77c 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_mol-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_mol-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D85CA4
-Inner product checksum theta = 5193AF09
-Inner product checksum u = 6A862FDC
-Inner product checksum mr1 = 3FD02F73
-Inner product checksum mr2 = 37B8193F
-Inner product checksum mr3 = 355AA397
-Inner product checksum mr4 = 36FA519C
+Inner product checksum rho = 46D87E02
+Inner product checksum theta = 5193E829
+Inner product checksum u = 6A86D8ED
+Inner product checksum mr1 = 3FD052BD
+Inner product checksum mr2 = 379D9AB3
+Inner product checksum mr3 = 3545AB94
+Inner product checksum mr4 = 36D01997
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt
index 12acd49ab..96e2f0b11 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D7FBF0
-Inner product checksum theta = 5195577F
-Inner product checksum u = 6B246B78
-Inner product checksum mr1 = 3FC85292
-Inner product checksum mr2 = 38201B0A
-Inner product checksum mr3 = 356269E7
-Inner product checksum mr4 = 36F6669E
+Inner product checksum rho = 46D81D24
+Inner product checksum theta = 5195598D
+Inner product checksum u = 6AF40B43
+Inner product checksum mr1 = 3FC86FA8
+Inner product checksum mr2 = 38749CE3
+Inner product checksum mr3 = 358074D9
+Inner product checksum mr4 = 36CB950E
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt
index f22aad7e4..26506abf5 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 483997CA
-Inner product checksum theta = 513548FD
-Inner product checksum u = 612F5B34
-Inner product checksum mr1 = 4090F669
-Inner product checksum mr2 = 3589856C
-Inner product checksum mr3 = 2FA53E3D
-Inner product checksum mr4 = 33F4FD6A
-Inner product checksum mr5 = BE7D04E
+Inner product checksum rho = 4839978D
+Inner product checksum theta = 51354915
+Inner product checksum u = 612F5226
+Inner product checksum mr1 = 4090EFFC
+Inner product checksum mr2 = 3596AD06
+Inner product checksum mr3 = 2FA5997D
+Inner product checksum mr4 = 33F4FA38
+Inner product checksum mr5 = BE9165B
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt
index 42525bc73..0f71f90e8 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 483999D4
-Inner product checksum theta = 51354858
-Inner product checksum u = 612F6179
-Inner product checksum mr1 = 40916617
-Inner product checksum mr2 = 364FE1DF
-Inner product checksum mr3 = 2FABFD16
-Inner product checksum mr4 = 33F4FDB5
-Inner product checksum mr5 = BF2197F
+Inner product checksum rho = 48399968
+Inner product checksum theta = 5135487C
+Inner product checksum u = 612F584A
+Inner product checksum mr1 = 40915DEF
+Inner product checksum mr2 = 3686329A
+Inner product checksum mr3 = 2FAC49DF
+Inner product checksum mr4 = 33F4FAEE
+Inner product checksum mr5 = BF253C6
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt
index cb46157c6..c00d5ee1a 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48398C72
-Inner product checksum theta = 513542FA
-Inner product checksum u = 612EE1BF
-Inner product checksum mr1 = 409102F8
-Inner product checksum mr2 = 358C6492
-Inner product checksum mr3 = 300104A8
-Inner product checksum mr4 = 3404ABE7
-Inner product checksum mr5 = C14576D
+Inner product checksum rho = 48398C10
+Inner product checksum theta = 5135430E
+Inner product checksum u = 612EF000
+Inner product checksum mr1 = 4090FD96
+Inner product checksum mr2 = 35A1BCC6
+Inner product checksum mr3 = 30013C66
+Inner product checksum mr4 = 3404ACA7
+Inner product checksum mr5 = C1473CD
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt
index c8d190573..092fba21f 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 4830B5EE
-Inner product checksum theta = 513FD8B1
-Inner product checksum u = 5F74A875
-Inner product checksum mr1 = 4155D3E1
-Inner product checksum mr2 = 3A38BFC2
-Inner product checksum mr3 = 309DE635
+Inner product checksum rho = 4830B60B
+Inner product checksum theta = 513FD8B9
+Inner product checksum u = 5F74B7B8
+Inner product checksum mr1 = 4155B9C9
+Inner product checksum mr2 = 3A4679D7
+Inner product checksum mr3 = 309BB411
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index ced2b2018..06be533a7 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
Inner product checksum rho = 42F8B1D8
-Inner product checksum theta = 4D84D80D
-Inner product checksum u = 601AD0B1
-Inner product checksum mr1 = 3C870A8F
-Inner product checksum mr2 = 354AA3D5
-Inner product checksum mr3 = 31C1E4EB
+Inner product checksum theta = 4D84D804
+Inner product checksum u = 601AD0BB
+Inner product checksum mr1 = 3C87113D
+Inner product checksum mr2 = 3552B676
+Inner product checksum mr3 = 31D50456
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 9e5fe63b7..a177cf22d 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F50044
-Inner product checksum theta = 4E044D1A
-Inner product checksum u = 5FBD689A
-Inner product checksum mr1 = 3CDAE952
-Inner product checksum mr2 = 3464C7F6
-Inner product checksum mr3 = 3198450A
-Inner product checksum mr4 = 2EF57FE6
+Inner product checksum rho = 42F5004B
+Inner product checksum theta = 4E044C56
+Inner product checksum u = 5FC0D20B
+Inner product checksum mr1 = 3CE0BA0A
+Inner product checksum mr2 = 347FAB6C
+Inner product checksum mr3 = 32F814C6
+Inner product checksum mr4 = 2EC3FA05
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 05fd6514b..937d94af5 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
Inner product checksum rho = 42F8B1D8
-Inner product checksum theta = 4D84DAFD
-Inner product checksum u = 601AD40F
-Inner product checksum mr1 = 3C825A8B
-Inner product checksum mr2 = 33EB5DE2
-Inner product checksum mr3 = 317D3117
+Inner product checksum theta = 4D84DAF5
+Inner product checksum u = 601AD412
+Inner product checksum mr1 = 3C827AF6
+Inner product checksum mr2 = 3423966F
+Inner product checksum mr3 = 3153DDE7
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 9f49c2720..7158ffabf 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F50044
-Inner product checksum theta = 4E044E7D
-Inner product checksum u = 5FD4B116
-Inner product checksum mr1 = 3CCA582B
-Inner product checksum mr2 = 33C805E1
-Inner product checksum mr3 = 30364C90
-Inner product checksum mr4 = 2F0E3313
+Inner product checksum rho = 42F5004B
+Inner product checksum theta = 4E044E08
+Inner product checksum u = 5FDA64EB
+Inner product checksum mr1 = 3CCAED84
+Inner product checksum mr2 = 33E984DC
+Inner product checksum mr3 = 306BD32F
+Inner product checksum mr4 = 2F040FC0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 6bc48372a..49c6c44d1 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
Inner product checksum rho = 42F8B1D8
-Inner product checksum theta = 4D84D83D
-Inner product checksum u = 601AD7EC
-Inner product checksum mr1 = 3C80A8FF
-Inner product checksum mr2 = 2EE9AF5A
-Inner product checksum mr3 = 2DBC2490
+Inner product checksum theta = 4D84D83F
+Inner product checksum u = 601AD7F5
+Inner product checksum mr1 = 3C80A8FB
+Inner product checksum mr2 = 2EE9B467
+Inner product checksum mr3 = 2DBBEEA4
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 15289a6f8..74af2c72f 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 43366191
-Inner product checksum theta = 4C40AEDD
-Inner product checksum u = 5E28BCEA
+Inner product checksum rho = 4336618F
+Inner product checksum theta = 4C40AEA7
+Inner product checksum u = 46233251
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index f9b176c2b..14f2a9e8d 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 433541F2
-Inner product checksum theta = 4C365CF3
-Inner product checksum u = 5FC5C122
-Inner product checksum mr1 = 3C64C682
-Inner product checksum mr2 = 3378E043
-Inner product checksum mr3 = 2DCCEAEC
+Inner product checksum rho = 433541F1
+Inner product checksum theta = 4C365CB1
+Inner product checksum u = 5FC5C126
+Inner product checksum mr1 = 3C64C86E
+Inner product checksum mr2 = 3368E8C5
+Inner product checksum mr3 = 2DB1113B
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index a3253b51f..3acda6ae5 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 433107DD
-Inner product checksum theta = 4C0844F3
-Inner product checksum u = 606FB504
-Inner product checksum mr1 = 3B3F6226
-Inner product checksum mr2 = 3004972C
-Inner product checksum mr3 = 29448288
+Inner product checksum rho = 433107DB
+Inner product checksum theta = 4C0844EF
+Inner product checksum u = 606FB50F
+Inner product checksum mr1 = 3B3F6252
+Inner product checksum mr2 = 30048CCB
+Inner product checksum mr3 = 29448ECC
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index fae95bf77..f36683c66 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
Inner product checksum rho = 42CD4780
-Inner product checksum theta = 4C2F1CCD
-Inner product checksum u = 6064CD3B
-Inner product checksum mr1 = 372352E9
+Inner product checksum theta = 4C2F1CA9
+Inner product checksum u = 6064CD41
+Inner product checksum mr1 = 37238318
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
-Inner product checksum mr4 = 33E97109
+Inner product checksum mr4 = 33E7DE2D
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 30b40dea4..e9c2dae0d 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 431DF677
-Inner product checksum theta = 4C0E764F
-Inner product checksum u = 5E18F5F3
-Inner product checksum mr1 = 3B201117
+Inner product checksum rho = 431DF673
+Inner product checksum theta = 4C0E764E
+Inner product checksum u = 5E18F5EB
+Inner product checksum mr1 = 3B20110C
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 95c1538d2..a66bf4e7e 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 434FEE7A
-Inner product checksum theta = 4C46F480
-Inner product checksum u = 62E3E1CC
-Inner product checksum mr1 = 3A04E493
+Inner product checksum rho = 434FEE7D
+Inner product checksum theta = 4C46F47F
+Inner product checksum u = 62E3E1C7
+Inner product checksum mr1 = 3A04E4AD
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 5431afaa8..502459b70 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 433107DD
-Inner product checksum theta = 4C065970
-Inner product checksum u = 606FB561
-Inner product checksum mr1 = 3A8C498C
-Inner product checksum mr2 = 32982158
-Inner product checksum mr3 = 289ECB4D
+Inner product checksum rho = 433107DB
+Inner product checksum theta = 4C065B1D
+Inner product checksum u = 606FB567
+Inner product checksum mr1 = 3A8C7BED
+Inner product checksum mr2 = 326FC543
+Inner product checksum mr3 = 2859C4C3
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 9aa0cfadb..f5ea0702e 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F50044
-Inner product checksum theta = 4E0455D4
-Inner product checksum u = 5FB5E70A
-Inner product checksum mr1 = 3CEA7E92
-Inner product checksum mr2 = 33AB53A5
-Inner product checksum mr3 = 3136031C
-Inner product checksum mr4 = 2F10C263
+Inner product checksum rho = 42F5004B
+Inner product checksum theta = 4E0453CD
+Inner product checksum u = 5FB965A6
+Inner product checksum mr1 = 3CE79137
+Inner product checksum mr2 = 32D04A9D
+Inner product checksum mr3 = 2F52ED4E
+Inner product checksum mr4 = 2F383BAB
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index fdc8bd11b..2cf487490 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 42B581C4
-Inner product checksum theta = 541009A5
+Inner product checksum rho = 42B581BF
+Inner product checksum theta = 54100B4C
Inner product checksum u = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index b3407820f..76974a7a6 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 42F50044
+Inner product checksum rho = 42F5004B
Inner product checksum theta = 4E232388
-Inner product checksum u = 5EA095A3
-Inner product checksum mr1 = 3C8347BC
+Inner product checksum u = 5EA095B6
+Inner product checksum mr1 = 3C8347B3
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index a63371d82..0ec538ca6 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,6 +1,6 @@
Inner product checksum rho = 4334F300
-Inner product checksum theta = 4C25DC6A
-Inner product checksum u = 5E28F50D
+Inner product checksum theta = 4C25DC6F
+Inner product checksum u = 4623465A
Inner product checksum mr1 = 3AB44DA1
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 2ffb20200..b71ab7b2e 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 434FEE7A
-Inner product checksum theta = 4C47E450
-Inner product checksum u = 62E3D54D
-Inner product checksum mr1 = 3A360401
-Inner product checksum mr2 = 335D3C99
-Inner product checksum mr3 = 28AE5070
-Inner product checksum mr4 = 340087AA
-Inner product checksum mr5 = 2CAB2065
-Inner product checksum mr6 = 2C736833
+Inner product checksum rho = 434FEE7D
+Inner product checksum theta = 4C47E12A
+Inner product checksum u = 62E3D595
+Inner product checksum mr1 = 3A3A8A98
+Inner product checksum mr2 = 32A5D37C
+Inner product checksum mr3 = 255E8B04
+Inner product checksum mr4 = 3326918B
+Inner product checksum mr5 = 290159BB
+Inner product checksum mr6 = 2C5A0361
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 85001a4c0..bd859b2c3 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 433107DD
-Inner product checksum theta = 4C096ADE
-Inner product checksum u = 6074FC4D
-Inner product checksum mr1 = 3A6F4514
+Inner product checksum rho = 433107DB
+Inner product checksum theta = 4C096AE0
+Inner product checksum u = 6074FC4C
+Inner product checksum mr1 = 3A6F4511
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index c1b496301..f08e68440 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 433107DD
-Inner product checksum theta = 4C08B095
-Inner product checksum u = 6075B79D
-Inner product checksum mr1 = 3A5C1B39
+Inner product checksum rho = 433107DB
+Inner product checksum theta = 4C08B093
+Inner product checksum u = 6075B79C
+Inner product checksum mr1 = 3A5C1B3C
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 527303117..7db46dce5 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 433107DD
-Inner product checksum theta = 4C08DF8D
-Inner product checksum u = 606FB52B
-Inner product checksum mr1 = 3B1C9205
+Inner product checksum rho = 433107DB
+Inner product checksum theta = 4C08DF86
+Inner product checksum u = 606FB532
+Inner product checksum mr1 = 3B1C91DF
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 298a5fac6..1cc5f3992 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F50044
-Inner product checksum theta = 4E15E00C
-Inner product checksum u = 5F897E88
-Inner product checksum mr1 = 3C99A2BC
-Inner product checksum mr2 = 0
-Inner product checksum mr3 = 2A83F034
-Inner product checksum mr4 = 31E14097
+Inner product checksum rho = 42F5004B
+Inner product checksum theta = 4E15E02A
+Inner product checksum u = 5F8C6B04
+Inner product checksum mr1 = 3C99E13A
+Inner product checksum mr2 = 322CFE0E
+Inner product checksum mr3 = 2A173DEF
+Inner product checksum mr4 = 2F72105A
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_thai_ben1-C48_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_thai_ben1-C48_MG_azspice_gnu_fast-debug-32bit.txt
index ee291b91a..51e434ea0 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_thai_ben1-C48_MG_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_thai_ben1-C48_MG_azspice_gnu_fast-debug-32bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 486B4A34
-Inner product checksum theta = 51CABF2E
-Inner product checksum u = 63C9D90E
+Inner product checksum rho = 486B4B41
+Inner product checksum theta = 51CABED6
+Inner product checksum u = 63C9C9B6
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_aquaplanet-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_aquaplanet-C12_ex1a_cce_fast-debug-32bit.txt
index b262a2e1e..0e0d9dcef 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_aquaplanet-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_aquaplanet-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 468AD929
+Inner product checksum rho = 468AD8C2
Inner product checksum theta = 4FD6896F
-Inner product checksum u = 6A4E3CAD
-Inner product checksum mr1 = 3F07F86E
-Inner product checksum mr2 = 3694BA68
-Inner product checksum mr3 = 341247CE
-Inner product checksum mr4 = 368A0606
+Inner product checksum u = 6A4E3A50
+Inner product checksum mr1 = 3F07E651
+Inner product checksum mr2 = 36998BE2
+Inner product checksum mr3 = 341893DC
+Inner product checksum mr4 = 36A2DFF5
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_camembert_case3_gj1214b-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_camembert_case3_gj1214b-C12_ex1a_cce_fast-debug-32bit.txt
index 8e17322f7..c7dc87bf0 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_camembert_case3_gj1214b-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_camembert_case3_gj1214b-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 44D9577E
-Inner product checksum theta = 5504FC06
-Inner product checksum u = 74276D62
+Inner product checksum rho = 44D957D6
+Inner product checksum theta = 5504FAF6
+Inner product checksum u = 74276B2C
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt
index 0d6784f42..72c4b6cec 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D6652A
-Inner product checksum theta = 518E93EC
-Inner product checksum u = 6AF54A1D
-Inner product checksum mr1 = 3FD199FC
-Inner product checksum mr2 = 373A4F06
-Inner product checksum mr3 = 35526759
-Inner product checksum mr4 = 36CD3F45
+Inner product checksum rho = 46D6841E
+Inner product checksum theta = 518F982B
+Inner product checksum u = 6AF73449
+Inner product checksum mr1 = 3FD211CE
+Inner product checksum mr2 = 37378B4E
+Inner product checksum mr3 = 35522D5E
+Inner product checksum mr4 = 36CBD10C
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt
index cdce4e3cb..25e6972f4 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D65056
-Inner product checksum theta = 51925277
-Inner product checksum u = 6B2213D6
-Inner product checksum mr1 = 3FCF401D
-Inner product checksum mr2 = 3723DA1E
-Inner product checksum mr3 = 353FBE95
-Inner product checksum mr4 = 369202EA
+Inner product checksum rho = 46D6714F
+Inner product checksum theta = 5193C64E
+Inner product checksum u = 6B19ACB6
+Inner product checksum mr1 = 3FCF3B83
+Inner product checksum mr2 = 372DA5B8
+Inner product checksum mr3 = 3544C7E3
+Inner product checksum mr4 = 369119F6
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt
index ef7de3186..57f0165f3 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D65CA4
-Inner product checksum theta = 5399FF37
-Inner product checksum u = 6B12F9D3
-Inner product checksum mr1 = 41CC35F8
-Inner product checksum mr2 = 3964700B
-Inner product checksum mr3 = 37C885DA
-Inner product checksum mr4 = 393CC0EB
+Inner product checksum rho = 48D66238
+Inner product checksum theta = 539A0A6A
+Inner product checksum u = 6B127A98
+Inner product checksum mr1 = 41CC3BFA
+Inner product checksum mr2 = 3968D07F
+Inner product checksum mr3 = 37C5E475
+Inner product checksum mr4 = 3941D72F
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt
index fc5094f02..b4bddc0f9 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D65029
-Inner product checksum theta = 51925282
-Inner product checksum u = 6B222646
-Inner product checksum mr1 = 3FCF441A
-Inner product checksum mr2 = 373420D6
-Inner product checksum mr3 = 353B5108
-Inner product checksum mr4 = 369534B7
+Inner product checksum rho = 46D67100
+Inner product checksum theta = 5193C690
+Inner product checksum u = 6B199F45
+Inner product checksum mr1 = 3FCF5434
+Inner product checksum mr2 = 373C41F8
+Inner product checksum mr3 = 353A47ED
+Inner product checksum mr4 = 368E5A50
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt
index 9985fc72a..ecabe41bc 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D65C9E
-Inner product checksum theta = 5399FF36
-Inner product checksum u = 6B12F9E6
-Inner product checksum mr1 = 41CC34F5
-Inner product checksum mr2 = 39628562
-Inner product checksum mr3 = 37CADBE8
-Inner product checksum mr4 = 393CFC10
+Inner product checksum rho = 48D66230
+Inner product checksum theta = 539A0A6A
+Inner product checksum u = 6B127B02
+Inner product checksum mr1 = 41CC3AEE
+Inner product checksum mr2 = 3967AF08
+Inner product checksum mr3 = 37D4FCF2
+Inner product checksum mr4 = 3941B179
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt
index f9b384e6a..8b1977f88 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D65C98
-Inner product checksum theta = 5399FF37
-Inner product checksum u = 6B12FA76
-Inner product checksum mr1 = 41CC32D9
-Inner product checksum mr2 = 396638BD
-Inner product checksum mr3 = 37CAADA4
-Inner product checksum mr4 = 393EB70D
+Inner product checksum rho = 48D66227
+Inner product checksum theta = 539A0A69
+Inner product checksum u = 6B127A92
+Inner product checksum mr1 = 41CC3A02
+Inner product checksum mr2 = 39699324
+Inner product checksum mr3 = 37DD89D0
+Inner product checksum mr4 = 39421336
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem-C12_ex1a_cce_fast-debug-32bit.txt
index 9508e0ab5..100393226 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D66780
-Inner product checksum theta = 518E9690
-Inner product checksum u = 6AF50DE9
-Inner product checksum mr1 = 3FD15B81
-Inner product checksum mr2 = 37581AA6
-Inner product checksum mr3 = 355FE797
-Inner product checksum mr4 = 36D86CA0
+Inner product checksum rho = 46D68937
+Inner product checksum theta = 518F9715
+Inner product checksum u = 6AF5BF19
+Inner product checksum mr1 = 3FD19871
+Inner product checksum mr2 = 3735D64B
+Inner product checksum mr3 = 356EE653
+Inner product checksum mr4 = 36D784DA
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt
index 3a5681d4e..cb3df5ad4 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D6516E
-Inner product checksum theta = 519250DF
-Inner product checksum u = 6B22BA14
-Inner product checksum mr1 = 3FCF2C92
-Inner product checksum mr2 = 3737929A
-Inner product checksum mr3 = 35357886
-Inner product checksum mr4 = 36A9CD80
+Inner product checksum rho = 46D671AB
+Inner product checksum theta = 5193C4E9
+Inner product checksum u = 6B19C3CC
+Inner product checksum mr1 = 3FCF7283
+Inner product checksum mr2 = 372F8B53
+Inner product checksum mr3 = 353D40ED
+Inner product checksum mr4 = 3693E9B5
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt
index da48a4bed..2d23b1302 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D65134
-Inner product checksum theta = 5192506E
-Inner product checksum u = 6B22D6CD
-Inner product checksum mr1 = 3FCF4DA0
-Inner product checksum mr2 = 3736B1D8
-Inner product checksum mr3 = 353E60FE
-Inner product checksum mr4 = 36A0052E
+Inner product checksum rho = 46D671AE
+Inner product checksum theta = 5193C4C1
+Inner product checksum u = 6B19FF1E
+Inner product checksum mr1 = 3FCF5BC8
+Inner product checksum mr2 = 372A1360
+Inner product checksum mr3 = 352F50DF
+Inner product checksum mr4 = 369D7198
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_comp_tran_ref_3d_l120-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_comp_tran_ref_3d_l120-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt
index 91bb01bc5..94c6fdebb 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_comp_tran_ref_3d_l120-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_comp_tran_ref_3d_l120-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 489A8317
-Inner product checksum theta = 51BA5074
-Inner product checksum u = 5F1192E8
-Inner product checksum mr1 = 4187BC72
-Inner product checksum mr2 = 3AF9734F
-Inner product checksum mr3 = 34BC1253
+Inner product checksum rho = 489A835F
+Inner product checksum theta = 51BA5036
+Inner product checksum u = 5F118101
+Inner product checksum mr1 = 4187BF2A
+Inner product checksum mr2 = 3AFBFE0C
+Inner product checksum mr3 = 34D63736
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_hd209458b-C24_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_hd209458b-C24_ex1a_cce_fast-debug-32bit.txt
index 9c29598f8..fa370a19e 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_hd209458b-C24_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_hd209458b-C24_ex1a_cce_fast-debug-32bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 4798D952
-Inner product checksum theta = 58406A9E
-Inner product checksum u = 79BA728C
+Inner product checksum rho = 4798D9E7
+Inner product checksum theta = 5840572D
+Inner product checksum u = 79BA0888
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_casim-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_casim-C12_ex1a_cce_fast-debug-32bit.txt
index 662dc2b95..ec0c9a1d3 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_casim-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_casim-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D85840
-Inner product checksum theta = 518BD4F3
-Inner product checksum u = 6A8AA24E
-Inner product checksum mr1 = 3FCD72EF
-Inner product checksum mr2 = 3831BCA2
-Inner product checksum mr3 = 3568BB56
-Inner product checksum mr4 = 36B357D6
-Inner product checksum mr5 = 2EA4F771
-Inner product checksum mr6 = 35562C6C
+Inner product checksum rho = 46D8744E
+Inner product checksum theta = 518CDC20
+Inner product checksum u = 6A8B2876
+Inner product checksum mr1 = 3FCD30C4
+Inner product checksum mr2 = 382ABDE7
+Inner product checksum mr3 = 35313863
+Inner product checksum mr4 = 369195A0
+Inner product checksum mr5 = 2F0CD5ED
+Inner product checksum mr6 = 352A46CC
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_coma9-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_coma9-C12_ex1a_cce_fast-debug-32bit.txt
index 26acfbf09..32e615d49 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_coma9-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_coma9-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D8458C
-Inner product checksum theta = 518BD62A
-Inner product checksum u = 6A87FCF8
-Inner product checksum mr1 = 3FCF951F
-Inner product checksum mr2 = 37E6BD02
-Inner product checksum mr3 = 378A7D17
-Inner product checksum mr4 = 3797816D
-Inner product checksum mr5 = 36A1EFBC
+Inner product checksum rho = 46D865B4
+Inner product checksum theta = 518CDC07
+Inner product checksum u = 6A888EFB
+Inner product checksum mr1 = 3FCFCD76
+Inner product checksum mr2 = 37E85440
+Inner product checksum mr3 = 37A7D988
+Inner product checksum mr4 = 37B10C1F
+Inner product checksum mr5 = 36E46BC0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_dev-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_dev-C12_ex1a_cce_fast-debug-32bit.txt
index 86f1a8990..f771503e7 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_dev-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_dev-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D832FB
-Inner product checksum theta = 518BE422
-Inner product checksum u = 6A85F6E0
-Inner product checksum mr1 = 3FD14346
-Inner product checksum mr2 = 37F2F57E
-Inner product checksum mr3 = 3782C0C7
-Inner product checksum mr4 = 37BAC82C
-Inner product checksum mr5 = 368F067F
+Inner product checksum rho = 46D85413
+Inner product checksum theta = 518CEFAC
+Inner product checksum u = 6A86B311
+Inner product checksum mr1 = 3FD18C2A
+Inner product checksum mr2 = 37EDF393
+Inner product checksum mr3 = 37772269
+Inner product checksum mr4 = 37B7A998
+Inner product checksum mr5 = 36A97898
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_tb-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_tb-C12_ex1a_cce_fast-debug-32bit.txt
index f94eb38a4..96bb0e4ab 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_tb-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_comorph_tb-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D85410
-Inner product checksum theta = 518BE004
-Inner product checksum u = 6A85218C
-Inner product checksum mr1 = 3FCE9E1F
-Inner product checksum mr2 = 37E4C939
-Inner product checksum mr3 = 3788C888
-Inner product checksum mr4 = 3742DF88
-Inner product checksum mr5 = 35FA4066
+Inner product checksum rho = 46D872E4
+Inner product checksum theta = 518CE920
+Inner product checksum u = 6A84C075
+Inner product checksum mr1 = 3FCEFDFE
+Inner product checksum mr2 = 37E6222C
+Inner product checksum mr3 = 3787AC86
+Inner product checksum mr4 = 3754DF68
+Inner product checksum mr5 = 36009EEE
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt
index fc8830b55..2da3d438a 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D83A35
-Inner product checksum theta = 518BD5F4
-Inner product checksum u = 6A88CB4D
-Inner product checksum mr1 = 3FD02BB9
-Inner product checksum mr2 = 37C9A7CA
-Inner product checksum mr3 = 35983707
-Inner product checksum mr4 = 37015E80
+Inner product checksum rho = 46D85E92
+Inner product checksum theta = 518CDFB6
+Inner product checksum u = 6A895E74
+Inner product checksum mr1 = 3FD0AD4E
+Inner product checksum mr2 = 37B276C2
+Inner product checksum mr3 = 35869BEC
+Inner product checksum mr4 = 37064B4D
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt
index 5442f5230..0c840d47a 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 40DB07BDB335E70F
-Inner product checksum theta = 42317B009699D8CA
-Inner product checksum u = 45512CE45FA6102C
-Inner product checksum mr1 = 3FF9F65BF11FF695
-Inner product checksum mr2 = 3EFA02DB0ABB2DB2
-Inner product checksum mr3 = 3EB4D691E8F904A6
-Inner product checksum mr4 = 3EE1C81A8EF17282
+Inner product checksum rho = 40DB0B9D507DBF7E
+Inner product checksum theta = 42319BDCCB64EC0E
+Inner product checksum u = 455131FFFAE5EA2A
+Inner product checksum mr1 = 3FFA0549021C85CC
+Inner product checksum mr2 = 3EF7401F0F026E8C
+Inner product checksum mr3 = 3EB1DF20B4FB6A79
+Inner product checksum mr4 = 3EE05F90396F7A7C
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C48_MG_ex1a_cce_fast-debug-32bit.txt
index 145f29b4c..90b2207d7 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C48_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C48_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D7FDF2
-Inner product checksum theta = 5392A6D4
-Inner product checksum u = 6A97C1C8
-Inner product checksum mr1 = 41CD0A6C
-Inner product checksum mr2 = 39CA0FC6
-Inner product checksum mr3 = 37B1AE5A
-Inner product checksum mr4 = 39608489
+Inner product checksum rho = 48D80456
+Inner product checksum theta = 5392FB20
+Inner product checksum u = 6A97BA6C
+Inner product checksum mr1 = 41CD01F5
+Inner product checksum mr2 = 39CEF01D
+Inner product checksum mr3 = 37A87BAF
+Inner product checksum mr4 = 395C79CC
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-pert-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-pert-C12_ex1a_cce_fast-debug-32bit.txt
index 964ce3a8a..c53f6ca71 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-pert-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-pert-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D81330
-Inner product checksum theta = 51944574
-Inner product checksum u = 6B464448
-Inner product checksum mr1 = 3FC884F9
-Inner product checksum mr2 = 379E0A83
-Inner product checksum mr3 = 35A557AC
-Inner product checksum mr4 = 378669C2
+Inner product checksum rho = 46D832C1
+Inner product checksum theta = 51946D0E
+Inner product checksum u = 6B12AB93
+Inner product checksum mr1 = 3FC8E354
+Inner product checksum mr2 = 37A41671
+Inner product checksum mr3 = 358B160C
+Inner product checksum mr4 = 378C7E34
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_ex1a_cce_fast-debug-32bit.txt
index 8ba358720..bbae1ad40 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero-C48_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D7FE7E
-Inner product checksum theta = 5392A6C1
-Inner product checksum u = 6A97C698
-Inner product checksum mr1 = 41CD06AC
-Inner product checksum mr2 = 39CFBD73
-Inner product checksum mr3 = 37B289D4
-Inner product checksum mr4 = 39620DAE
+Inner product checksum rho = 48D804CA
+Inner product checksum theta = 5392FB35
+Inner product checksum u = 6A97C0B2
+Inner product checksum mr1 = 41CD0EE0
+Inner product checksum mr2 = 39CFE89B
+Inner product checksum mr3 = 37A83C94
+Inner product checksum mr4 = 395E1C98
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt
index ca8c0b007..f951f4bf9 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D7FC3E
-Inner product checksum theta = 5392A694
-Inner product checksum u = 6A97C224
-Inner product checksum mr1 = 41CCE753
-Inner product checksum mr2 = 39CB0912
-Inner product checksum mr3 = 37AB8D81
-Inner product checksum mr4 = 3972959E
+Inner product checksum rho = 48D802B7
+Inner product checksum theta = 5392FB03
+Inner product checksum u = 6A97B9A2
+Inner product checksum mr1 = 41CCE987
+Inner product checksum mr2 = 39CDBE39
+Inner product checksum mr3 = 37AB185B
+Inner product checksum mr4 = 397142B2
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt
index 3c702f837..bb2afc0a0 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D7FB4D
-Inner product checksum theta = 5392A6BF
-Inner product checksum u = 6A97B4CF
-Inner product checksum mr1 = 41CCE4CA
-Inner product checksum mr2 = 39D1AFCE
-Inner product checksum mr3 = 37B349DC
-Inner product checksum mr4 = 3976F722
+Inner product checksum rho = 48D8014F
+Inner product checksum theta = 5392FBB2
+Inner product checksum u = 6A97B17F
+Inner product checksum mr1 = 41CCEC2C
+Inner product checksum mr2 = 39D118ED
+Inner product checksum mr3 = 37A92DDA
+Inner product checksum mr4 = 39718DC7
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_da-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_da-C12_ex1a_cce_fast-debug-32bit.txt
index 534b57028..1d9aab758 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_da-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_da-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D8145C
-Inner product checksum theta = 518BD834
-Inner product checksum u = 6A876B3F
-Inner product checksum mr1 = 3FD3B699
-Inner product checksum mr2 = 37DBC694
-Inner product checksum mr3 = 35ACADEE
-Inner product checksum mr4 = 36DB4B9D
+Inner product checksum rho = 46D81B42
+Inner product checksum theta = 518A8548
+Inner product checksum u = 6A8D4688
+Inner product checksum mr1 = 3FD44656
+Inner product checksum mr2 = 37C8B40A
+Inner product checksum mr3 = 35A5A1DA
+Inner product checksum mr4 = 36DBC11E
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt
index 72d0bfd81..dd05c2281 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D8046E
-Inner product checksum theta = 519522B0
-Inner product checksum u = 6AE676F3
-Inner product checksum mr1 = 3FC861D0
-Inner product checksum mr2 = 37CF9691
-Inner product checksum mr3 = 351F51C6
-Inner product checksum mr4 = 36EFCBFC
+Inner product checksum rho = 46D82681
+Inner product checksum theta = 51952889
+Inner product checksum u = 6AD003C5
+Inner product checksum mr1 = 3FC8A00E
+Inner product checksum mr2 = 37A95E7E
+Inner product checksum mr3 = 352D90BE
+Inner product checksum mr4 = 36A01ECA
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C48_MG_ex1a_cce_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C48_MG_ex1a_cce_full-debug-32bit.txt
index 52e4cd78a..2d14c73a0 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C48_MG_ex1a_cce_full-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C48_MG_ex1a_cce_full-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D81494
-Inner product checksum theta = 53952666
-Inner product checksum u = 6AA4D6C3
-Inner product checksum mr1 = 41C830E0
-Inner product checksum mr2 = 399AC878
-Inner product checksum mr3 = 3778FE37
-Inner product checksum mr4 = 39300070
+Inner product checksum rho = 48D81D9C
+Inner product checksum theta = 539527EC
+Inner product checksum u = 6AA47E46
+Inner product checksum mr1 = 41C84628
+Inner product checksum mr2 = 3999B2C9
+Inner product checksum mr3 = 37748C78
+Inner product checksum mr4 = 392E34FF
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda-C12_ex1a_cce_fast-debug-32bit.txt
index 0ffd8dce1..6eca82e18 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D818D1
-Inner product checksum theta = 518BB098
-Inner product checksum u = 6A8C9CAB
-Inner product checksum mr1 = 3FD11FBB
-Inner product checksum mr2 = 37EB0B66
-Inner product checksum mr3 = 35A515BE
-Inner product checksum mr4 = 37211D7E
+Inner product checksum rho = 46D821D2
+Inner product checksum theta = 518A6513
+Inner product checksum u = 6A902558
+Inner product checksum mr1 = 3FD0F939
+Inner product checksum mr2 = 37C73760
+Inner product checksum mr3 = 35A06CFE
+Inner product checksum mr4 = 36F4D601
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda_jada-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda_jada-C12_ex1a_cce_fast-debug-32bit.txt
index fb4ac2cea..f8d971b4d 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda_jada-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_eda_jada-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D812C6
-Inner product checksum theta = 518BCF5C
-Inner product checksum u = 6A87F7C7
-Inner product checksum mr1 = 3FD3C782
-Inner product checksum mr2 = 37DC7122
-Inner product checksum mr3 = 35A1102A
-Inner product checksum mr4 = 36E23FC6
+Inner product checksum rho = 46D81C41
+Inner product checksum theta = 518A7FC5
+Inner product checksum u = 6A8CA91F
+Inner product checksum mr1 = 3FD3B4BC
+Inner product checksum mr2 = 37B300C1
+Inner product checksum mr3 = 35A852D8
+Inner product checksum mr4 = 36E199B0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_mol-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_mol-C12_ex1a_cce_fast-debug-32bit.txt
index c402287b0..0fd9dd431 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_mol-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_mol-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D85F7F
-Inner product checksum theta = 5193AEF6
-Inner product checksum u = 6A863345
-Inner product checksum mr1 = 3FD02DFA
-Inner product checksum mr2 = 37B227E9
-Inner product checksum mr3 = 357CB4FC
-Inner product checksum mr4 = 3702610A
+Inner product checksum rho = 46D87FF3
+Inner product checksum theta = 5193E8C2
+Inner product checksum u = 6A86D558
+Inner product checksum mr1 = 3FD08338
+Inner product checksum mr2 = 37C169DC
+Inner product checksum mr3 = 353E0BA2
+Inner product checksum mr4 = 36CC716E
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_1T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_1T-C12_ex1a_cce_fast-debug-32bit.txt
index b165dd977..b078178d3 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_1T-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_1T-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D7F5C0
-Inner product checksum theta = 518E7EC5
-Inner product checksum u = 6B17B016
-Inner product checksum mr1 = 3FCBDA24
-Inner product checksum mr2 = 37AC191C
-Inner product checksum mr3 = 34A5112E
-Inner product checksum mr4 = 36F76E7F
+Inner product checksum rho = 46D81333
+Inner product checksum theta = 518FB9B1
+Inner product checksum u = 6AF71FAE
+Inner product checksum mr1 = 3FCBDFF5
+Inner product checksum mr2 = 37B28EBB
+Inner product checksum mr3 = 34B1306C
+Inner product checksum mr4 = 36E90350
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt
index 6332d81a0..da632fc07 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_1T-C48_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D7FC55
-Inner product checksum theta = 5392A699
-Inner product checksum u = 6A97BCCA
-Inner product checksum mr1 = 41CCEB20
-Inner product checksum mr2 = 39CA8C2C
-Inner product checksum mr3 = 37AC2EF8
-Inner product checksum mr4 = 3971DABC
+Inner product checksum rho = 48D802A3
+Inner product checksum theta = 5392FAE0
+Inner product checksum u = 6A97C38C
+Inner product checksum mr1 = 41CCEB39
+Inner product checksum mr2 = 39D00BEE
+Inner product checksum mr3 = 37A9704C
+Inner product checksum mr4 = 39724A96
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C12_ex1a_cce_fast-debug-32bit.txt
index 0b7dde6c9..163478f84 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D7F524
-Inner product checksum theta = 518E7ECC
-Inner product checksum u = 6B17AEDA
-Inner product checksum mr1 = 3FCBD438
-Inner product checksum mr2 = 37AA82D7
-Inner product checksum mr3 = 34AF63B2
-Inner product checksum mr4 = 37081DCB
+Inner product checksum rho = 46D8137C
+Inner product checksum theta = 518FB9AC
+Inner product checksum u = 6AF73734
+Inner product checksum mr1 = 3FCBF08E
+Inner product checksum mr2 = 37B760E6
+Inner product checksum mr3 = 34AB50E4
+Inner product checksum mr4 = 3704116F
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt
index bd5515481..b80e025d4 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D7FC40
-Inner product checksum theta = 5392A678
-Inner product checksum u = 6A97B83A
-Inner product checksum mr1 = 41CCED01
-Inner product checksum mr2 = 39C8DCE2
-Inner product checksum mr3 = 37ADC3D4
-Inner product checksum mr4 = 39774AE9
+Inner product checksum rho = 48D802B6
+Inner product checksum theta = 5392FAFD
+Inner product checksum u = 6A97BB06
+Inner product checksum mr1 = 41CCE635
+Inner product checksum mr2 = 39D02038
+Inner product checksum mr3 = 37AA8036
+Inner product checksum mr4 = 3970534F
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_full-debug-32bit.txt
index 77e5ba5ff..0ecd4b998 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_full-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_full-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D7FB4E
-Inner product checksum theta = 5392A6ED
-Inner product checksum u = 6A97B55D
-Inner product checksum mr1 = 41CCF369
-Inner product checksum mr2 = 39CDEEBC
-Inner product checksum mr3 = 37AF72F2
-Inner product checksum mr4 = 3971EA0E
+Inner product checksum rho = 48D80159
+Inner product checksum theta = 5392FB56
+Inner product checksum u = 6A97ABCC
+Inner product checksum mr1 = 41CCEB74
+Inner product checksum mr2 = 39D06F06
+Inner product checksum mr3 = 37AE9E31
+Inner product checksum mr4 = 396FDD88
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt
index 503edf68a..cd399303e 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D7FC1D
-Inner product checksum theta = 5392A6B6
-Inner product checksum u = 6A97C299
-Inner product checksum mr1 = 41CCE778
-Inner product checksum mr2 = 39CA2CF8
-Inner product checksum mr3 = 37A8570C
-Inner product checksum mr4 = 397292EC
+Inner product checksum rho = 48D802AB
+Inner product checksum theta = 5392FAFB
+Inner product checksum u = 6A97C038
+Inner product checksum mr1 = 41CCE6D0
+Inner product checksum mr2 = 39CCE00F
+Inner product checksum mr3 = 37AE0CB6
+Inner product checksum mr4 = 39710D09
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt
index fc875d1dd..7ceb6a730 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D7FC00
-Inner product checksum theta = 5195576C
-Inner product checksum u = 6B246EA5
-Inner product checksum mr1 = 3FC852FF
-Inner product checksum mr2 = 381E302C
-Inner product checksum mr3 = 35639D20
-Inner product checksum mr4 = 36F6E186
+Inner product checksum rho = 46D81D34
+Inner product checksum theta = 51955946
+Inner product checksum u = 6AF40712
+Inner product checksum mr1 = 3FC86A46
+Inner product checksum mr2 = 3871FFDE
+Inner product checksum mr3 = 358024B2
+Inner product checksum mr4 = 36CB042A
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt
index 1e9885931..aa0b81efe 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 483997DA
-Inner product checksum theta = 5135490A
-Inner product checksum u = 612F5E0C
-Inner product checksum mr1 = 4090F5EC
-Inner product checksum mr2 = 3599E934
-Inner product checksum mr3 = 2FA5315A
-Inner product checksum mr4 = 33F4FD4E
-Inner product checksum mr5 = BE85FCC
+Inner product checksum rho = 48399782
+Inner product checksum theta = 5135492A
+Inner product checksum u = 612F4C0C
+Inner product checksum mr1 = 4090F002
+Inner product checksum mr2 = 35B170E2
+Inner product checksum mr3 = 2FA5317E
+Inner product checksum mr4 = 33F4FA52
+Inner product checksum mr5 = BE8EAAC
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt
index 9f0b2b052..4c3055e43 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 483997EC
-Inner product checksum theta = 513548FD
-Inner product checksum u = 612F5EB9
-Inner product checksum mr1 = 40910DEE
-Inner product checksum mr2 = 35DE4A2C
-Inner product checksum mr3 = 2FA75F15
-Inner product checksum mr4 = 33F4FFD3
-Inner product checksum mr5 = BE04B38
+Inner product checksum rho = 48399780
+Inner product checksum theta = 51354920
+Inner product checksum u = 612F4CC8
+Inner product checksum mr1 = 409107D7
+Inner product checksum mr2 = 35F9C267
+Inner product checksum mr3 = 2FA8A11D
+Inner product checksum mr4 = 33F4FD16
+Inner product checksum mr5 = BDD8274
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt
index b3bf80080..3e960dfc8 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48398C6A
-Inner product checksum theta = 51354302
-Inner product checksum u = 612EDCBA
-Inner product checksum mr1 = 4091034B
-Inner product checksum mr2 = 3592F0C2
-Inner product checksum mr3 = 300105E3
-Inner product checksum mr4 = 3404AC1D
-Inner product checksum mr5 = C14A22D
+Inner product checksum rho = 48398C00
+Inner product checksum theta = 5135431E
+Inner product checksum u = 612EEA56
+Inner product checksum mr1 = 4090FE8B
+Inner product checksum mr2 = 358E3DF2
+Inner product checksum mr3 = 30012C13
+Inner product checksum mr4 = 3404ACCE
+Inner product checksum mr5 = C14A1B7
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt
index 9006b2022..b447aad5e 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 4830B646
-Inner product checksum theta = 513FD832
-Inner product checksum u = 5F74BAEC
-Inner product checksum mr1 = 4155B86C
-Inner product checksum mr2 = 3A48BCB8
-Inner product checksum mr3 = 30A6CEC1
+Inner product checksum rho = 4830B629
+Inner product checksum theta = 513FD84B
+Inner product checksum u = 5F74B553
+Inner product checksum mr1 = 41559D92
+Inner product checksum mr2 = 3A498527
+Inner product checksum mr3 = 309D0902
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index d073714bb..3080c02d4 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F8B1D6
-Inner product checksum theta = 4D84D800
-Inner product checksum u = 601AD0BE
-Inner product checksum mr1 = 3C871072
-Inner product checksum mr2 = 3552C937
-Inner product checksum mr3 = 31D3C728
+Inner product checksum rho = 42F8B1D8
+Inner product checksum theta = 4D84D812
+Inner product checksum u = 601AD0B7
+Inner product checksum mr1 = 3C87096B
+Inner product checksum mr2 = 354B4642
+Inner product checksum mr3 = 31C31C1A
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index d5bf03e15..32defbc43 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F50046
-Inner product checksum theta = 4E044C03
-Inner product checksum u = 5FBFF00A
-Inner product checksum mr1 = 3CE0BFD7
-Inner product checksum mr2 = 348932BD
-Inner product checksum mr3 = 31279BBD
-Inner product checksum mr4 = 2EEB9616
+Inner product checksum rho = 42F5004A
+Inner product checksum theta = 4E044A0A
+Inner product checksum u = 5FC167BF
+Inner product checksum mr1 = 3CE14524
+Inner product checksum mr2 = 3416CCA8
+Inner product checksum mr3 = 2F882982
+Inner product checksum mr4 = 2ED7DD73
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 0adc19059..b5d908458 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F8B1D6
-Inner product checksum theta = 4D84DAEF
-Inner product checksum u = 601AD41A
-Inner product checksum mr1 = 3C829C2B
-Inner product checksum mr2 = 3407BDD6
-Inner product checksum mr3 = 314F5B36
+Inner product checksum rho = 42F8B1D8
+Inner product checksum theta = 4D84DAEE
+Inner product checksum u = 601AD410
+Inner product checksum mr1 = 3C829417
+Inner product checksum mr2 = 340EA19C
+Inner product checksum mr3 = 314DD8A6
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 528031ecb..42e3e21f2 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F50046
-Inner product checksum theta = 4E044E4C
-Inner product checksum u = 5FDD4323
-Inner product checksum mr1 = 3CC7B2CE
-Inner product checksum mr2 = 331179D2
-Inner product checksum mr3 = 2FF24AD6
-Inner product checksum mr4 = 2F26E792
+Inner product checksum rho = 42F5004A
+Inner product checksum theta = 4E044E20
+Inner product checksum u = 5FDBADC1
+Inner product checksum mr1 = 3CCA08C1
+Inner product checksum mr2 = 339AB55E
+Inner product checksum mr3 = 3039E709
+Inner product checksum mr4 = 2F0F42A7
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index b7e3fefec..0a2c7a588 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F8B1D6
-Inner product checksum theta = 4D84D83D
+Inner product checksum rho = 42F8B1D8
+Inner product checksum theta = 4D84D840
Inner product checksum u = 601AD7F0
-Inner product checksum mr1 = 3C80A939
-Inner product checksum mr2 = 2EE9A7C0
-Inner product checksum mr3 = 2DBC7FCA
+Inner product checksum mr1 = 3C80A92A
+Inner product checksum mr2 = 2EE9BE23
+Inner product checksum mr3 = 2DBBCA26
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index b530f6b21..f89ff5a77 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,3 +1,3 @@
Inner product checksum rho = 4336618C
-Inner product checksum theta = 4C40AEDC
-Inner product checksum u = 5E28BCEC
+Inner product checksum theta = 4C40AEA3
+Inner product checksum u = 46233250
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 69005270d..44396c304 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
Inner product checksum rho = 433541EC
-Inner product checksum theta = 4C3661CC
-Inner product checksum u = 5FC5C131
-Inner product checksum mr1 = 3C66C42C
-Inner product checksum mr2 = 3420C58F
-Inner product checksum mr3 = 2E10D4E8
+Inner product checksum theta = 4C365FE7
+Inner product checksum u = 5FC5C13C
+Inner product checksum mr1 = 3C64F3E4
+Inner product checksum mr2 = 3375F4E5
+Inner product checksum mr3 = 2E1CC38E
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 7a22da287..45cf184ef 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 433107DB
-Inner product checksum theta = 4C084544
-Inner product checksum u = 606FB50D
-Inner product checksum mr1 = 3B3FF380
-Inner product checksum mr2 = 3014247C
-Inner product checksum mr3 = 295BCC5D
+Inner product checksum rho = 433107DD
+Inner product checksum theta = 4C084540
+Inner product checksum u = 606FB514
+Inner product checksum mr1 = 3B3FF36A
+Inner product checksum mr2 = 30142D04
+Inner product checksum mr3 = 295BF9F3
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index e93d856e2..c2752033d 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
Inner product checksum rho = 42CD477E
-Inner product checksum theta = 4C2F1CC9
-Inner product checksum u = 6064CD36
-Inner product checksum mr1 = 37230F82
+Inner product checksum theta = 4C2F1CBC
+Inner product checksum u = 6064CD3C
+Inner product checksum mr1 = 37236A4A
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
-Inner product checksum mr4 = 33EAA257
+Inner product checksum mr4 = 33E73F7C
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 33f4b4a42..45dd263ea 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 431DF67C
+Inner product checksum rho = 431DF67A
Inner product checksum theta = 4C0E764E
-Inner product checksum u = 5E18F5EA
-Inner product checksum mr1 = 3B201110
+Inner product checksum u = 5E18F5EB
+Inner product checksum mr1 = 3B20110E
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index c1616b904..34e11f89b 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
Inner product checksum rho = 434FEE7A
-Inner product checksum theta = 4C46F478
-Inner product checksum u = 62E3E1C3
-Inner product checksum mr1 = 3A04E4AA
+Inner product checksum theta = 4C46F479
+Inner product checksum u = 62E3E1BD
+Inner product checksum mr1 = 3A04E494
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index c0102a24f..0ab4105a2 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 433107DB
-Inner product checksum theta = 4C065E7F
-Inner product checksum u = 606FB55D
-Inner product checksum mr1 = 3A8C69EF
+Inner product checksum rho = 433107DD
+Inner product checksum theta = 4C065E71
+Inner product checksum u = 606FB56E
+Inner product checksum mr1 = 3A8C700A
Inner product checksum mr2 = 2DDBE6FE
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 3b7c6bf77..934d54d4e 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F50046
-Inner product checksum theta = 4E0457CD
-Inner product checksum u = 5FB709A2
-Inner product checksum mr1 = 3CE651BE
-Inner product checksum mr2 = 331363B2
-Inner product checksum mr3 = 2EEE1887
-Inner product checksum mr4 = 2F58EA72
+Inner product checksum rho = 42F5004A
+Inner product checksum theta = 4E04560B
+Inner product checksum u = 5FB70145
+Inner product checksum mr1 = 3CE4E03F
+Inner product checksum mr2 = 33B18339
+Inner product checksum mr3 = 309DB4C6
+Inner product checksum mr4 = 305375DD
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 8ca50fdae..502bdbdc8 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,3 +1,3 @@
Inner product checksum rho = 42B581C2
-Inner product checksum theta = 541008D8
+Inner product checksum theta = 54100BC0
Inner product checksum u = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 3c6687e67..fea9c53ac 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 42F50046
+Inner product checksum rho = 42F5004A
Inner product checksum theta = 4E23238A
-Inner product checksum u = 5EA095A3
-Inner product checksum mr1 = 3C8347CA
+Inner product checksum u = 5EA095A6
+Inner product checksum mr1 = 3C8347BC
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 32f745aa2..a0240c8a1 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,6 +1,6 @@
-Inner product checksum rho = 4334F2FE
-Inner product checksum theta = 4C25DC68
-Inner product checksum u = 5E28F50A
+Inner product checksum rho = 4334F301
+Inner product checksum theta = 4C25DC67
+Inner product checksum u = 46234658
Inner product checksum mr1 = 3AB44DA2
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 8584c5aee..52eca1399 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
Inner product checksum rho = 434FEE7A
-Inner product checksum theta = 4C47E251
-Inner product checksum u = 62E3D540
-Inner product checksum mr1 = 3A37FEF3
-Inner product checksum mr2 = 31AEACAC
-Inner product checksum mr3 = 2602EE25
-Inner product checksum mr4 = 33BE4E1A
-Inner product checksum mr5 = 2A4D1790
-Inner product checksum mr6 = 2C90ABAB
+Inner product checksum theta = 4C47E477
+Inner product checksum u = 62E3D4FE
+Inner product checksum mr1 = 3A34153A
+Inner product checksum mr2 = 32F37441
+Inner product checksum mr3 = 28487960
+Inner product checksum mr4 = 340FFA25
+Inner product checksum mr5 = 2C85850A
+Inner product checksum mr6 = 2C8F388C
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 0698002ee..8b2a0383f 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 433107DB
+Inner product checksum rho = 433107DD
Inner product checksum theta = 4C096ADD
-Inner product checksum u = 6074FC44
-Inner product checksum mr1 = 3A6F450A
+Inner product checksum u = 6074FC4A
+Inner product checksum mr1 = 3A6F4512
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 671920b15..9188d0722 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 433107DB
-Inner product checksum theta = 4C08B091
-Inner product checksum u = 6075B791
-Inner product checksum mr1 = 3A5C1B46
+Inner product checksum rho = 433107DD
+Inner product checksum theta = 4C08B090
+Inner product checksum u = 6075B796
+Inner product checksum mr1 = 3A5C1B38
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index f1b9dc86b..acff47f31 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 433107DB
+Inner product checksum rho = 433107DD
Inner product checksum theta = 4C08DF8A
-Inner product checksum u = 606FB526
-Inner product checksum mr1 = 3B1C91CA
+Inner product checksum u = 606FB530
+Inner product checksum mr1 = 3B1C91BB
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 4c6bdbbfd..0bef32c3e 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F50046
-Inner product checksum theta = 4E15DFDC
-Inner product checksum u = 5F89D47F
-Inner product checksum mr1 = 3C9BB4DC
-Inner product checksum mr2 = 31E1A10A
-Inner product checksum mr3 = 2A8F7B6C
-Inner product checksum mr4 = 30E46F0B
+Inner product checksum rho = 42F5004A
+Inner product checksum theta = 4E15E09C
+Inner product checksum u = 5F8A1B1A
+Inner product checksum mr1 = 3C97B680
+Inner product checksum mr2 = 2FDF867A
+Inner product checksum mr3 = 2A7A3B3A
+Inner product checksum mr4 = 309507F0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_thai_ben1-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_thai_ben1-C48_MG_ex1a_cce_fast-debug-32bit.txt
index 490974e84..0c8dcb24f 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_thai_ben1-C48_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_thai_ben1-C48_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 486B4A17
-Inner product checksum theta = 51CABEF0
-Inner product checksum u = 63C9A5FD
+Inner product checksum rho = 486B4A79
+Inner product checksum theta = 51CABEBE
+Inner product checksum u = 63C98F85
diff --git a/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt
index 0a81215b8..d95eb52fd 100644
--- a/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 411B540C33AE2137
-Inner product checksum theta = 42735B20484A0071
-Inner product checksum u = 456F43594C8887A8
-Inner product checksum mr1 = 40368412E6CE533E
-Inner product checksum mr2 = 3F40052B88481958
-Inner product checksum mr3 = 3F025BCA450F15B7
-Inner product checksum mr4 = 3F366AB08264FA88
+Inner product checksum rho = 411B54F815AB2D1F
+Inner product checksum theta = 42735B54B7488493
+Inner product checksum u = 456F138B1FBBF2A7
+Inner product checksum mr1 = 4036848345B94316
+Inner product checksum mr2 = 3F3F545B0C7B8B4A
+Inner product checksum mr3 = 3F023D9DE8FF6F52
+Inner product checksum mr4 = 3F36ABD27D8EEBFE
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt
index 4148368a6..59542eb53 100644
--- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3F20250B4FE9B9EF
-Inner product checksum theta = 403305E848D6E311
-Inner product checksum u = 433053B3FA026478
+Inner product checksum rho = 3F2023A1579F4CA6
+Inner product checksum theta = 403305EF53061AF3
+Inner product checksum u = 433053B3D9E98577
diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt
index 6a7be832b..6e81ea90b 100644
--- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 3FA958F0C1D55513
-Inner product checksum theta = 4161FFBE6B89106C
-Inner product checksum u = 456A4D0AF00B4480
-Inner product checksum mr1 = 3F3B888F79EB2E18
-Inner product checksum mr2 = 3EEB3109C670AF3C
-Inner product checksum mr3 = 3EDFF31B816930A0
-Inner product checksum mr4 = 3EED42827F73DFDC
+Inner product checksum rho = 3FB0A722971DA7BA
+Inner product checksum theta = 41621494ADEC66E3
+Inner product checksum u = 456A39A50D0416E9
+Inner product checksum mr1 = 3F42DD0B1132A8E7
+Inner product checksum mr2 = 3EF4967286229839
+Inner product checksum mr3 = 3EE27441ADF46267
+Inner product checksum mr4 = 3EECD8DC1C9F9E14
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt
index c19cd8f5f..f67db9e10 100644
--- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 40C2C1694FA30DD0
-Inner product checksum theta = 43076DE653AEC2FE
-Inner product checksum u = 4697E3FAA368DE1C
-Inner product checksum mr1 = 40A1D167F8ADA142
-Inner product checksum mr2 = 40699AF5BDBC4864
-Inner product checksum mr3 = 4069A3412D88D047
-Inner product checksum mr4 = 40697EB0A557078A
+Inner product checksum rho = 41277C6596F77831
+Inner product checksum theta = 43076F72A041E1AD
+Inner product checksum u = 4697E0B27F8BB1D4
+Inner product checksum mr1 = 40ACBDED4629A150
+Inner product checksum mr2 = 4070287081391943
+Inner product checksum mr3 = 406CE54F9949854D
+Inner product checksum mr4 = 406B16AFBD165E36
Inner product checksum mr5 = 406997D0C9B8EEFB
Inner product checksum mr6 = 40699547929283AC
diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt
index f718f88ba..6a156b543 100644
--- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3EED6D12BBFEDECC
-Inner product checksum theta = 4012F2F8A6298AC5
-Inner product checksum u = 42F12DF2D0BF0EFC
+Inner product checksum rho = 3EED6D12BBFEE283
+Inner product checksum theta = 4012F2F8A6298AB7
+Inner product checksum u = 42F12DF2D0BF0508
diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt
index f7e9ed399..b63411a1f 100644
--- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3EED280BC778BD3B
-Inner product checksum theta = 4012F415A1A3F24B
-Inner product checksum u = 43A4936A5FD755CE
+Inner product checksum rho = 3EED280BC7794AC5
+Inner product checksum theta = 4012F415A1A39B1D
+Inner product checksum u = 43A4936A5FD57109
diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt
index a5449d77a..3dd72e7d8 100644
--- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3F20250B300C3D30
-Inner product checksum theta = 403305E8470B6A22
-Inner product checksum u = 433053B3A41C6049
+Inner product checksum rho = 3F2023A1741FA158
+Inner product checksum theta = 403305EF530E7FFE
+Inner product checksum u = 433053B3D78BBD3A
diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt
index 8839d63b9..88dcd230c 100644
--- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 3FA958F09D97D52D
-Inner product checksum theta = 4161FFBE7B6B7DE1
-Inner product checksum u = 456A4D0ACAB467CA
-Inner product checksum mr1 = 3F3B888D5EA6A45C
-Inner product checksum mr2 = 3EEB310977D9678E
-Inner product checksum mr3 = 3EDFF31B705B97D8
-Inner product checksum mr4 = 3EED42824B13222B
+Inner product checksum rho = 3FB0A721F37BF530
+Inner product checksum theta = 41621495176300D2
+Inner product checksum u = 456A39A5154E954C
+Inner product checksum mr1 = 3F42DD0EC99F3FA3
+Inner product checksum mr2 = 3EF49677E67BDF6D
+Inner product checksum mr3 = 3EE27441B31B2EB5
+Inner product checksum mr4 = 3EECD8DC0F65262B
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt
index 1fba69899..3f732dc97 100644
--- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 40C2C1668AA536C6
-Inner product checksum theta = 43076DE652800BE2
-Inner product checksum u = 4697E3FAA2E5E0C6
-Inner product checksum mr1 = 40A1D167F834C0E0
-Inner product checksum mr2 = 40699AF5BDC7A01E
-Inner product checksum mr3 = 4069A3412D91ECF2
-Inner product checksum mr4 = 40697EB0A55E4C2B
+Inner product checksum rho = 41277C658F70B4AA
+Inner product checksum theta = 43076F729E422617
+Inner product checksum u = 4697E0B2800B2208
+Inner product checksum mr1 = 40ACBDED478B6CBE
+Inner product checksum mr2 = 407028707E9E0827
+Inner product checksum mr3 = 406CE54F994D7602
+Inner product checksum mr4 = 406B16AFBD11D457
Inner product checksum mr5 = 406997D0C9B8EEFC
Inner product checksum mr6 = 40699547929283AD
diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_runge-kutta-C12_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_runge-kutta-C12_ex1a_gnu_fast-debug-64bit.txt
index ccf712d8a..89efa7137 100644
--- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_runge-kutta-C12_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_runge-kutta-C12_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3EED6D12BBFEDE9E
-Inner product checksum theta = 4012F2F8A6298AC9
-Inner product checksum u = 42F12DF2D0BF0EC7
+Inner product checksum rho = 3EED6D12BBFEE2CF
+Inner product checksum theta = 4012F2F8A6298ABA
+Inner product checksum u = 42F12DF2D0BF04F1
diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt
index 3906107bd..e7c2c8dc1 100644
--- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3EED280BC779365A
-Inner product checksum theta = 4012F415A1A375AE
-Inner product checksum u = 43A4936A5FD4C67B
+Inner product checksum rho = 3EED280BC778B931
+Inner product checksum theta = 4012F415A1A38E8D
+Inner product checksum u = 43A4936A5FD9C42F
diff --git a/science/adjoint/rose-meta/lfric-adjoint/versions.py b/science/adjoint/rose-meta/lfric-adjoint/versions.py
index 152c043d0..39e882cbb 100644
--- a/science/adjoint/rose-meta/lfric-adjoint/versions.py
+++ b/science/adjoint/rose-meta/lfric-adjoint/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py
index 152c043d0..39e882cbb 100644
--- a/science/gungho/rose-meta/lfric-gungho/versions.py
+++ b/science/gungho/rose-meta/lfric-gungho/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
diff --git a/science/linear/rose-meta/lfric-linear/versions.py b/science/linear/rose-meta/lfric-linear/versions.py
index 152c043d0..39e882cbb 100644
--- a/science/linear/rose-meta/lfric-linear/versions.py
+++ b/science/linear/rose-meta/lfric-linear/versions.py
@@ -31,3 +31,26 @@ def upgrade(self, config, meta_config=None):
# Add settings
return config, self.reports
"""
+
+
+class vn30_t238(MacroUpgrade):
+ """Upgrade macro for ticket #238 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0"
+ AFTER_TAG = "vn3.0_t238"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/lfric-driver
+ self.add_setting(
+ config, ["namelist:finite_element", "coord_space"], "'Wchi'"
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+ self.add_setting(
+ config,
+ ["namelist:finite_element", "coord_order_multigrid"],
+ coord_order,
+ )
+
+ return config, self.reports
From 3c9048d23560160427adf442c91d06903ae4ab54 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Mon, 26 Jan 2026 09:50:19 +0000
Subject: [PATCH 19/29] update KGOs
---
...BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt | 8 ++++----
...ag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt | 8 ++++----
..._clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
...im_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 12 ++++++------
...im_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
..._gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
...o_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
...o_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt | 14 +++++++-------
..._noukca_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
..._noukca_2T-C48_MG_ex1a_cce_full-debug-32bit.txt | 14 +++++++-------
..._noukca_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
11 files changed, 70 insertions(+), 70 deletions(-)
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt
index 2ea7a153f..e578524d8 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 4100297F92863D8C
-Inner product checksum theta = 4204AB0A95D75E54
-Inner product checksum u = 42184213CCDA2A8C
-Inner product checksum mr1 = 4047C50EA0772E7C
+Inner product checksum rho = 410029800831452C
+Inner product checksum theta = 4204AB0A9671FAEC
+Inner product checksum u = 421842151C74D2F4
+Inner product checksum mr1 = 4047C50F8798F474
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt
index e578524d8..7da35a8f7 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 410029800831452C
-Inner product checksum theta = 4204AB0A9671FAEC
-Inner product checksum u = 421842151C74D2F4
-Inner product checksum mr1 = 4047C50F8798F474
+Inner product checksum rho = 410029802E1030D0
+Inner product checksum theta = 4204AB0A9B371176
+Inner product checksum u = 4218424E1BBA8CB6
+Inner product checksum mr1 = 4047C515ADADBF22
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt
index b4bddc0f9..eff659d79 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D67100
-Inner product checksum theta = 5193C690
-Inner product checksum u = 6B199F45
-Inner product checksum mr1 = 3FCF5434
-Inner product checksum mr2 = 373C41F8
-Inner product checksum mr3 = 353A47ED
-Inner product checksum mr4 = 368E5A50
+Inner product checksum rho = 46D671B8
+Inner product checksum theta = 5193C61A
+Inner product checksum u = 6B19AD94
+Inner product checksum mr1 = 3FCF4031
+Inner product checksum mr2 = 37456B6E
+Inner product checksum mr3 = 3538C71B
+Inner product checksum mr4 = 3694E666
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt
index ecabe41bc..6efabaac1 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D66230
+Inner product checksum rho = 48D66232
Inner product checksum theta = 539A0A6A
-Inner product checksum u = 6B127B02
-Inner product checksum mr1 = 41CC3AEE
-Inner product checksum mr2 = 3967AF08
-Inner product checksum mr3 = 37D4FCF2
-Inner product checksum mr4 = 3941B179
+Inner product checksum u = 6B127AC6
+Inner product checksum mr1 = 41CC3922
+Inner product checksum mr2 = 3967966E
+Inner product checksum mr3 = 37DA6788
+Inner product checksum mr4 = 39413C27
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt
index 8b1977f88..56ac9b580 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D66227
-Inner product checksum theta = 539A0A69
-Inner product checksum u = 6B127A92
-Inner product checksum mr1 = 41CC3A02
-Inner product checksum mr2 = 39699324
-Inner product checksum mr3 = 37DD89D0
-Inner product checksum mr4 = 39421336
+Inner product checksum rho = 48D66233
+Inner product checksum theta = 539A0A6C
+Inner product checksum u = 6B1279B4
+Inner product checksum mr1 = 41CC3A94
+Inner product checksum mr2 = 39694D7A
+Inner product checksum mr3 = 37C624F4
+Inner product checksum mr4 = 39410F74
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt
index 2d23b1302..2eadab63e 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D671AE
-Inner product checksum theta = 5193C4C1
-Inner product checksum u = 6B19FF1E
-Inner product checksum mr1 = 3FCF5BC8
-Inner product checksum mr2 = 372A1360
-Inner product checksum mr3 = 352F50DF
-Inner product checksum mr4 = 369D7198
+Inner product checksum rho = 46D671CF
+Inner product checksum theta = 5193C4AB
+Inner product checksum u = 6B19DE73
+Inner product checksum mr1 = 3FCF7B18
+Inner product checksum mr2 = 3726D934
+Inner product checksum mr3 = 354C81EC
+Inner product checksum mr4 = 369F289D
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt
index f951f4bf9..0ccb4ff22 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D802B7
-Inner product checksum theta = 5392FB03
-Inner product checksum u = 6A97B9A2
-Inner product checksum mr1 = 41CCE987
-Inner product checksum mr2 = 39CDBE39
-Inner product checksum mr3 = 37AB185B
-Inner product checksum mr4 = 397142B2
+Inner product checksum rho = 48D80298
+Inner product checksum theta = 5392FAFC
+Inner product checksum u = 6A97BA98
+Inner product checksum mr1 = 41CCE51A
+Inner product checksum mr2 = 39D34205
+Inner product checksum mr3 = 37AC28E0
+Inner product checksum mr4 = 396C80FF
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt
index bb2afc0a0..3722941a8 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_coarse_aero_threaded-C48_MG_ex1a_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D8014F
-Inner product checksum theta = 5392FBB2
-Inner product checksum u = 6A97B17F
-Inner product checksum mr1 = 41CCEC2C
-Inner product checksum mr2 = 39D118ED
-Inner product checksum mr3 = 37A92DDA
-Inner product checksum mr4 = 39718DC7
+Inner product checksum rho = 48D80136
+Inner product checksum theta = 5392FBA7
+Inner product checksum u = 6A97B5F5
+Inner product checksum mr1 = 41CCF395
+Inner product checksum mr2 = 39CFF174
+Inner product checksum mr3 = 37B9E488
+Inner product checksum mr4 = 39720B0E
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt
index b80e025d4..690334be4 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D802B6
-Inner product checksum theta = 5392FAFD
-Inner product checksum u = 6A97BB06
-Inner product checksum mr1 = 41CCE635
-Inner product checksum mr2 = 39D02038
-Inner product checksum mr3 = 37AA8036
-Inner product checksum mr4 = 3970534F
+Inner product checksum rho = 48D802C2
+Inner product checksum theta = 5392FAF0
+Inner product checksum u = 6A97BE0E
+Inner product checksum mr1 = 41CCE20D
+Inner product checksum mr2 = 39CE7FA6
+Inner product checksum mr3 = 37A4E012
+Inner product checksum mr4 = 3970B914
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_full-debug-32bit.txt
index 0ecd4b998..140627248 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_full-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C48_MG_ex1a_cce_full-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D80159
-Inner product checksum theta = 5392FB56
-Inner product checksum u = 6A97ABCC
-Inner product checksum mr1 = 41CCEB74
-Inner product checksum mr2 = 39D06F06
-Inner product checksum mr3 = 37AE9E31
-Inner product checksum mr4 = 396FDD88
+Inner product checksum rho = 48D80144
+Inner product checksum theta = 5392FB6A
+Inner product checksum u = 6A97AF2A
+Inner product checksum mr1 = 41CCF444
+Inner product checksum mr2 = 39CBF482
+Inner product checksum mr3 = 37A5F97C
+Inner product checksum mr4 = 396EE9D4
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt
index cd399303e..3d5024b95 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_4T-C48_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48D802AB
-Inner product checksum theta = 5392FAFB
-Inner product checksum u = 6A97C038
-Inner product checksum mr1 = 41CCE6D0
-Inner product checksum mr2 = 39CCE00F
-Inner product checksum mr3 = 37AE0CB6
-Inner product checksum mr4 = 39710D09
+Inner product checksum rho = 48D802C9
+Inner product checksum theta = 5392FAF9
+Inner product checksum u = 6A97BF76
+Inner product checksum mr1 = 41CCEE84
+Inner product checksum mr2 = 39D1D8CD
+Inner product checksum mr3 = 37A66950
+Inner product checksum mr4 = 396D91B7
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
From cfc3f166d320d7a6627bae64fa81397f9f8c6180 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Mon, 26 Jan 2026 09:51:49 +0000
Subject: [PATCH 20/29] increase TLM tolerance
---
applications/jedi_lfric_tests/source/jedi_tlm_tests.f90 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/applications/jedi_lfric_tests/source/jedi_tlm_tests.f90 b/applications/jedi_lfric_tests/source/jedi_tlm_tests.f90
index f2266fdb5..15b09c8e6 100644
--- a/applications/jedi_lfric_tests/source/jedi_tlm_tests.f90
+++ b/applications/jedi_lfric_tests/source/jedi_tlm_tests.f90
@@ -74,7 +74,7 @@ program jedi_tlm_tests
character( str_def ) :: forecast_length_str
real( kind=r_def ) :: dot_product_1
real( kind=r_def ) :: dot_product_2
- real( kind=r_def ), parameter :: absolute_tolerance = 1.0E-4_r_def
+ real( kind=r_def ), parameter :: absolute_tolerance = 2.0E-4_r_def
real( kind=r_def ) :: machine_tolerance
real( kind=r_def ) :: absolute_diff
real( kind=r_def ) :: relative_diff
From 4a8d2002bdfe6abbcf503530489bc966cf2e3a03 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Mon, 26 Jan 2026 10:12:09 +0000
Subject: [PATCH 21/29] increase tolerance again
---
applications/jedi_lfric_tests/source/jedi_tlm_tests.f90 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/applications/jedi_lfric_tests/source/jedi_tlm_tests.f90 b/applications/jedi_lfric_tests/source/jedi_tlm_tests.f90
index 15b09c8e6..0b8e24dcd 100644
--- a/applications/jedi_lfric_tests/source/jedi_tlm_tests.f90
+++ b/applications/jedi_lfric_tests/source/jedi_tlm_tests.f90
@@ -74,7 +74,7 @@ program jedi_tlm_tests
character( str_def ) :: forecast_length_str
real( kind=r_def ) :: dot_product_1
real( kind=r_def ) :: dot_product_2
- real( kind=r_def ), parameter :: absolute_tolerance = 2.0E-4_r_def
+ real( kind=r_def ), parameter :: absolute_tolerance = 3.0E-4_r_def
real( kind=r_def ) :: machine_tolerance
real( kind=r_def ) :: absolute_diff
real( kind=r_def ) :: relative_diff
From 0015b2372fef03e19ff05230a06f4efeb7b3e1b6 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Mon, 26 Jan 2026 12:03:18 +0000
Subject: [PATCH 22/29] replace Wchi in kernels
---
.../deep_hot_jupiter_kernel_mod.F90 | 5 ++--
.../earth_like_kernel_mod.F90 | 5 ++--
.../shallow_hot_jupiter_kernel_mod.F90 | 5 ++--
.../initial_rho_sample_kernel_mod.F90 | 5 ++--
.../initialisation/set_rho_kernel_mod.F90 | 4 +--
.../eliminated_theta_q22_kernel_mod.F90 | 27 ++++++++---------
.../solver/w2_normalisation_kernel_mod.F90 | 10 +++----
...init_remap_on_extended_mesh_kernel_mod.F90 | 8 ++---
.../common/panel_edge_weights_kernel_mod.F90 | 7 +++--
.../mol/consistent_wind_kernel_mod.F90 | 29 ++++++++++---------
.../orography/assign_orography_field_mod.F90 | 22 ++++----------
11 files changed, 61 insertions(+), 66 deletions(-)
diff --git a/science/gungho/source/kernel/external_forcing/deep_hot_jupiter_kernel_mod.F90 b/science/gungho/source/kernel/external_forcing/deep_hot_jupiter_kernel_mod.F90
index f898cd611..376c727bf 100644
--- a/science/gungho/source/kernel/external_forcing/deep_hot_jupiter_kernel_mod.F90
+++ b/science/gungho/source/kernel/external_forcing/deep_hot_jupiter_kernel_mod.F90
@@ -21,11 +21,12 @@ module deep_hot_jupiter_kernel_mod
GH_READ, GH_READWRITE, &
GH_SCALAR, &
ANY_DISCONTINUOUS_SPACE_3, &
+ ANY_SPACE_9, &
GH_READ, CELL_COLUMN
use constants_mod, only: r_def, i_def
use sci_chi_transform_mod, only: chi2llr
use calc_exner_pointwise_mod, only: calc_exner_pointwise
- use fs_continuity_mod, only: Wtheta, Wchi
+ use fs_continuity_mod, only: Wtheta
use deep_hot_jupiter_forcings_mod, only: deep_hot_jupiter_newton_frequency, &
deep_hot_jupiter_equilibrium_theta
use kernel_mod, only: kernel_type
@@ -46,7 +47,7 @@ module deep_hot_jupiter_kernel_mod
arg_type(GH_FIELD, GH_REAL, GH_READWRITE, Wtheta), &
arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), &
arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), &
- arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi), &
+ arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9), &
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3), &
arg_type(GH_SCALAR, GH_REAL, GH_READ) &
/)
diff --git a/science/gungho/source/kernel/external_forcing/earth_like_kernel_mod.F90 b/science/gungho/source/kernel/external_forcing/earth_like_kernel_mod.F90
index 3699e7df6..8cd1cdf1c 100644
--- a/science/gungho/source/kernel/external_forcing/earth_like_kernel_mod.F90
+++ b/science/gungho/source/kernel/external_forcing/earth_like_kernel_mod.F90
@@ -21,11 +21,12 @@ module earth_like_kernel_mod
GH_READ, GH_READWRITE, &
GH_SCALAR, &
ANY_DISCONTINUOUS_SPACE_3, &
+ ANY_SPACE_9, &
GH_READ, CELL_COLUMN
use constants_mod, only: r_def, i_def
use sci_chi_transform_mod, only: chi2llr
use calc_exner_pointwise_mod, only: calc_exner_pointwise
- use fs_continuity_mod, only: Wtheta, Wchi
+ use fs_continuity_mod, only: Wtheta
use earth_like_forcings_mod, only: earth_like_newton_frequency, &
earth_like_equilibrium_theta
use kernel_mod, only: kernel_type
@@ -47,7 +48,7 @@ module earth_like_kernel_mod
arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), &
arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), &
arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), &
- arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi), &
+ arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9), &
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3), &
arg_type(GH_SCALAR, GH_REAL, GH_READ), &
arg_type(GH_SCALAR, GH_REAL, GH_READ) &
diff --git a/science/gungho/source/kernel/external_forcing/shallow_hot_jupiter_kernel_mod.F90 b/science/gungho/source/kernel/external_forcing/shallow_hot_jupiter_kernel_mod.F90
index 28994c674..6413a4be0 100644
--- a/science/gungho/source/kernel/external_forcing/shallow_hot_jupiter_kernel_mod.F90
+++ b/science/gungho/source/kernel/external_forcing/shallow_hot_jupiter_kernel_mod.F90
@@ -21,11 +21,12 @@ module shallow_hot_jupiter_kernel_mod
GH_READ, GH_READWRITE, &
GH_SCALAR, &
ANY_DISCONTINUOUS_SPACE_3, &
+ ANY_SPACE_9, &
GH_READ, CELL_COLUMN
use constants_mod, only: r_def, i_def
use sci_chi_transform_mod, only: chi2llr
use calc_exner_pointwise_mod, only: calc_exner_pointwise
- use fs_continuity_mod, only: Wtheta, Wchi
+ use fs_continuity_mod, only: Wtheta
use shallow_hot_jupiter_forcings_mod, only: shallow_hot_jupiter_newton_frequency, &
shallow_hot_jupiter_equilibrium_theta
use kernel_mod, only: kernel_type
@@ -47,7 +48,7 @@ module shallow_hot_jupiter_kernel_mod
arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), &
arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), &
arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), &
- arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi), &
+ arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9), &
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3), &
arg_type(GH_SCALAR, GH_REAL, GH_READ), &
arg_type(GH_SCALAR, GH_REAL, GH_READ) &
diff --git a/science/gungho/source/kernel/initialisation/initial_rho_sample_kernel_mod.F90 b/science/gungho/source/kernel/initialisation/initial_rho_sample_kernel_mod.F90
index 45fafaf31..4327e91d1 100644
--- a/science/gungho/source/kernel/initialisation/initial_rho_sample_kernel_mod.F90
+++ b/science/gungho/source/kernel/initialisation/initial_rho_sample_kernel_mod.F90
@@ -19,7 +19,6 @@ module initial_rho_sample_kernel_mod
ANY_DISCONTINUOUS_SPACE_1, &
ANY_DISCONTINUOUS_SPACE_3, &
CELL_COLUMN, GH_EVALUATOR
- use fs_continuity_mod, only : Wchi
use constants_mod, only : r_def, i_def
use idealised_config_mod, only : test
use kernel_mod, only : kernel_type
@@ -35,12 +34,12 @@ module initial_rho_sample_kernel_mod
private
type(arg_type) :: meta_args(4) = (/ &
arg_type(GH_FIELD, GH_REAL, GH_WRITE, ANY_DISCONTINUOUS_SPACE_1), &
- arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi), &
+ arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9), &
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3), &
arg_type(GH_SCALAR, GH_REAL, GH_READ) &
/)
type(func_type) :: meta_funcs(1) = (/ &
- func_type(Wchi, GH_BASIS) &
+ func_type(ANY_SPACE_9, GH_BASIS) &
/)
integer :: operates_on = CELL_COLUMN
integer :: gh_shape = GH_EVALUATOR
diff --git a/science/gungho/source/kernel/initialisation/set_rho_kernel_mod.F90 b/science/gungho/source/kernel/initialisation/set_rho_kernel_mod.F90
index bc6f1bf39..dc243c379 100644
--- a/science/gungho/source/kernel/initialisation/set_rho_kernel_mod.F90
+++ b/science/gungho/source/kernel/initialisation/set_rho_kernel_mod.F90
@@ -34,13 +34,13 @@ module set_rho_kernel_mod
private
type(arg_type) :: meta_args(4) = (/ &
arg_type(GH_FIELD, GH_REAL, GH_WRITE, ANY_DISCONTINUOUS_SPACE_1), &
- arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi), &
+ arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9), &
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3), &
arg_type(GH_SCALAR, GH_REAL, GH_READ) &
/)
type(func_type) :: meta_funcs(2) = (/ &
func_type(ANY_DISCONTINUOUS_SPACE_1, GH_BASIS), &
- func_type(Wchi, GH_BASIS, GH_DIFF_BASIS) &
+ func_type(ANY_SPACE_9, GH_BASIS, GH_DIFF_BASIS) &
/)
integer :: operates_on = CELL_COLUMN
integer :: gh_shape = GH_QUADRATURE_XYoZ
diff --git a/science/gungho/source/kernel/solver/eliminated_theta_q22_kernel_mod.F90 b/science/gungho/source/kernel/solver/eliminated_theta_q22_kernel_mod.F90
index acabd2c24..ec2e9f530 100644
--- a/science/gungho/source/kernel/solver/eliminated_theta_q22_kernel_mod.F90
+++ b/science/gungho/source/kernel/solver/eliminated_theta_q22_kernel_mod.F90
@@ -16,18 +16,19 @@
!! https://code.metoffice.gov.uk/trac/lfric/wiki/GhaspSupport/Documentation
module eliminated_theta_q22_kernel_mod
- use argument_mod, only: arg_type, func_type, &
- GH_OPERATOR, GH_FIELD, &
- GH_REAL, GH_SCALAR, &
- GH_READ, GH_WRITE, &
- GH_BASIS, GH_DIFF_BASIS, &
- CELL_COLUMN, &
- GH_QUADRATURE_XYoZ, &
- ANY_DISCONTINUOUS_SPACE_3
+ use argument_mod, only: arg_type, func_type, &
+ GH_OPERATOR, GH_FIELD, &
+ GH_REAL, GH_SCALAR, &
+ GH_READ, GH_WRITE, &
+ GH_BASIS, GH_DIFF_BASIS, &
+ CELL_COLUMN, &
+ GH_QUADRATURE_XYoZ, &
+ ANY_DISCONTINUOUS_SPACE_3, &
+ ANY_SPACE_9
use constants_mod, only: i_def, r_def, r_solver
use sci_coordinate_jacobian_mod, only: coordinate_jacobian
- use fs_continuity_mod, only: W2, Wtheta, Wchi
+ use fs_continuity_mod, only: W2, Wtheta
use kernel_mod, only: kernel_type
implicit none
@@ -45,14 +46,14 @@ module eliminated_theta_q22_kernel_mod
arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), &
arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), &
arg_type(GH_FIELD, GH_REAL, GH_READ, W2), &
- arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi), &
+ arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9), &
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3), &
arg_type(GH_SCALAR, GH_REAL, GH_READ) &
/)
type(func_type) :: meta_funcs(3) = (/ &
- func_type(W2, GH_BASIS), &
- func_type(Wtheta, GH_DIFF_BASIS), &
- func_type(Wchi, GH_BASIS, GH_DIFF_BASIS) &
+ func_type(W2, GH_BASIS), &
+ func_type(Wtheta, GH_DIFF_BASIS), &
+ func_type(ANY_SPACE_9, GH_BASIS, GH_DIFF_BASIS) &
/)
integer :: operates_on = CELL_COLUMN
integer :: gh_shape = GH_QUADRATURE_XYoZ
diff --git a/science/gungho/source/kernel/solver/w2_normalisation_kernel_mod.F90 b/science/gungho/source/kernel/solver/w2_normalisation_kernel_mod.F90
index 7116bbdb7..06ef2a9d4 100644
--- a/science/gungho/source/kernel/solver/w2_normalisation_kernel_mod.F90
+++ b/science/gungho/source/kernel/solver/w2_normalisation_kernel_mod.F90
@@ -22,7 +22,7 @@ module w2_normalisation_kernel_mod
GH_BASIS, GH_DIFF_BASIS, &
CELL_COLUMN, GH_EVALUATOR
use constants_mod, only : r_def, r_solver, i_def
- use fs_continuity_mod, only : W2, Wchi
+ use fs_continuity_mod, only : W2
use kernel_mod, only : kernel_type
implicit none
@@ -39,14 +39,14 @@ module w2_normalisation_kernel_mod
private
type(arg_type) :: meta_args(4) = (/ &
arg_type(GH_FIELD, GH_REAL, GH_INC, W2), &
- arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi), &
+ arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9), &
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3), &
arg_type(GH_FIELD, GH_REAL, GH_READ, W2) &
/)
- type(func_type) :: meta_funcs(2) = (/ &
- func_type(W2, GH_BASIS), &
- func_type(Wchi, GH_BASIS, GH_DIFF_BASIS) &
+ type(func_type) :: meta_funcs(2) = (/ &
+ func_type(W2, GH_BASIS), &
+ func_type(ANY_SPACE_9, GH_BASIS, GH_DIFF_BASIS) &
/)
integer :: operates_on = CELL_COLUMN
integer :: gh_shape = GH_EVALUATOR
diff --git a/science/gungho/source/kernel/transport/common/init_remap_on_extended_mesh_kernel_mod.F90 b/science/gungho/source/kernel/transport/common/init_remap_on_extended_mesh_kernel_mod.F90
index 7f88ff248..1fc8dc3d3 100644
--- a/science/gungho/source/kernel/transport/common/init_remap_on_extended_mesh_kernel_mod.F90
+++ b/science/gungho/source/kernel/transport/common/init_remap_on_extended_mesh_kernel_mod.F90
@@ -19,12 +19,12 @@ module init_remap_on_extended_mesh_kernel_mod
GH_READ, GH_WRITE, &
ANY_DISCONTINUOUS_SPACE_1, &
ANY_DISCONTINUOUS_SPACE_3, &
+ ANY_SPACE_9, &
GH_BASIS, &
HALO_CELL_COLUMN, &
STENCIL, CROSS2D, &
GH_EVALUATOR
use constants_mod, only: r_tran, r_def, i_def, l_def, LARGE_REAL_POSITIVE
-use fs_continuity_mod, only: Wchi
implicit none
@@ -39,14 +39,14 @@ module init_remap_on_extended_mesh_kernel_mod
type(arg_type) :: meta_args(7) = (/ &
arg_type(GH_FIELD, GH_REAL, GH_WRITE, ANY_DISCONTINUOUS_SPACE_1), &
arg_type(GH_FIELD, GH_INTEGER, GH_WRITE, ANY_DISCONTINUOUS_SPACE_1), &
- arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi), &
- arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi, STENCIL(CROSS2D)), &
+ arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9), &
+ arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9, STENCIL(CROSS2D)), &
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3, STENCIL(CROSS2D)), &
arg_type(GH_SCALAR, GH_LOGICAL, GH_READ), &
arg_type(GH_SCALAR, GH_INTEGER, GH_READ) &
/)
type(func_type) :: meta_funcs(1) = (/ &
- func_type(Wchi, GH_BASIS) &
+ func_type(ANY_SPACE_9, GH_BASIS) &
/)
integer :: operates_on = HALO_CELL_COLUMN
integer :: gh_shape = GH_EVALUATOR
diff --git a/science/gungho/source/kernel/transport/common/panel_edge_weights_kernel_mod.F90 b/science/gungho/source/kernel/transport/common/panel_edge_weights_kernel_mod.F90
index 2d51a6417..2a4e40b85 100644
--- a/science/gungho/source/kernel/transport/common/panel_edge_weights_kernel_mod.F90
+++ b/science/gungho/source/kernel/transport/common/panel_edge_weights_kernel_mod.F90
@@ -16,10 +16,10 @@ module panel_edge_weights_kernel_mod
ANY_DISCONTINUOUS_SPACE_3, &
ANY_DISCONTINUOUS_SPACE_5, &
ANY_DISCONTINUOUS_SPACE_9, &
+ ANY_SPACE_9, &
GH_BASIS, GH_EVALUATOR, &
CELL_COLUMN, STENCIL, CROSS2D
use constants_mod, only: r_tran, r_def, i_def, l_def, LARGE_REAL_POSITIVE
-use fs_continuity_mod, only: Wchi
use reference_element_mod, only: W, S, N, E
implicit none
@@ -37,7 +37,8 @@ module panel_edge_weights_kernel_mod
arg_type(GH_FIELD, GH_REAL, GH_WRITE, ANY_DISCONTINUOUS_SPACE_5), &
arg_type(GH_FIELD, GH_INTEGER, GH_WRITE, ANY_DISCONTINUOUS_SPACE_5), &
arg_type(GH_FIELD, GH_INTEGER, GH_WRITE, ANY_DISCONTINUOUS_SPACE_5), &
- arg_type(GH_FIELD*3, GH_REAL, GH_READ, Wchi, STENCIL(CROSS2D)), &
+ arg_type(GH_FIELD*3, GH_REAL, GH_READ, ANY_SPACE_9, &
+ STENCIL(CROSS2D)), &
arg_type(GH_FIELD*2, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_9), &
arg_type(GH_FIELD*2, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_9), &
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_3, &
@@ -47,7 +48,7 @@ module panel_edge_weights_kernel_mod
arg_type(GH_SCALAR, GH_INTEGER, GH_READ) &
/)
type(func_type) :: meta_funcs(2) = (/ &
- func_type(Wchi, GH_BASIS), &
+ func_type(ANY_SPACE_9, GH_BASIS), &
func_type(ANY_DISCONTINUOUS_SPACE_9, GH_BASIS) &
/)
integer :: operates_on = CELL_COLUMN
diff --git a/science/gungho/source/kernel/transport/mol/consistent_wind_kernel_mod.F90 b/science/gungho/source/kernel/transport/mol/consistent_wind_kernel_mod.F90
index fed6b05c8..d986123af 100644
--- a/science/gungho/source/kernel/transport/mol/consistent_wind_kernel_mod.F90
+++ b/science/gungho/source/kernel/transport/mol/consistent_wind_kernel_mod.F90
@@ -13,13 +13,14 @@
module consistent_wind_kernel_mod
-use argument_mod, only : arg_type, func_type, &
- GH_FIELD, GH_REAL, &
- GH_READWRITE, GH_READ, &
- GH_BASIS, GH_DIFF_BASIS, &
- CELL_COLUMN, GH_EVALUATOR
+use argument_mod, only : arg_type, func_type, &
+ GH_FIELD, GH_REAL, &
+ GH_READWRITE, GH_READ, &
+ GH_BASIS, GH_DIFF_BASIS, &
+ CELL_COLUMN, GH_EVALUATOR, &
+ ANY_SPACE_9
use constants_mod, only : r_def, i_def, r_tran
-use fs_continuity_mod, only : Wtheta, W2, W2v, Wchi
+use fs_continuity_mod, only : Wtheta, W2, W2v
use kernel_mod, only : kernel_type
implicit none
@@ -31,15 +32,15 @@ module consistent_wind_kernel_mod
!> The type declaration for the kernel. Contains the metadata needed by the PSy layer
type, public, extends(kernel_type) :: consistent_wind_kernel_type
private
- type(arg_type) :: meta_args(4) = (/ &
- arg_type(GH_FIELD, GH_REAL, GH_READWRITE, W2v), &
- arg_type(GH_FIELD, GH_REAL, GH_READ, W2), &
- arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), &
- arg_type(GH_FIELD, GH_REAL, GH_READ, Wchi) &
+ type(arg_type) :: meta_args(4) = (/ &
+ arg_type(GH_FIELD, GH_REAL, GH_READWRITE, W2v), &
+ arg_type(GH_FIELD, GH_REAL, GH_READ, W2), &
+ arg_type(GH_FIELD, GH_REAL, GH_READ, Wtheta), &
+ arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_SPACE_9) &
/)
- type(func_type) :: meta_funcs(2) = (/ &
- func_type(W2, GH_BASIS), &
- func_type(Wchi, GH_DIFF_BASIS) &
+ type(func_type) :: meta_funcs(2) = (/ &
+ func_type(W2, GH_BASIS), &
+ func_type(ANY_SPACE_9, GH_DIFF_BASIS) &
/)
integer :: operates_on = CELL_COLUMN
integer :: gh_shape = GH_EVALUATOR
diff --git a/science/gungho/source/orography/assign_orography_field_mod.F90 b/science/gungho/source/orography/assign_orography_field_mod.F90
index 0669560cb..9c8a02c0e 100644
--- a/science/gungho/source/orography/assign_orography_field_mod.F90
+++ b/science/gungho/source/orography/assign_orography_field_mod.F90
@@ -232,9 +232,9 @@ subroutine assign_orography_field(chi_inventory, panel_id_inventory, &
end if
! Copy chi to chi_in, to allow adjustment of continuous chi fields
- call chi(1)%copy_field_properties(chi_in(1))
- call chi(2)%copy_field_properties(chi_in(2))
- call chi(3)%copy_field_properties(chi_in(3))
+ call chi(1)%copy_field_serial(chi_in(1))
+ call chi(2)%copy_field_serial(chi_in(2))
+ call chi(3)%copy_field_serial(chi_in(3))
! Break encapsulation and get the proxy
chi_proxy(1) = chi(1)%get_proxy()
@@ -253,11 +253,6 @@ subroutine assign_orography_field(chi_inventory, panel_id_inventory, &
map_chi => chi_proxy(1)%vspace%get_whole_dofmap()
map_pid => panel_id_proxy%vspace%get_whole_dofmap()
- ! Copy data values into "chi_in" fields
- chi_in_proxy(1)%data = chi_proxy(1)%data
- chi_in_proxy(2)%data = chi_proxy(2)%data
- chi_in_proxy(3)%data = chi_proxy(3)%data
-
! Call column procedure
do cell = 1, chi_proxy(1)%vspace%get_ncell()
call analytic_orography( &
@@ -288,9 +283,9 @@ subroutine assign_orography_field(chi_inventory, panel_id_inventory, &
end if
! Copy chi to chi_in, to allow adjustment of continuous chi fields
- call chi(1)%copy_field_properties(chi_in(1))
- call chi(2)%copy_field_properties(chi_in(2))
- call chi(3)%copy_field_properties(chi_in(3))
+ call chi(1)%copy_field_serial(chi_in(1))
+ call chi(2)%copy_field_serial(chi_in(2))
+ call chi(3)%copy_field_serial(chi_in(3))
! Break encapsulation and get the proxy
chi_proxy(1) = chi(1)%get_proxy()
@@ -314,11 +309,6 @@ subroutine assign_orography_field(chi_inventory, panel_id_inventory, &
map_sf => sfc_alt_proxy%vspace%get_whole_dofmap()
map_pid => panel_id_proxy%vspace%get_whole_dofmap()
- ! Copy data values into "chi_in" fields
- chi_in_proxy(1)%data = chi_proxy(1)%data
- chi_in_proxy(2)%data = chi_proxy(2)%data
- chi_in_proxy(3)%data = chi_proxy(3)%data
-
dim_sf = sfc_alt_proxy%vspace%get_dim_space()
nodes => chi_proxy(1)%vspace%get_nodes()
allocate(basis_sf_on_chi(dim_sf, ndf_sf, ndf_chi))
From 2b1b95ae7010f935d57da76a24cab513ea179efe Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Mon, 26 Jan 2026 14:44:54 +0000
Subject: [PATCH 23/29] implement upgrade macro, and revert changes to
surface_altitude_alg
---
.../lfric-gungho/HEAD/rose-meta.conf | 24 --
.../gungho/rose-meta/lfric-gungho/versions.py | 40 +++
.../orography/surface_altitude_alg_mod.x90 | 293 ++----------------
3 files changed, 61 insertions(+), 296 deletions(-)
diff --git a/science/gungho/rose-meta/lfric-gungho/HEAD/rose-meta.conf b/science/gungho/rose-meta/lfric-gungho/HEAD/rose-meta.conf
index 7b4829138..762a81821 100644
--- a/science/gungho/rose-meta/lfric-gungho/HEAD/rose-meta.conf
+++ b/science/gungho/rose-meta/lfric-gungho/HEAD/rose-meta.conf
@@ -4105,30 +4105,6 @@ trigger=namelist:orography_agnesi_cartesian: 'agnesi' ;
value-titles=None, Agnesi, Bell-shaped, Schar, DCMIP 2.0.0
values='none', 'agnesi', 'bell', 'schar', 'dcmip200'
-[namelist:orography=w0_method]
-compulsory=true
-description=The method used to compute the representation of orography at
- =cell corners (W0 points) from cell-centred values.
-!enumeration=true
-help=Choose the method for computing the orography at W0 points from:
- =average : Values at cell corners are taken from the unweighted
- average of neighbouring corner values. This will
- in-effect act as a smoothing operation on the orography.
- =project : Perform a Galerkin projection from cell-centred values
- to obtain the values at cell corners. This ensures that
- the power spectrum of values at cell corners matches the
- power spectrum of the cell-centred values.
- =spectral : Combines Galerkin projections for each geometric entity
- (edges, faces, vertices) to obtain the values at cell
- corners. This method preserves the spectral properties
- of the input orography for each of the geometric
- entities. It is only implemented for orography order 2
- (corresponding to quadratic coordinate order).
-sort-key=Panel-A03
-trigger=
-value-titles=Average, Project, Spectral
-values='average', 'project', 'spectral'
-
[namelist:orography=w0_multigrid_mapping]
compulsory=true
description=Whether to map orography between meshes using W0 mapping rather than W3
diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py
index 39e882cbb..0724fa27c 100644
--- a/science/gungho/rose-meta/lfric-gungho/versions.py
+++ b/science/gungho/rose-meta/lfric-gungho/versions.py
@@ -54,3 +54,43 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn30_t180(MacroUpgrade):
+ """Upgrade macro for ticket #180 by Thomas Bendall."""
+
+ BEFORE_TAG = "vn3.0_t238"
+ AFTER_TAG = "vn3.0_t180"
+
+ def upgrade(self, config, meta_config=None):
+ # Get values
+ n_orog_smooth = self.get_setting_value(
+ config, ["namelist:initialization", "n_orog_smooth"]
+ )
+ w0_mapping = self.get_setting_value(
+ config, ["namelist:initialization", "w0_orography_mapping"]
+ )
+ coord_order = self.get_setting_value(
+ config, ["namelist:finite_element", "coord_order"]
+ )
+
+ # Add new settings
+ self.add_setting(
+ config, ["namelist:orography", "n_orog_smooth"], n_orog_smooth
+ )
+ self.add_setting(
+ config, ["namelist:orography", "w0_multigrid_mapping"], w0_mapping
+ )
+ self.add_setting(
+ config, ["namelist:orography", "orography_order"], coord_order
+ )
+
+ # Remove old settings
+ self.remove_setting(
+ config, ["namelist:initialization", "n_orog_smooth"]
+ )
+ self.remove_setting(
+ config, ["namelist:initialization", "w0_orography_mapping"]
+ )
+
+ return config, self.reports
diff --git a/science/gungho/source/orography/surface_altitude_alg_mod.x90 b/science/gungho/source/orography/surface_altitude_alg_mod.x90
index cabee1b77..060d9805b 100644
--- a/science/gungho/source/orography/surface_altitude_alg_mod.x90
+++ b/science/gungho/source/orography/surface_altitude_alg_mod.x90
@@ -9,293 +9,42 @@
module surface_altitude_alg_mod
! Derived Types
- use constants_mod, only: r_def, i_def, l_def, EPS
- use field_mod, only: field_type
- use field_collection_mod, only: field_collection_type
- use fs_continuity_mod, only: W0, W1, W2, W3
- use function_space_collection_mod, only: function_space_collection
- use function_space_mod, only: function_space_type
- use integer_field_mod, only: integer_field_type
- use log_mod, only: log_event, LOG_LEVEL_ERROR, &
- LOG_LEVEL_WARNING
- use mesh_mod, only: mesh_type
- use operator_mod, only: operator_type
- use orography_config_mod, only: w0_method, &
- w0_method_average, &
- w0_method_project, &
- w0_method_spectral
- use quadrature_xyoz_mod, only: quadrature_xyoz_type
- use quadrature_rule_gaussian_mod, only: quadrature_rule_gaussian_type
- use solver_config_mod, only: monitor_convergence, &
- fail_on_non_converged, &
- tolerance, &
- maximum_iterations, &
- gcrk
- use sci_field_vector_mod, only: field_vector_type
- use sci_iterative_solver_mod, only: abstract_iterative_solver_type, &
- gmres_type
- use sci_mass_matrix_operator_alg_mod, only: mass_matrix_operator_type
- use sci_null_preconditioner_alg_mod, only: null_preconditioner_type
- use sci_preconditioner_mod, only: abstract_preconditioner_type
- use transport_constants_mod, only: get_panel_edge_dist
-
+ use field_mod, only: field_type
+ use field_collection_mod, only: field_collection_type
+ use constants_mod, only: r_def
implicit none
contains
- !> @brief Construct a w0 surface_altitude field from input w3 field
+ !> @brief Construct a w0 surface_altitude field from in put w3 field
!> @details The surface_altitude_w0 field is constructed using
!> average_w3_to_w0 with weights set to be the w0 multiplicity
!> @param[in,out] surface_altitude_w0 Surface altitude on W0
!> @param[in] surface_altitude_w3 Surface altitude on W3
- !> @param[in] chi Array of coordinate fields, before they
- !! have been adjusted to take into account
- !! the orography
- !> @param[in] panel_id Field containing the mesh panel ID
- subroutine surface_altitude_alg(surface_altitude_w0, surface_altitude_w3, &
- chi, panel_id)
+ subroutine surface_altitude_alg(surface_altitude_w0, surface_altitude_w3)
- use sci_average_w3_to_w0_kernel_mod, only: average_w3_to_w0_kernel_type
- use sci_multiplicity_kernel_mod, only: multiplicity_kernel_type
- use sci_compute_mass_matrix_kernel_w_scalar_mod, &
- only: compute_mass_matrix_kernel_w_scalar_type
- use sci_mass_matrix_scalarvec_kernel_mod, &
- only: mass_matrix_scalarvec_kernel_type
- use sci_gp_rhs_kernel_mod, only: gp_rhs_kernel_type
- use sci_gp_scalarvec_rhs_kernel_mod, only: gp_scalarvec_rhs_kernel_type
- use w0_orography_combine_kernel_mod, &
- only: w0_orography_combine_kernel_type
+ use sci_average_w3_to_w0_kernel_mod, only : average_w3_to_w0_kernel_type
+ use sci_multiplicity_kernel_mod, only : multiplicity_kernel_type
implicit none
- type(field_type), intent(inout) :: surface_altitude_w0
- type(field_type), intent(in) :: surface_altitude_w3
- type(field_type), intent(in) :: chi(:)
- type(field_type), intent(in) :: panel_id
+ type( field_type ), intent(inout) :: surface_altitude_w0
+ type( field_type ), intent(in) :: surface_altitude_w3
! local variables
- class(abstract_preconditioner_type), allocatable :: preconditioner
- class(abstract_iterative_solver_type), allocatable :: solver
-
- type(field_vector_type) :: vec_x, vec_y
- type(field_type) :: multiplicity_w0
- type(field_type) :: surface_altitude_w0_avg
- type(field_type) :: surface_altitude_w0_k0
- type(field_type) :: surface_altitude_w1_k0
- type(field_type) :: dummy_w2_k0
- type(field_type) :: projection_rhs
- type(field_type) :: projection_rhs_w0
- type(field_type) :: projection_rhs_w1
- type(operator_type), target :: projection_lhs
- type(operator_type), target :: projection_lhs_w0
- type(operator_type), target :: projection_lhs_w1
- type(mass_matrix_operator_type) :: projection_lhs_operator
- type(mass_matrix_operator_type) :: projection_lhs_operator_w0
- type(mass_matrix_operator_type) :: projection_lhs_operator_w1
- type(mesh_type), pointer :: mesh
- type(function_space_type), pointer :: w0_fs, w0_k0_fs
- type(function_space_type), pointer :: w1_k0_fs, w2_k0_fs
- integer(kind=i_def) :: element_order_h, element_order_v
- type(quadrature_xyoz_type) :: qr
- type(quadrature_rule_gaussian_type) :: gaussian_quadrature
-
- real(kind=r_def), parameter :: solver_a_tol = 10.0_r_def*TINY(1.0_r_def)
- logical(kind=l_def), parameter :: extended_mesh = .false.
-
- w0_fs => surface_altitude_w0%get_function_space()
- call surface_altitude_w0_avg%initialise(w0_fs)
- call multiplicity_w0%initialise(w0_fs)
-
- element_order_h = surface_altitude_w0%get_element_order_h()
- element_order_v = surface_altitude_w0%get_element_order_v()
-
- ! For all methods, need to average surface altitude from W3 to W0 points
- ! This requires the multiplicity field at W0, so compute that here
- call invoke( setval_c(surface_altitude_w0_avg, 0.0_r_def), &
- setval_c(multiplicity_w0, 0.0_r_def), &
- multiplicity_kernel_type(multiplicity_w0), &
- average_w3_to_w0_kernel_type(surface_altitude_w0_avg, &
- surface_altitude_w3, &
- multiplicity_w0) )
-
- if (w0_method == w0_method_average) then
- ! Simply use the averaged field as the output
- call invoke( setval_X(surface_altitude_w0, surface_altitude_w0_avg) )
-
- else if (w0_method == w0_method_project &
- .or. element_order_h /= 1 .or. element_order_v /= 1) then
- ! W0 field is obtained from W3 field by solving a matrix-vector problem
- ! Much of the code for these methods is the same, so handled together here
- call projection_rhs%initialise(w0_fs)
- call projection_lhs%initialise(w0_fs, w0_fs)
-
- mesh => surface_altitude_w0%get_mesh()
-
- ! Check the input orography order is 2 (quadratic coordinates)
- if (w0_method == w0_method_spectral) then
- call log_event( &
- 'surface_altitude_alg: Spectral projection method only ' // &
- 'implemented for orography order 2, dropping to project ' // &
- 'method for mesh: ' // trim(mesh%get_mesh_name()), &
- LOG_LEVEL_WARNING &
- )
- end if
-
- ! Both projection methods are very similar, and use the same kernels
- ! Assemble LHS matrix and RHS vector for matrix-vector problem
- element_order_h = surface_altitude_w0%get_element_order_h()
- element_order_v = surface_altitude_w0%get_element_order_v()
- qr = quadrature_xyoz_type( &
- element_order_h+2, element_order_h+2, element_order_v+2, &
- gaussian_quadrature &
- )
- call invoke( &
- setval_c(projection_rhs, 0.0_r_def), &
- gp_rhs_kernel_type( &
- projection_rhs, surface_altitude_w3, chi, panel_id, qr &
- ), &
- compute_mass_matrix_kernel_w_scalar_type( &
- projection_lhs, chi, panel_id, extended_mesh, qr &
- ), &
- setval_c(surface_altitude_w0, 0.0_r_def) &
- )
-
- ! Solve matrix-vector problems -------------------------------------------
- ! Create mass matrix operator for LHS
- projection_lhs_operator = mass_matrix_operator_type( &
- projection_lhs, .false. &
- )
-
- ! Set up solver for problem
- allocate(null_preconditioner_type :: preconditioner)
- allocate(gmres_type :: solver)
-
- preconditioner = null_preconditioner_type()
- solver = gmres_type( &
- projection_lhs_operator, preconditioner, gcrk, tolerance, &
- solver_a_tol, maximum_iterations, monitor_convergence, &
- fail_on_non_converged &
- )
-
- ! Turn fields into field_vector types
- vec_x = field_vector_type(1)
- vec_y = field_vector_type(1)
- call vec_y%import_field(projection_rhs, 1)
- call vec_x%import_field(surface_altitude_w0, 1)
-
- ! Apply solver and export result back to surface_altitude_w0
- call solver%apply(vec_x, vec_y)
- call vec_x%export_field(surface_altitude_w0, 1)
-
- if (allocated(preconditioner)) deallocate(preconditioner)
- if (allocated(solver)) deallocate(solver)
-
- else if (w0_method == w0_method_spectral) then
- ! Project separately into lowest-order W0 and W1
- mesh => surface_altitude_w0%get_mesh()
- w0_k0_fs => function_space_collection%get_fs(mesh, 0, 0, W0)
- w1_k0_fs => function_space_collection%get_fs(mesh, 0, 0, W1)
- w2_k0_fs => function_space_collection%get_fs(mesh, 0, 0, W2)
-
- call surface_altitude_w0_k0%initialise(w0_k0_fs)
- call surface_altitude_w1_k0%initialise(w1_k0_fs)
- call dummy_w2_k0%initialise(w2_k0_fs)
- call projection_rhs_w0%initialise(w0_k0_fs)
- call projection_lhs_w0%initialise(w0_k0_fs, w0_k0_fs)
- call projection_rhs_w1%initialise(w1_k0_fs)
- call projection_lhs_w1%initialise(w1_k0_fs, w1_k0_fs)
-
- ! Both projection methods are very similar, and use the same kernels
- ! Assemble LHS matrix and RHS vector for matrix-vector problem
- qr = quadrature_xyoz_type(3, 3, 3, gaussian_quadrature)
- call invoke( &
- setval_c(projection_rhs_w0, 0.0_r_def), &
- setval_c(projection_rhs_w1, 0.0_r_def), &
- gp_rhs_kernel_type( &
- projection_rhs_w0, surface_altitude_w3, chi, panel_id, qr &
- ), &
- compute_mass_matrix_kernel_w_scalar_type( &
- projection_lhs_w0, chi, panel_id, extended_mesh, qr &
- ), &
- gp_scalarvec_rhs_kernel_type( &
- projection_rhs_w1, surface_altitude_w3, chi, panel_id, qr &
- ), &
- mass_matrix_scalarvec_kernel_type( &
- projection_lhs_w1, chi, panel_id, qr &
- ), &
- setval_c(surface_altitude_w0_k0, 0.0_r_def), &
- setval_c(surface_altitude_w1_k0, 0.0_r_def) )
-
- ! Solve matrix-vector problems -------------------------------------------
- ! Create mass matrix operator for LHS
- projection_lhs_operator_w0 = mass_matrix_operator_type( &
- projection_lhs_w0, .false. &
- )
- projection_lhs_operator_w1 = mass_matrix_operator_type( &
- projection_lhs_w1, .false. &
- )
-
- ! Set up solver for problem
- allocate(null_preconditioner_type :: preconditioner)
- allocate(gmres_type :: solver)
-
- preconditioner = null_preconditioner_type()
- solver = gmres_type( &
- projection_lhs_operator_w0, preconditioner, gcrk, tolerance, &
- solver_a_tol, maximum_iterations, monitor_convergence, &
- fail_on_non_converged &
- )
-
- ! Turn fields into field_vector types
- vec_x = field_vector_type(1)
- vec_y = field_vector_type(1)
- call vec_y%import_field(projection_rhs_w0, 1)
- call vec_x%import_field(surface_altitude_w0_k0, 1)
-
- ! Apply solver and export result back to surface_altitude_w0
- call solver%apply(vec_x, vec_y)
- call vec_x%export_field(surface_altitude_w0_k0, 1)
-
- if (allocated(solver)) deallocate(solver)
- allocate(gmres_type :: solver)
-
- preconditioner = null_preconditioner_type()
- solver = gmres_type( &
- projection_lhs_operator_w1, preconditioner, gcrk, tolerance, &
- solver_a_tol, maximum_iterations, monitor_convergence, &
- fail_on_non_converged &
- )
-
- ! Turn fields into field_vector types
- vec_x = field_vector_type(1)
- vec_y = field_vector_type(1)
- call vec_y%import_field(projection_rhs_w1, 1)
- call vec_x%import_field(surface_altitude_w1_k0, 1)
-
- ! Apply solver and export result back to surface_altitude_w1
- call solver%apply(vec_x, vec_y)
- call vec_x%export_field(surface_altitude_w1_k0, 1)
-
- if (allocated(preconditioner)) deallocate(preconditioner)
- if (allocated(solver)) deallocate(solver)
-
- ! Combine the two projected fields into the final W0 field
- call invoke( &
- setval_c(surface_altitude_w0, 0.0_r_def), &
- w0_orography_combine_kernel_type( &
- surface_altitude_w0, surface_altitude_w0_k0, &
- surface_altitude_w1_k0, dummy_w2_k0, surface_altitude_w3, &
- surface_altitude_w0_avg &
- ) &
- )
-
- else
- call log_event( &
- 'surface_altitude_alg: Unknown w0_method option', &
- LOG_LEVEL_ERROR &
- )
- end if
+ type( field_type ) :: multiplicity_w0
+
+ ! Create the multiplicity field from surface_altitude_w0 template
+ call surface_altitude_w0%copy_field_properties(multiplicity_w0)
+
+ !Invoke kernels
+ call invoke(setval_c( surface_altitude_w0, 0.0_r_def ), &
+ setval_c( multiplicity_w0, 0.0_r_def ), &
+ multiplicity_kernel_type( multiplicity_w0 ), &
+ average_w3_to_w0_kernel_type( surface_altitude_w0, &
+ surface_altitude_w3, &
+ multiplicity_w0 ) )
end subroutine surface_altitude_alg
From 9f92412157ebfe272e985ba7362fce593029b5b7 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Mon, 26 Jan 2026 15:08:38 +0000
Subject: [PATCH 24/29] roll out namelist changes to example nml files
---
applications/adjoint_tests/example/configuration.nml | 7 ++++---
applications/gungho_model/example/configuration.nml | 7 ++++---
applications/jedi_lfric_tests/example/configuration.nml | 7 ++++---
.../jedi_lfric_tests/example_forecast/configuration.nml | 7 ++++---
.../example_id_tlm_tests/configuration.nml | 7 ++++---
.../example_tlm_forecast_tl/configuration.nml | 7 ++++---
.../example_tlm_forecast_tl/configuration_op.nml | 7 ++++---
.../jedi_lfric_tests/example_tlm_tests/configuration.nml | 7 ++++---
.../example_tlm_tests/configuration_dry.nml | 7 ++++---
.../example_tlm_tests/configuration_dry_relaxed.nml | 7 ++++---
applications/jules/example/configuration.nml | 7 ++++---
applications/lfric_atm/example/configuration.nml | 7 ++++---
applications/linear_model/example/configuration.nml | 6 ++++--
applications/linear_model/example_file/config_linear.nml | 6 ++++--
.../linear_model/example_file/config_nonlinear.nml | 6 ++++--
applications/ngarch/example/configuration_bl.nml | 7 ++++---
applications/ngarch/example/configuration_casim.nml | 7 ++++---
rose-stem/app/gungho_model/rose-app.conf | 3 ++-
rose-stem/app/jedi_tlm_tests/rose-app.conf | 3 ++-
rose-stem/app/lfric_atm/rose-app.conf | 3 ++-
rose-stem/app/linear_model/rose-app.conf | 3 ++-
21 files changed, 76 insertions(+), 52 deletions(-)
diff --git a/applications/adjoint_tests/example/configuration.nml b/applications/adjoint_tests/example/configuration.nml
index 19260dfbf..39e2b4178 100644
--- a/applications/adjoint_tests/example/configuration.nml
+++ b/applications/adjoint_tests/example/configuration.nml
@@ -53,7 +53,7 @@ start_dump_filename='',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wchi',
coord_system='native',
@@ -122,9 +122,7 @@ init_option='analytic',
lbc_option='none',
ls_option='analytic',
model_eos_height=100,
-n_orog_smooth=0,
read_w2h_wind=.false.,
-w0_orography_mapping=.false.,
zero_w2v_wind=.false.,
/
&initial_density
@@ -214,6 +212,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='ancil',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/applications/gungho_model/example/configuration.nml b/applications/gungho_model/example/configuration.nml
index a9f920a1e..6b276592e 100644
--- a/applications/gungho_model/example/configuration.nml
+++ b/applications/gungho_model/example/configuration.nml
@@ -47,7 +47,7 @@ start_dump_filename='',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wtheta',
coord_system='native',
@@ -115,11 +115,9 @@ coarse_ozone_ancil=.false.,
init_option='analytic',
lbc_option='none',
ls_option='none',
-n_orog_smooth=0,
read_w2h_wind=.false.,
sea_ice_source='ancillary',
snow_source='start_dump',
-w0_orography_mapping=.false.,
zero_w2v_wind=.false.,
/
&initial_density
@@ -213,6 +211,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='none',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/applications/jedi_lfric_tests/example/configuration.nml b/applications/jedi_lfric_tests/example/configuration.nml
index e83ff167b..dbf340812 100644
--- a/applications/jedi_lfric_tests/example/configuration.nml
+++ b/applications/jedi_lfric_tests/example/configuration.nml
@@ -67,7 +67,7 @@ start_dump_filename='final_pert',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_system='native',
coord_order_multigrid=1,
coord_space='Wchi',
@@ -136,11 +136,9 @@ init_option='fd_start_dump',
lbc_option='none',
ls_option='file',
model_eos_height=100,
-n_orog_smooth=0,
read_w2h_wind=.true.,
sea_ice_source='ancillary',
snow_source='start_dump',
-w0_orography_mapping=.false.,
zero_w2v_wind=.false.,
/
&initial_density
@@ -231,6 +229,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='ancil',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/applications/jedi_lfric_tests/example_forecast/configuration.nml b/applications/jedi_lfric_tests/example_forecast/configuration.nml
index fdf56e773..2b2334a42 100644
--- a/applications/jedi_lfric_tests/example_forecast/configuration.nml
+++ b/applications/jedi_lfric_tests/example_forecast/configuration.nml
@@ -75,7 +75,7 @@ start_dump_filename='',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wchi',
coord_system='native',
@@ -146,11 +146,9 @@ coarse_ozone_ancil=.false.,
init_option='analytic',
lbc_option='none',
ls_option='none',
-n_orog_smooth=0,
read_w2h_wind=.false.,
sea_ice_source='ancillary',
snow_source='start_dump',
-w0_orography_mapping=.false.,
zero_w2v_wind=.false.,
/
&initial_density
@@ -234,6 +232,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='none',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/applications/jedi_lfric_tests/example_id_tlm_tests/configuration.nml b/applications/jedi_lfric_tests/example_id_tlm_tests/configuration.nml
index 4e2e01597..4c6aaa8c7 100644
--- a/applications/jedi_lfric_tests/example_id_tlm_tests/configuration.nml
+++ b/applications/jedi_lfric_tests/example_id_tlm_tests/configuration.nml
@@ -105,7 +105,7 @@ start_dump_filename='',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wchi',
coord_system='native',
@@ -177,11 +177,9 @@ init_option='analytic',
lbc_option='none',
ls_option='analytic',
model_eos_height=100,
-n_orog_smooth=0,
read_w2h_wind=.true.,
sea_ice_source='ancillary',
snow_source='start_dump',
-w0_orography_mapping=.false.,
zero_w2v_wind=.false.,
/
&initial_density
@@ -272,6 +270,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='ancil',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration.nml b/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration.nml
index 5fdfff10e..126e9ebfc 100644
--- a/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration.nml
+++ b/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration.nml
@@ -105,7 +105,7 @@ start_dump_filename='',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wchi',
coord_system='native',
@@ -177,11 +177,9 @@ init_option='analytic',
lbc_option='none',
ls_option='analytic',
model_eos_height=100,
-n_orog_smooth=0,
read_w2h_wind=.true.,
sea_ice_source='ancillary',
snow_source='start_dump',
-w0_orography_mapping=.false.,
zero_w2v_wind=.false.,
/
&initial_density
@@ -272,6 +270,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='ancil',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration_op.nml b/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration_op.nml
index 49ecc15ed..a4a753d3d 100644
--- a/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration_op.nml
+++ b/applications/jedi_lfric_tests/example_tlm_forecast_tl/configuration_op.nml
@@ -105,7 +105,7 @@ start_dump_filename='',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wchi',
coord_system='native',
@@ -174,11 +174,9 @@ init_option='analytic',
lbc_option='none',
ls_option='analytic',
model_eos_height=100,
-n_orog_smooth=0,
read_w2h_wind=.true.,
sea_ice_source='ancillary',
snow_source='start_dump',
-w0_orography_mapping=.false.,
zero_w2v_wind=.false.,
/
&initial_density
@@ -268,6 +266,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='ancil',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/applications/jedi_lfric_tests/example_tlm_tests/configuration.nml b/applications/jedi_lfric_tests/example_tlm_tests/configuration.nml
index fe7d6a8a7..61be5babb 100644
--- a/applications/jedi_lfric_tests/example_tlm_tests/configuration.nml
+++ b/applications/jedi_lfric_tests/example_tlm_tests/configuration.nml
@@ -106,7 +106,7 @@ start_dump_filename='',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wchi',
coord_system='native',
@@ -178,11 +178,9 @@ init_option='analytic',
lbc_option='none',
ls_option='analytic',
model_eos_height=100,
-n_orog_smooth=0,
read_w2h_wind=.true.,
sea_ice_source='ancillary',
snow_source='start_dump',
-w0_orography_mapping=.false.,
zero_w2v_wind=.false.,
/
&initial_density
@@ -273,6 +271,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='ancil',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry.nml b/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry.nml
index f802be2ec..27e400729 100644
--- a/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry.nml
+++ b/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry.nml
@@ -105,7 +105,7 @@ start_dump_filename='',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wchi',
coord_system='native',
@@ -176,11 +176,9 @@ init_option='analytic',
lbc_option='none',
ls_option='analytic',
model_eos_height=100,
-n_orog_smooth=0,
read_w2h_wind=.true.,
sea_ice_source='ancillary',
snow_source='start_dump',
-w0_orography_mapping=.false.,
zero_w2v_wind=.false.,
/
&initial_density
@@ -271,6 +269,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='ancil',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry_relaxed.nml b/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry_relaxed.nml
index 09f983d90..66cf139f3 100644
--- a/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry_relaxed.nml
+++ b/applications/jedi_lfric_tests/example_tlm_tests/configuration_dry_relaxed.nml
@@ -103,7 +103,7 @@ start_dump_filename='',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wchi',
coord_system='native',
@@ -172,11 +172,9 @@ init_option='analytic',
lbc_option='none',
ls_option='analytic',
model_eos_height=100,
-n_orog_smooth=0,
read_w2h_wind=.true.,
sea_ice_source='ancillary',
snow_source='start_dump',
-w0_orography_mapping=.false.,
zero_w2v_wind=.false.,
/
&initial_density
@@ -266,6 +264,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='ancil',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/applications/jules/example/configuration.nml b/applications/jules/example/configuration.nml
index 862cf4c0b..399b4cc02 100644
--- a/applications/jules/example/configuration.nml
+++ b/applications/jules/example/configuration.nml
@@ -45,7 +45,7 @@ start_dump_filename='',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wchi',
coord_system='native',
@@ -114,11 +114,9 @@ coarse_ozone_ancil=.false.,
init_option='analytic',
lbc_option='none',
ls_option='none',
-n_orog_smooth=0,
read_w2h_wind=.false.,
sea_ice_source='ancillary',
snow_source='start_dump',
-w0_orography_mapping=.false.,
zero_w2v_wind=.false.,
/
&initial_pressure
@@ -349,6 +347,9 @@ split_w=.true.,
/
&orography
orog_init_option='none',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
generate_inner_halos=.false.,
diff --git a/applications/lfric_atm/example/configuration.nml b/applications/lfric_atm/example/configuration.nml
index d4ed1438d..f4428c3f7 100644
--- a/applications/lfric_atm/example/configuration.nml
+++ b/applications/lfric_atm/example/configuration.nml
@@ -146,7 +146,7 @@ start_dump_filename='',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wchi',
coord_system='native',
@@ -214,9 +214,7 @@ coarse_orography_ancil=.false.,
init_option='analytic',
lbc_option='none',
ls_option='none',
-n_orog_smooth=0,
read_w2h_wind=.false.,
-w0_orography_mapping=.false.,
zero_w2v_wind=.false.,
/
&initial_density
@@ -493,6 +491,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='none',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/applications/linear_model/example/configuration.nml b/applications/linear_model/example/configuration.nml
index e20716692..cc8a5045c 100644
--- a/applications/linear_model/example/configuration.nml
+++ b/applications/linear_model/example/configuration.nml
@@ -47,7 +47,7 @@ ls_filename='',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wchi',
coord_system='native',
@@ -95,7 +95,6 @@ ancil_option='none',
init_option='analytic',
lbc_option='none',
ls_option='analytic',
-n_orog_smooth=0,
read_w2h_wind=.false.,
zero_w2v_wind=.false.,
/
@@ -185,6 +184,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='none',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/applications/linear_model/example_file/config_linear.nml b/applications/linear_model/example_file/config_linear.nml
index 438da326a..066de5c17 100644
--- a/applications/linear_model/example_file/config_linear.nml
+++ b/applications/linear_model/example_file/config_linear.nml
@@ -44,7 +44,7 @@ ls_filename='ls',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wchi',
coord_system='native',
@@ -91,7 +91,6 @@ ancil_option='none',
init_option='analytic',
lbc_option='none',
ls_option='file',
-n_orog_smooth=0,
read_w2h_wind=.false.,
coarse_aerosol_ancil=.false.
zero_w2v_wind=.false.,
@@ -181,6 +180,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='none',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/applications/linear_model/example_file/config_nonlinear.nml b/applications/linear_model/example_file/config_nonlinear.nml
index 4c7a32ede..ec3774523 100644
--- a/applications/linear_model/example_file/config_nonlinear.nml
+++ b/applications/linear_model/example_file/config_nonlinear.nml
@@ -42,7 +42,7 @@ start_dump_filename='',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wchi',
coord_system='native',
@@ -89,7 +89,6 @@ ancil_option='none',
init_option='analytic',
lbc_option='none',
ls_option='analytic',
-n_orog_smooth=0,
read_w2h_wind=.false.
coarse_aerosol_ancil=.false.
zero_w2v_wind=.false.,
@@ -175,6 +174,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='none',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/applications/ngarch/example/configuration_bl.nml b/applications/ngarch/example/configuration_bl.nml
index bdc1cea37..c2087df19 100644
--- a/applications/ngarch/example/configuration_bl.nml
+++ b/applications/ngarch/example/configuration_bl.nml
@@ -115,7 +115,7 @@ surface_frac_ancil_path='vegetation/fractions_cci/qrparm.veg.frac.fixed',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wchi',
coord_system='native',
@@ -184,12 +184,10 @@ init_option='fd_start_dump',
lbc_option='none',
ls_option='none',
model_eos_height=100,
-n_orog_smooth=0,
read_w2h_wind=.false.,
sea_ice_source='ancillary',
snow_source='start_dump',
sst_source='ancillary',
-w0_orography_mapping=.false.,
zero_w2v_wind=.true.,
/
&initial_density
@@ -383,6 +381,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='none',
+orography_order=2,
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/applications/ngarch/example/configuration_casim.nml b/applications/ngarch/example/configuration_casim.nml
index d41f21910..0bf8779b4 100644
--- a/applications/ngarch/example/configuration_casim.nml
+++ b/applications/ngarch/example/configuration_casim.nml
@@ -159,7 +159,7 @@ surface_frac_ancil_path='vegetation/fractions_cci/qrparm.veg.frac.fixed',
/
&finite_element
cellshape='quadrilateral',
-coord_order=1,
+coord_order=2,
coord_order_multigrid=1,
coord_space='Wchi',
coord_system='native',
@@ -228,12 +228,10 @@ init_option='fd_start_dump',
lbc_option='none',
ls_option='none',
model_eos_height=100,
-n_orog_smooth=0,
read_w2h_wind=.false.,
sea_ice_source='ancillary',
snow_source='start_dump',
sst_source='ancillary',
-w0_orography_mapping=.false.,
zero_w2v_wind=.true.,
/
&initial_density
@@ -443,6 +441,9 @@ l_esm_couple_test=.false.,
/
&orography
orog_init_option='none',
+orography_order=2
+n_orog_smooth=0,
+w0_multigrid_mapping=.true.
/
&partitioning
panel_decomposition='auto',
diff --git a/rose-stem/app/gungho_model/rose-app.conf b/rose-stem/app/gungho_model/rose-app.conf
index d304f7f2b..92ec2a2f1 100644
--- a/rose-stem/app/gungho_model/rose-app.conf
+++ b/rose-stem/app/gungho_model/rose-app.conf
@@ -389,7 +389,7 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
-coord_order=1
+coord_order=2
coord_order_multigrid=1
coord_space='Wtheta'
coord_system='native'
@@ -817,6 +817,7 @@ vertical_smoothing=.true.
[namelist:orography]
orog_init_option='none'
+orography_order=2
!!profile='none'
[!!namelist:orography_agnesi_cartesian]
diff --git a/rose-stem/app/jedi_tlm_tests/rose-app.conf b/rose-stem/app/jedi_tlm_tests/rose-app.conf
index e8c978dd8..803c352f7 100644
--- a/rose-stem/app/jedi_tlm_tests/rose-app.conf
+++ b/rose-stem/app/jedi_tlm_tests/rose-app.conf
@@ -395,7 +395,7 @@ start_dump_filename=''
[namelist:finite_element]
cellshape='quadrilateral'
-coord_order=1
+coord_order=2
coord_order_multigrid=1
coord_space='Wchi'
coord_system='native'
@@ -862,6 +862,7 @@ vertical_smoothing=.true.
[namelist:orography]
orog_init_option='ancil'
+orography_order=2
!!profile='none'
[!!namelist:orography_agnesi_cartesian]
diff --git a/rose-stem/app/lfric_atm/rose-app.conf b/rose-stem/app/lfric_atm/rose-app.conf
index 7c5820306..7b8b946bf 100644
--- a/rose-stem/app/lfric_atm/rose-app.conf
+++ b/rose-stem/app/lfric_atm/rose-app.conf
@@ -414,7 +414,7 @@ surface_frac_ancil_path='vegetation/fractions_cci/qrparm.veg.frac.fixed'
[namelist:finite_element]
cellshape='quadrilateral'
-coord_order=1
+coord_order=2
coord_order_multigrid=1
coord_space='Wtheta'
coord_system='native'
@@ -848,6 +848,7 @@ vertical_smoothing=.true.
[namelist:orography]
orog_init_option='ancil'
+orography_order=2
!!profile='none'
[!!namelist:orography_agnesi_cartesian]
diff --git a/rose-stem/app/linear_model/rose-app.conf b/rose-stem/app/linear_model/rose-app.conf
index 3a84e801f..26e807178 100644
--- a/rose-stem/app/linear_model/rose-app.conf
+++ b/rose-stem/app/linear_model/rose-app.conf
@@ -399,7 +399,7 @@ start_dump_filename='final_2021060200-2021060207.pert'
[namelist:finite_element]
cellshape='quadrilateral'
-coord_order=1
+coord_order=2
coord_order_multigrid=1
coord_space='Wtheta'
coord_system='native'
@@ -841,6 +841,7 @@ vertical_smoothing=.true.
[namelist:orography]
orog_init_option='ancil'
+orography_order=2
!!profile='none'
[!!namelist:orography_agnesi_cartesian]
From 27e9ce823c9631c939f3f0baaf8992cc91f734cd Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Mon, 26 Jan 2026 17:47:44 +0000
Subject: [PATCH 25/29] alignment
---
.../lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90 b/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90
index 744176645..d1b282198 100644
--- a/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90
+++ b/applications/lfric2lfric/source/initialisation/lfric2lfric_init_mesh.f90
@@ -186,7 +186,7 @@ subroutine init_mesh( configuration, &
! Stencil depths specified per mesh
stencil_depths(:) = stencil_depths_in(:)
else
- write(log_scratch_space, '(A)') &
+ write(log_scratch_space, '(A)') &
'Number of stencil depths specified does not '// &
'match number of requested meshes.'
call log_event(log_scratch_space, log_level_error)
From 7ade22a5f20e319e2a26e5b2277b06682cff6d51 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Tue, 27 Jan 2026 15:48:28 +0000
Subject: [PATCH 26/29] test tweak
---
rose-stem/app/lfric_atm/opt/rose-app-hd209458b.conf | 3 +++
1 file changed, 3 insertions(+)
diff --git a/rose-stem/app/lfric_atm/opt/rose-app-hd209458b.conf b/rose-stem/app/lfric_atm/opt/rose-app-hd209458b.conf
index e05601b1a..7879e5ef4 100644
--- a/rose-stem/app/lfric_atm/opt/rose-app-hd209458b.conf
+++ b/rose-stem/app/lfric_atm/opt/rose-app-hd209458b.conf
@@ -78,6 +78,9 @@ start_dump_directory=''
start_dump_filename=''
!!surface_frac_ancil_path=''
+[namelist:finite_element]
+coord_space='Wchi'
+
[namelist:formulation]
moisture_formulation='dry'
shallow=.false.
From 9d770bfe684ef36f9ffe9969e70d0305aa9310e1 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Tue, 27 Jan 2026 16:54:33 +0000
Subject: [PATCH 27/29] fix change to argument list
---
science/gungho/source/orography/setup_orography_alg_mod.x90 | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/science/gungho/source/orography/setup_orography_alg_mod.x90 b/science/gungho/source/orography/setup_orography_alg_mod.x90
index 71b64dfb8..4424e0035 100644
--- a/science/gungho/source/orography/setup_orography_alg_mod.x90
+++ b/science/gungho/source/orography/setup_orography_alg_mod.x90
@@ -151,7 +151,7 @@ contains
call panel_id_inventory%get_field(source_mesh, panel_id)
! Compute surface altitude in W0 space
- call surface_altitude_alg(surf_alt_w0, surf_alt_w3, chi, panel_id)
+ call surface_altitude_alg(surf_alt_w0, surf_alt_w3)
call log_field_minmax(LOG_LEVEL_INFO, 'srf_alt_w3', surf_alt_w3)
call log_field_minmax(LOG_LEVEL_INFO, 'srf_alt_w0', surf_alt_w0)
@@ -274,9 +274,7 @@ contains
call panel_id_inventory%get_field(target_mesh, panel_id)
! Compute surface altitude in W0 space
- call surface_altitude_alg( &
- surf_alt_w0, surf_alt_list(i+1), chi, panel_id &
- )
+ call surface_altitude_alg(surf_alt_w0, surf_alt_list(i+1))
surf_alt_w0_ptr => surf_alt_w0
end if
From e9c11a9561033d07968fef834ae48934b9af3866 Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Tue, 27 Jan 2026 17:33:42 +0000
Subject: [PATCH 28/29] copy over KGOs
---
...-4000x2000_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...5x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...nic-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...t1-C24s_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...-C24_MG_op_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...MG_azspice_gnu_fast-debug-64bit-rtran32.txt | 6 +++---
...ert-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...10-100x100_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...200-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...rog-C48_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...301-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...ter-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...ike-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...x4-600x400_azspice_gnu_fast-debug-64bit.txt | 4 ++--
...x4-600x400_azspice_gnu_fast-debug-64bit.txt | 2 +-
...rez-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...ain-C48_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...x4-600x400_azspice_gnu_fast-debug-64bit.txt | 2 +-
...mip301-C24_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...00x8-10x10_azspice_gnu_fast-debug-64bit.txt | 8 ++++----
...linear-C12_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...-C24_MG_op_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...MG_azspice_gnu_fast-debug-64bit-rtran32.txt | 6 +++---
...n96_MG_lam_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...lam_rotate_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...linear-C12_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...ter-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...-1000x2000_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...-4000x2000_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...-4000x2000_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...-4000x2000_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...x8-200x200_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...x4-200x200_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...-200x50_op_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...00_azspice_gnu_fast-debug-64bit-rtran32.txt | 6 +++---
...rth-C24_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...24s_rot_MG_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...clinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...lt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...c-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...c-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...00x10-100x100_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...mip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...alorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...mip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...upiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...h-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...iP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt | 4 ++--
...iP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt | 2 +-
...suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...-dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt | 4 ++--
...iP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt | 8 ++++----
...or-linear-C12_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...el_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...lt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt | 6 +++---
...am-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...or-linear-C12_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...upiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...0x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...5x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...5x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...5x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...256x8-200x200_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...256x4-200x200_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...256x8-200x200_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...h-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...p_gal9-C12_azspice_gnu_fast-debug-64bit.txt | 14 +++++++-------
...-kutta-C12_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...-kutta-C12_azspice_gnu_full-debug-64bit.txt | 6 +++---
..._nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt | 14 +++++++-------
...nge-kutta-C12_ex1a_cce_fast-debug-64bit.txt | 6 +++---
...m_gal9-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++++-------
...p_gal9-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++++-------
...p_gal9-C12_azspice_gnu_fast-debug-64bit.txt | 14 +++++++-------
..._debug-C12_azspice_gnu_full-debug-32bit.txt | 14 +++++++-------
..._short-C12_azspice_gnu_fast-debug-32bit.txt | 14 +++++++-------
...l3-seuk_MG_azspice_gnu_fast-debug-32bit.txt | 16 ++++++++--------
...ns-seuk_MG_azspice_gnu_fast-debug-32bit.txt | 16 ++++++++--------
...ol-seuk_MG_azspice_gnu_fast-debug-32bit.txt | 16 ++++++++--------
...00x1500_MG_azspice_gnu_fast-debug-32bit.txt | 12 ++++++------
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 10 +++++-----
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 14 +++++++-------
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 10 +++++-----
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 14 +++++++-------
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 10 +++++-----
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 4 ++--
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 12 ++++++------
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 12 ++++++------
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 8 ++++----
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 8 ++++----
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 8 ++++----
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 12 ++++++------
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 14 +++++++-------
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 4 ++--
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 6 +++---
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 4 ++--
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 18 +++++++++---------
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 8 ++++----
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 8 ++++----
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 8 ++++----
...0000x50000_azspice_gnu_fast-debug-32bit.txt | 14 +++++++-------
...clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
...m_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
...m_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
...9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
...9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
..._nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
..._nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt | 14 +++++++-------
...al9_debug-C12_ex1a_cce_full-debug-32bit.txt | 14 +++++++-------
...noukca_1T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
...noukca_2T-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
...al9_short-C12_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
..._ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt | 16 ++++++++--------
...3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt | 16 ++++++++--------
...ixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
...-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt | 12 ++++++------
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 12 ++++++------
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 12 ++++++------
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 10 +++++-----
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 4 ++--
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 10 +++++-----
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 12 ++++++------
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 8 ++++----
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 6 +++---
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 6 +++---
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 8 ++++----
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 2 +-
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 6 +++---
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 6 +++---
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 16 ++++++++--------
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 6 +++---
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 8 ++++----
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 6 +++---
...2-50000x50000_ex1a_cce_fast-debug-32bit.txt | 14 +++++++-------
...mip301-C24_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...al9-C12_MG_azspice_gnu_fast-debug-64bit.txt | 14 +++++++-------
...dom-C12_MG_azspice_gnu_fast-debug-64bit.txt | 14 +++++++-------
...-kutta-C12_azspice_gnu_fast-debug-64bit.txt | 6 +++---
...plicit-C12_azspice_gnu_fast-debug-64bit.txt | 6 +++---
..._dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...p_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt | 14 +++++++-------
...random-C12_MG_ex1a_gnu_fast-debug-64bit.txt | 14 +++++++-------
...nge-kutta-C12_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
...-implicit-C12_ex1a_gnu_fast-debug-64bit.txt | 6 +++---
154 files changed, 652 insertions(+), 652 deletions(-)
diff --git a/rose-stem/site/meto/kgos/gravity_wave/azspice/checksum_gravity_wave_p1_75x4-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gravity_wave/azspice/checksum_gravity_wave_p1_75x4-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
index 52295b673..324a0885a 100644
--- a/rose-stem/site/meto/kgos/gravity_wave/azspice/checksum_gravity_wave_p1_75x4-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gravity_wave/azspice/checksum_gravity_wave_p1_75x4-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum wind = 431C21CD1281DA57
-Inner product checksum buoyancy = 3F7E3A73FE5D1D2A
-Inner product checksum pressure = 40FE82E4EB45071F
+Inner product checksum wind = 431D59FE1EAB20AF
+Inner product checksum buoyancy = 3F7FAFC8E76B703A
+Inner product checksum pressure = 40FFCBE1892095D9
diff --git a/rose-stem/site/meto/kgos/gravity_wave/ex1a/checksum_gravity_wave_p1_75x4-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gravity_wave/ex1a/checksum_gravity_wave_p1_75x4-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
index bc5f9291e..6a07de1e2 100644
--- a/rose-stem/site/meto/kgos/gravity_wave/ex1a/checksum_gravity_wave_p1_75x4-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gravity_wave/ex1a/checksum_gravity_wave_p1_75x4-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum wind = 431C2E0AC8B4882C
-Inner product checksum buoyancy = 3F7E38ABC10C749A
-Inner product checksum pressure = 40FE85147E6AD44B
+Inner product checksum wind = 4318EA74A1DE384C
+Inner product checksum buoyancy = 3F7FA98E7A892EF0
+Inner product checksum pressure = 40FFD7B1ECEFBA1B
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt
index ed15aeac9..3718724a5 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2F2B2245068C4
-Inner product checksum theta = 4210411A34184A62
-Inner product checksum u = 4501AC43225AFA5F
+Inner product checksum rho = 40E2F2B22465EB30
+Inner product checksum theta = 4210411A3414C32C
+Inner product checksum u = 4501AC432369747E
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt
index 5261f6d11..4853513ce 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt1-C24s_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E31B4F4C4C4352
-Inner product checksum theta = 4210461DD9DFBC0E
-Inner product checksum u = 4500F85C6F41CB7C
+Inner product checksum rho = 40E31B5820CB8222
+Inner product checksum theta = 4210461EEF501FFA
+Inner product checksum u = 4500F55809AB31F4
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt
index b45739786..69226f773 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2EB31AECC1C98
-Inner product checksum theta = 42104262EDCDC3E8
-Inner product checksum u = 4501DA5CB7BD0252
+Inner product checksum rho = 40E2EB31AECEA369
+Inner product checksum theta = 42104262EDCBE114
+Inner product checksum u = 4501DA5CB4A207F5
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt
index e676eebb6..f0ee2958b 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2F3400BC14D95
-Inner product checksum theta = 421041C1E7E8D2BD
-Inner product checksum u = 4501D8747E74C7B5
+Inner product checksum rho = 40E2F341917908B2
+Inner product checksum theta = 421041C1BC04E6BB
+Inner product checksum u = 4501D8872A6E120E
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt
index b5448ea6b..b58ab555b 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_baroclinic-pert-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2E6107980F344
-Inner product checksum theta = 4210435EB2DDBBDC
-Inner product checksum u = 4501348CFD732549
+Inner product checksum rho = 40E2E6107980FD7B
+Inner product checksum theta = 4210435EB2DDA43E
+Inner product checksum u = 4501348CFD76A232
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt
index 095b27e30..4e5089372 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40FE89845A998DDE
-Inner product checksum theta = 4210F00A9EEFEDC3
-Inner product checksum u = 42EF4B7C9D68A0AE
+Inner product checksum rho = 40FE89845A99BD82
+Inner product checksum theta = 4210F00A9EEFEDC8
+Inner product checksum u = 42EF4B7C9D66E038
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt
index d6b559593..a6a33f3da 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E8EB38665833B8
-Inner product checksum theta = 4204E5A790659402
-Inner product checksum u = 43EAD34D5B72CEF2
+Inner product checksum rho = 40E8E802280ABD0B
+Inner product checksum theta = 4204E59A63CB78BC
+Inner product checksum u = 4391E522B2E5108B
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt
index 413da0a5b..98e7c99d7 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip200_realorog-C48_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41094CA3DDB86D6C
-Inner product checksum theta = 4224DF7F71A30AF2
-Inner product checksum u = 43C50351B9B97613
+Inner product checksum rho = 41094CA3DDB86DCA
+Inner product checksum theta = 4224DF7F71A30AE6
+Inner product checksum u = 43C50351B9886146
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt
index 98aa19a86..23643f501 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_dcmip301-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D3FF37BCAE74F6
-Inner product checksum theta = 41EC4ACBE79A839B
-Inner product checksum u = 44176CD1D18E1A32
+Inner product checksum rho = 40D3FF37BCAE744D
+Inner product checksum theta = 41EC4ACBE79A8254
+Inner product checksum u = 44176CD1D18E2234
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt
index 39180dde6..da9c002c7 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_deep-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40EEEF2D423E47A7
-Inner product checksum theta = 42E4D05A8BCEE810
-Inner product checksum u = 475B46A9C47FC310
+Inner product checksum rho = 40EEEF2D423E4799
+Inner product checksum theta = 42E4D05A8BCEE601
+Inner product checksum u = 475B46A9C47FADDC
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt
index 717f74cc2..4dff8737f 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_earth-like-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D56C9DA881418D
-Inner product checksum theta = 42198C1651D137C2
-Inner product checksum u = 44E3A671E31AF2AC
+Inner product checksum rho = 40D56C9EE61BBC13
+Inner product checksum theta = 42198C1850B2D9D2
+Inner product checksum u = 44E3B95E1E4D01E8
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_force_profile-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_force_profile-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
index ec3a66a74..c449dcda9 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_force_profile-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_force_profile-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
@@ -1,5 +1,5 @@
-Inner product checksum rho = 4077C537B568F9AB
-Inner product checksum theta = 41C2D5A8F93169A4
+Inner product checksum rho = 4077C537B568F9A7
+Inner product checksum theta = 41C2D5A8F93169AA
Inner product checksum u = 4411D03665CDC4B7
Inner product checksum mr1 = 41E28A1800000000
Inner product checksum mr2 = 0
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_geostrophic-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_geostrophic-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
index 3f3ff54de..3524cf4a2 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_geostrophic-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_geostrophic-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
@@ -1,4 +1,4 @@
-Inner product checksum rho = 4077C537B568F9AB
+Inner product checksum rho = 4077C537B568F9A7
Inner product checksum theta = 418AC77800000000
Inner product checksum u = 431497F6D7212EDE
Inner product checksum mr1 = 0
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt
index 3eb5cb783..7cd8e5e95 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_held-suarez-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E34359BB835D7A
-Inner product checksum theta = 421168C83CD92A99
-Inner product checksum u = 45082CCFF3E3EBD5
+Inner product checksum rho = 40E34359BBF3198E
+Inner product checksum theta = 421168C83CCDB814
+Inner product checksum u = 45082CCFFBFE131C
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt
index 757007fec..16121a0e7 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_lfric-real-domain-C48_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 4122BF04CEFB4304
-Inner product checksum theta = 4240B178197A0179
-Inner product checksum u = 44FA80D1359AA714
+Inner product checksum rho = 4122BF04CEFDD88E
+Inner product checksum theta = 4240B17819773C22
+Inner product checksum u = 44FA80D135FD62E1
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_relax_theta-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_relax_theta-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
index 344c4bf25..548f13da3 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_relax_theta-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_relax_theta-BiP4x4-600x400_azspice_gnu_fast-debug-64bit.txt
@@ -1,4 +1,4 @@
-Inner product checksum rho = 4077C537B568F9AB
+Inner product checksum rho = 4077C537B568F9A7
Inner product checksum theta = 418AC8040771B996
Inner product checksum u = 0
Inner product checksum mr1 = 0
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_rk-dcmip301-C24_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_rk-dcmip301-C24_azspice_gnu_fast-debug-64bit.txt
index f995b4868..5e8410e3c 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_rk-dcmip301-C24_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_rk-dcmip301-C24_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D3FEFFC9C4E6DC
-Inner product checksum theta = 41EC4AC917CF5933
-Inner product checksum u = 441770B8CF9AAE40
+Inner product checksum rho = 40D3FEFFC9C4E6DB
+Inner product checksum theta = 41EC4AC917CF5932
+Inner product checksum u = 441770B8CF9AAE3C
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt
index e578524d8..9bf4987a6 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_azspice_gnu_fast-debug-64bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 410029800831452C
-Inner product checksum theta = 4204AB0A9671FAEC
-Inner product checksum u = 421842151C74D2F4
-Inner product checksum mr1 = 4047C50F8798F474
+Inner product checksum rho = 4100298029CBB27E
+Inner product checksum theta = 4204AB0A9AF0F797
+Inner product checksum u = 421841A8A5A2236C
+Inner product checksum mr1 = 4047C5162B842004
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_runge-kutta-for-linear-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_runge-kutta-for-linear-C12_azspice_gnu_fast-debug-64bit.txt
index 4c63df4ba..cca05d0fa 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_runge-kutta-for-linear-C12_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_runge-kutta-for-linear-C12_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40A3EC6B5F76F0AD
-Inner product checksum theta = 41BEDEE1B8CBB580
-Inner product checksum u = 43A9CD8E1DCB1D6F
+Inner product checksum rho = 40A3EC6B5F76F0B5
+Inner product checksum theta = 41BEDEE1B8CBB572
+Inner product checksum u = 43A9CD8E4C3FF950
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt
index 6c6355238..a9e151424 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41030D58C35893DC
-Inner product checksum theta = 42475B42A25B1CD2
-Inner product checksum u = 456062CEF50FA91A
+Inner product checksum rho = 41030D58C3590034
+Inner product checksum theta = 42475B42A25425E7
+Inner product checksum u = 456062CEF5159296
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt
index 4458fdc2c..602f3b011 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt2-C24_MG_op_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41030D6C136DA814
-Inner product checksum theta = 42476BF6F9CAC5C5
-Inner product checksum u = 4560B547978C9DCB
+Inner product checksum rho = 41030D6C13723B56
+Inner product checksum theta = 42476BF6F9CB1430
+Inner product checksum u = 4560B547976B5A08
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt
index 7f82eb532..ff584a815 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr-alt3-C24_MG_azspice_gnu_fast-debug-64bit-rtran32.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41030F18BD37FBFC
-Inner product checksum theta = 42476C697D3CBBC4
-Inner product checksum u = 4560A0F45B9BF484
+Inner product checksum rho = 41030F18BDA9F26F
+Inner product checksum theta = 42476C698C4C91C2
+Inner product checksum u = 4560A0F46F8D1738
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt
index 321259f30..19511201a 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E316DD570F7279
-Inner product checksum theta = 420BC551F61B381C
-Inner product checksum u = 44FD3CA2A85C6F55
+Inner product checksum rho = 40E316DD570F02CE
+Inner product checksum theta = 420BC551F61B3DF4
+Inner product checksum u = 44FD3CA2A85A4306
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt
index 4a7cfa685..abe8fa958 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E3144534D0AD8D
-Inner product checksum theta = 420BC6A55E4A8A13
-Inner product checksum u = 44FDCE146C2A6ADC
+Inner product checksum rho = 40E3144534D0CD5B
+Inner product checksum theta = 420BC6A55E4A9F9B
+Inner product checksum u = 44FDCE146C24BBDA
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt
index 39b20e700..cb51c3cee 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_semi-implicit-for-linear-C12_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40A3EC6A14AC6546
-Inner product checksum theta = 41BEDEE1880FB485
-Inner product checksum u = 4316BFB1BE03CCD0
+Inner product checksum rho = 40A3EC6A14AC6563
+Inner product checksum theta = 41BEDEE1880FB478
+Inner product checksum u = 4316BFB1C8535B8F
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt
index a343ab70e..01f802010 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_shallow-hot-jupiter-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 400CE3D8ABA31E92
-Inner product checksum theta = 426EFB406265ADA6
-Inner product checksum u = 46E90B314794D5E9
+Inner product checksum rho = 400CE3D8AB9FF445
+Inner product checksum theta = 426EFB40626429D9
+Inner product checksum u = 46E90B3148ACB455
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt
index 54546ad89..30cb14f9a 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40CBD086E89B5CC1
-Inner product checksum theta = 41E3A4D10A00A1E6
-Inner product checksum u = 4400A7C1E61414C0
+Inner product checksum rho = 40CBD086E89B5CC3
+Inner product checksum theta = 41E3A4D10A00A203
+Inner product checksum u = 4400A7C1E61414AF
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
index 6f467053f..52dae3175 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40BBCBB6EDF16322
-Inner product checksum theta = 41D3A4D091EAAAA0
-Inner product checksum u = 427B55274B3FC5A4
+Inner product checksum rho = 40BBCBB6EF213860
+Inner product checksum theta = 41D3A4D09135213A
+Inner product checksum u = 42800064E61D89B2
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
index 47d2ca451..55b7b180a 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 409BCBB6ED8BDD6B
-Inner product checksum theta = 41B3A4D092287024
-Inner product checksum u = 425BD288C5035923
+Inner product checksum rho = 409BCBB6ED8BE0D7
+Inner product checksum theta = 41B3A4D092287220
+Inner product checksum u = 425BD28883F3DDC1
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
index 5210301ad..38d9cf530 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40ABB3332E06A4CE
-Inner product checksum theta = 41C56FE12D3A2596
-Inner product checksum u = 426BDF0B055B937C
+Inner product checksum rho = 40ABB3332F2E46AF
+Inner product checksum theta = 41C56FE12C8956B5
+Inner product checksum u = 42703CCC94647FCA
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt
index 75e14ceec..346a8dc0b 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-BiP256x8-200x200_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40EA1721E2B15B69
-Inner product checksum theta = 41F69B200F92D18A
-Inner product checksum u = 432D54F6E8244CF6
+Inner product checksum rho = 40EA1721E2B17B92
+Inner product checksum theta = 41F69B200F92B1EE
+Inner product checksum u = 432D54F6E804784E
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt
index d10d440ea..e1d220227 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40DA171CE5DFEB72
-Inner product checksum theta = 41E69B0DA69A3DDA
-Inner product checksum u = 431CEA8D79DDA992
+Inner product checksum rho = 40DA171CE52D041B
+Inner product checksum theta = 41E69B0DAB8498E2
+Inner product checksum u = 431CEA810B5F89C0
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt
index 7bfac1172..53fad2b4d 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40FA16E968D6ECF6
-Inner product checksum theta = 42069BF1BC3FAC5C
-Inner product checksum u = 42FFC30DC586F095
+Inner product checksum rho = 40FA16E969D811F1
+Inner product checksum theta = 42069BF1BB6F18B8
+Inner product checksum u = 42FFC30F4FDB3147
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt
index 8adaedada..89f2d8b43 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_azspice_gnu_fast-debug-64bit-rtran32.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40EA1719BC31103A
-Inner product checksum theta = 41F69B1F262CCD48
-Inner product checksum u = 432E6917C07B6E47
+Inner product checksum rho = 40EA1719BB7D1835
+Inner product checksum theta = 41F69B1F273DF438
+Inner product checksum u = 432E6914591DDB31
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt
index 24b14821e..a0878aae6 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D4230A140EC54C
-Inner product checksum theta = 421AE83CAB2D6756
-Inner product checksum u = 44D53ED5379A094E
+Inner product checksum rho = 40D4230A146B10C7
+Inner product checksum theta = 421AE83CAB4A6023
+Inner product checksum u = 44D53ED6ECD94866
diff --git a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt
index a58df61c2..16b389e9d 100644
--- a/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/azspice/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D3B0E6698BD4B0
-Inner product checksum theta = 421AFAE9DFAA54F5
-Inner product checksum u = 44D4476F2CF59831
+Inner product checksum rho = 40D3B0E584BEFE81
+Inner product checksum theta = 421AFAEA10486311
+Inner product checksum u = 44D4488DEC5B7DDD
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 472502cf4..630653183 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2F2B224850FC1
-Inner product checksum theta = 4210411A34109454
-Inner product checksum u = 4501AC4322FF38BE
+Inner product checksum rho = 40E2F2B22450A974
+Inner product checksum theta = 4210411A341767F4
+Inner product checksum u = 4501AC432203CA1A
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt
index e0bfc6d73..2eaf6c65b 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt1-C24s_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E31B58658B64FE
-Inner product checksum theta = 4210461CEC44C09C
-Inner product checksum u = 4500F7F35EF7ABE3
+Inner product checksum rho = 40E31B581AA0AD4E
+Inner product checksum theta = 4210461E7F0DBAE4
+Inner product checksum u = 4500F54921280157
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt
index a917d3e3c..cc0a72946 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2EB31AEDBF9AC
-Inner product checksum theta = 42104262EDCE5F78
-Inner product checksum u = 4501DA5CB407A122
+Inner product checksum rho = 40E2EB31AE880054
+Inner product checksum theta = 42104262EDD24DEB
+Inner product checksum u = 4501DA5CB5D859E5
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 6debfb645..6687d1593 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-alt3-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2F34437B07925
-Inner product checksum theta = 421041C0A42883F2
-Inner product checksum u = 4501D87BBCA1E98C
+Inner product checksum rho = 40E2F344381C3398
+Inner product checksum theta = 421041C0A41AF0BA
+Inner product checksum u = 4501D87BBF566B66
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 008e66166..e1050094d 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_baroclinic-pert-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E2E6107980DE24
-Inner product checksum theta = 4210435EB2DDB96B
-Inner product checksum u = 4501348CFD74DDA0
+Inner product checksum rho = 40E2E6107980DAAD
+Inner product checksum theta = 4210435EB2DDB16D
+Inner product checksum u = 4501348CFD74071C
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt
index 8b90ec314..744c78d32 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_bryan_fritsch-dry-BiP200x10-100x100_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40FE89845A998DE0
-Inner product checksum theta = 4210F00A9EEFEDC3
-Inner product checksum u = 42EF4B7C9D68A0AE
+Inner product checksum rho = 40FE89845A99BD81
+Inner product checksum theta = 4210F00A9EEFEDC8
+Inner product checksum u = 42EF4B7C9D66E038
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 0d8e76987..dabbd47ac 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E8EB38665833B6
-Inner product checksum theta = 4204E5A79065940E
-Inner product checksum u = 43EAD34D5B99ED84
+Inner product checksum rho = 40E8E802280ABD12
+Inner product checksum theta = 4204E59A63CB78B6
+Inner product checksum u = 4391E522B2F4E44E
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt
index bb6724f9c..d3f4ad6cc 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip200_realorog-C48_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41094CA3DDB86D6E
-Inner product checksum theta = 4224DF7F71A30AF2
-Inner product checksum u = 43C50351B9C1AD7F
+Inner product checksum rho = 41094CA3DDB86DC3
+Inner product checksum theta = 4224DF7F71A30AEA
+Inner product checksum u = 43C50351B9DDC1DB
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 1be1d7c1c..1fece6a09 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_dcmip301-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D3FF37BCAE7516
-Inner product checksum theta = 41EC4ACBE79A844D
-Inner product checksum u = 44176CD1D18E2208
+Inner product checksum rho = 40D3FF37BCAE7358
+Inner product checksum theta = 41EC4ACBE79A81E2
+Inner product checksum u = 44176CD1D18E0E68
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 1aa8fdb46..687673d87 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_deep-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40EEEF2D423E47AD
-Inner product checksum theta = 42E4D05A8BCEE030
-Inner product checksum u = 475B46A9C47FD11A
+Inner product checksum rho = 40EEEF2D423E47A8
+Inner product checksum theta = 42E4D05A8BCEDEF0
+Inner product checksum u = 475B46A9C47FDA32
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index bf983e591..1c899df3a 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_earth-like-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D56C9DA8814CCB
-Inner product checksum theta = 42198C1651D12C63
-Inner product checksum u = 44E3A671E315DA2A
+Inner product checksum rho = 40D56C9EE61BC0B8
+Inner product checksum theta = 42198C1850B2CB58
+Inner product checksum u = 44E3B95E1E4C53DE
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_force_profile-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_force_profile-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt
index ec3a66a74..c449dcda9 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_force_profile-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_force_profile-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt
@@ -1,5 +1,5 @@
-Inner product checksum rho = 4077C537B568F9AB
-Inner product checksum theta = 41C2D5A8F93169A4
+Inner product checksum rho = 4077C537B568F9A7
+Inner product checksum theta = 41C2D5A8F93169AA
Inner product checksum u = 4411D03665CDC4B7
Inner product checksum mr1 = 41E28A1800000000
Inner product checksum mr2 = 0
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_geostrophic-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_geostrophic-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt
index 3f3ff54de..3524cf4a2 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_geostrophic-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_geostrophic-BiP4x4-600x400_ex1a_gnu_fast-debug-64bit.txt
@@ -1,4 +1,4 @@
-Inner product checksum rho = 4077C537B568F9AB
+Inner product checksum rho = 4077C537B568F9A7
Inner product checksum theta = 418AC77800000000
Inner product checksum u = 431497F6D7212EDE
Inner product checksum mr1 = 0
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index d6a0669e8..7a5ebc48f 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_held-suarez-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E34359BC9E1FF9
-Inner product checksum theta = 421168C83CB0F9F2
-Inner product checksum u = 45082CD00EE65D3A
+Inner product checksum rho = 40E34359B7BCE94A
+Inner product checksum theta = 421168C83D657FC9
+Inner product checksum u = 45082CCFC7F87952
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt
index 11a82dde4..1f9ec3146 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_lfric-real-domain-C48_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 4122BF04CF00355A
-Inner product checksum theta = 4240B1781976726A
-Inner product checksum u = 44FA80D135EEBD06
+Inner product checksum rho = 4122BF04CEFCFB8C
+Inner product checksum theta = 4240B178197729FE
+Inner product checksum u = 44FA80D135E8AD96
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_rk-dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_rk-dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt
index 189fddd80..186723d14 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_rk-dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_rk-dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D3FEFFC9C4E6DA
+Inner product checksum rho = 40D3FEFFC9C4E6DB
Inner product checksum theta = 41EC4AC917CF5932
-Inner product checksum u = 441770B8CF9AAE44
+Inner product checksum u = 441770B8CF9AAE40
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt
index 7da35a8f7..9bf4987a6 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_robert-moist-smag-BiP100x8-10x10_ex1a_gnu_fast-debug-64bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 410029802E1030D0
-Inner product checksum theta = 4204AB0A9B371176
-Inner product checksum u = 4218424E1BBA8CB6
-Inner product checksum mr1 = 4047C515ADADBF22
+Inner product checksum rho = 4100298029CBB27E
+Inner product checksum theta = 4204AB0A9AF0F797
+Inner product checksum u = 421841A8A5A2236C
+Inner product checksum mr1 = 4047C5162B842004
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_runge-kutta-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_runge-kutta-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt
index 1e100b9f8..777066abd 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_runge-kutta-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_runge-kutta-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40A3EC6B5F76F0AB
-Inner product checksum theta = 41BEDEE1B8CBB580
-Inner product checksum u = 43A9CD8E1DC8E49D
+Inner product checksum rho = 40A3EC6B5F76F0B5
+Inner product checksum theta = 41BEDEE1B8CBB571
+Inner product checksum u = 43A9CD8E4C4FC4E9
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index aecbecff9..5691a36ad 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41030D58C3597A50
-Inner product checksum theta = 42475B42A24AAD45
-Inner product checksum u = 456062CEF5269E09
+Inner product checksum rho = 41030D58C3594564
+Inner product checksum theta = 42475B42A2647BEA
+Inner product checksum u = 456062CEF518024E
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt
index 3d7d80d5f..5ce936971 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt2-C24_MG_op_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41030D6C137161F5
-Inner product checksum theta = 42476BF6F9CA734A
-Inner product checksum u = 4560B547976A06DC
+Inner product checksum rho = 41030D6C136DE168
+Inner product checksum theta = 42476BF6F9CAEA14
+Inner product checksum u = 4560B547976D15D4
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt
index 3ab3e8643..e118091e8 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr-alt3-C24_MG_ex1a_gnu_fast-debug-64bit-rtran32.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 41030F18BF111815
-Inner product checksum theta = 42476C697C857758
-Inner product checksum u = 4560A0F50B3A42EB
+Inner product checksum rho = 41030F18BB2004B0
+Inner product checksum theta = 42476C698DF34CC6
+Inner product checksum u = 4560A0F429222A77
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt
index 224846b62..5842a46ec 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E316DD570F1CC0
-Inner product checksum theta = 420BC551F61B3027
-Inner product checksum u = 44FD3CA2A85C094A
+Inner product checksum rho = 40E316DD570FF799
+Inner product checksum theta = 420BC551F61B444F
+Inner product checksum u = 44FD3CA2A85E36AE
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt
index c00924ccb..7db5191b2 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_sbr_lam-n96_MG_lam_rotate_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40E3144534D15417
-Inner product checksum theta = 420BC6A55E4A8BF5
-Inner product checksum u = 44FDCE146C24FA5F
+Inner product checksum rho = 40E3144534D176B2
+Inner product checksum theta = 420BC6A55E4AA270
+Inner product checksum u = 44FDCE146C25601A
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt
index b9ca488ce..2fb7ae146 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_semi-implicit-for-linear-C12_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40A3EC6A14AC6544
-Inner product checksum theta = 41BEDEE1880FB484
-Inner product checksum u = 4316BFB1BDA185A3
+Inner product checksum rho = 40A3EC6A14AC6564
+Inner product checksum theta = 41BEDEE1880FB477
+Inner product checksum u = 4316BFB1C85111D5
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 3cf9c7fce..2e11a93f9 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_shallow-hot-jupiter-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 400CE3D8ABA3C409
-Inner product checksum theta = 426EFB406266ED48
-Inner product checksum u = 46E90B314795D634
+Inner product checksum rho = 400CE3D8ABA36B1E
+Inner product checksum theta = 426EFB406265B472
+Inner product checksum u = 46E90B31475DB3E0
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt
index 54546ad89..30cb14f9a 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p0-BiP300x8-1000x2000_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40CBD086E89B5CC1
-Inner product checksum theta = 41E3A4D10A00A1E6
-Inner product checksum u = 4400A7C1E61414C0
+Inner product checksum rho = 40CBD086E89B5CC3
+Inner product checksum theta = 41E3A4D10A00A203
+Inner product checksum u = 4400A7C1E61414AF
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
index c3f123004..52dae3175 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_p1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40BBCBB6EDF1632E
-Inner product checksum theta = 41D3A4D091EAAAB6
-Inner product checksum u = 427B552B8E4E3954
+Inner product checksum rho = 40BBCBB6EF213860
+Inner product checksum theta = 41D3A4D09135213A
+Inner product checksum u = 42800064E61D89B2
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
index d368d4e82..7c14244e8 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph0pv1-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 409BCBB6ED8BDC32
-Inner product checksum theta = 41B3A4D0922873DE
-Inner product checksum u = 425BD2894889D688
+Inner product checksum rho = 409BCBB6ED8BDF94
+Inner product checksum theta = 41B3A4D092287188
+Inner product checksum u = 425BD289740C12AA
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
index 13a0a82ad..3a708096a 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_skamarock_klemp_gw_ph1pv0-BiP75x4-4000x2000_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40ABB3332E06A4CC
-Inner product checksum theta = 41C56FE12D3A2574
-Inner product checksum u = 426BDF0AE9C22796
+Inner product checksum rho = 40ABB3332F2E46C5
+Inner product checksum theta = 41C56FE12C8956B6
+Inner product checksum u = 42703CCC994BBDB4
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt
index fc3d0583b..21c18edf4 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40EA1721E2B15B6A
-Inner product checksum theta = 41F69B200F92D18A
-Inner product checksum u = 432D54F6E8244CF4
+Inner product checksum rho = 40EA1721E2B17B92
+Inner product checksum theta = 41F69B200F92B1EE
+Inner product checksum u = 432D54F6E804784F
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt
index 36668774f..ba7c30362 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt1-BiP256x4-200x200_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40DA171CE5E08814
-Inner product checksum theta = 41E69B0DA698F433
-Inner product checksum u = 431CEA8D7C1DFEC6
+Inner product checksum rho = 40DA171CE52CF043
+Inner product checksum theta = 41E69B0DAB858810
+Inner product checksum u = 431CEA810AF2DC4A
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt
index d05a8bafa..65a01ed1c 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt2-BiP256x16-200x50_op_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40FA16E968D734CF
-Inner product checksum theta = 42069BF1BC3F861C
-Inner product checksum u = 42FFC30DC544D925
+Inner product checksum rho = 40FA16E969D6E515
+Inner product checksum theta = 42069BF1BB71A19A
+Inner product checksum u = 42FFC30F4E707664
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt
index cf8d70141..33ba3b6e4 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_straka_200m-alt3-BiP256x8-200x200_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40EA171A183083E2
-Inner product checksum theta = 41F69B1D66F8F148
-Inner product checksum u = 432E68AADCBEB6F2
+Inner product checksum rho = 40EA171A18305EA8
+Inner product checksum theta = 41F69B1D66F94904
+Inner product checksum u = 432E68AADCC6FD38
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt
index 229355c74..aa55f2b7c 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D4230A14B1ED00
-Inner product checksum theta = 421AE83CAB3A0BC2
-Inner product checksum u = 44D53ED52FBA7169
+Inner product checksum rho = 40D4230A1646BD51
+Inner product checksum theta = 421AE83CAB337E46
+Inner product checksum u = 44D53EDC3823D4C6
diff --git a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt
index d08be14cf..13e4a423b 100644
--- a/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/gungho_model/ex1a/checksum_gungho_model_tidally-locked-earth-C24s_rot_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 40D3B0E78DC80386
-Inner product checksum theta = 421AFAE9374D5021
-Inner product checksum u = 44D4422DCFB3E4B9
+Inner product checksum rho = 40D3B0E493DF2623
+Inner product checksum theta = 421AFAEAAF2738F8
+Inner product checksum u = 44D4532594A135D5
diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt
index 476728272..bbfc04f5d 100644
--- a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 3FAE277094D72967
-Inner product checksum theta = 4162161AEA00D7EF
-Inner product checksum u = 45699FBCF50BA0A5
-Inner product checksum mr1 = 3F3FF1A1583E73F0
-Inner product checksum mr2 = 3EF377FEDB910050
-Inner product checksum mr3 = 3EE2739439F05305
-Inner product checksum mr4 = 3EECD12A77FF627E
+Inner product checksum rho = 3FAE2770A68B5BFA
+Inner product checksum theta = 4162161ADEC00635
+Inner product checksum u = 45699FBCF282D940
+Inner product checksum mr1 = 3F3FF1A11E0B69FE
+Inner product checksum mr2 = 3EF377FEBDF9E02A
+Inner product checksum mr3 = 3EE273943A1DE06E
+Inner product checksum mr4 = 3EECD12A79074EA2
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt
index e0a22271e..512b60942 100644
--- a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3EED3AC2F17E742B
-Inner product checksum theta = 4012F0191F58F9A4
-Inner product checksum u = 42F0DDAD32EEF590
+Inner product checksum rho = 3EECEB00E275EF66
+Inner product checksum theta = 40130622675CC42B
+Inner product checksum u = 42EF956998B21A12
diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_full-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_full-debug-64bit.txt
index e0a22271e..512b60942 100644
--- a/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_full-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/azspice/checksum_jedi_lfric_tests_runge-kutta-C12_azspice_gnu_full-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3EED3AC2F17E742B
-Inner product checksum theta = 4012F0191F58F9A4
-Inner product checksum u = 42F0DDAD32EEF590
+Inner product checksum rho = 3EECEB00E275EF66
+Inner product checksum theta = 40130622675CC42B
+Inner product checksum u = 42EF956998B21A12
diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt
index c6fd557d5..79d5d04c3 100644
--- a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 3FAE277076906FCE
-Inner product checksum theta = 4162161B011E7CB7
-Inner product checksum u = 45699FBD32B15B1F
-Inner product checksum mr1 = 3F3FF1A1577DD860
-Inner product checksum mr2 = 3EF377FEC546D922
-Inner product checksum mr3 = 3EE2739439843303
-Inner product checksum mr4 = 3EECD12A7563C499
+Inner product checksum rho = 3FAE27707BF6CC62
+Inner product checksum theta = 4162161B045C7D88
+Inner product checksum u = 45699FBD38F03BA4
+Inner product checksum mr1 = 3F3FF1A0EEA1386F
+Inner product checksum mr2 = 3EF377FEB00EFA3E
+Inner product checksum mr3 = 3EE2739439836305
+Inner product checksum mr4 = 3EECD12A754EFC56
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_runge-kutta-C12_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_runge-kutta-C12_ex1a_cce_fast-debug-64bit.txt
index 9e6a8e431..1a28e13d7 100644
--- a/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_runge-kutta-C12_ex1a_cce_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/jedi_lfric_tests/ex1a/checksum_jedi_lfric_tests_runge-kutta-C12_ex1a_cce_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3EED3AC2F17E6C16
-Inner product checksum theta = 4012F0191F58F9A2
-Inner product checksum u = 42F0DDAD32EEFA8E
+Inner product checksum rho = 3EECEB00E275E0A8
+Inner product checksum theta = 40130622675CC46B
+Inner product checksum u = 42EF956998B20C2D
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt
index fec1cd36f..412912359 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_clim_gal9-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D68370
-Inner product checksum theta = 518F9409
-Inner product checksum u = 6AF60585
-Inner product checksum mr1 = 3FD2085E
-Inner product checksum mr2 = 3731FF1D
-Inner product checksum mr3 = 3570D63F
-Inner product checksum mr4 = 36D80F28
+Inner product checksum rho = 46D686E7
+Inner product checksum theta = 518F9686
+Inner product checksum u = 6AF737B4
+Inner product checksum mr1 = 3FD1D417
+Inner product checksum mr2 = 3734B95C
+Inner product checksum mr3 = 35805E31
+Inner product checksum mr4 = 36CFB064
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt
index 47df08796..0af3bd41c 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D85AAE
-Inner product checksum theta = 518CDC24
-Inner product checksum u = 6A88EFDE
-Inner product checksum mr1 = 3FD05228
-Inner product checksum mr2 = 37D33A81
-Inner product checksum mr3 = 359FD674
-Inner product checksum mr4 = 371B5EEA
+Inner product checksum rho = 46D85B38
+Inner product checksum theta = 518CDE82
+Inner product checksum u = 6A8943DF
+Inner product checksum mr1 = 3FD04330
+Inner product checksum mr2 = 37D1B94A
+Inner product checksum mr3 = 358A22CA
+Inner product checksum mr4 = 3710DB20
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt
index cc4a4798d..b07809fc2 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9-C12_azspice_gnu_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 40DB0B9C96F4BA66
-Inner product checksum theta = 42319C4BE6D104D9
-Inner product checksum u = 45511BFA5898E796
-Inner product checksum mr1 = 3FFA0CCF3D5EBC11
-Inner product checksum mr2 = 3EF833CD74A96FCC
-Inner product checksum mr3 = 3EB21BF36D086306
-Inner product checksum mr4 = 3EE129541DCB1566
+Inner product checksum rho = 40DB0B7E35975770
+Inner product checksum theta = 42319B4C2C627568
+Inner product checksum u = 45511DB5A41A7AF3
+Inner product checksum mr1 = 3FFA0AE8D15AC560
+Inner product checksum mr2 = 3EF6E30AB66D5317
+Inner product checksum mr3 = 3EB3CE089DEF52CE
+Inner product checksum mr4 = 3EDF292FCEA393E9
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt
index 001cd6c5c..efe7c47fc 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_debug-C12_azspice_gnu_full-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D8267D
-Inner product checksum theta = 5195288D
-Inner product checksum u = 6AD004AB
-Inner product checksum mr1 = 3FC8A13D
-Inner product checksum mr2 = 37A81D7C
-Inner product checksum mr3 = 351E873A
-Inner product checksum mr4 = 36A03E16
+Inner product checksum rho = 46D826A3
+Inner product checksum theta = 5195286A
+Inner product checksum u = 6AD00D2B
+Inner product checksum mr1 = 3FC8966C
+Inner product checksum mr2 = 37A936E0
+Inner product checksum mr3 = 351FFC46
+Inner product checksum mr4 = 36A5A0EC
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt
index 96e2f0b11..368a40166 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_nwp_gal9_short-C12_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D81D24
-Inner product checksum theta = 5195598D
-Inner product checksum u = 6AF40B43
-Inner product checksum mr1 = 3FC86FA8
-Inner product checksum mr2 = 38749CE3
-Inner product checksum mr3 = 358074D9
-Inner product checksum mr4 = 36CB950E
+Inner product checksum rho = 46D81D6C
+Inner product checksum theta = 51955971
+Inner product checksum u = 6AF40AC6
+Inner product checksum mr1 = 3FC86B44
+Inner product checksum mr2 = 3874ECCE
+Inner product checksum mr3 = 3580A915
+Inner product checksum mr4 = 36C8A3C4
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt
index 26506abf5..8a4449f4d 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3-seuk_MG_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 4839978D
-Inner product checksum theta = 51354915
-Inner product checksum u = 612F5226
-Inner product checksum mr1 = 4090EFFC
-Inner product checksum mr2 = 3596AD06
-Inner product checksum mr3 = 2FA5997D
-Inner product checksum mr4 = 33F4FA38
-Inner product checksum mr5 = BE9165B
+Inner product checksum rho = 4839978B
+Inner product checksum theta = 51354926
+Inner product checksum u = 612F5465
+Inner product checksum mr1 = 4090EFDD
+Inner product checksum mr2 = 359EB521
+Inner product checksum mr3 = 2FA59C08
+Inner product checksum mr4 = 33F4FAB6
+Inner product checksum mr5 = BE7DEA8
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt
index 0f71f90e8..2a9e0db0e 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_ens-seuk_MG_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48399968
-Inner product checksum theta = 5135487C
-Inner product checksum u = 612F584A
-Inner product checksum mr1 = 40915DEF
-Inner product checksum mr2 = 3686329A
-Inner product checksum mr3 = 2FAC49DF
-Inner product checksum mr4 = 33F4FAEE
-Inner product checksum mr5 = BF253C6
+Inner product checksum rho = 48399964
+Inner product checksum theta = 5135488C
+Inner product checksum u = 612F5AC7
+Inner product checksum mr1 = 40915DD1
+Inner product checksum mr2 = 36940DA3
+Inner product checksum mr3 = 2FAC1395
+Inner product checksum mr4 = 33F4FB53
+Inner product checksum mr5 = BF1FDFB
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt
index c00d5ee1a..bcf94a7e2 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_ral3_mixmol-seuk_MG_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48398C10
-Inner product checksum theta = 5135430E
-Inner product checksum u = 612EF000
-Inner product checksum mr1 = 4090FD96
-Inner product checksum mr2 = 35A1BCC6
-Inner product checksum mr3 = 30013C66
-Inner product checksum mr4 = 3404ACA7
-Inner product checksum mr5 = C1473CD
+Inner product checksum rho = 48398C0D
+Inner product checksum theta = 51354312
+Inner product checksum u = 612EECD9
+Inner product checksum mr1 = 4090FDB1
+Inner product checksum mr2 = 35A1C069
+Inner product checksum mr3 = 300115E1
+Inner product checksum mr4 = 3404ACBB
+Inner product checksum mr5 = C145948
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt
index 092fba21f..248c3bf84 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 4830B60B
-Inner product checksum theta = 513FD8B9
-Inner product checksum u = 5F74B7B8
-Inner product checksum mr1 = 4155B9C9
-Inner product checksum mr2 = 3A4679D7
-Inner product checksum mr3 = 309BB411
+Inner product checksum rho = 4830B604
+Inner product checksum theta = 513FD8A6
+Inner product checksum u = 5F74971F
+Inner product checksum mr1 = 4155C5CE
+Inner product checksum mr2 = 3A30FCD9
+Inner product checksum mr3 = 30836FEC
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 06be533a7..ced2b2018 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
Inner product checksum rho = 42F8B1D8
-Inner product checksum theta = 4D84D804
-Inner product checksum u = 601AD0BB
-Inner product checksum mr1 = 3C87113D
-Inner product checksum mr2 = 3552B676
-Inner product checksum mr3 = 31D50456
+Inner product checksum theta = 4D84D80D
+Inner product checksum u = 601AD0B1
+Inner product checksum mr1 = 3C870A8F
+Inner product checksum mr2 = 354AA3D5
+Inner product checksum mr3 = 31C1E4EB
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index a177cf22d..9e5fe63b7 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F5004B
-Inner product checksum theta = 4E044C56
-Inner product checksum u = 5FC0D20B
-Inner product checksum mr1 = 3CE0BA0A
-Inner product checksum mr2 = 347FAB6C
-Inner product checksum mr3 = 32F814C6
-Inner product checksum mr4 = 2EC3FA05
+Inner product checksum rho = 42F50044
+Inner product checksum theta = 4E044D1A
+Inner product checksum u = 5FBD689A
+Inner product checksum mr1 = 3CDAE952
+Inner product checksum mr2 = 3464C7F6
+Inner product checksum mr3 = 3198450A
+Inner product checksum mr4 = 2EF57FE6
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 937d94af5..05fd6514b 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
Inner product checksum rho = 42F8B1D8
-Inner product checksum theta = 4D84DAF5
-Inner product checksum u = 601AD412
-Inner product checksum mr1 = 3C827AF6
-Inner product checksum mr2 = 3423966F
-Inner product checksum mr3 = 3153DDE7
+Inner product checksum theta = 4D84DAFD
+Inner product checksum u = 601AD40F
+Inner product checksum mr1 = 3C825A8B
+Inner product checksum mr2 = 33EB5DE2
+Inner product checksum mr3 = 317D3117
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 7158ffabf..9f49c2720 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F5004B
-Inner product checksum theta = 4E044E08
-Inner product checksum u = 5FDA64EB
-Inner product checksum mr1 = 3CCAED84
-Inner product checksum mr2 = 33E984DC
-Inner product checksum mr3 = 306BD32F
-Inner product checksum mr4 = 2F040FC0
+Inner product checksum rho = 42F50044
+Inner product checksum theta = 4E044E7D
+Inner product checksum u = 5FD4B116
+Inner product checksum mr1 = 3CCA582B
+Inner product checksum mr2 = 33C805E1
+Inner product checksum mr3 = 30364C90
+Inner product checksum mr4 = 2F0E3313
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 49c6c44d1..6bc48372a 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
Inner product checksum rho = 42F8B1D8
-Inner product checksum theta = 4D84D83F
-Inner product checksum u = 601AD7F5
-Inner product checksum mr1 = 3C80A8FB
-Inner product checksum mr2 = 2EE9B467
-Inner product checksum mr3 = 2DBBEEA4
+Inner product checksum theta = 4D84D83D
+Inner product checksum u = 601AD7EC
+Inner product checksum mr1 = 3C80A8FF
+Inner product checksum mr2 = 2EE9AF5A
+Inner product checksum mr3 = 2DBC2490
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 74af2c72f..4a089b7cb 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 4336618F
+Inner product checksum rho = 43366191
Inner product checksum theta = 4C40AEA7
-Inner product checksum u = 46233251
+Inner product checksum u = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 14f2a9e8d..f9b176c2b 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 433541F1
-Inner product checksum theta = 4C365CB1
-Inner product checksum u = 5FC5C126
-Inner product checksum mr1 = 3C64C86E
-Inner product checksum mr2 = 3368E8C5
-Inner product checksum mr3 = 2DB1113B
+Inner product checksum rho = 433541F2
+Inner product checksum theta = 4C365CF3
+Inner product checksum u = 5FC5C122
+Inner product checksum mr1 = 3C64C682
+Inner product checksum mr2 = 3378E043
+Inner product checksum mr3 = 2DCCEAEC
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 3acda6ae5..a3253b51f 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 433107DB
-Inner product checksum theta = 4C0844EF
-Inner product checksum u = 606FB50F
-Inner product checksum mr1 = 3B3F6252
-Inner product checksum mr2 = 30048CCB
-Inner product checksum mr3 = 29448ECC
+Inner product checksum rho = 433107DD
+Inner product checksum theta = 4C0844F3
+Inner product checksum u = 606FB504
+Inner product checksum mr1 = 3B3F6226
+Inner product checksum mr2 = 3004972C
+Inner product checksum mr3 = 29448288
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index f36683c66..fae95bf77 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
Inner product checksum rho = 42CD4780
-Inner product checksum theta = 4C2F1CA9
-Inner product checksum u = 6064CD41
-Inner product checksum mr1 = 37238318
+Inner product checksum theta = 4C2F1CCD
+Inner product checksum u = 6064CD3B
+Inner product checksum mr1 = 372352E9
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
-Inner product checksum mr4 = 33E7DE2D
+Inner product checksum mr4 = 33E97109
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index e9c2dae0d..30b40dea4 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 431DF673
-Inner product checksum theta = 4C0E764E
-Inner product checksum u = 5E18F5EB
-Inner product checksum mr1 = 3B20110C
+Inner product checksum rho = 431DF677
+Inner product checksum theta = 4C0E764F
+Inner product checksum u = 5E18F5F3
+Inner product checksum mr1 = 3B201117
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index a66bf4e7e..95c1538d2 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 434FEE7D
-Inner product checksum theta = 4C46F47F
-Inner product checksum u = 62E3E1C7
-Inner product checksum mr1 = 3A04E4AD
+Inner product checksum rho = 434FEE7A
+Inner product checksum theta = 4C46F480
+Inner product checksum u = 62E3E1CC
+Inner product checksum mr1 = 3A04E493
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 502459b70..5431afaa8 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 433107DB
-Inner product checksum theta = 4C065B1D
-Inner product checksum u = 606FB567
-Inner product checksum mr1 = 3A8C7BED
-Inner product checksum mr2 = 326FC543
-Inner product checksum mr3 = 2859C4C3
+Inner product checksum rho = 433107DD
+Inner product checksum theta = 4C065970
+Inner product checksum u = 606FB561
+Inner product checksum mr1 = 3A8C498C
+Inner product checksum mr2 = 32982158
+Inner product checksum mr3 = 289ECB4D
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index f5ea0702e..9aa0cfadb 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F5004B
-Inner product checksum theta = 4E0453CD
-Inner product checksum u = 5FB965A6
-Inner product checksum mr1 = 3CE79137
-Inner product checksum mr2 = 32D04A9D
-Inner product checksum mr3 = 2F52ED4E
-Inner product checksum mr4 = 2F383BAB
+Inner product checksum rho = 42F50044
+Inner product checksum theta = 4E0455D4
+Inner product checksum u = 5FB5E70A
+Inner product checksum mr1 = 3CEA7E92
+Inner product checksum mr2 = 33AB53A5
+Inner product checksum mr3 = 3136031C
+Inner product checksum mr4 = 2F10C263
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 2cf487490..fdc8bd11b 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 42B581BF
-Inner product checksum theta = 54100B4C
+Inner product checksum rho = 42B581C4
+Inner product checksum theta = 541009A5
Inner product checksum u = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 76974a7a6..b3407820f 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 42F5004B
+Inner product checksum rho = 42F50044
Inner product checksum theta = 4E232388
-Inner product checksum u = 5EA095B6
-Inner product checksum mr1 = 3C8347B3
+Inner product checksum u = 5EA095A3
+Inner product checksum mr1 = 3C8347BC
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 0ec538ca6..659dd9c1d 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,6 +1,6 @@
Inner product checksum rho = 4334F300
-Inner product checksum theta = 4C25DC6F
-Inner product checksum u = 4623465A
+Inner product checksum theta = 4C25DC6A
+Inner product checksum u = 0
Inner product checksum mr1 = 3AB44DA1
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index b71ab7b2e..2ffb20200 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 434FEE7D
-Inner product checksum theta = 4C47E12A
-Inner product checksum u = 62E3D595
-Inner product checksum mr1 = 3A3A8A98
-Inner product checksum mr2 = 32A5D37C
-Inner product checksum mr3 = 255E8B04
-Inner product checksum mr4 = 3326918B
-Inner product checksum mr5 = 290159BB
-Inner product checksum mr6 = 2C5A0361
+Inner product checksum rho = 434FEE7A
+Inner product checksum theta = 4C47E450
+Inner product checksum u = 62E3D54D
+Inner product checksum mr1 = 3A360401
+Inner product checksum mr2 = 335D3C99
+Inner product checksum mr3 = 28AE5070
+Inner product checksum mr4 = 340087AA
+Inner product checksum mr5 = 2CAB2065
+Inner product checksum mr6 = 2C736833
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index bd859b2c3..85001a4c0 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 433107DB
-Inner product checksum theta = 4C096AE0
-Inner product checksum u = 6074FC4C
-Inner product checksum mr1 = 3A6F4511
+Inner product checksum rho = 433107DD
+Inner product checksum theta = 4C096ADE
+Inner product checksum u = 6074FC4D
+Inner product checksum mr1 = 3A6F4514
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index f08e68440..c1b496301 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 433107DB
-Inner product checksum theta = 4C08B093
-Inner product checksum u = 6075B79C
-Inner product checksum mr1 = 3A5C1B3C
+Inner product checksum rho = 433107DD
+Inner product checksum theta = 4C08B095
+Inner product checksum u = 6075B79D
+Inner product checksum mr1 = 3A5C1B39
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 7db46dce5..527303117 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 433107DB
-Inner product checksum theta = 4C08DF86
-Inner product checksum u = 606FB532
-Inner product checksum mr1 = 3B1C91DF
+Inner product checksum rho = 433107DD
+Inner product checksum theta = 4C08DF8D
+Inner product checksum u = 606FB52B
+Inner product checksum mr1 = 3B1C9205
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
index 1cc5f3992..298a5fac6 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/azspice/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_azspice_gnu_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F5004B
-Inner product checksum theta = 4E15E02A
-Inner product checksum u = 5F8C6B04
-Inner product checksum mr1 = 3C99E13A
-Inner product checksum mr2 = 322CFE0E
-Inner product checksum mr3 = 2A173DEF
-Inner product checksum mr4 = 2F72105A
+Inner product checksum rho = 42F50044
+Inner product checksum theta = 4E15E00C
+Inner product checksum u = 5F897E88
+Inner product checksum mr1 = 3C99A2BC
+Inner product checksum mr2 = 0
+Inner product checksum mr3 = 2A83F034
+Inner product checksum mr4 = 31E14097
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt
index 72c4b6cec..d4a68f4df 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D6841E
-Inner product checksum theta = 518F982B
-Inner product checksum u = 6AF73449
-Inner product checksum mr1 = 3FD211CE
-Inner product checksum mr2 = 37378B4E
-Inner product checksum mr3 = 35522D5E
-Inner product checksum mr4 = 36CBD10C
+Inner product checksum rho = 46D68274
+Inner product checksum theta = 518F9382
+Inner product checksum u = 6AF80F04
+Inner product checksum mr1 = 3FD1FDF4
+Inner product checksum mr2 = 371CF50E
+Inner product checksum mr3 = 35982210
+Inner product checksum mr4 = 36D0EA36
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt
index 25e6972f4..865ef858e 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_1T-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D6714F
-Inner product checksum theta = 5193C64E
-Inner product checksum u = 6B19ACB6
-Inner product checksum mr1 = 3FCF3B83
-Inner product checksum mr2 = 372DA5B8
-Inner product checksum mr3 = 3544C7E3
-Inner product checksum mr4 = 369119F6
+Inner product checksum rho = 46D6721E
+Inner product checksum theta = 5193C6E0
+Inner product checksum u = 6B19C5AA
+Inner product checksum mr1 = 3FCF601E
+Inner product checksum mr2 = 37331054
+Inner product checksum mr3 = 356202F2
+Inner product checksum mr4 = 3698A052
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt
index eff659d79..83a0f7e36 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_2T-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D671B8
-Inner product checksum theta = 5193C61A
-Inner product checksum u = 6B19AD94
-Inner product checksum mr1 = 3FCF4031
-Inner product checksum mr2 = 37456B6E
-Inner product checksum mr3 = 3538C71B
-Inner product checksum mr4 = 3694E666
+Inner product checksum rho = 46D6724A
+Inner product checksum theta = 5193C6C8
+Inner product checksum u = 6B19BB23
+Inner product checksum mr1 = 3FCF61C2
+Inner product checksum mr2 = 3742B590
+Inner product checksum mr3 = 354FD275
+Inner product checksum mr4 = 3695593B
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt
index cb3df5ad4..0e98c03f1 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_1T-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D671AB
-Inner product checksum theta = 5193C4E9
-Inner product checksum u = 6B19C3CC
-Inner product checksum mr1 = 3FCF7283
-Inner product checksum mr2 = 372F8B53
-Inner product checksum mr3 = 353D40ED
-Inner product checksum mr4 = 3693E9B5
+Inner product checksum rho = 46D671E0
+Inner product checksum theta = 5193C594
+Inner product checksum u = 6B1A4302
+Inner product checksum mr1 = 3FCF6985
+Inner product checksum mr2 = 3730D1D2
+Inner product checksum mr3 = 35330E60
+Inner product checksum mr4 = 368A1990
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt
index 2eadab63e..64166cc74 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_clim_gal9_chem_2T-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D671CF
-Inner product checksum theta = 5193C4AB
-Inner product checksum u = 6B19DE73
-Inner product checksum mr1 = 3FCF7B18
-Inner product checksum mr2 = 3726D934
-Inner product checksum mr3 = 354C81EC
-Inner product checksum mr4 = 369F289D
+Inner product checksum rho = 46D671EE
+Inner product checksum theta = 5193C539
+Inner product checksum u = 6B1A39FA
+Inner product checksum mr1 = 3FCF81F6
+Inner product checksum mr2 = 371AF3C2
+Inner product checksum mr3 = 3534F417
+Inner product checksum mr4 = 368F89D6
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt
index 2da3d438a..abd9b9b41 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D85E92
-Inner product checksum theta = 518CDFB6
-Inner product checksum u = 6A895E74
-Inner product checksum mr1 = 3FD0AD4E
-Inner product checksum mr2 = 37B276C2
-Inner product checksum mr3 = 35869BEC
-Inner product checksum mr4 = 37064B4D
+Inner product checksum rho = 46D85AFF
+Inner product checksum theta = 518CDE74
+Inner product checksum u = 6A88E4D8
+Inner product checksum mr1 = 3FD06B26
+Inner product checksum mr2 = 37CA62EA
+Inner product checksum mr3 = 35B45770
+Inner product checksum mr4 = 3721A976
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt
index 0c840d47a..73a43c8ca 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9-C12_ex1a_cce_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 40DB0B9D507DBF7E
-Inner product checksum theta = 42319BDCCB64EC0E
-Inner product checksum u = 455131FFFAE5EA2A
-Inner product checksum mr1 = 3FFA0549021C85CC
-Inner product checksum mr2 = 3EF7401F0F026E8C
-Inner product checksum mr3 = 3EB1DF20B4FB6A79
-Inner product checksum mr4 = 3EE05F90396F7A7C
+Inner product checksum rho = 40DB0BCB0A399904
+Inner product checksum theta = 42319B852F83F1CF
+Inner product checksum u = 45512022D40DDE98
+Inner product checksum mr1 = 3FFA0A8097E97B74
+Inner product checksum mr2 = 3EF702BF5D723995
+Inner product checksum mr3 = 3EB6C7F2BE83F006
+Inner product checksum mr4 = 3EE52C591A3AB53E
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt
index dd05c2281..cfc7da4cb 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_debug-C12_ex1a_cce_full-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D82681
-Inner product checksum theta = 51952889
-Inner product checksum u = 6AD003C5
-Inner product checksum mr1 = 3FC8A00E
-Inner product checksum mr2 = 37A95E7E
-Inner product checksum mr3 = 352D90BE
-Inner product checksum mr4 = 36A01ECA
+Inner product checksum rho = 46D826BE
+Inner product checksum theta = 5195286A
+Inner product checksum u = 6AD00A42
+Inner product checksum mr1 = 3FC89977
+Inner product checksum mr2 = 37AA6006
+Inner product checksum mr3 = 351DE4C8
+Inner product checksum mr4 = 36A4ADB9
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_1T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_1T-C12_ex1a_cce_fast-debug-32bit.txt
index b078178d3..4f6a82f0f 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_1T-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_1T-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D81333
-Inner product checksum theta = 518FB9B1
-Inner product checksum u = 6AF71FAE
-Inner product checksum mr1 = 3FCBDFF5
-Inner product checksum mr2 = 37B28EBB
-Inner product checksum mr3 = 34B1306C
-Inner product checksum mr4 = 36E90350
+Inner product checksum rho = 46D81334
+Inner product checksum theta = 518FB93A
+Inner product checksum u = 6AF754AD
+Inner product checksum mr1 = 3FCBDFF6
+Inner product checksum mr2 = 37BEFAFE
+Inner product checksum mr3 = 34A88E7E
+Inner product checksum mr4 = 3704F75D
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C12_ex1a_cce_fast-debug-32bit.txt
index 163478f84..019a00681 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_noukca_2T-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D8137C
-Inner product checksum theta = 518FB9AC
-Inner product checksum u = 6AF73734
-Inner product checksum mr1 = 3FCBF08E
-Inner product checksum mr2 = 37B760E6
-Inner product checksum mr3 = 34AB50E4
-Inner product checksum mr4 = 3704116F
+Inner product checksum rho = 46D8137F
+Inner product checksum theta = 518FB938
+Inner product checksum u = 6AF7471A
+Inner product checksum mr1 = 3FCBCCF4
+Inner product checksum mr2 = 37A96CD4
+Inner product checksum mr3 = 34A977CA
+Inner product checksum mr4 = 36FED488
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt
index 7ceb6a730..ddd8aefc5 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_nwp_gal9_short-C12_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 46D81D34
-Inner product checksum theta = 51955946
-Inner product checksum u = 6AF40712
-Inner product checksum mr1 = 3FC86A46
-Inner product checksum mr2 = 3871FFDE
-Inner product checksum mr3 = 358024B2
-Inner product checksum mr4 = 36CB042A
+Inner product checksum rho = 46D81D76
+Inner product checksum theta = 51955957
+Inner product checksum u = 6AF40F1F
+Inner product checksum mr1 = 3FC86AA6
+Inner product checksum mr2 = 38747B89
+Inner product checksum mr3 = 358083B4
+Inner product checksum mr4 = 36C86BE6
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt
index aa0b81efe..0231d6fa8 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3-seuk_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48399782
-Inner product checksum theta = 5135492A
-Inner product checksum u = 612F4C0C
-Inner product checksum mr1 = 4090F002
-Inner product checksum mr2 = 35B170E2
-Inner product checksum mr3 = 2FA5317E
-Inner product checksum mr4 = 33F4FA52
-Inner product checksum mr5 = BE8EAAC
+Inner product checksum rho = 4839978C
+Inner product checksum theta = 5135492C
+Inner product checksum u = 612F5116
+Inner product checksum mr1 = 4090EFC2
+Inner product checksum mr2 = 35B5D7BE
+Inner product checksum mr3 = 2FA54E55
+Inner product checksum mr4 = 33F4FB3C
+Inner product checksum mr5 = BE84E02
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt
index 4c3055e43..50786d6ef 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_ens-seuk_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48399780
-Inner product checksum theta = 51354920
-Inner product checksum u = 612F4CC8
-Inner product checksum mr1 = 409107D7
-Inner product checksum mr2 = 35F9C267
-Inner product checksum mr3 = 2FA8A11D
-Inner product checksum mr4 = 33F4FD16
-Inner product checksum mr5 = BDD8274
+Inner product checksum rho = 4839978A
+Inner product checksum theta = 51354925
+Inner product checksum u = 612F51CE
+Inner product checksum mr1 = 409106D8
+Inner product checksum mr2 = 36054FAC
+Inner product checksum mr3 = 2FA7A15A
+Inner product checksum mr4 = 33F4FDFA
+Inner product checksum mr5 = BE0836A
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt
index 3e960dfc8..09a70c3e0 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_ral3_mixmol-seuk_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 48398C00
+Inner product checksum rho = 48398C14
Inner product checksum theta = 5135431E
-Inner product checksum u = 612EEA56
-Inner product checksum mr1 = 4090FE8B
-Inner product checksum mr2 = 358E3DF2
-Inner product checksum mr3 = 30012C13
-Inner product checksum mr4 = 3404ACCE
-Inner product checksum mr5 = C14A1B7
+Inner product checksum u = 612EE220
+Inner product checksum mr1 = 4090FE60
+Inner product checksum mr2 = 358C818C
+Inner product checksum mr3 = 300110C8
+Inner product checksum mr4 = 3404ACEA
+Inner product checksum mr5 = C149C25
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt
index b447aad5e..5318e06eb 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_rce-BiP64x64-1500x1500_MG_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 4830B629
-Inner product checksum theta = 513FD84B
-Inner product checksum u = 5F74B553
-Inner product checksum mr1 = 41559D92
-Inner product checksum mr2 = 3A498527
-Inner product checksum mr3 = 309D0902
+Inner product checksum rho = 4830B633
+Inner product checksum theta = 513FD83B
+Inner product checksum u = 5F74BFC9
+Inner product checksum mr1 = 4155B309
+Inner product checksum mr2 = 3A4D3002
+Inner product checksum mr3 = 309C88EE
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 3080c02d4..d073714bb 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F8B1D8
-Inner product checksum theta = 4D84D812
-Inner product checksum u = 601AD0B7
-Inner product checksum mr1 = 3C87096B
-Inner product checksum mr2 = 354B4642
-Inner product checksum mr3 = 31C31C1A
+Inner product checksum rho = 42F8B1D6
+Inner product checksum theta = 4D84D800
+Inner product checksum u = 601AD0BE
+Inner product checksum mr1 = 3C871072
+Inner product checksum mr2 = 3552C937
+Inner product checksum mr3 = 31D3C728
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 32defbc43..d5bf03e15 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_coma9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F5004A
-Inner product checksum theta = 4E044A0A
-Inner product checksum u = 5FC167BF
-Inner product checksum mr1 = 3CE14524
-Inner product checksum mr2 = 3416CCA8
-Inner product checksum mr3 = 2F882982
-Inner product checksum mr4 = 2ED7DD73
+Inner product checksum rho = 42F50046
+Inner product checksum theta = 4E044C03
+Inner product checksum u = 5FBFF00A
+Inner product checksum mr1 = 3CE0BFD7
+Inner product checksum mr2 = 348932BD
+Inner product checksum mr3 = 31279BBD
+Inner product checksum mr4 = 2EEB9616
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index b5d908458..0adc19059 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F8B1D8
-Inner product checksum theta = 4D84DAEE
-Inner product checksum u = 601AD410
-Inner product checksum mr1 = 3C829417
-Inner product checksum mr2 = 340EA19C
-Inner product checksum mr3 = 314DD8A6
+Inner product checksum rho = 42F8B1D6
+Inner product checksum theta = 4D84DAEF
+Inner product checksum u = 601AD41A
+Inner product checksum mr1 = 3C829C2B
+Inner product checksum mr2 = 3407BDD6
+Inner product checksum mr3 = 314F5B36
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 42e3e21f2..528031ecb 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_comorph_dev_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F5004A
-Inner product checksum theta = 4E044E20
-Inner product checksum u = 5FDBADC1
-Inner product checksum mr1 = 3CCA08C1
-Inner product checksum mr2 = 339AB55E
-Inner product checksum mr3 = 3039E709
-Inner product checksum mr4 = 2F0F42A7
+Inner product checksum rho = 42F50046
+Inner product checksum theta = 4E044E4C
+Inner product checksum u = 5FDD4323
+Inner product checksum mr1 = 3CC7B2CE
+Inner product checksum mr2 = 331179D2
+Inner product checksum mr3 = 2FF24AD6
+Inner product checksum mr4 = 2F26E792
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 0a2c7a588..b7e3fefec 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_bomex-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F8B1D8
-Inner product checksum theta = 4D84D840
+Inner product checksum rho = 42F8B1D6
+Inner product checksum theta = 4D84D83D
Inner product checksum u = 601AD7F0
-Inner product checksum mr1 = 3C80A92A
-Inner product checksum mr2 = 2EE9BE23
-Inner product checksum mr3 = 2DBBCA26
+Inner product checksum mr1 = 3C80A939
+Inner product checksum mr2 = 2EE9A7C0
+Inner product checksum mr3 = 2DBC7FCA
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index f89ff5a77..116f677fa 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_cbl_dry-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,3 +1,3 @@
Inner product checksum rho = 4336618C
-Inner product checksum theta = 4C40AEA3
-Inner product checksum u = 46233250
+Inner product checksum theta = 4C40AEA2
+Inner product checksum u = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 44396c304..69005270d 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_comp_tran_ref-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
Inner product checksum rho = 433541EC
-Inner product checksum theta = 4C365FE7
-Inner product checksum u = 5FC5C13C
-Inner product checksum mr1 = 3C64F3E4
-Inner product checksum mr2 = 3375F4E5
-Inner product checksum mr3 = 2E1CC38E
+Inner product checksum theta = 4C3661CC
+Inner product checksum u = 5FC5C131
+Inner product checksum mr1 = 3C66C42C
+Inner product checksum mr2 = 3420C58F
+Inner product checksum mr3 = 2E10D4E8
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 45cf184ef..7a22da287 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_dice2-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 433107DD
-Inner product checksum theta = 4C084540
-Inner product checksum u = 606FB514
-Inner product checksum mr1 = 3B3FF36A
-Inner product checksum mr2 = 30142D04
-Inner product checksum mr3 = 295BF9F3
+Inner product checksum rho = 433107DB
+Inner product checksum theta = 4C084544
+Inner product checksum u = 606FB50D
+Inner product checksum mr1 = 3B3FF380
+Inner product checksum mr2 = 3014247C
+Inner product checksum mr3 = 295BCC5D
Inner product checksum mr4 = 0
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index c2752033d..e93d856e2 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_gabls4-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
Inner product checksum rho = 42CD477E
-Inner product checksum theta = 4C2F1CBC
-Inner product checksum u = 6064CD3C
-Inner product checksum mr1 = 37236A4A
+Inner product checksum theta = 4C2F1CC9
+Inner product checksum u = 6064CD36
+Inner product checksum mr1 = 37230F82
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
-Inner product checksum mr4 = 33E73F7C
+Inner product checksum mr4 = 33EAA257
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 45dd263ea..33f4b4a42 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_sahara-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 431DF67A
+Inner product checksum rho = 431DF67C
Inner product checksum theta = 4C0E764E
-Inner product checksum u = 5E18F5EB
-Inner product checksum mr1 = 3B20110E
+Inner product checksum u = 5E18F5EA
+Inner product checksum mr1 = 3B201110
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 34e11f89b..c1616b904 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_seaice-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
Inner product checksum rho = 434FEE7A
-Inner product checksum theta = 4C46F479
-Inner product checksum u = 62E3E1BD
-Inner product checksum mr1 = 3A04E494
+Inner product checksum theta = 4C46F478
+Inner product checksum u = 62E3E1C3
+Inner product checksum mr1 = 3A04E4AA
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 0ab4105a2..c0102a24f 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_snow-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 433107DD
-Inner product checksum theta = 4C065E71
-Inner product checksum u = 606FB56E
-Inner product checksum mr1 = 3A8C700A
+Inner product checksum rho = 433107DB
+Inner product checksum theta = 4C065E7F
+Inner product checksum u = 606FB55D
+Inner product checksum mr1 = 3A8C69EF
Inner product checksum mr2 = 2DDBE6FE
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 934d54d4e..3b7c6bf77 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_gal9_toga-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F5004A
-Inner product checksum theta = 4E04560B
-Inner product checksum u = 5FB70145
-Inner product checksum mr1 = 3CE4E03F
-Inner product checksum mr2 = 33B18339
-Inner product checksum mr3 = 309DB4C6
-Inner product checksum mr4 = 305375DD
+Inner product checksum rho = 42F50046
+Inner product checksum theta = 4E0457CD
+Inner product checksum u = 5FB709A2
+Inner product checksum mr1 = 3CE651BE
+Inner product checksum mr2 = 331363B2
+Inner product checksum mr3 = 2EEE1887
+Inner product checksum mr4 = 2F58EA72
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 502bdbdc8..8ca50fdae 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_hd209458b-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,3 +1,3 @@
Inner product checksum rho = 42B581C2
-Inner product checksum theta = 54100BC0
+Inner product checksum theta = 541008D8
Inner product checksum u = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index fea9c53ac..3c6687e67 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_llcs-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 42F5004A
+Inner product checksum rho = 42F50046
Inner product checksum theta = 4E23238A
-Inner product checksum u = 5EA095A6
-Inner product checksum mr1 = 3C8347BC
+Inner product checksum u = 5EA095A3
+Inner product checksum mr1 = 3C8347CA
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index a0240c8a1..d3db131fa 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_rad_gas-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,6 +1,6 @@
-Inner product checksum rho = 4334F301
-Inner product checksum theta = 4C25DC67
-Inner product checksum u = 46234658
+Inner product checksum rho = 4334F2FE
+Inner product checksum theta = 4C25DC68
+Inner product checksum u = 0
Inner product checksum mr1 = 3AB44DA2
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 52eca1399..8584c5aee 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_constrain-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
Inner product checksum rho = 434FEE7A
-Inner product checksum theta = 4C47E477
-Inner product checksum u = 62E3D4FE
-Inner product checksum mr1 = 3A34153A
-Inner product checksum mr2 = 32F37441
-Inner product checksum mr3 = 28487960
-Inner product checksum mr4 = 340FFA25
-Inner product checksum mr5 = 2C85850A
-Inner product checksum mr6 = 2C8F388C
+Inner product checksum theta = 4C47E251
+Inner product checksum u = 62E3D540
+Inner product checksum mr1 = 3A37FEF3
+Inner product checksum mr2 = 31AEACAC
+Inner product checksum mr3 = 2602EE25
+Inner product checksum mr4 = 33BE4E1A
+Inner product checksum mr5 = 2A4D1790
+Inner product checksum mr6 = 2C90ABAB
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 8b2a0383f..0698002ee 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_moruses-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 433107DD
+Inner product checksum rho = 433107DB
Inner product checksum theta = 4C096ADD
-Inner product checksum u = 6074FC4A
-Inner product checksum mr1 = 3A6F4512
+Inner product checksum u = 6074FC44
+Inner product checksum mr1 = 3A6F450A
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 9188d0722..671920b15 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ral3_urban2t-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 433107DD
-Inner product checksum theta = 4C08B090
-Inner product checksum u = 6075B796
-Inner product checksum mr1 = 3A5C1B38
+Inner product checksum rho = 433107DB
+Inner product checksum theta = 4C08B091
+Inner product checksum u = 6075B791
+Inner product checksum mr1 = 3A5C1B46
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index acff47f31..f1b9dc86b 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_land-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,7 +1,7 @@
-Inner product checksum rho = 433107DD
+Inner product checksum rho = 433107DB
Inner product checksum theta = 4C08DF8A
-Inner product checksum u = 606FB530
-Inner product checksum mr1 = 3B1C91BB
+Inner product checksum u = 606FB526
+Inner product checksum mr1 = 3B1C91CA
Inner product checksum mr2 = 0
Inner product checksum mr3 = 0
Inner product checksum mr4 = 0
diff --git a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
index 0bef32c3e..4c6bdbbfd 100644
--- a/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_atm/ex1a/checksum_lfric_atm_scm_ukca_sea-BiP2x2-50000x50000_ex1a_cce_fast-debug-32bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 42F5004A
-Inner product checksum theta = 4E15E09C
-Inner product checksum u = 5F8A1B1A
-Inner product checksum mr1 = 3C97B680
-Inner product checksum mr2 = 2FDF867A
-Inner product checksum mr3 = 2A7A3B3A
-Inner product checksum mr4 = 309507F0
+Inner product checksum rho = 42F50046
+Inner product checksum theta = 4E15DFDC
+Inner product checksum u = 5F89D47F
+Inner product checksum mr1 = 3C9BB4DC
+Inner product checksum mr2 = 31E1A10A
+Inner product checksum mr3 = 2A8F7B6C
+Inner product checksum mr4 = 30E46F0B
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt
index 59542eb53..5694bc3ab 100644
--- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_dcmip301-C24_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3F2023A1579F4CA6
-Inner product checksum theta = 403305EF53061AF3
-Inner product checksum u = 433053B3D9E98577
+Inner product checksum rho = 3F202522A6F7BD18
+Inner product checksum theta = 403305E885E84657
+Inner product checksum u = 433053B464146A52
diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt
index 6e81ea90b..ba19e32b2 100644
--- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9-C12_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 3FB0A722971DA7BA
-Inner product checksum theta = 41621494ADEC66E3
-Inner product checksum u = 456A39A50D0416E9
-Inner product checksum mr1 = 3F42DD0B1132A8E7
-Inner product checksum mr2 = 3EF4967286229839
-Inner product checksum mr3 = 3EE27441ADF46267
-Inner product checksum mr4 = 3EECD8DC1C9F9E14
+Inner product checksum rho = 3FB0A721473C6F98
+Inner product checksum theta = 41621494E7881EA0
+Inner product checksum u = 456A39A4CCE3851C
+Inner product checksum mr1 = 3F42DD079AA4B163
+Inner product checksum mr2 = 3EF49676ACCDD386
+Inner product checksum mr3 = 3EE27441B20A14AF
+Inner product checksum mr4 = 3EECD8DC231E85EA
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt
index f67db9e10..5e085d026 100644
--- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_nwp_gal9_random-C12_MG_azspice_gnu_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 41277C6596F77831
-Inner product checksum theta = 43076F72A041E1AD
-Inner product checksum u = 4697E0B27F8BB1D4
-Inner product checksum mr1 = 40ACBDED4629A150
-Inner product checksum mr2 = 4070287081391943
-Inner product checksum mr3 = 406CE54F9949854D
-Inner product checksum mr4 = 406B16AFBD165E36
+Inner product checksum rho = 41277C63FE81F1B9
+Inner product checksum theta = 43076F729BE203DC
+Inner product checksum u = 4697E0B29D5B840B
+Inner product checksum mr1 = 40ACBDED050E4F68
+Inner product checksum mr2 = 40702870736FF0A6
+Inner product checksum mr3 = 406CE54F995D2A66
+Inner product checksum mr4 = 406B16AFBD0E06AE
Inner product checksum mr5 = 406997D0C9B8EEFB
Inner product checksum mr6 = 40699547929283AC
diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt
index 6a156b543..c8d360c0c 100644
--- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_runge-kutta-C12_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3EED6D12BBFEE283
-Inner product checksum theta = 4012F2F8A6298AB7
-Inner product checksum u = 42F12DF2D0BF0508
+Inner product checksum rho = 3EED6D12BBFEE3E8
+Inner product checksum theta = 4012F2F8A6298ADE
+Inner product checksum u = 42F12DF2D0BF11E4
diff --git a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt
index b63411a1f..79b028021 100644
--- a/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/azspice/checksum_linear_model_semi-implicit-C12_azspice_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3EED280BC7794AC5
-Inner product checksum theta = 4012F415A1A39B1D
-Inner product checksum u = 43A4936A5FD57109
+Inner product checksum rho = 3EED280BC775BFB8
+Inner product checksum theta = 4012F415A1A3EC61
+Inner product checksum u = 43A4936A5FDA097B
diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt
index 3dd72e7d8..c884ccba1 100644
--- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_dcmip301-C24_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3F2023A1741FA158
-Inner product checksum theta = 403305EF530E7FFE
-Inner product checksum u = 433053B3D78BBD3A
+Inner product checksum rho = 3F20252410E33449
+Inner product checksum theta = 403305E88487A9F6
+Inner product checksum u = 433053B4A5C39020
diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt
index 88dcd230c..4da81b082 100644
--- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9-C12_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 3FB0A721F37BF530
-Inner product checksum theta = 41621495176300D2
-Inner product checksum u = 456A39A5154E954C
-Inner product checksum mr1 = 3F42DD0EC99F3FA3
-Inner product checksum mr2 = 3EF49677E67BDF6D
-Inner product checksum mr3 = 3EE27441B31B2EB5
-Inner product checksum mr4 = 3EECD8DC0F65262B
+Inner product checksum rho = 3FB0A721A12A6856
+Inner product checksum theta = 416214938672B842
+Inner product checksum u = 456A39A264DC1282
+Inner product checksum mr1 = 3F42DD001F74B8A8
+Inner product checksum mr2 = 3EF4966E04786F3E
+Inner product checksum mr3 = 3EE27441B088413D
+Inner product checksum mr4 = 3EECD8DC023A8A50
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt
index 3f732dc97..7988ae9a6 100644
--- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_nwp_gal9_random-C12_MG_ex1a_gnu_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 41277C658F70B4AA
-Inner product checksum theta = 43076F729E422617
-Inner product checksum u = 4697E0B2800B2208
-Inner product checksum mr1 = 40ACBDED478B6CBE
-Inner product checksum mr2 = 407028707E9E0827
-Inner product checksum mr3 = 406CE54F994D7602
-Inner product checksum mr4 = 406B16AFBD11D457
+Inner product checksum rho = 41277C657D6F6A4F
+Inner product checksum theta = 43076F729E54EFBC
+Inner product checksum u = 4697E0B29BB9832B
+Inner product checksum mr1 = 40ACBDED077A9542
+Inner product checksum mr2 = 407028707806B322
+Inner product checksum mr3 = 406CE54F9958C446
+Inner product checksum mr4 = 406B16AFBCA448D4
Inner product checksum mr5 = 406997D0C9B8EEFC
Inner product checksum mr6 = 40699547929283AD
diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_runge-kutta-C12_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_runge-kutta-C12_ex1a_gnu_fast-debug-64bit.txt
index 89efa7137..3d8af37ae 100644
--- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_runge-kutta-C12_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_runge-kutta-C12_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3EED6D12BBFEE2CF
-Inner product checksum theta = 4012F2F8A6298ABA
-Inner product checksum u = 42F12DF2D0BF04F1
+Inner product checksum rho = 3EED6D12BBFEE403
+Inner product checksum theta = 4012F2F8A6298AE2
+Inner product checksum u = 42F12DF2D0BF11A9
diff --git a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt
index e7c2c8dc1..e9779c248 100644
--- a/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/linear_model/ex1a/checksum_linear_model_semi-implicit-C12_ex1a_gnu_fast-debug-64bit.txt
@@ -1,3 +1,3 @@
-Inner product checksum rho = 3EED280BC778B931
-Inner product checksum theta = 4012F415A1A38E8D
-Inner product checksum u = 43A4936A5FD9C42F
+Inner product checksum rho = 3EED280BC775BA39
+Inner product checksum theta = 4012F415A1A41543
+Inner product checksum u = 43A4936A5FDB561C
From d111a2c41b560ceb9efd51b7cb698e33bc2e321a Mon Sep 17 00:00:00 2001
From: Thomas Bendall <14180399+tommbendall@users.noreply.github.com>
Date: Tue, 27 Jan 2026 17:48:53 +0000
Subject: [PATCH 29/29] extended mesh can't use quadratic coords
---
.../app/gungho_model/opt/rose-app-gungho-alt2-spherical.conf | 1 +
1 file changed, 1 insertion(+)
diff --git a/rose-stem/app/gungho_model/opt/rose-app-gungho-alt2-spherical.conf b/rose-stem/app/gungho_model/opt/rose-app-gungho-alt2-spherical.conf
index 1fbafd521..d69103fe7 100644
--- a/rose-stem/app/gungho_model/opt/rose-app-gungho-alt2-spherical.conf
+++ b/rose-stem/app/gungho_model/opt/rose-app-gungho-alt2-spherical.conf
@@ -2,6 +2,7 @@
transport_overwrite_freq='split_step'
[namelist:finite_element]
+coord_order=1
vorticity_in_w1=.true.
[namelist:formulation]