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:
- Have rose and account on accessdev. For more information on getting set up on the accessdev machine see https://accessdev.nci.org.au/trac/wiki/Rose/Running%20Rose%20on%20Accessdev.
- Authentication on accessdev
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.
- 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.
- For example, were interested in version ops-2016.09.0, which is at revision 3338
- The OPS trunk svn repository is found at https://code.metoffice.gov.uk/svn/ops/main/trunk/
- 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
- 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
- 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
- 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
- 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