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

Building OPS software on Raijin using the rose-stem framework

This is a guide / worked example for building OPS - the Met Office Observational Processing System on the Raijin machine at NCI using the rose-stem software. Walk-through thanks to Susan Rennie in the first instance.

Requirements:

mosrs-auth
  • [=#permissions1] Permissions to access the access-svn repositories with the source code (contact [email protected]) for each of these:
    • OPS
    • NEMO
    • ODB

Release version locations= ops-2016.03.0

https://code.metoffice.gov.uk/svn/ops/main/branches/dev/Share/ops-2016.03.0_nci_rls_bld@3192

ops-2106.09.0

Superceded - do not use.

ops-2016.11.0

https://code.metoffice.gov.uk/svn/ops/main/branches/dev/susanrennie/ops-2016.11.0_rls_rttov_bld@3889

This branch is the official release of ops-2016.11.0 plus modifications to handle using an external RTTOV library. See OPS ticket 699 at https://code.metoffice.gov.uk/trac/ops/ticket/699

Workflow example:

This workflow explains the process for building the OPS version ops-2016.09.0. Examples are shown in dot points under each step.

  1. Go to the MOSRS OPS trac page and decide which version of OPS you want to build. Note the revision number and the svn trunk repository URL path.
  1. FCM checkout the OPS repository on accessdev specifying the correct revision number
[nwe548@accessdev]$ fcm checkout https://code.metoffice.gov.uk/svn/ops/main/trunk@3338 path/to/working/copy
  1. Make source code changes to accommodate local NCI compiler settings and versions (this step is subject to change with each version - check with Susan or Tomasz)
  • For example, for ops-2016.09.0, we need to update the intel-mpi versions in the Ops_Build_Specific script
[nwe548@accessdev]$ cd /path/to/trunk
[nwe548@accessdev]$ vim src/scripts/Ops_Build_Specific/nci-x86_64-ifort
  • Ensure that module unload intel-mpi and module load intel-mpi/5.1.3.210 for this version
  1. Run the rose-stem fcm_make task specifying the configurations using the right optional strings (see ../rose-stem/app/fcm_make/suite-app.rc and ../rose-stem/app/fcm_make/opt/nci.rc for info)
[nwe548@accessdev]$ cd /path/to/trunk
[nwe548@accessdev]$ rose stem -vv --task=fcm_make:ops_x86_64_ifort_opt_mirror
  1. If the job fails with authentication errors, you may need to get permissions granted to access the access-svn.nci.org.au repositories ([#permissions1 see above]). Once you have access you will need to manually cache the password for each of these repositories by issuing some sort of svn query to each of the trunks and then entering your password manually, this should be the last time you have to do this
  • For example
[nwe548@accessdev]$ fcm ls https://access-svn.nci.org.au/svn/nemo/trunk
  1. After a successful building, you should be able to find your built binaries
raijin:$HOME/cylc-run/$SUITE/share/fcm_make_ops_x86_64_ifort_opt_mirror/build/bin

$SUITE is as same as the name you specify your checkout copy on accessdev.

Any questions, please email [email protected]

Upgrade to ROSE and CYLC versions

OPS trunk has recently (end Jan 2017) been upgraded to use rose 2016.11.1 and cylc 6.11.2. If these are not the default versions, then the following changes are necessary to build OPS off the head of the trunk:

  • in src/scripts/Ops_Build_Specific/nci-x86_64-ifort add fcm to list of modules to delete
  • to build run ROSE_VERSION=2016.11.1 CYLC_VERSION=6.11.2 rose stem --task=fcm_make