Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
e9bdaf4
Progress save
mo-rickywong Mar 17, 2026
bb966f5
Remove global config from init_fem and surrounding code
mo-rickywong Mar 20, 2026
eff9a44
Merge branch 'main' into RmGlobalCfg_Init_fem
mo-rickywong Mar 20, 2026
15b9dda
Commit changes that mean this branch is clear of chi_tranform_mod
mo-rickywong Mar 20, 2026
d55e7c2
Merge branch 'main' into RmGlobalCfg_driver_pt1
mo-rickywong Mar 20, 2026
4becb8b
Merge branch 'RmGlobalCfg_driver_pt1' into RmGlobalCfg_Init_fem
mo-rickywong Mar 21, 2026
27de4c4
Clean out rest of driver
mo-rickywong Mar 22, 2026
4259432
Update multitile provision
mo-rickywong Mar 23, 2026
97a85fe
Update
mo-rickywong Mar 24, 2026
05e0850
Add a newer version of gemoetric constants
mo-rickywong Mar 25, 2026
df1eecc
Reverting file back to original on main
mo-rickywong Mar 25, 2026
7869db7
Need an unaltered compute latlon
mo-rickywong Mar 25, 2026
a019544
Revert old compute latlon
mo-rickywong Mar 25, 2026
131f7fc
Duplicate more
mo-rickywong Mar 25, 2026
bffc6d9
duplicate chi_transform
mo-rickywong Mar 25, 2026
a9ed9e1
update
mo-rickywong Mar 25, 2026
d57f71a
test for new files
mo-rickywong Mar 25, 2026
827e6e1
new files
mo-rickywong Mar 25, 2026
3951a00
update
mo-rickywong Mar 26, 2026
7dd12a7
Getting it back to before
mo-rickywong Mar 26, 2026
f08b803
Pass args, not config_type
mo-rickywong Mar 26, 2026
da8ece9
Merge branch 'main' into RmGlobalCfg_CoreDriver
mo-rickywong Mar 26, 2026
98f849f
Updates
mo-rickywong Mar 31, 2026
e560f49
updates
mo-rickywong Mar 31, 2026
41c3151
Updates
mo-rickywong Apr 1, 2026
33172d9
Merge branch 'main' into RmGlobalCfg_CoreDriver
mo-rickywong Apr 1, 2026
c1220e0
Tidy up and don't pass config type to initialise lfrix-xios as it wil…
mo-rickywong Apr 2, 2026
e1396eb
Passing geometry and toplogy as lfric2lfric may not be using base mesh
mo-rickywong Apr 3, 2026
05d8bc1
Merge branch 'main' into RmGlobalCfg_CoreDriver
mo-rickywong Apr 21, 2026
c3cbd14
Some tidy up, doxygen comments
mo-rickywong Apr 22, 2026
515f892
Remove this accidental commit
mo-rickywong Apr 22, 2026
d4f8af7
Update doxygen comments
mo-rickywong Apr 23, 2026
135eaff
Merge branch 'main' into RmGlobalCfg_CoreDriver
mo-rickywong Apr 23, 2026
71ebba6
Add in update macros
mo-rickywong Apr 29, 2026
6d2589c
Update rose stem to pre-macro state
mo-rickywong Apr 29, 2026
e740180
Add some kinds
mo-rickywong Apr 29, 2026
c68bc2b
Change the version on apps so the upgrade macros will work
mo-rickywong Apr 29, 2026
781111b
Fix existing issues on trunk cause update macro failures
mo-rickywong Apr 29, 2026
c5bfc2f
Update rose meta and macros for driver
mo-rickywong Apr 29, 2026
d9e59d5
Update versions update so that lfric2lfric partition duplicates aren'…
mo-rickywong Apr 29, 2026
946b1ad
Correct rose metadata settings
mo-rickywong Apr 30, 2026
284d495
Merge branch 'main' into fix_rose_stem_io_demo_and_lbc_demo
mo-rickywong Apr 30, 2026
6e2d278
Set io_demo to point to corresponding version of driver
mo-rickywong Apr 30, 2026
2ad260e
Merge branch 'fix_rose_stem_io_demo_and_lbc_demo' into RmGlobalCfg_Co…
mo-rickywong Apr 30, 2026
41fc339
update versions file
mo-rickywong Apr 30, 2026
6f9cdc4
Update some breakages from mergin on head on main
mo-rickywong May 1, 2026
be3a8c3
Tweaks
mo-rickywong May 1, 2026
e55befb
typo
mo-rickywong May 1, 2026
3c135d4
update
mo-rickywong May 1, 2026
ea62f92
Update metadata and macro so that unecessary namlists are not injected
mo-rickywong May 1, 2026
c275342
Update versions.py after app macros modified it
mo-rickywong May 1, 2026
b2c37c9
typo
mo-rickywong May 1, 2026
3395c89
Merge branch 'main' into RmGlobalCfg_CoreDriver
mo-rickywong May 1, 2026
dce3a6c
Remove explict false
mo-rickywong May 2, 2026
13e614a
Merge branch 'main' into RmGlobalCfg_CoreDriver
mo-rickywong May 8, 2026
3aadd0c
Merge branch 'main' into RmGlobalCfg_CoreDriver
mo-rickywong May 8, 2026
766e91c
Missing types
mo-rickywong May 8, 2026
eb25697
Missing type
mo-rickywong May 8, 2026
b09ac5e
Missing use statement
mo-rickywong May 8, 2026
7347a3a
Update to pass config_type
mo-rickywong May 28, 2026
aa0fc57
Merge branch 'main' into RmGlobalCfg_CoreDriver
mo-rickywong May 28, 2026
c08393d
Some tidy on doxygen comments
mo-rickywong Jun 4, 2026
5bc8501
Merge branch 'main' into RmGlobalCfg_CoreDriver
mo-rickywong Jun 4, 2026
0ac8cc2
Merge branch 'main' into RmGlobalCfg_CoreDriver
mo-rickywong Jun 5, 2026
fd42ee9
Remove feigners from core kernels
mo-rickywong Jun 8, 2026
968a6cd
Take out a tranch of feigners
mo-rickywong Jun 8, 2026
3c08c8a
Commit progress that should provide a green test suite
mo-rickywong Jun 18, 2026
5ea0eeb
Merge branch 'main' into RmGlobalCfg_CoreDriver
mo-rickywong Jun 18, 2026
c0c80f8
1st tranch of batch changes requested by @tommbendall
mo-rickywong Jun 25, 2026
4f4f6bc
2nd tranch of changes requested by tom Bendall
mo-rickywong Jun 25, 2026
e8921d8
1st tranch of changes requested by Steve Mullerworth
mo-rickywong Jun 25, 2026
86a9f26
1st tranch of changes requested by Andrew Coughtrie
mo-rickywong Jun 25, 2026
c5ea5c0
Local change for Steve Mullerworth
mo-rickywong Jun 25, 2026
eda9eb4
1st tranch of changes requested by Matthew Hambley
mo-rickywong Jun 25, 2026
077e3e3
Change for Matthew Hambley on character string
mo-rickywong Jun 25, 2026
5674b48
Knock on updates from requested changes
mo-rickywong Jun 26, 2026
180f52a
Merge branch 'main' into RmGlobalCfg_CoreDriver
mo-rickywong Jun 26, 2026
062bdeb
Changes to demonstrate kgo changes on lfric2lfric
mo-rickywong Jun 29, 2026
63e2785
Reinstate original changes
mo-rickywong Jun 29, 2026
64cb834
Merge branch 'main' into RmGlobalCfg_CoreDriver
mo-rickywong Jun 30, 2026
a772696
Merge branch 'RmGlobalCfg_CoreDriver' into ClearFeigners_1
mo-rickywong Jul 1, 2026
7ec44f4
Remove some linting
mo-rickywong Jul 1, 2026
02eaa0d
Merge branch 'main' into ClearFeigners_1
mo-rickywong Jul 2, 2026
898629b
Remove duplicate upgrade macro
mo-rickywong Jul 2, 2026
b31c494
Merge branch 'main' into ClearFeigners_1
mo-rickywong Jul 15, 2026
4350888
Push green revision with all of fem kernel components not using modul…
mo-rickywong Jul 21, 2026
b0c464a
Merge branch 'main' into ClearFeigners_1
mo-rickywong Jul 30, 2026
d3e78f2
Tidy up
mo-rickywong Jul 30, 2026
a76588f
Purge old rose stem commands and options (#437)
stevemullerworth Jul 30, 2026
1aa4a22
Update core software stack on monsoon for vn3.2 (#441)
t00sa Aug 3, 2026
4bfaa65
Core changes to stop reading time data on every rank (#426)
EdHone Aug 5, 2026
93df9b2
Bump Psyclone version in software_dependencies.rst (#430)
ickc Aug 14, 2026
0dec6f9
Reduce milan memory to 237GB (#451)
t00sa Aug 18, 2026
de4a8f7
change mixed-precision kernels to use iso-ieee kinds (#393)
mo-rickywong Aug 27, 2026
ef3f884
Prepartitioning with threading race condition fix (#450)
mattatmet Aug 24, 2026
503b8b3
Update psyclone ownerships (#455)
t00sa Aug 26, 2026
bbc840c
Merge branch 'main' into ClearFeigners_1
mo-rickywong Aug 27, 2026
a266e4a
Fix errors from merge up
mo-rickywong Aug 27, 2026
318308e
Remove much of direct dependency on base_mesh_config_mod
mo-rickywong Sep 1, 2026
f785e83
typo fix
mo-rickywong Sep 1, 2026
e95f82a
typo
mo-rickywong Sep 1, 2026
aad8ca4
Merge branch 'main' into DecoupleGeoTop
mo-rickywong Sep 3, 2026
d444f7b
Merge branch 'main' into ClearFeigners_1
mo-rickywong Sep 3, 2026
ed80725
Split subroutine into separate functions to get geometry, topology
mo-rickywong Sep 4, 2026
42daa40
Remove sci_mesh_enums and move functions to mesh object
mo-rickywong Sep 7, 2026
07f15b5
Merge branch 'DecoupleGeoTop' into ClearFeigners_1
mo-rickywong Sep 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 2 additions & 19 deletions applications/io_demo/source/driver/io_demo_checkpoint_mod.f90
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,6 @@ module io_demo_checkpoint_mod
LOG_LEVEL_DEBUG, LOG_LEVEL_ERROR
use mesh_mod, only: mesh_type

use base_mesh_config_mod, only: geometry_spherical, &
geometry_planar, &
topology_fully_periodic, &
topology_non_periodic

implicit none

private
Expand Down Expand Up @@ -71,21 +66,9 @@ subroutine setup_checkpoint_io(modeldb, chi, panel_id)
call log_event( 'io_demo: Setting up checkpoint I/O', LOG_LEVEL_DEBUG )

mesh => chi(1)%get_mesh()
if (mesh%is_geometry_spherical()) then
geometry = geometry_spherical
else
geometry = geometry_planar
end if

if (mesh%is_topology_periodic()) then
topology = topology_fully_periodic
else if (mesh%is_topology_non_periodic()) then
topology = topology_non_periodic
else
call log_event( 'Unsupported mesh topology', &
log_level_error )
end if

geometry = mesh%geometry()
topology = mesh%topology()
coord_system = modeldb%config%finite_element%coord_system()
scaled_radius = modeldb%config%planet%scaled_radius()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ module set_lbc_int_kernel_mod
use constants_mod, only: r_def, i_def, l_def, radians_to_degrees
use kernel_mod, only: kernel_type

use base_mesh_config_mod, only: geometry_spherical
use mesh_mod, only: geometry_spherical

implicit none

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ module set_lbc_real_kernel_mod
use constants_mod, only: r_def, i_def, l_def, radians_to_degrees
use kernel_mod, only: kernel_type

use base_mesh_config_mod, only: geometry_spherical
use mesh_mod, only: geometry_spherical

implicit none

Expand Down
38 changes: 25 additions & 13 deletions applications/skeleton/source/algorithm/skeleton_constants_mod.x90
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
module skeleton_constants_mod

! Infrastructure
use constants_mod, only: str_def, i_def, l_def
use constants_mod, only: str_def, r_def, i_def, l_def
use driver_modeldb_mod, only: modeldb_type
use field_mod, only: field_type
use fs_continuity_mod, only: W0, W1, W2, W2broken, &
Expand Down Expand Up @@ -80,7 +80,7 @@ contains
! Arguments
type(modeldb_type), intent(in) :: modeldb

type(mesh_type), pointer, intent(in) :: mesh
type(mesh_type), intent(in) :: mesh
type(field_type), target, intent(in) :: chi(:)
type(field_type), target, intent(in) :: panel_id

Expand Down Expand Up @@ -109,17 +109,26 @@ contains

integer(i_def) :: order_h, order_v
integer(i_def) :: nqp_h_exact, nqp_v_exact
integer(i_def) :: geometry
integer(i_def) :: topology
integer(i_def) :: coord_system
real(r_def) :: scaled_radius

integer(tik) :: id

if ( LPROF ) call start_timing( id, 'skeleton_constants_alg' )

call log_event( "Skeleton: creating runtime constants", LOG_LEVEL_INFO )

order_h = modeldb%config%finite_element%element_order_h()
order_v = modeldb%config%finite_element%element_order_v()
nqp_h_exact = modeldb%config%finite_element%nqp_h_exact()
nqp_v_exact = modeldb%config%finite_element%nqp_v_exact()
geometry = mesh%geometry()
topology = mesh%topology()

order_h = modeldb%config%finite_element%element_order_h()
order_v = modeldb%config%finite_element%element_order_v()
nqp_h_exact = modeldb%config%finite_element%nqp_h_exact()
nqp_v_exact = modeldb%config%finite_element%nqp_v_exact()
coord_system = modeldb%config%finite_element%coord_system()
scaled_radius = modeldb%config%planet%scaled_radius()

!=========== Create function spaces required for setup ==================!

Expand Down Expand Up @@ -167,13 +176,16 @@ contains
call curl_inventory%add_operator( curl, w2_fs, w1_fs, mesh )
call broken_div_inventory%add_operator( broken_div, w3_fs, w2b_fs, mesh )

call invoke( name = "create_de_rham_matrices", &
compute_derham_matrices_kernel_type(mm_w0, mm_w1, &
mm_w2, mm_w2b, &
mm_w3, mm_wtheta, &
grad, curl, &
div, broken_div, &
chi, panel_id, qr) )
call invoke( name = "create_de_rham_matrices", &
compute_derham_matrices_kernel_type(mm_w0, mm_w1, &
mm_w2, mm_w2b, &
mm_w3, mm_wtheta, &
grad, curl, &
div, broken_div, &
chi, panel_id, &
geometry, topology, &
coord_system, &
scaled_radius, qr) )

!===================== Add operators to inventories =======================!

Expand Down
35 changes: 13 additions & 22 deletions components/driver/source/driver_coordinates_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@ module driver_coordinates_mod
schmidt_transform_xyz, &
inverse_schmidt_transform_xyz

use mesh_mod, only: geometry_planar, &
geometry_spherical, &
topology_periodic, &
topology_non_periodic

! Configuration modules
use base_mesh_config_mod, only: geometry_planar, &
geometry_spherical, &
topology_fully_periodic, &
topology_non_periodic
use finite_element_config_mod, only: coord_system_xyz

implicit none
Expand Down Expand Up @@ -64,7 +65,7 @@ subroutine assign_coordinate_field(config, mesh, chi, panel_id)
implicit none

type(config_type), intent(in) :: config
type(mesh_type), intent(in), pointer :: mesh
type(mesh_type), intent(in) :: mesh
type(field_type), intent(inout) :: chi(3)
type(field_type), intent(inout) :: panel_id

Expand Down Expand Up @@ -108,18 +109,8 @@ subroutine assign_coordinate_field(config, mesh, chi, panel_id)

nullify( map, map_pid, dof_coords, reference_element )

if (mesh%is_geometry_spherical()) then
geometry = geometry_spherical
else
geometry = geometry_planar
end if

if (mesh%is_topology_periodic()) then
topology = topology_fully_periodic
else
topology = topology_non_periodic
end if

geometry = mesh%geometry()
topology = mesh%topology()
coord_system = config%finite_element%coord_system()
scaled_radius = config%planet%scaled_radius()

Expand Down Expand Up @@ -178,7 +169,7 @@ subroutine assign_coordinate_field(config, mesh, chi, panel_id)
! Throw an error if stretching factor is not 1 and not on cubed-sphere
if ( abs(stretch_factor - 1.0_r_def) > eps .and. .not. &
(geometry == geometry_spherical .and. &
topology == topology_fully_periodic) ) then
topology == topology_periodic) ) then
call log_event( &
'driver_coordinates: Cannot determine coordinates if Schmidt ' // &
'stretching factor is not 1 and mesh is not cubed-sphere', &
Expand Down Expand Up @@ -228,7 +219,7 @@ subroutine assign_coordinate_field(config, mesh, chi, panel_id)
end do

else if ( geometry == geometry_spherical .and. &
topology /= topology_fully_periodic ) then
topology /= topology_periodic ) then

do cell = 1,chi_proxy(1)%vspace%get_ncell()

Expand Down Expand Up @@ -263,7 +254,7 @@ subroutine assign_coordinate_field(config, mesh, chi, panel_id)
end do

else if ( geometry == geometry_spherical .and. &
topology == topology_fully_periodic ) then
topology == topology_periodic ) then

do cell = 1,chi_proxy(1)%vspace%get_ncell()

Expand Down Expand Up @@ -352,7 +343,7 @@ subroutine calc_panel_id( nlayers, &
integer(kind=i_def) :: vert, k

if ( geometry == geometry_spherical .and. &
topology == topology_fully_periodic ) then
topology == topology_periodic ) then

! The following code assumes that the mesh generator has ordered the
! global cell ids panel-by-panel. If this is ever not the case, the
Expand Down Expand Up @@ -451,7 +442,7 @@ subroutine assign_coordinate_xyz( nlayers, &
end if
! Domain does not have N-S boundaries only if topology completely periodic
if ( column_coords(2,SWB,k+1) > column_coords(2,NWB,k+1) .and. &
topology == topology_fully_periodic ) then
topology == topology_periodic ) then
! On y boundary
vertex_local_coords(2,SWB) = domain_y
vertex_local_coords(2,SEB) = domain_y
Expand Down
21 changes: 6 additions & 15 deletions components/driver/source/driver_fem_mod.f90
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,17 @@ module driver_fem_mod
use sci_chi_transform_mod, only: init_chi_transforms, &
final_chi_transforms

use mesh_mod, only: geometry_spherical, &
geometry_planar, &
topology_non_periodic

! Object types
use config_mod, only: config_type
use field_mod, only: field_type
use mesh_mod, only: mesh_type
use inventory_by_mesh_mod, only: inventory_by_mesh_type

! Configuration modules
use base_mesh_config_mod, only: geometry_spherical, &
geometry_planar, &
topology_non_periodic, &
topology_fully_periodic
use finite_element_config_mod, only: coord_system_xyz, &
coord_space_W0, &
coord_space_Wchi, &
Expand Down Expand Up @@ -121,17 +121,8 @@ subroutine init_fem(config, chi_inventory, panel_id_inventory)
mesh => mesh_collection%get_mesh(all_mesh_names(i))
mesh_name = mesh%get_mesh_name()

if (mesh%is_geometry_spherical()) then
geometry = geometry_spherical
else
geometry = geometry_planar
end if

if (mesh%is_topology_periodic()) then
topology = topology_fully_periodic
else
topology = topology_non_periodic
end if
geometry = mesh%geometry()
topology = mesh%topology()

! Initialise coordinate transformations
call init_chi_transforms( geometry, topology, &
Expand Down
6 changes: 3 additions & 3 deletions components/driver/source/driver_mesh_mod.f90
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,11 @@ module driver_mesh_mod

use global_mesh_collection_mod, only: global_mesh_collection
use local_mesh_collection_mod, only: local_mesh_collection
use mesh_mod, only: geometry_spherical, &
topology_periodic

! Configuration modules
use finite_element_config_mod, only: cellshape_quadrilateral
use base_mesh_config_mod, only: geometry_spherical, &
topology_fully_periodic

implicit none

Expand Down Expand Up @@ -287,7 +287,7 @@ subroutine init_mesh( config, &
generate_inner_halos = config%partitioning%generate_inner_halos()

if ( geometry == geometry_spherical .and. &
topology == topology_fully_periodic ) then
topology == topology_periodic ) then
mesh_selection = mesh_cubedsphere
call log_event( "Setting up cubed-sphere partition mesh(es)", &
log_level_debug )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ contains
real(kind=r_def), parameter :: radius = 104.0_r_def

integer(kind=i_def) :: nlayers, ndf_chi, undf_chi, ndf_pid, undf_pid
integer(kind=i_def) :: map_chi(1), map_pid(1), nverts, i
integer(kind=i_def) :: map_chi(1), map_pid(1), nverts
real(kind=r_def) :: alpha(2), beta(2), panel_rho(4)
real(kind=r_def) :: alpha_out(1), beta_out(1), height_out(1), panel_id(1)
real(kind=r_def) :: verts_XYZ(3,8,1), verts_ref(8,3), nodal_coord(3,1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ module assign_coordinate_xyz_mod_test

use constants_mod, only : r_def, i_def

use base_mesh_config_mod, only: geometry_planar, topology_fully_periodic
use mesh_mod, only: geometry_planar, topology_periodic
use funit

implicit none
Expand All @@ -33,7 +33,7 @@ contains
one = 1.0_r_def

integer(i_def), parameter :: geometry = geometry_planar
integer(i_def), parameter :: topology = topology_fully_periodic
integer(i_def), parameter :: topology = topology_periodic
real(r_def), parameter :: scaled_radius = 1.0_r_def

integer(kind=i_def) :: nlayers, ndf, nverts, i, undf, ndf_pid, undf_pid
Expand Down
2 changes: 0 additions & 2 deletions components/science/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,7 @@ document-api: api-documentation
#
unit-tests/%: export BIN_DIR ?= $(PROJECT_DIR)/test
unit-tests/%: export CXX_LINK = TRUE
#unit-tests/%: export EXTERNAL_STATIC_LIBRARIES += pfunit
unit-tests/%: export IMPORT_PARTS = $(CORE_ROOT_DIR)/infrastructure \
# $(CORE_ROOT_DIR)/components/lfric-xios \
$(CORE_ROOT_DIR)/components/inventory \
$(CORE_ROOT_DIR)/components/driver
unit-tests/%: export META_FILE_DIR = rose-meta/lfric-science/HEAD
Expand Down
Loading
Loading