Skip to content

(Towards #1542) Allow GH_WRITE for fields on continuous spaces#1608

Merged
TeranIvy merged 38 commits intomasterfrom
1542_cont_write
May 25, 2022
Merged

(Towards #1542) Allow GH_WRITE for fields on continuous spaces#1608
TeranIvy merged 38 commits intomasterfrom
1542_cont_write

Conversation

@arporter
Copy link
Member

@arporter arporter commented Feb 7, 2022

No description provided.

@codecov
Copy link

codecov bot commented Feb 7, 2022

Codecov Report

Merging #1608 (9886c80) into master (5716f9a) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #1608   +/-   ##
=======================================
  Coverage   99.38%   99.38%           
=======================================
  Files         249      249           
  Lines       37501    37560   +59     
=======================================
+ Hits        37269    37329   +60     
+ Misses        232      231    -1     
Impacted Files Coverage Δ
src/psyclone/tests/dynamo0p3_multigrid_test.py 100.00% <ø> (ø)
src/psyclone/domain/lfric/lfric_arg_descriptor.py 100.00% <100.00%> (ø)
src/psyclone/dynamo0p3.py 99.85% <100.00%> (+0.03%) ⬆️
src/psyclone/tests/dynamo0p3_haloex_test.py 100.00% <100.00%> (ø)
src/psyclone/tests/dynkern_test.py 100.00% <100.00%> (ø)
src/psyclone/transformations.py 99.34% <100.00%> (+<0.01%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5716f9a...9886c80. Read the comment docs.

@arporter arporter self-assigned this Feb 7, 2022
@arporter arporter added the LFRic Issue relates to the LFRic domain label Feb 7, 2022
@arporter
Copy link
Member Author

arporter commented Feb 7, 2022

CI permitting, I think this is ready for a first look from either @rupertford or @TeranIvy. (Note that the MarkDown link checking is failing because of Binder. Perhaps we need to increase how long the link-checker waits for a response as this is a common problem.)

@TeranIvy
Copy link
Collaborator

TeranIvy commented Feb 8, 2022

I'll take this as it requires testing in LFRic.

@TeranIvy
Copy link
Collaborator

@arporter, this PR allows the GH_WRITE access for the continuous FS, however it does not change the looping limits from get_last_halo_cell(1) to get_last_edge_cell(). Will this be done in subsequent PRs, as the generated code does not change with this PR?

Copy link
Collaborator

@TeranIvy TeranIvy left a comment

Choose a reason for hiding this comment

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

This PR is a good start towards introducing the full functionality for GH_WRITE access for fields on continuous function spaces in #1542.

I have some minor style comments inline and the general question of whether the required code generation changes (#1542 (comment)) will be introduced in this or the subsequent PRs.

  • Changes are pycodestyle and pylint clean.
  • Tests with compilation pass.
  • User guide builds fine.
  • Changes are covered with tests.
  • Examples run. It would be good to update one of the LFRic examples to have GH_WRITE access for a field on a continuous FS, but we can leave that for the code generation PR (I assume there will be one).

@arporter
Copy link
Member Author

arporter commented May 4, 2022

Finally this is ready for another look (the Sphinx link-check error is falling over on MyBinder again but that's not unusual).

@arporter arporter added ready for review and removed LFRic Issue relates to the LFRic domain labels May 4, 2022
@TeranIvy TeranIvy added under review LFRic Issue relates to the LFRic domain and removed ready for review labels May 9, 2022
Copy link
Collaborator

@TeranIvy TeranIvy left a comment

Choose a reason for hiding this comment

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

Sorry for the delay in the review and thanks for the additonal work to update the colouring logic. Looking at the LFRic infrastructure, the upper bounds for colouring depending on GH_INC or GH_WRITE access seem correct. I also checked the code generation for different successions of writers/"inc"ers and the behaviour seems fine (also consulted with Ian).
The code looks good, and it only needs some tidying up (see pycodestyle, pylint and style comments inline). The branch would also need to be brought up-to-date with the master.

  • Tests with compilation pass.
  • User and developer guide build and display fine.
  • Examples run with compilation with GCC compiler. There is an issue with one if the LFRic examples that uses NetCDF when it is compiled with Intel 17.0.1, but that is beyond the scope of this ticket.
  • Changes are covered.

@arporter
Copy link
Member Author

Assuming CI happiness then this is ready for another look.

Copy link
Collaborator

@TeranIvy TeranIvy left a comment

Choose a reason for hiding this comment

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

All well now.

  • pycodestyle and pylint on changes are fine.
  • Tests run with compilation and lfric examples also run with compilation (I only ran make transform on the rest).
  • Changes are covered by the tests.
  • Documentation builds except for the yet-to-be reference to the developer guide in examples.rst but that will be solved by the next update of master.

Updated changelog and user guide for merge to master. CI permitting, this is now ready to be merged.

@TeranIvy TeranIvy mentioned this pull request May 25, 2022
@TeranIvy TeranIvy merged commit ff63ba0 into master May 25, 2022
@TeranIvy TeranIvy deleted the 1542_cont_write branch May 25, 2022 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

LFRic Issue relates to the LFRic domain ready to be merged under review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants