Skip to content

Developer Guide

Helen Burns edited this page Oct 30, 2019 · 2 revisions

Developer Guide

  1. To add to the cemac modules you must ssh in as earcemsu via ssh keys
ssh-add ~/.ssh/id_rsa_git
ssh-add -L
ssh -A earcemsu@arc4
ssh -T git@github.com

This forwards on your github key to arc as earcemsu

  1. All build scripts and module files are version controlled and commits can be assigned correctly via passing author argument:
git commit --author="John Doe <john@doe.com>" -m "Impersonation is evil." 

The cemac.sh will do the following:

Variables

The following variables will be set:

  • CEMAC_DIR : will be set to the location of the CEMAC directory, /nobackup/cemac

The following variables will be unset:

  • MODULE_FLAVOUR_OWNER : defaults to root on ARC4, which causes issues when using custom environment modules.

Environment Modules

The modulefiles within the software/modulefiles will be added to the MODULEPATH.

Software Directory

The following directories exist within the CEMAC software folder:

apps

Applications, can be installed here.

compilers

Compilers, such as the GNU compilers, or Python interpreters can be installed here.

libraries

Libraries, such as NetCDF can be installed here.

build

The build directory contains sources and scripts for building the various applications available within the CEMAC software directory.

modulefiles

Environment module files, which are used to set up the various bits of software available via the module command, are stored here.

Running module avail will display software which is available within the CEMAC directory.

Cron Directory

The cron directory contains user crontab files and related scripts, for example to refresh time stamps and update permissions on the CEMAC directory.

__update_permissions

The __update_permissions script can be used to make sure the correct permissions are set on the various directories, such as making software directories read only, and making other directories group writeable.