-
Notifications
You must be signed in to change notification settings - Fork 6
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
441 investigate compiling science code as library #479
441 investigate compiling science code as library #479
Conversation
…1-investigate-compiling-science-code-as-library
config.yaml
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.
Oops. this shouldn't be here. will delete next commit
@ccarouge, I have updated the branch to reflect upstream changes since checkout. There is a new As per the above comments, there are a handful of files copied from |
This pull request has been mentioned on ACCESS Hive Community Forum. There might be relevant details there: https://forum.access-hive.org.au/t/esm1-6-land-meeting-notes/3831/7 |
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.
Seems good, but you've got complex conflicts to solve it seems (that's what GitHub says at least). Time for a rebase before getting this in I believe.
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 get what you mean dependencies now -
This was in ESM1.5. Whether it is going to be needed for ESM1.6 isnt clear. At any rate it was far easier to include it in the build than untangle it in the short term
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.
This was in ESM1.5. Appropriate to CABLE 2.4. Ideally all of the other applications will pickup the AM3 "approach". But this is not likely to happen, nor necessary, for a while. When we move on with JAC this will hopefully all get sorted and we'll just have a single version across all apps
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.
Across apps this module is different but at least the science code is tricked to all use it. One day there will be 2 versions only. The UM7.X and offline versions will never be able to pick up the coupled versions that use the UM/JULES IO to read surface_types from a namelist.
@ccarouge, conflicts resolved. Quick, lets merge it! |
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.
All good.
Description
Added some base implementation ideas for the "build as library" objective.
Following discussions with @ccarouge, source files in offline have been copied to a new
coupled/esm16
directory and configured inCMakeLists.txt
with a new--library
flag that can be passed tobuild.bash
.Passing in this flag will build the science source into a library using parts of the esm16 and science directories, then build the executable and link the two. Based on conversations, we will probably want the library aspect to be isolated from the building of executables - correct me if I am wrong.
I do not think this is quite where we want it to be just yet, but pushing to spur conversation and further clarity on needs.
I've left the old CMakeList.txt there for reference with a
.bk
suffix, but will remove once this PR progresses.Type of change
Checklist
Please add a reviewer when ready for review.
📚 Documentation preview 📚: https://cable--479.org.readthedocs.build/en/479/