access_UMSmallExecs - ACCESS-NRI/accessdev-Trac-archive GitHub Wiki

Building the UM small executables

Old versions

Running the UM (<= vn8.2) requires several "small" executables, qxcombine, qxpickup, qxsetup. There are other ones that are part of postprocessing utilities like makebc, frames, ieee, pumf, cumf. The source code for these is part of the UM repository but they are built separately.

The build process is described in the UM Document X4 "Guidelines for Building the Unified Model". They're built with the script UmBuildSmllExecs that is part of the UM Admin distribution (https://access-svn.nci.org.au/trac/UM_Admin).

This is designed to extract the code on one machine and build on another, similar to the UM extract and build steps. The 8.2 example here has been setup to run from accessdev. The script also only builds from a single branch and can't combine multiple branches.

As an example of building a single executable,

svn co https://access-svn.nci.org.au/svn/UM_Admin/branches/dev/Share/VN8.2_local_changes Admin_VN8.2_local_changes
cd Admin_VN8.2_local_changes/Install_scripts/
./UmBuildSmllExecs -f Configs/Linux-nci -r fcm:um_br/dev/vn8.2/access_config -v [9266] --envver 8.2 -e qxsetup64

This submits a build job to raijin and monitors it until complete (by looking for an output file).

The Linux-nci configuration uses

MACHINE_CONFIG  = linux-openmpi-nci-raijin

Build runs in /short/$PROJECT/$USER/REVISION/normal/exec_build on raijin, where REVISION is the revision number given as a command option with log files in /short/$PROJECT/$USER/UM_Install_files/NCI/Logfiles/REVISION.

UM vn10.X

The model no longer requires any of the small executables to run. The other pre and post-processing small execs are now built as a Stem UM' rose stem task. E.g.

rose stem -S PREBUILDS=false --group=nci_install