Hi all,
As promised, I’ve tried to compile some relevant details for ocean and ice model development in ACCESS-ESM1.6. I’m sure things will be missing or unclear so please send questions to Anton or Aidan (particularly for Spack questions).
Please also feel free to contact me, though I’ll be on leave and may take longer to respond.
Some general info about cloning and branching code from Github.
All the code that makes up ACCESS-NRI-supported models is in Github repos. To interact with Github, you will need to set up ssh-keys for authentication. I’ve put together some instructions here to do this. Note, these instructions are to set up ssh-keys for both Gadi and Github. The process will be slightly different if you already have ssh-keys set up for Gadi. Anton can help with questions.
You can clone a Github repo (i.e. download a local copy) using the git clone
command:
git clone <repo_url>
where <repo_url>
can be obtained from the Github repo webpage: click on the green “Code” button, click on the “SSH” tab and copy the url.
To clone a specific branch, use:
git clone -b <branch> <repo_url>
This will create a local directory with the same name as the Github repo. E.g. if <repo_url> = git@github.com:ACCESS-NRI/MOM5.git
, I would end up with a local MOM5
directory containing MOM5 source code after running the above.
Changes to code should happen in development branches. To create your own development branch from the current branch, cd
into the cloned directory and run:
git pull
git checkout -b <development_branch_name>
Call the development branch something that makes it clear what changes will be in that branch.
If you need help committing and pushing your changes back to Github as you do your developments, please ask.
ACCESS-ESM1.5
Key code bases used in the ACCESS-NRI-released ACCESS-ESM1.5 are here:
- MOM5: “access-esm1.5” branch of GitHub - ACCESS-NRI/MOM5: The Modular Ocean Model
- CICE4: “access-esm1.5” branch of GitHub - ACCESS-NRI/cice4: CICE4 repository containing code uploaded from subversion repo
- UM7: “access-esm1.5” branch of https://github.com/ACCESS-NRI/UM7 (note this is a private repo - If you want access, you’ll need to request it from Claire Claire.Carouge@anu.edu.au)
- GCOM4: “access-esm1.5” branch of https://github.com/ACCESS-NRI/GCOM4 (note this is a private repo - If you want access, you’ll need to request it from Claire Claire.Carouge@anu.edu.au)
- OASIS3-MCT: “access-esm1.5” branch of GitHub - ACCESS-NRI/oasis3-mct: Derivative version of OASIS3-MCT 2.0 from CERFACS (https://portal.enes.org/oasis).
These are the sources that are used by Spack for official ACCESS-NRI ACCESS-ESM1.5 releases.
Developers can also use Spack to build ACCESS-ESM1.5 from locally cloned (and modified) versions of the components. Unfortunately, we don’t yet have dedicated documentation for how to do this for ACCESS-ESM1.5, but the ACCESS-OM2 documentation here can be easily extended. I think Aidan is planning to give a demo of this process soon and he and his team can help with any questions.
ACCESS-ESM1.6
This is obviously still in a state of flux. Currently, the ACCESS-NRI Spack-built ACCESS-ESM1.6 uses:
- MOM5: “master” branch of GitHub - ACCESS-NRI/MOM5: The Modular Ocean Model
- WOMBATlite: “master” branch of GitHub - ACCESS-NRI/GFDL-generic-tracers: Collection of GFDL generic tracers and associated code for use with MOM and GOLD
- CICE4: “access-esm1.5” branch of GitHub - ACCESS-NRI/cice4: CICE4 repository containing code uploaded from subversion repo
- UM7: “access-esm1.5” branch of https://github.com/ACCESS-NRI/UM7 (note this is a private repo - If you want access, you’ll need to request it from Claire Claire.Carouge@anu.edu.au)
- GCOM4: “access-esm1.5” branch of https://github.com/ACCESS-NRI/GCOM4 (note this is a private repo - If you want access, you’ll need to request it from Claire Claire.Carouge@anu.edu.au)
- OASIS3-MCT: “access-esm1.5” branch of GitHub - ACCESS-NRI/oasis3-mct: Derivative version of OASIS3-MCT 2.0 from CERFACS (https://portal.enes.org/oasis).
I.e. the only difference from ACCESS-ESM1.5 at the moment is in MOM5 (ACCESS-ESM1.6 uses the same version of MOM5 as ACCESS-OM2 and uses generic WOMBATlite).
Development with Spack can be done in the same way as for ACCESS-ESM1.5.
Pearse is already set up developing into generic WOMBATlite using Spack.
As discussed in our meeting today, Anton will set up a “access-esm1.6” branch of CICE5 that Dave can start using. Anton/Aidan can also help with the Spack modifications required to use CICE5 instead of CICE4 during development.
Finally, there’s a working test Payu configuration for ACCESS-ESM1.6 in the “dougiesquire/preindustrial+concentrations” branch of GitHub - ACCESS-NRI/access-esm1.6-configs: Standard ACCESS-ESM1.6 configurations released and supported by ACCESS-NRI. The executable paths in this config will need to be updated if you want to run this with modified executables (e.g. during development) - Anton or Aidan can help with this.