Skip to content

Lfric2lfric: generate lbcs in the lbc mesh#369

Draft
ukmo-juan-castillo wants to merge 8 commits intoMetOffice:mainfrom
ukmo-juan-castillo:lfric2lfric_lbc_mesh
Draft

Lfric2lfric: generate lbcs in the lbc mesh#369
ukmo-juan-castillo wants to merge 8 commits intoMetOffice:mainfrom
ukmo-juan-castillo:lfric2lfric_lbc_mesh

Conversation

@ukmo-juan-castillo
Copy link
Contributor

PR Summary

Sci/Tech Reviewer:
Code Reviewer:

The changes here are intended to generate lbcs in the lbc mesh in lfric2lfric. This will greatly reduce the size of lbc files, which is a large obstacle in the development of high resolution regional LFRic configurations. It will still be possible to generate lbcs in the regional mesh, the user can select one or other option by specifying the destination mesh. The partitioning of the lbc mesh is done so that all CPUs will be filled, and no CPU will stay idle. Because the lbc mesh partitioning will not correspond to the regional mesh, this partitioning at the moment can only be used by lfric2lfric. Other applications can benefit from this lbc mesh partitioning if the regional mesh is not involved in the application.

No extra namelist parameters for partitioning or panel decomposition are needed. If a destination lbc mesh is specified in lfric2lfric, lfric2lfric will by default partition it with the lfric2lfric lbc mesh partitioning.

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 Apps rose-stem suite
  • 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

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

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

lfric2lfric: lbcs written in a lbc mesh

1 participant