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


#!html
<h1 style="text-align: center; color: blue"> GCOM Documentation Wiki Page </h1>

Building GCOM from shared repository

From version 5.0, GCOM is in the shared repository (fcm keyword gcom.x) and included in the local mirror (keyword gcom.xm).

From vn5.1 the NCI configuration is included in the trunk but the extract script was missing. I added this in branch branches/dev/martindix/vn5.1_nci_config

To build, first check out the branch on accessdev

fcm co fcm:gcom.xm_br/dev/martindix/vn5.1_nci_config gcom_wc

Copy the gcom_wc directory to raijin. Note that the extract script expects this to be copied to $WORKDIR.

On raijin

cd $WORKDIR/gcom_wc/fcm-make/ext-scripts
module use ~access/modules
module load fcm
module load openmpi/1.6.5
module load intel-fc/14.2.144
./nci_linux_ext_bld.scr 

This will create several directories

% ls $WORKDIR/gcom_build/
nci_raijin_ifort_mpp		nci_raijin_ifort_mpp_tune
nci_raijin_ifort_mpp_gcom_test	nci_raijin_ifort_serial
nci_raijin_ifort_mpp_mpl_test	nci_raijin_ifort_serial_gcom_test
nci_raijin_ifort_mpp_sums

To test

% mpirun -np 4 $WORKDIR/gcom_build/nci_raijin_ifort_mpp_gcom_test/build/bin/gcom_test.exe 
% mpirun -np 4 $WORKDIR/gcom_build/nci_raijin_ifort_mpp_mpl_test/build/bin/mpl_test.exe 
% mpirun -np 4 $WORKDIR/gcom_build/nci_raijin_ifort_mpp_sums/build/bin/sums_test.exe

Note that the gcom_test is supposed to end with an abort.

To install as a module, copy the include and lib directories from $WORKDIR/gcom_build/nci_raijin_ifort_mpp/build/ to the appropriate directory in ~access/apps/gcom.

GCOM 5.2

In GCOM 5.2 the NCI extract scripts are included in the trunk so the procedure above works with the trunk.

Scott has also added rose stem tests that build and optionally install the library. See rose-stem/site/nci/README in the GCOM source tree.

There is a module ~access/modules/gcom/5.2_ompi185 built using openmpi/1.8.5 and intel-fc/15.0.133. This is used in the UM vn10.2 rose stem testing.

⚠️ **GitHub.com Fallback** ⚠️