Update PSyclone scripts for UKCA chemistry 3D chunking - #593
Conversation
|
I've added
The changes shouldn't be needed in |
|
testing branch: https://github.com/RobWatersMet/lfric_apps/tree/tesing-mn416-3d-chunking macro applied and dependencies.sh updated trac.log output: Test Suite Results - lfric_apps - testing_mn416_3d_chunking_lfric/run1Suite Information
Task Information✅ succeeded tasks - 1602 |
|
mn416 should be ready for scitech review |
UKCA full-domain mode chemistry chunking is now implemented in the UKCA code base, not as an lfric_apps PSyclone transformer. The PSyclone transformer now only adds OpenMP directives to the already-chunked code.
9dc38bb to
9f89af8
Compare
iboutle
left a comment
There was a problem hiding this comment.
A couple of minor metadata issues
| f"to loop: {err.message_text}") | ||
|
|
||
| raise TransformationError(err_msg) from err | ||
| if routine.name == "ukca_chemistry_ctl_full": |
There was a problem hiding this comment.
Only minor comment (and I acknowledge this is more a coding style suggestion):
if routine.name != "ukca...":
continue
This would allow you to decrease the nesting level.
Us PSyclone devs also recently discussed the handling of transformation errors might need some re-thinking (to allow you to remove the somewhat ugly large outside try block), but we don't have any agreed improved way.
Otherwise I am happy with this.
There was a problem hiding this comment.
Thanks Joerg Henrichs (@hiker). Done in commit 704d5b5.
Also remove duplicate copies of this file in favour of symlinks.
PR Summary
Sci/Tech Reviewer: Joe Wallwork (@joewallwork)
Code Reviewer: Pierre Siddall (@Pierre-siddall)
UKCA full-domain mode chemistry chunking will now be implemented in the UKCA code base, not as an lfric_apps PSyclone transformer. This PR updates the PSyclone transformer so that it now only adds OpenMP directives to the already-chunked code, rather than introduce chunking from scratch.
Code Quality Checklist
Testing
trac.log
testing branch: https://github.com/RobWatersMet/lfric_apps/tree/tesing-mn416-3d-chunking
macro applied and dependencies.sh updated
trac.log output:
Test Suite Results - lfric_apps - testing_mn416_3d_chunking_lfric/run1
Suite Information
Task Information
✅ succeeded tasks - 1602
Security Considerations
Performance Impact
AI Assistance and Attribution
Documentation
PSyclone Approval
I emailed the TCD team, but the email bounced.
Note to PSyclone team: This PR removes one PSyclone script that is no longer needed and simplifies another, so should reduce concerns around forward/backwards compatibility. Note that the modification includes a check of the PSyclone version number to decide how to insert explicitly private variables: for PSyclone < 3.3.0, these are added to the loop, and PSyclone >= 3.3.0 they are added to the directive.
Sci/Tech Review
(Please alert the code reviewer via a tag when you have approved the SR)
Code Review