Skip to content

Rename meshes for benefit of lfric2lfric - #386

Open
cjohnson-pi wants to merge 41 commits into
MetOffice:mainfrom
cjohnson-pi:rename_meshes_core
Open

Rename meshes for benefit of lfric2lfric#386
cjohnson-pi wants to merge 41 commits into
MetOffice:mainfrom
cjohnson-pi:rename_meshes_core

Conversation

@cjohnson-pi

@cjohnson-pi cjohnson-pi commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

PR Summary

Sci/Tech Reviewer:
Code Reviewer: Ricky Wong (@mo-rickywong)

Rename the meshes using an upgrade macro so that global meshes are: l0_cubedsphere, l1_cubedsphere, l2_cubedsphere and regional meshes are l0_planar, l1_planar, l2_planar. (i.e. the same name as the mesh generator and partitioner) - and with the different levels (with the l0 first so that they are easily seen when viewing the mesh with ncview, and removing any reference to primary or dynamics meshes - they are all just meshes of different levels).

This will enable lfric2lfric to regrid from global to regional in the rose-stem test-suite. Currently both the global and regional meshes are named the same thing (dynamics), which causes problems for lfric2lfric - which requires the meshes to have different names.

In addition, as the coarse-level meshes are also not only used for multigrid, it is better to rename them to a more general purpose name.

MetOffice/lfric_apps#551

blocks MetOffice/lfric_apps#530

Code Quality Checklist

  • I have performed a self-review of my own code
  • My code follows the project's style guidelines
  • Comments have been included that aid understanding and enhance the readability of the code
  • My changes generate no new warnings
  • All automated checks in the CI pipeline have completed successfully

Testing

  • I have tested this change locally, using the LFRic Core rose-stem suite
  • If required (e.g. API changes) I have also run the LFRic Apps test suite using this branch
  • If any tests fail (rose-stem or CI) the reason is understood and acceptable (e.g. kgo changes)
  • I have added tests to cover new functionality as appropriate (e.g. system tests, unit tests, etc.)
  • Any new tests have been assigned an appropriate amount of compute resource and have been allocated to an appropriate testing group (i.e. the developer tests are for jobs which use a small amount of compute resource and complete in a matter of minutes)

trac.log

Run by first applying (from the components directory)
$UMDIR/SimSys_Scripts/lfric_macros/apply_macros.py vn3.2_t386 --core=.. --apps='/home/users/christine.johnson/git/lfric_apps'

Test Suite Results - lfric_core - rename_meshes_core/run13

Suite Information

Item Value
Suite Name rename_meshes_core/run13
Suite User christine.johnson
Workflow Start 2026-07-17T15:51:34
Groups Run suite_default
Dependency Reference Main Like
lfric_core cjohnson-pi/lfric_core@rename_meshes_core False
SimSys_Scripts MetOffice/SimSys_Scripts@cab3315 True

Task Information

❌ failed tasks - 90
Task State
check_mesh_tools_cubedsphere-c1_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-c1_azspice_gnu_full-debug-64bit failed
check_mesh_tools_cubedsphere-c1_ex1a_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-c2_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-c2_azspice_gnu_full-debug-64bit failed
check_mesh_tools_cubedsphere-c2_ex1a_cce_full-debug-64bit failed
check_mesh_tools_cubedsphere-c3_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-c3_azspice_gnu_full-debug-64bit failed
check_mesh_tools_cubedsphere-c3_ex1a_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-maps_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-maps_azspice_gnu_full-debug-64bit failed
check_mesh_tools_cubedsphere-maps_ex1a_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-op-2panels_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-op-2panels_azspice_gnu_full-debug-64bit failed
check_mesh_tools_cubedsphere-op-2panels_ex1a_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-op-3panels_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-op-3panels_azspice_gnu_full-debug-64bit failed
check_mesh_tools_cubedsphere-op-3panels_ex1a_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-op-nonuniform_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-op-nonuniform_azspice_gnu_full-debug-64bit failed
check_mesh_tools_cubedsphere-op-nonuniform_ex1a_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-op_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-op_azspice_gnu_full-debug-64bit failed
check_mesh_tools_cubedsphere-op_ex1a_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-rotated_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere-rotated_azspice_gnu_full-debug-64bit failed
check_mesh_tools_cubedsphere-rotated_ex1a_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_cubedsphere_azspice_gnu_full-debug-64bit failed
check_mesh_tools_cubedsphere_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_equator-band_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_equator-band_azspice_gnu_full-debug-64bit failed
check_mesh_tools_equator-band_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_equator_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_equator_azspice_gnu_full-debug-64bit failed
check_mesh_tools_equator_ex1a_cce_full-debug-64bit failed
check_mesh_tools_falklands_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_falklands_azspice_gnu_full-debug-64bit failed
check_mesh_tools_falklands_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_lam_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_lam_azspice_gnu_full-debug-64bit failed
check_mesh_tools_lam_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_london-model_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_london-model_azspice_gnu_full-debug-64bit failed
check_mesh_tools_london-model_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_nzlam4_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_nzlam4_azspice_gnu_full-debug-64bit failed
check_mesh_tools_nzlam4_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_planar-bi-periodic_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_planar-bi-periodic_azspice_gnu_full-debug-64bit failed
check_mesh_tools_planar-bi-periodic_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_planar-lbc_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_planar-lbc_azspice_gnu_full-debug-64bit failed
check_mesh_tools_planar-lbc_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_planar-maps_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_planar-maps_azspice_gnu_full-debug-64bit failed
check_mesh_tools_planar-maps_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_planar-non-periodic_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_planar-non-periodic_azspice_gnu_full-debug-64bit failed
check_mesh_tools_planar-non-periodic_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_planar-op-lam_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_planar-op-lam_azspice_gnu_full-debug-64bit failed
check_mesh_tools_planar-op-lam_ex1a_cce_full-debug-64bit failed
check_mesh_tools_planar-stretch-centres_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_planar-stretch-centres_azspice_gnu_full-debug-64bit failed
check_mesh_tools_planar-stretch-centres_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_planar-stretch-nodes_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_planar-stretch-nodes_azspice_gnu_full-debug-64bit failed
check_mesh_tools_planar-stretch-nodes_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_planar-stretch-points_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_planar-stretch-points_azspice_gnu_full-debug-64bit failed
check_mesh_tools_planar-stretch-points_ex1a_gnu_fast-debug-64bit failed
check_mesh_tools_planar-trench-x_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_planar-trench-x_azspice_gnu_full-debug-64bit failed
check_mesh_tools_planar-trench-x_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_planar-trench-y_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_planar-trench-y_azspice_gnu_full-debug-64bit failed
check_mesh_tools_planar-trench-y_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_polar_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_polar_azspice_gnu_full-debug-64bit failed
check_mesh_tools_polar_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_uk_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_uk_azspice_gnu_full-debug-64bit failed
check_mesh_tools_uk_ex1a_cce_fast-debug-64bit failed
check_mesh_tools_var-poly-seuk_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_var-poly-seuk_azspice_gnu_full-debug-64bit failed
check_mesh_tools_var-poly-seuk_ex1a_gnu_fast-debug-64bit failed
check_mesh_tools_var-seuk_azspice_gnu_fast-debug-64bit failed
check_mesh_tools_var-seuk_azspice_gnu_full-debug-64bit failed
check_mesh_tools_var-seuk_ex1a_gnu_fast-debug-64bit failed
✅ succeeded tasks - 341
⌛ waiting tasks - 2
Task State
housekeep_azspice waiting
housekeep_ex1a waiting

Security Considerations

  • I have reviewed my changes for potential security issues
  • Sensitive data is properly handled (if applicable)
  • Authentication and authorisation are properly implemented (if applicable)

Performance Impact

  • Performance of the code has been considered and, if applicable, suitable performance measurements have been conducted

AI Assistance and Attribution

  • Some of the content of this change has been produced with the assistance of Generative AI tool name (e.g., Met Office Github Copilot Enterprise, Github Copilot Personal, ChatGPT GPT-4, etc) and I have followed the Simulation Systems AI policy (including attribution labels)

Documentation

  • Where appropriate I have updated documentation related to this change and confirmed that it builds correctly

PSyclone Approval

  • If you have edited any PSyclone-related code (e.g. PSyKAl-lite, Kernel interface, optimisation scripts, LFRic data structure code) then please contact the TCD Team

Sci/Tech Review

  • I understand this area of code and the changes being added
  • The proposed changes correspond to the pull request description
  • Documentation is sufficient (do documentation papers need updating)
  • Sufficient testing has been completed

(Please alert the code reviewer via a tag when you have approved the SR)

Code Review

  • All dependencies have been resolved
  • Related Issues have been properly linked and addressed
  • CLA compliance has been confirmed
  • Code quality standards have been met
  • Tests are adequate and have passed
  • Documentation is complete and accurate
  • Security considerations have been addressed
  • Performance impact is acceptable

@cjohnson-pi cjohnson-pi added this to the Autumn 2026 milestone Jun 8, 2026
@cjohnson-pi cjohnson-pi self-assigned this Jun 8, 2026
@github-actions github-actions Bot added the cla-required The CLA has not yet been signed by the author of this PR - added by GA label Jun 8, 2026
@cjohnson-pi cjohnson-pi added the Linked Apps This PR is linked to a MetOffice/lfric_apps PR label Jun 11, 2026
@cjohnson-pi cjohnson-pi added the KGO This PR contains changes to KGO label Jun 15, 2026
@cjohnson-pi cjohnson-pi added the macro This PR contains a metadata upgrade macro label Jun 23, 2026
@cjohnson-pi cjohnson-pi changed the title Rename meshes Rename meshes for benefit of lfric2lfric Jul 3, 2026
@github-actions github-actions Bot removed the cla-required The CLA has not yet been signed by the author of this PR - added by GA label Jul 17, 2026
@cjohnson-pi
cjohnson-pi marked this pull request as ready for review July 20, 2026 08:50

@mo-rickywong Ricky Wong (mo-rickywong) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, though going to have to shoot this one down for several reasons:

  • Lfric2Lfric is overstepping it mark in this change. These changes are only for the benefit lfric2lfric and impose assumptions on other apps about their naming / configuration choices.
  • Names of meshes would ideally be determined be determined by the application they are for, i.e. LFRic2LFRic, however, in this case, the proposed naming convention is being imposed everywhere. This is a result of all applications just 'using' the mesh app in rose stem to generate their meshes. I don't see anything wrong with having an lfricinputs mesh generation app. Then it can call it's meshes whatever it likes. The upgrade macros would have to distinguish what the app it was working on was. James bruten might be able to help on that.
  • The current mesh names were a early placeholders (in hindsight a poor choice), not meant long term. Ideally if the mesh name is to encode any information (rather than be just a label) it should only be about the mesh, not about what/where it is to be used.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file will change all the names of the meshes in mesh_tools test-suite. The mesh-tools test suite has nothing to do with the mesh names used by lfric2lfric and shouldn't know anything about it or multigrid levels.

Please do not apply this macro to mesh tools

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Driver settings shouldn't have any knowledge of multigrid.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't have info relating to multigrid

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

KGO This PR contains changes to KGO Linked Apps This PR is linked to a MetOffice/lfric_apps PR macro This PR contains a metadata upgrade macro

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants