Context Navigation

Setting up UM 6.6.3 to run on Polaris

1. Central Installation Directory Structure

The central UM directory is /home/polaris_lds1/earhum. FCM (code management system), gcom (UM communications software), and UM vn 6.6.3 are held in this directory. Other versions of the UM and related software will also be installed here.

The central installation of UM vn 6.6.3 is in /home/polaris_lds1/earhum/hg6.6.3

2. Environment Variables and Your Files

so dumps, diagnostics, lbcs, history files, and intermediate output will by default be sent to /nobackup/$USER/$RUNID. The final leave file for a run will be saved in /home/polaris_lds1/$USER/output.

Start files.
Example start files for the four HadGEM2 jobs are provided. We have mimicked the file structure as it exists on HECToR, so start files for HadGEM2-ES are in $UMDIR/hg6.6.3/dumps, all other models are provided with example start files along with their ancillary files.

3. Your Setup on Polaris

Copy the UM Setup section from /home/polaris_lds1/ldsgl/.bashrc to your .bashrc (note, if you wish to use utilities for a version of the UM other than 6.6.3, you will need to source the appropriate .umsetvars file)

4. Model Build Information and UMUI Settings

The model build information is kept in configuration files which are read by the FCM build system. The appropriate compiler flags are used to build the model along with information about which libraries to link. We have used the following flags for the Polaris intel compiler for both model and communications builds

-i8 -r8 -fp-model precise -O1

To ensure that these and all other Polaris build settings are picked up by FCM, navigate to model selection → sub-model independent → FCM configuration → FCM configuration variables and set the variable UM_SVN_BIND to

fcm:um_br/dev/ros/hg6.6.3_polaris_machine_cfg/src/configs/bindings

FCM Branches

We have created a branch with code changes to account for slight differences in the way the intel compiler handles some aspects of the UM code (mostly because of its intolerance to multiple declarations of the same variable). Navigate to model selection → sub-model independent → FCM configuration → FCM configuration optional modifications and include the following branch

fcm:um_br/dev/grenville/hg6.6.3_polaris_fixes

in the User Modifications table

General UMUI Settings

Navigate to model selection → sub-model independent → FCM configuration → FCM configuration variables.
Experience will help determine the most convenient places where the extracted model should reside. Explicitly set UM_ROUTDIR to be your user directory on /nobackup, however, note that files left in this directory may be marked for deletion in accordance with Polaris data policy.

Navigate to model selection → user information and target machine → general details
Set User-id to be your Polaris id. The Tic Code is not relevant to Polaris. We have not tested end of run email notification.

Navigate to model selection → user information and target machine → target machine
Chose 'other' for the Compile, Link and Run the job option, and set the Other machine name to polaris.leeds.ac.uk

Navigate to model selection → sub-model independent → job submission, resources and resubmission pattern
Choose the option 'qsub' for SGE(SGI) for the submission method. The Job memory limit is not relevant (all jobs currently request the default memory/core of 4GB).

Gotchas for HadGEM2-AMIP:
At two places in the UMUI, files need to be specified by full paths: navigate to model selection → atmosphere → ancillary and input data files → climatologies and potential climatologies → natural climate forcing and specify /home/polaris_lds1/earhum/hg6.6.3/HG2AMIP_ancils as the path for the solar forcing and volcanic forcing files.

We have undertaken limited testing of Climate Meaning to find that inclusion of STASH item 262 (section 0) BOUNDARY LAYER CONVECTION FLAG causes a checksum failure. Switch off this stash item when running with Climate Meaning.

5. Example UMUI Jobs

The following jobs are currently under user grenville in the UMUI

Job Id

Model

xidee

HadGEM2-ES

xidex

HadGEM2-AMIP

xidey

HadGEM2-CC L60

xidez

HadGEM2-AO

6. Performance and Scaling

The following figure summarizes results from test running the four HadGEM2 jobs with increasing processor count. The jobs were run for 3 model days, with the exception of HadGEM2-CC was run for 1 model day. The results for total wall clock time for HadGEM2-ES running on HECToR and CURIE (a PRACE machine (Bull)) are also shown. Data points in red refer to the compute time for the Polaris jobs. All models display a lack of scaling when run on 96 processors.