Skip to content

Add cmake build copied from COSIMA/access-om3#6

Merged
anton-seaice merged 34 commits into2025.01from
5-port_cmake_build
Mar 27, 2025
Merged

Add cmake build copied from COSIMA/access-om3#6
anton-seaice merged 34 commits into2025.01from
5-port_cmake_build

Conversation

@aidanheerdegen
Copy link
Copy Markdown
Member

Add CMake build infrastructure.

CMakelists.txt copied from https://github.com/COSIMA/access-om3/blob/main/CICE/CMakeLists.txt with some common code copied from the top level https://github.com/COSIMA/access-om3/blob/main/CMakeLists.txt.

Closes #5

@anton-seaice anton-seaice marked this pull request as draft January 14, 2025 02:27
@anton-seaice anton-seaice self-assigned this Jan 14, 2025
@anton-seaice anton-seaice marked this pull request as ready for review January 14, 2025 03:51
@anton-seaice
Copy link
Copy Markdown
Collaborator

@micaeljtoliveira - if you have time to review that would be great.

This builds a library called cicelib from using the nuopc/cmeps driver code and the access3-share libraries. This is a companion PR to ACCESS-NRI/access3-share#2

@anton-seaice
Copy link
Copy Markdown
Collaborator

@apcraig - I would like to merge this upstream into the CICE-consortium repository at some point. I don't think there is general interest in a cmake build, so do you have a suggested folder/location for this to be clear its ACCESS specific? (rather than a general CICE thing)

@apcraig
Copy link
Copy Markdown

apcraig commented Jan 14, 2025

Hi @anton-seaice. This looks interesting. I don't think we want to move to cmake at the moment, but maybe someone else in the community will find it useful. I don't think it belongs in the cicecore/drivers area. What if we created a new directory, configuration/scripts/cmake (or cmake-access)? We could have a README there that explains it's not used by the standalone model. We could add a little bit of documentation to the user guide to explain how it might be used if someone wanted to use it? Are these cmake scripts fairly general or is the implementation focused on the ACCESS model? What are your thoughts about where we should place them?

@anton-seaice
Copy link
Copy Markdown
Collaborator

anton-seaice commented Jan 15, 2025

Thanks @apcraig

I agree that configuration/scripts makes sense - it could be configuration/scripts/cmake or configuration/scripts/machines/cmake

There are two supported variations here, one is the standalone build. This is fairly general and should work for most people wanting to use cice-standalone. (I had thought I could add this as a CI triggered build, although maybe its not particularly useful ... its slightly related to CICE-Consortium#933)

The other one is the cice library using the nuopc/cmeps driver. This depends on having already built cmeps/cdeps/share libraries (which ACCESS have bunlded together in one CMake package) and so is less useful. We don't use CIME, but CESM (and UFS??) are built somehow through CIME, so whilst they do use CMake, its not really linked to how ACCESS is using CMake.

Copy link
Copy Markdown
Member

@micaeljtoliveira micaeljtoliveira left a comment

Choose a reason for hiding this comment

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

@anton-seaice Overall looks good, just a couple of suggestions/questions. Might come back and have a look at the namespaces once this is settled in your other PR.

@anton-seaice anton-seaice changed the base branch from main to 2025.01 March 19, 2025 03:50
@anton-seaice
Copy link
Copy Markdown
Collaborator

anton-seaice commented Mar 20, 2025

@micaeljtoliveira - this is ready for final review

again - it builds cice standalone or libraries for access-om3

anton-seaice and others added 4 commits March 27, 2025 10:43
Co-authored-by: Micael Oliveira <micael.oliveira@anu.edu.au>
Co-authored-by: Micael Oliveira <micael.oliveira@anu.edu.au>
@anton-seaice
Copy link
Copy Markdown
Collaborator

I think I addressed all the comments. This can be re-reviewed

New builds

ACCESS-NRI/ACCESS-OM3#35 (comment)
ACCESS-NRI/ACCESS-OM3#65 (comment)

Copy link
Copy Markdown
Member

@micaeljtoliveira micaeljtoliveira left a comment

Choose a reason for hiding this comment

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

Thanks for all the changes. LGTM!

@anton-seaice anton-seaice merged commit 964a445 into 2025.01 Mar 27, 2025
1 check failed
@anton-seaice anton-seaice deleted the 5-port_cmake_build branch March 27, 2025 22:25
anton-seaice added a commit that referenced this pull request Aug 4, 2025
* Add cmake build based on https://github.com/cOSIMA/access-om3

There are two variations, the default is to build the cice standalone executable, the alternative is to build a library for access3 models (with https://github.com/ACCESS-NRI/access3-share as a dependency). There is also a cice_driver option available for future extension using other driver/coupling methods.

Co-authored-by: Anton Steketee <79179784+anton-seaice@users.noreply.github.com>
Co-authored-by: Micael Oliveira <micael.oliveira@anu.edu.au>
anton-seaice added a commit that referenced this pull request Oct 9, 2025
* Add cmake build based on https://github.com/cOSIMA/access-om3

There are two variations, the default is to build the cice standalone executable, the alternative is to build a library for access3 models (with https://github.com/ACCESS-NRI/access3-share as a dependency). There is also a cice_driver option available for future extension using other driver/coupling methods.

Co-authored-by: Anton Steketee <79179784+anton-seaice@users.noreply.github.com>
Co-authored-by: Micael Oliveira <micael.oliveira@anu.edu.au>
anton-seaice added a commit that referenced this pull request Mar 16, 2026
* Add cmake build based on https://github.com/cOSIMA/access-om3

There are two variations, the default is to build the cice standalone executable, the alternative is to build a library for access3 models (with https://github.com/ACCESS-NRI/access3-share as a dependency). There is also a cice_driver option available for future extension using other driver/coupling methods.

Co-authored-by: Anton Steketee <79179784+anton-seaice@users.noreply.github.com>
Co-authored-by: Micael Oliveira <micael.oliveira@anu.edu.au>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

cmake build

4 participants