Building GCOM modules

The GCOM library is built by a gcom rose stem suite, currently run from accessdev (though would also work from ood). There’s a new GCOM release with each UM release. It’s usually backwards compatible, though UM suites normally load the specific GCOM release version. Normally build only openmpi versions, though occasionally Intel MPI (on request).

E.g.,

fcm co fcm:gcom.xm_tr@vn7.8 gcom_7.8
cd gcom_7.8
rose stem --group=all -S MPI_VERSION=\'openmpi/4.1.4\'

On gadi, this builds the libraries and runs some unit tests. It creates directories

nci_gadi_gfortran_mpp
nci_gadi_gfortran_serial
nci_gadi_ifort_mpp
nci_gadi_ifort_serial

include and lib subdirectories from ifort_mpp are manually copied to the appropriate gcom app directory. KMA have automated this step (rose-stem/app/run_kma_install/bin/install.ksh) and we could do the same.

rose-stem/site/nci/suite.rc has

            module load intel-compiler/2021.5.0
            module use ~access/modules
            module load fcm
            module load {{MPI_VERSION}}
            module load gcc/11.1.0

This is part of the gcom source trunk, so requires going through the Met Office processes to change. MPI_VERSION default is openmpi/4.1.3.