-
Notifications
You must be signed in to change notification settings - Fork 19
Reusing xt xmap #198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Reusing xt xmap #198
Conversation
|
Thanks for offering to sci/tech review this, @MatthewHambley. |
MatthewHambley
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some comments for consideration but I notice no changes to the UML. Are any needed?
| !> \param[in,out] self The exchange-map collection from which | ||
| !! the map is retrieved or to which a new | ||
| !! map is added. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Normally we don't document this object pointer, taking it as a given.
| if ( mesh_id == listhalo_routing%get_exchange_map_mesh_id() .and. & | ||
| element_order_h == listhalo_routing%get_exchange_map_element_order_h() .and. & | ||
| element_order_v == listhalo_routing%get_exchange_map_element_order_v() .and. & | ||
| lfric_fs == listhalo_routing%get_exchange_map_lfric_fs() .and. & | ||
| ndata == listhalo_routing%get_exchange_map_ndata() .and. & | ||
| halo_depth == listhalo_routing%get_exchange_map_halo_depth() ) then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could use a hash here to avoid the massive compound conditional but it probably isn't worth it.
| end function get_local_mesh_ptr | ||
|
|
||
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
| @Test( npes=[1] ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't you want to test this with more than one process? Although I notice that other tests in this file don't.
| class(halo_comms_test_type), intent(inout) :: this | ||
|
|
||
| type(exchange_map_type) :: exchange_map | ||
| type(function_space_type), pointer :: function_space => null() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably not important in this case but if we were running this test with different numbers of processes the implicit save here may become a problem.
|
|
||
| result = exchange_map%get_exchange_map_ndata() | ||
| @assertEqual( 2, result ) | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No test of the actual map? Are we assuming that YAXT knows its business?
PR Summary
Sci/Tech Reviewer: @MatthewHambley
Code Reviewer:
Create, store and reuse xmaps in the creation of halo routing tables.
Code Quality Checklist
(Some checks are automatically carried out via the CI pipeline)
style guidelines
readability of the code
Testing
using this branch
acceptable (e.g. kgo changes)
tests, unit tests, etc.)
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
Test Suite Results - lfric_core - reusing_xt_xmap_core/run2
Suite Information
Task Information
✅ succeeded tasks - 372
Security Considerations
Performance Impact
performance measurements have been conducted
AI Assistance and Attribution
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
confirmed that it builds correctly
PSyclone Approval
interface, optimisation scripts, LFRic data structure code) then please
contact the
tooscollabdevteam@metoffice.gov.uk
Sci/Tech Review
Please alert the code reviewer via a tag when you have approved the SR
Code Review