Building XIOSΒΆ

This section documents the recommended way to build the XIOS input/output server that is used by the NEMO-3.6 code.

The key feature of this way of working with XIOS is that the build configuration files (also know as kbd:arch files) are maintained in a separate, version controlled, public repository from the XIOS codebase. That repository is called XIOS-ARCH and is available on Bitbucket at https://bitbucket.org/gomss-nowcast/xios-arch. Maintaining a public repository of the arch files makes them more easily sharable among researchers, both within the GoMSS model group, and with the NEMO user community in general. The repository serves as a “single source of truth”, making it easy for users to obtain the most up to date compiler options, etc. that their colleagues have figures out. The repository also preserves the history of changes to the arch files.

  1. Check out XIOS source code from the SVN repository. The arch files in the XIOS-ARCH repository have been tested with:

    • XIOS-1.0 SVN revision 703, for which the checkout command is:

      svn co -r 703 http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-1.0 XIOS
      
    • XIOS-2.0 SVN revision 856, for which the checkout command is:

      svn co -r 856 http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/trunk XIOS
      

    Note

    If you test these files with a later SVN revision, or update them to work with a later revision, please update this file and the XIOS-ARCH/README.rst file with the revision number.

  2. Use Mercurial to clone the XIOS-ARCH repository beside your XIOS checkout: If you have ssh key authentication set up on Bitbucket (see Bitbucket ssh Set-up) you can use the command:

    hg clone ssh://hg@bitbucket.org/gomss-nowcast/xios-arch XIOS-ARCH
    

    Otherwise, use:

    hg clone https://your-userid@bitbucket.org/gomss-nowcast/xios-arch XIOS-ARCH
    

    substituting your Bitbucket userid for your-userid, and entering your Bitbucket password when prompted.

  3. Symlink the arch-* files for the system that you are working on into the XIOS/arch/ directory. For example, on nemo.cluster.mathstat.dal.ca, symlink each of the DAL/arch-MATHSTAT_CLUSTER.* files into the XIOS/arch/ directory:

    cd XIOS/arch
    ln -s ../../XIOS-ARCH/DAL/arch-MATHSTAT_CLUSTER.env
    ln -s ../../XIOS-ARCH/DAL/arch-MATHSTAT_CLUSTER.fcm
    ln -s ../../XIOS-ARCH/DAL/arch-MATHSTAT_CLUSTER.path
    
  4. Build XIOS with XIOS/make_xios. For example, on nemo.cluster.mathstat.dal.ca, use:

    ./make_xios --arch MATHSTAT_CLUSTER --job 16 2>&1 | tee make.log
    

    The --arch MATHSTAT_CLUSTER selects the correct build configuration for the cluster.mathstat.dal.ca HPC cluster and compilers. The --job 16 option distributes the build across 16 processors to speed things up. The 2>&1 | tee make.log suffix captures stderr and stdout together and stores them in make.log as well as displaying them on the screen.