Skip to content

Latest commit

 

History

History
210 lines (153 loc) · 8.32 KB

README.md

File metadata and controls

210 lines (153 loc) · 8.32 KB

ACCESS-OM2 pre-release

ACCESS-OM2 is a coupled ice and ocean global model. It is being developed through a collaborate with COSIMA, ARCCSS and CSIRO. It builds on the ACCESS-OM model orinially developed at CSIRO [1].

The model consists of MOM5.1, CICE5.1, and a file-based atmosphere. The models are coupled together using the OASIS3-MCT coupler and regridding is done using ESMF_RegridWeightGen from ESMF and KDTREE2.

ACCESS-OM2 comes with a number of standard experiments. These configurations include ice and ocean at 1, 1/4 and 1/10th degree resolution. JRA55 and CORE2 forcing datasets are supported. These instruction are to build and run the 1 degree configration with JRA55 forcing.

This document describes how to download, compile and run the model. The instructions have only been tested on the NCI raijin supercomputer.

Prerequisites

The ACCESS-OM2 depends on the following software:

  • payu run management software.
  • git distributed version control software.
  • a fortran compiler such as gfortran or intel-fc.
  • an MPI implementation such as OpenMPI.
  • Python and pytest to run the tests.

To use JRA55 on NCI you need to be a member of the ua8 project - apply via https://my.nci.org.au

Install

Start by downloading the experiment configurations and the source repositories. This should be downloaded to a place which has enough disk space for the model inputs and output. On raijin it should be downloaded to /short/${PROJECT}/${USER}.

cd /short/${PROJECT}/${USER}
git clone --recursive https://github.com/OceansAus/access-om2.git
cd access-om2

or if you have an existing download and would like to update to the latest version:

cd access-om2
git pull
git submodule update

Now set environment variables. This depends on the shell you're using (type echo $0 to check; if neither bash nor tcsh, switch to bash with exec /bin/bash):

In bash:

export ACCESS_OM_DIR=$(pwd)
export OASIS_ROOT=$ACCESS_OM_DIR/src/oasis3-mct/

or in tcsh:

setenv ACCESS_OM_DIR `pwd`
setenv OASIS_ROOT $ACCESS_OM_DIR/src/oasis3-mct/

The next step is to create the 'lab' by downloading experiment input data and creating directories.

./get_input_data.py
mkdir -p bin

If the above script does not work for any reason the input can be setup manually with:

cp /short/public/access-om2/input_b8053e87.tar.gz ./
tar zxvf input_b8053e87.tar.gz

Compile

Now to build each model. There are two ways to do this. If you have pytest installed, an easier way to compile all models is to use the build test:

python -m pytest test/test_build.py

Otherwise, the models can be build individually. Start with OASIS because it is needed by the others:

export ACCESS_OM_DIR=$(pwd)
export OASIS_ROOT=$ACCESS_OM_DIR/src/oasis3-mct/
cd $OASIS_ROOT
make

Now compile the ocean, ice and file-based atmosphere.

For ocean:

cd $ACCESS_OM_DIR/src/mom/exp
./MOM_compile.csh --type ACCESS-OM --platform nci

For ice, note that the CICE build is resolution dependent.

cd $ACCESS_OM_DIR/src/cice5
make

To build the 1/4 and 1/10th degree:

cd $ACCESS_OM_DIR/src/cice5
make 025deg
make 01deg

For atmosphere:

cd $ACCESS_OM_DIR/src/matm
make jra55

Pre-run setup and checks:

First check that the executables exist:

ls $ACCESS_OM_DIR/src/mom/exec/nci/ACCESS-OM/fms_ACCESS-OM.x
ls $ACCESS_OM_DIR/src/matm/build_jra55/matm_jra55.exe

and whichever of the three CICE resolutions you are using:

ls $ACCESS_OM_DIR/src/cice5/build_auscom_360x300_24p/cice_auscom_360x300_24p.exe
ls $ACCESS_OM_DIR/src/cice5/build_auscom_1440x1080_480p/cice_auscom_1440x1080_480p.exe
ls $ACCESS_OM_DIR/src/cice5/build_auscom_3600x2700_1200p/cice_auscom_3600x2700_1200p.exe

You will also have a directory $ACCESS_OM_DIR/control whose subdirectories are model configurations at 1, 1/4 and 1/10 degree resolution. config.yaml within each of these subdirectories gives the PBS specification for the job, including executable names. Details are here: http://payu.readthedocs.io/en/latest/config.html

You will need to edit config.yaml to set project and shortpath appropriately. Service units are charged to project and output is saved in shortpath.

The executables then need to be copied to the directory $ACCESS_OM_DIR/bin.

First copy and rename mppnccombine:

mkdir -p $ACCESS_OM_DIR/bin
cp $ACCESS_OM_DIR/src/mom/bin/mppnccombine.nci $ACCESS_OM_DIR/bin/mppnccombine

Now for the model executables. As an added complication, they need to be renamed to match the exe names used in the experiment configuration file config.yaml --- check this with grep exe $ACCESS_OM_DIR/control/*/config.yaml (for uniqueness the name of each executable is changed to include the hash/id of the git commit from which they were built).

All three JRA55 models need this (but you may need to update the hash/ids):

cp $ACCESS_OM_DIR/src/mom/exec/nci/ACCESS-OM/fms_ACCESS-OM.x $ACCESS_OM_DIR/bin/fms_ACCESS-OM_160db8a0.x
cp $ACCESS_OM_DIR/src/matm/build_jra55/matm_jra55.exe $ACCESS_OM_DIR/bin/matm_jra55_2318e909.exe

plus one of the following:

For the 1 degree JRA55 model (but you may need to update the hash/id):

cp $ACCESS_OM_DIR/src/cice5/build_auscom_360x300_24p/cice_auscom_360x300_24p.exe $ACCESS_OM_DIR/bin/cice_auscom_360x300_24p_fe730022.exe

For the 1/4 degree JRA55 model (but you may need to update the hash/id):

cp $ACCESS_OM_DIR/src/cice5/build_auscom_1440x1080_480p/cice_auscom_1440x1080_480p.exe $ACCESS_OM_DIR/bin/cice_auscom_1440x1080_480p_fe730022.exe

For the 1/10 degree JRA55 model (but you may need to update the hash/id):

cp $ACCESS_OM_DIR/src/cice5/build_auscom_3600x2700_1200p/cice_auscom_3600x2700_1200p.exe $ACCESS_OM_DIR/bin/cice_auscom_3600x2700_1200p_fe730022.exe

For the 1 degree CORE2 model (but you may need to update the hash/ids):

cp $ACCESS_OM_DIR/src/cice5/build_auscom_360x300_24p/cice_auscom_360x300_24p.exe $ACCESS_OM_DIR/bin/cice_auscom_360x300_24p_fe730022.exe
cp $ACCESS_OM_DIR/src/mom/exec/nci/ACCESS-OM/fms_ACCESS-OM.x $ACCESS_OM_DIR/bin/fms_ACCESS-OM_160db8a0.x
cp $ACCESS_OM_DIR/src/matm/build_nt62/matm_nt62.exe $ACCESS_OM_DIR/bin/matm_nt62_b3a80f3b.exe

load payu

payu needs to be available. On NCI you just do:

module load payu/dev

Run

Each of the model configurations is run by payu from within its respective directory in $ACCESS_OM_DIR/control/.

For example, to run the 1 degree JRA55 RYF experiment:

cd $ACCESS_OM_DIR/control/1deg_jra55_ryf/
payu run

On NCI, status of submitted runs can be checked with qstat -u ${USER}.

See http://payu.readthedocs.io/en/latest/design.html for explanation of where run output is stored.

See http://payu.readthedocs.io/en/latest/usage.html for how to continue additional runs from restarts.

Testing

These models and the standard experiments are tested routinely. The test status can be seen here: https://accessdev.nci.org.au/jenkins/job/ACCESS-OM2/

Problems?

Please post an issue describing your problem at: https://github.com/OceansAus/access-om2/issues

Releases

References

[1] "ACCESS-OM: the Ocean and Sea ice Core of the ACCESS Coupled Model" https://publications.csiro.au/rpr/pub?pid=csiro:EP125880