A new thread to help build a regional ACCESS-OM3 configuration using MOM6 and NUOCPY.
Progress so far.
Firstly you want to get Spack installed:
https://access-hive.org.au/getting_started/spack/
Then to build using Spack, you want to use these instructions
https://access-hive.org.au/models/run-a-model/build_a_model/
At this step:
git clone https://github.com/ACCESS-NRI/ACCESS-ESM1.5.git
spack env create mom5_dev ACCESS-ESM1.5/spack.yaml
Change it to
git clone https://github.com/ACCESS-NRI/ACCESS-OM3.git
spack env create mom6_dev ACCESS-OM3/spack.yaml
#update: typo fixed thanks to Paul's feedback
Note, if you attempt the Test Spack (OPTIONAL)
section, the concretize
step will fail.
If you want to start editing the source code, move to spack develop (my intuition suggests that this will be based on the repoâ you used to create the environment), namely:
[cyb561.gadi-login-01: environments]$ spack env activate mom6_dev
[2007][cyb561.gadi-login-01: environments]$ spack find
#get name of the nuopc version you've already set yourself up with, in my case..
#make sure you do a module purge!
spack -d develop access-om3-nuopc@git.0.3.1=0.3.1
#code for me ends up here
#/g/data/tm70/cyb561/spack/0.22/environments/mom6_dev/access-om3-nuopc
spack install
A successful install of the base MOM6 model will look like this
$ spack find
==> In environment mom6_dev
==> 1 root specs
[+] access-om3@git.2024.09.0=2024.09.0
==> Installed packages
-- linux-rocky8-x86_64 / intel@2021.10.0 ------------------------
access-om3@git.2024.09.0=2024.09.0 cmake@3.24.2 fortranxml@4.1.2 libaec@1.0.6 m4@1.4.19 parallelio@2.6.2 zstd@1.5.6
access-om3-nuopc@git.0.3.1=0.3.1 diffutils@3.10 glibc@2.28 libiconv@1.17 netcdf-c@4.9.2 pkgconf@2.2.0
bzip2@1.0.8 esmf@8.5.0 gmake@4.4.1 libsigsegv@2.14 netcdf-fortran@4.6.1 snappy@1.1.10
c-blosc@1.21.5 fms@2023.02 hdf5@1.14.3 lz4@1.9.4 openmpi@4.1.5 zlib-ng@2.1.6
To run an experiment, follow the guidelines here
https://access-hive.org.au/models/run-a-model/run-access-om/
You can execute the following in~/access-om3
to clone an experiment from branch dev-1deg_jra55do_ryf
, and creating a local branch expt
:
$ payu clone -b expt -B dev-1deg_jra55do_ryf https://github.com/ACCESS-NRI/access-om3-configs 1deg_jra55do_ryf
Cloned repository from https://github.com/ACCESS-NRI/access-om3-configs to directory: /home/548/pag548/access-om3/1deg_jra55do_ryf
Created and checked out new branch: expt
laboratory path: /scratch/gb02/pag548/access-om3
binary path: /scratch/gb02/pag548/access-om3/bin
input path: /scratch/gb02/pag548/access-om3/input
work path: /scratch/gb02/pag548/access-om3/work
archive path: /scratch/gb02/pag548/access-om3/archive
Metadata and UUID generation is disabled. Experiment name used for archival: 1deg_jra55do_ryf
To change directory to control directory run:
cd 1deg_jra55do_ryf
The config.yaml
file for MOM6 is a bit simpler to MOM5. You only have to specific the location of a single executable. Find the location of your executable built using spack
and assign it to the exe
entry of your ~/access-om3/<branch-name>/config.yaml
file, e.g.
model: access-om3
exe: /g/data/gb02/pag548/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/access-om3-nuopc-git.0.3.1_0.3.1-756wxghdm5i75v26j5oybrutennrjdyi/bin/access-om3-MOM6-CICE6
input:
- /g/data/vk83/configurations/inputs/access-om3/share/meshes/global.1deg/2024.01.25/access-om2-1deg-ESMFmesh.nc
- /g/data/vk83/configurations/inputs/access-om3/share/meshes/global.1deg/2024.01.25/access-om2-1deg-nomask-ESMFmesh.nc
etc.
Then run payu setup
and check the following files exist in ~/access-om3/<branch-name>/manifests/
e.g.
$ ls ~/access-om3/1deg_jra55do_ryf/manifests/
exe.yaml input.yaml restart.yaml
Then run your experiment using payu run
.
The manifest files are scanned by payu run
to locate the gadi projects for all required inputs (including your executable) and create the correct -l storage
flag passed to the the PBS qsub command.