Version 4 (modified by Asri Sulaiman, 3 years ago) (diff)


APS1 Build Documentation


Documentation relating to APS1 builds from Access_NWP_Build_Procedures are moved to this page.

NMOC Operational vn7.5 Global Executable on ngamai

  • [azs, Thu 20th Aug 2015] Update to APS1 access-g global executable
    • Fix to ..src/atmosphere/dynamics_solver/gcr_elliptic_operator-gcrell2a.F90 to avoid potential memory corruption.
    • Build using mirror repository on ngamai instead of master repository at access-svn at NCI.
    • Updated script is: ~access/APS1/bld_aps1_global_um7.5/bld_aps1_global_um7.5_memfix.ksh


    • [azs, Wed 10th Sept 2014 ] Alternative build method.

    • I have taken the UMUI generated extract and build script, combined them and did a bit of simplification/cleanup.
    • The result is a script on ngamai: ~access/APS1/bld_aps1_global_um7.5/bld_aps1_global_um7.5_exe.ksh
    • The script will do svn extract, followed by compilation to create an executable (plus some extras) in user's $DATADIR/bld_aps1/bin/

    • WARNING: voluminous output generated to stdout.
    • Also create lsrc/ and rsrc/ subdirectories in $DATADIR/bld_aps1/ which should be deleted after the build.

    • NOTE - prerequisite: user needs to set up passwordless ssh between ngamai-ngamai. This is because the script uses UKMO's fcm utility which needs it.

  • * BNOC build notes using SIMPLIFIED BUILD USING SCRIPT *

    • [jpf, Tues 18th Nov 2014 ]

    • rsync -t /g/sc/ophome/access/APS1/bld_aps1_global_um7.5/bld_aps1_global_um7.5_exe.ksh /g/sc/ophome/ashare/APS1/um/build/gl
      diff /g/sc/ophome/access/APS1/bld_aps1_global_um7.5/bld_aps1_global_um7.5_exe.ksh /g/sc/ophome/ashare/APS1/um/build/gl/bld_aps1_global_um7.5_exe.ksh[[br]]
      Explanation of changes made 
      1. UMDIR not required so commented out.
      2. A number of files and directories were copied under operational ashare tree
      a. fcm 1.5 (Had already been copied when operational APS1 suites first set up on ngamai.)
      b. Ilia's gcom version
      c. COMP_SWITCHES etc
      rsync -t /g/sc/ophome/access/bin/ .
      rsync -t ~access/APS1/bld_aps1_global_um7.5/COMP_SWITCHES COMP_SWITCHES_7.5
      rsync -t ~access/APS1/bld_aps1_global_um7.5/USR_MACH_OVRDS USR_MACH_OVRDS_7.5
      rsync -t ~access/APS1/bld_aps1_global_um7.5/USR_FILE_OVRDS USR_FILE_OVRDS_7.5
      rsync -t ~access/APS1/bld_aps1_global_um7.5/FCM_UMUI_BASE_CFG FCM_UMUI_BASE_CFG_7.5
      rsync -t ~access/APS1/bld_aps1_global_um7.5/FCM_UMUI_MODEL_CFG FCM_UMUI_MODEL_CFG_7.5
      rsync -t ~access/APS1/bld_aps1_global_um7.5/FCM_UMUI_JOB_RECFG FCM_UMUI_JOB_RECFG_7.5
      rsync -rt /access/apps/gcom/sp/ilia_3.5_mpich2_273_165 /g/sc/ophome/ashare/APS1/um/build/apps/gcom/sp
      3. Prexisting file.. /g/sc/ophome/APS1/um/vn7.5/linux/scripts/prg_env_vn7.5_01.ngamai.1.6.5
       updated to reflect a number of lines in ...
    • Build run...
      . ./bld_aps1_global_um7.5_exe.ksh > out.bld_aps1_global_um7.5_exe.20141114 2>&1
    • Comparison of UM pp files created using Operational UM EXE and new test UM EXE.
      Job output from both runs in...
      Field values were identical between the two sets of files. 
      Output from file comparison in...

    • UMUI based jobs are still very relevant if any fixes or updates are required
    • Latest job that have been run tested is from ilia: xblnj (substitute that for qaaba, otherwise, instruction below are still relevant)

  • UMUI job qaaba have been developed for building an executable that gives bit identical result to current executable being used. This job is available from the UMUI job database on ngamai, accessible to anyone with ngamai account.
    • Programming environment (Compiler and openMPI version etc) is defined by PRG_ENV environment variable set within the job.
    • GCOM library used is defined by GCOM_PATH environment variable also set within the job
    • Both environment GCOM_PATH and PRG_ENV are set in UMUI Panel:
      • "Input/Output? Control and Resources" -- "Time Convention and SCRIPT Environment Variables".
        • the GCOM_PATH must be updated - a different GCOM library was used than indicated in the umui job
          • /g/sc/fs1/home/iliab/GCOM/GCOM3.5_12.1.8.273_1.6.5/linux_ifort9.0_mpich2
  • NMOC, using ngamai:/access/bin/umuix, should be able to copy the job, then process and submit it to build a Global UM vn7.5 executable that gives identical result without having to make any changes (This needs to be tested).
  • Job qaaba is set to extract and build in user's $DATADIR/75/.
    • All required directories in DATADIR will be created.
    • User need to mkdir $HOME/output/. Build output go into $HOME/output/.
      • Automatic creation of $HOME/output/ (if it does not already exist) will be added soon.
    • Users can tailor this to their own preference but not recommended. Change in general settings for adoption by everyone can be discussed.
  • Extra notes for compiling as rto user
    • Prior to opening the umui ensure that you have set DATADIR: ensure DATADIR set the same within the umui.
      • export DATADIR=/g/sc/ophome/ashare/APS1/um/build/gl
    • Open the UMUI panel
  • If using nci svn repository only
    • User needs to store svn authentication to allow svn extraction from repository
      • Interactively from xterm on ngamai, do "svn ls"
        • If prompted for password, press "enter" and you should be prompted for USERID
          • use NCI userid, then enter NCI password
          • Type yes to store the credentials
    • This need to be done only once ( re-do if you update your NCI password).
  • Press 1. SAVE, 2. PROCESS, 3. SUBMIT

Test runjobs for aps1 um7.5 gl exe

  • umui job baauh is a simplified runjob which uses current APS1 operational executable
  • umui job baauv is identical to baauh apart from the executable
  • The two jobs produce bit-identical result.
  • If you build an executable, you should make a copy of one of the runjobs, substitute the executable and run it to ensure you get the right results
  • output from job baauh and job baauv have been copied to ~access/APS1/bld_aps1_global_um7.5/ for comparisons
    • note: some editing of output to remove binary characters have been done to allow xdiff to work.
  • NOTE- prerequisite: User need to copy ~azs/.umsetvars_vn7.5 into their own $HOME if not already there. (This can be worked around if there is enough incentive).

NMOC Operational vn7.5 Regional Executable on ngamai

From: Ilia Bermous
Date: 17 October 2013

Procedure to build Operational APS1 UM7.5 R12 executable to reproduce current /g/sc/ophome/ashare/APS1/um/vn7.5/exec/AUS_UM75.exe executable as being used by NMOC

A new executable is built using SVN repository sources for UM7.5 R12 stored under

branch. The building procedure uses settings from

ls -lt /access/umdir/prg_envs/vn7.5_12.1.8.273_1.6.5
-rw-r--r-- 1 access access 785 Oct 16 10:16 /access/umdir/prg_envs/vn7.5_12.1.8.273_1.6.5

and GCOM3.5 library

ls -lt /access/apps/gcom/GCOM3.5/ngamai/bld_12.1.8.273_1.6.5_new_optns-03/lib
-rw-r--r-- 1 azs access 536788 Sep 16 13:34 libgcom.a

Here are the steps to build the required executable AUS_UM75.exe

1. Start umui or umuix.
2. Open job xblpk and click on “Process” and then on “Submit” buttons.

With a successful completion of the building procedure the executable is located in a


directory and the corresponding building procedure log file xblpk000.xblpk.* is produced into a $USER/output directory.

An executable built with the above described procedure

ls -lt /g/sc/fs2/data/iliab/vn7.5/target/iliab/xblpk/ummodel/bin
-rwxr-xr-x 1 iliab apps_support 29774216 Oct 17 12:23 AUS_UM75.exe
lrwxrwxrwx 1 iliab apps_support       60 Oct 17 12:23 fcm_env.ksh -> /g/sc/data/iliab/vn7.5/target/iliab/xblpk/ummodel/

has been tested using a simple script R12 job (ngamai03:/g/sc/fs1/home/iliab/um_run_scripts/R12_7.5.master) and the obtained numerical results are identical in comparison with the results produced by an earlier built

ls -lt /g/sc/ophome/ashare/APS1/um/vn7.5/exec/AUS_UM75.exe
-rwxr-xr-x 1 rto end_users 29872180 Sep  4 15:53 /g/sc/ophome/ashare/APS1/um/vn7.5/exec/AUS_UM75.exe

executable being currently used by NMOC.

NOTE: If a new UM7.5 R12 executable is required to build after making some changes in the model sources then the following steps are needed to produce the new model executable:

1. There are basically 2 ways to implement the required source changes:

a) create a new branch from the branch used in the job settings and its revision 6708

svn copy –r 6708   <new_branch>

then after making changes in the model sources commit the changes into the new branch or

b) check out the model sources from the above mentioned branch (revision 6708) into a working copy

svn co –r 6708

and make changes in the working location only.

2. The following steps are required in the original xblpk job settings

a) copy the original UMUI xblpk job into a new job <abcdef>

b) in the case of source changes 1a) described above the new branch should be specified in the “User Modifications” table of

Model Selection -> FCM Configuration -> FCM Options for Atmosphere and Reconfiguration

panel or in the case of 1b) the working copy location should be specified under the “User working copy location” option in the same panel.

NMOC Operational ACCESS-C Executable on ngamai

NMOC Operational OPS Executable on ngamai

NMOC Operational VAR Executable on ngamai

From: Ilia Bermous
Date: 15 October 2013

Procedure of building VAR26.1 executable to reproduce currently used Ngamai 4DVAR executable by NMOC

A required executable is built using VAR26.1 repository sources and some “additional” OPS, UM, GCOM and other files located under /access/vardir/VAR26v1.0* directories.

The following steps are required

1. Check out the corresponding VAR sources from the repository

svn co -r 1335 svn://ngamai/access/svnrep/var/branches/dev/iliab/r1331_VAR26v1.0_ngamai_porting/src

2. Go to the checked out “src” subdirectory and run a “build_var” script

cd src
./build_var &

with a successful build the required VarProg_AnalysePF.exe executable is located in



Note that corresponding log files extract.log.$$ for the extraction step and build.log.$$ for the building step are located in the “build” subdirectory. The latest executable created by the above procedure has been tested in comparison with a currently used executable from /g/sc/ophome/ashare/APS1/var/vn26.1/bin using vaaas job and the corresponding output results are identical.

With thanks to Xiao on some advices during my work on the task.

-> Back to main Access NWP Build Procedure Page
-> Back to Main access page

Attachments (1)

Download all attachments as: .zip