-
Notifications
You must be signed in to change notification settings - Fork 33
(Closes #3259) shorten generated names for basis/diff-basis arrays #3264
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: master
Are you sure you want to change the base?
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3264 +/- ##
=======================================
Coverage 99.95% 99.95%
=======================================
Files 377 377
Lines 53667 53688 +21
=======================================
+ Hits 53645 53666 +21
Misses 22 22 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
This PR shortens the generated names used for various variables in order to avoid hitting compiler limitations as reported by Tom in #3259. Since we're no longer basing the names on existing variable names (which must be unique) I've had to increase the use of tags to ensure we cope in the face of name collisions. |
sergisiso
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.
Looks good @arporter. Its good to see more symbols managed by tags. My only suggestion is to see if we can keep short names still readable, but feel free to ignore if it is to much work.
|
Thanks for those suggestions. |
sergisiso
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.
It's looking good @arporter but I have a couple further questions.
|
Ready for another look now. |
sergisiso
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.
@arporter Almost there but one more question
| type(field_type) :: a, f | ||
| type(operator_type) :: b, c, d, e | ||
| type(field_type) :: a, a_field_with_a_very_long_name | ||
| type(operator_type) :: b, c, an_operator_with_a_very_long_name, e |
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.
I was ready to approve but I checked this example (from src/psyclone/tests/lfric_test.py) and the basis_/diff_basis_ /map_/ndf_/undf_ do get shortened to, .e.g: diff_basis_a4_an_or_wh_a_vy_lg_ne_qr
but the proxy and local stencil are still:
- an_operator_with_a_very_long_name_proxy
- an_operator_with_a_very_long_name_local_stencil
I know this is not exactly in the title of the PR, but do you want to also solve those?
And why did the new backend check not complain here?
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.
My feeling is that those are OK as the bulk of the length is due to the original name chosen by the scientist and they have control over that (and I'd like to get on to new things :-) ). The new backend check did not complain because it is generous and follows the F2008 standard of 63 chars.
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.
Ah sorry, I didn't realise the limit is 63 and the fs_name max length is set to 21, this is more than enough
No description provided.