-
Notifications
You must be signed in to change notification settings - Fork 3
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
Add parallel write of atlas fields on the root processor #84
Conversation
* update field writer tests * add write server * add single proc and parallel write server tests * test ORCA indexing * standardise OrcaIndex x and y dim names * mpi safe assert, reduce OrcaIndex class * reduce pre-allocation and better const correctness
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 left a few queries but it looks good, thanks.
da3c90d
to
3792d07
Compare
3792d07
to
a1b9681
Compare
Thanks very much for the review! It exposed a few things I missed. I will re-run mo-bundle to double check everything is OK before merging, but if you would rather re-review please can you press the 🔄 button next to your name in the reviewer section and add a new review. Thanks again! I am looking forward to getting this through to make testing the shelf model interface more easily, and I am really hoping I can use a similar approach to gather data in the ReadServer if we need to improve io performance further. |
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.
The updates all look good, thanks.
Description
Add parallel write of atlas fields for any partitioner. Data is written by the root processor only, with each processor sending its owned data to the root processor, where it is sorted before being written to the file. The ORCA logic is now abstracted out of the field writer to allow for the addition of non-orca grids. There is also some small refactoring to the reading classes to unify the naming and approaches and hopefully make things a little more clear.
Impact
This change ought to help with parallel 3DVar changes, when these are added by Dan Lea.
Checklist