2026.07.1 - MetOffice/simulation-systems GitHub Wiki
Simulation Systems 2026.07.1 Release
Release date: 10th July 2026
Included Releases
- LFRic Apps vn3.2
- LFRic Core vn3.2
- UM vn14.2 (private within the MetOffice organisation)
- JULES vn8.2
Software Stack Updates
- Psyclone updated to 3.3.1 (This includes changes introduced in the 3.3.0 release)
- Full LFRic Software Stack details
Upgrading a branch to the release
In order to merge the release changes from stable into your branch in your fork:
- Synchronise your fork with the latest changes on stable
- Fetch the latest changes into your clone
git fetch origin - Merge those changes into your branch
git switch <branch name>git merge origin/stable
Alternatively, cut a new branch from stable and merge your original branch into this.
For more details see Updating Branches
LFRic Apps Key Changes
- Addition of conservative diffusion operator for scalars (MetOffice/lfric_apps#378)
- Ensure moisture conservation from Gungho linear solver (MetOffice/lfric_apps#394)
- Improved representation of orography (MetOffice/lfric_apps#180)
- Fix issues with threading and cross-panel partitions (MetOffice/lfric_apps#458)
- Change the way lfric_atm code accesses some configuration options (MetOffice/lfric_apps:#418). See the lfric_core section for details about the linked lfric_core ticket. Note: This change may cause significant conflicts with older branches.
lfric_atm Rank / Partition Count constraint
A new constraint has been introduced into lfric_atm related to how output jobs using xios_server.exe are handled with number of ranks.
The constraint is under investigation to discover causes and explore whether it can be removed in the future.
The constraint it that the number of mpi_parts_xios must be able to exactly divide the number of faces and edges of the mesh.
The failure mode is a runtime failure, leading to a core dump, which describes memory access errors on xios_server.exe processes, e.g. <error reading variable: Cannot access memory at address 0x1e11d8>
To avoid this failure mode, it is necessary to constrain the mpi_parts_xios by analysing the mesh parameters.
! Planar
nfaces_pl = nx * ny
nedges_pl = 2*(nx*ny) + nx + ny
nnodes+pl = (nx+1) * (ny+1)
! Cubed-sphere
nfaces_cu = 6*(nx * ny)
nedges_cu = 2 * (6*nx*ny + nx - ny)
nnodes_cu = 6*nx*ny + 2*nx - 2*ny + 2
! If nx=ny (like for all our Cn cubed-sphere meshes), this simplifies to:
nfaces_cu = 6*n*n
nedges_cu = 2 * (6*n*n)
nnodes_cu = 6*n*n + 2
For example, for a regional model, ral3-ukv, then the mesh is defined by:
https://github.com/MetOffice/lfric_apps/blob/main/rose-stem/app/mesh/opt/rose-app-ukv_MG.conf#L17
960 x 1024nfaces = 960 x 1024 = 983040nedges = 2 x (960 x 1024) + 960 + 1024 = 1968064
- the largest common factor (largest common divisor) of 1968064 & 983040 is 64
mpi_parts_xiosis set to64for this model configuration, to enable it to run
LFRic Core Key Changes
- Add new coordinate space options (MetOffice/lfric_core#238)
- Fix issues with threading and cross-panel partitions (MetOffice/lfric_core#349)
- Most namelist configuration choices are now obtained by accessing the
configobject held inmodeldbrather than by using them from_config_mod(MetOffice/lfric_core#324). This change has required large-scale matching changes inlfric_atm(MetOffice/lfric_apps/#418). See the following documentation on the config object: