-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Set up ParaGridIO_Xios
as a copy of ParaGridIO
for now
#758
base: develop
Are you sure you want to change the base?
Conversation
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'd suggest instead using conditional inclusion in ParaGirdIO.hpp
if the non-XIOS and XIOS versions of that header need to diverge.
core/src/CMakeLists.txt
Outdated
if(ENABLE_XIOS) | ||
set(ParaGridIO_Impl "ParaGridIO_Xios") | ||
else() | ||
set(ParaGridIO_Impl "ParaGridIO") | ||
endif() | ||
|
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.
Posibbly add the .cpp
suffix here to make it clear this is a source file.
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.
Addressed in 1291ae4.
core/src/include/ParaGridIO_Xios.hpp
Outdated
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.
What are the expected differences between the current and _Xios
versions of the header? Keeping the same header name would mean a lot of the changes in this PR would be unnecessary. If the header does need to change, one option would be to create both ParaGridIO_NoXios.hpp
and ParaGridIO_Xios.hpp
with the actual header info in, and to have #ifdef #include
statements include the correct file.
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.
Great point! There will be parts of it that are needed by one implementation and not the other, but we can start out with selective #ifdef
s and consider splitting if they diverge too far.
Addressed in 1291ae4.
Set up
ParaGridIO_Xios
as a copy ofParaGridIO
for nowCloses #552
Refinement of #751
Task List
Change Description
This PR creates a
ParaGridIO_Xios
class for us to work on, but just copies what's inParaGridIO
for now. This means that we can convert the functionality to use XIOS piece by piece, rather than doing it all at once.I can't tick the box for "no new warnings are generated" because warnings are indeed generated to say that we're using the XIOS implementation but that it hasn't been completed yet.
Test Description
CMake for the tests needed to be reordered so that XIOS includes can be picked up.
undef INFO
is added inParaGrid_test
to avoid a redefinition warning.An extra CI test workflow is added that builds and runs without XIOS, so we can check that both I/O implementations are working.
Pre-Request Checklist