Building from UM7 repo

Hi, I have recently checked out a development branch from the UM7 repo. I never have and perhaps never will build the mom executable.

spack list

showed me that there is a um7 package, so I tried

spack develop um7@development_version --path /g/data/p66/jxs599/ESM16/UM7/UM7/umbase_hg3/src

but I get the error below and can go no further?

==> Error: spack develop requires at most one named spec

Cheers,
Jhan

Hi Jhan

I donā€™t think @development_version is a valid version for the UM7 package.

You could try spack develop um7@access-esm1.5 or @7.3 per spack-packages/packages/um7/package.py at a49002968d99b0161ba57be15a0dba0f76bdbdbc Ā· ACCESS-NRI/spack-packages Ā· GitHub

Or spack develop um7@git.main to checkout the code from git instead

Fair enough - I just assumed there would be a ā€œdevelopment_versionā€ for the UM as well.

Building directly from main seems to work. Iā€™ll test building from my own branch, however building from a local path would be far easier. Iā€™ll try altering the PATH. I just have to find where it has put the executable and where output from the build is.

@jhan - apologies, I think I was wrong and have just learnt something.

The command was in the wrong order, it should be

spack develop --path /g/data/p66/jxs599/ESM16/UM7/UM7/umbase_hg3/src um7@development_version

And the development_version tag doesnā€™t need to pre-exist.

@harshula - I think these instructions have the arguments in the wrong order ?

1 Like

@atteggiani ^

Hi @Jhan ,

Whatā€™s your objective? Do you want to modify source code in git@github.com:ACCESS-NRI/UM7.git and create your own branch there?

basically, yeah

it is going to be more complicated than that though. We have the prototype of ESM1.6 building/running. The ocean/wombat side is Matt/Pearse. On the atmosphere side is what NRI has put in the UM7 repo, which comes from an svn file based repo that has its limitations. For ESM1.6, the CABLE version (and interface) has to be updated to CABLE3. I did this a year ago with CABLE3 from svn, A few months ago I have updated this to CABLE:main @github. All the development was previously in a 3rd BitBucket repo. I am simplifying this to all come from an ESM1.5+CABLE3 branch in the UM7 repo. So Iā€™ll branch of f main and replace the CABLE in there with CABLE3 (which is the CABLE:main@HEAD). So then myself, Rachel and Tammas can all access the same source, from one repo. BUT, I have to get this working. Iā€™m sure there are advantages but the build seems very convoluted compared to the previous requirement of having a bash interpreter and executing a ./compile script. Then I have to work out how to run the thing!!

Hi @Jhan , Thanks for the details.

We already have: GitHub - ACCESS-NRI/ACCESS-ESM1.6: The ACCESS Earth System Model (ACCESS-ESM) Version 1.6 is a fully-coupled global climate model that includes atmoshpere, land, ocean, sea ice, ocean biogeochemistry and land biogeochemistry components, linked together by a coupler.

You can clone the repository, create your own branch, modify the spack.yaml to indicate which version of each component you want and commit your change, push your branch to ACCESS-NRI and then create a Pull Request. The Pull Request will trigger a Pre-release build of ACCESS-ESM1.6 for you to test.

For example, hereā€™s one we did a few months ago: Add initial `spack.yaml` and `config` by dougiesquire Ā· Pull Request #2 Ā· ACCESS-NRI/ACCESS-ESM1.6 Ā· GitHub . I recommend that you create your branch from this branch: GitHub - ACCESS-NRI/ACCESS-ESM1.6 at 1-initial-spack-yaml

Iā€™m happy to jump on Zoom call to discuss this further, if that is convenient for you.

OK- So Iā€™ll just need access to this repo. What did you populate the ESM1.6 repo with?

Itā€™ll be a closed repo. IF you need confirmation you can just ask Martin, Claire, Andy, Aidan, etc

Hi @Jhan ,

  1. Have a look at: ACCESS-ESM1.6/spack.yaml at 1-initial-spack-yaml Ā· ACCESS-NRI/ACCESS-ESM1.6 Ā· GitHub . The spack.yaml file describes which packages are required and their versions. Spack will then build all these packages.

  2. Are you able to create a branch on https://github.com/ACCESS-NRI/UM7 ?

sorry lost internet for a bit - yeah I already have a branch in UM7.

Since I started the help I went back to repeat the steps to use spack. It doesnt install properly, and maybe this was my problem before as well. The last 3 lines before ā€˜Spack installā€™ quits are:

==> Error: access-esm1p5-git.2024.05.1=2024.05.1-sg464wtnb4inhwgpisxzxmrmsufmhufa: Package was not installed
==> Updating view at /g/data/p66/jxs599/spack/0.22/environments/esm16_dev/.spack-env/view
==> Error: Installation request failed.  Refer to reported errors for failing package(s).
[esm16_dev] gadi:0.22>

Hi @Jhan, Please let me know a day/time when you are available to have a chat on Zoom.

higher up in the log there is also

==> Error: FetchError: All fetchers failed for spack-stage-gcom4-git.2024.05.28_access-esm1.5-7xql2zmt54bnvdgzalcc44joachmby56

tomorrow afternoon I am free

GCOM4 is in a private repository - can you see anything at https://github.com/ACCESS-NRI/GCOM4 ?

Hi @Jhan , Iā€™m unavailable from ~2pm to ~3pm. Would 3:30pm be OK? Or would you prefer 1pm?

Actually 1 would be better for me